What astral-sh/uv shipped
Written by FoxPlug from the repository's own releases; not affiliated with uv. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/astral-sh/uv; uv did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of October 5, 2026
What shipped
- Released version 0.13.0, which makes Python 3.15 the default stable Python version and includes several breaking changes to improve correctness, performance, and compatibility. Release
- Added --require-build-hashes to require an exact version or direct URL and a trusted hash for every build dependency, including transitive dependencies. Pull request #21411
- Scoped cached build metadata by build settings so that changing --config-settings no longer causes stale dependency resolution. Pull request #22404
- Skipped resolution for installed Git dependencies pinned to full 40-character commit hashes. Pull request #22464
- Promoted Python 3.15 Docker images from release-candidate tags to stable tags. Pull request #22421
- Updated
uv_builddocumentation bounds for 0.13. Pull request #22414 - Updated
uv_buildfixture bounds for 0.13. Pull request #22427 - Recorded
uv_buildcompatibility with 0.12.24. Pull request #22428 - Documented Tier 1 support for Python 3.15. Pull request #22412
- Updated the installation walkthrough to use Python 3.15. Pull request #22420
Why it matters
This week brought the release of uv 0.13.0, which sets Python 3.15 as the default stable version and includes breaking changes for correctness and performance. A new flag --require-build-hashes adds stricter verification for build dependencies. A fix also scopes cached build metadata by build settings to prevent incorrect dependency resolution when --config-settings changes.
Changelog entry
- Uv 0.13.0 released with Python 3.15 as the default. Release
- Add --require-build-hashes for build dependencies. Pull request #21411
- Scope cached build metadata by build settings. Pull request #22404
- Skip resolution for installed Git dependencies pinned to full commits. Pull request #22464
- Promote Python 3.15 Docker images to stable tags. Pull request #22421
- Update
uv_builddocumentation bounds for 0.13. Pull request #22414 - Update
uv_buildfixture bounds for 0.13. Pull request #22427 - Record
uv_buildcompatibility with 0.12.24. Pull request #22428 - Document Tier 1 support for Python 3.15. Pull request #22412
- Use Python 3.15 in the installation walkthrough. Pull request #22420
Uv 0.13.0 is out with Python 3.15 as the default. Also: --require-build-hashes ensures every build dependency has a trusted hash, and cached build metadata is now scoped by --config-settings. See the release notes for breaking changes.
Uv 0.13.0 has been released. This version makes Python 3.15 the default stable Python and includes several breaking changes to improve correctness, performance, and compatibility. Users can now require hashes for build dependencies with --require-build-hashes. Additionally, cached build metadata is scoped by build settings, fixing dependency resolution when --config-settings is used. Please review the release notes for migration details and opt-outs.
Week of September 28, 2026
What shipped
- Released version 0.12.23 with CPython 3.15.0rc3 support and preview features for frozen-lockfile operations without workspace manifests. Release
- Added support for uv sync --frozen to work without a workspace manifest by discovering uv.lock directly. Pull request #22018
- Added support for uv export --frozen to work without a workspace manifest by discovering uv.lock directly. Pull request #22007
- Added support for uv tree --frozen to work without a workspace manifest by discovering uv.lock directly. Pull request #22016
- Changed Windows ARM64 to prefer native ARM64 Python over emulated x86-64 Python by default. Pull request #22100
- Added UV_PYTHON_ARCH environment variable to constrain interpreter architecture independently of Python version. Pull request #22098
- Fixed handling of
win_amd64wheels for x86-64 Python running under emulation on Windows ARM64. Pull request #22099 - Compressed the embedded Python download catalog from 2.6MB to 234KB using zstd compression. Pull request #22126
- Updated Rust toolchain to 1.99.0 and raised MSRV to 1.97.0. Pull request #22121
- Released version 0.12.22 with CPython 3.10.22, 3.11.17, 3.12.15, 3.13.16, and 3.14.8 support. Release
Why it matters
This week shipped frozen-lockfile operations that work without workspace manifests, enabling new workflows for lockfile-only distributions. Windows ARM64 users now get native Python by default, and the embedded Python catalog is dramatically smaller, reducing binary size and startup time.
Changelog entry
- Added CPython 3.15.0rc3 Release
- Preview: uv sync --frozen without workspace manifest Release
- Preview: uv export --frozen without workspace manifest Release
- Added CPython 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.8 Release
- Accept uppercase release suffixes in wheel platform tags Release
- Prefer native ARM64 Python on Windows ARM64 Pull request #22100
- Add UV_PYTHON_ARCH for interpreter architecture selection Pull request #22098
- Retain
win_amd64wheels for Windows ARM x86-64 emulation Pull request #22099 - Compress embedded Python catalog with zstd Pull request #22126
- Hide --offline flag from uv publish Pull request #22124
- Hide --offline flag from uv audit Pull request #22114
- Update Rust to 1.99.0, MSRV to 1.97.0 Pull request #22121
0.12.23 is out: frozen sync/export/tree now work without workspace manifests, Windows ARM64 prefers native Python, and we compressed the Python catalog by 91%.
Uv 0.12.23 ships with frozen-lockfile operations that work without workspace manifests, enabling new distribution patterns. Windows ARM64 now prefers native Python, and we compressed the embedded Python catalog by 91% using zstd. These changes improve both usability and performance across different architectures and use cases.
Week of September 21, 2026
What shipped
- Released 0.12.19 with support for PyPy 3.11.16 and 3.12.14, GraalPy updates, and build-backend hooks with lazy imports on CPython 3.15. Release
- Honor synthetic default groups when installing from pylock.toml so packages marked with default dependency groups install correctly. Pull request #22003
- Fix hash constraint bypass in uv pip install when a package appears multiple times in requirements. Pull request #21996
- Avoid duplicate wheel installations from locked requirements with --preview-features tool-install-locks that caused race conditions on Windows. Pull request #22000
- Restore pyproject.toml when uv upgrade fails to leave the manifest unchanged after aborted operations. Pull request #21983
- Add --output-format json to uv pip install and uv pip sync for structured inspection of package changes. Pull request #21893
- Omit unused runtime settings from lockfiles with resolution-inputs preview feature to reduce uv.lock file size. Pull request #21913
- Fix path discovery in relocatable Nushell activation scripts by switching parse-time binding to const. Pull request #21979
- Store Git checkout markers outside working trees to avoid collisions with.ok files in checkouts. Pull request #21891
- Align arbitrary equality satisfaction with resolution so === constraints compare parsed versions correctly. Pull request #21931
Why it matters
Release 0.12.19 brings multiple stability fixes for lockfile handling, hash verification, and installation races. The addition of JSON output for pip commands enables better programmatic integration, while improvements to marker handling and constraint checking make dependency resolution more reliable.
Changelog entry
- Honor synthetic default groups when installing from pylock.toml Pull request #22003
- Apply hash constraints to repeated requirement occurrences in uv pip install Pull request #21996
- Avoid duplicate installations from locked requirements with tool-install-locks Pull request #22000
- Allow first-party metadata builds with --no-build in uv lock Pull request #21988
- Honor project filters when selecting all workspace packages Pull request #21994
- Fix path discovery in relocatable Nushell activation scripts Pull request #21979
- Restore pyproject.toml when uv upgrade fails Pull request #21983
- Preserve query parameters in direct URL metadata Pull request #21971
- Omit unused runtime settings from lockfiles with resolution-inputs preview feature Pull request #21913
- Round-trip always-false environment markers correctly Pull request #21939
- Align arbitrary equality satisfaction with resolution for === constraints Pull request #21931
- Store Git checkout markers outside working trees to avoid collisions Pull request #21891
- Add --output-format json to uv pip install and uv pip sync Pull request #21893
Uv 0.12.19 ships fixes for hash constraints, duplicate installations, and synthetic default groups in lockfiles. New --output-format json for pip install/sync and better handling of markers and equality constraints.
Uv 0.12.19 is out with several important fixes: hash constraint validation now works correctly for repeated requirements, synthetic default groups in pylock.toml are honored, and duplicate wheel installations that could race on Windows are prevented. We also added --output-format json to uv pip install and uv pip sync for structured output, improved marker handling for round-tripping, and fixed path discovery in Nushell activation scripts.