Sourced from astral-sh/setup-uv's releases.
v10.0.1 🌈 Tolerate transient manifest timeouts
Changes
Thank you
@arguile- for making this action more resilient.🐛 Bug fixes
🧰 Maintenance
- chore: update known checksums for 0.12.4 @github-actions[bot] (#1017)
📚 Documentation
- docs: update version references to v10.0.0 @github-actions[bot] (#1014)
v10.0.0 🌈 Disable automatic caching for sensitive events and new QOL features
Changes
Another breaking release, directly after v9.0.0 but we think the added security justifies that.
Extra security by default
If you use the default
enable-cache: autothis will now DISABLE THE CACHE to protect against cache poisoning for the following events:
pull_request_targetworkflow_runreleaseYou can read the full reasoning in astral-sh/setup-uv#984
version: latest-known- name: Install the latest version of uv known to setup-uv uses: astral-sh/setup-uv@v10.0.0 with: version: "latest-known"This will now install the latest version with a checksum that is known by this action. The known
uvchecksums are automatically updated but will take a release of this action to take effect. You won't be always using the latest & greatest but you will have an extra level of security.Read python version from
.tool-versions- name: Install uv based on the version defined in .tool-versions and also set python uses: astral-sh/setup-uv@v10.0.0 with: version-file: "pyproject.toml" </tr></table>
... (truncated)
20cfd1b
chore: update known checksums for 0.12.4 (#1017)d73a0ca
Tolerate transient manifest timeouts (#1016)ae3b92d
docs: update version references to v10.0.0 (#1014)ae62891
chore(deps): roll up Dependabot updates (#1013)f9cdb47
Reject paths in .tool-versions (#1007)4f6036f
Require pull requests for Dependabot rollups (#1005)8d6402c
chore(deps): roll up Dependabot updates (#1004)46f427b
Read Python version from .tool-versions (#996)8ed89c5
ci: pin Alpine container image (#995)8473c7f
chore(deps): roll up Dependabot updates (#994)Sourced from pip-tools's releases.
v7.6.1
Bug fixes
Fixed handling of index URLs ending in
/simple/by improving URL normalization logic. These URLs would previously makepip-compilefail to use the PyPI JSON API.-- by
@sirosenPRs and issues: #1669
Added a missing dependency on
typing-extensionsfor Python 3.9 and 3.10 -- by@sirosen.PRs and issues: #2424
Features
Improved documentation
pip-toolsdocumentation now features a how-to section, featuring initial docs which cover controlling output file headers and configuring completion -- by@sirosen.Contributor-facing changes
Fixed CI triggers so that release tags won't create spurious failing runs -- by
@sirosen.PRs and issues: #2421
Refactored the bug report template for better reporting -- by
@psthindal.
Sourced from pip-tools's changelog.
v7.6.1
2026-08-11
Bug fixes
Fixed handling of index URLs ending in
/simple/by improving URL normalization logic. These URLs would previously makepip-compilefail to use the PyPI JSON API.-- by {user}
sirosenPRs and issues: {issue}
1669Added a missing dependency on {pypi}
typing-extensionsfor Python 3.9 and 3.10 -- by {user}sirosen.PRs and issues: {issue}
2424Features
pip-tools is now compatible with pip version 26.2 -- by {user}
sirosen.PRs and issues: {issue}
2436, {issue}2437Improved documentation
pip-toolsdocumentation now features a how-to section, featuring initial docs which cover controlling output file headers and configuring completion -- by {user}sirosen.Contributor-facing changes
Fixed CI triggers so that release tags won't create spurious failing runs -- by {user}
sirosen.PRs and issues: {issue}
2421Refactored the bug report template for better reporting -- by {user}
psthindal.
5bc5ded
Merge pull request #2448
from sirosen/release/v7.6.1bde325c
Update changelog for v7.6.12f62a44
Merge pull request #2438
from sirosen/support-pip-26-2a371119
Slightly modify exc_types var name, per reviewb62ac68
Merge pull request #2447
from jazzband/pre-commit-ci-update-config041bf6f
Update tests/unit/_internal/pip_api/test_package_finder.py9f5d1f3
Improve internal names and docs for pip_apid50abd7
[pre-commit.ci] pre-commit autoupdatee8703da
Fix a test which improperly formulated file URIsf467ee5
Bump pipsupported version + add changelogff2f1c6
Merge pull request #4093
from github/update-v4.37.7-be7a3dbb8951a133
Update changelog for v4.37.7be7a3db
Merge pull request #4087
from github/dependabot/npm_and_yarn/npm-minor-0aa561...9310334
Merge pull request #4086
from github/mbg/thread-action-state-to-codeqlb4d8a54
Rebuildab5db25
Bump the npm-minor group across 1 directory with 8 updates38055a3
Drop logger from databaseInitCluster in
interface1f87aed
Merge pull request #4085
from github/update-bundle/codeql-bundle-v2.26.3dc1b98a
Make logger available to getCodeQLForCmd6f0220e
Merge pull request #4084
from github/navntoft/bump-undiciSourced from charset-normalizer's releases.
Version 3.5.0
3.5.0 (2026-08-12)
Added
- Explicit support for Python 3.15
Fixed
- Comparing a CharsetMatch to a non-alias encoding strings (#773)
- Return 0.0 CharsetMatch.multi_byte_usage for empty payloads instead of crashing (#774)
- A file with both a charset declaration and BOM/SIG did not verify first the BOM/SIG charset.
- iso2022* cases misdetected due to a flaw in our multibyte chunking logic.
Changed
- Replaced the optional mypyc build with Cython extensions while retaining the pure Python fallback. The previous engine (mypyc) started to hit rough limit around the optimization of our noise/coherence detector while Cython allows us to steer the engine toward the right generated optimized sources. This change SHOULD not impact bundler (e.g. Pyinstaller) as the module are immediately discoverable (i.e. not hidden import like mypyc did). Moreover, a long wished distribution is the abi3 wheels, this will allow us to no longer rush each year when a new Python interpreter is released. We still distribute the interpreter specific wheels for faster performance.
- Applied micro-optimization on several utils.
- CharsetMatches no longer sort on each match insertion.
Misc
- Removed an old performance optimization attempt in apy.py (success_fast_tracked+payload_result_cache).
Sourced from charset-normalizer's changelog.
3.5.0 (2026-08-12)
Added
- Explicit support for Python 3.15
Fixed
- Comparing a CharsetMatch to a non-alias encoding strings (#773)
- Return 0.0 CharsetMatch.multi_byte_usage for empty payloads instead of crashing (#774)
- A file with both a charset declaration and BOM/SIG did not verify first the BOM/SIG charset.
- iso2022* cases misdetected due to a flaw in our multibyte chunking logic.
Changed
- Replaced the optional mypyc build with Cython extensions while retaining the pure Python fallback. The previous engine (mypyc) started to hit rough limit around the optimization of our noise/coherence detector while Cython allows us to steer the engine toward the right generated optimized sources. This change SHOULD not impact bundler (e.g. Pyinstaller) as the module are immediately discoverable (i.e. not hidden import like mypyc did). Moreover, a long wished distribution is the abi3 wheels, this will allow us to no longer rush each year when a new Python interpreter is released. We still distribute the interpreter specific wheels for faster performance.
- Applied micro-optimization on several utils.
- CharsetMatches no longer sort on each match insertion.
Misc
- Removed an old performance optimization attempt in apy.py (success_fast_tracked+payload_result_cache).
3325d87
Merge pull request #792
from jawah/update-cibuildwheel-action77203b1
chore: reformat noxfile.py8561c22
chore(deps): bump github/codeql-action/upload-sarif (#787)25248df
chore(deps): bump actions/setup-python from 6.3.0 to 7.0.0 (#789)3eaaf3e
chore: enable cp315t in cifbe9fc4
chore: update cibuildwheel for py315 by default5c7b82a
chore: add emscripten classifier7d30c21
chore: skip pyodide tests cibw417d66f
Merge pull request #791
from jawah/patch-1130afd5
chore: perf script initial warm with big5 dummy contentSourced from filelock's releases.
3.32.3
What's Changed
- 🧪 test(strict): deflake close-fault injections on graalpy by
@gaborbernatin tox-dev/filelock#697- 📄 docs: publish llms.txt from the docs build by
@gaborbernatin tox-dev/filelock#700- 🐛 fix(fork): survive audit events during interpreter shutdown by
@gaborbernatin tox-dev/filelock#703Full Changelog: https://github.com/tox-dev/filelock/compare/3.32.2...3.32.3
Sourced from filelock's changelog.
########### Changelog ###########
.. towncrier-draft-entries:: Unreleased
.. towncrier release notes start
3.32.3 (2026-08-13)
- The fork-safety audit hook no longer prints
Exception ignored in audit hookwith aTypeErrorwhen an audit event fires during interpreter shutdown, after CPython has already cleared the module globals. :pr:701
3.32.2 (2026-07-29)
- A
SoftReadWriteLockorSoftFileLeaseacquire whose heartbeat thread fails to start now unlinks its marker and hands the claim back, instead of leaving an unrefreshed marker a peer takes while the caller believes it still holds the lock. :pr:691
3.32.1 (2026-07-26)
- Canceling an
AsyncSoftReadWriteLockacquire now releases the claim instead of leaking a marker whose heartbeat wedges every contender. :pr:686
3.32.0 (2026-07-21)
SoftReadWriteLockcloses the directory handle it opens to scan for readers as soon as a scan stops early, rather than holding it until the generator is collected. :pr:685- Declare support for Python 3.15 and run the test suite against it and its free-threaded build, both currently in beta. :pr:
683- The source distribution ships the capability probes the tests import, and reading one no longer needs
coverageinstalled, so the suite runs from an unpacked sdist instead of failing on a missingcoverage_pragmas. :pr:685
3.31.2 (2026-07-21)
filelockimports again on runtimes whoseerrnoomitsENOTSUP, such as GraalPy, where importing the package raisedImportError. It probes the code instead, preferringENOTSUP, falling back toEOPNOTSUPPwhere that name is absent, and dropping toENOSYS/EXDEVwhere neither exists. Platforms definingENOTSUPkeep their behavior. :pr:681
... (truncated)
4aa742c
Release 3.32.3fb5ab3e
🐛 fix(fork): survive audit events during interpreter shutdown (#703)35f759c
📄 docs: publish llms.txt from the docs build (#700)4b6e966
[pre-commit.ci] pre-commit autoupdate (#699)0e0f666
build(deps): bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (#698)6689d82
🧪 test(strict): deflake close-fault injections on graalpy (#697)df67bf7
[pre-commit.ci] pre-commit autoupdate (#696)Sourced from aiofastnet's releases.
1.1.0
- Added missing support for AF_UNIX addresses to SelectorDatagramTransport.sendto
- Added async sock_* methods. Implemented on top of read/write socket readiness.
Sourced from aiofastnet's changelog.
1.1.0
- Added missing support for AF_UNIX addresses to SelectorDatagramTransport.sendto
- Added async sock_* methods. Implemented on top of read/write socket readiness.
Sourced from platformdirs's releases.
4.11.3
What's Changed
- 📄 docs: publish llms.txt from the docs build by
@gaborbernatin tox-dev/platformdirs#522- fix: don't crash when an XDG dirs variable holds only separators by
@darrenhuaiin tox-dev/platformdirs#523Full Changelog: https://github.com/tox-dev/platformdirs/compare/4.11.2...4.11.3
4.11.2
What's Changed
- fix: stop the remaining iter_*_dirs yielding duplicate or joined paths by
@darrenhuaiin tox-dev/platformdirs#520Full Changelog: https://github.com/tox-dev/platformdirs/compare/4.11.1...4.11.2
Sourced from platformdirs's changelog.
########### Changelog ###########
.. towncrier-draft-entries:: Unreleased
.. towncrier release notes start
4.11.3 (2026-08-13)
python -m platformdirsnow lists :func:~platformdirs.user_desktop_dir, which was missing from the properties it prints. :pr:523- Stop :func:
~platformdirs.site_data_dir, :func:~platformdirs.site_config_dirand :func:~platformdirs.site_applications_dirraisingIndexErroron Unix and macOS when$XDG_DATA_DIRSor$XDG_CONFIG_DIRSholds only separators and whitespace, such as":". These values now fall back to the platform defaults, and each entry is stripped of surrounding whitespace. :pr:523
4.11.2 (2026-08-10)
- Stop :meth:
~platformdirs.PlatformDirs.iter_cache_dirs, :meth:~platformdirs.PlatformDirs.iter_state_dirs, :meth:~platformdirs.PlatformDirs.iter_log_dirsand :meth:~platformdirs.PlatformDirs.iter_runtime_dirsyielding the same directory twice on Unix whenuse_site_for_rootis active - :pr:469fixed this for the config and data iterators only. On macOS, :meth:~platformdirs.PlatformDirs.iter_cache_dirsnow yields the Homebrew and/Library/Cachesentries separately rather than oneos.pathsep-joined string whenmultipathis set. :pr:520
4.11.1 (2026-08-07)
- Fix :func:
~platformdirs.user_desktop_diron Windows builds withoutctypes.CSIDL_DESKTOPDIRECTORYappeared only in the ctypes lookup table, so the registry and environment variable resolvers raisedValueErrorfor it. :pr:519
4.11.0 (2026-07-21)
- Declare support for Python 3.15 and run the test suite against it, currently in beta. :pr:
512
4.10.1 (2026-07-18)
- Stop leaking memory on repeated Windows folder lookups.
get_win_folder_via_ctypesdefined a freshctypesstructure on every call, and each one registered a pointer type that was never released; the resolver is now built
... (truncated)
7f3960a
Release 4.11.3c8af984
fix: don't crash when an XDG dirs variable holds only separators (#523)6d2105a
📄 docs: publish llms.txt from the docs build (#522)7e4746c
[pre-commit.ci] pre-commit autoupdate (#521)a58fb90
Release 4.11.2a01396c
fix: stop the remaining iter_*_dirs yielding duplicate or joined paths
(#520)Sourced from wheel's releases.
0.48.0
- Added a
--local-versionoption towheel packto add, replace, or remove a PEP 440 local version identifier from a wheel (#570)- Fixed
wheel convertunnecessarily upgrading compatible core metadata versions (#643)- Fixed
wheel tagsproducing invalid archives when retagging wheels whose entries use ZIP64, by dropping the central-directory ZIP64 extra field that is not valid in a local file header (#692)- Fixed
wheel convertwriting the converted wheel outside the destination directory when the input archive contained a maliciously crafted project name or version with path separators (arbitrary file write / path traversal) (GHSA-vgq5-9859-3mmw)
Sourced from wheel's changelog.
Release Notes
UNRELEASED
- Fixed the macOS platform-tag warning always using the plural "these files" wording, even when only a single library required a higher deployment target (
[#697](https://github.com/pypa/wheel/issues/697) <https://github.com/pypa/wheel/pull/697>_)0.48.0 (2026-08-12)
- Added a
--local-versionoption towheel packto add, replace, or remove a PEP 440 local version identifier from a wheel ([#570](https://github.com/pypa/wheel/issues/570) <https://github.com/pypa/wheel/issues/570>_)- Fixed
wheel convertunnecessarily upgrading compatible core metadata versions ([#643](https://github.com/pypa/wheel/issues/643) <https://github.com/pypa/wheel/issues/643>_)- Fixed
wheel tagsproducing invalid archives when retagging wheels whose entries use ZIP64, by dropping the central-directory ZIP64 extra field that is not valid in a local file header ([#692](https://github.com/pypa/wheel/issues/692) <https://github.com/pypa/wheel/issues/692>_)- Fixed
wheel convertwriting the converted wheel outside the destination directory when the input archive contained a maliciously crafted project name or version with path separators (arbitrary file write / path traversal) (GHSA-vgq5-9859-3mmw <https://github.com/pypa/wheel/security/advisories/GHSA-vgq5-9859-3mmw>_)0.47.0 (2026-04-22)
- Added the
wheel infosubcommand to display metadata about wheel files without unpacking them ([#639](https://github.com/pypa/wheel/issues/639) <https://github.com/pypa/wheel/issues/639>_)- Fixed
WheelFileraisingMissing RECORD filewhen the wheel filename contains uppercase characters (e.g.Django-3.2.5.whl) but the.dist-infodirectory inside uses normalized lowercase naming ([#411](https://github.com/pypa/wheel/issues/411) <https://github.com/pypa/wheel/issues/411>_)0.46.3 (2026-01-22)
- Fixed
ImportError: cannot import name '_setuptools_logging' from 'wheel'when installed alongside an old version of setuptools and running thebdist_wheelcommand ([#676](https://github.com/pypa/wheel/issues/676) <https://github.com/pypa/wheel/issues/676>_)0.46.2 (2026-01-22)
- Restored the
bdist_wheelcommand for compatibility withsetuptoolsolder than v70.1- Importing
wheel.bdist_wheelnow emits aFutureWarninginstead of aDeprecationWarning- Fixed
wheel unpackpotentially altering the permissions of files outside of the destination tree with maliciously crafted wheels (CVE-2026-24049)0.46.1 (2025-04-08)
... (truncated)
21c4da4
Fixed the release heading formatf06d4db
Flit no longer supports --setup-py1a96c3e
Created a new released7d625d
Fixed wheel convert writing outside the target directory on malicious
input (...986a440
Strip ZIP64 extra field when retagging wheels (#692) (#695)0ca6f24
feat: add --local-version option to wheel pack (#694)4a63caf
Preserve compatible metadata versions in convert (#690)33650c6
[pre-commit.ci] pre-commit autoupdate (#691)197012d
Increased the upper bound for flit-core as a build requirementSourced from python-discovery's releases.
1.5.2
What's Changed
- 🐛 fix(py_info): discover Python 3.6 and 3.7 interpreters by
@gaborbernatin tox-dev/python-discovery#117Full Changelog: https://github.com/tox-dev/python-discovery/compare/1.5.1...1.5.2
Sourced from python-discovery's changelog.
################# Release History #################
.. towncrier-draft-entries::
.. towncrier release notes start
v1.5.1 (2026-07-31)