You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.rst
+31-46Lines changed: 31 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,47 +4,6 @@ Changelog
4
4
*unreleased*
5
5
~~~~~~~~~~~~
6
6
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
-
48
7
Features:
49
8
50
9
* PEP 751: support pylock (:pull:`900`)
@@ -86,12 +45,12 @@ Performance:
86
45
* Cache the ``Specifier``'s ``Version`` (:pull:`985`)
87
46
* Make ``Version`` a little faster (:pull:`987`)
88
47
* 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`)
91
50
* Faster ``canonicalize_version`` (:pull:`993`)
92
51
* Use ``re.fullmatch`` in a couple more places (:pull:`992`, :pull:`1029`)
93
52
* 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`)
95
54
* Avoid duplicate ``Version`` creation in ``canonicalize_version`` (:pull:`994`)
96
55
* Add ``__slots__`` to core classes (:pull:`1001`, :pull:`1002`, :pull:`1032`)
97
56
* Use ``Version.__replace__`` in specifier comparison (:pull:`999`)
@@ -101,11 +60,13 @@ Performance:
101
60
* Use ``str.partition`` in ``_parse_project_urls`` (:pull:`1013`)
102
61
* Avoid normalizing extras again when comparing (:pull:`1028`)
103
62
* 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`)
105
65
106
66
Type annotations:
107
67
108
68
* Fix a type annotation (:pull:`907`)
69
+
* Fix type hint of function used with ``contextlib.contextmanager`` (:pull:`1046`)
109
70
* Fix tags return type in ``parse_wheel_filename`` docs (:pull:`973`)
110
71
* Add type hint for ``_version`` in ``.version.Version`` (:pull:`927`)
111
72
* Changed static type annotations in prereleases setter method in ``specifier.py`` (:pull:`930`)
@@ -126,9 +87,33 @@ Internal:
126
87
* Simpler else instead of assert in a check (:pull:`1027`, :pull:`1031`)
127
88
* Synchronize documentation and code for markers (:pull:`1008`)
128
89
* 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`)
130
92
* 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
0 commit comments