Change8

0.5.31

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

Summary

uv 0.5.31 adds several enhancements like `uv sync --script`, PEP 508 support, stable script venv directories, and updates the bundled Python to 3.14a5 and OpenSSL to 3.0.16, along with assorted bug fixes.

✨ New Features

  • Add `uv sync --script` command.
  • Support PEP 508 requirements in tool requests.
  • Allow source distributions to produce wheels with `+local` suffixes.
  • Bring parity to `uvx` and `uv tool install` requests.
  • Use a stable directory for local, remote, and stdin script virtual environments.
  • Detect infinite recursion in `uv run`.
  • Update managed Python distributions to include CPython 3.14.0a5 with tail calling interpreter.
  • Update bundled OpenSSL to version 3.0.16, fixing security advisory.

🐛 Bug Fixes

  • Fix cross-drive script installation.
  • Add indexes in priority order.
  • Allow `--python <dir>` requests to match existing environments if `sys.executable` is the same file.
  • Avoid comparing to system site packages in `--dry-run` mode.
  • Prefer running executables in the environment with `<name>` over `<name>/__main__.py`.
  • Retry local clones without hardlinks if they fail.

🔧 Affected Symbols

uv syncuv runuvxuv tool installscript virtual environment handling