There have been 31 releases and 1135 pull requests since 0.5.0, our last release with breaking changes. As before, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many 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
Create main.py instead of hello.py in uv init (#10369)
Previously, uv init created a hello.py sample file. Now, uv init will create main.py instead — which aligns with expectations from user feedback. The --bare option can be used to avoid creating the file altogether.
Previously, uv python install did not read this environment variable; now it does. We believe this matches user expectations, however, this will take priority over .python-version files which could be considered breaking.
When uv spawns a subprocess, it will now have the UV environment variable set to the uv binary path. This change is breaking if you are setting the UV environment variable yourself, as we will overwrite its value.
Additionally, this change requires marking the uv Rust entrypoint (uv::main) as unsafe to avoid unsoundness — this is only relevant if you are invoking uv using Rust. See the Rust documentation for details about the safety of updating a process' environment.
Error on non-existent extras, e.g., in uv sync (#11426)
Previously, uv would silently ignore non-existent extras requested on the command-line (e.g., via uv sync --extra foo). This is generally correct behavior when resolving requests for package extras, because an extra may be present on one compatible version of a package but not another. However, this flexibility doesn't need to apply to the local project and it's less surprising to error here.
Error on missing dependency groups when --frozen is provided (#11499)
Previously, uv would not validate that the requested dependency groups were present in the lockfile when the --frozen flag was used. Now, an error will be raised if a requested dependency group is not present.
Change -p to a --python alias in uv pip compile (#11486)
In uv pip compile, -p was an alias for --python-version while everywhere else in uv's interface it is an alias for --python. Additionally, uv pip compile did not respect the UV_PYTHON environment variable. Now, the semantics of this flag have been updated for parity with the rest of the CLI.
However, --python-version is unique: if we cannot find an interpreter with the given version, we will not fail. Instead, we'll use an alternative interpreter and override its version tags with the requested version during package resolution. This behavior is retained here for backwards compatibility, --python <version> / -p <version> will not fail if the version cannot be found. However, if a specific interpreter is requested, e.g., with --python <path> or --python pypy, and cannot be found — uv will exit with an error.
The breaking changes here are that UV_PYTHON is respected and --python <version> will no longer fail if the version cannot be found.
Bump alpine default tag to 3.21 for derived Docker images (#11157)
Alpine 3.21 was released in Dec 2024 and is used in the official Alpine-based Python images. Our uv:python3.x-alpine images have been using 3.21 since uv v0.5.8. However, now the the uv:alpine image will use 3.21 instead of 3.20 and uv:alpine3.20 will no longer be updated.
Use files instead of junctions on Windows (#11269)
Previously, we used junctions for atomic replacement of cache entries on Windows. Now, we use a file with a pointer to the cache entry instead. This resolves various edge-case behaviors with junctions. These files are only intended to be consumed by uv and the cache version has been bumped. We do not think this change will affect workflows.
This does not come with any behavior changes. You will no longer see an experimental warning when using uv publish. See the linked pull request for a report on the stabilization.
Enhancements
Support --active for PEP 723 script environments (#11433)
Add revision to the lockfile to allow backwards-compatible metadata changes (#11500)
Bug fixes
Avoid reading metadata from .egg-info files (#11395)
Include archive bucket version in archive pointers (#11306)
Omit lockfile version when additional fields are dynamic (#11468)
Respect executable name in uvx --from tool@latest (#11465)
Documentation
The CHANGELOG.md is now split into separate files for each "major" version to fix rendering (#11510)
This release includes support for generating lockfiles from scripts based on inline metadata, as defined in PEP 723.
By default, scripts remain unlocked, and must be locked explicitly with uv lock --script /path/to/script.py, which will generate a lockfile adjacent to the script (e.g., script.py.lock). Once generated, the lockfile will be respected (and updated, if necessary) across uv run --script, uv add --script, and uv remove --script invocations.
This release also includes support for uv export --script and uv tree --script. Both commands support PEP 723 scripts with and without accompanying lockfiles.
This release does not include the powerpc64le-unknown-linux-musl target due to a build issue. See #9793 for details. If this change affects you, please file an issue with your use-case.
Enhancements
Omit empty resolution markers in lockfile (#9738)
Add --install-dir to to uv python install and uninstall commands (#7920)
Add --show-urls and --only-downloads to uv python list (#8062)
This release includes support for conflicting optional dependencies and dependency groups in the uv resolver, including the ability to specify dependency sources (like index assignment) on a per-extra or per-group basis.
For example, you can now select CPU-only vs. GPU-enabled PyTorch builds at runtime by defining conflicting extras in a pyproject.toml, and assigning different extras to different PyTorch indexes:
[project]name="project"version="0.1.0"requires-python=">=3.12.0"[project.optional-dependencies]### Include `torch` whenever `--extra cpu` or `--extra gpu` is provided.cpu=["torch>=2.5.1"]gpu=["torch>=2.5.1"][tool.uv]### But allow `cpu` and `gpu` to choose conflicting versions of `torch`.conflicts=[[{extra="cpu"},{extra="gpu"}]][tool.uv.sources]torch=[### With `--extra cpu`, pull PyTorch from the CPU-only index.{index="pytorch-cpu",extra="cpu",marker="platform_system != 'Darwin'"},### With `--extra gpu`, pull PyTorch from the GPU-enabled index.{index="pytorch-gpu",extra="gpu"},][[tool.uv.index]]name="pytorch-cpu"url="https://download.pytorch.org/whl/cpu"explicit=true[[tool.uv.index]]name="pytorch-gpu"url="https://download.pytorch.org/whl/cu124"explicit=true
Since the launch of Python version, project, and tool management capabilities back in August, we've seen extraordinary adoption of uv. We've been iterating rapidly: adding new features, fixing bugs, and improving the user experience. Despite moving quickly, stability and compatibility have been a major focus — we've made thirty releases since our last breaking change. Consequently, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many 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
Use base executable to set virtualenv Python path (#8481)
Previously, uv canonicalized the path to the Python executable when setting the Python path in created virtual environments. This behavior had several undesirable effects: it would bypass stabilized version directories (as constructed by Homebrew) and it was not consistent with the Python standard library's behavior. Now, uv uses the sys._base_executable path.
Use XDG (i.e. ~/.local/bin) instead of the Cargo home directory in the installer (#8420)
Previously, uv's installer used $CARGO_HOME or ~/.cargo/bin for its target install directory. It's been a longstanding complaint that uv uses this directory, as there's no relationship to Cargo. Now, uv will be installed into $XDG_BIN_HOME, $XDG_DATA_HOME/../bin, or ~/.local/bin (in that order). Note that $UV_INSTALL_DIR can always be used to override the target directory. Upgrading with uv self update will not move uv to the new install directory.
Discover and respect .python-version files in parent directories (#6370)
Previously, uv only read .python-version files from the working directory. Now, uv will check parent directories for .python-version files; however uv will not search for .python-version files beyond project boundaries. The new behavior is better aligned with that of pyenv and Rye.
Error when disallowed settings are defined in uv.toml (#8550)
Some settings can only be defined in the pyproject.toml. Previously, uv would ignore these settings when present in the uv.toml. Now, uv will error to avoid confusion about why the settings are not respected.
Implement PEP 440-compliant local version semantics (#8797)
Previously, uv's implementation of local versions (e.g. 2.0+cpu) was not compliant with the specification due to the technical complexity of implementing the local version semantics in the PubGrub algorithm. Thanks to the work of @ericmarkmartin, uv now has a spec-compliant implementation. Namely, uv will now allow a request for torch==2.1.0 to install [email protected]+cpu regardless of whether [email protected] (without a local tag) actually exists.
Treat the base Conda environment as a system environment (#7691)
Previously, uv would not distinguish between the base and other Conda environments. Now, uv uses CONDA_DEFAULT_ENV and the names base and default to determine if an environment active via CONDA_PREFIX is the base environment. If the base environment is active, the --system flag must be used to mutate it.
Do not allow pre-releases when the != operator is used (#7974)
Previously, uv would use the presence of a pre-release specifier in a version specifier as an opt-in to allow pre-release versions during resolution. The new behavior does not allow pre-releases when an inequals operator is used, e.g., != 2.0a1.
Prefer USERPROFILE over FOLDERID_Profile when selecting a home directory on Windows (#8048)
This change is a side-effect of switching from the directories crate to etcetera for determining canonical system paths. If USERPROFILE is not set, the behavior will be unchanged.
Improve interactions between color environment variables and CLI options (#8215)
Previously, uv would respect the FORCE_COLOR and NO_COLOR environment variables over the --color flag. Now, when the --color flag is explicitly provided, uv will respect it over the environment variables.
Previously, this option was only available in some parts of uv. Now, --allow-insecure-host can be provided to any command. For consistency, the allow-insecure-host setting has been removed from the [tool.uv.pip] configuration in favor of [tool.uv].
Only write .python-version files during uv init for workspace members if the version differs (#8897)
Previously, uv would create a .python-version file for workspace members during uv init. Now, uv will only do so if the version differs from the .python-version file in the workspace root since uv will respect .python-version files in parent directories.
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [ghcr.io/astral-sh/uv](https://github.com/astral-sh/uv) | final | minor | `0.4.30` -> `0.6.2` |
---
### Release Notes
<details>
<summary>astral-sh/uv (ghcr.io/astral-sh/uv)</summary>
### [`v0.6.2`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#062)
[Compare Source](https://github.com/astral-sh/uv/compare/0.6.1...0.6.2)
##### Enhancements
- Add support for constraining build dependencies with `tool.uv.build-constraint-dependencies` ([#​11585](https://github.com/astral-sh/uv/pull/11585))
- Sort dependency group keys when adding new group ([#​11591](https://github.com/astral-sh/uv/pull/11591))
##### Performance
- Use an `Arc` for index URLs ([#​11586](https://github.com/astral-sh/uv/pull/11586))
##### Bug fixes
- Allow use of x86-64 Python on ARM Windows ([#​11625](https://github.com/astral-sh/uv/pull/11625))
- Fix an issue where conflict markers could instigate a very large lock file ([#​11293](https://github.com/astral-sh/uv/pull/11293))
- Fix duplicate packages with multiple conflicting extras declared ([#​11513](https://github.com/astral-sh/uv/pull/11513))
- Respect color settings for log messages ([#​11604](https://github.com/astral-sh/uv/pull/11604))
- Eagerly reject unsupported Git schemes ([#​11514](https://github.com/astral-sh/uv/pull/11514))
##### Documentation
- Add documentation for specifying Python versions in tool commands ([#​11598](https://github.com/astral-sh/uv/pull/11598))
### [`v0.6.1`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#061)
[Compare Source](https://github.com/astral-sh/uv/compare/0.6.0...0.6.1)
##### Enhancements
- Allow users to mark platforms as "required" for wheel coverage ([#​10067](https://github.com/astral-sh/uv/pull/10067))
- Warn for builds in non-build and workspace root pyproject.toml ([#​11394](https://github.com/astral-sh/uv/pull/11394))
##### Bug fixes
- Add `--all` to `uvx --reinstall` message ([#​11535](https://github.com/astral-sh/uv/pull/11535))
- Fallback to `GET` on HTTP 400 when attempting to use range requests for wheel download ([#​11539](https://github.com/astral-sh/uv/pull/11539))
- Prefer local variants in preference selection ([#​11546](https://github.com/astral-sh/uv/pull/11546))
- Respect verbatim executable name in `uvx` ([#​11524](https://github.com/astral-sh/uv/pull/11524))
##### Documentation
- Add documentation for required environments ([#​11542](https://github.com/astral-sh/uv/pull/11542))
- Note that `main.py` used to be `hello.py` ([#​11519](https://github.com/astral-sh/uv/pull/11519))
### [`v0.6.0`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#060)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.31...0.6.0)
There have been 31 releases and 1135 pull requests since [0.5.0](https://github.com/astral-sh/uv/releases/tag/0.5.0), our last release with breaking changes. As before, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many 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
- **Create `main.py` instead of `hello.py` in `uv init`** ([#​10369](https://github.com/astral-sh/uv/pull/10369))
Previously, `uv init` created a `hello.py` sample file. Now, `uv init` will create `main.py` instead — which aligns with expectations from user feedback. The `--bare` option can be used to avoid creating the file altogether.
- **Respect `UV_PYTHON` in `uv python install`** ([#​11487](https://github.com/astral-sh/uv/pull/11487))
Previously, `uv python install` did not read this environment variable; now it does. We believe this matches user expectations, however, this will take priority over `.python-version` files which could be considered breaking.
- **Set `UV` to the uv executable path** ([#​11326](https://github.com/astral-sh/uv/pull/11326))
When uv spawns a subprocess, it will now have the `UV` environment variable set to the `uv` binary path. This change is breaking if you are setting the `UV` environment variable yourself, as we will overwrite its value.
Additionally, this change requires marking the uv Rust entrypoint (`uv::main`) as `unsafe` to avoid unsoundness — this is only relevant if you are invoking uv using Rust. See the [Rust documentation](https://doc.rust-lang.org/std/env/fn.set_var.html#safety) for details about the safety of updating a process' environment.
- **Error on non-existent extras, e.g., in `uv sync`** ([#​11426](https://github.com/astral-sh/uv/pull/11426))
Previously, uv would silently ignore non-existent extras requested on the command-line (e.g., via `uv sync --extra foo`). This is *generally* correct behavior when resolving requests for package extras, because an extra may be present on one compatible version of a package but not another. However, this flexibility doesn't need to apply to the local project and it's less surprising to error here.
- **Error on missing dependency groups when `--frozen` is provided** ([#​11499](https://github.com/astral-sh/uv/pull/11499))
Previously, uv would not validate that the requested dependency groups were present in the lockfile when the `--frozen` flag was used. Now, an error will be raised if a requested dependency group is not present.
- **Change `-p` to a `--python` alias in `uv pip compile`** ([#​11486](https://github.com/astral-sh/uv/pull/11486))
In `uv pip compile`, `-p` was an alias for `--python-version` while everywhere else in uv's interface it is an alias for `--python`. Additionally, `uv pip compile` did not respect the `UV_PYTHON` environment variable. Now, the semantics of this flag have been updated for parity with the rest of the CLI.
However, `--python-version` is unique: if we cannot find an interpreter with the given version, we will not fail. Instead, we'll use an alternative interpreter and override its version tags with the requested version during package resolution. This behavior is retained here for backwards compatibility, `--python <version>` / `-p <version>` will not fail if the version cannot be found. However, if a specific interpreter is requested, e.g., with `--python <path>` or `--python pypy`, and cannot be found — uv will exit with an error.
The breaking changes here are that `UV_PYTHON` is respected and `--python <version>` will no longer fail if the version cannot be found.
- **Bump `alpine` default tag to 3.21 for derived Docker images** ([#​11157](https://github.com/astral-sh/uv/pull/11157))
Alpine 3.21 was released in Dec 2024 and is used in the official Alpine-based Python images. Our `uv:python3.x-alpine` images have been using 3.21 since uv v0.5.8. However, now the the `uv:alpine` image will use 3.21 instead of 3.20 and `uv:alpine3.20` will no longer be updated.
- **Use files instead of junctions on Windows** ([#​11269](https://github.com/astral-sh/uv/pull/11269))
Previously, we used junctions for atomic replacement of cache entries on Windows. Now, we use a file with a pointer to the cache entry instead. This resolves various edge-case behaviors with junctions. These files are only intended to be consumed by uv and the cache version has been bumped. We do not think this change will affect workflows.
##### Stabilizations
- **`uv publish` is no longer in preview** ([#​11032](https://github.com/astral-sh/uv/pull/11032))
This does not come with any behavior changes. You will no longer see an experimental warning when using `uv publish`. See the linked pull request for a report on the stabilization.
##### Enhancements
- Support `--active` for PEP 723 script environments ([#​11433](https://github.com/astral-sh/uv/pull/11433))
- Add `revision` to the lockfile to allow backwards-compatible metadata changes ([#​11500](https://github.com/astral-sh/uv/pull/11500))
##### Bug fixes
- Avoid reading metadata from `.egg-info` files ([#​11395](https://github.com/astral-sh/uv/pull/11395))
- Include archive bucket version in archive pointers ([#​11306](https://github.com/astral-sh/uv/pull/11306))
- Omit lockfile version when additional fields are dynamic ([#​11468](https://github.com/astral-sh/uv/pull/11468))
- Respect executable name in `uvx --from tool@latest` ([#​11465](https://github.com/astral-sh/uv/pull/11465))
##### Documentation
- The `CHANGELOG.md` is now split into separate files for each "major" version to fix rendering ([#​11510](https://github.com/astral-sh/uv/pull/11510))
### [`v0.5.31`](https://github.com/astral-sh/uv/releases/tag/0.5.31)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.30...0.5.31)
#### Release Notes
##### Enhancements
- Add `uv sync --script` ([#​11361](https://github.com/astral-sh/uv/pull/11361))
- Allow PEP 508 requirements in tool requests ([#​11337](https://github.com/astral-sh/uv/pull/11337))
- Allow source distributions to produce wheels with `+local` suffixes ([#​11429](https://github.com/astral-sh/uv/pull/11429))
- Bring parity to `uvx` and `uv tool install` requests ([#​11345](https://github.com/astral-sh/uv/pull/11345))
- Use a stable directory for local, remote, and stdin script virtual environments ([#​11347](https://github.com/astral-sh/uv/pull/11347), [#​11364](https://github.com/astral-sh/uv/pull/11364))
- Detect infinite recursion in `uv run` ([#​11386](https://github.com/astral-sh/uv/pull/11386))
##### Python
The managed Python distributions have been updated, including:
- CPython 3.14.0a5, which includes a new [tail calling interpreter](https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-tail-call) for a significant performance improvement
- The bundled OpenSSL version was updated from 3.0.15 to 3.0.16 which fixes a [security advisory](https://openssl-library.org/news/secadv/20241016.txt)
See the [`python-build-standalone` release notes](https://github.com/astral-sh/python-build-standalone/releases/tag/20250212) for more details.
##### Bug fixes
- Fix cross-drive script installation ([#​11167](https://github.com/astral-sh/uv/pull/11167))
- Add indexes in priority order ([#​11451](https://github.com/astral-sh/uv/pull/11451))
- Allow `--python <dir>` requests to match existing environments if `sys.executable` is the same file ([#​11290](https://github.com/astral-sh/uv/pull/11290))
- Avoid comparing to system site packages in `--dry-run` mode ([#​11427](https://github.com/astral-sh/uv/pull/11427))
- Prefer running executables in the environment with `<name>` over `<name>/__main__.py` ([#​11431](https://github.com/astral-sh/uv/pull/11431))
- Retry local clones without hardlinks if they fail ([#​11421](https://github.com/astral-sh/uv/pull/11421))
##### Documentation
- Update alternative-indexes.md to use `UV_INDEX` instead of `UV_EXTRA_INDEX_URL` ([#​11381](https://github.com/astral-sh/uv/pull/11381))
- Update scripts guide to include using package indexes ([#​11443](https://github.com/astral-sh/uv/pull/11443))
#### Install uv 0.5.31
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.31/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.31/uv-installer.ps1 | iex"
```
#### Download uv 0.5.31
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.31/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.30`](https://github.com/astral-sh/uv/releases/tag/0.5.30)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.29...0.5.30)
#### Release Notes
##### Python
The managed PyPy distributions have been updated for PyPy v7.3.18, which includes:
- PyPy3.10, which updates the standard library from Python 3.10.14 to 3.10.19
- PyPy3.11, which adds beta support for Python 3.11.11
See the [PyPy release](https://pypy.org/posts/2025/02/pypy-v7318-release.html) for more details.
##### Enhancements
- Add `uv sync --dry-run` ([#​11299](https://github.com/astral-sh/uv/pull/11299))
- Ignore `#egg` fragment in HTML Simple API response ([#​11340](https://github.com/astral-sh/uv/pull/11340))
##### Configuration
- Add `NO_BINARY` and `NO_BINARY_PACKAGE` environment variables ([#​11399](https://github.com/astral-sh/uv/pull/11399))
##### Performance
- Avoid re-cloning name when populating ambiguous set ([#​11401](https://github.com/astral-sh/uv/pull/11401))
- Optimize flattening in large workspaces ([#​11313](https://github.com/astral-sh/uv/pull/11313))
##### Bug fixes
- Allow dynamic packages to be overloaded ([#​11400](https://github.com/astral-sh/uv/pull/11400))
- Fix credential caching for index roots when URL ends in `simple/` ([#​11336](https://github.com/astral-sh/uv/pull/11336))
- Fix marker merging for requirements.txt for psycopg ([#​11298](https://github.com/astral-sh/uv/pull/11298))
- Set 777 permissions on locked files ([#​11328](https://github.com/astral-sh/uv/pull/11328))
- Support extras in `@` requests for tools ([#​11335](https://github.com/astral-sh/uv/pull/11335))
- Upgrade `astral-tokio-tar` to v0.5.1 ([#​11359](https://github.com/astral-sh/uv/pull/11359))
- Avoid missing logging for no-op upgrade events ([#​11301](https://github.com/astral-sh/uv/pull/11301))
- Use refined specifiers when logging narrowed Python range ([#​11334](https://github.com/astral-sh/uv/pull/11334))
- Don't use popup-generating `eprintln` in trampoline warnings ([#​11295](https://github.com/astral-sh/uv/pull/11295))
- Patch pkg-config files to be relocatable ([#​11291](https://github.com/astral-sh/uv/pull/11291))
- Fix a case of duplicate `torch` packages when using conflicting extras ([#​11323](https://github.com/astral-sh/uv/pull/11323))
##### Documentation
- Add docs for `uv tool install --editable` ([#​11280](https://github.com/astral-sh/uv/pull/11280))
- Fix broken anchors in README and docs index ([#​11338](https://github.com/astral-sh/uv/pull/11338))
#### Install uv 0.5.30
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.30/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.30/uv-installer.ps1 | iex"
```
#### Download uv 0.5.30
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.30/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.29`](https://github.com/astral-sh/uv/releases/tag/0.5.29)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.28...0.5.29)
#### Release Notes
##### Enhancements
- Add `--bare` option to `uv init` ([#​11192](https://github.com/astral-sh/uv/pull/11192))
- Add support for respecting `VIRTUAL_ENV` in project commands via `--active` ([#​11189](https://github.com/astral-sh/uv/pull/11189))
- Allow the project `VIRTUAL_ENV` warning to be silenced with `--no-active` ([#​11251](https://github.com/astral-sh/uv/pull/11251))
##### Python
The managed Python distributions have been updated, including:
- CPython 3.12.9
- CPython 3.13.2
- pkg-config files are now relocatable
See the [`python-build-standalone` release notes](https://github.com/astral-sh/python-build-standalone/releases/tag/20250205) for more details.
##### Bug fixes
- Always use base Python discovery logic for cached environments ([#​11254](https://github.com/astral-sh/uv/pull/11254))
- Use a flock to avoid concurrent initialization of project environments ([#​11259](https://github.com/astral-sh/uv/pull/11259))
- Fix handling of `--all-groups` and `--no-default-groups` flags ([#​11224](https://github.com/astral-sh/uv/pull/11224))
##### Documentation
- Minor touchups to the Docker provenance docs ([#​11252](https://github.com/astral-sh/uv/pull/11252))
- Move content from the `mkdocs.public.yml` into the template ([#​11246](https://github.com/astral-sh/uv/pull/11246))
#### Install uv 0.5.29
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.29/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.29/uv-installer.ps1 | iex"
```
#### Download uv 0.5.29
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.29/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.28`](https://github.com/astral-sh/uv/releases/tag/0.5.28)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.27...0.5.28)
#### Release Notes
##### Bug fixes
- Allow discovering virtual environments from the first interpreter found on the `PATH` ([#​11218](https://github.com/astral-sh/uv/pull/11218))
- Clear ephemeral overlays when running tools ([#​11141](https://github.com/astral-sh/uv/pull/11141))
- Disable SSL in Git commands for `--allow-insecure-host` ([#​11210](https://github.com/astral-sh/uv/pull/11210))
- Fix hardlinks in tar unpacking ([#​11221](https://github.com/astral-sh/uv/pull/11221))
- Set base executable when returning virtual environment ([#​11209](https://github.com/astral-sh/uv/pull/11209))
- Use base Python for cached environments ([#​11208](https://github.com/astral-sh/uv/pull/11208))
##### Documentation
- Add documentation on verifying Docker image attestations ([#​11140](https://github.com/astral-sh/uv/pull/11140))
- Add `last updated` to documentation ([#​11164](https://github.com/astral-sh/uv/pull/11164))
#### Install uv 0.5.28
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.28/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.28/uv-installer.ps1 | iex"
```
#### Download uv 0.5.28
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.28/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.27`](https://github.com/astral-sh/uv/releases/tag/0.5.27)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.26...0.5.27)
#### Release Notes
##### Enhancements
- Avoid setting permissions during tar extraction ([#​11191](https://github.com/astral-sh/uv/pull/11191))
- Remove warnings for missing lower bounds ([#​11195](https://github.com/astral-sh/uv/pull/11195))
- Update PubGrub to set-based outdated priority tracking ([#​11169](https://github.com/astral-sh/uv/pull/11169))
- Improve error messages for `uv pip install` with `--extra` or `--all-extras` and invalid sources ([#​11193](https://github.com/astral-sh/uv/pull/11193))
- Sign Docker images using GitHub attestations ([#​8685](https://github.com/astral-sh/uv/pull/8685))
##### Preview features
- Don't expand self-referential extras in the build backend ([#​11142](https://github.com/astral-sh/uv/pull/11142))
##### Performance
- Filter discovered Python executables by source before querying ([#​11143](https://github.com/astral-sh/uv/pull/11143))
- Optimize exclusion computation for markers ([#​11158](https://github.com/astral-sh/uv/pull/11158))
- Use Astral-maintained `tokio-tar` fork ([#​11174](https://github.com/astral-sh/uv/pull/11174))
- Remove unneeded `.clone()` ([#​11127](https://github.com/astral-sh/uv/pull/11127))
##### Bug fixes
- Fix relative paths in bytecode compilation ([#​11177](https://github.com/astral-sh/uv/pull/11177))
- Percent-decode URLs in canonical comparisons ([#​11088](https://github.com/astral-sh/uv/pull/11088))
- Respect concurrency limits in parallel index fetch ([#​11182](https://github.com/astral-sh/uv/pull/11182))
- Use wire JSON schema for conflict items ([#​11196](https://github.com/astral-sh/uv/pull/11196))
- Use explicit `_GLibCVersion` tuple in uv-python crate ([#​11122](https://github.com/astral-sh/uv/pull/11122))
##### Documentation
- Add Git SHA locking behavior to docs ([#​11125](https://github.com/astral-sh/uv/pull/11125))
- Add best-practice flags to `pip install` example in troubleshooting guide ([#​11194](https://github.com/astral-sh/uv/pull/11194))
- Set `VIRTUAL_ENV` in Jupyter kernels ([#​11155](https://github.com/astral-sh/uv/pull/11155))
- Add instructions for deactivating an environment ([#​11200](https://github.com/astral-sh/uv/pull/11200))
#### Install uv 0.5.27
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.27/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.27/uv-installer.ps1 | iex"
```
#### Download uv 0.5.27
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.27/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.26`](https://github.com/astral-sh/uv/releases/tag/0.5.26)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.25...0.5.26)
#### Release Notes
##### Enhancements
- Add support for `uvx python` ([#​11076](https://github.com/astral-sh/uv/pull/11076))
- Allow `--no-dev --invert` in `uv tree` ([#​11068](https://github.com/astral-sh/uv/pull/11068))
- Update `uv python install --reinstall` to reinstall all previous versions ([#​11072](https://github.com/astral-sh/uv/pull/11072))
- Consistently write log messages with capitalized first word ([#​11111](https://github.com/astral-sh/uv/pull/11111))
- Suggest `--build-backend` when `--backend` is passed to `uv init` ([#​10958](https://github.com/astral-sh/uv/pull/10958))
- Improve retry trace message ([#​11108](https://github.com/astral-sh/uv/pull/11108))
##### Performance
- Remove unnecessary UTF-8 conversion in hash parsing ([#​11110](https://github.com/astral-sh/uv/pull/11110))
##### Bug fixes
- Ignore non-hash fragments in HTML API responses ([#​11107](https://github.com/astral-sh/uv/pull/11107))
- Avoid resolving symbolic links when querying Python interpreters ([#​11083](https://github.com/astral-sh/uv/pull/11083))
- Avoid sharing state between universal and non-universal resolves ([#​11051](https://github.com/astral-sh/uv/pull/11051))
- Error when `--script` is passing a non-PEP 723 script ([#​11118](https://github.com/astral-sh/uv/pull/11118))
- Make metadata deserialization failures non-fatal in the cache ([#​11105](https://github.com/astral-sh/uv/pull/11105))
- Mark metadata as dynamic when reading from built wheel cache ([#​11046](https://github.com/astral-sh/uv/pull/11046))
- Propagate credentials for `<index>/simple` to `<index>/...` endpoints ([#​11074](https://github.com/astral-sh/uv/pull/11074))
- Fix conflicting extra bug during `uv sync` ([#​11075](https://github.com/astral-sh/uv/pull/11075))
##### Documentation
- Add PyTorch XPU instructions to the PyTorch guide ([#​11109](https://github.com/astral-sh/uv/pull/11109))
- Add docs for signal handling ([#​11041](https://github.com/astral-sh/uv/pull/11041))
- Explain build frontend vs. build backend ([#​11094](https://github.com/astral-sh/uv/pull/11094))
- Fix formatting of `RUST_LOG` documentation ([#​10053](https://github.com/astral-sh/uv/pull/10053))
- Fix typo in `--no-deps` description ([#​11073](https://github.com/astral-sh/uv/pull/11073))
- Reflow CLI documentation comments ([#​11040](https://github.com/astral-sh/uv/pull/11040))
- Shorten "Using existing Python versions" nav item so it fits on one line ([#​11077](https://github.com/astral-sh/uv/pull/11077))
- Some minor touch-ups to the Python install guide ([#​11116](https://github.com/astral-sh/uv/pull/11116))
- Update Dependabot tracking issue link ([#​11054](https://github.com/astral-sh/uv/pull/11054))
- Update documentation for running in a container ([#​11052](https://github.com/astral-sh/uv/pull/11052))
- Upgrade PyTorch version in documentation ([#​11114](https://github.com/astral-sh/uv/pull/11114))
- Use `sys_platform` in lieu of `platform_system` in PyTorch docs ([#​11113](https://github.com/astral-sh/uv/pull/11113))
- Use positive (rather than negative) markers in PyTorch examples ([#​11112](https://github.com/astral-sh/uv/pull/11112))
- Fix unnecessary backslashes in brackets ([#​11059](https://github.com/astral-sh/uv/pull/11059))
- Suggest setting copy link mode in GitLab integration guide ([#​11067](https://github.com/astral-sh/uv/pull/11067))
#### Install uv 0.5.26
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.26/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.26/uv-installer.ps1 | iex"
```
#### Download uv 0.5.26
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.26/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.25`](https://github.com/astral-sh/uv/releases/tag/0.5.25)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.24...0.5.25)
#### Release Notes
##### Enhancements
- Allow installation of manylinux wheels on loongarch64 ([#​10927](https://github.com/astral-sh/uv/pull/10927))
- Allow optional `=` for editables in `requirements.txt` ([#​10954](https://github.com/astral-sh/uv/pull/10954))
- Add Windows aarch64 to the release binaries ([#​10885](https://github.com/astral-sh/uv/pull/10885))
##### Bug fixes
- Use spec-compliant (`128+n`) exit codes for `uv run` and `uv tool run` on Unix ([#​10781](https://github.com/astral-sh/uv/pull/10781))
- Fix best-interpreter lookups when there is an invalid interpreter in the `PATH` ([#​11030](https://github.com/astral-sh/uv/pull/11030))
- Guard against concurrent cache writes on Windows ([#​11007](https://github.com/astral-sh/uv/pull/11007))
- Prioritize package preferences with greater package versions ([#​10963](https://github.com/astral-sh/uv/pull/10963))
- Reject `--editable` flag on non-directory requirements ([#​10994](https://github.com/astral-sh/uv/pull/10994))
- Respect `--no-sources` for `uv pip install` workspace discovery ([#​11003](https://github.com/astral-sh/uv/pull/11003))
- Set `JEMALLOC_SYS_WITH_LG_PAGE=16` in ARM Docker builds ([#​10943](https://github.com/astral-sh/uv/pull/10943))
- Update `riscv64` Python downloads to allow install on `riscv64gc` ([#​10937](https://github.com/astral-sh/uv/pull/10937))
- Fix file persist retries on Windows ([#​11008](https://github.com/astral-sh/uv/pull/11008))
- Fix incorrect error message when specifying `tool.uv.sources.(package).workspace` with other options ([#​11013](https://github.com/astral-sh/uv/pull/11013))
- Improve SIGINT handling in `uv run` ([#​11009](https://github.com/astral-sh/uv/pull/11009))
##### Documentation
- Add `SECURITY` policy ([#​11035](https://github.com/astral-sh/uv/pull/11035))
- Add `Requires-Python` upper bound behavior to the docs ([#​10964](https://github.com/astral-sh/uv/pull/10964))
- Add a troubleshooting section and reproducible example guide ([#​10947](https://github.com/astral-sh/uv/pull/10947))
- Add documentation for `uv add -r` ([#​10926](https://github.com/astral-sh/uv/pull/10926))
- Amend `requires-python` rules in resolver documentation ([#​10993](https://github.com/astral-sh/uv/pull/10993))
- Reference workspaces in `--no-sources` documentation ([#​10995](https://github.com/astral-sh/uv/pull/10995))
- Update documentation for activating virtual environments in different shell ([#​11000](https://github.com/astral-sh/uv/pull/11000))
- Add Docker SHA pinning tip ([#​10955](https://github.com/astral-sh/uv/pull/10955))
#### Install uv 0.5.25
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.25/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.25/uv-installer.ps1 | iex"
```
#### Download uv 0.5.25
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.25/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.24`](https://github.com/astral-sh/uv/releases/tag/0.5.24)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.23...0.5.24)
#### Release Notes
##### Enhancements
- Improve determinism of resolution by always setting package priorities ([#​10853](https://github.com/astral-sh/uv/pull/10853))
- Upgrade to `cargo-dist` 0.28.0; improves several installer behaviors ([#​10884](https://github.com/astral-sh/uv/pull/10884))
##### Performance
- Remove dependencies clone in resolver ([#​10880](https://github.com/astral-sh/uv/pull/10880))
- Use Hashbrown's raw entry API to reduce hashes and clone in resolver priority determination ([#​10881](https://github.com/astral-sh/uv/pull/10881))
##### Bug fixes
- Allow fallback to Python download on non-critical discovery errors ([#​10908](https://github.com/astral-sh/uv/pull/10908))
##### Preview features
- Register managed Python version with the Windows Registry (PEP 514) ([#​10634](https://github.com/astral-sh/uv/pull/10634))
##### Documentation
- Improve documentation for some environment variables ([#​10887](https://github.com/astral-sh/uv/pull/10887))
- Add git subdirectory example ([#​10894](https://github.com/astral-sh/uv/pull/10894))
#### Install uv 0.5.24
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.24/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.24/uv-installer.ps1 | iex"
```
#### Download uv 0.5.24
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.24/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.23`](https://github.com/astral-sh/uv/releases/tag/0.5.23)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.22...0.5.23)
#### Release Notes
##### Enhancements
- Add `--refresh` to `uv venv` ([#​10834](https://github.com/astral-sh/uv/pull/10834))
- Add `--no-default-groups` command-line flag ([#​10618](https://github.com/astral-sh/uv/pull/10618))
##### Bug fixes
- Sort extras and groups when comparing lockfile requirements ([#​10856](https://github.com/astral-sh/uv/pull/10856))
- Include `commit_id` and `requested_revision` in `direct_url.json` ([#​10862](https://github.com/astral-sh/uv/pull/10862))
- Invalidate lockfile when static versions change ([#​10858](https://github.com/astral-sh/uv/pull/10858))
- Make GitHub fast path errors non-fatal ([#​10859](https://github.com/astral-sh/uv/pull/10859))
- Remove warnings for `--frozen` and `--locked` in `uv run --script` ([#​10840](https://github.com/astral-sh/uv/pull/10840))
- Resolve `find-links` paths relative to the configuration file ([#​10827](https://github.com/astral-sh/uv/pull/10827))
- Respect visitation order for proxy packages ([#​10833](https://github.com/astral-sh/uv/pull/10833))
- Treat version mismatch errors as non-fatal in fast paths ([#​10860](https://github.com/astral-sh/uv/pull/10860))
- Mark `--locked` and `--upgrade` are conflicting ([#​10836](https://github.com/astral-sh/uv/pull/10836))
- Relax error checking around unconditional enabling of conflicting extras ([#​10875](https://github.com/astral-sh/uv/pull/10875))
##### Documentation
- Reduce ambiguity in conflicting extras example ([#​10877](https://github.com/astral-sh/uv/pull/10877))
- Update pre-commit documentation ([#​10756](https://github.com/astral-sh/uv/pull/10756))
##### Error messages
- Error when workspace contains conflicting Python requirements ([#​10841](https://github.com/astral-sh/uv/pull/10841))
- Improve uvx error message when uv is missing ([#​9745](https://github.com/astral-sh/uv/pull/9745))
#### Install uv 0.5.23
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.23/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.23/uv-installer.ps1 | iex"
```
#### Download uv 0.5.23
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.23/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.22`](https://github.com/astral-sh/uv/releases/tag/0.5.22)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.21...0.5.22)
#### Release Notes
##### Enhancements
- Include version and contact information in GitHub User Agent ([#​10785](https://github.com/astral-sh/uv/pull/10785))
##### Performance
- Add fast-path for recursive extras in dynamic validation ([#​10823](https://github.com/astral-sh/uv/pull/10823))
- Fetch `pyproject.toml` from GitHub API ([#​10765](https://github.com/astral-sh/uv/pull/10765))
- Remove allocation in Git SHA truncation ([#​10801](https://github.com/astral-sh/uv/pull/10801))
- Skip GitHub fast path when full commit is already known ([#​10800](https://github.com/astral-sh/uv/pull/10800))
##### Bug fixes
- Add fallback to build backend when `Requires-Dist` mismatches ([#​10797](https://github.com/astral-sh/uv/pull/10797))
- Avoid deserialization error for paths above the root ([#​10789](https://github.com/astral-sh/uv/pull/10789))
- Avoid respecting preferences from other indexes ([#​10782](https://github.com/astral-sh/uv/pull/10782))
- Disable the distutils setuptools shim during interpreter query ([#​10819](https://github.com/astral-sh/uv/pull/10819))
- Omit variant when detecting compatible Python installs ([#​10722](https://github.com/astral-sh/uv/pull/10722))
- Remove TOCTOU errors in Git clone ([#​10758](https://github.com/astral-sh/uv/pull/10758))
- Validate metadata under GitHub fast path ([#​10796](https://github.com/astral-sh/uv/pull/10796))
- Include conflict markers in fork markers ([#​10818](https://github.com/astral-sh/uv/pull/10818))
##### Error messages
- Add tag incompatibility hints to sync failures ([#​10739](https://github.com/astral-sh/uv/pull/10739))
- Improve log when distutils is missing ([#​10713](https://github.com/astral-sh/uv/pull/10713))
- Show non-critical Python discovery errors if no other interpreter is found ([#​10716](https://github.com/astral-sh/uv/pull/10716))
- Use colors for lock errors ([#​10736](https://github.com/astral-sh/uv/pull/10736))
##### Documentation
- Add testing instructions to the AWS Lambda guide ([#​10805](https://github.com/astral-sh/uv/pull/10805))
#### Install uv 0.5.22
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.22/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.22/uv-installer.ps1 | iex"
```
#### Download uv 0.5.22
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.22/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.21`](https://github.com/astral-sh/uv/releases/tag/0.5.21)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.20...0.5.21)
#### Release Notes
##### Enhancements
- Avoid building dynamic versions when validating lockfile ([#​10703](https://github.com/astral-sh/uv/pull/10703))
##### Configuration
- Add `UV_VENV_SEED` environment variable ([#​10715](https://github.com/astral-sh/uv/pull/10715))
##### Performance
- Store unsupported tags in wheel filename ([#​10665](https://github.com/astral-sh/uv/pull/10665))
##### Bug fixes
- Avoid attempting to patch macOS dylib for non-macOS installs ([#​10721](https://github.com/astral-sh/uv/pull/10721))
- Avoid narrowing `requires-python` marker with disjunctions ([#​10704](https://github.com/astral-sh/uv/pull/10704))
- Respect environment variable credentials for indexes outside root ([#​10688](https://github.com/astral-sh/uv/pull/10688))
- Respect preferences for explicit index dependencies from `requirements.txt` ([#​10690](https://github.com/astral-sh/uv/pull/10690))
- Sort preferences by environment, then index ([#​10700](https://github.com/astral-sh/uv/pull/10700))
- Ignore permission errors when looking for user-level configuration file ([#​10697](https://github.com/astral-sh/uv/pull/10697))
##### Documentation
- Add `SyntaxWarning` compatibility note to bytecode compilation docs ([#​10701](https://github.com/astral-sh/uv/pull/10701))
- Add `MACOSX_DEPLOYMENT_TARGET` to the `--python-platform` documentation ([#​10698](https://github.com/astral-sh/uv/pull/10698))
#### Install uv 0.5.21
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.21/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.21/uv-installer.ps1 | iex"
```
#### Download uv 0.5.21
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.21/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.20`](https://github.com/astral-sh/uv/releases/tag/0.5.20)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.19...0.5.20)
#### Release Notes
##### Bug fixes
- Avoid failing when deserializing unknown tags ([#​10655](https://github.com/astral-sh/uv/pull/10655))
#### Install uv 0.5.20
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.20/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.20/uv-installer.ps1 | iex"
```
#### Download uv 0.5.20
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.20/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.19`](https://github.com/astral-sh/uv/releases/tag/0.5.19)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.18...0.5.19)
#### Release Notes
##### Enhancements
- Filter wheels from lockfile based on architecture ([#​10584](https://github.com/astral-sh/uv/pull/10584))
- Omit dynamic versions from the lockfile ([#​10622](https://github.com/astral-sh/uv/pull/10622))
- Add support for `pip freeze --path` ([#​10488](https://github.com/astral-sh/uv/pull/10488))
- Reduce verbosity of inline-metadata message when using `uv run <script.py>` ([#​10588](https://github.com/astral-sh/uv/pull/10588))
- Add opt-in Git LFS support ([#​10335](https://github.com/astral-sh/uv/pull/10335))
- Recommend `--native-tls` on SSL errors ([#​10605](https://github.com/astral-sh/uv/pull/10605))
- Show expected and available ABI tags in resolver errors ([#​10527](https://github.com/astral-sh/uv/pull/10527))
- Show target Python version in error messages ([#​10582](https://github.com/astral-sh/uv/pull/10582))
- Add `--output-format=json` support to `uv python list` ([#​10596](https://github.com/astral-sh/uv/pull/10596))
##### Python
The managed Python distributions have been updated, including:
- Python 3.14 support on Windows
- Python 3.14.0a4 support
- 64-bit RISC-V Linux support
- Bundled `libedit` updated from [`2021091`](https://github.com/astral-sh/uv/commit/20210910)-3.1 -> [`2024080`](https://github.com/astral-sh/uv/commit/20240808)-3.1
- Bundled `tcl/tk` updated from 8.6.12 -> 8.6.14 (for all Python versions on Unix, only for Python 3.14 on Windows)
See the [`python-build-standalone` release notes](https://github.com/astral-sh/python-build-standalone/releases/tag/20250115) for more details.
##### Performance
- Avoid allocating when stripping source distribution extension ([#​10625](https://github.com/astral-sh/uv/pull/10625))
- Reduce `WheelFilename` to 48 bytes ([#​10583](https://github.com/astral-sh/uv/pull/10583))
- Reduce distribution size to 200 bytes ([#​10601](https://github.com/astral-sh/uv/pull/10601))
- Remove `import re` from entrypoint wrapper scripts ([#​10627](https://github.com/astral-sh/uv/pull/10627))
- Shrink size of platform tag enum ([#​10546](https://github.com/astral-sh/uv/pull/10546))
- Use `ArcStr` in verbatim URL ([#​10600](https://github.com/astral-sh/uv/pull/10600))
- Use `memchr` for wheel parsing ([#​10620](https://github.com/astral-sh/uv/pull/10620))
##### Bug fixes
- Avoid reading symlinks during `uv python install` on Windows ([#​10639](https://github.com/astral-sh/uv/pull/10639))
- Correct Pyston tag format ([#​10580](https://github.com/astral-sh/uv/pull/10580))
- Provide `pyproject.toml` path for parse errors in `uv venv` ([#​10553](https://github.com/astral-sh/uv/pull/10553))
- Don't treat `setuptools` and `wheel` as seed packages in uv sync on Python 3.12 ([#​10572](https://github.com/astral-sh/uv/pull/10572))
- Fix git-tag cache-key reader in case of slashes ([#​10467](https://github.com/astral-sh/uv/issues/10467)) ([#​10500](https://github.com/astral-sh/uv/pull/10500))
- Include build tag in rendered wheel filenames ([#​10599](https://github.com/astral-sh/uv/pull/10599))
- Patch embedded install path for Python dylib on macOS during `python install` ([#​10629](https://github.com/astral-sh/uv/pull/10629))
- Read cached registry distributions when `--config-settings` are present ([#​10578](https://github.com/astral-sh/uv/pull/10578))
- Show resolver hints for packages with markers ([#​10607](https://github.com/astral-sh/uv/pull/10607))
##### Documentation
- Add meta titles to documents in guides, excluding integration documents ([#​10539](https://github.com/astral-sh/uv/pull/10539))
- Remove `build-system` from example workspace rot ([#​10636](https://github.com/astral-sh/uv/pull/10636))
##### Preview features
- Make build backend type annotations more generic ([#​10549](https://github.com/astral-sh/uv/pull/10549))
#### Install uv 0.5.19
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.19/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.19/uv-installer.ps1 | iex"
```
#### Download uv 0.5.19
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.19/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.18`](https://github.com/astral-sh/uv/releases/tag/0.5.18)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.17...0.5.18)
#### Release Notes
##### Bug fixes
- Avoid forking for identical markers ([#​10490](https://github.com/astral-sh/uv/pull/10490))
- Avoid panic in `uv remove` when only comments exist ([#​10484](https://github.com/astral-sh/uv/pull/10484))
- Revert "improve shell compatibility of venv activate scripts ([#​10397](https://github.com/astral-sh/uv/issues/10397))" ([#​10497](https://github.com/astral-sh/uv/pull/10497))
#### Install uv 0.5.18
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.18/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.18/uv-installer.ps1 | iex"
```
#### Download uv 0.5.18
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.18/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.17`](https://github.com/astral-sh/uv/releases/tag/0.5.17)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.16...0.5.17)
#### Release Notes
This release includes support for generating lockfiles from scripts based on inline metadata, as defined in PEP 723.
By default, scripts remain unlocked, and must be locked explicitly with `uv lock --script /path/to/script.py`, which will generate a lockfile adjacent to the script (e.g., `script.py.lock`). Once generated, the lockfile will be respected (and updated, if necessary) across `uv run --script`, `uv add --script`, and `uv remove --script` invocations.
This release also includes support for `uv export --script` and `uv tree --script`. Both commands support PEP 723 scripts with and without accompanying lockfiles.
##### Enhancements
- Add support for locking PEP 723 scripts ([#​10135](https://github.com/astral-sh/uv/pull/10135))
- Respect PEP 723 script lockfiles in `uv run` ([#​10136](https://github.com/astral-sh/uv/pull/10136))
- Update PEP 723 lockfile in `uv add --script` ([#​10145](https://github.com/astral-sh/uv/pull/10145))
- Update PEP 723 lockfile in `uv remove --script` ([#​10162](https://github.com/astral-sh/uv/pull/10162))
- Add `--script` support to `uv export` for PEP 723 scripts ([#​10160](https://github.com/astral-sh/uv/pull/10160))
- Add `--script` support to `uv tree` for PEP 723 scripts ([#​10159](https://github.com/astral-sh/uv/pull/10159))
- Add `ls` alias to `uv {tool, python, pip} list` ([#​10240](https://github.com/astral-sh/uv/pull/10240))
- Allow reading `--with-requirements` from stdin in `uv add` and `uv run` ([#​10447](https://github.com/astral-sh/uv/pull/10447))
- Warn-and-ignore for unsupported `requirements.txt` options ([#​10420](https://github.com/astral-sh/uv/pull/10420))
##### Preview features
- Add remaining Python type annotations to build backend ([#​10434](https://github.com/astral-sh/uv/pull/10434))
##### Performance
- Avoid allocating for names in the PEP 508 parser ([#​10476](https://github.com/astral-sh/uv/pull/10476))
- Fetch concurrently for non-first-match index strategies ([#​10432](https://github.com/astral-sh/uv/pull/10432))
- Remove unnecessary `.to_string()` call ([#​10419](https://github.com/astral-sh/uv/pull/10419))
- Respect sentinels in package prioritization ([#​10443](https://github.com/astral-sh/uv/pull/10443))
- Use `ArcStr` for marker values ([#​10453](https://github.com/astral-sh/uv/pull/10453))
- Use `ArcStr` for package, extra, and group names ([#​10475](https://github.com/astral-sh/uv/pull/10475))
- Use `matches!` rather than `contains` in `requirements.txt` parsing ([#​10423](https://github.com/astral-sh/uv/pull/10423))
- Use faster disjointness check for markers ([#​10439](https://github.com/astral-sh/uv/pull/10439))
- Pre-compute PEP 508 markers from universal markers ([#​10472](https://github.com/astral-sh/uv/pull/10472))
##### Bug fixes
- Fix `UV_FIND_LINKS` delimiter to split on commas ([#​10477](https://github.com/astral-sh/uv/pull/10477))
- Improve `uv tool list` output when tool environment is broken ([#​10409](https://github.com/astral-sh/uv/pull/10409))
- Only track markers for compatible versions ([#​10457](https://github.com/astral-sh/uv/pull/10457))
- Respect `requires-python` when installing tools ([#​10401](https://github.com/astral-sh/uv/pull/10401))
- Visit proxy packages eagerly ([#​10441](https://github.com/astral-sh/uv/pull/10441))
- Improve shell compatibility of `venv` activate scripts ([#​10397](https://github.com/astral-sh/uv/pull/10397))
- Read publish username from URL ([#​10469](https://github.com/astral-sh/uv/pull/10469))
##### Documentation
- Add Lambda layer instructions to AWS Lambda guide ([#​10411](https://github.com/astral-sh/uv/pull/10411))
- Add `uv lock --script` to the docs ([#​10414](https://github.com/astral-sh/uv/pull/10414))
- Use Windows-specific instructions in Jupyter guide ([#​10446](https://github.com/astral-sh/uv/pull/10446))
#### Install uv 0.5.17
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.17/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.17/uv-installer.ps1 | iex"
```
#### Download uv 0.5.17
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.17/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.16`](https://github.com/astral-sh/uv/releases/tag/0.5.16)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.15...0.5.16)
#### Release Notes
##### Enhancements
- Accept full requirements in `uv remove` ([#​10338](https://github.com/astral-sh/uv/pull/10338))
##### Performance
- Avoid over-counting versions in batch prefetcher ([#​10350](https://github.com/astral-sh/uv/pull/10350))
- Deactivate tracing for version-choosing ([#​10351](https://github.com/astral-sh/uv/pull/10351))
- Force a niche into `VersionSmall` ([#​10385](https://github.com/astral-sh/uv/pull/10385))
- Optimize `requirements_for_extra` ([#​10348](https://github.com/astral-sh/uv/pull/10348))
- Re-enable `zlib-ng` on x86 platforms ([#​10365](https://github.com/astral-sh/uv/pull/10365))
- Re-enable zlib-ng on all platforms (except s390x, PowerPC, and FreeBSD) ([#​10370](https://github.com/astral-sh/uv/pull/10370))
- Remove `[u64; 4]` from small version to move `Arc` to full version ([#​10345](https://github.com/astral-sh/uv/pull/10345))
- Shrink `Dist` from 352 to 288 bytes ([#​10389](https://github.com/astral-sh/uv/pull/10389))
- Speed up file pins by removing nested hash map ([#​10346](https://github.com/astral-sh/uv/pull/10346))
- Buffer file reads in `serde_json::from_reader` ([#​10341](https://github.com/astral-sh/uv/pull/10341))
##### Bug fixes
- Avoid enforcing project-level required version for `uv self` ([#​10374](https://github.com/astral-sh/uv/pull/10374))
- Fix Ruff linting warnings from generated template files for extension modules ([#​10371](https://github.com/astral-sh/uv/pull/10371))
##### Documentation
- Add AWS Lambda integration guide ([#​10278](https://github.com/astral-sh/uv/pull/10278))
#### Install uv 0.5.16
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.16/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.16/uv-installer.ps1 | iex"
```
#### Download uv 0.5.16
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.16/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.15`](https://github.com/astral-sh/uv/releases/tag/0.5.15)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.14...0.5.15)
#### Release Notes
##### Python
The managed Python distributions have been updated, including:
- Python 3.14.0a3 support on macOS and Linux
- Performance improvements
- Fixes to SQLite feature detection
See the [`python-build-standalone` release notes](https://github.com/astral-sh/python-build-standalone/releases/tag/20250106) for more details.
##### Enhancements
- Respect `FORCE_COLOR` environment variable ([#​10315](https://github.com/astral-sh/uv/pull/10315))
##### Performance
- Avoid generating unused hashes during `uv lock` ([#​10307](https://github.com/astral-sh/uv/pull/10307))
- Visit source distributions before wheels ([#​10291](https://github.com/astral-sh/uv/pull/10291))
##### Bug fixes
- Avoid downgrading packages when `--upgrade` is provided ([#​10097](https://github.com/astral-sh/uv/pull/10097))
- Extract supported architectures from wheel tags ([#​10179](https://github.com/astral-sh/uv/pull/10179))
- Redact new index credentials in `uv add` ([#​10329](https://github.com/astral-sh/uv/pull/10329))
##### Documentation
- Clarify `exclude-newer` only allows full timestamps in settings documentation ([#​9135](https://github.com/astral-sh/uv/pull/9135))
- Tweak script `--no-project` comment ([#​10331](https://github.com/astral-sh/uv/pull/10331))
- Update copyright year ([#​10297](https://github.com/astral-sh/uv/pull/10297))
- Add instructinos for installing with Scoop ([#​10332](https://github.com/astral-sh/uv/pull/10332))
#### Install uv 0.5.15
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.15/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.15/uv-installer.ps1 | iex"
```
#### Download uv 0.5.15
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.15/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.14`](https://github.com/astral-sh/uv/releases/tag/0.5.14)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.13...0.5.14)
#### Release Notes
##### Enhancements
- Add `--exact` flag to `uv run` ([#​10198](https://github.com/astral-sh/uv/pull/10198))
- Add `--outdated` support to `uv pip tree` ([#​10199](https://github.com/astral-sh/uv/pull/10199))
- Add a required version setting to uv ([#​10248](https://github.com/astral-sh/uv/pull/10248))
- Add loongarch64 to supported Python platform tags ([#​10223](https://github.com/astral-sh/uv/pull/10223))
- Add manylinux2014 aliases for `--python-platform` ([#​10217](https://github.com/astral-sh/uv/pull/10217))
- Add support for Python interpreters on ARMv5TE platforms ([#​10234](https://github.com/astral-sh/uv/pull/10234))
- Add support for optional `--description` in `uv init` ([#​10209](https://github.com/astral-sh/uv/pull/10209))
- Ignore empty or missing hrefs in Simple HTML ([#​10276](https://github.com/astral-sh/uv/pull/10276))
- Patch pkgconfig files after Python install ([#​10189](https://github.com/astral-sh/uv/pull/10189))
##### Performance
- Actually use jemalloc as alternative allocator ([#​10269](https://github.com/astral-sh/uv/pull/10269))
- Parse URLs lazily in resolver ([#​10259](https://github.com/astral-sh/uv/pull/10259))
- Use `BTreeMap::range` to avoid iterating over unnecessary versions ([#​10266](https://github.com/astral-sh/uv/pull/10266))
##### Bug fixes
- Accept directories with space names in `uv init` ([#​10246](https://github.com/astral-sh/uv/pull/10246))
- Avoid forking on version in non-universal resolutions ([#​10274](https://github.com/astral-sh/uv/pull/10274))
- Avoid stripping query parameters from URLs ([#​10253](https://github.com/astral-sh/uv/pull/10253))
- Consider workspace dependencies to be 'direct' ([#​10197](https://github.com/astral-sh/uv/pull/10197))
- Detect cyclic dependencies during builds ([#​10258](https://github.com/astral-sh/uv/pull/10258))
- Guard against self-deletion in `uv venv` and `uv tool` ([#​10206](https://github.com/astral-sh/uv/pull/10206))
- Respect static metadata for already-installed distributions ([#​10242](https://github.com/astral-sh/uv/pull/10242))
#### Install uv 0.5.14
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.14/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.14/uv-installer.ps1 | iex"
```
#### Download uv 0.5.14
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.14/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.13`](https://github.com/astral-sh/uv/releases/tag/0.5.13)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.12...0.5.13)
#### Release Notes
##### Bug fixes
- Avoid enforcing URL check on initial publish ([#​10182](https://github.com/astral-sh/uv/pull/10182))
- Fix incorrect mismatched constraints reference ([#​10184](https://github.com/astral-sh/uv/pull/10184))
- Revert "Update `reqwest` ([#​10178](https://github.com/astral-sh/uv/issues/10178))" ([#​10187](https://github.com/astral-sh/uv/pull/10187))
#### Install uv 0.5.13
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.13/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.13/uv-installer.ps1 | iex"
```
#### Download uv 0.5.13
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.13/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.12`](https://github.com/astral-sh/uv/releases/tag/0.5.12)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.11...0.5.12)
#### Release Notes
##### Enhancements
- Support `uv export` for non-project workspaces ([#​10144](https://github.com/astral-sh/uv/pull/10144))
- Set glibc versions for standalone installers ([#​10142](https://github.com/astral-sh/uv/pull/10142))
- Allow environment variables to be included in cache keys ([#​10170](https://github.com/astral-sh/uv/pull/10170))
##### Preview features
- Include extras in `uv-build` `Requires-Dist` metadata ([#​10110](https://github.com/astral-sh/uv/pull/10110))
- Use `shutil.which` for the build backend ([#​10028](https://github.com/astral-sh/uv/pull/10028))
##### Bug fixes
- Always write slash paths to RECORD file ([#​10164](https://github.com/astral-sh/uv/pull/10164))
- Add support for subdirectories in direct URLs in `uv.lock` ([#​10068](https://github.com/astral-sh/uv/pull/10068))
- Avoid duplicating backslashes in sysconfig parser ([#​10063](https://github.com/astral-sh/uv/pull/10063))
- Avoid erroring when subdirectories are provided in `uv add` ([#​10095](https://github.com/astral-sh/uv/pull/10095))
- Backtrack to non-local versions when wheels are missing platform support ([#​10046](https://github.com/astral-sh/uv/pull/10046))
- Fix mirror script to handle newer metadata format ([#​10050](https://github.com/astral-sh/uv/pull/10050))
- Preserve sort when deciding on requirement placement ([#​10078](https://github.com/astral-sh/uv/pull/10078))
- Remove redundant alias in `uv init` CLI ([#​10124](https://github.com/astral-sh/uv/pull/10124))
- Respect sources credentials in non-project workspaces ([#​10125](https://github.com/astral-sh/uv/pull/10125))
- Show non-project dependencies in `uv tree` ([#​10149](https://github.com/astral-sh/uv/pull/10149))
- Strip fragment when storing direct URL ([#​10093](https://github.com/astral-sh/uv/pull/10093))
- Include hashes for local source archives ([#​10080](https://github.com/astral-sh/uv/pull/10080))
##### Documentation
- Fix invalid syntax in some sources examples ([#​10127](https://github.com/astral-sh/uv/pull/10127))
#### Install uv 0.5.12
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.12/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.12/uv-installer.ps1 | iex"
```
#### Download uv 0.5.12
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.12/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.11`](https://github.com/astral-sh/uv/releases/tag/0.5.11)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.10...0.5.11)
#### Release Notes
##### Enhancements
- Normalize `platform_system` to `sys_platform` ([#​9949](https://github.com/astral-sh/uv/pull/9949))
- Improve retry mechanisms on Windows for `copy_atomic` and `write_atomic` ([#​10026](https://github.com/astral-sh/uv/pull/10026))
- Add nuance to prefetch logging ([#​9984](https://github.com/astral-sh/uv/pull/9984))
- Update to [`python-build-standalone 20241219`](https://github.com/astral-sh/python-build-standalone/releases/tag/20241219)
##### Preview features
- Build backend: Preserve executable bits for scripts in distributions ([#​10027](https://github.com/astral-sh/uv/pull/10027))
- Build backend: Handle case where `metadata_directory` already contains `dist-info` directory ([#​10005](https://github.com/astral-sh/uv/pull/10005))
##### Performance
- Batch resolver pre-fetches per fork ([#​10029](https://github.com/astral-sh/uv/pull/10029))
##### Bug fixes
- Allow `--script` to be provided with `uv run -` ([#​10035](https://github.com/astral-sh/uv/pull/10035))
- Allow `uv run` arguments when reading from `stdin` ([#​10034](https://github.com/astral-sh/uv/pull/10034))
- Prefer higher Python lower-bounds when forking ([#​10007](https://github.com/astral-sh/uv/pull/10007))
- Remove references to deprecated `first-match` ([#​10036](https://github.com/astral-sh/uv/pull/10036))
##### Documentation
- Add `uv python install --preview` to the documentation ([#​10010](https://github.com/astral-sh/uv/pull/10010))
- Fix `uv python install --default` note about multiple requests ([#​10011](https://github.com/astral-sh/uv/pull/10011))
- Fix typo in Caching docs ([#​10032](https://github.com/astral-sh/uv/pull/10032))
- Remove remaining references to deprecated `first-match` ([#​10038](https://github.com/astral-sh/uv/pull/10038))
- Supplement missing separators for `UV_INSTALL_DIR` directions on Windows ([#​9507](https://github.com/astral-sh/uv/pull/9507))
#### Install uv 0.5.11
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.11/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.11/uv-installer.ps1 | iex"
```
#### Download uv 0.5.11
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.11/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.10`](https://github.com/astral-sh/uv/releases/tag/0.5.10)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.9...0.5.10)
#### Release Notes
##### Enhancements
- Improve backtracking behavior when packages conflict repeatedly ([#​9843](https://github.com/astral-sh/uv/pull/9843))
- Patch Python `sysconfig` values such as `AR` at `ar` install time ([#​9905](https://github.com/astral-sh/uv/pull/9905))
- Patch Python `sysconfig` values such as `clang` to `cc` at install time ([#​9916](https://github.com/astral-sh/uv/pull/9916))
- Skip `--native-tls` in `pip compile` header ([#​9913](https://github.com/astral-sh/uv/pull/9913))
- Add resolver error hint for no-binary and no-build failures ([#​9948](https://github.com/astral-sh/uv/pull/9948))
- Improve build error messages ([#​9660](https://github.com/astral-sh/uv/pull/9660))
- Reduce redundant Python version incompatibilities in resolver error message ([#​9957](https://github.com/astral-sh/uv/pull/9957))
- Reduce redundant enumeration of all package versions in some resolver errors ([#​9885](https://github.com/astral-sh/uv/pull/9885))
- Improve display of ranges when pre-releases are not allowed ([#​9944](https://github.com/astral-sh/uv/pull/9944))
- Improve error messages for `uv remove` ([#​9959](https://github.com/astral-sh/uv/pull/9959))
- Improve phrasing for single term incompatibilities ([#​9953](https://github.com/astral-sh/uv/pull/9953))
- Improve styling of `uv remove` dependency hints ([#​9960](https://github.com/astral-sh/uv/pull/9960))
- Omit trailing zeros on Python requirements inferred from versions ([#​9952](https://github.com/astral-sh/uv/pull/9952))
- Show a concise error message for missing `version` field ([#​9912](https://github.com/astral-sh/uv/pull/9912))
- Use the build options value to improve hints for no wheel / source distribution errors ([#​9950](https://github.com/astral-sh/uv/pull/9950))
##### Bug fixes
- Allow multiple disjoint URLs in overrides ([#​9893](https://github.com/astral-sh/uv/pull/9893))
- Include explicit indexes in publish index choice ([#​9932](https://github.com/astral-sh/uv/pull/9932))
- Fix Python interpreter detection for 32-bit operating systems on 64-bit hosts ([#​9970](https://github.com/astral-sh/uv/pull/9970))
##### Documentation
- Fix typo "operation system" ([#​9971](https://github.com/astral-sh/uv/pull/9971))
- Clarify uninstallation docs ([#​9938](https://github.com/astral-sh/uv/pull/9938))
- Add a note to say that dependencies between workspace members are editable ([#​9363](https://github.com/astral-sh/uv/pull/9363))
- Correctly document default value of `fork-strategy` setting ([#​9931](https://github.com/astral-sh/uv/pull/9931))
- Use double quotes for Windows support in examples ([#​9946](https://github.com/astral-sh/uv/pull/9946))
- Remove `pypy` from top-level pin example ([#​9896](https://github.com/astral-sh/uv/pull/9896))
- Update references to `python-build-standalone` to reflect the transferred project ([#​9977](https://github.com/astral-sh/uv/pull/9977))
- Use a different Ruff version in documentation ([#​9943](https://github.com/astral-sh/uv/pull/9943))
- Change example so it works as-is on `powershell` and `cmd.exe` ([#​9903](https://github.com/astral-sh/uv/pull/9903))
- Clarify best practice for Python matrix strategy in GitHub Actions ([#​9454](https://github.com/astral-sh/uv/pull/9454))
- Add documentation for `uv-lock` and `uv-export` pre-commit hooks ([#​9872](https://github.com/astral-sh/uv/pull/9872))
##### Preview features
- Build backend: Fix pre-PEP 639 license files ([#​9965](https://github.com/astral-sh/uv/pull/9965))
#### Install uv 0.5.10
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.10/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.10/uv-installer.ps1 | iex"
```
#### Download uv 0.5.10
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.10/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.9`](https://github.com/astral-sh/uv/releases/tag/0.5.9)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.8...0.5.9)
#### Release Notes
##### Enhancements
- Fork version selection based on `requires-python` requirements ([#​9827](https://github.com/astral-sh/uv/pull/9827))
- Patch `sysconfig` data at install time ([#​9857](https://github.com/astral-sh/uv/pull/9857))
- Remove `-isysroot` when patching sysconfig ([#​9860](https://github.com/astral-sh/uv/pull/9860))
##### Configuration
- Introduce a `--fork-strategy` preference mode ([#​9868](https://github.com/astral-sh/uv/pull/9868))
- Add support for `UV_OFFLINE` ([#​9795](https://github.com/astral-sh/uv/pull/9795))
##### Bug fixes
- Avoid `panic!()` when current directory does not exist ([#​9876](https://github.com/astral-sh/uv/pull/9876))
- Avoid reusing interpreter metadata when running under Rosetta ([#​9846](https://github.com/astral-sh/uv/pull/9846))
- Avoid trailing slash when deserializing from lockfile ([#​9848](https://github.com/astral-sh/uv/pull/9848))
- Fix bug in terms when collapsing unavailable versions in resolver errors ([#​9877](https://github.com/astral-sh/uv/pull/9877))
- Fix suggestion to use `uv help python` on invalid install requests ([#​9820](https://github.com/astral-sh/uv/pull/9820))
- Skip root when assessing prefix viability ([#​9823](https://github.com/astral-sh/uv/pull/9823))
- Avoid spurious 'Upgraded tool environment' in `uv tool upgrade` ([#​9870](https://github.com/astral-sh/uv/pull/9870))
##### Rust API
- Upgrade minimum Rust version to 1.83 ([#​9815](https://github.com/astral-sh/uv/pull/9815))
##### Documentation
- Document the `--fork-strategy` setting ([#​9887](https://github.com/astral-sh/uv/pull/9887))
##### Preview features
- Build backend: Allow underscores in entrypoints ([#​9825](https://github.com/astral-sh/uv/pull/9825))
#### Install uv 0.5.9
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.9/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.9/uv-installer.ps1 | iex"
```
#### Download uv 0.5.9
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.9/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.8`](https://github.com/astral-sh/uv/releases/tag/0.5.8)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.7...0.5.8)
#### Release Notes
**This release does not include the `powerpc64le-unknown-linux-musl` target due to a build issue. See [#​9793](https://github.com/astral-sh/uv/issues/9793) for details. If this change affects you, please file an issue with your use-case.**
##### Enhancements
- Omit empty resolution markers in lockfile ([#​9738](https://github.com/astral-sh/uv/pull/9738))
- Add `--install-dir` to to `uv python install` and `uninstall` commands ([#​7920](https://github.com/astral-sh/uv/pull/7920))
- Add `--show-urls` and `--only-downloads` to `uv python list` ([#​8062](https://github.com/astral-sh/uv/pull/8062))
- Add `uv python list --all-arches` ([#​9782](https://github.com/astral-sh/uv/pull/9782))
- Add `uv run --gui-script` flag for running Python scripts with `pythonw.exe` ([#​9152](https://github.com/astral-sh/uv/pull/9152))
- Allow `--gui-script` on Unix ([#​9787](https://github.com/astral-sh/uv/pull/9787))
- Allow download of Python distribution variants optimized for newer x86\_64 microarchitectures ([#​9781](https://github.com/astral-sh/uv/pull/9781))
- Allow execution of `pyw` files on Unix ([#​9759](https://github.com/astral-sh/uv/pull/9759))
- Allow users to specify URLs in `project.dependencies` and `tool.uv.sources` ([#​9718](https://github.com/astral-sh/uv/pull/9718))
- Encode mutually-incompatible pairs of markers ([#​9444](https://github.com/astral-sh/uv/pull/9444))
- Improve the error message when a Python install request is not valid ([#​9783](https://github.com/astral-sh/uv/pull/9783))
- Preserve directory-level standalone build symlinks ([#​9723](https://github.com/astral-sh/uv/pull/9723))
- Add support for `uv publish --index <name>` ([#​9694](https://github.com/astral-sh/uv/pull/9694))
- Reframe `--locked` and `--frozen` as `--check` operations for `uv lock` ([#​9662](https://github.com/astral-sh/uv/pull/9662))
- Rename Python install scratch directory from `.cache` -> `.temp` ([#​9756](https://github.com/astral-sh/uv/pull/9756))
- Enable `uv tool uninstall uv` on Windows ([#​8963](https://github.com/astral-sh/uv/pull/8963))
- Improve self-dependency hint to make shadowing clear ([#​9716](https://github.com/astral-sh/uv/pull/9716))
- Refactor unavailable metadata to shrink the resolver ([#​9769](https://github.com/astral-sh/uv/pull/9769))
- Show 'depends on itself' for proxy packages ([#​9717](https://github.com/astral-sh/uv/pull/9717))
- Show a dedicated error for missing subdirectories ([#​9761](https://github.com/astral-sh/uv/pull/9761))
- Show a dedicated hint for missing `git+` prefixes ([#​9789](https://github.com/astral-sh/uv/pull/9789))
##### Performance
- Eagerly error when parsing `pyproject.toml` requirements ([#​9704](https://github.com/astral-sh/uv/pull/9704))
- Use copy-on-write when normalizing paths ([#​9710](https://github.com/astral-sh/uv/pull/9710))
##### Bug fixes
- Avoid enforcing non-conflicts in `uv export` ([#​9751](https://github.com/astral-sh/uv/pull/9751))
- Don't drop comments between items in TOML tables ([#​9784](https://github.com/astral-sh/uv/pull/9784))
- Don't fail with `--no-build` when static metadata is available ([#​9785](https://github.com/astral-sh/uv/pull/9785))
- Don't filter non-patch registry version ([#​9736](https://github.com/astral-sh/uv/pull/9736))
- Don't read metadata from stale `.egg-info` files ([#​9760](https://github.com/astral-sh/uv/pull/9760))
- Enforce correctness of self-dependencies ([#​9705](https://github.com/astral-sh/uv/pull/9705))
- Fix projects's typo in resolver error messages ([#​9708](https://github.com/astral-sh/uv/pull/9708))
- Ignore `.` prefixed directories during managed Python installation discovery ([#​9786](https://github.com/astral-sh/uv/pull/9786))
- Improve handling of invalid virtual environments during interpreter discovery ([#​8086](https://github.com/astral-sh/uv/pull/8086))
- Normalize relative paths when `--project` is specified ([#​9709](https://github.com/astral-sh/uv/pull/9709))
- Respect self-constraints on recursive extras ([#​9714](https://github.com/astral-sh/uv/pull/9714))
- Respect user settings for tracing coloring ([#​9733](https://github.com/astral-sh/uv/pull/9733))
- Retry on tar extraction errors ([#​9753](https://github.com/astral-sh/uv/pull/9753))
- Add conflict markers to the lock file ([#​9370](https://github.com/astral-sh/uv/pull/9370))
- De-duplicate resolution markers ([#​9780](https://github.com/astral-sh/uv/pull/9780))
- Avoid 403 error hint for PyTorch URLs ([#​9750](https://github.com/astral-sh/uv/pull/9750))
- Avoid treating non-existent `--find-links` as relative URLs ([#​9720](https://github.com/astral-sh/uv/pull/9720))
- Omit Windows Store `python3.13.exe` et al ([#​9679](https://github.com/astral-sh/uv/pull/9679))
- Replace executables with broken symlinks during `uv python install` ([#​9706](https://github.com/astral-sh/uv/pull/9706))
##### Documentation
- Fix build failure links ([#​9740](https://github.com/astral-sh/uv/pull/9740))
#### Install uv 0.5.8
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.8/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.8/uv-installer.ps1 | iex"
```
#### Download uv 0.5.8
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.8/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.7`](https://github.com/astral-sh/uv/releases/tag/0.5.7)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.6...0.5.7)
#### Release Notes
##### Enhancements
- Ignore dynamic version in source dist ([#​9549](https://github.com/astral-sh/uv/pull/9549))
- Improve build frontend error handling ([#​9611](https://github.com/astral-sh/uv/pull/9611))
- Un-hide `uv build --no-build-logs` option ([#​9642](https://github.com/astral-sh/uv/pull/9642))
- Flag version mismatch between sdist and wheel during `uv build` ([#​9633](https://github.com/astral-sh/uv/pull/9633))
- Improve message when updater receipt is for a different uv executable ([#​9487](https://github.com/astral-sh/uv/pull/9487))
- Add environment variable to disable writing installer metadata files ([#​8877](https://github.com/astral-sh/uv/pull/8877))
- Add managed downloads for the latest CPython releases: `3.9.21`, `3.10.16`, `3.11.11`, `3.12.8`, and `3.13.1` ([#​9696](https://github.com/astral-sh/uv/pull/9696))
##### Preview features
- Build backend: Add hint on import with preview disabled ([#​9691](https://github.com/astral-sh/uv/pull/9691))
- Build backend: Add direct builds to the resolver and installer ([#​9621](https://github.com/astral-sh/uv/pull/9621))
- Build backend: Add integration test for scripts ([#​9635](https://github.com/astral-sh/uv/pull/9635))
- Build backend: Add template to `uv init` ([#​9661](https://github.com/astral-sh/uv/pull/9661))
- Build backend: Add `--list` option ([#​9610](https://github.com/astral-sh/uv/pull/9610))
##### Bug fixes
- Create missing parent directories for output file of `uv export` / `uv pip compile` ([#​9648](https://github.com/astral-sh/uv/pull/9648))
- Fix missing display of non-freethreaded Python 3.13 in `python list` ([#​9669](https://github.com/astral-sh/uv/pull/9669))
- Implement `Ord` and `PartialOrd` without origin for `Requirement` ([#​9624](https://github.com/astral-sh/uv/pull/9624))
- Include more sources to avoid lowest bound warning ([#​9644](https://github.com/astral-sh/uv/pull/9644))
- Respect build tag priority in `uv.lock` ([#​9677](https://github.com/astral-sh/uv/pull/9677))
##### Documentation
- Add `build-essentials` note to build failures doc ([#​9641](https://github.com/astral-sh/uv/pull/9641))
- Add entry-point for distroless image in GitLab documentation ([#​9093](https://github.com/astral-sh/uv/pull/9093))
- Add documentation for `uv python pin` without a `REQUEST` argument ([#​9631](https://github.com/astral-sh/uv/pull/9631))
- Add a link to `uv python pin` reference docs ([#​9630](https://github.com/astral-sh/uv/pull/9630))
#### Install uv 0.5.7
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.7/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.7/uv-installer.ps1 | iex"
```
#### Download uv 0.5.7
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.7/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.6`](https://github.com/astral-sh/uv/releases/tag/0.5.6)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.5...0.5.6)
#### Release Notes
##### Enhancements
- Add `--dry-run` to `uv pip uninstall` ([#​9557](https://github.com/astral-sh/uv/pull/9557))
- Allow `--constraints` and `--overrides` in `uv tool install` ([#​9547](https://github.com/astral-sh/uv/pull/9547))
- Display removed Python executables on uninstall ([#​9459](https://github.com/astral-sh/uv/pull/9459))
- Warn when keyring has no password for `uv publish` ([#​8827](https://github.com/astral-sh/uv/pull/8827))
- Add suggested action when `.python-version` pin is incompatible with the project ([#​9590](https://github.com/astral-sh/uv/pull/9590))
- Improve error messages for mismatches in `tool.uv.sources` ([#​9482](https://github.com/astral-sh/uv/pull/9482))
- Use constraints in trace rather than irrelevant `requires-python` ([#​9529](https://github.com/astral-sh/uv/pull/9529))
##### Preview features
- Add `uv python install --default` ([#​8650](https://github.com/astral-sh/uv/pull/8650))
- Fix Python executable installation when multiple patch versions are requested ([#​9607](https://github.com/astral-sh/uv/pull/9607))
- Build backend: Revamp `include` / `exclude` ([#​9525](https://github.com/astral-sh/uv/pull/9525))
- Build backend: Add fast path ([#​9556](https://github.com/astral-sh/uv/pull/9556))
- Build backend: Add functions to collect file list ([#​9602](https://github.com/astral-sh/uv/pull/9602))
- Build backend: Default excludes ([#​9552](https://github.com/astral-sh/uv/pull/9552))
- Build backend: Refactoring before list ([#​9558](https://github.com/astral-sh/uv/pull/9558))
- Build backend: Warn when visiting over 10k files ([#​9523](https://github.com/astral-sh/uv/pull/9523))
##### Configuration
- Make `check-url` available in configuration files ([#​9032](https://github.com/astral-sh/uv/pull/9032))
##### Performance
- Avoid adding non-extra package with extra dependencies ([#​9540](https://github.com/astral-sh/uv/pull/9540))
- Avoid cloning `String` in marker evaluation ([#​9598](https://github.com/astral-sh/uv/pull/9598))
##### Rust API
- `uv-pep508`: Add more methods for simplifying `extra`-related expressions ([#​9469](https://github.com/astral-sh/uv/pull/9469))
##### Bug fixes
- Allow `file:` URLs to include package names ([#​9493](https://github.com/astral-sh/uv/pull/9493))
- Avoid using IDs across PubGrub states ([#​9538](https://github.com/astral-sh/uv/pull/9538))
- Consistently enforce requested-vs.-built metadata when retrieving wheels ([#​9484](https://github.com/astral-sh/uv/pull/9484))
- Do not show empty version specifier in `uv tool list` ([#​9605](https://github.com/astral-sh/uv/pull/9605))
- Include Git member information when getting metadata from cache ([#​9388](https://github.com/astral-sh/uv/pull/9388))
- Include base installation directory in uv run PATH ([#​9585](https://github.com/astral-sh/uv/pull/9585))
- Insert backslash when appending to system drive ([#​9488](https://github.com/astral-sh/uv/pull/9488))
- Normalize paths when lowering Git dependencies ([#​9595](https://github.com/astral-sh/uv/pull/9595))
- Omit origin when comparing requirements ([#​9570](https://github.com/astral-sh/uv/pull/9570))
- Override `manylinux_compatible` with `--python-platform` ([#​9526](https://github.com/astral-sh/uv/pull/9526))
- Pass extra when evaluating lockfile markers ([#​9539](https://github.com/astral-sh/uv/pull/9539))
- Propagate markers for recursive extras in resolver ([#​9509](https://github.com/astral-sh/uv/pull/9509))
- Respect path dependencies within Git dependencies ([#​9594](https://github.com/astral-sh/uv/pull/9594))
- Support recursive extras with marker in `pip compile -r pyproject.toml` ([#​9535](https://github.com/astral-sh/uv/pull/9535))
- Don't emit unpinned warning for proxy packages ([#​9497](https://github.com/astral-sh/uv/pull/9497))
- Fix `--refresh-package` flag mentioned as `--refresh-dependency` ([#​9486](https://github.com/astral-sh/uv/pull/9486))
- Handle Windows AV/EDR file locks during script installations ([#​9543](https://github.com/astral-sh/uv/pull/9543))
- Re-enable conflicting extra/group tests and fix regression from [#​9540](https://github.com/astral-sh/uv/issues/9540) ([#​9582](https://github.com/astral-sh/uv/pull/9582))
##### Documentation
- Add missing word to docs for `run.md` ([#​9527](https://github.com/astral-sh/uv/pull/9527))
- Add policies reference section and license document ([#​9367](https://github.com/astral-sh/uv/pull/9367))
- Fix typo in entry point docs ([#​9491](https://github.com/astral-sh/uv/pull/9491))
- Fix up version in prior uninstall instructions ([#​9485](https://github.com/astral-sh/uv/pull/9485))
- Mention `uv pip` behavior in build system note ([#​9586](https://github.com/astral-sh/uv/pull/9586))
- Update build failures document ([#​9584](https://github.com/astral-sh/uv/pull/9584))
- Correct wording for multiple sources section ([#​9504](https://github.com/astral-sh/uv/pull/9504))
#### Install uv 0.5.6
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.6/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.6/uv-installer.ps1 | iex"
```
#### Download uv 0.5.6
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.6/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.5`](https://github.com/astral-sh/uv/releases/tag/0.5.5)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.4...0.5.5)
#### Release Notes
##### Enhancements
- Add aliases for build backend requests ([#​9294](https://github.com/astral-sh/uv/pull/9294))
- Avoid displaying empty paths ([#​9312](https://github.com/astral-sh/uv/pull/9312))
- Allow constraints in `uv tool upgrade` ([#​9375](https://github.com/astral-sh/uv/pull/9375))
- Remove conflict between `--no-sync` and `--frozen` in `uv run` ([#​9400](https://github.com/astral-sh/uv/pull/9400))
- Respect dependency sources in overrides and constraints ([#​9455](https://github.com/astral-sh/uv/pull/9455))
- Show an interpreter-focused message for `--target` and `--prefix` ([#​9373](https://github.com/astral-sh/uv/pull/9373))
- Add `--no-extra` flag and setting ([#​9387](https://github.com/astral-sh/uv/pull/9387))
- Add `uv export --prune` ([#​9389](https://github.com/astral-sh/uv/pull/9389))
- Add dedicated error message for musl install attempts ([#​9430](https://github.com/astral-sh/uv/pull/9430))
- Add various grammar changes to conflict error messages ([#​9369](https://github.com/astral-sh/uv/pull/9369))
- Annotate default groups in conflict error messages ([#​9368](https://github.com/astral-sh/uv/pull/9368))
- Report marker diagnostics during parsing, rather than evaluation ([#​9338](https://github.com/astral-sh/uv/pull/9338))
- Use consistent formatting for build system errors ([#​9340](https://github.com/astral-sh/uv/pull/9340))
- Use rich diagnostics for build failures ([#​9335](https://github.com/astral-sh/uv/pull/9335))
##### Preview features
- Improve build backend excludes ([#​9281](https://github.com/astral-sh/uv/pull/9281))
- Include PEP 639 `license-files` metadata during `uv publish` ([#​9442](https://github.com/astral-sh/uv/pull/9442))
##### Performance
- Initialize rayon lazily ([#​9435](https://github.com/astral-sh/uv/pull/9435))
- Migrate to PubGrub's arena for package names ([#​9448](https://github.com/astral-sh/uv/pull/9448))
##### Bug fixes
- Allow dependency groups to include the containing package ([#​9385](https://github.com/astral-sh/uv/pull/9385))
- Allow syncing to empty virtual environment directories ([#​9427](https://github.com/astral-sh/uv/pull/9427))
- Allow system Python discovery with `--target` and `--prefix` ([#​9371](https://github.com/astral-sh/uv/pull/9371))
- Don't warn when `--output-file` is empty ([#​9417](https://github.com/astral-sh/uv/pull/9417))
- Fix Python interpreter discovery on non-glibc hosts ([#​9005](https://github.com/astral-sh/uv/pull/9005))
- Fix `tool.uv.dependency-metadata.[].version` schema ([#​9468](https://github.com/astral-sh/uv/pull/9468))
- Only respect preferences across the same indexes ([#​9302](https://github.com/astral-sh/uv/pull/9302))
- Re-compile when `--compile` is passed to an install operation ([#​9378](https://github.com/astral-sh/uv/pull/9378))
- Remove `--upgrade`, `--no-upgrade`, and `--upgrade-package` from `uv tool upgrade` ([#​9318](https://github.com/astral-sh/uv/pull/9318))
- Remove dev dependencies in `--all-groups --no-dev` ([#​9300](https://github.com/astral-sh/uv/pull/9300))
- Surface extras and group conflicts in `uv export` ([#​9365](https://github.com/astral-sh/uv/pull/9365))
- Treat deprecated aliases as equivalent in marker algebra ([#​9342](https://github.com/astral-sh/uv/pull/9342))
- Treat less compatible tags as lower priority in resolver ([#​9339](https://github.com/astral-sh/uv/pull/9339))
##### Documentation
- Avoid referencing `scikit-build` (instead of `scikit-build-core`) ([#​9320](https://github.com/astral-sh/uv/pull/9320))
- Expand entry points documentation ([#​9329](https://github.com/astral-sh/uv/pull/9329))
- Fix example `pyproject.toml` in project concept documentation ([#​9298](https://github.com/astral-sh/uv/pull/9298))
- Fix header level of "Conflicting dependencies" page ([#​9330](https://github.com/astral-sh/uv/pull/9330))
- Touch-up the extension module guide ([#​9293](https://github.com/astral-sh/uv/pull/9293))
- Update the dependencies documentation ([#​9359](https://github.com/astral-sh/uv/pull/9359))
- Reference `--no-progress` option in related environment variable ([#​9357](https://github.com/astral-sh/uv/pull/9357))
#### Install uv 0.5.5
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.5/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.5/uv-installer.ps1 | iex"
```
#### Download uv 0.5.5
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.5/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.4`](https://github.com/astral-sh/uv/releases/tag/0.5.4)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.3...0.5.4)
#### Release Notes
##### Enhancements
- Accept either singular or plural values for CLI requirements ([#​9196](https://github.com/astral-sh/uv/pull/9196))
- Add `--all-groups` to `uv sync`, `uv run`, `uv export`, and `uv tree` ([#​8892](https://github.com/astral-sh/uv/pull/8892))
- Add a progress bar to `uv tree --outdated` and `uv pip list --outdated` ([#​9284](https://github.com/astral-sh/uv/pull/9284))
- Add retries for Python downloads ([#​9274](https://github.com/astral-sh/uv/pull/9274))
- Use exponential backoff for publish retries ([#​9276](https://github.com/astral-sh/uv/pull/9276))
- Add manylinux target triples up to glibc 2.40 ([#​9234](https://github.com/astral-sh/uv/pull/9234))
##### Performance
- Parallelize network requests in `uv tree --outdated` ([#​9280](https://github.com/astral-sh/uv/pull/9280))
- Use `zlib-rs` on all platforms ([#​9264](https://github.com/astral-sh/uv/pull/9264))
##### Bug fixes
- Avoid validating extra and group sources in `build-system.requires` ([#​9273](https://github.com/astral-sh/uv/pull/9273))
- Catch retries with wrapped `reqwest` errors ([#​9253](https://github.com/astral-sh/uv/pull/9253))
- Sort hashes in `uv export` output ([#​9237](https://github.com/astral-sh/uv/pull/9237))
- Strip `--index` and `--default-index` from command header ([#​9288](https://github.com/astral-sh/uv/pull/9288))
##### Documentation
- Add breadcrumbs to the documentation ([#​9242](https://github.com/astral-sh/uv/pull/9242))
- Add minimum version to PyTorch guide ([#​9247](https://github.com/astral-sh/uv/pull/9247))
- Add support for anchor redirects with client-side js ([#​9212](https://github.com/astral-sh/uv/pull/9212))
- Improve content on project configuration ([#​9235](https://github.com/astral-sh/uv/pull/9235))
- Improve the project creation documentation ([#​9236](https://github.com/astral-sh/uv/pull/9236))
- Move the integration guides into the "Guides" section as a collapsed group ([#​9245](https://github.com/astral-sh/uv/pull/9245))
- Reorganize the project concept documentation ([#​9121](https://github.com/astral-sh/uv/pull/9121))
- Use the full screen height for the main content to stabilize the nav ([#​9153](https://github.com/astral-sh/uv/pull/9153))
##### Error messages
- Add dedicated warning for empty stdin ([#​9256](https://github.com/astral-sh/uv/pull/9256))
#### Install uv 0.5.4
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.4/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.4/uv-installer.ps1 | iex"
```
#### Download uv 0.5.4
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.4/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.3`](https://github.com/astral-sh/uv/releases/tag/0.5.3)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.2...0.5.3)
#### Release Notes
This release includes support for conflicting optional dependencies and dependency groups in the uv resolver, including the ability to specify dependency sources (like index assignment) on a per-extra or per-group basis.
For example, you can now select CPU-only vs. GPU-enabled PyTorch builds at runtime by defining conflicting extras in a `pyproject.toml`, and assigning different extras to different PyTorch indexes:
```toml
[project]
name = "project"
version = "0.1.0"
requires-python = ">=3.12.0"
[project.optional-dependencies]
### Include `torch` whenever `--extra cpu` or `--extra gpu` is provided.
cpu = ["torch>=2.5.1"]
gpu = ["torch>=2.5.1"]
[tool.uv]
### But allow `cpu` and `gpu` to choose conflicting versions of `torch`.
conflicts = [[{ extra = "cpu" }, { extra = "gpu" }]]
[tool.uv.sources]
torch = [
### With `--extra cpu`, pull PyTorch from the CPU-only index.
{ index = "pytorch-cpu", extra = "cpu", marker = "platform_system != 'Darwin'" },
### With `--extra gpu`, pull PyTorch from the GPU-enabled index.
{ index = "pytorch-gpu", extra = "gpu" },
]
[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true
[[tool.uv.index]]
name = "pytorch-gpu"
url = "https://download.pytorch.org/whl/cu124"
explicit = true
```
See the [PyTorch](https://docs.astral.sh/uv/guides/integration/pytorch/) documentation for more.
##### Enhancements
- Allow conflicting extras in explicit index assignments ([#​9160](https://github.com/astral-sh/uv/pull/9160))
- Support overrides and constraints in PEP 723 scripts ([#​9162](https://github.com/astral-sh/uv/pull/9162))
- Update `uv tool install --force` to imply `--reinstall-package <name>` ([#​9074](https://github.com/astral-sh/uv/pull/9074))
- Turn `--verify-hashes` on by default ([#​9170](https://github.com/astral-sh/uv/pull/9170))
##### Performance
- Enable `zlib-rs` on all platforms ([#​9202](https://github.com/astral-sh/uv/pull/9202))
##### Bug fixes
- Allow apostrophe in virtual environment name ([#​8984](https://github.com/astral-sh/uv/pull/8984))
- Automatically retry body errors when processing response ([#​9213](https://github.com/astral-sh/uv/pull/9213))
- Detect nested workspace inside the current workspace and members with identical names ([#​9094](https://github.com/astral-sh/uv/pull/9094))
- Only install the specified project with `--frozen --package` in legacy non-`[project]` workspaces ([#​9215](https://github.com/astral-sh/uv/pull/9215))
- Respect `[[tool.uv.index]]` in PEP 723 scripts ([#​9208](https://github.com/astral-sh/uv/pull/9208))
- Show derivation markers for resolutions with project name ([#​9136](https://github.com/astral-sh/uv/pull/9136))
- Sort distributions when computing hash ([#​9185](https://github.com/astral-sh/uv/pull/9185))
- Include trampolines in source distributions on Windows ([#​9172](https://github.com/astral-sh/uv/pull/9172))
##### Documentation
- Add `--index <name>=<url>` syntax to index documentation ([#​9139](https://github.com/astral-sh/uv/pull/9139))
- Add documentation for using uv with PyTorch ([#​9210](https://github.com/astral-sh/uv/pull/9210))
##### Error messages
- Add a dedicated error for `include = "dev"` with `tool.uv.dev-dependencies` ([#​9173](https://github.com/astral-sh/uv/pull/9173))
- Avoid showing disjoint marker error with `true` ([#​9169](https://github.com/astral-sh/uv/pull/9169))
- Improve error message when `git` is not found ([#​9206](https://github.com/astral-sh/uv/pull/9206))
- Include extras and dependency groups in derivation chains ([#​9113](https://github.com/astral-sh/uv/pull/9113))
- Include version constraints in derivation chains ([#​9112](https://github.com/astral-sh/uv/pull/9112))
#### Install uv 0.5.3
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.3/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.3/uv-installer.ps1 | iex"
```
#### Download uv 0.5.3
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.3/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.2`](https://github.com/astral-sh/uv/releases/tag/0.5.2)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.1...0.5.2)
#### Release Notes
##### Enhancements
- Hide `--no-system` from `uv pip tree` CLI ([#​9040](https://github.com/astral-sh/uv/pull/9040))
- Allow configuration of Python and PyPy install mirrors in `uv.toml` ([#​8695](https://github.com/astral-sh/uv/pull/8695))
- Allow passing Python download mirrors to `uv python install` ([#​8695](https://github.com/astral-sh/uv/pull/8695))
- Add support for specifying conflicting extras and dependency groups ([#​8976](https://github.com/astral-sh/uv/pull/8976), [#​9096](https://github.com/astral-sh/uv/pull/9096))
- Consistent colon usage in build failure errors ([#​8994](https://github.com/astral-sh/uv/pull/8994))
- Show full derivation chain when encountering build failures ([#​9108](https://github.com/astral-sh/uv/pull/9108))
- Show link we failed on parsing index pages ([#​9118](https://github.com/astral-sh/uv/pull/9118))
- Remove duplicate log when searching for interpreters ([#​9092](https://github.com/astral-sh/uv/pull/9092))
- Update uv development status classifier to "Stable" on PyPI ([#​8943](https://github.com/astral-sh/uv/pull/8943))
- Use rich diagnostic formatting for early build failures ([#​9041](https://github.com/astral-sh/uv/pull/9041))
- Use rich diagnostic formatting for install failures ([#​9043](https://github.com/astral-sh/uv/pull/9043))
##### Performance
- Avoid retraversing filesystem when testing exact glob matches ([#​9022](https://github.com/astral-sh/uv/pull/9022))
##### Bug fixes
- Allow `--no-build` to validate lock ([#​9024](https://github.com/astral-sh/uv/pull/9024))
- Allow default indexes to be marked as explicit ([#​8990](https://github.com/astral-sh/uv/pull/8990))
- Avoid creating `.venv` in `uv add --frozen` and `uv add --no-sync` ([#​8980](https://github.com/astral-sh/uv/pull/8980))
- Avoid duplicating first-entry comments in `uv add` ([#​9109](https://github.com/astral-sh/uv/pull/9109))
- Defer reporting of build failures in resolver ([#​9098](https://github.com/astral-sh/uv/pull/9098))
- Fix references to `--resolution-strategy` in error message output ([#​8971](https://github.com/astral-sh/uv/pull/8971))
- Ignore virtual environments in parent directories when choosing Python version for new projects ([#​9075](https://github.com/astral-sh/uv/pull/9075))
- Forward SIGTERM to child processes in `uv run` ([#​8933](https://github.com/astral-sh/uv/pull/8933))
- Prefer Python executable names that match the request over default names ([#​9066](https://github.com/astral-sh/uv/pull/9066))
- Prefer compatible to incompatible distributions when packages exist on multiple indexes ([#​8961](https://github.com/astral-sh/uv/pull/8961))
- Publish: Ignore non-matching files ([#​8986](https://github.com/astral-sh/uv/pull/8986))
- Revert `uv.lock` changes when `uv add` fails ([#​9030](https://github.com/astral-sh/uv/pull/9030))
- Show file extensions on available commands when not `.exe` ([#​9099](https://github.com/astral-sh/uv/pull/9099))
- Sort by name, then specifiers in `uv add` ([#​9097](https://github.com/astral-sh/uv/pull/9097))
- Split after specifiers in `--with` requirements ([#​9089](https://github.com/astral-sh/uv/pull/9089))
- Support multiple extras in universal pip compile output ([#​8960](https://github.com/astral-sh/uv/pull/8960))
##### Preview features
- Build backend: Add tests for source tree -> source dist -> wheel conversions ([#​9091](https://github.com/astral-sh/uv/pull/9091))
- Build backend: Switch to custom `glob-walkdir` implementation ([#​9013](https://github.com/astral-sh/uv/pull/9013))
- Build backend: Add minimal wheel settings ([#​9085](https://github.com/astral-sh/uv/pull/9085))
##### Documentation
- Add wget instructions for systems without curl ([#​8630](https://github.com/astral-sh/uv/pull/8630))
- Fix `.env` file example in docs ([#​9064](https://github.com/astral-sh/uv/pull/9064))
- Fix reference to `--resolution` in docs ([#​8968](https://github.com/astral-sh/uv/pull/8968))
- Fix typo in GitLab integration docs ([#​9047](https://github.com/astral-sh/uv/pull/9047))
- Update format of environment variable reference ([#​9018](https://github.com/astral-sh/uv/pull/9018))
- Use Python syntax for `value_type` consistently ([#​9017](https://github.com/astral-sh/uv/pull/9017))
- Use `[[index]]` API in configuration example ([#​9065](https://github.com/astral-sh/uv/pull/9065))
- Mention how to use extras ([#​8972](https://github.com/astral-sh/uv/pull/8972))
- Add some words about specifying conflicting extras/groups ([#​9120](https://github.com/astral-sh/uv/pull/9120))
#### Install uv 0.5.2
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.2/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.2/uv-installer.ps1 | iex"
```
#### Download uv 0.5.2
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.2/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.1`](https://github.com/astral-sh/uv/releases/tag/0.5.1)
[Compare Source](https://github.com/astral-sh/uv/compare/0.5.0...0.5.1)
#### Release Notes
##### Enhancements
- Allow installation of manylinux wheels on `riscv64` ([#​8934](https://github.com/astral-sh/uv/pull/8934))
##### Bug fixes
- Build source distributions at top-level of cache ([#​8905](https://github.com/astral-sh/uv/pull/8905))
- Allow non-registry dependencies in `uv pip list --outdated` ([#​8939](https://github.com/astral-sh/uv/pull/8939))
- Compute superset of existing and required hashes when healing cache ([#​8955](https://github.com/astral-sh/uv/pull/8955))
- Enable uv to replace and delete itself on Windows ([#​8914](https://github.com/astral-sh/uv/pull/8914))
- Remove source distribution filename from cache ([#​8907](https://github.com/astral-sh/uv/pull/8907))
- Respect `--index-url` in `uv pip list` ([#​8942](https://github.com/astral-sh/uv/pull/8942))
- Respect comma-separated extras in `--with` ([#​8946](https://github.com/astral-sh/uv/pull/8946))
##### Documentation
- Add uninstall note for previous versions ([#​8937](https://github.com/astral-sh/uv/pull/8937))
- Remove some missed references to `~/.cargo/bin` ([#​8936](https://github.com/astral-sh/uv/pull/8936))
- Split README's install code block into 3 ([#​8853](https://github.com/astral-sh/uv/pull/8853))
#### Install uv 0.5.1
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.1/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.1/uv-installer.ps1 | iex"
```
#### Download uv 0.5.1
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.1/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
### [`v0.5.0`](https://github.com/astral-sh/uv/releases/tag/0.5.0)
[Compare Source](https://github.com/astral-sh/uv/compare/0.4.30...0.5.0)
#### Release Notes
Since the launch of Python version, project, and tool management capabilities back in August, we've seen extraordinary adoption of uv. We've been iterating rapidly: adding new features, fixing bugs, and improving the user experience. Despite moving quickly, stability and compatibility have been a major focus — we've made thirty releases since our last breaking change. Consequently, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many 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
- **Use base executable to set virtualenv Python path** ([#​8481](https://github.com/astral-sh/uv/pull/8481))
Previously, uv canonicalized the path to the Python executable when setting the Python path in created virtual environments. This behavior had several undesirable effects: it would bypass stabilized version directories (as constructed by Homebrew) and it was not consistent with the Python standard library's behavior. Now, uv uses the `sys._base_executable` path.
- **Use XDG (i.e. `~/.local/bin`) instead of the Cargo home directory in the installer** ([#​8420](https://github.com/astral-sh/uv/pull/8420))
Previously, uv's installer used `$CARGO_HOME` or `~/.cargo/bin` for its target install directory. It's been a longstanding complaint that uv uses this directory, as there's no relationship to Cargo. Now, uv will be installed into `$XDG_BIN_HOME`, `$XDG_DATA_HOME/../bin`, or `~/.local/bin` (in that order). Note that `$UV_INSTALL_DIR` can always be used to override the target directory. Upgrading with `uv self update` will not move uv to the new install directory.
- **Discover and respect `.python-version` files in parent directories** ([#​6370](https://github.com/astral-sh/uv/pull/6370))
Previously, uv only read `.python-version` files from the working directory. Now, uv will check parent directories for `.python-version` files; however uv will not search for `.python-version` files beyond project boundaries. The new behavior is better aligned with that of `pyenv` and Rye.
- **Error when disallowed settings are defined in `uv.toml`** ([#​8550](https://github.com/astral-sh/uv/pull/8550))
Some settings can only be defined in the `pyproject.toml`. Previously, uv would ignore these settings when present in the `uv.toml`. Now, uv will error to avoid confusion about why the settings are not respected.
- **Implement PEP 440-compliant local version semantics** ([#​8797](https://github.com/astral-sh/uv/pull/8797))
Previously, uv's implementation of local versions (e.g. `2.0+cpu`) was not compliant with the specification due to the technical complexity of implementing the local version semantics in the PubGrub algorithm. Thanks to the work of [@​ericmarkmartin](https://github.com/ericmarkmartin), uv now has a spec-compliant implementation. Namely, uv will now allow a request for `torch==2.1.0` to install `[email protected]+cpu` regardless of whether `[email protected]` (without a local tag) actually exists.
- **Treat the base Conda environment as a system environment** ([#​7691](https://github.com/astral-sh/uv/pull/7691))
Previously, uv would not distinguish between the base and other Conda environments. Now, uv uses `CONDA_DEFAULT_ENV` and the names `base` and `default` to determine if an environment active via `CONDA_PREFIX` is the base environment. If the base environment is active, the `--system` flag must be used to mutate it.
- **Do not allow pre-releases when the `!=` operator is used** ([#​7974](https://github.com/astral-sh/uv/pull/7974))
Previously, uv would use the presence of a pre-release specifier in a version specifier as an opt-in to allow pre-release versions during resolution. The new behavior does not allow pre-releases when an inequals operator is used, e.g., `!= 2.0a1`.
- **Prefer `USERPROFILE` over `FOLDERID_Profile` when selecting a home directory on Windows** ([#​8048](https://github.com/astral-sh/uv/pull/8048))
This change is a side-effect of switching from the `directories` crate to `etcetera` for determining canonical system paths. If `USERPROFILE` is not set, the behavior will be unchanged.
- **Improve interactions between color environment variables and CLI options** ([#​8215](https://github.com/astral-sh/uv/pull/8215))
Previously, uv would respect the `FORCE_COLOR` and `NO_COLOR` environment variables over the `--color` flag. Now, when the `--color` flag is explicitly provided, uv will respect it over the environment variables.
- **Make `allow-insecure-host` a global option** ([#​8476](https://github.com/astral-sh/uv/pull/8476))
Previously, this option was only available in some parts of uv. Now, `--allow-insecure-host` can be provided to any command. For consistency, the `allow-insecure-host` setting has been removed from the `[tool.uv.pip]` configuration in favor of `[tool.uv]`.
- **Only write `.python-version` files during `uv init` for workspace members if the version differs** ([#​8897](https://github.com/astral-sh/uv/pull/8897))
Previously, uv would create a `.python-version` file for workspace members during `uv init`. Now, uv will only do so if the version differs from the `.python-version` file in the workspace root since uv will respect `.python-version` files in parent directories.
##### Enhancements
- Add `uv tree --outdated` ([#​8893](https://github.com/astral-sh/uv/pull/8893))
- Add armv8l alias for armv7l to support arm 32-bit compatibility mode ([#​8881](https://github.com/astral-sh/uv/pull/8881))
- Add support for `pip list --outdated` ([#​8872](https://github.com/astral-sh/uv/pull/8872))
- Allow semicolons directly after direct URLs ([#​8836](https://github.com/astral-sh/uv/pull/8836))
- Enable support for arbitrary git transports ([#​8769](https://github.com/astral-sh/uv/pull/8769))
- Improve Python discovery source messages ([#​8890](https://github.com/astral-sh/uv/pull/8890))
- Show dedicated error for trailing `;` on URL and path requirements ([#​8835](https://github.com/astral-sh/uv/pull/8835))
- Add progress bar for `uv cache clean` ([#​8857](https://github.com/astral-sh/uv/pull/8857))
- Warn on failure to query system configuration file ([#​8829](https://github.com/astral-sh/uv/pull/8829))
##### Preview features
- Add support for building basic source distributions with the experimental uv build backend ([#​8886](https://github.com/astral-sh/uv/pull/8886))
##### Bug fixes
- Respect dynamic version updates in `uv lock` ([#​8867](https://github.com/astral-sh/uv/pull/8867))
- Respect fork markers in `--resolution-mode=lowest-direct` ([#​8839](https://github.com/astral-sh/uv/pull/8839))
##### Documentation
- Add further examples of git+https support ([#​8841](https://github.com/astral-sh/uv/pull/8841))
- Add installer variables to environment reference ([#​8874](https://github.com/astral-sh/uv/pull/8874))
- Add note on private classifier ([#​8783](https://github.com/astral-sh/uv/pull/8783))
- Update pip-and-uv strictness example ([#​8822](https://github.com/astral-sh/uv/pull/8822))
- Fix `uv python install` docs to use an existing PyPy version ([#​8845](https://github.com/astral-sh/uv/pull/8845))
- Document how to mimic `--verbose` with `RUST_LOG` ([#​8858](https://github.com/astral-sh/uv/pull/8858))
#### Install uv 0.5.0
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.0/uv-installer.sh | sh
```
##### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.0/uv-installer.ps1 | iex"
```
#### Download uv 0.5.0
| File | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-apple-darwin.tar.gz.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-pc-windows-msvc.zip.sha256) |
| [uv-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-i686-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-powerpc64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-unknown-linux-gnu.tar.gz.sha256) |
| [uv-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [uv-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [uv-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-i686-unknown-linux-musl.tar.gz.sha256) |
| [uv-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-x86\_64-unknown-linux-musl.tar.gz.sha256) |
| [uv-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [uv-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.5.0/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
0.4.30->0.6.2Release Notes
astral-sh/uv (ghcr.io/astral-sh/uv)
v0.6.2Compare Source
Enhancements
tool.uv.build-constraint-dependencies(#11585)Performance
Arcfor index URLs (#11586)Bug fixes
Documentation
v0.6.1Compare Source
Enhancements
Bug fixes
--alltouvx --reinstallmessage (#11535)GETon HTTP 400 when attempting to use range requests for wheel download (#11539)uvx(#11524)Documentation
main.pyused to behello.py(#11519)v0.6.0Compare Source
There have been 31 releases and 1135 pull requests since 0.5.0, our last release with breaking changes. As before, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many 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
Create
main.pyinstead ofhello.pyinuv init(#10369)Previously,
uv initcreated ahello.pysample file. Now,uv initwill createmain.pyinstead — which aligns with expectations from user feedback. The--bareoption can be used to avoid creating the file altogether.Respect
UV_PYTHONinuv python install(#11487)Previously,
uv python installdid not read this environment variable; now it does. We believe this matches user expectations, however, this will take priority over.python-versionfiles which could be considered breaking.Set
UVto the uv executable path (#11326)When uv spawns a subprocess, it will now have the
UVenvironment variable set to theuvbinary path. This change is breaking if you are setting theUVenvironment variable yourself, as we will overwrite its value.Additionally, this change requires marking the uv Rust entrypoint (
uv::main) asunsafeto avoid unsoundness — this is only relevant if you are invoking uv using Rust. See the Rust documentation for details about the safety of updating a process' environment.Error on non-existent extras, e.g., in
uv sync(#11426)Previously, uv would silently ignore non-existent extras requested on the command-line (e.g., via
uv sync --extra foo). This is generally correct behavior when resolving requests for package extras, because an extra may be present on one compatible version of a package but not another. However, this flexibility doesn't need to apply to the local project and it's less surprising to error here.Error on missing dependency groups when
--frozenis provided (#11499)Previously, uv would not validate that the requested dependency groups were present in the lockfile when the
--frozenflag was used. Now, an error will be raised if a requested dependency group is not present.Change
-pto a--pythonalias inuv pip compile(#11486)In
uv pip compile,-pwas an alias for--python-versionwhile everywhere else in uv's interface it is an alias for--python. Additionally,uv pip compiledid not respect theUV_PYTHONenvironment variable. Now, the semantics of this flag have been updated for parity with the rest of the CLI.However,
--python-versionis unique: if we cannot find an interpreter with the given version, we will not fail. Instead, we'll use an alternative interpreter and override its version tags with the requested version during package resolution. This behavior is retained here for backwards compatibility,--python <version>/-p <version>will not fail if the version cannot be found. However, if a specific interpreter is requested, e.g., with--python <path>or--python pypy, and cannot be found — uv will exit with an error.The breaking changes here are that
UV_PYTHONis respected and--python <version>will no longer fail if the version cannot be found.Bump
alpinedefault tag to 3.21 for derived Docker images (#11157)Alpine 3.21 was released in Dec 2024 and is used in the official Alpine-based Python images. Our
uv:python3.x-alpineimages have been using 3.21 since uv v0.5.8. However, now the theuv:alpineimage will use 3.21 instead of 3.20 anduv:alpine3.20will no longer be updated.Use files instead of junctions on Windows (#11269)
Previously, we used junctions for atomic replacement of cache entries on Windows. Now, we use a file with a pointer to the cache entry instead. This resolves various edge-case behaviors with junctions. These files are only intended to be consumed by uv and the cache version has been bumped. We do not think this change will affect workflows.
Stabilizations
uv publishis no longer in preview (#11032)This does not come with any behavior changes. You will no longer see an experimental warning when using
uv publish. See the linked pull request for a report on the stabilization.Enhancements
--activefor PEP 723 script environments (#11433)revisionto the lockfile to allow backwards-compatible metadata changes (#11500)Bug fixes
.egg-infofiles (#11395)uvx --from tool@latest(#11465)Documentation
CHANGELOG.mdis now split into separate files for each "major" version to fix rendering (#11510)v0.5.31Compare Source
Release Notes
Enhancements
uv sync --script(#11361)+localsuffixes (#11429)uvxanduv tool installrequests (#11345)uv run(#11386)Python
The managed Python distributions have been updated, including:
See the
python-build-standalonerelease notes for more details.Bug fixes
--python <dir>requests to match existing environments ifsys.executableis the same file (#11290)--dry-runmode (#11427)<name>over<name>/__main__.py(#11431)Documentation
UV_INDEXinstead ofUV_EXTRA_INDEX_URL(#11381)Install uv 0.5.31
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.31
v0.5.30Compare Source
Release Notes
Python
The managed PyPy distributions have been updated for PyPy v7.3.18, which includes:
See the PyPy release for more details.
Enhancements
uv sync --dry-run(#11299)#eggfragment in HTML Simple API response (#11340)Configuration
NO_BINARYandNO_BINARY_PACKAGEenvironment variables (#11399)Performance
Bug fixes
simple/(#11336)@requests for tools (#11335)astral-tokio-tarto v0.5.1 (#11359)eprintlnin trampoline warnings (#11295)torchpackages when using conflicting extras (#11323)Documentation
uv tool install --editable(#11280)Install uv 0.5.30
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.30
v0.5.29Compare Source
Release Notes
Enhancements
--bareoption touv init(#11192)VIRTUAL_ENVin project commands via--active(#11189)VIRTUAL_ENVwarning to be silenced with--no-active(#11251)Python
The managed Python distributions have been updated, including:
See the
python-build-standalonerelease notes for more details.Bug fixes
--all-groupsand--no-default-groupsflags (#11224)Documentation
mkdocs.public.ymlinto the template (#11246)Install uv 0.5.29
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.29
v0.5.28Compare Source
Release Notes
Bug fixes
PATH(#11218)--allow-insecure-host(#11210)Documentation
last updatedto documentation (#11164)Install uv 0.5.28
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.28
v0.5.27Compare Source
Release Notes
Enhancements
uv pip installwith--extraor--all-extrasand invalid sources (#11193)Preview features
Performance
tokio-tarfork (#11174).clone()(#11127)Bug fixes
_GLibCVersiontuple in uv-python crate (#11122)Documentation
pip installexample in troubleshooting guide (#11194)VIRTUAL_ENVin Jupyter kernels (#11155)Install uv 0.5.27
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.27
v0.5.26Compare Source
Release Notes
Enhancements
uvx python(#11076)--no-dev --invertinuv tree(#11068)uv python install --reinstallto reinstall all previous versions (#11072)--build-backendwhen--backendis passed touv init(#10958)Performance
Bug fixes
--scriptis passing a non-PEP 723 script (#11118)<index>/simpleto<index>/...endpoints (#11074)uv sync(#11075)Documentation
RUST_LOGdocumentation (#10053)--no-depsdescription (#11073)sys_platformin lieu ofplatform_systemin PyTorch docs (#11113)Install uv 0.5.26
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.26
v0.5.25Compare Source
Release Notes
Enhancements
=for editables inrequirements.txt(#10954)Bug fixes
128+n) exit codes foruv runanduv tool runon Unix (#10781)PATH(#11030)--editableflag on non-directory requirements (#10994)--no-sourcesforuv pip installworkspace discovery (#11003)JEMALLOC_SYS_WITH_LG_PAGE=16in ARM Docker builds (#10943)riscv64Python downloads to allow install onriscv64gc(#10937)tool.uv.sources.(package).workspacewith other options (#11013)uv run(#11009)Documentation
SECURITYpolicy (#11035)Requires-Pythonupper bound behavior to the docs (#10964)uv add -r(#10926)requires-pythonrules in resolver documentation (#10993)--no-sourcesdocumentation (#10995)Install uv 0.5.25
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.25
v0.5.24Compare Source
Release Notes
Enhancements
cargo-dist0.28.0; improves several installer behaviors (#10884)Performance
Bug fixes
Preview features
Documentation
Install uv 0.5.24
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.24
v0.5.23Compare Source
Release Notes
Enhancements
--refreshtouv venv(#10834)--no-default-groupscommand-line flag (#10618)Bug fixes
commit_idandrequested_revisionindirect_url.json(#10862)--frozenand--lockedinuv run --script(#10840)find-linkspaths relative to the configuration file (#10827)--lockedand--upgradeare conflicting (#10836)Documentation
Error messages
Install uv 0.5.23
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.23
v0.5.22Compare Source
Release Notes
Enhancements
Performance
pyproject.tomlfrom GitHub API (#10765)Bug fixes
Requires-Distmismatches (#10797)Error messages
Documentation
Install uv 0.5.22
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.22
v0.5.21Compare Source
Release Notes
Enhancements
Configuration
UV_VENV_SEEDenvironment variable (#10715)Performance
Bug fixes
requires-pythonmarker with disjunctions (#10704)requirements.txt(#10690)Documentation
SyntaxWarningcompatibility note to bytecode compilation docs (#10701)MACOSX_DEPLOYMENT_TARGETto the--python-platformdocumentation (#10698)Install uv 0.5.21
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.21
v0.5.20Compare Source
Release Notes
Bug fixes
Install uv 0.5.20
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.20
v0.5.19Compare Source
Release Notes
Enhancements
pip freeze --path(#10488)uv run <script.py>(#10588)--native-tlson SSL errors (#10605)--output-format=jsonsupport touv python list(#10596)Python
The managed Python distributions have been updated, including:
libeditupdated from2021091-3.1 ->2024080-3.1tcl/tkupdated from 8.6.12 -> 8.6.14 (for all Python versions on Unix, only for Python 3.14 on Windows)See the
python-build-standalonerelease notes for more details.Performance
WheelFilenameto 48 bytes (#10583)import refrom entrypoint wrapper scripts (#10627)ArcStrin verbatim URL (#10600)memchrfor wheel parsing (#10620)Bug fixes
uv python installon Windows (#10639)pyproject.tomlpath for parse errors inuv venv(#10553)setuptoolsandwheelas seed packages in uv sync on Python 3.12 (#10572)python install(#10629)--config-settingsare present (#10578)Documentation
build-systemfrom example workspace rot (#10636)Preview features
Install uv 0.5.19
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.19
v0.5.18Compare Source
Release Notes
Bug fixes
uv removewhen only comments exist (#10484)Install uv 0.5.18
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.18
v0.5.17Compare Source
Release Notes
This release includes support for generating lockfiles from scripts based on inline metadata, as defined in PEP 723.
By default, scripts remain unlocked, and must be locked explicitly with
uv lock --script /path/to/script.py, which will generate a lockfile adjacent to the script (e.g.,script.py.lock). Once generated, the lockfile will be respected (and updated, if necessary) acrossuv run --script,uv add --script, anduv remove --scriptinvocations.This release also includes support for
uv export --scriptanduv tree --script. Both commands support PEP 723 scripts with and without accompanying lockfiles.Enhancements
uv run(#10136)uv add --script(#10145)uv remove --script(#10162)--scriptsupport touv exportfor PEP 723 scripts (#10160)--scriptsupport touv treefor PEP 723 scripts (#10159)lsalias touv {tool, python, pip} list(#10240)--with-requirementsfrom stdin inuv addanduv run(#10447)requirements.txtoptions (#10420)Preview features
Performance
.to_string()call (#10419)ArcStrfor marker values (#10453)ArcStrfor package, extra, and group names (#10475)matches!rather thancontainsinrequirements.txtparsing (#10423)Bug fixes
UV_FIND_LINKSdelimiter to split on commas (#10477)uv tool listoutput when tool environment is broken (#10409)requires-pythonwhen installing tools (#10401)venvactivate scripts (#10397)Documentation
uv lock --scriptto the docs (#10414)Install uv 0.5.17
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.17
v0.5.16Compare Source
Release Notes
Enhancements
uv remove(#10338)Performance
VersionSmall(#10385)requirements_for_extra(#10348)zlib-ngon x86 platforms (#10365)[u64; 4]from small version to moveArcto full version (#10345)Distfrom 352 to 288 bytes (#10389)serde_json::from_reader(#10341)Bug fixes
uv self(#10374)Documentation
Install uv 0.5.16
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.16
v0.5.15Compare Source
Release Notes
Python
The managed Python distributions have been updated, including:
See the
python-build-standalonerelease notes for more details.Enhancements
FORCE_COLORenvironment variable (#10315)Performance
uv lock(#10307)Bug fixes
--upgradeis provided (#10097)uv add(#10329)Documentation
exclude-neweronly allows full timestamps in settings documentation (#9135)--no-projectcomment (#10331)Install uv 0.5.15
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.15
v0.5.14Compare Source
Release Notes
Enhancements
--exactflag touv run(#10198)--outdatedsupport touv pip tree(#10199)--python-platform(#10217)--descriptioninuv init(#10209)Performance
BTreeMap::rangeto avoid iterating over unnecessary versions (#10266)Bug fixes
uv init(#10246)uv venvanduv tool(#10206)Install uv 0.5.14
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.14
v0.5.13Compare Source
Release Notes
Bug fixes
reqwest(#10178)" (#10187)Install uv 0.5.13
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.13
v0.5.12Compare Source
Release Notes
Enhancements
uv exportfor non-project workspaces (#10144)Preview features
uv-buildRequires-Distmetadata (#10110)shutil.whichfor the build backend (#10028)Bug fixes
uv.lock(#10068)uv add(#10095)uv initCLI (#10124)uv tree(#10149)Documentation
Install uv 0.5.12
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.12
v0.5.11Compare Source
Release Notes
Enhancements
platform_systemtosys_platform(#9949)copy_atomicandwrite_atomic(#10026)python-build-standalone 20241219Preview features
metadata_directoryalready containsdist-infodirectory (#10005)Performance
Bug fixes
--scriptto be provided withuv run -(#10035)uv runarguments when reading fromstdin(#10034)first-match(#10036)Documentation
uv python install --previewto the documentation (#10010)uv python install --defaultnote about multiple requests (#10011)first-match(#10038)UV_INSTALL_DIRdirections on Windows (#9507)Install uv 0.5.11
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.11
v0.5.10Compare Source
Release Notes
Enhancements
sysconfigvalues such asARatarinstall time (#9905)sysconfigvalues such asclangtoccat install time (#9916)--native-tlsinpip compileheader (#9913)uv remove(#9959)uv removedependency hints (#9960)versionfield (#9912)Bug fixes
Documentation
fork-strategysetting (#9931)pypyfrom top-level pin example (#9896)python-build-standaloneto reflect the transferred project (#9977)powershellandcmd.exe(#9903)uv-lockanduv-exportpre-commit hooks (#9872)Preview features
Install uv 0.5.10
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.10
v0.5.9Compare Source
Release Notes
Enhancements
requires-pythonrequirements (#9827)sysconfigdata at install time (#9857)-isysrootwhen patching sysconfig (#9860)Configuration
--fork-strategypreference mode (#9868)UV_OFFLINE(#9795)Bug fixes
panic!()when current directory does not exist (#9876)uv help pythonon invalid install requests (#9820)uv tool upgrade(#9870)Rust API
Documentation
--fork-strategysetting (#9887)Preview features
Install uv 0.5.9
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.9
v0.5.8Compare Source
Release Notes
This release does not include the
powerpc64le-unknown-linux-musltarget due to a build issue. See #9793 for details. If this change affects you, please file an issue with your use-case.Enhancements
--install-dirto touv python installanduninstallcommands (#7920)--show-urlsand--only-downloadstouv python list(#8062)uv python list --all-arches(#9782)uv run --gui-scriptflag for running Python scripts withpythonw.exe(#9152)--gui-scripton Unix (#9787)pywfiles on Unix (#9759)project.dependenciesandtool.uv.sources(#9718)uv publish --index <name>(#9694)--lockedand--frozenas--checkoperations foruv lock(#9662).cache->.temp(#9756)uv tool uninstall uvon Windows (#8963)git+prefixes (#9789)Performance
pyproject.tomlrequirements (#9704)Bug fixes
uv export(#9751)--no-buildwhen static metadata is available (#9785).egg-infofiles (#9760).prefixed directories during managed Python installation discovery (#9786)--projectis specified (#9709)--find-linksas relative URLs (#9720)python3.13.exeet al (#9679)uv python install(#9706)Documentation
Install uv 0.5.8
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.8
v0.5.7Compare Source
Release Notes
Enhancements
uv build --no-build-logsoption (#9642)uv build(#9633)3.9.21,3.10.16,3.11.11,3.12.8, and3.13.1(#9696)Preview features
uv init(#9661)--listoption (#9610)Bug fixes
uv export/uv pip compile(#9648)python list(#9669)OrdandPartialOrdwithout origin forRequirement(#9624)uv.lock(#9677)Documentation
build-essentialsnote to build failures doc (#9641)uv python pinwithout aREQUESTargument (#9631)uv python pinreference docs (#9630)Install uv 0.5.7
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.7
v0.5.6Compare Source
Release Notes
Enhancements
--dry-runtouv pip uninstall(#9557)--constraintsand--overridesinuv tool install(#9547)uv publish(#8827).python-versionpin is incompatible with the project (#9590)tool.uv.sources(#9482)requires-python(#9529)Preview features
uv python install --default(#8650)include/exclude(#9525)Configuration
check-urlavailable in configuration files (#9032)Performance
Stringin marker evaluation (#9598)Rust API
uv-pep508: Add more methods for simplifyingextra-related expressions (#9469)Bug fixes
file:URLs to include package names (#9493)uv tool list(#9605)manylinux_compatiblewith--python-platform(#9526)pip compile -r pyproject.toml(#9535)--refresh-packageflag mentioned as--refresh-dependency(#9486)Documentation
run.md(#9527)uv pipbehavior in build system note (#9586)Install uv 0.5.6
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.6
v0.5.5Compare Source
Release Notes
Enhancements
uv tool upgrade(#9375)--no-syncand--frozeninuv run(#9400)--targetand--prefix(#9373)--no-extraflag and setting (#9387)uv export --prune(#9389)Preview features
license-filesmetadata duringuv publish(#9442)Performance
Bug fixes
--targetand--prefix(#9371)--output-fileis empty (#9417)tool.uv.dependency-metadata.[].versionschema (#9468)--compileis passed to an install operation (#9378)--upgrade,--no-upgrade, and--upgrade-packagefromuv tool upgrade(#9318)--all-groups --no-dev(#9300)uv export(#9365)Documentation
scikit-build(instead ofscikit-build-core) (#9320)pyproject.tomlin project concept documentation (#9298)--no-progressoption in related environment variable (#9357)Install uv 0.5.5
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.5
v0.5.4Compare Source
Release Notes
Enhancements
--all-groupstouv sync,uv run,uv export, anduv tree(#8892)uv tree --outdatedanduv pip list --outdated(#9284)Performance
uv tree --outdated(#9280)zlib-rson all platforms (#9264)Bug fixes
build-system.requires(#9273)reqwesterrors (#9253)uv exportoutput (#9237)--indexand--default-indexfrom command header (#9288)Documentation
Error messages
Install uv 0.5.4
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.4
v0.5.3Compare Source
Release Notes
This release includes support for conflicting optional dependencies and dependency groups in the uv resolver, including the ability to specify dependency sources (like index assignment) on a per-extra or per-group basis.
For example, you can now select CPU-only vs. GPU-enabled PyTorch builds at runtime by defining conflicting extras in a
pyproject.toml, and assigning different extras to different PyTorch indexes:See the PyTorch documentation for more.
Enhancements
uv tool install --forceto imply--reinstall-package <name>(#9074)--verify-hasheson by default (#9170)Performance
zlib-rson all platforms (#9202)Bug fixes
--frozen --packagein legacy non-[project]workspaces (#9215)[[tool.uv.index]]in PEP 723 scripts (#9208)Documentation
--index <name>=<url>syntax to index documentation (#9139)Error messages
include = "dev"withtool.uv.dev-dependencies(#9173)true(#9169)gitis not found (#9206)Install uv 0.5.3
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.3
v0.5.2Compare Source
Release Notes
Enhancements
--no-systemfromuv pip treeCLI (#9040)uv.toml(#8695)uv python install(#8695)Performance
Bug fixes
--no-buildto validate lock (#9024).venvinuv add --frozenanduv add --no-sync(#8980)uv add(#9109)--resolution-strategyin error message output (#8971)uv run(#8933)uv.lockchanges whenuv addfails (#9030).exe(#9099)uv add(#9097)--withrequirements (#9089)Preview features
glob-walkdirimplementation (#9013)Documentation
.envfile example in docs (#9064)--resolutionin docs (#8968)value_typeconsistently (#9017)[[index]]API in configuration example (#9065)Install uv 0.5.2
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.2
v0.5.1Compare Source
Release Notes
Enhancements
riscv64(#8934)Bug fixes
uv pip list --outdated(#8939)--index-urlinuv pip list(#8942)--with(#8946)Documentation
~/.cargo/bin(#8936)Install uv 0.5.1
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.1
v0.5.0Compare Source
Release Notes
Since the launch of Python version, project, and tool management capabilities back in August, we've seen extraordinary adoption of uv. We've been iterating rapidly: adding new features, fixing bugs, and improving the user experience. Despite moving quickly, stability and compatibility have been a major focus — we've made thirty releases since our last breaking change. Consequently, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many 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
Use base executable to set virtualenv Python path (#8481)
Previously, uv canonicalized the path to the Python executable when setting the Python path in created virtual environments. This behavior had several undesirable effects: it would bypass stabilized version directories (as constructed by Homebrew) and it was not consistent with the Python standard library's behavior. Now, uv uses the
sys._base_executablepath.Use XDG (i.e.
~/.local/bin) instead of the Cargo home directory in the installer (#8420)Previously, uv's installer used
$CARGO_HOMEor~/.cargo/binfor its target install directory. It's been a longstanding complaint that uv uses this directory, as there's no relationship to Cargo. Now, uv will be installed into$XDG_BIN_HOME,$XDG_DATA_HOME/../bin, or~/.local/bin(in that order). Note that$UV_INSTALL_DIRcan always be used to override the target directory. Upgrading withuv self updatewill not move uv to the new install directory.Discover and respect
.python-versionfiles in parent directories (#6370)Previously, uv only read
.python-versionfiles from the working directory. Now, uv will check parent directories for.python-versionfiles; however uv will not search for.python-versionfiles beyond project boundaries. The new behavior is better aligned with that ofpyenvand Rye.Error when disallowed settings are defined in
uv.toml(#8550)Some settings can only be defined in the
pyproject.toml. Previously, uv would ignore these settings when present in theuv.toml. Now, uv will error to avoid confusion about why the settings are not respected.Implement PEP 440-compliant local version semantics (#8797)
Previously, uv's implementation of local versions (e.g.
2.0+cpu) was not compliant with the specification due to the technical complexity of implementing the local version semantics in the PubGrub algorithm. Thanks to the work of @ericmarkmartin, uv now has a spec-compliant implementation. Namely, uv will now allow a request fortorch==2.1.0to install[email protected]+cpuregardless of whether[email protected](without a local tag) actually exists.Treat the base Conda environment as a system environment (#7691)
Previously, uv would not distinguish between the base and other Conda environments. Now, uv uses
CONDA_DEFAULT_ENVand the namesbaseanddefaultto determine if an environment active viaCONDA_PREFIXis the base environment. If the base environment is active, the--systemflag must be used to mutate it.Do not allow pre-releases when the
!=operator is used (#7974)Previously, uv would use the presence of a pre-release specifier in a version specifier as an opt-in to allow pre-release versions during resolution. The new behavior does not allow pre-releases when an inequals operator is used, e.g.,
!= 2.0a1.Prefer
USERPROFILEoverFOLDERID_Profilewhen selecting a home directory on Windows (#8048)This change is a side-effect of switching from the
directoriescrate toetceterafor determining canonical system paths. IfUSERPROFILEis not set, the behavior will be unchanged.Improve interactions between color environment variables and CLI options (#8215)
Previously, uv would respect the
FORCE_COLORandNO_COLORenvironment variables over the--colorflag. Now, when the--colorflag is explicitly provided, uv will respect it over the environment variables.Make
allow-insecure-hosta global option (#8476)Previously, this option was only available in some parts of uv. Now,
--allow-insecure-hostcan be provided to any command. For consistency, theallow-insecure-hostsetting has been removed from the[tool.uv.pip]configuration in favor of[tool.uv].Only write
.python-versionfiles duringuv initfor workspace members if the version differs (#8897)Previously, uv would create a
.python-versionfile for workspace members duringuv init. Now, uv will only do so if the version differs from the.python-versionfile in the workspace root since uv will respect.python-versionfiles in parent directories.Enhancements
uv tree --outdated(#8893)pip list --outdated(#8872);on URL and path requirements (#8835)uv cache clean(#8857)Preview features
Bug fixes
uv lock(#8867)--resolution-mode=lowest-direct(#8839)Documentation
uv python installdocs to use an existing PyPy version (#8845)--verbosewithRUST_LOG(#8858)Install uv 0.5.0
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.5.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.