# uv changelog > Extremely fast Python package installer and resolver, written in Rust - Vendor: uv - Category: Developer Tools - Official site: https://docs.astral.sh/uv/ - Tracked by: What's New (https://whatsnew.fyi/product/uv) - Harvested from: GitHub (astral-sh/uv) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### 0.12.1 - Date: 2026-07-31 - Version: 0.12.1 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.12.1 - Permalink: https://whatsnew.fyi/product/uv/releases/0.12.1 - **added** — Add package-specific pre-release policies with --prerelease-package - **added** — Support local HTML files as flat indexes - **added** — Add Xonsh virtual environment activation scripts (activate.xsh) - **added** — Add automatic fixes to uv check with --fix - **changed** — Preserve filesystem paths passed to uv add --index when updating pyproject.toml - **changed** — Parse canonical uv lockfiles directly, with a fallback for other valid TOML syntax - **changed** — Accelerate SHA-256 hashing on non-Windows ARM64 platforms - **fixed** — Flush shell startup file updates before uv tool update-shell and uv python update-shell exit - **fixed** — Make workspace-root dependency groups available to commands run from workspace members - **fixed** — Resolve --find-links paths in requirements files relative to the containing file - **fixed** — Respect configured indexes in uv tool list --outdated - **fixed** — Avoid rejecting unchanged metadata-free lockfiles when workspace dependencies share direct sources - **fixed** — Honor direct URL constraints when validating metadata-free lockfiles - **fixed** — Ignore malformed PEP 723 scripts discovered during project checks ##### Release Notes Released on 2026-07-31. ###### Enhancements - Add package-specific pre-release policies with `--prerelease-package` ([#20837](https://github.com/astral-sh/uv/pull/20837)) - Support local HTML files as flat indexes ([#20802](https://github.com/astral-sh/uv/pull/20802)) - Add Xonsh virtual environment activation scripts (`activate.xsh`) ([#19740](https://github.com/astral-sh/uv/pull/19740)) - Preserve filesystem paths passed to `uv add --index` when updating `pyproject.toml` ([#20817](https://github.com/astral-sh/uv/pull/20817)) ###### Preview features - Add automatic fixes to `uv check` with `--fix` ([#20793](https://github.com/astral-sh/uv/pull/20793)) - Avoid rejecting unchanged metadata-free lockfiles when workspace dependencies share direct sources ([#20847](https://github.com/astral-sh/uv/pull/20847)) - Honor direct URL constraints when validating metadata-free lockfiles ([#20796](https://github.com/astral-sh/uv/pull/20796)) - Ignore malformed PEP 723 scripts discovered during project checks ([#20784](https://github.com/astral-sh/uv/pull/20784)) - Use ty's native script exclusion in `uv check` ([#20742](https://github.com/astral-sh/uv/pull/20742)) ###### Performance - Parse canonical uv lockfiles directly, with a fallback for other valid TOML syntax ([#20648](https://github.com/astral-sh/uv/pull/20648)) - Accelerate SHA-256 hashing on non-Windows ARM64 platforms ([#20805](https://github.com/astral-sh/uv/pull/20805)) ###### Bug fixes - Flush shell startup file updates before `uv tool update-shell` and `uv python update-shell` exit ([#20842](https://github.com/astral-sh/uv/pull/20842)) - Make workspace-root dependency groups available to commands run from workspace members ([#20840](https://github.com/astral-sh/uv/pull/20840)) - Resolve `--find-links` paths in requirements files relative to the containing file ([#20832](https://github.com/astral-sh/uv/pull/20832)) - Respect configured indexes in `uv tool list --outdated` ([#20770](https://github.com/astral-sh/uv/pull/20770)) ###### Documentation - Document Astral GPU indexes in the PyTorch guide ([#20785](https://github.com/astral-sh/uv/pull/20785)) - Use consistent dependency-group argument descriptions throughout the CLI documentation ([#20823](https://github.com/astral-sh/uv/pull/20823)) ##### Install uv 0.12.1 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-installer.sh | sh ``` ###### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-installer.ps1 | iex" ``` ##### Download uv 0.12.1 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](h _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.12.1]_ ### 0.12.0 - Date: 2026-07-28 - Version: 0.12.0 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.12.0 - Permalink: https://whatsnew.fyi/product/uv/releases/0.12.0 - **changed** — Projects created with uv init now declare a build system using uv_build and are packaged by default, with source code placed in src/ and a project.scripts entry included - **removed** — Reject unsupported source distribution archive formats such as .tar.bz2 and .tar.xz, allowing only .tar.gz and legacy .zip formats - **removed** — Reject wheel and ZIP archive entries compressed with bzip2, LZMA, or XZ compression methods, requiring stored, DEFLATE, or zstd compression - **security** — Reject wheel files with case-insensitive variants of reserved interpreter names and wheel data files that could replace the Python interpreter - **changed** — Change pre-release handling default mode from if-necessary-or-explicit to if-necessary, preferring stable releases and falling back to pre-releases only when no stable candidate satisfies constraints ##### Release Notes Released on 2026-07-28. Since we released uv [0.11.0](https://github.com/astral-sh/uv/releases/tag/0.11.0) in March, we've accumulated changes that improve correctness, safety, and compatibility with specifications, but could break some workflows. This release contains those changes; many have been marked as breaking out of an abundance of caution. **We expect most users to be able to upgrade without making changes.** There are no breaking changes to the configuration of the [uv build backend](https://docs.astral.sh/uv/concepts/build-backend/). If your `[build-system]` table includes an upper bound on `uv_build`, update it to allow `uv_build` 0.12, e.g., `uv_build>=0.11.32,<0.13`. ###### Breaking changes - **Define build systems by default with `uv init`** ([#19197](https://github.com/astral-sh/uv/pull/19197)) Projects created with `uv init` now declare a build system and are packaged by default. This was the default project layout all the way back in [v0.3](https://github.com/astral-sh/uv/releases/tag/0.3.0), but we found that the use of the `hatchling` build system was confusing to newcomers and consequently dropped use of a build system by default in [v0.4](https://github.com/astral-sh/uv/releases/tag/0.4.0). Since then, we've created our own build system (`uv_build`) with tight integration with uv and are excited to restore the default to a best-practice project layout. Previously, `uv init example` created an unpackaged layout containing `main.py` and a `pyproject.toml` without a build system. The project could declare dependencies but was not itself installed into its virtual environment. Now, `uv init example` defines a `[build-system]` using `uv_build`, places application source code in `src/example`, and includes a `[project.scripts]` entry named `example`. Defining a build system allows the project to be imported from tests or other code, installed as a dependency, and run as a command: ```console $ uv init example $ cd example $ uv run example Hello from example! ``` Existing projects are unaffected. Use [`uv init --no-package example`](https://docs.astral.sh/uv/concepts/projects/init/#creating-a-project-without-a-build-system) to create the previous unpackaged layout without a build system. See the [project creation documentation](https://docs.astral.sh/uv/concepts/projects/init/#applications) for more details. This stabilizes the `packaged-init` preview feature. - **Reject unsupported source distribution and wheel archive formats** ([#18927](https://github.com/astral-sh/uv/pull/18927)) [PEP 625](https://peps.python.org/pep-0625/) requires [source distributions](https://docs.astral.sh/uv/concepts/resolution/#source-distribution) to use `.tar.gz` archives. Previously, uv also accepted legacy formats such as `.tar.bz2` and `.tar.xz`. Those formats are now rejected, including when referenced by an existing lockfile. Legacy `.zip` source distributions remain supported for backwards compatibility. Wheels and other ZIP archives can no longer contain entries compressed with bzip2, LZMA, or XZ. Entries must use the stored, DEFLATE, or zstd compression methods. Removing support for uncommon compression methods reduces uv's compression dependencies and the attack surface exposed when processing untrusted packages. You cannot opt out of this behavior. If you depend on a legacy source distribution that uses an unsupported format, we recommend rebuilding it as a `.tar.gz` archive and regenerating any lockfile containing references to the legacy archive. - **Reject wheel files that could replace the Python interpreter** ([#20748](https://github.com/astral-sh/uv/pull/20748), [#20749](https://github.com/astral-sh/uv/pull/20749)) uv already rejected wheel entry points named `python`, but case variants such as `Python` were still accepted. On case-insensitive filesystems, including common macOS and Windows setups, these entry points could overwrite the virtual _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.12.0]_ ### 0.11.33 - Date: 2026-07-28 - Version: 0.11.33 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.33 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.33 - **changed** — Abort panics in release builds for smaller uv binaries - **changed** — Use .tar.gz archives for Pyodide installs - **changed** — Avoid checking any scripts in uv check unless --script is passed - **added** — Check locked tools for malware before cache reuse - **changed** — Write and read package.metadata-free lockfiles - **fixed** — Correctly split dependencies into production and optional markers - **fixed** — Fix discrepancies in argument parsing of exclude-newer - **fixed** — Cleanup managed Python temporary directory on error ##### Release Notes Released on 2026-07-28. ###### Enhancements - Abort panics in release builds for smaller uv binaries ([#20271](https://github.com/astral-sh/uv/pull/20271)) - Use `.tar.gz` archives for Pyodide installs ([#20667](https://github.com/astral-sh/uv/pull/20667)) ###### Preview features - Avoid checking any scripts in `uv check` unless `--script` is passed ([#20676](https://github.com/astral-sh/uv/pull/20676)) - Check locked tools for malware before cache reuse ([#20301](https://github.com/astral-sh/uv/pull/20301)) - Write and read `package.metadata`-free lockfiles ([#20688](https://github.com/astral-sh/uv/pull/20688), [#20691](https://github.com/astral-sh/uv/pull/20691), [#20685](https://github.com/astral-sh/uv/pull/20685), [#20695](https://github.com/astral-sh/uv/pull/20695)) ###### Bug fixes - Correctly split dependencies into production and optional markers ([#20671](https://github.com/astral-sh/uv/pull/20671)) - Fix discrepancies in argument parsing of exclude-newer ([#20679](https://github.com/astral-sh/uv/pull/20679)) - Cleanup managed Python temporary directory on error ([#20752](https://github.com/astral-sh/uv/pull/20752)) ##### Install uv 0.11.33 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-installer.sh | sh ``` ###### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-installer.ps1 | iex" ``` ##### Download uv 0.11.33 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-x86_64-pc-windows-msvc.zip.sha256) | | [uv-aarch64-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [uv-i686-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-i686-unknown-linux-gnu.tar.gz.sha256) | | [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [uv-riscv64gc-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.33/uv-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://releases.astral.sh/ _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.33]_ ### 0.11.32 - Date: 2026-07-23 - Version: 0.11.32 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.32 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.32 - **added** — Add `--package` and `--all-packages` selection to `uv check` - **added** — Allow `uv upgrade` to update multiple marker-specific declarations of the same package - **added** — Reject non-canonically formatted lockfiles in `uv lock --check` and commands using `--locked` - **added** — Regenerate non-canonically formatted lockfiles with `uv lock --refresh` - **added** — Include best-effort information about the active environment in `uv workspace metadata` by default - **changed** — Skip dependency-group conflict expansion when no additional conflicts can be inferred - **fixed** — Fork universal resolutions when `Requires-Python` is discovered only from distribution metadata ##### Release Notes Released on 2026-07-23. ###### Preview features - Add `--package` and `--all-packages` selection to `uv check` ([#20628](https://github.com/astral-sh/uv/pull/20628)) - Allow `uv upgrade` to update multiple marker-specific declarations of the same package ([#20335](https://github.com/astral-sh/uv/pull/20335)) - Reject non-canonically formatted lockfiles in `uv lock --check` and commands using `--locked` ([#20646](https://github.com/astral-sh/uv/pull/20646)) - Regenerate non-canonically formatted lockfiles with `uv lock --refresh` ([#20634](https://github.com/astral-sh/uv/pull/20634)) - Include best-effort information about the active environment in `uv workspace metadata` by default ([#20643](https://github.com/astral-sh/uv/pull/20643)) ###### Performance - Skip dependency-group conflict expansion when no additional conflicts can be inferred ([#20611](https://github.com/astral-sh/uv/pull/20611)) ###### Bug fixes - Fork universal resolutions when `Requires-Python` is discovered only from distribution metadata ([#20586](https://github.com/astral-sh/uv/pull/20586)) ##### Install uv 0.11.32 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-installer.sh | sh ``` ###### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-installer.ps1 | iex" ``` ##### Download uv 0.11.32 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-x86_64-pc-windows-msvc.zip.sha256) | | [uv-aarch64-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [uv-i686-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-i686-unknown-linux-gnu.tar.gz.sha256) | | [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [uv-riscv64gc-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.32/uv-riscv64gc-unknown-linux-gn _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.32]_ ### 0.11.31 - Date: 2026-07-22 - Version: 0.11.31 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.31 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.31 - **added** — Allow workspace sources to reference members in another workspace by path - **added** — Support .venv files containing paths to centralized project environments - **added** — Add an index-specific hash-algorithm setting for lockfile generation - **added** — Add audit.malware-check and audit.malware-check-url settings - **changed** — Update bundled Windows timezone data to IANA 2026c - **changed** — Avoid quadratic work when deduplicating transitive conflicts - **fixed** — Suggest --emit-build-options for unsupported uv pip compile --emit-options - **fixed** — Reject source distributions and wheels with mismatched package names - **fixed** — Avoid retrying TLS certificate verification failures - **fixed** — Avoid warnings about uv_build settings for in-tree build backends ##### Release Notes Released on 2026-07-21. ###### Enhancements - Allow workspace sources to reference members in another workspace by path ([#18401](https://github.com/astral-sh/uv/pull/18401)) - Support `.venv` files containing paths to centralized project environments ([#20022](https://github.com/astral-sh/uv/pull/20022)) - Update bundled Windows timezone data to IANA 2026c ([#20554](https://github.com/astral-sh/uv/pull/20554)) ###### Preview features - Add an index-specific `hash-algorithm` setting for lockfile generation ([#20605](https://github.com/astral-sh/uv/pull/20605)) ###### Configuration - Add `audit.malware-check` and `audit.malware-check-url` settings ([#20587](https://github.com/astral-sh/uv/pull/20587)) ###### Performance - Avoid quadratic work when deduplicating transitive conflicts ([#20578](https://github.com/astral-sh/uv/pull/20578)) ###### Bug fixes - Suggest `--emit-build-options` for unsupported `uv pip compile --emit-options` ([#20582](https://github.com/astral-sh/uv/pull/20582)) - Reject source distributions and wheels with mismatched package names ([#20432](https://github.com/astral-sh/uv/pull/20432)) - Avoid retrying TLS certificate verification failures ([#16245](https://github.com/astral-sh/uv/pull/16245)) - Avoid warnings about `uv_build` settings for in-tree build backends ([#20153](https://github.com/astral-sh/uv/pull/20153)) ##### Install uv 0.11.31 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-installer.sh | sh ``` ###### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-installer.ps1 | iex" ``` ##### Download uv 0.11.31 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-x86_64-pc-windows-msvc.zip.sha256) | | [uv-aarch64-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [uv-i686-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-i686-unknown-linux-gnu.tar.gz.sha256) | | [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.31/uv-powerpc64le-unknown-lin _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.31]_ ### 0.11.30 - Date: 2026-07-20 - Version: 0.11.30 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.30 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.30 - **added** — Add CPython 3.15.0b4 - **added** — Allow `uv workspace metadata --sync` to target the active virtual environment with `--active` - **changed** — Reuse centralized project environments when workspaces are accessed through symlinks - **changed** — Skip resolver candidates whose files are all excluded by `exclude-newer` - **changed** — Limit parallel cache reads to reduce resolver scheduling and allocation overhead - **changed** — Accelerate lockfile serialization with `toml_writer` - **changed** — Compact cached Simple API distribution metadata and hashes - **changed** — Decode stale cache entries in a single blocking task - **changed** — Decode cached payloads outside resolver workers - **changed** — Cache resolver Python requirement markers - **changed** — Reuse resolver fork markers while recording preferences - **fixed** — Prevent skipped tar-wheel entries from causing unrelated files to be removed during uninstall - **fixed** — Preserve literal `extends-environment` paths in `pyvenv.cfg` on Unix ##### Release Notes Released on 2026-07-20. ###### Python - Add CPython 3.15.0b4 ([#20519](https://github.com/astral-sh/uv/pull/20519)) ###### Preview features - Allow `uv workspace metadata --sync` to target the active virtual environment with `--active` ([#20500](https://github.com/astral-sh/uv/pull/20500)) - Reuse centralized project environments when workspaces are accessed through symlinks ([#20436](https://github.com/astral-sh/uv/pull/20436)) ###### Performance - Skip resolver candidates whose files are all excluded by `exclude-newer` ([#20460](https://github.com/astral-sh/uv/pull/20460)) - Limit parallel cache reads to reduce resolver scheduling and allocation overhead ([#20427](https://github.com/astral-sh/uv/pull/20427)) - Accelerate lockfile serialization with `toml_writer` ([#20450](https://github.com/astral-sh/uv/pull/20450)) - Compact cached Simple API distribution metadata and hashes ([#20463](https://github.com/astral-sh/uv/pull/20463), [#20483](https://github.com/astral-sh/uv/pull/20483)) - Decode stale cache entries in a single blocking task ([#20486](https://github.com/astral-sh/uv/pull/20486)) - Decode cached payloads outside resolver workers ([#20464](https://github.com/astral-sh/uv/pull/20464)) - Cache resolver Python requirement markers ([#20461](https://github.com/astral-sh/uv/pull/20461)) - Reuse resolver fork markers while recording preferences ([#20462](https://github.com/astral-sh/uv/pull/20462)) ###### Bug fixes - Prevent skipped tar-wheel entries from causing unrelated files to be removed during uninstall ([#20429](https://github.com/astral-sh/uv/pull/20429)) - Preserve literal `extends-environment` paths in `pyvenv.cfg` on Unix ([#20466](https://github.com/astral-sh/uv/pull/20466)) ###### Documentation - Add a contribution guide ([#20511](https://github.com/astral-sh/uv/pull/20511), [#20552](https://github.com/astral-sh/uv/pull/20552)) ##### Install uv 0.11.30 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-installer.sh | sh ``` ###### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-installer.ps1 | iex" ``` ##### Download uv 0.11.30 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-x86_64-pc-windows-msvc.zip.sha256) | | [uv-aarch64-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.30/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [uv-i686-unk _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.30]_ ### 0.11.29 - Date: 2026-07-15 - Version: 0.11.29 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.29 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.29 - **changed** — Use gzip-compressed artifacts for PyPy downloads - **added** — Add JSON output to uv tree - **added** — Add CUDA 13.2 as a supported PyTorch backend - **changed** — Prefer local artifacts over URLs when installing from pylock.toml - **changed** — Clarify diagnostics for unsatisfiable direct requirement ranges - **changed** — Include the selected project name in missing-extra errors - **changed** — Preserve extras and dependency-group conflict context when selecting locked project tools - **fixed** — Split OSV audit queries that exceed the service's 1,000-package limit - **fixed** — Apply OSV fixed-version information only to the matching package and ecosystem - **fixed** — Skip the virtualenv distutils monkeypatch on Python 3.10 and later - **fixed** — Report invalid uv audit --service-url values instead of panicking - **changed** — Include preview settings in the published SchemaStore schema - **fixed** — Reduce resolver work by widening selected versions across ranges without other known candidates - **fixed** — Defer client and build setup for no-op uv sync operations - **fixed** — Reuse workspace discovery during frozen syncs - **fixed** — Reuse workspace discovery after resolving settings - **fixed** — Reuse workspace discovery in uv tree, uv export, uv format, and uv audit - **fixed** — Avoid cache and interpreter setup when reading a project version - **fixed** — Reject duplicate active package entries in pylock.toml ##### Release Notes Released on 2026-07-15. ###### Python - Use gzip-compressed artifacts for PyPy downloads ([#20265](https://github.com/astral-sh/uv/pull/20265)) ###### Enhancements - Add JSON output to `uv tree` ([#19978](https://github.com/astral-sh/uv/pull/19978)) - Add CUDA 13.2 as a supported PyTorch backend ([#20267](https://github.com/astral-sh/uv/pull/20267)) - Prefer local artifacts over URLs when installing from `pylock.toml` ([#20393](https://github.com/astral-sh/uv/pull/20393)) - Clarify diagnostics for unsatisfiable direct requirement ranges ([#20227](https://github.com/astral-sh/uv/pull/20227)) - Include the selected project name in missing-extra errors ([#20358](https://github.com/astral-sh/uv/pull/20358)) ###### Preview features - Preserve extras and dependency-group conflict context when selecting locked project tools ([#20078](https://github.com/astral-sh/uv/pull/20078)) - Split OSV audit queries that exceed the service's 1,000-package limit ([#20398](https://github.com/astral-sh/uv/pull/20398)) - Apply OSV fixed-version information only to the matching package and ecosystem ([#20399](https://github.com/astral-sh/uv/pull/20399)) - Skip the virtualenv distutils monkeypatch on Python 3.10 and later ([#20222](https://github.com/astral-sh/uv/pull/20222)) - Report invalid `uv audit --service-url` values instead of panicking ([#20374](https://github.com/astral-sh/uv/pull/20374)) - Include preview settings in the published SchemaStore schema ([#20304](https://github.com/astral-sh/uv/pull/20304)) ###### Performance - Reduce resolver work by widening selected versions across ranges without other known candidates ([#20115](https://github.com/astral-sh/uv/pull/20115)) - Defer client and build setup for no-op `uv sync` operations ([#20364](https://github.com/astral-sh/uv/pull/20364)) - Reuse workspace discovery during frozen syncs ([#20363](https://github.com/astral-sh/uv/pull/20363)) - Reuse workspace discovery after resolving settings ([#20356](https://github.com/astral-sh/uv/pull/20356)) - Reuse workspace discovery in `uv tree`, `uv export`, `uv format`, and `uv audit` ([#20359](https://github.com/astral-sh/uv/pull/20359)) - Avoid cache and interpreter setup when reading a project version ([#20360](https://github.com/astral-sh/uv/pull/20360)) ###### Bug fixes - Reject duplicate active package entries in `pylock.toml` ([#20391](https://github.com/astral-sh/uv/pull/20391)) - Preserve direct-archive hashes in `uv pip freeze` output ([#20395](https://github.com/astral-sh/uv/pull/20395)) - Explain conflicting root requirements instead of displaying an empty version range ([#20228](https://github.com/astral-sh/uv/pull/20228)) - Prevent build-backend data paths from escaping the project or bypassing wheel exclusions ([#20397](https://github.com/astral-sh/uv/pull/20397)) - Reject PEP 517 backend paths outside the source tree, including paths that escape through symlinks ([#20387](https://github.com/astral-sh/uv/pull/20387)) - Redact credentials from failed Git fetch commands ([#20401](https://github.com/astral-sh/uv/pull/20401)) - Fix exclusive post-release range ordering to match PEP 440 ([#20268](https://github.com/astral-sh/uv/pull/20268)) - Canonicalize equivalent PEP 440 ranges during dependency resolution ([#20182](https://github.com/astral-sh/uv/pull/20182)) - Honor Python version pins when initializing scripts ([#20404](https://github.com/astral-sh/uv/pull/20404)) - Respect package-scoped source filtering for scripts ([#20389](https://github.com/astral-sh/uv/pull/20389)) - Report existing environment incompatibilities when `uv pip install --strict` has nothing to install ([#20388](https://github.com/astral-sh/uv/pull/20388)) - Continue scanning `platlib` when `purelib` is missing ([#20405](https://github.com/astral-sh/uv/pull/20405)) - Handle versionless `.egg-info` files as legacy package metadata ([#20403](https://github.com/astral-sh/uv/pull/20403)) - Make repeated locking idempotent for impossible cro _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.29]_ ### 0.11.28 - Date: 2026-07-07 - Version: 0.11.28 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.28 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.28 - **security** — Update astral-async-zip to v0.0.20 to harden ZIP handling against parser differentials, which may cause rejection of ZIP archives with malformed or ambiguous content that were previously accepted - **changed** — Upgrade GraalPy to 25.1.3 - **changed** — Improve trace logs for unexpected error chains - **changed** — Move lockfile update guidance to a hint - **changed** — Preserve indentation for multiline error causes - **changed** — Render user errors with their cause chains - **changed** — Route final command errors through the printer to respect `-q` and `-qq` - **changed** — Use standard rendering for `uv build` errors - **changed** — Use standard rendering for tool requirement errors - **changed** — Only compile bytecode for installed distributions in `uv pip install` - **changed** — Avoid allocating URL-safe Git revisions - **changed** — Avoid allocating canonical Python request strings - **changed** — Avoid allocating custom Astral mirror URLs - **changed** — Optimize expanded tag compatibility checks - **changed** — Optimize parsing of single-digit three-part versions - **fixed** — Avoid overflow when computing HTTP cache age - **fixed** — Respect `--upgrade` when `upgrade-package` is configured - **fixed** — Support `uv tree` in dependency-group-only projects - **fixed** — Treat cache entries as stale at exact expiration ##### Release Notes Released on 2026-07-07. ###### Security This release updates our ZIP library, [astral-async-zip](https://github.com/astral-sh/rs-async-zip), to v0.0.20, which includes 15 changes that harden our ZIP handling against [parser differentials](https://www.brainonfire.net/blog/2022/04/11/what-is-parser-mismatch/). uv may reject ZIP archives with malformed or ambiguous content that were previously accepted. See the [upstream commits](https://github.com/astral-sh/rs-async-zip/compare/v0.0.18...v0.0.20) for a full list of changes. ###### Python - Upgrade GraalPy to 25.1.3 ([#20069](https://github.com/astral-sh/uv/pull/20069)) ###### Enhancements - Improve trace logs for unexpected error chains ([#20220](https://github.com/astral-sh/uv/pull/20220)) - Move lockfile update guidance to a hint ([#20219](https://github.com/astral-sh/uv/pull/20219)) - Preserve indentation for multiline error causes ([#20156](https://github.com/astral-sh/uv/pull/20156)) - Render user errors with their cause chains ([#20217](https://github.com/astral-sh/uv/pull/20217)) - Route final command errors through the printer to respect `-q` and `-qq` ([#20163](https://github.com/astral-sh/uv/pull/20163)) - Use standard rendering for `uv build` errors ([#20159](https://github.com/astral-sh/uv/pull/20159)) - Use standard rendering for tool requirement errors ([#20160](https://github.com/astral-sh/uv/pull/20160)) ###### Performance - Only compile bytecode for installed distributions in `uv pip install` ([#19914](https://github.com/astral-sh/uv/pull/19914)) - Avoid allocating URL-safe Git revisions ([#20194](https://github.com/astral-sh/uv/pull/20194)) - Avoid allocating canonical Python request strings ([#20193](https://github.com/astral-sh/uv/pull/20193)) - Avoid allocating custom Astral mirror URLs ([#20204](https://github.com/astral-sh/uv/pull/20204)) - Avoid allocating expanded compatibility tags ([#20190](https://github.com/astral-sh/uv/pull/20190)) - Avoid allocating shell strings that need no escaping ([#20196](https://github.com/astral-sh/uv/pull/20196)) - Avoid allocating static ABI descriptions ([#20201](https://github.com/astral-sh/uv/pull/20201)) - Avoid allocating static Windows executable names ([#20200](https://github.com/astral-sh/uv/pull/20200)) - Avoid allocating static dependency table names ([#20199](https://github.com/astral-sh/uv/pull/20199)) - Avoid allocating static platform triple components ([#20195](https://github.com/astral-sh/uv/pull/20195)) - Avoid allocating static resolver report labels ([#20198](https://github.com/astral-sh/uv/pull/20198)) - Avoid allocating static unavailable-version messages ([#20197](https://github.com/astral-sh/uv/pull/20197)) - Avoid allocating unchanged Python download architectures ([#20202](https://github.com/astral-sh/uv/pull/20202)) - Avoid allocating unchanged paths during case normalization ([#20203](https://github.com/astral-sh/uv/pull/20203)) - Avoid allocations when expanding group conflicts ([#20211](https://github.com/astral-sh/uv/pull/20211)) - Avoid allocations when formatting requirements ([#20206](https://github.com/astral-sh/uv/pull/20206)) - Avoid cloning credential lookup services ([#20210](https://github.com/astral-sh/uv/pull/20210)) - Avoid cloning dry-run distributions ([#20209](https://github.com/astral-sh/uv/pull/20209)) - Avoid cloning owned dependency metadata ([#20212](https://github.com/astral-sh/uv/pull/20212)) - Avoid redundant direct URL clones ([#20207](https://github.com/astral-sh/uv/pull/20207)) - Create metadata version errors lazily ([#20205](https://github.com/astral-sh/uv/pull/20205)) - Optimize expanded tag compatibility checks ([#20171](https://github.com/astral-sh/uv/pull/20171)) - Optimize parsing of single-digit three-part versions ([#20118](https://github.com/astral-sh/uv/pull/20118)) ###### Bug fixes - Avoid overflow when computing HTTP cache age ([#20178](https://github.com/astral-sh/uv/pull/20178)) - Respect `--upgrade` when `upgrade-packag _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.28]_ ### 0.11.27 - Date: 2026-07-06 - Version: 0.11.27 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.27 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.27 - **changed** — Continue on ignored errors when fetching wheel metadata - **changed** — Use caching for --python-downloads-json-url - **added** — Discover extensionless shebang scripts in uv workspace list --scripts - **changed** — Avoid full site-packages scans for direct reinstalls - **changed** — Avoid redundant pyproject parsing - **changed** — Cache default dependency markers when reading locks - **changed** — Enable SIMD-accelerated TOML parsing - **changed** — Intern requires-python specifiers in Simple API parsing - **changed** — Read cache entries into exact-sized buffers - **changed** — Reduce VersionSpecifiers parsing allocations - **changed** — Reduce site-packages scan allocation overhead - **changed** — Reuse package names when parsing wheel filenames - **changed** — Sort Simple API files after grouping - **fixed** — Always emit packages table for pylock.toml - **fixed** — Avoid blank line for empty uv pip tree - **fixed** — Encode hashes in file paths - **fixed** — Error on a registry uv.lock package without a version instead of panicking - **fixed** — Preserve conditional extra markers in exports - **fixed** — Skip the ambiguous authority check for file transport VCS URLs - **fixed** — Sync index format when uv add --index updates an existing index URL - **changed** — Re-add pub APIs used in Pixi ##### Release Notes Released on 2026-07-06. ###### Enhancements - Continue on ignored errors when fetching wheel metadata ([#12255](https://github.com/astral-sh/uv/pull/12255)) - Use caching for `--python-downloads-json-url` ([#16749](https://github.com/astral-sh/uv/pull/16749)) ###### Preview features - Discover extensionless shebang scripts in `uv workspace list --scripts` ([#20099](https://github.com/astral-sh/uv/pull/20099)) ###### Performance - Avoid full site-packages scans for direct reinstalls ([#20119](https://github.com/astral-sh/uv/pull/20119)) - Avoid redundant pyproject parsing ([#20076](https://github.com/astral-sh/uv/pull/20076)) - Cache default dependency markers when reading locks ([#20125](https://github.com/astral-sh/uv/pull/20125)) - Enable SIMD-accelerated TOML parsing ([#20079](https://github.com/astral-sh/uv/pull/20079)) - Intern `requires-python` specifiers in Simple API parsing ([#20104](https://github.com/astral-sh/uv/pull/20104)) - Read cache entries into exact-sized buffers ([#20120](https://github.com/astral-sh/uv/pull/20120)) - Reduce VersionSpecifiers parsing allocations ([#20105](https://github.com/astral-sh/uv/pull/20105)) - Reduce site-packages scan allocation overhead ([#20087](https://github.com/astral-sh/uv/pull/20087)) - Reuse package names when parsing wheel filenames ([#20110](https://github.com/astral-sh/uv/pull/20110)) - Sort Simple API files after grouping ([#20112](https://github.com/astral-sh/uv/pull/20112)) ###### Bug fixes - Always emit `packages` table for pylock.toml ([#20145](https://github.com/astral-sh/uv/pull/20145)) - Avoid blank line for empty `uv pip tree` ([#20062](https://github.com/astral-sh/uv/pull/20062)) - Encode hashes in file paths ([#19807](https://github.com/astral-sh/uv/pull/19807)) - Error on a registry uv.lock package without a version instead of panicking ([#19855](https://github.com/astral-sh/uv/pull/19855)) - Preserve conditional extra markers in exports ([#20148](https://github.com/astral-sh/uv/pull/20148)) - Skip the ambiguous authority check for file transport VCS URLs ([#20086](https://github.com/astral-sh/uv/pull/20086)) - Sync index format when `uv add --index` updates an existing index URL ([#19818](https://github.com/astral-sh/uv/pull/19818)) ###### Other changes - Re-add `pub` APIs used in Pixi ([#20074](https://github.com/astral-sh/uv/pull/20074)) - Update Rust toolchain to 1.96.1 ([#20103](https://github.com/astral-sh/uv/pull/20103)) ##### Install uv 0.11.27 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-installer.sh | sh ``` ###### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-installer.ps1 | iex" ``` ##### Download uv 0.11.27 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.27/uv-i686-pc-windows-msvc.z _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.27]_ ### 0.11.26 - Date: 2026-06-30 - Version: 0.11.26 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.11.26 - Permalink: https://whatsnew.fyi/product/uv/releases/0.11.26 - **changed** — Adapt uv to IDs-only PubGrub dependencies - **changed** — Avoid allocations in ForkMap::contains - **changed** — Reuse resolver work across PubGrub iterations - **changed** — Speed up candidate selection for disjoint ranges - **fixed** — Warn when the build cache is inside the source directory ##### Release Notes Released on 2026-06-30. ###### Performance - Adapt uv to IDs-only PubGrub dependencies ([#20048](https://github.com/astral-sh/uv/pull/20048)) - Avoid allocations in `ForkMap::contains` ([#20023](https://github.com/astral-sh/uv/pull/20023)) - Reuse resolver work across PubGrub iterations ([#20020](https://github.com/astral-sh/uv/pull/20020)) - Speed up candidate selection for disjoint ranges ([#20026](https://github.com/astral-sh/uv/pull/20026)) ###### Bug fixes - Warn when the build cache is inside the source directory ([#20056](https://github.com/astral-sh/uv/pull/20056)) ##### Install uv 0.11.26 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-installer.sh | sh ``` ###### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-installer.ps1 | iex" ``` ##### Download uv 0.11.26 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-pc-windows-msvc.zip.sha256) | | [uv-aarch64-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [uv-i686-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-i686-unknown-linux-gnu.tar.gz.sha256) | | [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [uv-riscv64gc-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [uv-s390x-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-s390x-unknown-linux-gnu.tar.gz.sha256) | | [uv-x86_64-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/do _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.11.26]_