Bump packaging from 25.0 to 26.0 by dependabot[bot] · Pull Request #25747 · microsoft/vscode-python
Bumps packaging from 25.0 to 26.0.
Release notes
Sourced from packaging's releases.
26.0
Read about the performance improvements here: https://iscinumpy.dev/post/packaging-faster.
What's Changed
Features:
- PEP 751: support pylock by
@sbidoulin pypa/packaging#900- PEP 794: import name metadata by
@brettcannonin pypa/packaging#948- Support writing metadata by
@henryiiiin pypa/packaging#846- Support
__replace__forVersionby@henryiiiin pypa/packaging#1003- Support positional pattern matching for
VersionandSpecifierby@henryiiiin pypa/packaging#1004Behavior adaptations:
- PEP 440 handling of prereleases for
Specifier.contains,SpecifierSet.contains, andSpecifierSet.filterby@notatallshawin pypa/packaging#897- Handle PEP 440 edge case in
SpecifierSet.filterby@notatallshawin pypa/packaging#942- Adjust arbitrary equality intersection preservation in
SpecifierSetby@notatallshawin pypa/packaging#951- Return
Falseinstead of raising for.containswith invalid version by@Liam-DeVoein pypa/packaging#932- Support arbitrary equality on arbitrary strings for
SpecifierandSpecifierSet'sfilterandcontainsmethod. by@notatallshawin pypa/packaging#954- Only try to parse as
Versionon certain marker keys, returnFalseon unequal ordered comparsions by@JP-Ellisin pypa/packaging#939Fixes:
- Update
_hashwhen unpicklingTag()by@dholthin pypa/packaging#860- Correct comment and simplify implicit prerelease handling in
Specifier.prereleasesby@notatallshawin pypa/packaging#896- Use explicit
_GLibCVersionNamedTuplein_manylinuxby@cthoytin pypa/packaging#868- Detect invalid license expressions containing
()by@bwoodsendin pypa/packaging#879- Correct regex for metadata
'name'format by@diin pypa/packaging#925- Improve the message around expecting a semicolon by
@pradyunsgin pypa/packaging#833- Support nested parens in license expressions by
@Liam-DeVoein pypa/packaging#931- Add space before at symbol in
Requirementsstring by@henryiiiin pypa/packaging#953- A root logger use found by ruff LOG, use
packaginglogger instead by@henryiiiin pypa/packaging#965- Better support for subclassing
MarkerandRequirementby@henryiiiin pypa/packaging#1022- Normalize all extras, not just if it comes first by
@henryiiiin pypa/packaging#1024- Don't produce a broken repr if
Markerfails to construct by@henryiiiin pypa/packaging#1033Performance:
- Avoid recompiling regexes in the tokenizer for a 3x speedup by
@hauntsaninjain pypa/packaging#1019- Improve performance in
_manylinux.pyby@cthoytin pypa/packaging#869- Minor cleanups to
Versionby@bearomorphismin pypa/packaging#913- Skip redundant creation of
Versions in specifier comparison by@notatallshawin pypa/packaging#986- Cache
Specifier's Version by@notatallshawin pypa/packaging#985- Make
Versiona little faster by@henryiiiin pypa/packaging#987- Minor
Versionregex cleanup by@henryiiiin pypa/packaging#990- Faster regex on Python 3.11.5+ by
@henryiiiin pypa/packaging#988 and pypa/packaging#1055- Lazily calculate
_keyinVersionby@notatallshawin pypa/packaging#989 and regression forpackaging_legacyfixed by@henryiiiin pypa/packaging#1048- Faster
canonicalize_versionby@henryiiiin pypa/packaging#993- Use
fullmatchin a couple more places by@henryiiiin pypa/packaging#992
... (truncated)
Changelog
Sourced from packaging's 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
__replace__on 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)
</tr></table>
... (truncated)
Commits
3b77a26Bump for release31371ccdocs: prepare for 26.0 final (#1063)9627a88perf: dual replace (#1064)d5398b8fix: restore ._version as a compat shim (#1062)3a7b600Bump for developmentd4eefdcBump for release4618912docs: prepare for 26.0rc3 (#1060)0cf1b41ci: test on first public release of CPythons (#1056)716beb1perf: 10% faster stripping zeros (#1058)350a230fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (#1055)- Additional commits viewable in compare view
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.