Skip to content

chore(deps): bump packaging from 25.0 to 26.0#5724

Merged
rtibbles merged 1 commit intounstablefrom
dependabot/pip/packaging-26.0
Mar 3, 2026
Merged

chore(deps): bump packaging from 25.0 to 26.0#5724
rtibbles merged 1 commit intounstablefrom
dependabot/pip/packaging-26.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 1, 2026

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:

Behavior adaptations:

Fixes:

Performance:

... (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 Version and SpecifierSet (:pull:1004)

Behavior adaptations:

  • PEP 440 handling of prereleases for Specifier.contains, SpecifierSet.contains, and SpecifierSet.filter (:pull:897)
  • Handle PEP 440 edge case in SpecifierSet.filter (:pull:942)
  • Adjust arbitrary equality intersection preservation in SpecifierSet (:pull:951)
  • Return False instead of raising for .contains with invalid version (:pull:932)
  • Support arbitrary equality on arbitrary strings for Specifier and SpecifierSet's filter and contains method. (:pull:954)
  • Only try to parse as Version on certain marker keys, return False on unequal ordered comparisons (:pull:939)

Fixes:

  • Update _hash when unpickling Tag() (:pull:860)
  • Correct comment and simplify implicit prerelease handling in Specifier.prereleases (:pull:896)
  • Use explicit _GLibCVersion NamedTuple in _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 Requirements string (:pull:953)
  • A root logger use found, use a packaging logger instead (:pull:965)
  • Better support for subclassing Marker and Requirement (:pull:1022)
  • Normalize all extras, not just if it comes first (:pull:1024)
  • Don't produce a broken repr if Marker fails 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's Version (:pull:985)
  • Make Version a little faster (:pull:987)
  • Minor Version regex cleanup (:pull:990)
  • Faster regex on Python 3.11.5+ for Version (:pull:988, :pull:1055)
  • Lazily calculate _key in Version (:pull:989, :pull:1048)
  • Faster canonicalize_version (:pull:993)
  • Use re.fullmatch in a couple more places (:pull:992, :pull:1029)
  • Use map instead of generator (:pull:996)
  • Deprecate ._version (_Version, a NamedTuple) (:pull:995, :pull:1062)
    </tr></table>

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [packaging](https://github.com/pypa/packaging) from 25.0 to 26.0.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](pypa/packaging@25.0...26.0)

---
updated-dependencies:
- dependency-name: packaging
  dependency-version: '26.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Mar 1, 2026
@rtibbles rtibbles requested a review from rtibblesbot March 1, 2026 08:46
Copy link

@rtibblesbot rtibblesbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dependency Update Review

Package: packaging 25.0 → 26.0
Semver risk: Low (CalVer yearly release, not a semver major bump)
Dependency type: Production (in requirements.txt via requirements.in) and dev (requirements-dev.txt)
CI status: Passing

Changelog Analysis

Sources consulted:

packaging uses calendar versioning (YY.N), so 25.0 → 26.0 is a standard yearly release, not a breaking-change major bump.

Breaking changes: None found.

Behavior adaptations (edge-case refinements to PEP 440):

  • Specifier.contains / SpecifierSet.filter prerelease handling improved
  • .contains now returns False instead of raising on invalid versions
  • Marker evaluation refined for ordered comparisons

New features: PEP 751 pylock support, PEP 794 import name metadata, metadata writing, Version.__replace__, pattern matching for Version/Specifier.

Security fixes: None.

Performance: Significant speedups across version parsing, specifier comparison, and regex handling.

Compatibility Assessment

  • Project uses affected APIs: No — packaging is not directly imported anywhere in the codebase. It is a transitive dependency of build tools (build, pip-compile, pre-commit) and django-js-reverse.
  • Peer dependency changes: None.
  • Code changes required: None.
  • Prior failed attempts: None (no PR comments or prior context).
  • Pin compatibility: Project specifies packaging>=21.0 in requirements.in — 26.0 satisfies this.

Recommendation

APPROVE — Low-risk CalVer release with no breaking changes, no direct usage in the codebase, and CI passing.


@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?

Reviewed the pull request diff checking for:

  • Correctness: bugs, edge cases, undocumented behavior, resource leaks, hardcoded values
  • Design: unnecessary complexity, naming, readability, comment accuracy, redundant state
  • Architecture: duplicated concerns, minimal interfaces, composition over inheritance
  • Testing: behavior-based assertions, mocks only at hard boundaries, accurate coverage
  • Completeness: missing dependencies, unupdated usages, i18n, accessibility, security
  • Principles: DRY (same reason to change), SRP, Rule of Three (no premature abstraction)
  • Checked CI status and linked issue acceptance criteria
  • For UI changes: inspected screenshots for layout, visual completeness, and consistency

Copy link
Member

@rtibbles rtibbles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No concerns from changelog, no direct imports.

@rtibbles rtibbles merged commit 53d2043 into unstable Mar 3, 2026
20 checks passed
@dependabot dependabot bot deleted the dependabot/pip/packaging-26.0 branch March 3, 2026 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants