Skip to content

Commit c49412f

Browse files
committed
Bump version, update changelog for the 7.0.0 release of Traits
1 parent 3e0c266 commit c49412f

File tree

3 files changed

+124
-48
lines changed

3 files changed

+124
-48
lines changed

CHANGES.rst

Lines changed: 123 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,152 @@ 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+
98+
99+
Fixes
100+
~~~~~
101+
* Fixed build error on Python 3.13 triggered by removal of the
102+
``PyTRASHCAN_SAFE_BEGIN`` and ``PyTRASHCAN_SAFE_END`` macros. (#1767)
103+
* Fixed warning messages from use of ``PyDict_GetItem`` in Python >= 3.13.
104+
(#1818)
105+
* Fixed a race condition in test of background thread notification. (#1798)
106+
* Fixed missing observer registration when inserting into a nested
107+
list. (#1761)
108+
* Fixed a use of the deprecated ``datetime.datetime.utcnow`` method. (#1758)
109+
* Fixed a use of a deprecated TraitsUI version check. (#1746)
110+
* Fixed various type stubs. (#1718)
111+
112+
Tests
113+
~~~~~
114+
* Reworked ``ui_dispatch`` tests to no longer require Qt. (#1792)
115+
* Removed Cython-based tests (after fixing them). (#1793, #1759)
116+
* Fixed two tests that were triggering TraitsUI deprecation warnings. (#1790)
117+
* Remove uses of ``UITester`` from the test suite. (#1788)
118+
* Fix a fragile ``configure_traits`` test that could fail on warnings unrelated
119+
to the test goal. (#1749)
37120

38121
Build and continuous integration
39122
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40-
* Include Python 3.11 in the workflow that tests wheels from PyPI. (#1715)
123+
* Added Python 3.11 to the workflow that tests wheels from PyPI. (#1715)
124+
* Added dependabot config to aid keeping GitHub Actions up to date. (#1776)
125+
* Brought various GitHub Actions up to date. (#1814, #1810, #1808,
126+
#1807, #1800, #1799, #1797, #1796, #1780, #1779, #1778, #1777)
127+
* Removed uses of the ``voxmedia`` action for Slack notification. (#1782)
128+
* Fix the set of architectures tested in the PyPI workflow. (#1795)
129+
* Removed PySide as a test dependency. (#1791)
130+
* Fixed a couple of compiler warnings related to integer conversions in the
131+
Windows build. (#1774)
132+
* Temporarily pinned the Python 3.13 version to avoid an upstream bug with
133+
Python 3.13.0a4. (#1775, #1773)
134+
* Updated workflows for Python 3.12 support. (#1757)
135+
* Updated workflows for compatibility with Ubuntu 22.04. (#1727)
136+
* Updated workflows to use Python 3.11 final. (#1725)
137+
* Moved cibuildwheel config to ``pyproject.toml``. (#1717)
138+
* Temporarily pinned ``setuptools`` to avoid an incompatibility with EDM
139+
runtimes. (#1722)
140+
* The PyPI release workflow has been modernized. (#1716)
141+
142+
143+
Documentation
144+
~~~~~~~~~~~~~
145+
* Clarify behaviour of observers listening to ``attr1:attr2``. (#1806)
146+
* Fixed Trait documenter tests for Sphinx >= 7.2. (#1755)
147+
* Fixed inconsistent spacing style in docs. (#1728)
148+
149+
Miscellaneous
150+
~~~~~~~~~~~~~
151+
* Copyright header updates. (#1816, #1768, #1729)
152+
* The parser for the ``observe`` mini-language was regenerated. (#1743)
41153

42154

43155
Release 6.4.1

changelog.d/20240621_105210_mdickinson_add_event_types_to_api.rst

Lines changed: 0 additions & 36 deletions
This file was deleted.

setup.py

Lines changed: 1 addition & 1 deletion
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)