Skip to content

Commit 5695a2a

Browse files
authored
Bump version, update changelog for the 7.0.0 release of Traits (#1821)
This PR updates the changelog and bumps the version number for the release of version 7.0.0 of Traits. The main branch will be tagged with the release tag immediately after this PR is merged.
1 parent 88e0d81 commit 5695a2a

File tree

3 files changed

+125
-48
lines changed

3 files changed

+125
-48
lines changed

Diff for: CHANGES.rst

+124-11
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,153 @@ Traits CHANGELOG
44
Release 7.0.0
55
-------------
66

7-
Released: XXXX-XX-XX
7+
Released: 2025-01-24
88

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.
1018

1119
Detailed changes
1220
~~~~~~~~~~~~~~~~
1321

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+
1432
Features
1533
~~~~~~~~
1634
* The traits package now ships with stub files directly, instead of requiring
1735
those files to be installed via the separate ``traits-stubs`` package.
1836
(#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)
1962

2063
Removals
2164
~~~~~~~~
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.
2569
(#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
2771
value of a trait. It can now only be used for getting, not for setting.
2872
(#1632)
29-
* Remove the deprecated ``typecode`` parameter to ``Array`` trait types.
73+
* Removed the deprecated ``typecode`` parameter to ``Array`` trait types.
3074
(#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``
3377
trait types. Use ``Int``, ``CInt``, ``BaseInt`` and ``BaseCInt`` instead.
3478
(#1701)
35-
* Remove the deprecated ``TraitPrefixList`` and ``TraitPrefixMap`` classes.
79+
* Removed the deprecated ``TraitPrefixList`` and ``TraitPrefixMap`` classes.
3680
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)
37121

38122
Build and continuous integration
39123
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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)
41154

42155

43156
Release 6.4.1

Diff for: changelog.d/20240621_105210_mdickinson_add_event_types_to_api.rst

-36
This file was deleted.

Diff for: setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
MINOR = 0
2323
MICRO = 0
2424
PRERELEASE = ""
25-
IS_RELEASED = False
25+
IS_RELEASED = True
2626

2727
# If this file is part of a Git export (for example created with "git archive",
2828
# or downloaded from GitHub), ARCHIVE_COMMIT_HASH gives the full hash of the

0 commit comments

Comments
 (0)