github pypa/packaging 26.0rc1

pre-release2 days ago

What's Changed

Features:

Behavior adaptations:

  • PEP 440 handling of prereleases for Specifier.contains, SpecifierSet.contains, and SpecifierSet.filter by @notatallshaw in #897
  • Handle PEP 440 edge case in SpecifierSet.filter by @notatallshaw in #942
  • Adjust arbitrary equality intersection preservation in SpecifierSet by @notatallshaw in #951
  • Return False instead of raising for .contains with invalid version by @Liam-DeVoe in #932
  • Support arbitrary equality on arbitrary strings for Specifier and SpecifierSet's filter and contains method. by @notatallshaw in #954
  • Only try to parse as Version on certain marker keys, return False on unequal ordered comparsions by @JP-Ellis in #939

Fixes:

  • Update _hash when unpickling Tag() by @dholth in #860
  • Correct comment and simplify implicit prerelease handling in Specifier.prereleases by @notatallshaw in #896
  • Use explicit _GLibCVersion NamedTuple in _manylinux by @cthoyt in #868
  • Detect invalid license expressions containing () by @bwoodsend in #879
  • Correct regex for metadata 'name' format by @di in #925
  • Improve the message around expecting a semicolon by @pradyunsg in #833
  • Support nested parens in license expressions by @Liam-DeVoe in #931
  • Add space before at symbol in Requirements string by @henryiii in #953
  • A root logger use found by ruff LOG, use packaging logger instead by @henryiii in #965
  • Better support for subclassing Marker and Requirement by @henryiii in #1022
  • Normalize all extras, not just if it comes first by @henryiii in #1024
  • Don't produce a broken repr if Marker fails to construct by @henryiii in #1033

Performance:

Type annotations:

Internal:

New Contributors

Full Changelog: 25.0...26.0rc1

Don't miss a new packaging release

NewReleases is sending notifications on new releases.