Change8

0.8.18

📦 uvView on GitHub →
20 features🐛 11 fixes2 deprecations🔧 12 symbols

Summary

uv 0.8.18 introduces numerous enhancements—including PyG torch backend support, GraalPy 25.0.0 for Python 3.12, improved conda detection, and new CLI flags—while deprecating `tool.uv.dev-dependencies` and fixing a range of bugs.

Migration Steps

  1. Remove usage of `tool.uv.dev-dependencies` as it is deprecated; migrate to standard dependency specifications.
  2. Adjust CI pipelines that relied on loongarch64 binary builds, as the recent revert removes them.
  3. When using `uv venv`, add `--no-clear` if you want to suppress removal prompts.
  4. Do not combine `--only-group` with `--extra` flags; they now conflict.
  5. If your project omits the `[project]` section in `pyproject.toml`, verify that the new allowance works for your workflow.
  6. Update scripts that assume unnamed conda environments are not base; they are now treated as base environments.
  7. Review any custom handling of debug messages from `uv sync` removal, as the message has been corrected.

✨ New Features

  • Add PyG packages to torch backend.
  • Add handling for unnamed conda environments in base environment detection.
  • Allow selection of debug build interpreters.
  • Improve `uv init` defaults for native build backend cache keys.
  • Error when `pyproject.toml` target does not exist for dependency groups.
  • Infer check URL from publish URL when known.
  • Support Gitlab CI/CD as a trusted publisher.
  • Add GraalPy 25.0.0 with support for Python 3.12.
  • Add `--no-clear` to `uv venv` to disable removal prompts.
  • Add conflict detection between `--only-group` and `--extra` flags.
  • Allow `[project]` to be missing from a `pyproject.toml`.
  • Always treat conda environments named `base` and `root` as base environments.
  • Improve log message when direct build for `uv_build` is skipped.
  • Log when the cache is disabled.
  • Show pyx organization name after authenticating.
  • Use `_CONDA_ROOT` to detect Conda base environments.
  • Include blake2b hash in `uv publish` upload form.
  • Propagate preview flag to client for `native-auth` feature.
  • Store native credentials for realms with the https scheme stripped.
  • Use the root index URL when retrieving credentials from the native store.

🐛 Bug Fixes

  • Fix `uv sync --no-sources` not switching from editable to registry installations.
  • Avoid display of an empty string when a path is the working directory.
  • Allow cached environment reuse with `@latest`.
  • Allow escaping spaces in --env-file handling.
  • Avoid ANSI codes in debug! messages.
  • Improve BSD tag construction.
  • Include SHA when listing lockfile changes.
  • Invert the logic for determining if a path is a base conda environment.
  • Load credentials for explicit members when lowering.
  • Re-add `triton` as a torch backend package.
  • Respect `UV_INSECURE_NO_ZIP_VALIDATION=1` in duplicate header errors.

🔧 Affected Symbols

uv venvuv syncuv inituv publishtool.uv.dev-dependenciesuv_build--only-group flag handling--extra flag handlingtorch backend packages (including triton and PyG packages)native-auth preview flagnative credentials storeconda environment detection logic (_CONDA_ROOT)

⚡ Deprecations

  • Deprecate `tool.uv.dev-dependencies` (see #15469).
  • Revert "feat(ci): build loongarch64 binaries in CI" (#15387) (see #15820).