Change8

0.6.15

📦 uvView on GitHub →
20 features🐛 28 fixes🔧 11 symbols

Summary

This release adds preliminary support for the PEP 751 `pylock.toml` format across export, compile, install, and sync commands, introduces several new environment variables and enhancements, and includes numerous bug fixes and documentation updates.

✨ New Features

  • Preliminary support for the `pylock.toml` file format (PEP 751) with export, compile, install and sync commands.
  • Added `UV_NO_EDITABLE` environment variable to globally set `--no-editable` on all invocations.
  • `uv export` now supports PEP 751 and can infer output type.
  • CLI now accepts `requirements.txt` verbatim as a format.
  • Added a brief sleep before sending SIGINT to child processes.
  • Upload time added to `uv.lock` files.
  • Git sources can be updated by name.
  • `uv init` caches the result of `which git`.
  • `--dry-run` now works with `--locked`/`--frozen` for `uv sync`.
  • `uv init` is resilient against broken git installations.
  • `uv run --with` now respects build constraints for dependencies.
  • `UV_INDEX` is split on all whitespace.
  • Build constraints are supported in `uv tool` and PEP723 scripts.
  • When searching for the uv binary, the suffix from the `uvx` binary is used.
  • Version formatting now uses cyan color.
  • Debug logs added for version file search.
  • Passwords are obfuscated in credentials debug messages.
  • Possible tokens are obfuscated in URL logs.
  • Validation added to ensure PEP 751 entries do not include multiple sources.
  • Preview feature: Build backend reference documentation and schema.

🐛 Bug Fixes

  • Aligned supported `config-settings` with the example in the documentation.
  • Ensured virtual environment is compatible with the interpreter on sync.
  • Fixed `PythonDownloadRequest` parsing for partial keys.
  • Fixed pre-release exclusive comparison operator in `uv-pep440`.
  • Forwarded additional signals to the child process in `uv run`.
  • Omitted PEP 751 version for source trees.
  • Patched `CC` and `CCX` entries in sysconfig for cross-compiled `aarch64` Python distributions.
  • Properly handled authentication for HTTP 302 redirect URLs.
  • Set 4MB stack size for all threads and introduced `UV_STACK_SIZE`.
  • Displayed PyPy downloads during `uv python list`.
  • Added `subdirectory` to Direct URL for local directories.
  • Preferred stable releases over pre-releases in `uv python install`.
  • Wrote requested Python variant to pin file in `uv init`.
  • Fixed `SourceNotAllowed` error message during Python discovery.
  • Fixed CLI reference with code block.
  • Fixed lockfile note.
  • Fixed typo in a reference.
  • Improved docs for `uv python list --only-downloads` and `--only-installed`.
  • Updated note on lack of musl distributions to ARM-only.
  • Added section on shebangs for scripts.
  • Displayed aliases for long and short args in the CLI reference.
  • Fixed highlight line in explicit index documentation.
  • Added explicit source matching PyTorch guide.
  • Fixed link to issue.
  • Fixed grammatical error in FastAPI guide.
  • Added `--locked` to `uv sync` in GitHub Actions guide.
  • Improved formatting for "all" `default-groups` setting documentation.
  • Replaced `--frozen` with `--locked` in Docker integration guide.

🔧 Affected Symbols

uv exportuv pip compileuv pip installuv pip syncuv runuv initPythonDownloadRequestuv.lockUV_NO_EDITABLEUV_STACK_SIZEUV_INDEX