0.12.24
astral-sh/uv0.12.24Oct 8, 2026by astral-releases-bot[bot]
Upgrading?
AI Summary
This release focuses on significant performance improvements, including a reduced binary size and faster command execution via interpreter caching. It introduces support for custom installation mirrors for GraalPy and Pyodide, enhances error reporting, and refines configuration handling.
Key Highlights
- Speed up later commands by warming the interpreter cache after creating an environment.
- Reduce uv's binary size by approximately 232 KB through configuration deserialization simplification.
- Support custom installation mirrors for GraalPy and Pyodide interpreters.
- Reject malformed requirements-file options instead of partially parsing them.
- Enforce resource limits when parsing package indexes and `--find-links` pages.
New Features
- Display preferred advisory IDs in `uv audit` reports, prioritizing PYSEC, GHSA, then CVE identifiers.
- Support custom installation mirrors for GraalPy.
- Support custom installation mirrors for Pyodide.
- Accept PEP 508 marker operators directly before grouped expressions.
- Speed up later commands after creating an environment by warming its interpreter cache.
Full Release Notes
## Release Notes Released on 2026-10-08. ### Enhancements - Remove orphaned temporary build environments with `uv cache prune` ([#22171](https://github.com/astral-sh/uv/pull/22171)) - Accept PEP 508 marker operators directly before grouped expressions ([#22309](https://github.com/astral-sh/uv/pull/22309)) - Reject malformed requirements-file options instead of partially parsing or ignoring them ([#22317](https://github.com/astral-sh/uv/pull/22317)) - Show underlying filesystem and registry errors when managed Python uninstallation fails ([#22362](https://github.com/astral-sh/uv/pull/22362)) - Identify the invalid source URL in Python mirror errors ([#22364](https://github.com/astral-sh/uv/pull/22364)) ### Preview features - Display preferred advisory IDs in `uv audit` reports, prioritizing PYSEC, GHSA, then CVE identifiers ([#22292](https://github.com/astral-sh/uv/pull/22292)) ### Configuration - Support custom installation mirrors for GraalPy ([#22269](https://github.com/astral-sh/uv/pull/22269)) - Support custom installation mirrors for Pyodide ([#22271](https://github.com/astral-sh/uv/pull/22271)) - Allow `UV_NO_CACHE=false` to override `no-cache = true` in configuration ([#22324](https://github.com/astral-sh/uv/pull/22324)) - Report more precise error locations for invalid trusted-host ports and preview-feature list entries ([#22144](https://github.com/astral-sh/uv/pull/22144)) ### Performance - Speed up later commands after creating an environment by warming its interpreter cache ([#21304](https://github.com/astral-sh/uv/pull/21304)) - Reduce code-signature verification work for ARM64 macOS releases with 16 KiB signature pages ([#22246](https://github.com/astral-sh/uv/pull/22246)) - Enforce resource limits when parsing package indexes and `--find-links` pages with `astral-html` ([#22203](https://github.com/astral-sh/uv/pull/22203)) - Reduce standalone `uv-build` executable size by 7.5% by omitting unused Zstandard support ([#22242](https://github.com/astral-sh/uv/pull/22242)) - Reduce uv's binary size by about 232 KB by simplifying configuration deserialization ([#22144](https://github.com/astral-sh/uv/pull/22144)) - Reduce Python download error formatting code size by sharing its formatter ([#22141](https://github.com/astral-sh/uv/pull/22141)) ### Bug fixes - Verify supplied hashes even when hash presence is disabled with `--no-require-hashes` or `require-hashes = false` ([#22369](https://github.com/astral-sh/uv/pull/22369)) - Honor exact managed Python patch pins when creating script environments instead of following patch upgrades ([#22360](https://github.com/astral-sh/uv/pull/22360)) - Prevent dependency overrides and constraints from activating optional dependencies when their extras are not selected ([#22237](https://github.com/astral-sh/uv/pull/22237)) - Exclude optional dependencies from exports when their extras are activated only in incompatible environments ([#22234](https://github.com/astral-sh/uv/pull/22234)) - Give explicit `uv publish --trusted-publishing` values precedence over configuration ([#22279](https://github.com/astral-sh/uv/pull/22279)) - Allow `UV_OFFLINE=false` to override `offline = true` in configuration ([#22283](https://github.com/astral-sh/uv/pull/22283)) - Allow `UV_SYSTEM_CERTS=false` to override `system-certs = true` in configuration ([#22291](https://github.com/astral-sh/uv/pull/22291)) - Allow `uv auth login` over IPv6 loopback addresses ([#22306](https://github.com/astral-sh/uv/pull/22306)) - Resolve GitHub dependencies whose Git references contain `#` or `%` characters ([#22281](https://github.com/astral-sh/uv/pull/22281)) - Recognize existing Pyodide interpreters as satisfying Pyodide Python requests ([#22322](https://github.com/astral-sh/uv/pull/22322)) - Preserve JSON output from `uv version` and `uv self version` with a single `--quiet` flag ([#22280](https://github.com/astral-sh/uv/pull/22280)) - Preserve trailing spaces and tabs in passwords returned by subprocess keyrings ([#22284](https://github.com/astral-sh/uv/pull/22284)) - Restore wheel incompatibility hints when `WHEEL` metadata contains multiple expanded `Tag:` rows ([#22235](https://github.com/astral-sh/uv/pull/22235)) - Preserve Windows wheel-script rename errors unless a cross-drive copy fallback applies ([#22302](https://github.com/astral-sh/uv/pull/22302)) - Prevent workspace-cache assertion failures after modifying a project at the workspace root ([#22236](https://github.com/astral-sh/uv/pull/22236)) - Hide the ignored `--keyring-provider` option from `uv auth` help ([#19520](https://github.com/astral-sh/uv/pull/19520)) - Report HTTP client setup failures directly when resolving unnamed `uv tool` requirements ([#22320](https://github.com/astral-sh/uv/pull/22320)) ### Documentation - Update Docker and AWS Lambda examples to cache dependency layers using frozen lockfiles without project manifests ([#22172](https://github.com/astral-sh/uv/pull/22172)) - Fix stale links and descriptions in Rust crate documentation ([#22311](https://github.com/astral-sh/uv/pull/22311), [#22361](https://github.com/astral-sh/uv/pull/22361)) - Fix a typo in the `required-environments` documentation ([#22238](https://github.com/astral-sh/uv/pull/22238)) ## Install uv 0.12.24 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.24/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.24/uv-installer.ps1 | iex" ``` ## Download uv 0.12.24 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-x86_64-pc-windows-msvc.zip.sha256) | | [uv-aarch64-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [uv-i686-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-i686-unknown-linux-gnu.tar.gz.sha256) | | [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [uv-riscv64gc-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [uv-s390x-unknown-linux-gnu.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/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.12.24/uv-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [uv-aarch64-unknown-linux-musl.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-aarch64-unknown-linux-musl.tar.gz.sha256) | | [uv-i686-unknown-linux-musl.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-i686-unknown-linux-musl.tar.gz.sha256) | | [uv-riscv64gc-unknown-linux-musl.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-riscv64gc-unknown-linux-musl.tar.gz) | RISCV MUSL Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-riscv64gc-unknown-linux-musl.tar.gz.sha256) | | [uv-x86_64-unknown-linux-musl.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-x86_64-unknown-linux-musl.tar.gz.sha256) | | [uv-arm-unknown-linux-musleabihf.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [uv-armv7-unknown-linux-musleabihf.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.24/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) | ## 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](https://cli.github.com/manual/gh_attestation_verify): ```sh gh attestation verify <file-path of downloaded artifact> --repo astral-sh/uv ``` You can also download the attestation from [GitHub](https://github.com/astral-sh/uv/attestations) and verify against that directly: ```sh gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> ```
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one