@@ -6,6 +6,40 @@ Release History
66Upcoming
77++++++++
88
9+ New Release?
10+ ++++++++++++++++++
11+
12+ **Breaking Changes **
13+
14+ - ``Events.get_events(...) `` now returns a list of ``Event `` instances rather than a list of ``dict ``
15+ representing events. ``Event `` inherits from ``Mapping `` but will not have all the same capabilities as
16+ ``dict ``.
17+
18+ + Your code is affected if you use ``Events.get_events(...) `` and expect a list of ``dict `` rather than a list of
19+ ``Mapping ``. For example, if you use ``__setitem__ `` (``event['key'] = value ``), ``update() ``, ``copy() ``, or
20+ if your code depends on the ``str `` or ``repr `` of the ``Event ``. Use of ``__getitem__ `` (``event['key'] ``),
21+ ``get() ``, and other ``Mapping `` methods is unaffected. See
22+ https://docs.python.org/2.7/library/collections.html#collections-abstract-base-classes for methods supported on
23+ ``Mapping `` instances.
24+
25+ + Migration: If you still need to treat an ``Event `` as a ``dict ``, you can get a deepcopy of the original ``dict ``
26+ using the new property on ``BaseAPIJSONObject ``, ``response_object ``.
27+
28+ **Features **
29+
30+ - Added ability to create custom subclasses of SDK objects with ``_item_type `` defined.
31+ - Added an ``Event `` class.
32+
33+ **Other **
34+
35+ - Added extra information to ``BoxAPIException ``.
36+ - Added ``collaboration() `` method to ``Client ``.
37+ - Reworked the class hierarchy. Previously, ``BaseEndpoint `` was the parent of ``BaseObject `` which was the parent
38+ of all smart objects. Now ``BaseObject `` is a child of both ``BaseEndpoint `` and ``BaseAPIJSONObject ``.
39+ ``BaseObject `` is the parent of all objects that are a part of the REST API. Another subclass of
40+ ``BaseAPIJSONObject ``, ``APIJSONObject ``, was created to represent pseudo-smart objects such as ``Event `` that are not
41+ directly accessible through an API endpoint.
42+
9431.5.3
1044++++++++++++++++++
1145
0 commit comments