0.9.27

astral-sh/uv0.9.27Jan 26, 2026by github-actions[bot]

AI Summary

Upgrades GraalPy to 25.0.2, adds ROCm 7.0/7.1 support, and implements a new `--exclude` flag for `uv pip freeze`.

Key Highlights

  • Upgrade GraalPy to 25.0.2.
  • Add support for ROCm 7.0 and 7.1 accelerator backends.
  • Implement `uv pip freeze --exclude` flag.
  • Support Trusted Publishing with pyx.

New Features

  • Upgrade GraalPy to 25.0.2.
  • Add ROCm 7.0 and 7.1 support.
  • Implement `uv pip freeze --exclude`.
  • Support Trusted Publishing with pyx.

Full Release Notes

## Release Notes

Released on 2026-01-26.

### Python

- Upgrade Pyodide to 0.29.2 ([#17652](https://github.com/astral-sh/uv/pull/17652))
- Upgrade to GraalPy 25.0.2 ([#17634](https://github.com/astral-sh/uv/pull/17634))

### Enhancements

- Add `-t` shortform for `--target` to `uv pip` subcommands ([#17501](https://github.com/astral-sh/uv/pull/17501))
- Add support for ROCm 7.0 and 7.1 accelerator backends ([#17681](https://github.com/astral-sh/uv/pull/17681))
- Further improve free-threading ABI incompatibility errors ([#17491](https://github.com/astral-sh/uv/pull/17491))
- Implement `uv pip freeze --exclude` flag ([#17045](https://github.com/astral-sh/uv/pull/17045))
- Improve warnings for `--system` and `--no-system` in `uv venv` ([#17647](https://github.com/astral-sh/uv/pull/17647))
- Make `uv pip compile` attempt to download a specified `--python-version` if it can. ([#17249](https://github.com/astral-sh/uv/pull/17249))
- Support Trusted Publishing with pyx ([#17438](https://github.com/astral-sh/uv/pull/17438))
- Fix JSON schema for `exclude-newer-package` ([#17665](https://github.com/astral-sh/uv/pull/17665))

### Preview features

- Better detection for conflicting packages ([#17623](https://github.com/astral-sh/uv/pull/17623))
- Upgrade based on outdated build versions in `uv python upgrade` ([#17653](https://github.com/astral-sh/uv/pull/17653))

### Bug fixes

- Change chocolatey system test to ensure uv uses the right python ([#17533](https://github.com/astral-sh/uv/pull/17533))
- Fix infinite loop when `SSL_CERT_FILE` is a directory ([#17503](https://github.com/astral-sh/uv/pull/17503))

### Documentation

- Add cargo-xwin to the CONTRIBUTING guide ([#17507](https://github.com/astral-sh/uv/pull/17507))
- Fix typo in the documentation of UV_PUBLISH_INDEX ([#17672](https://github.com/astral-sh/uv/pull/17672))
- Move MSRV to platform support section ([#17534](https://github.com/astral-sh/uv/pull/17534))
- Update the testing instructions in the CONTRIBUTING guide ([#17528](https://github.com/astral-sh/uv/pull/17528))
- Use `--locked` to install `cargo-xwin` in guide ([#17530](https://github.com/astral-sh/uv/pull/17530))
- Warn about PyPy being unmaintained ([#17643](https://github.com/astral-sh/uv/pull/17643))
- docs: Correct gitlab-ci.yml to .gitlab-ci.yml ([#17682](https://github.com/astral-sh/uv/pull/17682))

### Other changes

- Update MSRV to 1.91 ([#17677](https://github.com/astral-sh/uv/pull/17677))

## Install uv 0.9.27

### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-installer.ps1 | iex"
```

## Download uv 0.9.27

|  File  | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-aarch64-apple-darwin.tar.gz.sha256) |
| [uv-x86_64-apple-darwin.tar.gz](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-x86_64-apple-darwin.tar.gz.sha256) |
| [uv-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-aarch64-pc-windows-msvc.zip.sha256) |
| [uv-i686-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-i686-pc-windows-msvc.zip.sha256) |
| [uv-x86_64-pc-windows-msvc.zip](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [uv-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-riscv64gc-unknown-linux-gnu.tar.gz.sha256) |
| [uv-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.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.9.27/uv-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/uv/releases/download/0.9.27/uv-armv7-unknown-linux-musleabihf.tar.gz.sha256) |

## Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the [GitHub CLI](https://cli.github.com/manual/gh_attestation_verify):
```sh
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/uv
```

You can also download the attestation from [GitHub](https://github.com/astral-sh/uv/attestations) and verify against that directly:
```sh
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
```