Sourced from astral-sh/uv's releases.
0.12.24
Release Notes
Released on 2026-10-08.
Enhancements
- Remove orphaned temporary build environments with
uv cache prune(#22171)- Accept PEP 508 marker operators directly before grouped expressions (#22309)
- Reject malformed requirements-file options instead of partially parsing or ignoring them (#22317)
- Show underlying filesystem and registry errors when managed Python uninstallation fails (#22362)
- Identify the invalid source URL in Python mirror errors (#22364)
Preview features
- Display preferred advisory IDs in
uv auditreports, prioritizing PYSEC, GHSA, then CVE identifiers (#22292)Configuration
- Support custom installation mirrors for GraalPy (#22269)
- Support custom installation mirrors for Pyodide (#22271)
- Allow
UV_NO_CACHE=falseto overrideno-cache = truein configuration (#22324)- Report more precise error locations for invalid trusted-host ports and preview-feature list entries (#22144)
Performance
- Speed up later commands after creating an environment by warming its interpreter cache (#21304)
- Reduce code-signature verification work for ARM64 macOS releases with 16 KiB signature pages (#22246)
- Enforce resource limits when parsing package indexes and
--find-linkspages withastral-html(#22203)- Reduce standalone
uv-buildexecutable size by 7.5% by omitting unused Zstandard support (#22242)- Reduce uv's binary size by about 232 KB by simplifying configuration deserialization (#22144)
- Reduce Python download error formatting code size by sharing its formatter (#22141)
Bug fixes
- Verify supplied hashes even when hash presence is disabled with
--no-require-hashesorrequire-hashes = false(#22369)- Honor exact managed Python patch pins when creating script environments instead of following patch upgrades (#22360)
- Prevent dependency overrides and constraints from activating optional dependencies when their extras are not selected (#22237)
- Exclude optional dependencies from exports when their extras are activated only in incompatible environments (#22234)
- Give explicit
uv publish --trusted-publishingvalues precedence over configuration (#22279)- Allow
UV_OFFLINE=falseto overrideoffline = truein configuration (#22283)- Allow
UV_SYSTEM_CERTS=falseto overridesystem-certs = truein configuration (#22291)- Allow
uv auth loginover IPv6 loopback addresses (#22306)- Resolve GitHub dependencies whose Git references contain
#or%characters (#22281)- Recognize existing Pyodide interpreters as satisfying Pyodide Python requests (#22322)
- Preserve JSON output from
uv versionanduv self versionwith a single--quietflag (#22280)- Preserve trailing spaces and tabs in passwords returned by subprocess keyrings (#22284)
- Restore wheel incompatibility hints when
WHEELmetadata contains multiple expandedTag:rows (#22235)- Preserve Windows wheel-script rename errors unless a cross-drive copy fallback applies (#22302)
- Prevent workspace-cache assertion failures after modifying a project at the workspace root (#22236)
... (truncated)
Sourced from astral-sh/uv's changelog.
0.12.24
Released on 2026-10-08.
Enhancements
- Remove orphaned temporary build environments with
uv cache prune(#22171)- Accept PEP 508 marker operators directly before grouped expressions (#22309)
- Reject malformed requirements-file options instead of partially parsing or ignoring them (#22317)
- Show underlying filesystem and registry errors when managed Python uninstallation fails (#22362)
- Identify the invalid source URL in Python mirror errors (#22364)
Preview features
- Display preferred advisory IDs in
uv auditreports, prioritizing PYSEC, GHSA, then CVE identifiers (#22292)Configuration
- Support custom installation mirrors for GraalPy (#22269)
- Support custom installation mirrors for Pyodide (#22271)
- Allow
UV_NO_CACHE=falseto overrideno-cache = truein configuration (#22324)- Report more precise error locations for invalid trusted-host ports and preview-feature list entries (#22144)
Performance
- Speed up later commands after creating an environment by warming its interpreter cache (#21304)
- Reduce code-signature verification work for ARM64 macOS releases with 16 KiB signature pages (#22246)
- Enforce resource limits when parsing package indexes and
--find-linkspages withastral-html(#22203)- Reduce standalone
uv-buildexecutable size by 7.5% by omitting unused Zstandard support (#22242)- Reduce uv's binary size by about 232 KB by simplifying configuration deserialization (#22144)
- Reduce Python download error formatting code size by sharing its formatter (#22141)
Bug fixes
- Verify supplied hashes even when hash presence is disabled with
--no-require-hashesorrequire-hashes = false(#22369)- Honor exact managed Python patch pins when creating script environments instead of following patch upgrades (#22360)
- Prevent dependency overrides and constraints from activating optional dependencies when their extras are not selected (#22237)
- Exclude optional dependencies from exports when their extras are activated only in incompatible environments (#22234)
- Give explicit
uv publish --trusted-publishingvalues precedence over configuration (#22279)- Allow
UV_OFFLINE=falseto overrideoffline = truein configuration (#22283)- Allow
UV_SYSTEM_CERTS=falseto overridesystem-certs = truein configuration (#22291)- Allow
uv auth loginover IPv6 loopback addresses (#22306)- Resolve GitHub dependencies whose Git references contain
#or%characters (#22281)- Recognize existing Pyodide interpreters as satisfying Pyodide Python requests (#22322)
- Preserve JSON output from
uv versionanduv self versionwith a single--quietflag (#22280)- Preserve trailing spaces and tabs in passwords returned by subprocess keyrings (#22284)
- Restore wheel incompatibility hints when
WHEELmetadata contains multiple expandedTag:rows (#22235)- Preserve Windows wheel-script rename errors unless a cross-drive copy fallback applies (#22302)
- Prevent workspace-cache assertion failures after modifying a project at the workspace root (#22236)
- Hide the ignored
--keyring-provideroption fromuv authhelp (#19520)
... (truncated)
5411378
Bump version to 0.12.24 (#22371)213e6de
Clarify integration test style in agent guidance (#22372)35deef2
Skip Python setup in static version and credential tests (#22370)bbddf2f
Share requirements-file arguments across commands (#22145)9a123eb
Deserialize trusted hosts and preview features directly (#22144)57a9256
Share archive decoding across reader types (#22143)3e3374b
Verify hashes even when they are not required (#22369)d3c092a
Move installation layout operations out of Python types (#22367)1be3e88
Accept PEP 508 marker operators before parentheses (#22309)e27def7
Retain Python download request errors directly (#22366)