# uv 0.12.4 - Product: uv (https://whatsnew.fyi/product/uv) - Vendor: uv - Date: 2026-08-13 - Version: 0.12.4 - Original notes: https://github.com/astral-sh/uv/releases/tag/0.12.4 - Permalink: https://whatsnew.fyi/product/uv/releases/0.12.4 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. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **security** — Prefer post-quantum key exchange and enable opt-in TLS diagnostics - **changed** — Accept whitespace before versions in noncompliant wildcard comparisons such as `Requires-Python: >= 3.5.*` - **changed** — Report a specific error when a PEP 723 closing tag contains trailing whitespace or other content - **changed** — Omit source-span carets from diagnostics for empty PEP 508 requirements - **added** — Add `uv check --no-install-project` and respect `UV_NO_INSTALL_PROJECT` to install dependencies without building or installing the project - **changed** — Make the ty subprocess invoked by `uv check` honor uv's color and progress settings, including quiet mode - **changed** — Speed up resolutions with long runs of unavailable package versions by coalescing gaps in the resolver's version ranges - **changed** — Speed up Simple API parsing by deserializing PyPI and Pyx file metadata directly - **fixed** — Use windowed `pythonw.exe` launchers for virtual environments created from managed Python minor-version links - **fixed** — Allow `uv lock` to proceed when `.venv` is an unusable project environment - **fixed** — Respect `fork-strategy` when ordering forks created from `environments` or existing lockfile `resolution-markers` - **fixed** — Preserve consecutive wildcard Python minor-version exclusions such as `!=3.11.*, !=3.12.*` in `uv.lock` - **fixed** — Preserve inline comments on the final item in dependency arrays when `uv add` updates it - **fixed** — Recover from stale base-interpreter cache metadata when an existing virtual environment exposes a version mismatch - **fixed** — Prevent interpreter cache reuse across different `PYTHONEXECUTABLE` and `__PYVENV_LAUNCHER__` overrides - **fixed** — Show standard styling, usage guidance, and line termination for invalid `uv version --bump` values ##### Release Notes Released on 2026-08-13. ###### Enhancements - Prefer post-quantum key exchange and enable opt-in TLS diagnostics ([#21054](https://github.com/astral-sh/uv/pull/21054)) - Accept whitespace before versions in noncompliant wildcard comparisons such as `Requires-Python: >= 3.5.*` ([#21012](https://github.com/astral-sh/uv/pull/21012)) - Report a specific error when a PEP 723 closing tag contains trailing whitespace or other content ([#20944](https://github.com/astral-sh/uv/pull/20944)) - Omit source-span carets from diagnostics for empty PEP 508 requirements ([#21094](https://github.com/astral-sh/uv/pull/21094)) ###### Preview features - Add `uv check --no-install-project` and respect `UV_NO_INSTALL_PROJECT` to install dependencies without building or installing the project ([#21085](https://github.com/astral-sh/uv/pull/21085)) - Make the ty subprocess invoked by `uv check` honor uv's color and progress settings, including quiet mode ([#21086](https://github.com/astral-sh/uv/pull/21086)) ###### Performance - Speed up resolutions with long runs of unavailable package versions by coalescing gaps in the resolver's version ranges ([#20804](https://github.com/astral-sh/uv/pull/20804)) - Speed up Simple API parsing by deserializing PyPI and Pyx file metadata directly ([#21041](https://github.com/astral-sh/uv/pull/21041)) ###### Bug fixes - Use windowed `pythonw.exe` launchers for virtual environments created from managed Python minor-version links ([#19235](https://github.com/astral-sh/uv/pull/19235)) - Allow `uv lock` to proceed when `.venv` is an unusable project environment ([#21068](https://github.com/astral-sh/uv/pull/21068)) - Respect `fork-strategy` when ordering forks created from `environments` or existing lockfile `resolution-markers` ([#21000](https://github.com/astral-sh/uv/pull/21000)) - Preserve consecutive wildcard Python minor-version exclusions such as `!=3.11.*, !=3.12.*` in `uv.lock` ([#21045](https://github.com/astral-sh/uv/pull/21045)) - Preserve inline comments on the final item in dependency arrays when `uv add` updates it ([#21008](https://github.com/astral-sh/uv/pull/21008)) - Recover from stale base-interpreter cache metadata when an existing virtual environment exposes a version mismatch ([#21073](https://github.com/astral-sh/uv/pull/21073)) - Prevent interpreter cache reuse across different `PYTHONEXECUTABLE` and `__PYVENV_LAUNCHER__` overrides ([#21075](https://github.com/astral-sh/uv/pull/21075)) - Show standard styling, usage guidance, and line termination for invalid `uv version --bump` values ([#21076](https://github.com/astral-sh/uv/pull/21076)) ##### Install uv 0.12.4 ###### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.4/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.4/uv-installer.ps1 | iex" ``` ##### Download uv 0.12.4 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.4/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.4/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.4/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.4/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.12.4/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.12.4/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releas _[Truncated at 4000 characters — full notes: https://github.com/astral-sh/uv/releases/tag/0.12.4]_