Releases: pypa/packaging
Releases · pypa/packaging
24.1
What's Changed
- pyupgrade/black/isort/flake8 → ruff by @DimitriPapadopoulos in #769
- Add support for Python 3.13 and drop EOL 3.7 by @hugovk in #783
- Bump the github-actions group with 4 updates by @dependabot in #782
- Fix typo in
_parser
docstring by @pradyunsg in #784 - Modernise type annotations using FA rules from ruff by @pradyunsg in #785
- Document
markers.default_environment()
by @edgarrmondragon in #753 - Bump the github-actions group with 3 updates by @dependabot in #789
- Work around platform.python_version() returning non PEP 440 compliant version for non-tagged CPython builds by @sbidoul in #802
New Contributors
- @dependabot made their first contribution in #782
- @edgarrmondragon made their first contribution in #753
Full Changelog: 24.0...24.1
24.0
What's Changed
- Fix specifier matching when the specifier is long and has an epoch by @SpecLad in #712
- Clarify version split/join usage by @uranusjr in #725
- Default optional metadata values to None by @dstufft in #734
- Stop using deprecated/removed keys by @dstufft in #739
- Correctly use the ExceptionGroup shim only when needed by @dstufft in #736
- Update CHANGELOG entry about
validate
kwarg by @pradyunsg in #731 - Support --disable-gil builds (PEP 703) in packaging.tags by @colesbury in #728
- Skip
test_glibc_version_string_ctypes_raise_oserror
ifctypes
is unavailable by @kevinchang96 in #741 - Enable CodeQL by @joycebrum in #743
- PEP 703: Rename
Py_NOGIL
toPy_GIL_DISABLED
by @hugovk in #747 - Replace PEP references with PUG links by @jeanas in #750
- Remove coverage ignore for non-existent file by @shenanigansd in #752
- Update URLs by @DimitriPapadopoulos in #764
- Configure dependabot by @joycebrum in #757
- Hash pin github actions by @joycebrum in #758
- Apply some refurb suggestions by @DimitriPapadopoulos in #763
- Appply some bugbear suggestions by @DimitriPapadopoulos in #761
- Apply some ruff suggestions by @DimitriPapadopoulos in #772
- Add riscv64 as a supported manylinux architecture by @markdryan in #751
New Contributors
- @colesbury made their first contribution in #728
- @kevinchang96 made their first contribution in #741
- @jeanas made their first contribution in #750
- @shenanigansd made their first contribution in #752
- @markdryan made their first contribution in #751
Full Changelog: 23.2...24.0
23.2
What's Changed
- parse_marker should consume the entire source string by @mwerschy in #687
- Create a Security Policy file by @joycebrum in #695
- Add python 3.12 to CI by @mayeut in #689
- Remove URL validation from requirement parsing by @uranusjr in #684
- Add types for packaging.version._Version by @hauntsaninja in #665
- Add PyPy 3.10 to CI by @mayeut in #699
- Remove unused argument in
_manylinux._is_compatible
by @mayeut in #700 - Canonicalize names for requirements comparison by @astrojuanlu in #696
- Add platform tag support for LoongArch by @loongson-zn in #693
- Ability to install
armv7l manylinux/musllinux
wheels onarmv8l
by @mayeut in #690 - Include CHANGELOG.rst in sdist by @astrojuanlu in #704
- Update pyupgrade to Python 3.7+ by @fangchenli in #580
- Fix version pattern pre-releases by @deathaxe in #705
- Fix typos found by codespell by @DimitriPapadopoulos in #706
- Support enriched metadata by @brettcannon in #686
- Correct rST syntax in CHANGELOG.rst by @atugushev in #709
- fix: platform tag for GraalPy by @mayeut in #711
- Document that this library uses a calendar-based versioning scheme by @faph in #717
- fix: Update copyright date for docs by @garrypolley in #713
- Bump pip version to avoid known vulnerabilities by @joycebrum in #720
- Typing annotations fixed in version.py by @jolaf in #723
- parse_{sdist,wheel}_filename: don't raise InvalidVersion by @SpecLad in #721
- Fix code blocks in CHANGELOG.md by @edmorley in #724
New Contributors
- @mwerschy made their first contribution in #687
- @joycebrum made their first contribution in #695
- @astrojuanlu made their first contribution in #696
- @loongson-zn made their first contribution in #693
- @fangchenli made their first contribution in #580
- @deathaxe made their first contribution in #705
- @DimitriPapadopoulos made their first contribution in #706
- @atugushev made their first contribution in #709
- @faph made their first contribution in #717
- @garrypolley made their first contribution in #713
- @jolaf made their first contribution in #723
- @SpecLad made their first contribution in #721
- @edmorley made their first contribution in #724
Full Changelog: 23.1...23.2
23.1
What's Changed
- chore: add typed classifier by @miketheman in #655
- Improve parser error messaging around mistakes in/around version specifiers by @pradyunsg in #662
- Upgrade to latest mypy by @hauntsaninja in #664
- Delete print() from test_tags by @nikodemas in #668
- Update our linters by @pradyunsg in #676
- Improve error for local version label with unsupported operators by @pradyunsg in #675
- Parse raw metadata by @brettcannon in #671
- Handle prefix match with zeros at end of prefix correctly by @pradyunsg in #674
- Relax typing of
_key
on_BaseVersion
by @di in #669 - Replace spaces in platform names with underscores by @tucked in #620
- Import underlying parser function as an underscored variable by @pradyunsg in #663
New Contributors
- @miketheman made their first contribution in #655
- @nikodemas made their first contribution in #668
- @tucked made their first contribution in #620
Full Changelog: 23.0...23.1
23.0
What's Changed
- Remove unused LPAREN token from tokenizer by @hrnciar in #630
- Reorganise the project layout and version management by @pradyunsg in #626
- Correctly handle non-normalised specifiers in requirements by @pradyunsg in #634
- Use stable Python 3.11 in tests by @153957 in #641
- Fix typing for
specifiers.BaseSpecifier.filter()
by @henryiii in #643 - Correctly handle trailing whitespace on URL requirements by @pradyunsg in #642
- refactor _generic_api to use EXT_SUFFIX by @mattip in #607
- Allow
"extra"
to beNone
in the marker environment by @pradyunsg in #650 - Fix typos by @kianmeng in #648
- Update changelog for release by @pradyunsg in #656
New Contributors
Full Changelog: 22.0...23.0
22.0
What's Changed
- Fix compatible version specifier incorrectly strip trailing '0' by @kasium in #493
- Remove support for Python 3.6 by @abravalheri in #500
- Use concurrency limit in ci by @blink1073 in #510
- Fix issue link in changelog. by @bdice in #509
- chore: test with PyPy 3.8 & 3.9 by @mayeut in #512
- Accept locally installed prereleases by @q0w in #515
- Always run GHA workflows when they change by @mayeut in #516
- Add
__hash__
/__eq__
to requirements by @abravalheri in #499 - Upgrade to
setup-python
v3 and use caching for GHA by @brettcannon in #521 - allow pre-release versions in marker evaluation by @graingert in #523
- Error out from workflow on missing interpreter by @mayeut in #525
- chore: update pre-commit config to the latest repos' versions by @mayeut in #534
- chore: remove Windows PyPy 3.9 workaround on GHA by @mayeut in #533
- Use pipx to run nox / build in GHA workflows by @mayeut in #517
- Run tests with all PyPy versions locally by @mayeut in #535
- Adhere to PEP 685 when evaluating markers with extras by @hroncok in #545
- chore: update mypy and move to toml by @henryiii in #547
- Normalize extra comparison in markers for output by @brettcannon in #549
- Evaluate markers under environment with empty "extra" by @MrMino in #550
- Do not set extra in default_environment() by @sbidoul in #554
- Update extlinks strings to use a format string by @mayeut in #555
- Update CI test workflow to use setup-python@v4 by @mayeut in #556
- CI: Update
actions/*
to their latest major versions by @mayeut in #557 - Fix a spelling mistake by @venthur in #558
- fix: macOS platform tags with old macOS SDK by @mayeut in #513
- Correctly parse ELF for musllinux on Big Endian by @uranusjr in #538
- A
metadata
module with a data class for core metadata by @brettcannon in #518 - Document
utils.NormalizedName
by @brettcannon in #565 - Drop
LegacySpecifier
andLegacyVersion
by @pradyunsg in #407 - Move
metadata
,versions
andspecifiers
API documentation tosphinx.ext.autodoc
by @pradyunsg in #572 - Demonstrate behaviour of
SpecifierSet.__iter__
by @hauntsaninja in #575 - Handwritten parser for parsing requirements by @hrnciar in #484
- Add changelog entry for removal of pyparsing dependency by @hroncok in #581
- Use Iterator instead of Iterable for specifier filter methods by @ichard26 in #584
- Better output on linter failure by @henryiii in #478
- Add a "cpNNN-none-any" tag by @joonis in #541
- Document exceptions raised by functions in utils by @MrMino in #544
- Refactor ELF parsing logic to standlone class by @uranusjr in #553
- Forbid prefix version matching on pre-release/post-release segments by @mayeut in #563
- Update coverage to
>=5.0.0
by @mayeut in #586 - Normalize specifier version for prefix matching by @mayeut in #561
- Add python 3.11 by @mayeut in #587
- Fix prefix version matching by @mayeut in #564
- Remove duplicate
namedtuple
by @layday in #589 - Update changelog by @pradyunsg in #595
- Change email-related fields in
Metadata
tostr
by @brettcannon in #596 - Add
versionchanged
for 21.3 by @brettcannon in #599 - refactor: use flit as a backend by @henryiii in #546
- Remove
packaging.metadata
by @pradyunsg in #603 - Refactor nox requirements to use requirements files (#601) by @strokirk in #609
- Improve Requirement/Marker parser with context-sensitive tokenisation by @pradyunsg in #624
New Contributors
- @kasium made their first contribution in #493
- @abravalheri made their first contribution in #500
- @blink1073 made their first contribution in #510
- @bdice made their first contribution in #509
- @q0w made their first contribution in #515
- @graingert made their first contribution in #523
- @hrnciar made their first contribution in #484
- @ichard26 made their first contribution in #584
- @joonis made their first contribution in #541
- @strokirk made their first contribution in #609
Full Changelog: 21.3...22.0
21.3
21.2
- Update changelog entry for 21.1
Full Changelog: 21.1...21.2
21.1
21.0
- PEP 656: musllinux support (:issue:
411
) - Drop support for Python 2.7, Python 3.4 and Python 3.5.
- Replace distutils usage with sysconfig (:issue:
396
) - Add support for zip files in
parse_sdist_filename
(:issue:429
) - Use cached
_hash
attribute to short-circuit tag equality comparisons (:issue:417
) - Specify the default value for the
specifier
argument toSpecifierSet
(:issue:437
) - Proper keyword-only "warn" argument in packaging.tags (:issue:
403
) - Correctly remove prerelease suffixes from ~= check (:issue:
366
) - Fix type hints for
Version.post
andVersion.dev
(:issue:393
) - Use typing alias
UnparsedVersion
(:issue:398
) - Improve type inference for
packaging.specifiers.filter()
(:issue:430
) - Tighten the return type of
canonicalize_version()
(:issue:402
)