Skip to content

Commit a317c84

Browse files
authored
Update changelog in preparation for 6.4.0 release. (#1693)
This PR updates the changelog to record changes since 6.3.2. (cherry picked from commit 41a97b8)
1 parent 9b6ba57 commit a317c84

File tree

1 file changed

+121
-8
lines changed

1 file changed

+121
-8
lines changed

CHANGES.rst

Lines changed: 121 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,141 @@
11
Traits CHANGELOG
22
================
33

4-
Release 7.0.0
4+
Release 6.4.0
55
-------------
66

7-
TBD Release summary
7+
Released: 2022-08-12
88

9-
Released: XXXX-XX-XX
9+
Traits 6.4 is a minor feature release of Traits, which focuses mainly on typing
10+
stub and documentation updates.
1011

11-
Migrating from earlier versions of Traits
12-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12+
Migrating from Traits 6.3
13+
~~~~~~~~~~~~~~~~~~~~~~~~~
1314

14-
Traits 7.0 should be largely backwards compatible with earlier versions
15-
of Traits, but there are some things to watch out for.
15+
Traits 6.4 should be largely backwards compatible with Traits 6.3, but there
16+
are a couple of things to watch out for.
1617

18+
* Reminder: while the ``Either`` and ``Trait`` trait types are not yet formally
19+
deprecated, the intention is to eventually deprecate and remove them.
20+
Projects are encouraged to update their code to use ``Union`` instead.
21+
* Similarly, any uses of the ``Unicode`` trait type in your project should
22+
be replaced with ``Str``.
1723
* Validation of items within a container (e.g., ``foos = List(MyTraitType)``)
1824
now always matches the validation used for the item trait at top level (e.g.,
1925
``foo = MyTraitType``). Previously, the validation methods used could differ,
2026
thanks to a bug in the container implementations. For most trait types this
2127
will make no difference, but for the ``Tuple`` trait type this change has the
2228
consequence that lists will no longer be accepted as valid for ``Tuple``
2329
traits inside list items. See issue #1619 and PR #1625 for more information.
30+
* Related to the above: a top-level ``Tuple()`` trait declaration currently
31+
accepts Python ``list`` objects, while a ``Tuple`` declaration with explicit
32+
item types (for example ``Tuple(Int(), Int())``) does not. The support for
33+
``list`` objects in plain ``Tuple()`` is deprecated, and will be removed in a
34+
future version of Traits. See PR #1627 for more information.
35+
36+
Detailed PR-by-PR changes
37+
~~~~~~~~~~~~~~~~~~~~~~~~~
38+
39+
The following people contributed code changes for this release:
40+
41+
* Caio Agiani
42+
* Steve Allen
43+
* Mark Dickinson
44+
* Sai Rahul Poruri
45+
* Corran Webster
46+
47+
Features
48+
~~~~~~~~
49+
* ``ETSConfig`` attributes now support deletion. This makes it easier to make
50+
temporary changes to ``ETSConfig`` attributes during unit testing. (#1670,
51+
#1686)
52+
* ``Complex`` trait type validation is now more lenient: any type that
53+
implements ``__complex__`` will be accepted. (#1594)
54+
* ``BaseFloat`` validation is now more lenient, and matches ``Float``
55+
validation: ``BaseFloat`` now also accepts objects whose type has an
56+
``__index__`` method. (#1595)
57+
58+
Changes
59+
~~~~~~~
60+
* An ``enumerate`` alias has been removed from ``traits.trait_base``. In the
61+
unlikely event of code that imports ``enumerate`` from ``traits.trait_base``,
62+
use the built-in ``enumerate`` instead. (#1681)
63+
* Fast validation tuples ``int_fast_validate``, ``float_fast_validate`` and
64+
``complex_fast_validate`` have been removed from the ``traits.trait_types``
65+
module. (#1601)
2466

25-
TBD Release details
67+
Fixes
68+
~~~~~
69+
* ``TraitListObject``, ``TraitDict`` object and ``TraitSetObject`` now use the
70+
``validate`` method of the appropriate ``CTrait`` instances to validate
71+
items, keys and values. Previously the handler's ``validate`` method was
72+
used; this gave buggy behaviour in cases where the handler's ``validate``
73+
method differed from the actual validation in use. (#1625)
74+
* Fix specification of ``default_value`` that incorrectly disregarded
75+
``default_value_type``. (#1631)
76+
* Fix incorrect results from ``clone_traits`` applied to ``List``, ``Dict``
77+
and ``Set`` traits. (#1624)
78+
* The ``find_resource`` and ``store_resource`` tests are now skipped
79+
if the ``pkg_resources`` module is not present in the environment. (#1679)
80+
* An ``ETSConfig`` test has been renamed so that it's properly picked up
81+
by the test runner. (#1671)
82+
* Fix some ``ETSConfig`` tests that assume unittest as the test runner. (#1683)
83+
* Rename various test-related classes to avoid pytest trying to harvest test
84+
methods from them. (#1684)
85+
* Overriding a default for a ``List`` or other collection trait in a subclass
86+
now works as expected. Previously, the behaviour was unusably buggy. (#1645)
87+
88+
Deprecations
89+
~~~~~~~~~~~~
90+
* ``Tuple`` traits currently accept Python ``list`` objects in some (but
91+
not all) circumstances. That feature is deprecated, and will be removed
92+
in a future version of Traits. (#1627)
93+
94+
Type stubs
95+
~~~~~~~~~~
96+
* Add stubs for ``Array``, ``ArrayOrNone``, and ``CArray``. (#1682)
97+
* Fix various stubs for ``traits.trait_types``; add stubs for
98+
``traits.ctraits``. (#1661)
99+
* Fix that ``TraitError`` stubs weren't exposed at ``traits.api`` level.
100+
(#1658)
101+
* Make ``Int`` and ``Float`` type stubs more accurate. (#1656)
102+
* Fix incorrect type stubs for the ``Dict`` trait type. (#1655)
103+
104+
Documentation
105+
~~~~~~~~~~~~~
106+
* Make ``ETSConfig`` class documentation visible in the API docs. (#1688)
107+
* Add copy buttons to code samples in documentation. (#1651, #1653)
108+
* Document ``Date``, ``Datetime`` and ``Time`` trait types. (#1641)
109+
* Fix some missing mentions of ``Set`` in notification docs. (#1618)
110+
* Document the ``'some_trait.-'`` pattern for ``on_trait_change``. (#1592)
111+
* Document that ``Either`` should not be used in new code. (#1699)
112+
* Document that ``TraitPrefixMap`` and ``TraitPrefixList`` are deprecated.
113+
(#1702)
114+
* Document that the Trait factory function should not be used in new code.
115+
(#1700)
116+
* Miscellaneous minor fixes. (#1583, #1611, #1652, #1680)
117+
118+
Build and continuous integration
119+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120+
* Don't collect traits-stubs tests under pytest. As a result of this
121+
and other fixes, the test suite now passes under pytest. (#1690)
122+
* Update ``etstool.py`` for Python 3.8 support. Python 3.8 is now the
123+
default Python version for builds. (#1694)
124+
* Use PySide6 for Python >= 3.8 instead of PySide2 in CI testing. (#1685)
125+
* Add ``pyproject.toml`` files for both Traits and traits-stubs. (#1689, #1676)
126+
* Add Python 3.11 to some workflow runs. (#1600, #1660, #1674)
127+
* Add Python 3.10 to install-from-PyPI workflow. (#1576)
128+
* Allow running the main test workflow manually. (#1607)
129+
* Switch Slack channel used to report GitHub Actions failures. (#1650)
130+
* Exclude ``build`` directory in flake8 configuration. (#1635)
131+
* Re-include NumPy as a test dependency on Python 3.10. (#1593)
132+
133+
Maintenance and refactoring
134+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
135+
* ``.gitignore`` cleanup and updates. (#1678, #1687)
136+
* Return ``PyErr_Format`` calls in ``traits/ctraits.c``. (#1640)
137+
* Update copyright header end year to 2022. (#1612)
138+
* The ``ci-src-requirements.txt`` file isn't used; remove it. (#1602)
26139

27140

28141
Release 6.3.2

0 commit comments

Comments
 (0)