@@ -4,47 +4,6 @@ Changelog
44*unreleased *
55~~~~~~~~~~~~
66
7- Fixes:
8-
9- * Restore ``Version._version `` as a compatibility shim with a ``DeprecationWarning `` (:pull: `1062 `)
10-
11- 26.0rc3 - 2026-01-15
12- ~~~~~~~~~~~~~~~~~~~~
13-
14- Fixes:
15-
16- * Support CPython 3.11.0-3.11.4 and older PyPy3.11 (:pull: `1055 `)
17-
18- Performance:
19-
20- * Faster zero stripping (:pull: `1058 `)
21-
22- CI:
23-
24- * Test on first public release of CPython 3.11 and newer (:pull: `1056 `)
25- * Fix publication job (again) (:pull: `1051 `)
26- * Use ``actionlint `` to check CI workflows (:pull: `1052 `)
27-
28- 26.0rc2 - 2026-01-12
29- ~~~~~~~~~~~~~~~~~~~~
30-
31- Fixes:
32-
33- * Fix regression in (private) ``Version._key `` for ``packaging_legacy `` by @henryiii in https://github.com/pypa/packaging/pull/1048
34-
35- Performance:
36-
37- * Tiny import time improvement and simplification by @henryiii in https://github.com/pypa/packaging/pull/1047
38-
39- Internal:
40-
41- * Fix type hint of function used with ``contextlib.contextmanager `` by @SpecLad in https://github.com/pypa/packaging/pull/1046
42- * Fix the publish job by @henryiii in https://github.com/pypa/packaging/pull/1043
43- * Get the correct tag on publish by @henryiii in https://github.com/pypa/packaging/pull/1045
44-
45- 26.0rc1 - 2026-01-09
46- ~~~~~~~~~~~~~~~~~~~~
47-
487Features:
498
509* PEP 751: support pylock (:pull: `900 `)
@@ -86,12 +45,12 @@ Performance:
8645* Cache the ``Specifier ``'s ``Version `` (:pull: `985 `)
8746* Make ``Version `` a little faster (:pull: `987 `)
8847* Minor ``Version `` regex cleanup (:pull: `990 `)
89- * Faster regex on Python 3.11+ for ``Version `` (:pull: `988 `)
90- * Lazily calculate ``_key `` in ``Version `` (:pull: `989 `)
48+ * Faster regex on Python 3.11.5 + for ``Version `` (:pull: `988 `, :pull: ` 1055 `)
49+ * Lazily calculate ``_key `` in ``Version `` (:pull: `989 `, :pull: ` 1048 ` )
9150* Faster ``canonicalize_version `` (:pull: `993 `)
9251* Use ``re.fullmatch `` in a couple more places (:pull: `992 `, :pull: `1029 `)
9352* Use ``map `` instead of generator (:pull: `996 `)
94- * Drop ``._version `` (``_Version ``, a ``NamedTuple ``) (:pull: `995 `)
53+ * Deprecate ``._version `` (``_Version ``, a ``NamedTuple ``) (:pull: `995 `, :pull: ` 1062 `)
9554* Avoid duplicate ``Version `` creation in ``canonicalize_version `` (:pull: `994 `)
9655* Add ``__slots__ `` to core classes (:pull: `1001 `, :pull: `1002 `, :pull: `1032 `)
9756* Use ``Version.__replace__ `` in specifier comparison (:pull: `999 `)
@@ -101,11 +60,13 @@ Performance:
10160* Use ``str.partition `` in ``_parse_project_urls `` (:pull: `1013 `)
10261* Avoid normalizing extras again when comparing (:pull: `1028 `)
10362* Speed up ``Version.__str__ `` by about 10% (:pull: `997 `)
104- * Double the performance of ``canonicalize_name `` by avoiding a regex (:pull: `1030 `)
63+ * Much faster ``canonicalize_name `` by avoiding a regex (:pull: `1030 `, :pull: `1047 `, :pull: `1064 `)
64+ * Faster zero stripping (:pull: `1058 `)
10565
10666Type annotations:
10767
10868* Fix a type annotation (:pull: `907 `)
69+ * Fix type hint of function used with ``contextlib.contextmanager `` (:pull: `1046 `)
10970* Fix tags return type in ``parse_wheel_filename `` docs (:pull: `973 `)
11071* Add type hint for ``_version `` in ``.version.Version `` (:pull: `927 `)
11172* Changed static type annotations in prereleases setter method in ``specifier.py `` (:pull: `930 `)
@@ -126,9 +87,33 @@ Internal:
12687* Simpler else instead of assert in a check (:pull: `1027 `, :pull: `1031 `)
12788* Synchronize documentation and code for markers (:pull: `1008 `)
12889* Use the GitHub Actions slim runner for the all pass check (:pull: `1021 `)
129- * Use Trusted Publishing (:pull: `893 `)
90+ * Use ``actionlint `` to check CI workflows (:pull: `1052 `)
91+ * Use Trusted Publishing (:pull: `893 `, :pull: `1043 `, :pull: `1045 `, :pull: `1051 `)
13092* Use zizmor to check CI (:pull: `1035 `)
93+ * Test on first public release of CPython 3.11 and newer (:pull: `1056 `)
94+
95+
96+ Since the final release candidate: Faster ``canonicalize_name ``, especially on
97+ Python 3.12 and 3.13, where performance regressed previously (:pull: `1064 `),
98+ and reintroduce (deprecated) support for ``Version._.version `` (:pull: `1062 `).
99+
100+ 26.0rc3 - 2026-01-15
101+ ~~~~~~~~~~~~~~~~~~~~
102+
103+ Third release candidate for 26.0. Avoid bug in CPython 3.11.0-3.11.4 and older
104+ PyPy 3.11 (:pull: `1055 `).
105+
106+ 26.0rc2 - 2026-01-12
107+ ~~~~~~~~~~~~~~~~~~~~
108+
109+ Second release candidate for 26.0. Fixed a regression in (private)
110+ ``Version._key `` for ``packaging_legacy `` (:pull: `1048 `), and speed up
111+ stripping zeros a little more (:pull: `1058 `).
112+
113+ 26.0rc1 - 2026-01-09
114+ ~~~~~~~~~~~~~~~~~~~~
131115
116+ First release candidate for 26.0.
132117
13311825.0 - 2025-04-19
134119~~~~~~~~~~~~~~~~~
0 commit comments