* PEP 639: Implement License-Expression and License-File (:issue:`828`)
* Use ``!r`` formatter for error messages with filenames (:issue:`844`)
* Add support for PEP 730 iOS tags (:issue:`832`)
* Fix prerelease detection for ``>`` and ``<`` (:issue:`794`)
* Fix uninformative error message (:issue:`830`)
* Refactor ``canonicalize_version`` (:issue:`793`)
* Patch python_full_version unconditionally (:issue:`825`)
* Fix doc for ``canonicalize_version`` to mention ``strip_trailing_zero`` and a typo in a docstring (:issue:`801`)
* Fix typo in Version ``__str__`` (:issue:`817`)
* Support creating a ``SpecifierSet`` from an iterable of ``Specifier`` objects (:issue:`775`)
Work around platform.python_version() returning non PEP 440 compliant version
for non-tagged CPython builds (:issue:802).
24.0 - 2024-03-10
* Do specifier matching correctly when the specifier contains an epoch number
and has more components than the version (:issue:`683`)
* Support the experimental ``--disable-gil`` builds in packaging.tags
(:issue:`727`)
* BREAKING: Make optional ``metadata.Metadata`` attributes default to ``None`` (:issue:`733`)
* Fix errors when trying to access the ``description_content_type``, ``keywords``,
and ``requires_python`` attributes on ``metadata.Metadata`` when those values
have not been provided (:issue:`733`)
* Fix a bug preventing the use of the built in ``ExceptionGroup`` on versions of
Python that support it (:issue:`725`)
Enforce that the entire marker string is parsed (:issue:687)
Requirement parsing no longer automatically validates the URL (:issue:120)
Canonicalize names for requirements comparison (:issue:644)
Introduce metadata.Metadata (along with metadata.ExceptionGroup and metadata.InvalidMetadata; :issue:570)
Introduce the validate keyword parameter to utils.normalize_name() (:issue:570)
Introduce utils.is_normalized_name() (:issue:570)
Make utils.parse_sdist_filename() and utils.parse_wheel_filename()
raise InvalidSdistFilename and InvalidWheelFilename, respectively,
when the version component of the name is invalid
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show 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)
Updates the requirements on packaging to permit the latest version.
Release notes
Sourced from packaging's releases.
Changelog
Sourced from packaging's changelog.
... (truncated)
Commits
d8e3b31
Bump for release2de393d
Update changelog for release9c66f5c
Remove extraneous quotes in f-strings by using!r
(#848)4dc334c
Upgrade to latest mypy (#853)d1a9f93
Bump the github-actions group with 4 updates (#852)029f415
PEP 639: Implement License-Expression and License-File (#828)6c338a8
Use !r formatter for error messages with filenames. (#844)28e7da7
Add a comment as to whyMetadata.name
isn't normalized (#842)ce0d79c
Mention updating changelog in release process (#841)ac5bdf3
Update the changelog to reflect 24.1 changes (#840)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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show