From 6d3614eece09b35d250bd0c1fe35bcc56fffebcc Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Wed, 19 Feb 2025 13:11:11 -0600 Subject: [PATCH] Bump version to 0.6.2 (#11630) --- CHANGELOG.md | 56 ++++++++++++++++++--------- Cargo.lock | 4 +- crates/uv-version/Cargo.toml | 2 +- crates/uv/Cargo.toml | 2 +- docs/getting-started/installation.md | 4 +- docs/guides/integration/aws-lambda.md | 4 +- docs/guides/integration/docker.md | 10 ++--- docs/guides/integration/github.md | 2 +- docs/guides/integration/pre-commit.md | 10 ++--- pyproject.toml | 2 +- 10 files changed, 57 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d76367798816..eaa3f2fdad19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,30 @@ + +## 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)) + ## 0.6.1 ### Enhancements @@ -28,47 +52,40 @@ There have been 31 releases and 1135 pull requests since [0.5.0](https://github. ### 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 ` / `-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)) - + 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 @@ -109,3 +126,4 @@ See [changelogs/0.1.x](./changelogs/0.1.x.md) + diff --git a/Cargo.lock b/Cargo.lock index baa1f4816e63..9ccf7bb90619 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4517,7 +4517,7 @@ dependencies = [ [[package]] name = "uv" -version = "0.6.1" +version = "0.6.2" dependencies = [ "anstream", "anyhow", @@ -5768,7 +5768,7 @@ dependencies = [ [[package]] name = "uv-version" -version = "0.6.1" +version = "0.6.2" [[package]] name = "uv-virtualenv" diff --git a/crates/uv-version/Cargo.toml b/crates/uv-version/Cargo.toml index b7bcb08605fb..fb071dc714ce 100644 --- a/crates/uv-version/Cargo.toml +++ b/crates/uv-version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-version" -version = "0.6.1" +version = "0.6.2" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml index df621b91c365..61c66bc4f08e 100644 --- a/crates/uv/Cargo.toml +++ b/crates/uv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv" -version = "0.6.1" +version = "0.6.2" 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 1490cfb8bd8d..3dee8d773aa5 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.1/install.sh | sh + $ curl -LsSf https://astral.sh/uv/0.6.2/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.1/install.ps1 | iex" + $ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.6.2/install.ps1 | iex" ``` !!! tip diff --git a/docs/guides/integration/aws-lambda.md b/docs/guides/integration/aws-lambda.md index 3eed6e98be96..93a319fbe8a4 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.1 AS uv +FROM ghcr.io/astral-sh/uv:0.6.2 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.1 AS uv +FROM ghcr.io/astral-sh/uv:0.6.2 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 3307cab37015..68d8589ad649 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.1` +- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.6.2` - `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.1-alpine`. +`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.6.2-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.1 /uv /uvx /bin/ +COPY --from=ghcr.io/astral-sh/uv:0.6.2 /uv /uvx /bin/ ``` !!! tip @@ -128,7 +128,7 @@ COPY --from=ghcr.io/astral-sh/uv:0.6.1 /uv /uvx /bin/ Or, with the installer: ```dockerfile -ADD https://astral.sh/uv/0.6.1/install.sh /uv-installer.sh +ADD https://astral.sh/uv/0.6.2/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.1`, or (even better) the specific image digest, + version tag, e.g., `ghcr.io/astral-sh/uv:0.6.2`, 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 9c5b87dd0efd..46f878325594 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.1" + version: "0.6.2" ``` ## Setting up Python diff --git a/docs/guides/integration/pre-commit.md b/docs/guides/integration/pre-commit.md index 6bb98da978ba..5516ffd418a1 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.1 + rev: 0.6.2 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.1 + rev: 0.6.2 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.1 + rev: 0.6.2 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.1 + rev: 0.6.2 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.1 + rev: 0.6.2 hooks: # Compile requirements - id: pip-compile diff --git a/pyproject.toml b/pyproject.toml index ae36dcb68e7c..92ef08e0ab9e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "uv" -version = "0.6.1" +version = "0.6.2" 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"