Release Notes
Released on 2025-12-02.
Continuing the unfortunate chain of disrupted releases, this release failed due to an error publishing new PEP 740 attestations to PyPI. The release workflow was re-run after removing the PEP 740 attestations (see #16944) and our GitHub and PyPI artifacts were published as normal, but the crates.io publish completed in the first run and does not match the 0.9.15 tag — instead, the crates were published at commit e7af583. The only difference is the inclusion of #16885.
Python
- Add CPython 3.14.1
- Add CPython 3.13.10
Enhancements
- Add ROCm 6.4 to
--torch-backend=auto(#16919) - Add a Windows manifest to uv binaries (#16894)
- Add LFS toggle to Git sources (#16143)
- Cache source reads during resolution (#16888)
- Allow reading requirements from scripts without an extension (#16923)
- Allow reading requirements from scripts with HTTP(S) paths (#16891)
Configuration
- Add
UV_HIDE_BUILD_OUTPUTto omit build logs (#16885)
Bug fixes
- Fix
uv-trampoline-builderbuilds from crates.io by moving bundled executables (#16922) - Respect
NO_COLORand always show the command as a header when paginguv helpoutput (#16908) - Use
0o666permissions for flock files instead of0o777(#16845) - Revert "Bump
astral-tlto v0.7.10 (#16887)" to narrow down a regression causing hangs in metadata retrieval (#16938)
Documentation
- Link to the uv version in crates.io member READMEs (#16939)
Install uv 0.9.15
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.9.15/uv-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.9.15/uv-installer.ps1 | iex"Download uv 0.9.15
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/uvYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>