Releases: astral-sh/uv
0.4.29
Release Notes
Enhancements
- Sort errors during display in
uv python install
(#8684) - Update resolver to use disjointness checks instead of marker equality (#8661)
- Add
riscv64
to supported Python platform tags (#8660)
Bug fixes
- Fix hard and soft float libc detection for managed Python distributions on ARM (#8498)
- Handle cycles in
uv pip tree
(#8689) - Respect dependency group markers in
uv export
(#8659) - Support transitive dependencies in Git workspaces (#8665)
- Use portable paths for subdirectories in lock URLs (#8707)
- Update
uv init --virtual
to imply--no-package
(#8595)
Preview
- Install versioned Python executables into the bin directory during
uv python install
(Unix only) (#8458)
Documentation
- Clarify relationship between specifiers and
requires-python
range (#8688) - Fix broken link in docs (#8552)
- Fix outdated documentation on
Requires-Python
(#8679) - Add Google Artifact Registry index authentication guide (#8579)
Install uv 0.4.29
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.29/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.29/uv-installer.ps1 | iex"
Download uv 0.4.29
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.28
Release Notes
Enhancements
- Add support for requesting free-threaded builds via
+freethreaded
(#8645) - Improve trusted publishing error messages (#8633)
- Remove unneeded
return
from Maturin project template (#8604) - Skip Python interpreter discovery for
uv export
(#8638) - Hint about missing trusted publishing permission (#8632)
Configuration
- Add environment variable to disable progress output (#8600)
Bug fixes
- Fork when minimum Python version increases (#8628)
- Ignore empty groups when validating lock (#8598)
- Remove duplicate word in error message (#8589)
- Support cyclic dependencies in
uv tree
(#8564) - Update
uv init
to imply--package
when using--build-backend
(#8593) - Restore use of
dev-dependencies
andrequires-dev
for lockfile compatibility (#8599)
Documentation
- Clarify
requires-python
requirement for dependencies (#8619) - Update CLI documentation for
--cache-dir
(#8627)
Install uv 0.4.28
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.28/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.28/uv-installer.ps1 | iex"
Download uv 0.4.28
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.27
Release Notes
This release includes support for the [dependency-groups]
table as recently standardized in PEP 735. The table allows for declaration of optional dependency groups that are not published as part of the package metadata, unlike [project.optional-dependencies]
. There are new --group
, --only-group
, and --no-group
options throughout the uv interface.
Previously, uv used a single tool.uv.dev-dependencies
list for declaration of development dependencies. Now, uv supports declaring development dependencies in a standardized format and allows splitting development dependencies into multiple groups.
For compatibility, and to simplify usage for people that do not need multiple groups, uv special-cases the group named dev
. The dev
group is equivalent to tool.uv.dev-dependencies
. The contents of tool.uv.dev-dependencies
will merged into the dev
group in uv's resolver. The --dev
, --only-dev
, and --no-dev
flags remain as aliases for the corresponding --group
options. Support for tool.uv.dev-dependencies
remains in this release, but will display warnings in a future release.
uv syncs the dev
group by default — this matches the exististing behavior for tool.uv.dev-dependencies
. The default groups can be changed with the tool.uv.default-groups
setting.
Thank you to Stephen Rosen who authored PEP 735.
Enhancements
- Support for PEP 735 (#8272)
- Add support for
--dry-run
mode inuv lock
(#7783) - Don't allow non-string email in authors (#8520)
- Enforce lockfile schema versions (#8509)
Bug fixes
- Always attach URL to network errors (#8444)
- Fix dangling non-platform dependencies in
uv tree
(#8532) - Prefer
lto
overdebug
free-threaded managed Python builds (#8515)
Documentation
- Add
tool.uv.sources
to the "Settings" reference (#8543) - Add reference to
uv build
anduv publish
in the landing pages (#8542) - Avoid duplicate
[tool.uv]
header in TOML examples (#8545) - Document
.netrc
environment variable and path (#8511) - Fix
.netrc
typo in authentication docs (#8521) - Fix heading level of "Script support" on docs landing page (#8544)
- Move the installation configuration docs to a separate page (#8546)
- Update docs for
--publish-url
to avoid duplication. (#8561) - Fix typo (#8554)
- Fix typo in description of
--strict
flag (#8513)
Install uv 0.4.27
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.27/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.27/uv-installer.ps1 | iex"
Download uv 0.4.27
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.26
Release Notes
Enhancements
- Allow static dependency metadata entries for direct URL requirements (#7846)
- Use reinstall report formatting for
uv python install --reinstall
(#8487) - Add support for system-level
uv.toml
configuration (#7851)
Bug fixes
- Apply
requires-python
narrowing with upper bounds (#8403) - Avoid rewriting
[[tool.uv.index]]
entries when credentials are provided (#8502) - Fix
uv add
comment handling for empty arrays (#8504) - Replace dashes with underscores in index credential variables (#8452)
- Respect
--allow-insecure-host
inuv publish
(#8440) - Allow arbitrary
--package
includes inuv tree
(#8507) - Remove existing Python install after successful download in
uv python install
(#8485)
Documentation
- Add docs example for URLs with
[tool.uv.dependency-metadata]
(#8484) - Add help page for build failures (#8286)
- Fix
cache-keys
typo intags = true
(#8422) - Add documentation examples for manual branch, rev, and tag Git dependencies (#8497)
Error messages
- Improve error message for cache info serialization (#8500)
- Suggest
--from
command when executable is available foruvx
(#8473) - Support
--with-editable
inuv tool install
(#8472)
Install uv 0.4.26
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.26/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.26/uv-installer.ps1 | iex"
Download uv 0.4.26
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.25
Release Notes
Enhancements
- Add support for
uv pip show --files
(#8369) - Don't prefetch unreachable packages (#8246)
- Remove
tool.uv.sources
table if it is empty (#8365) - Modify cache versioning to support backwards compatibility (#8386)
Configuration
- Add support for
UV_FROZEN
andUV_LOCKED
(#8340)
Bug fixes
- Allow dashes and underscores in custom index names (#8339)
- Avoid panic when Git dependencies are included in fork markers (#8388)
- Check existing source by normalized name before
uv add
anduv remove
(#8359) - Fix bug where username from authentication cache could be ignored (#8345)
- Fix to respect comments positioning in pyproject.toml on change (#8384)
- Redact index sources in
uv.lock
(#8333) - Use correct indentation when project table contains open bracket comment (#8387)
- Only remove a source from
[tool.uv.sources]
if it is no long being referenced (#8366) - Modify
uv pip list
anduv tree
to print to stdout regardless of--quiet
flag (#8392)
Error messages
- Improve help message for missing
self update
invocations (#8337) - Log
.netrc
parsing errors (#8364) - Remove trailing newlines in error messages (#8322)
- Use a dedicated message for incompatible Python versions in wheel ABI tags (#8363)
- Remove commands available in the top-level from the suggested subcommand error (#8316)
Release
- Run release builds for
macos-x86_64
onmacos-14
runners (#8327)
Install uv 0.4.25
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.25/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.25/uv-installer.ps1 | iex"
Download uv 0.4.25
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.24
Release Notes
Bug fixes
- Fix Python executable name in Windows free-threaded Python distributions (#8310)
- Redact index credentials from lockfile sources (#8307)
- Respect
UV_INDEX_
rather thanUV_HTTP_BASIC_
as documented (#8306) - Improve sources deserialization errors (#8308)
Documentation
- Correct pytorch-to-torch reference in docs (#8291)
Install uv 0.4.24
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.24/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.24/uv-installer.ps1 | iex"
Download uv 0.4.24
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.23
Release Notes
This release introduces a revamped system for defining package indexes, as an alternative to the existing pip-style
--index-url
and --extra-index-url
configuration options.
You can now define named indexes in your pyproject.toml
file using the [[tool.uv.index]]
table:
[[tool.uv.index]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
Packages can be pinned to a specific index via tool.uv.sources
, to ensure that a given package is installed from the
correct index. For example, to ensure that torch
is always installed from the pytorch
index:
[tool.uv.sources]
torch = { index = "pytorch" }
[[tool.uv.index]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
Indexes can also be marked as explicit = true
to prevent packages from being installed from that index
unless explicitly pinned. For example, to ensure that torch
is installed from the pytorch
index, but all other
packages are installed from the default index:
[tool.uv.sources]
torch = { index = "pytorch" }
[[tool.uv.index]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
explicit = true
To define an additional index outside a pyproject.toml
file, use the --index
command-line argument
(or the UV_INDEX
environment variable); to replace the default index (PyPI), use the --default-index
command-line
argument (or UV_DEFAULT_INDEX
).
These changes are entirely backwards-compatible with the deprecated --index-url
and --extra-index-url
options,
which continue to work as before.
See the Index documentation for more.
Enhancements
- Add index URLs when provided via
uv add --index
or--default-index
(#7746) - Add support for named and explicit indexes (#7481)
- Add templates for popular build backends (#7857)
- Allow multiple pinned indexes in
tool.uv.sources
(#7769) - Allow users to incorporate Git tags into dynamic cache keys (#8259)
- Pin named indexes in
uv add
(#7747) - Respect named
--index
and--default-index
values intool.uv.sources
(#7910) - Update to latest PubGrub version (#8245)
- Enable environment variable authentication for named indexes (#7741)
- Avoid showing lower-bound warning outside of explicit lock and sync (#8234)
- Improve logging during lock errors (#8258)
- Improve styling of
requires-python
warnings (#8240) - Show hint in resolution failure on
Forbidden
(403
) orUnauthorized
(401
) (#8264) - Update to latest
cargo-dist
version (includes new installer features) (#8270) - Warn when patch version in
requires-python
is implicitly0
(#7959) - Add more context on client errors during range requests (#8285)
Bug fixes
- Avoid writing duplicate index URLs with
--emit-index-url
(#8226) - Fix error leading to out-of-bound panic in
uv-pep508
(#8282) - Fix managed distributions of free-threaded Python on Windows (#8268)
- Fix selection of free-threaded interpreters during default Python discovery (#8239)
- Ignore sources in build requirements for non-source trees (#8235)
- Invalid cache when adding lower bound to lockfile (#8230)
- Respect index priority when storing credentials (#8256)
- Respect relative paths in
uv build
sources (#8237) - Narrow what the pip3. logic drops from entry points. (#8273)
Documentation
- Add some additional notes to
--index-url
docs (#8267) - Add upgrade note to README (#7937)
- Remove note that "only a single source may be defined for each dependency" (#8243)
Install uv 0.4.23
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.23/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.23/uv-installer.ps1 | iex"
Download uv 0.4.23
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.22
Release Notes
Enhancements
- Respect
[tool.uv.sources]
in build requirements (#7172)
Preview features
- Add a dedicated
uv publish
error message for missing usernames (#8045) - Support interactive input in
uv publish
(#8158) - Use raw filenames in
uv publish
(#8204)
Performance
- Reuse the result of
which git
(#8224)
Bug fixes
- Avoid environment check optimization for
uv pip install --exact
(#8219) - Do not use free-threaded interpreters without a free-threaded request (#8191)
- Don't recommend
--prerelease=allow
during build requirement resolution errors (#8192) - Prefer optimized builds for free-threaded Python downloads (#8196)
- Retain old
python-build-standalone
releases (#8216) - Run
uv build
builds in the source distribution bucket (#8220)
Install uv 0.4.22
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.22/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.22/uv-installer.ps1 | iex"
Download uv 0.4.22
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.21
Release Notes
Enhancements
- Add support for managed installations of free-threaded Python (#8100)
- Add note about
uvx
touv tool run
short help (#7695) - Enable HTTP/2 requests (#8049)
- Support
uv tree --no-dev
(#8109) - Support PEP 723 metadata with
uv run -
(#8111) - Support
pip install --exact
(#8044) - Support
uv export --no-header
(#8096) - ADd Python 3.13 images to Docker publish (#8105)
- Support remote (
https://
) scripts inuv run
(#6375) - Allow comma value-delimited arguments in
uv run --with
(#7909)
Configuration
- Support wildcards in
UV_INSECURE_HOST
(#8052)
Performance
- Use shared index when fetching metadata in lock satisfaction routine (#8147)
Bug fixes
- Add prerelease compatibility check to
uv python
CLI (#8020) - Avoid deleting a project environment directory if we cannot tell if a
pyvenv.cfg
file exists (#8012) - Avoid excluding valid wheels for exact
requires-python
bounds (#8140) - Bump
netrc
crate to latest commit (#8021) - Fix
uv python pin 3.13t
failure when parsing version for project requires check (#8056) - Fix handling of != intersections in
requires-python
(#7897) - Remove the newly created tool environment if sync failed (#8038)
- Respect dynamic extras in
uv lock
anduv sync
(#8091) - Treat resolver failures as fatal in lockfile validation (#8083)
- Use
git config --get
for author information for improved backwards compatibility (#8101) - Use comma-separated values for
UV_FIND_LINKS
(#8061) - Use shared resolver state between add and lock to avoid double Git update (#8146)
- Make
--relocatable
entrypoints robust to symlinking (#8079) - Improve compatibility with VSCode PS1 prompt (#8006)
- Fix "Stream did not contain valid UTF-8" failures in Windows (#8120)
- Use
--with-requirements
inuvx
error hint (#8112)
Documentation
- Include
uvx
installation in Docker examples (#8179) - Make the instructions for the Windows standalone installer consistent across README and documentation (#8125)
- Update pip compatibility guide to note transitive URL dependency support (#8081)
- Document
--reinstall
with--exclude-newer
to ensure downgrades (#6721)
Install uv 0.4.21
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.21/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.21/uv-installer.ps1 | iex"
Download uv 0.4.21
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
0.4.20
Release Notes
Enhancements
- Add managed downloads for CPython 3.13.0 (final) (#8010)
- Python 3.13 is the default version for
uv python install
(#8010) - Hint at wrong endpoint in
uv publish
failures (#7872) - List available scripts when a command is not specified for
uv run
(#7687) - Fill in
authors
field duringuv init
(#7756)
Documentation
Install uv 0.4.20
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.20/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.20/uv-installer.ps1 | iex"
Download uv 0.4.20
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | 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 |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |