diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ee8572859d2..d76367798816 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ +## 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)) + ## 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. @@ -24,7 +43,7 @@ There have been 31 releases and 1135 pull requests since [0.5.0](https://github. - **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. + 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)) @@ -32,10 +51,10 @@ There have been 31 releases and 1135 pull requests since [0.5.0](https://github. - **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. - + 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 ` / `-p ` will not fail if the version cannot be found. However, if a specific interpreter is requested, e.g., with `--python ` 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 ` 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)) @@ -89,3 +108,4 @@ See [changelogs/0.2.x](./changelogs/0.2.x.md) See [changelogs/0.1.x](./changelogs/0.1.x.md) + diff --git a/Cargo.lock b/Cargo.lock index 295d1a03b933..fe32a38eb123 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4517,7 +4517,7 @@ dependencies = [ [[package]] name = "uv" -version = "0.6.0" +version = "0.6.1" dependencies = [ "anstream", "anyhow", @@ -5769,7 +5769,7 @@ dependencies = [ [[package]] name = "uv-version" -version = "0.6.0" +version = "0.6.1" [[package]] name = "uv-virtualenv" diff --git a/crates/uv-version/Cargo.toml b/crates/uv-version/Cargo.toml index 98f7498e5f91..b7bcb08605fb 100644 --- a/crates/uv-version/Cargo.toml +++ b/crates/uv-version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-version" -version = "0.6.0" +version = "0.6.1" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml index 369d7bb3cd9a..df621b91c365 100644 --- a/crates/uv/Cargo.toml +++ b/crates/uv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv" -version = "0.6.0" +version = "0.6.1" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 89555e9aeae6..1490cfb8bd8d 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -25,7 +25,7 @@ uv provides a standalone installer to download and install uv: Request a specific version by including it in the URL: ```console - $ curl -LsSf https://astral.sh/uv/0.6.0/install.sh | sh + $ curl -LsSf https://astral.sh/uv/0.6.1/install.sh | sh ``` === "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: ```console - $ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.6.0/install.ps1 | iex" + $ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.6.1/install.ps1 | iex" ``` !!! tip diff --git a/docs/guides/integration/aws-lambda.md b/docs/guides/integration/aws-lambda.md index 56f52387c023..3eed6e98be96 100644 --- a/docs/guides/integration/aws-lambda.md +++ b/docs/guides/integration/aws-lambda.md @@ -92,7 +92,7 @@ the second stage, we'll copy this directory over to the final image, omitting th other unnecessary files. ```dockerfile title="Dockerfile" -FROM ghcr.io/astral-sh/uv:0.6.0 AS uv +FROM ghcr.io/astral-sh/uv:0.6.1 AS uv # First, bundle the dependencies into the task root. 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: ```dockerfile title="Dockerfile" -FROM ghcr.io/astral-sh/uv:0.6.0 AS uv +FROM ghcr.io/astral-sh/uv:0.6.1 AS uv # First, bundle the dependencies into the task root. FROM public.ecr.aws/lambda/python:3.13 AS builder diff --git a/docs/guides/integration/docker.md b/docs/guides/integration/docker.md index 4b05ef78f7b4..3307cab37015 100644 --- a/docs/guides/integration/docker.md +++ b/docs/guides/integration/docker.md @@ -31,7 +31,7 @@ $ docker run --rm -it ghcr.io/astral-sh/uv:debian uv --help The following distroless images are available: - `ghcr.io/astral-sh/uv:latest` -- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.6.0` +- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.6.1` - `ghcr.io/astral-sh/uv:{major}.{minor}`, e.g., `ghcr.io/astral-sh/uv:0.6` (the latest patch version) @@ -72,7 +72,7 @@ And the following derived images are available: 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}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.6.0-alpine`. +`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.6.1-alpine`. For more details, see the [GitHub Container](https://github.com/astral-sh/uv/pkgs/container/uv) page. @@ -110,7 +110,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: ```dockerfile -COPY --from=ghcr.io/astral-sh/uv:0.6.0 /uv /uvx /bin/ +COPY --from=ghcr.io/astral-sh/uv:0.6.1 /uv /uvx /bin/ ``` !!! tip @@ -128,7 +128,7 @@ COPY --from=ghcr.io/astral-sh/uv:0.6.0 /uv /uvx /bin/ Or, with the installer: ```dockerfile -ADD https://astral.sh/uv/0.6.0/install.sh /uv-installer.sh +ADD https://astral.sh/uv/0.6.1/install.sh /uv-installer.sh ``` ### Installing a project @@ -554,5 +554,5 @@ Verified OK !!! tip 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.6.0`, or (even better) the specific image digest, + version tag, e.g., `ghcr.io/astral-sh/uv:0.6.1`, or (even better) the specific image digest, such as `ghcr.io/astral-sh/uv:0.5.27@sha256:5adf09a5a526f380237408032a9308000d14d5947eafa687ad6c6a2476787b4f`. diff --git a/docs/guides/integration/github.md b/docs/guides/integration/github.md index 6f41d71fd696..9c5b87dd0efd 100644 --- a/docs/guides/integration/github.md +++ b/docs/guides/integration/github.md @@ -47,7 +47,7 @@ jobs: uses: astral-sh/setup-uv@v5 with: # Install a specific version of uv. - version: "0.6.0" + version: "0.6.1" ``` ## Setting up Python diff --git a/docs/guides/integration/pre-commit.md b/docs/guides/integration/pre-commit.md index dd68ba0306ca..6bb98da978ba 100644 --- a/docs/guides/integration/pre-commit.md +++ b/docs/guides/integration/pre-commit.md @@ -17,7 +17,7 @@ pre-commit, add the following to the `.pre-commit-config.yaml`: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.6.0 + rev: 0.6.1 hooks: - id: uv-lock ``` @@ -28,7 +28,7 @@ To keep your `requirements.txt` file updated using pre-commit: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.6.0 + rev: 0.6.1 hooks: - id: uv-export ``` @@ -39,7 +39,7 @@ To compile requirements via pre-commit, add the following to the `.pre-commit-co repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.6.0 + rev: 0.6.1 hooks: # Compile requirements - id: pip-compile @@ -52,7 +52,7 @@ To compile alternative files, modify `args` and `files`: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.6.0 + rev: 0.6.1 hooks: # Compile requirements - id: pip-compile @@ -66,7 +66,7 @@ To run the hook over multiple files at the same time: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.6.0 + rev: 0.6.1 hooks: # Compile requirements - id: pip-compile diff --git a/pyproject.toml b/pyproject.toml index ba8748f90d59..ae36dcb68e7c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "uv" -version = "0.6.0" +version = "0.6.1" description = "An extremely fast Python package and project manager, written in Rust." authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }] requires-python = ">=3.8"