forked from enthought/traits
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
132 lines (99 loc) · 4.83 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Traits CHANGELOG
================
Change summary since 4.5.0
~~~~~~~~~~~~~~~~~~~~~~~~~~
Enhancements
* Added Trait change recorder to aid in debugging event-driven code. (#139)
* ``__iadd__`` and ``__imul__`` implemented on TraitListObjects. (#165)
* Added new ``ArrayOrNone`` trait type to replace the
``Either(None, Array)`` idiom. The old idiom results in warnings
on NumPy >= 1.9. (#219)
* Added a new ValidatedTuple trait that supports custom validation. (#205)
Changes
* Remove outdated ``ImportSpy`` and ``ImportManager`` utilities. (#188)
* The ``deprecated`` decorator now issues a DeprecationWarning (using
the Python ``warnings`` module) rather than logging a warning via
the ``logging`` machinery. It no longer tries to remember when
a warning has been previously issued. (#220)
* Deprecated ``HasTraits.get()`` and ``HasTraits.set()`` (#190).
Fixes
* Fixed incorrect in list events for ``insert`` operations with an index
outside the range [``-len(target_list)``, ``len(target_list)``]. (#165)
* Fix incorrect behaviour of ``check_implements`` for overridden methods.
(#192)
* Fix error when trying to listen to traits using list bracket notation. (#195)
* Fix reference leak in ``CHasTraits._notifiers``. (#248)
* Fix reference leak from use of ``DelegatesTo``. (#260)
Release 4.5.0
-------------
Traits is now compatible with Python 3! The library now supports
Python 3.2 and 3.3.
The release also includes increased code coverage and automatic
coverage report through coveralls.io.
Change summary since 4.4.0
~~~~~~~~~~~~~~~~~~~~~~~~~~
Enhancements
* Test files cleanups (#108, #111, #121)
* Add automatic coverage reports (#110, #122)
* Removed obsolete code (#109, #112, #113)
* Increased test coverage (#114, #118)
* Python 3 support (#115). Thanks Yves Delley.
* Allow setting and resetting the global adaptation manager (#145)
* Various documentation improvements (#132, #133, #148, #154).
Changes
* The Int trait type now accepts Python ints *and* Python longs, as well as
instances of any Python type that implements the ``__index__`` method.
Previously, long instances were not accepted. (#104, #123).
Fixes
* Fix crash when trying to validate a property that has been deleted. (#138)
* Fix clearing exception when raising a TraitError (#119)
* Fix automatic adaptation when assigning to List trait (#147)
* Fix some ctraits refcounting and exception clearing bugs (#48). Thanks Yves
Delley.
Release 4.4.0
-------------
The major new feature in this release is a new adaptation mechanism in the
``traits.adaptation`` package. The new mechanism is intended to replace the
older traits.protocols package. Code written against ``traits.protocols`` will
continue to work, although the ``traits.protocols`` API has been deprecated,
and a warning will be logged on first use of ``traits.protocols``. See the
'Advanced Topics' section of the user manual for more details.
The release also includes improved support for using Cython with ``HasTraits``
classes, some new helper utilities for writing unit tests for Traits events,
and a variety of bug fixes, stability enhancements, and internal code
improvements.
Change summary since 4.3.0
~~~~~~~~~~~~~~~~~~~~~~~~~~
New features
* The adaptation mechanism in Traits, formerly based on the 'traits.protocols'
package, has been replaced with the more robust 'traits.adaptation'
package. (#51)
* Added utility function for importing symbols (name, classes, functions)
by name: 'traits.util.api.import_symbol'. (#51)
* Users can set a global tracer, which receives all traits change events:
``traits.trait_notifiers.set_change_event_tracers``. (#79)
Enhancements
* Update benchmark script. (#54)
* traits.util.deprecated: use module logger instead of root logger. (#59)
* Provide an informative message in AdaptationError. (#62)
* Allow HasTraits classes to be cythonized. (#73)
* Improve tests for cythonization support. (#75)
* Extending various trait testing helpers (#53)
Refactoring
* The Traits notification code has been reworked to remove code duplication,
and test coverage of that code has been significantly improved. (#79)
Fixes
* Fix race condition when removing a traits listener. (#57)
* Fix ugly interaction between DelegatesTo change handlers, dynamic change
handlers and two levels of dynamic intialization. (#63)
* Use a NullHandler for all 'traits' loggers. (#64)
* Fix race condition in TraitChangeNotifyWrapper.listener_deleted (#66)
* Fix leaking notifiers. (#68)
* Fix failing special instance trait events. (#78)
* Fix hiding KeyError exception inside trait default initialize method.
(#81)
* Fix Adapter object initialization. (#93)
* Fix cyclic garbage arising from use of the WeakRef trait type. (#95)
* ``TraitSetObject.copy`` now returns a plain rather than an
uninitialized ``TraitSetObject`` instance. (#97)
* Fix cyclic garbage arising from dynamic trait change handlers. (#101)