Change8

0.12.4

📦 uvView on GitHub →
6 features🐛 8 fixes🔧 6 symbols

Summary

This release introduces several enhancements including post-quantum key exchange, improved version parsing, and better error reporting. It also brings performance improvements to resolution and Simple API parsing, alongside various bug fixes.

✨ New Features

  • Prefer post-quantum key exchange and enable opt-in TLS diagnostics.
  • Accept whitespace before versions in noncompliant wildcard comparisons such as `Requires-Python: >= 3.5.*`.
  • Report a specific error when a PEP 723 closing tag contains trailing whitespace or other content.
  • Omit source-span carets from diagnostics for empty PEP 508 requirements.
  • Add `uv check --no-install-project` and respect `UV_NO_INSTALL_PROJECT` to install dependencies without building or installing the project.
  • Make the ty subprocess invoked by `uv check` honor uv's color and progress settings, including quiet mode.

🐛 Bug Fixes

  • Use windowed `pythonw.exe` launchers for virtual environments created from managed Python minor-version links.
  • Allow `uv lock` to proceed when `.venv` is an unusable project environment.
  • Respect `fork-strategy` when ordering forks created from `environments` or existing lockfile `resolution-markers`.
  • Preserve consecutive wildcard Python minor-version exclusions such as `!=3.11.*, !=3.12.*` in `uv.lock`.
  • Preserve inline comments on the final item in dependency arrays when `uv add` updates it.
  • Recover from stale base-interpreter cache metadata when an existing virtual environment exposes a version mismatch.
  • Prevent interpreter cache reuse across different `PYTHONEXECUTABLE` and `__PYVENV_LAUNCHER__` overrides.
  • Show standard styling, usage guidance, and line termination for invalid `uv version --bump` values.

Affected Symbols