Change History (5)
comment:1 by , 3 weeks ago
| Summary: | setuptools-80.10.1 (Python module) → setuptools-80.10.2 (Python module) |
|---|
comment:4 by , 2 weeks ago
Changelog 26.0 - 2026-01-20
Features:
- PEP 751: support pylock (:pull:
900) - PEP 794: import name metadata (:pull:
948) - Support for writing metadata to a file (:pull:
846) - Support
replaceon Version (:pull:1003) - Support positional pattern matching for
VersionandSpecifierSet(:pull:1004)
Behavior adaptations:
- PEP 440 handling of prereleases for
Specifier.contains,SpecifierSet.contains, andSpecifierSet.filter(:pull:897) - Handle PEP 440 edge case in
SpecifierSet.filter(:pull:942) - Adjust arbitrary equality intersection preservation in
SpecifierSet(:pull:951) - Return
Falseinstead of raising for.containswith invalid version (:pull:932) - Support arbitrary equality on arbitrary strings for
SpecifierandSpecifierSet'sfilterandcontainsmethod. (:pull:954) - Only try to parse as
Versionon certain marker keys, returnFalseon unequal ordered comparisons (:pull:939)
Fixes:
- Update
_hashwhen unpicklingTag()(:pull:860) - Correct comment and simplify implicit prerelease handling in
Specifier.prereleases(:pull:896) - Use explicit
_GLibCVersionNamedTuplein_manylinux(:pull:868) - Detect invalid license expressions containing
()(:pull:879) - Correct regex for metadata
'name'format (:pull:925) - Improve the message around expecting a semicolon (:pull:
833) - Support nested parens in license expressions (:pull:
931) - Add space before at symbol in
Requirementsstring (:pull:953) - A root logger use found, use a
packaginglogger instead (:pull:965) - Better support for subclassing
MarkerandRequirement(:pull:1022) - Normalize all extras, not just if it comes first (:pull:
1024) - Don't produce a broken repr if
Markerfails to construct (:pull:1033)
Performance:
- Avoid recompiling regexes in the tokenizer for a 3x speedup (:pull:
1019) - Improve performance in
_manylinux.py(:pull:869) - Minor cleanups to
Version(:pull:913) - Skip redundant creation of
Version's in specifier comparison (:pull:986) - Cache the
Specifier'sVersion(:pull:985) - Make
Versiona little faster (:pull:987) - Minor
Versionregex cleanup (:pull:990) - Faster regex on Python 3.11.5+ for
Version(:pull:988, :pull:1055) - Lazily calculate
_keyinVersion(:pull:989, :pull:1048) - Faster
canonicalize_version(:pull:993) - Use
re.fullmatchin a couple more places (:pull:992, :pull:1029) - Use
mapinstead of generator (:pull:996) - Deprecate
._version(_Version, aNamedTuple) (:pull:995, :pull:1062) - Avoid duplicate
Versioncreation incanonicalize_version(:pull:994) - Add
slotsto core classes (:pull:1001, :pull:1002, :pull:1032) - Use
Version.replacein specifier comparison (:pull:999) - Use
_get_spec_versionin more places inSpecifier(:pull:1005) - Pull
setconstruction out of function (:pull:1012) - Letter normalization dict for prereleases and the like (:pull:
1014) - Use
str.partitionin_parse_project_urls(:pull:1013) - Avoid normalizing extras again when comparing (:pull:
1028) - Speed up
Version.strby about 10% (:pull:997) - Much faster
canonicalize_nameby avoiding a regex (:pull:1030, :pull:1047, :pull:1064) - Faster zero stripping (:pull:
1058)
Type annotations:
- Fix a type annotation (:pull:
907) - Fix type hint of function used with
contextlib.contextmanager(:pull:1046) - Fix tags return type in
parse_wheel_filenamedocs (:pull:973) - Add type hint for
_versionin.version.Version(:pull:927) - Changed static type annotations in prereleases setter method in
specifier.py(:pull:930) - Statically type our test suite (:pull:
982)
Internal:
- Test and declare support for Python 3.14 (:pull:
901) - Change our license metadata to use an SPDX license expression (:pull:
881, :pull:924) - Expand the Ruff checks run on our codebase (:pull:
835, :pull:957, :pull:959, :pull:963, :pull:956, :pull:961, :pull:964, :pull:958, :pull:960, :pull:968, :pull:967, :pull:966, :pull:969, :pull:980, :pull:979, :pull:962, :pull:984, :pull:972) - Add spell checking (:pull:
904, :pull:910, :pull:1015) - Improve links back to source in the documentation (:pull:
991) - Add case insensitivity tests for arbitrary equality (:pull:
975) - Fix incorrectly implicitly concatenated string in specifiers test (:pull:
946) - Simpler else instead of assert in a check (:pull:
1027, :pull:1031) - Synchronize documentation and code for markers (:pull:
1008) - Use the GitHub Actions slim runner for the all pass check (:pull:
1021) - Use
actionlintto check CI workflows (:pull:1052) - Use Trusted Publishing (:pull:
893, :pull:1043, :pull:1045, :pull:1051) - Use zizmor to check CI (:pull:
1035) - Test on first public release of CPython 3.11 and newer (:pull:
1056)
Since the final release candidate: Faster canonicalize_name, especially on
Python 3.12 and 3.13, where performance regressed previously (:pull:1064),
and reintroduce (deprecated) support for Version._.version (:pull:1062).
Note:
See TracTickets
for help on using tickets.

Now version 80.10.2.