Change8

0.12.6

📦 uvView on GitHub →
7 features🐛 11 fixes🔧 6 symbols

Summary

This release updates Python dependencies, enhances cache reporting, and introduces new preview features for workspace management and artifact filtering. It also includes significant performance improvements through profile-guided optimization on various platforms and numerous bug fixes.

Migration Steps

  1. Raise the minimum supported Rust version to 1.96.

✨ New Features

  • Add `uv workspace metadata --sync --exact` to remove packages outside the selected resolution.
  • Add the `artifact-hash-filtering` preview feature to make `uv pip compile --generate-hashes` honor `--only-binary` and `--no-binary`.
  • Respect package-specific `exclude-newer` cutoffs when `uv check` selects its `ty` executable.
  • Preserve virtual-environment hints from `tar-codec` source-distribution errors when the base interpreter is outside a `bin` directory.
  • Report cache-cleaning space savings from filesystem block allocation and avoid double-counting hard links.
  • Limit warnings about unbounded `uv_build` requirements to source-distribution builds.
  • Display byte counts below 1 KiB without a fractional part.

🐛 Bug Fixes

  • Allow explicit `uv build` and non-editable first-party workspace packages when `no-build` is enabled.
  • Reuse configured index credentials during `uv tool upgrade` when the tool receipt references the same index.
  • Ensure full 40-character Git commit pins resolve to the requested object instead of a SHA-named branch.
  • Prevent TLS segfaults in riscv64 musl release binaries.
  • Preserve dependencies selected by recursive extras when markers mix production and extra conditions.
  • Preserve version constraints from transitively referenced recursive extras.
  • Resolve repository-relative Git archive dependencies inside the checkout during the initial `uv sync`.
  • Return an error instead of panicking when a bearer token cannot be encoded as an HTTP header.
  • Do not misclassify package URLs ending in `.py` as local script paths.
  • Use directory creation times consistently across libc implementations for directory `cache-keys` entries.
  • Promote human-readable sizes to the next unit at rounding boundaries.

Affected Symbols