@@ -4,40 +4,153 @@ Traits CHANGELOG
4
4
Release 7.0.0
5
5
-------------
6
6
7
- Released: XXXX-XX-XX
7
+ Released: 2025-01-24
8
8
9
- TBD Release summary
9
+ This is a major release of the Traits package. Some highlights:
10
+
11
+ * Python versions through Python 3.13 are now supported.
12
+ * The Traits package now includes (partial) type hints. (Type hints
13
+ were previously distributed in a separate ``traits-stubs `` package.)
14
+ * There is some experimental and provisional support for async
15
+ observer dispatch.
16
+ * Many long-deprecated pieces of functionality have finally been removed
17
+ from the codebase.
10
18
11
19
Detailed changes
12
20
~~~~~~~~~~~~~~~~
13
21
22
+ The following people contributed code changes and reviews for this release:
23
+
24
+ * Mark Dickinson
25
+ * Robert Haschke
26
+ * Chengyu Liu
27
+ * Frank Longford
28
+ * Sai Rahul Poruri
29
+ * Matt Smarte
30
+ * Corran Webster
31
+
14
32
Features
15
33
~~~~~~~~
16
34
* The traits package now ships with stub files directly, instead of requiring
17
35
those files to be installed via the separate ``traits-stubs `` package.
18
36
(#1714)
37
+ * Experimental support for async dispatch has been added. This API should
38
+ be considered provisional, and may change in the future. (#1771)
39
+ * Python versions through 3.13 are now supported. (#1773)
40
+ * Event types ``TraitChangeEvent ``, ``ListChangeEvent ``, ``DictChangeEvent ``
41
+ and ``SetChangeEvent `` for the ``event `` received by observers are now
42
+ available in ``traits.observation.api ``. This is useful for those wanting to
43
+ use the types in type annotations. (#1805)
44
+
45
+ Changes
46
+ ~~~~~~~
47
+ * The behaviour of observers using ``dispatch="ui" `` when no GUI system is
48
+ present (in particular, if Pyface has not performed toolkit selection)
49
+ has changed. Previously, if such an observer was triggered then
50
+ it would raise an exception. Now it will raise with a clear error message
51
+ if triggered from a thread other than the main thread, and will execute
52
+ synchronously if triggered on the main thread. (#1740)
53
+ * ``AttributeError``s raised by ``some_trait_default `` methods are
54
+ no longer swallowed. (#1762)
55
+ * The ``Date `` trait type no longer accepts ``datetime `` instances
56
+ unless ``allow_datetime=True `` is used. (#1736)
57
+ * The ``Date ``, ``Time `` and ``Datetime `` trait types no longer
58
+ accept a value of ``None `` unless ``allow_none=True `` is used. (#1736)
59
+ * Calling an interface class no longer performs implicit adaptation.
60
+ Adaptation must be performed explicitly, using the ``adapt `` function.
61
+ (#1719)
19
62
20
63
Removals
21
64
~~~~~~~~
22
- * Remove deprecated ``rich_compare `` Trait metadata. (#1698)
23
- * Remove deprecated ``find_resource `` and ``store_resource `` functions. (#1697)
24
- * Remove deprecated ``TraitList ``, ``TraitDict `` and ``TraitTuple `` classes.
65
+ * Python versions earlier than 3.8 are no longer supported. (#1773)
66
+ * Removed deprecated ``rich_compare `` Trait metadata. (#1698)
67
+ * Removed deprecated ``find_resource `` and ``store_resource `` functions. (#1697)
68
+ * Removed deprecated ``TraitList ``, ``TraitDict `` and ``TraitTuple `` classes.
25
69
(#1634)
26
- * Remove the deprecated ability of ``cTrait.default_value `` to set the default
70
+ * Removed the deprecated ability of ``cTrait.default_value `` to set the default
27
71
value of a trait. It can now only be used for getting, not for setting.
28
72
(#1632)
29
- * Remove the deprecated ``typecode `` parameter to ``Array `` trait types.
73
+ * Removed the deprecated ``typecode `` parameter to ``Array `` trait types.
30
74
(#1633)
31
- * Remove the deprecated ``nose_tools `` module. (#1636)
32
- * Remove the deprecated ``Long ``, ``CLong ``, ``BaseLong `` and ``BaseCLong ``
75
+ * Removed the deprecated ``nose_tools `` module. (#1636)
76
+ * Removed the deprecated ``Long ``, ``CLong ``, ``BaseLong `` and ``BaseCLong ``
33
77
trait types. Use ``Int ``, ``CInt ``, ``BaseInt `` and ``BaseCInt `` instead.
34
78
(#1701)
35
- * Remove the deprecated ``TraitPrefixList `` and ``TraitPrefixMap `` classes.
79
+ * Removed the deprecated ``TraitPrefixList `` and ``TraitPrefixMap `` classes.
36
80
Use ``PrefixList `` and ``PrefixMap `` instead. (#1703)
81
+ * Removed the deprecated ``Function ``, ``Method `` and ``Symbol `` trait types.
82
+ (#1819)
83
+ * Removed the deprecated ``SingletonHasTraits ``, ``SingletonHasStrictTraits ``
84
+ and ``SingletonHasPrivateTraits `` classes. (#1794)
85
+ * Removed the deprecated ``HasTraits.get `` and ``HasTraits.set `` methods.
86
+ (#1738)
87
+ * Removed the deprecated ``MetaHasTraits.add_listener `` and
88
+ ``MetaHasTraits.remove_listener `` methods. (#1730)
89
+ * Removed the deprecated ``Color ``, ``RGBColor `` and ``Font `` traits.
90
+ Code that needs these trait types should import them from TraitsUI instead.
91
+ (#1737)
92
+ * Removed the deprecated trait type aliases ``ListInt ``, ``ListFloat ``,
93
+ ``ListStr ``, ``ListUnicode ``, ``ListComplex ``, ``ListBool ``,
94
+ ``ListFunction ``, ``ListMethod ``, ``ListThis ``, ``DictStrAny ``,
95
+ ``DictStrStr ``, ``DictStrInt ``, ``DictStrFloat ``, ``DictStrBool ``,
96
+ ``DictStrList ``. (#1723)
97
+ * Removed the deprecated ``clean_filename `` and ``clean_timestamp ``
98
+ utilities. (#1820)
99
+
100
+ Fixes
101
+ ~~~~~
102
+ * Fixed build error on Python 3.13 triggered by removal of the
103
+ ``PyTRASHCAN_SAFE_BEGIN `` and ``PyTRASHCAN_SAFE_END `` macros. (#1767)
104
+ * Fixed warning messages from use of ``PyDict_GetItem `` in Python >= 3.13.
105
+ (#1818)
106
+ * Fixed a race condition in test of background thread notification. (#1798)
107
+ * Fixed missing observer registration when inserting into a nested
108
+ list. (#1761)
109
+ * Fixed a use of the deprecated ``datetime.datetime.utcnow `` method. (#1758)
110
+ * Fixed a use of a deprecated TraitsUI version check. (#1746)
111
+ * Fixed various type stubs. (#1718)
112
+
113
+ Tests
114
+ ~~~~~
115
+ * Reworked ``ui_dispatch `` tests to no longer require Qt. (#1792)
116
+ * Removed Cython-based tests (after fixing them). (#1793, #1759)
117
+ * Fixed two tests that were triggering TraitsUI deprecation warnings. (#1790)
118
+ * Remove uses of ``UITester `` from the test suite. (#1788)
119
+ * Fix a fragile ``configure_traits `` test that could fail on warnings unrelated
120
+ to the test goal. (#1749)
37
121
38
122
Build and continuous integration
39
123
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40
- * Include Python 3.11 in the workflow that tests wheels from PyPI. (#1715)
124
+ * Added Python 3.11 to the workflow that tests wheels from PyPI. (#1715)
125
+ * Added dependabot config to aid keeping GitHub Actions up to date. (#1776)
126
+ * Brought various GitHub Actions up to date. (#1814, #1810, #1808,
127
+ #1807, #1800, #1799, #1797, #1796, #1780, #1779, #1778, #1777)
128
+ * Removed uses of the ``voxmedia `` action for Slack notification. (#1782)
129
+ * Fix the set of architectures tested in the PyPI workflow. (#1795)
130
+ * Removed PySide as a test dependency. (#1791)
131
+ * Fixed a couple of compiler warnings related to integer conversions in the
132
+ Windows build. (#1774)
133
+ * Temporarily pinned the Python 3.13 version to avoid an upstream bug with
134
+ Python 3.13.0a4. (#1775, #1773)
135
+ * Updated workflows for Python 3.12 support. (#1757)
136
+ * Updated workflows for compatibility with Ubuntu 22.04. (#1727)
137
+ * Updated workflows to use Python 3.11 final. (#1725)
138
+ * Moved cibuildwheel config to ``pyproject.toml ``. (#1717)
139
+ * Temporarily pinned ``setuptools `` to avoid an incompatibility with EDM
140
+ runtimes. (#1722)
141
+ * The PyPI release workflow has been modernized. (#1716)
142
+
143
+
144
+ Documentation
145
+ ~~~~~~~~~~~~~
146
+ * Clarify behaviour of observers listening to ``attr1:attr2 ``. (#1806)
147
+ * Fixed Trait documenter tests for Sphinx >= 7.2. (#1755)
148
+ * Fixed inconsistent spacing style in docs. (#1728)
149
+
150
+ Miscellaneous
151
+ ~~~~~~~~~~~~~
152
+ * Copyright header updates. (#1816, #1768, #1729)
153
+ * The parser for the ``observe `` mini-language was regenerated. (#1743)
41
154
42
155
43
156
Release 6.4.1
0 commit comments