Skip to main content

uv 0.12.6

Release Date: August 25, 2026

Astral has released uv 0.12.6, a patch release for the Python package and project manager, published on August 25, 2026. This update focuses on performance engineering, dependency-resolution correctness, and hardening across build, sync, and tool workflows.

Security and Runtime Updates

The bundled CPython build now ships with OpenSSL 3.5.8 and libffi 3.4.8, pulling in the latest upstream fixes for Python environments created by uv. In addition, uv 0.12.6 adds Python 3.15 release-candidate Docker images so early adopters can test the upcoming interpreter before it lands.

Enhancements

  • Cache cleaning now reports space savings from filesystem block allocation and avoids double-counting hard links.
  • Warnings about unbounded uv_build requirements are limited to source-distribution builds, cutting noise for wheel-based projects.
  • Byte counts below 1 KiB display without a fractional part, and human-readable sizes promote to the next unit at rounding boundaries.

Preview Features

  • uv workspace metadata --sync --exact removes packages outside the selected resolution.
  • A new artifact-hash-filtering preview lets uv pip compile --generate-hashes honor --only-binary and --no-binary.
  • uv check respects package-specific exclude-newer cutoffs when selecting its type-checking executable.
  • Virtual-environment hints are preserved from tar-codec source-distribution errors when the base interpreter sits outside a bin directory.

Performance

Profile-guided optimization is now enabled for Linux, Windows, and macOS x86-64 binaries as well as Linux ARM64, following the pattern set for earlier tooling. Syncing projects with many activated conflict items also got faster by reusing their encoded representation.

Bug Fixes

  • Explicit uv build and non-editable first-party workspace packages work with no-build enabled.
  • uv tool upgrade reuses configured index credentials when the tool receipt references the same index.
  • Full 40-character Git commit pins resolve to the requested object instead of a SHA-named branch.
  • A potential TLS segfault in riscv64 musl release binaries is fixed.
  • Dependencies selected by recursive extras are preserved when markers mix production and extra conditions, and version constraints from transitively referenced recursive extras are honored.
  • Repository-relative Git archive dependencies resolve inside the checkout during the initial uv sync.
  • uv returns a clear error instead of panicking when a bearer token cannot be encoded as an HTTP header.
  • Package URLs ending in .py are no longer misclassified as local script paths.
  • Directory creation times are used consistently across libc implementations for cache-keys entries.

Upgrade

Run uv self update (or your preferred installation method) to upgrade to uv 0.12.6. Preview features require opting in via your configuration file.

What is New?

By continuing to use the site, you agree to the use of cookies.