chore(deps): update all dependencies
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| astral-sh/ruff-pre-commit | repository | minor | v0.9.10 -> v0.11.9 |
| ghcr.io/astral-sh/uv | final | minor | 0.6.5 -> 0.7.3 |
| python | patch | 3.13.2 -> 3.13.3 |
|
| python | stage | patch | 3.13.2-slim-bookworm -> 3.13.3-slim-bookworm |
Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
Release Notes
astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)
v0.11.9
See: https://github.com/astral-sh/ruff/releases/tag/0.11.9
v0.11.8
See: https://github.com/astral-sh/ruff/releases/tag/0.11.8
v0.11.7
See: https://github.com/astral-sh/ruff/releases/tag/0.11.7
v0.11.6
See: https://github.com/astral-sh/ruff/releases/tag/0.11.6
v0.11.5
See: https://github.com/astral-sh/ruff/releases/tag/0.11.5
v0.11.4
See: https://github.com/astral-sh/ruff/releases/tag/0.11.4
v0.11.3
See: https://github.com/astral-sh/ruff/releases/tag/0.11.3
v0.11.2
See: https://github.com/astral-sh/ruff/releases/tag/0.11.2
v0.11.1
See: https://github.com/astral-sh/ruff/releases/tag/0.11.1
v0.11.0
See: https://github.com/astral-sh/ruff/releases/tag/0.11.0
v0.10.0
See: https://github.com/astral-sh/ruff/releases/tag/0.10.0
astral-sh/uv (ghcr.io/astral-sh/uv)
v0.7.3
Enhancements
- Add
--dry-runsupport touv self update(#9829) - Add
--show-withtouv tool listto list packages included by--with(#13264) - De-duplicate fetched index URLs (#13205)
- Support more zip compression formats: bzip2, lzma, xz, zstd (#13285)
- Add support for downloading GraalPy (#13172)
- Improve error message when a virtual environment Python symlink is broken (#12168)
- Use
fs_errfor paths in symlinking errors (#13303) - Minify and embed managed Python JSON at compile time (#12967)
Preview features
- Build backend: Make preview default and add configuration docs (#12804)
- Build backend: Allow escaping in globs (#13313)
- Build backend: Make builds reproducible across operating systems (#13171)
Configuration
- Add
python-downloads-json-urloption foruv.tomlto configure custom Python installations via JSON URL (#12974)
Bug fixes
- Check nested IO errors for retries (#13260)
- Accept
musllinux_1_0as a valid platform tag (#13289) - Fix discovery of pre-release managed Python versions in range requests (#13330)
- Respect locked script preferences in
uv run --with(#13283) - Retry streaming downloads on broken pipe errors (#13281)
- Treat already-installed base environment packages as preferences in
uv run --with(#13284) - Avoid enumerating sources in errors for path Python requests (#13335)
- Avoid re-creating virtual environment with
--no-sync(#13287)
Documentation
v0.7.2
Enhancements
- Improve trace log for retryable errors (#13228)
- Use "error" instead of "warning" for self-update message (#13229)
- Error when
uv versionis used with project-specific flags but no project is found (#13203)
Bug fixes
- Fix incorrect virtual environment invalidation for pre-release Python versions (#13234)
- Fix patching of
clangin managed Python sysconfig (#13237) - Respect
--projectinuv version(#13230)
v0.7.1
Enhancement
- Add support for BLAKE2b-256 (#13204)
Bugfix
- Revert fix handling of authentication when encountering redirects (#13215)
v0.7.0
This release contains various changes that improve correctness and user experience, but could break some workflows; many changes have been marked as breaking out of an abundance of caution. We expect most users to be able to upgrade without making changes.
Breaking changes
-
Update
uv versionto display and update project versions (#12349)Previously,
uv versiondisplayed uv's version. Now,uv versionwill display or update the project's version. This interface was heavily requested and, after much consideration, we decided that transitioning the top-level command was the best option.Here's a brief example:
$ uv init example Initialized project `example` at `./example` $ cd example $ uv version example 0.1.0 $ uv version --bump major example 0.1.0 => 1.0.0 $ uv version --short 1.0.0If used outside of a project, uv will fallback to showing its own version still:
$ uv version warning: failed to read project: No `pyproject.toml` found in current directory or any parent directory running `uv self version` for compatibility with old `uv version` command. this fallback will be removed soon, pass `--preview` to make this an error. uv 0.7.0 (4433f41c9 2025-04-29)As described in the warning,
--previewcan be used to error instead:$ uv version --preview error: No `pyproject.toml` found in current directory or any parent directoryThe previous functionality of
uv versionwas moved touv self version. -
Avoid fallback to subsequent indexes on authentication failure (#12805)
When using the
first-indexstrategy (the default), uv will stop searching indexes for a package once it is found on a single index. Previously, uv considered a package as "missing" from an index during authentication failures, such as an HTTP 401 or HTTP 403 (normally, missing packages are represented by an HTTP 404). This behavior was motivated by unusual responses from some package indexes, but reduces the safety of uv's index strategy when authentication fails. Now, uv will consider an authentication failure as a stop-point when searching for a package across indexes. Theindex.ignore-error-codesoption can be used to recover the existing behavior, e.g.:[[tool.uv.index]] name = "pytorch" url = "https://download.pytorch.org/whl/cpu" ignore-error-codes = [401, 403]Since PyTorch's indexes always return a HTTP 403 for missing packages, uv special-cases indexes on the
pytorch.orgdomain to ignore that error code by default. -
Require the command in
uvx <name>to be available in the Python environment (#11603)Previously,
uvxwould attempt to execute a command even if it was not provided by a Python package. For example, if we presumefoois an empty Python package which provides no command,uvx foowould invoke thefoocommand on thePATH(if present). Now, uv will error early if thefooexecutable is not provided by the requested Python package. This check is not enforced when--fromis used, so patterns likeuvx --from foo bash -c "..."are still valid. uv also still allowsuvx foowhere thefooexecutable is provided by a dependency offooinstead offooitself, as this is fairly common for packages which depend on a dedicated package for their command-line interface. -
Use index URL instead of package URL for keyring credential lookups (#12651)
When determining credentials for querying a package URL, uv previously sent the full URL to the
keyringcommand. However, some keyring plugins expect to receive the index URL (which is usually a parent of the package URL). Now, uv requests credentials for the index URL instead. This behavior matchespip. -
Remove
--versionfrom subcommands (#13108)Previously, uv allowed the
--versionflag on arbitrary subcommands, e.g.,uv run --version. However, the--versionflag is useful for other operations since uv is a package manager. Consequently, we've removed the--versionflag from subcommands — it is only available asuv --version. -
Omit Python 3.7 downloads from managed versions (#13022)
Python 3.7 is EOL and not formally supported by uv; however, Python 3.7 was previously available for download on a subset of platforms.
-
Reject non-PEP 751 TOML files in install, compile, and export commands (#13120, #13119)
Previously, uv treated arbitrary
.tomlfiles passed to commands (e.g.,uv pip install -r foo.tomloruv pip compile -o foo.toml) asrequirements.txt-formatted files. Now, uv will error instead. If using PEP 751 lockfiles, use the standardized format for custom names instead, e.g.,pylock.foo.toml. -
Ignore arbitrary Python requests in version files (#12909)
uv allows arbitrary strings to be used for Python version requests, in which they are treated as an executable name to search for in the
PATH. However, using this form of request in.python-versionfiles is non-standard and conflicts withpyenv-virtualenvwhich writes environment names to.python-versionfiles. In this release, uv will now ignore requests that are arbitrary strings when found in.python-versionfiles. -
Error on unknown dependency object specifiers (12811)
The
[dependency-groups]entries can include "object specifiers", e.g.set-phasers-to = ...in:[dependency-groups] foo = ["pyparsing"] bar = [{set-phasers-to = "stun"}]However, the only current spec-compliant object specifier is
include-group. Previously, uv would ignore unknown object specifiers. Now, uv will error. -
Make
--frozenand--no-sourcesconflicting options (#12671)Using
--no-sourcesalways requires a new resolution and--frozenwill always fail when used with it. Now, this conflict is encoded in the CLI options for clarity. -
Treat empty
UV_PYTHON_INSTALL_DIRandUV_TOOL_DIRas unset (#12907, #12905)Previously, these variables were treated as set to the current working directory when set to an empty string. Now, uv will ignore these variables when empty. This matches uv's behavior for other environment variables which configure directories.
Enhancements
- Disallow mixing requirements across PyTorch indexes (#13179)
- Add optional managed Python archive download cache (#12175)
- Add
poetry-coreas auv initbuild backend option (#12781) - Show tag hints when failing to find a compatible wheel in
pylock.toml(#13136) - Report Python versions in
pyvenv.cfgversion mismatch (#13027)
Bug fixes
- Avoid erroring on omitted wheel-only packages in
pylock.toml(#13132) - Fix display name for
uvx --version(#13109) - Restore handling of authentication when encountering redirects (#13050)
- Respect build options (
--no-binaryet al) inpylock.toml(#13134) - Use
upload-timerather thanupload_timeinuv.lock(#13176)
Documentation
- Changed
fishcompletions append>>to overwrite>(#13130) - Add
pylock.tomlmentions where relevant (#13115) - Add ROCm example to the PyTorch guide (#13200)
- Upgrade PyTorch guide to CUDA 12.8 and PyTorch 2.7 (#13199)
v0.6.17
Release Notes
Preview features
- Add PyTorch v2.7.0 to GPU backend (#13072)
Bug fixes
- Avoid panic for invalid Python versions (#13077)
- Block scripts from overwriting
python(#13051) - Check distribution names to handle invalid redirects (#12917)
- Check for mismatched package and distribution names on resolver thread (#13088)
- Fix panic with invalid last character in PEP 508 name (#13105)
- Reject
requires-pythoneven if not listed on the index page (#13086)
Install uv 0.6.17
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.17/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.6.17/uv-installer.ps1 | iex"
Download uv 0.6.17
v0.6.16
Release Notes
Bug fixes
- Revert "Properly handle authentication for 302 redirect URLs" (#13041)
Install uv 0.6.16
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.16/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.6.16/uv-installer.ps1 | iex"
Download uv 0.6.16
v0.6.15
Release Notes
This release includes preliminary support for the pylock.toml file format, as standardized in PEP 751. pylock.toml is an alternative resolution output format intended to replace requirements.txt (e.g., in the context of uv pip compile, whereby a "locked" requirements.txt file is generated from a set of input requirements). pylock.toml is standardized and tool-agnostic, such that in the future, pylock.toml files generated by uv could be installed by other tools, and vice versa.
As of this release, pylock.toml is supported in the following commands:
- To export a
uv.lockto thepylock.tomlformat, run:uv export -o pylock.toml - To generate a
pylock.tomlfile from a set of requirements, run:uv pip compile -o pylock.toml requirements.in - To install from a
pylock.tomlfile, run:uv pip sync pylock.tomloruv pip install -r pylock.toml
Enhancements
- Add PEP 751 support to
uv pip compile(#13019) - Add
uv exportsupport for PEP 751 (#12955) - Accept
requirements.txt(verbatim) as a format on the CLI (#12957) - Add
UV_NO_EDITABLEenvironment variable to set--no-editableon all invocations (#12773) - Add
pylock.tomltouv pip installanduv pip sync(#12992) - Add a brief sleep before sending
SIGINTto child processes (#13018) - Add upload time to
uv.lock(#12968) - Allow updating Git sources by name (#12897)
- Cache
which gitinuv init(#12893) - Enable
--dry-runwith--locked/--frozenforuv sync(#12778) - Infer output type in
uv export(#12958) - Make
uv initresilient against broken git (#12895) - Respect build constraints for
uv run --withdependencies (#12882) - Split UV_INDEX on all whitespace (#12820)
- Support build constraints in
uv tooland PEP723 scripts. (#12842) - Use suffix from
uvxbinary when searching for uv binary (#12923) - Update version formatting to use cyan color (#12943)
- Add debug logs for version file search (#12951)
- Fix
SourceNotAllowederror message during Python discovery (#13012) - Obfuscate password in credentials debug messages (#12944)
- Obfuscate possible tokens in URL logs (#12969)
- Validate that PEP 751 entries don't include multiple sources (#12993)
Preview features
- Build backend: Add reference docs and schema (#12803)
Bug fixes
- Align supported
config-settingswith example in docs (#12947) - Ensure virtual environment is compatible with interpreter on sync (#12884)
- Fix
PythonDownloadRequestparsing for partial keys (#12925) - Fix pre-release exclusive comparison operator in
uv-pep440(#12836) - Forward additional signals to the child process in
uv run(#13017) - Omit PEP 751 version for source trees (#13030)
- Patch
CCandCCXentries in sysconfig for cross-compiledaarch64Python distributions (#12239) - Properly handle authentication for HTTP 302 redirect URLs (#12920)
- Set 4MB stack size for all threads, introduce
UV_STACK_SIZE(#12839) - Show PyPy downloads during
uv python list(#12915) - Add
subdirectoryto Direct URL for local directories (#12971) - Prefer stable releases over pre-releases in
uv python install(#12194) - Write requested Python variant to pin file in
uv init(#12870)
Documentation
- Fix CLI reference with code block (#12807)
- Fix lockfile note (#12793)
- Fix typo in a reference (#12858)
- Improve docs for
uv python list --only-downloadsand--only-installed(#12916) - Update note on lack of musl distributions to ARM-only (#12825)
- Add section on shebangs for scripts (#11553)
- Display aliases for long and short args in the CLI reference (#12824)
- Fix highlight line in explicit index documentation (#12887)
- Add explicit source (matching PyTorch guide) (#12844)
- Fix link to issue (#12823)
- Fix grammatical error in FastAPI guide (#12908)
- Add
--lockedtouv syncin GitHub Actions guide (#12819) - Improve formatting for
"all"default-groupssetting documentation (#12963) - Replace
--frozenwith--lockedin Docker integration guide (#12818)
Install uv 0.6.15
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.15/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.6.15/uv-installer.ps1 | iex"
Download uv 0.6.15
v0.6.14
Release Notes
Python versions
The following Python versions have been added:
- CPython 3.13.3
- CPython 3.12.10
- CPython 3.11.12
- CPython 3.10.17
- CPython 3.9.22
See the python-build-standalone release notes for more details.
Enhancements
- Add
uv-buildanduv_buildaliases touv init --build-backend(#12776) - Emit dedicated error message for Conda
environment.ymlfiles (#12669)
Preview features
- Build backend: Check module dir exists for sdist build (#12779)
- Build backend: Fix sdist with long directories (#12764)
Performance
- Avoid querying GitHub on repeated install invocations (#12767)
Bug fixes
- Error when
tool.uv.sourcesis set in system-level configuration file (#12757) - Split workspace members onto their own lines in
uv init(#12756)
Documentation
- Add lockfile note about PEP 751 (#12732)
- Extend the reference documentation for
uv pip sync(#12683) - Fix mismatched pip interface header / nav titles (#12640)
uv 0.6.14
Install uv 0.6.14
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.14/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.6.14/uv-installer.ps1 | iex"
Download uv 0.6.14
v0.6.13
Release Notes
Enhancements
- Add
--show-versiontouv python find(#12376) - Remove
--no-configwarning fromuv pip compileanduv pip sync(#12642) - Skip repeated directories in
PATHwhen searching for Python interpreters (#12367) - Unset
SCRIPT_PATHin relocatable activation script (#12672) - Add
UV_PYTHON_DOWNLOADS_JSON_URLto set custom managed python sources (#10939) - Reject
pyproject.tomlfiles inuv pip compile -o(#12673) - Respect the
--offlineflag for Git operations (#12619)
Bug fixes
- Warn instead of error if CRC appears to be missing (#12722)
- Avoid infinite loop in
uv exportwith conflicts (#12726)
Rust API
- Update MSRV to 1.84 (#12670)
uv 0.6.13
Install uv 0.6.13
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.13/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.6.13/uv-installer.ps1 | iex"
Download uv 0.6.13
v0.6.12
Release Notes
Enhancements
- Report the queried executable path in
uv python list(#12628) - Improve archive unpack error messages (#12627)
Bug fixes
- Respect
authenticatewhen usingexplicit = true(#12631) - Normalize extra and group names in
uv addanduv remove(#12586) - Enforce CRC-32 checks when unpacking archives (#12623)
- Fix parsing of
python-platformin settings files (#12592)
Documentation
- Add note about
uv buildtopackage = false(#12608) - Add index fallback note to
authenticate = alwaysdocumentation (#12498) - Fix invalid 'kind' reference in flat index docs (#12583)
uv 0.6.12
Install uv 0.6.12
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.12/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.6.12/uv-installer.ps1 | iex"
Download uv 0.6.12
| File | Platform | Checksum |
|---|---|---|
| uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| uv-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| uv-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| uv-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| uv-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| uv-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| uv-i686-unknown-linux-gnu.tar.gz | x86 Linux | [checksum](https://redirect.github.com/astral-sh/uv |