mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 13:25:00 +00:00
Bump version to 0.7.19 (#14431)
This commit is contained in:
parent
71b5ba13d7
commit
38ee6ec800
13 changed files with 68 additions and 29 deletions
39
CHANGELOG.md
39
CHANGELOG.md
|
@ -3,6 +3,43 @@
|
||||||
<!-- prettier-ignore-start -->
|
<!-- prettier-ignore-start -->
|
||||||
|
|
||||||
|
|
||||||
|
## 0.7.19
|
||||||
|
|
||||||
|
The **[uv build backend](https://docs.astral.sh/uv/concepts/build-backend/) is now stable**, and considered ready for production use.
|
||||||
|
|
||||||
|
The uv build backend is a great choice for pure Python projects. It has reasonable defaults, with the goal of requiring zero configuration for most users, but provides flexible configuration to accommodate most Python project structures. It integrates tightly with uv, to improve messaging and user experience. It validates project metadata and structures, preventing common mistakes. And, finally, it's very fast — `uv sync` on a new project (from `uv init`) is 10-30x faster than with other build backends.
|
||||||
|
|
||||||
|
To use uv as a build backend in an existing project, add `uv_build` to the `[build-system]` section in your `pyproject.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[build-system]
|
||||||
|
requires = ["uv_build>=0.7.19,<0.8.0"]
|
||||||
|
build-backend = "uv_build"
|
||||||
|
```
|
||||||
|
|
||||||
|
In a future release, it will replace `hatchling` as the default in `uv init`. As before, uv will remain compatible with all standards-compliant build backends.
|
||||||
|
|
||||||
|
### Python
|
||||||
|
|
||||||
|
- Add PGO distributions of Python for aarch64 Linux, which are more optimized for better performance
|
||||||
|
|
||||||
|
See the [python-build-standalone release](https://github.com/astral-sh/python-build-standalone/releases/tag/20250702) for more details.
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Ignore Python patch version for `--universal` pip compile ([#14405](https://github.com/astral-sh/uv/pull/14405))
|
||||||
|
- Update the tilde version specifier warning to include more context ([#14335](https://github.com/astral-sh/uv/pull/14335))
|
||||||
|
- Clarify behavior and hint on tool install when no executables are available ([#14423](https://github.com/astral-sh/uv/pull/14423))
|
||||||
|
|
||||||
|
### Bug fixes
|
||||||
|
|
||||||
|
- Make project and interpreter lock acquisition non-fatal ([#14404](https://github.com/astral-sh/uv/pull/14404))
|
||||||
|
- Includes `sys.prefix` in cached environment keys to avoid `--with` collisions across projects ([#14403](https://github.com/astral-sh/uv/pull/14403))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
- Add a migration guide from pip to uv projects ([#12382](https://github.com/astral-sh/uv/pull/12382))
|
||||||
|
|
||||||
## 0.7.18
|
## 0.7.18
|
||||||
|
|
||||||
### Python
|
### Python
|
||||||
|
@ -12,6 +49,8 @@
|
||||||
These are not downloaded by default, since x86-64 Python has broader ecosystem support on Windows.
|
These are not downloaded by default, since x86-64 Python has broader ecosystem support on Windows.
|
||||||
However, they can be requested with `cpython-<version>-windows-aarch64`.
|
However, they can be requested with `cpython-<version>-windows-aarch64`.
|
||||||
|
|
||||||
|
See the [python-build-standalone release](https://github.com/astral-sh/python-build-standalone/releases/tag/20250630) for more details.
|
||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
|
|
||||||
- Keep track of retries in `ManagedPythonDownload::fetch_with_retry` ([#14378](https://github.com/astral-sh/uv/pull/14378))
|
- Keep track of retries in `ManagedPythonDownload::fetch_with_retry` ([#14378](https://github.com/astral-sh/uv/pull/14378))
|
||||||
|
|
6
Cargo.lock
generated
6
Cargo.lock
generated
|
@ -4603,7 +4603,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv"
|
name = "uv"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
@ -4767,7 +4767,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv-build"
|
name = "uv-build"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"uv-build-backend",
|
"uv-build-backend",
|
||||||
|
@ -5957,7 +5957,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv-version"
|
name = "uv-version"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv-virtualenv"
|
name = "uv-virtualenv"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "uv-build"
|
name = "uv-build"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
homepage.workspace = true
|
homepage.workspace = true
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[project]
|
[project]
|
||||||
name = "uv-build"
|
name = "uv-build"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
description = "The uv build backend"
|
description = "The uv build backend"
|
||||||
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
|
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
|
||||||
requires-python = ">=3.8"
|
requires-python = ">=3.8"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "uv-version"
|
name = "uv-version"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
edition = { workspace = true }
|
edition = { workspace = true }
|
||||||
rust-version = { workspace = true }
|
rust-version = { workspace = true }
|
||||||
homepage = { workspace = true }
|
homepage = { workspace = true }
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "uv"
|
name = "uv"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
edition = { workspace = true }
|
edition = { workspace = true }
|
||||||
rust-version = { workspace = true }
|
rust-version = { workspace = true }
|
||||||
homepage = { workspace = true }
|
homepage = { workspace = true }
|
||||||
|
|
|
@ -13,11 +13,11 @@ performance and user experience.
|
||||||
|
|
||||||
## Choosing a build backend
|
## Choosing a build backend
|
||||||
|
|
||||||
The uv build backend is a good choice for most Python projects that are using uv. It has reasonable
|
The uv build backend is a great choice for most Python projects. It has reasonable defaults, with
|
||||||
defaults, with the goal of requiring zero configuration for most users, but provides flexible
|
the goal of requiring zero configuration for most users, but provides flexible configuration to
|
||||||
configuration that allows most Python project structures. It integrates tightly with uv, to improve
|
accommodate most Python project structures. It integrates tightly with uv, to improve messaging and
|
||||||
messaging and user experience. It validates project metadata and structures, preventing common
|
user experience. It validates project metadata and structures, preventing common mistakes. And,
|
||||||
mistakes. And, finally, it's very fast.
|
finally, it's very fast.
|
||||||
|
|
||||||
The uv build backend currently **only supports pure Python code**. An alternative backend is
|
The uv build backend currently **only supports pure Python code**. An alternative backend is
|
||||||
required to build a
|
required to build a
|
||||||
|
@ -36,7 +36,7 @@ To use uv as a build backend in an existing project, add `uv_build` to the
|
||||||
|
|
||||||
```toml title="pyproject.toml"
|
```toml title="pyproject.toml"
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["uv_build>=0.7.18,<0.8.0"]
|
requires = ["uv_build>=0.7.19,<0.8.0"]
|
||||||
build-backend = "uv_build"
|
build-backend = "uv_build"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ uv provides a standalone installer to download and install uv:
|
||||||
Request a specific version by including it in the URL:
|
Request a specific version by including it in the URL:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ curl -LsSf https://astral.sh/uv/0.7.18/install.sh | sh
|
$ curl -LsSf https://astral.sh/uv/0.7.19/install.sh | sh
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "Windows"
|
=== "Windows"
|
||||||
|
@ -41,7 +41,7 @@ uv provides a standalone installer to download and install uv:
|
||||||
Request a specific version by including it in the URL:
|
Request a specific version by including it in the URL:
|
||||||
|
|
||||||
```pwsh-session
|
```pwsh-session
|
||||||
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.7.18/install.ps1 | iex"
|
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.7.19/install.ps1 | iex"
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! tip
|
!!! tip
|
||||||
|
|
|
@ -92,7 +92,7 @@ the second stage, we'll copy this directory over to the final image, omitting th
|
||||||
other unnecessary files.
|
other unnecessary files.
|
||||||
|
|
||||||
```dockerfile title="Dockerfile"
|
```dockerfile title="Dockerfile"
|
||||||
FROM ghcr.io/astral-sh/uv:0.7.18 AS uv
|
FROM ghcr.io/astral-sh/uv:0.7.19 AS uv
|
||||||
|
|
||||||
# First, bundle the dependencies into the task root.
|
# First, bundle the dependencies into the task root.
|
||||||
FROM public.ecr.aws/lambda/python:3.13 AS builder
|
FROM public.ecr.aws/lambda/python:3.13 AS builder
|
||||||
|
@ -334,7 +334,7 @@ And confirm that opening http://127.0.0.1:8000/ in a web browser displays, "Hell
|
||||||
Finally, we'll update the Dockerfile to include the local library in the deployment package:
|
Finally, we'll update the Dockerfile to include the local library in the deployment package:
|
||||||
|
|
||||||
```dockerfile title="Dockerfile"
|
```dockerfile title="Dockerfile"
|
||||||
FROM ghcr.io/astral-sh/uv:0.7.18 AS uv
|
FROM ghcr.io/astral-sh/uv:0.7.19 AS uv
|
||||||
|
|
||||||
# First, bundle the dependencies into the task root.
|
# First, bundle the dependencies into the task root.
|
||||||
FROM public.ecr.aws/lambda/python:3.13 AS builder
|
FROM public.ecr.aws/lambda/python:3.13 AS builder
|
||||||
|
|
|
@ -31,7 +31,7 @@ $ docker run --rm -it ghcr.io/astral-sh/uv:debian uv --help
|
||||||
The following distroless images are available:
|
The following distroless images are available:
|
||||||
|
|
||||||
- `ghcr.io/astral-sh/uv:latest`
|
- `ghcr.io/astral-sh/uv:latest`
|
||||||
- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.7.18`
|
- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.7.19`
|
||||||
- `ghcr.io/astral-sh/uv:{major}.{minor}`, e.g., `ghcr.io/astral-sh/uv:0.7` (the latest patch
|
- `ghcr.io/astral-sh/uv:{major}.{minor}`, e.g., `ghcr.io/astral-sh/uv:0.7` (the latest patch
|
||||||
version)
|
version)
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ And the following derived images are available:
|
||||||
|
|
||||||
As with the distroless image, each derived image is published with uv version tags as
|
As with the distroless image, each derived image is published with uv version tags as
|
||||||
`ghcr.io/astral-sh/uv:{major}.{minor}.{patch}-{base}` and
|
`ghcr.io/astral-sh/uv:{major}.{minor}.{patch}-{base}` and
|
||||||
`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.7.18-alpine`.
|
`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.7.19-alpine`.
|
||||||
|
|
||||||
For more details, see the [GitHub Container](https://github.com/astral-sh/uv/pkgs/container/uv)
|
For more details, see the [GitHub Container](https://github.com/astral-sh/uv/pkgs/container/uv)
|
||||||
page.
|
page.
|
||||||
|
@ -113,7 +113,7 @@ Note this requires `curl` to be available.
|
||||||
In either case, it is best practice to pin to a specific uv version, e.g., with:
|
In either case, it is best practice to pin to a specific uv version, e.g., with:
|
||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
COPY --from=ghcr.io/astral-sh/uv:0.7.18 /uv /uvx /bin/
|
COPY --from=ghcr.io/astral-sh/uv:0.7.19 /uv /uvx /bin/
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! tip
|
!!! tip
|
||||||
|
@ -131,7 +131,7 @@ COPY --from=ghcr.io/astral-sh/uv:0.7.18 /uv /uvx /bin/
|
||||||
Or, with the installer:
|
Or, with the installer:
|
||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
ADD https://astral.sh/uv/0.7.18/install.sh /uv-installer.sh
|
ADD https://astral.sh/uv/0.7.19/install.sh /uv-installer.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Installing a project
|
### Installing a project
|
||||||
|
@ -557,5 +557,5 @@ Verified OK
|
||||||
!!! tip
|
!!! tip
|
||||||
|
|
||||||
These examples use `latest`, but best practice is to verify the attestation for a specific
|
These examples use `latest`, but best practice is to verify the attestation for a specific
|
||||||
version tag, e.g., `ghcr.io/astral-sh/uv:0.7.18`, or (even better) the specific image digest,
|
version tag, e.g., `ghcr.io/astral-sh/uv:0.7.19`, or (even better) the specific image digest,
|
||||||
such as `ghcr.io/astral-sh/uv:0.5.27@sha256:5adf09a5a526f380237408032a9308000d14d5947eafa687ad6c6a2476787b4f`.
|
such as `ghcr.io/astral-sh/uv:0.5.27@sha256:5adf09a5a526f380237408032a9308000d14d5947eafa687ad6c6a2476787b4f`.
|
||||||
|
|
|
@ -47,7 +47,7 @@ jobs:
|
||||||
uses: astral-sh/setup-uv@v5
|
uses: astral-sh/setup-uv@v5
|
||||||
with:
|
with:
|
||||||
# Install a specific version of uv.
|
# Install a specific version of uv.
|
||||||
version: "0.7.18"
|
version: "0.7.19"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Setting up Python
|
## Setting up Python
|
||||||
|
|
|
@ -19,7 +19,7 @@ To make sure your `uv.lock` file is up to date even if your `pyproject.toml` fil
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||||
# uv version.
|
# uv version.
|
||||||
rev: 0.7.18
|
rev: 0.7.19
|
||||||
hooks:
|
hooks:
|
||||||
- id: uv-lock
|
- id: uv-lock
|
||||||
```
|
```
|
||||||
|
@ -30,7 +30,7 @@ To keep a `requirements.txt` file in sync with your `uv.lock` file:
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||||
# uv version.
|
# uv version.
|
||||||
rev: 0.7.18
|
rev: 0.7.19
|
||||||
hooks:
|
hooks:
|
||||||
- id: uv-export
|
- id: uv-export
|
||||||
```
|
```
|
||||||
|
@ -41,7 +41,7 @@ To compile requirements files:
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||||
# uv version.
|
# uv version.
|
||||||
rev: 0.7.18
|
rev: 0.7.19
|
||||||
hooks:
|
hooks:
|
||||||
# Compile requirements
|
# Compile requirements
|
||||||
- id: pip-compile
|
- id: pip-compile
|
||||||
|
@ -54,7 +54,7 @@ To compile alternative requirements files, modify `args` and `files`:
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||||
# uv version.
|
# uv version.
|
||||||
rev: 0.7.18
|
rev: 0.7.19
|
||||||
hooks:
|
hooks:
|
||||||
# Compile requirements
|
# Compile requirements
|
||||||
- id: pip-compile
|
- id: pip-compile
|
||||||
|
@ -68,7 +68,7 @@ To run the hook over multiple files at the same time, add additional entries:
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||||
# uv version.
|
# uv version.
|
||||||
rev: 0.7.18
|
rev: 0.7.19
|
||||||
hooks:
|
hooks:
|
||||||
# Compile requirements
|
# Compile requirements
|
||||||
- id: pip-compile
|
- id: pip-compile
|
||||||
|
|
|
@ -4,7 +4,7 @@ build-backend = "maturin"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "uv"
|
name = "uv"
|
||||||
version = "0.7.18"
|
version = "0.7.19"
|
||||||
description = "An extremely fast Python package and project manager, written in Rust."
|
description = "An extremely fast Python package and project manager, written in Rust."
|
||||||
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
|
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
|
||||||
requires-python = ">=3.8"
|
requires-python = ">=3.8"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue