Skip to main content

uv 0.12.9

Release Date: September 1, 2026

I upgraded three Python projects to uv 0.12.9 today, and the lock-mode flags alone were worth the install. Released September 1, 2026, this patch is small but practical: one new CPython build, two CLI conveniences, and a handful of install-speed and security fixes.

The Stuff You Will Actually Use

The headline for me is the new one-shot lock overrides. If your CI sets UV_LOCKED or UV_FROZEN globally, you can now pass --no-locked or --no-frozen on a single invocation to disable that policy just for that command. That is handy for ad-hoc experiments without editing CI yaml. uv also reports the exact lock-mode flag that is active in warnings and errors, so the messages now tell you which configuration key is controlling the behavior.

Performance Pass

Cold wheel installs got a real speedup. The installer now extracts each streaming ZIP archive in a single blocking task and reuses buffers across files, which cuts the per-wheel overhead on first install. It also stops concurrent uv processes from redundantly extracting the same local or source-built wheel.

Security and Correctness Fixes

  • Memory safety: async_http_range_reader bumps to 0.11.1, closing a potential memory-safety issue when reading metadata ranges from untrusted wheels.
  • Header leaks: sensitive headers are removed when redirects cross authentication realms, including same-host redirects that change URL schemes.
  • Secrets in logs: signed URLs are redacted from retry diagnostics, including nested request errors.
  • Flag precedence: --locked, --frozen, --check, and --check-exists now override conflicting UV_LOCKED and UV_FROZEN environment values.

Verdict

0.12.9 is a low-risk upgrade. If you use uv in CI or install wheels from external indexes, apply it. The lock-mode precedence fix and the redaction changes are the two that might silently improve your workflow without you noticing.

What is New?

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