Change8

0.11.21

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

Summary

This release (0.11.21) adds support for new CPython versions (3.13.14, 3.14.6) and introduces several preview features related to workspace metadata and dependency upgrades. It also includes extensive bug fixes focused on improving cache robustness and hardening parsing across metadata and requirements.

✨ New Features

  • Added support for CPython 3.13.14 and 3.14.6.
  • Preview feature: Added `environment.root` to `uv workspace metadata --sync`.
  • Preview feature: Allowed `uv upgrade` to update a single dependency constraint.
  • Preview feature: Compute and pass `uv workspace metadata` payload in `ty check`.
  • Preview feature: Made packaged applications the default for `uv init`.
  • Performance improvement: Added parallel discovery of Python versions for `uv python list`.

🐛 Bug Fixes

  • Improved cache robustness and pruning behavior, including allowing CI cache pruning without an sdist bucket, avoiding overflow when reading malformed cache entries, preserving cached Python downloads during pruning, and rejecting running inside the cache.
  • Fixed Python discovery and version request edge cases, including avoiding panics for Unicode Python version requests, fixing handling of non-critical errors in `uv python list` with path requests, and fixing stop-discovery-at regression.
  • Hardened parsing and validation for package metadata, requirements, markers, URLs, and conflict sets by allowing trailing commas in version specifiers, avoiding panics for invalid UTF-8 URL credentials, avoiding panics for malformed source distribution filenames, avoiding panics for trailing extra separators, avoiding stack overflow for recursive requirements path aliases, ignoring reversed string compatible-release markers, rejecting duplicate entries in conflict sets, rejecting malformed hash options in requirements files, rejecting source distribution filenames without a separator, and using UTF-8 lengths/byte offsets for various requirement errors.
  • Validated GraalPy ABI suffixes.
  • Improved wheel entry-point error handling and virtual environment activation quoting by propagating errors when reading wheel entry points and quoting virtual environment activation paths with shell metacharacters.

Affected Symbols