diff --git a/CHANGELOG.md b/CHANGELOG.md index f16293b25..28dd29f80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,42 @@ +## 0.9.9 + +Released on 2025-11-12. + +### Deprecations + +- Deprecate use of `--project` in `uv init` ([#16674](https://github.com/astral-sh/uv/pull/16674)) + +### Enhancements + +- Add iOS support to Python interpreter discovery ([#16686](https://github.com/astral-sh/uv/pull/16686)) +- Reject ambiguously parsed URLs ([#16622](https://github.com/astral-sh/uv/pull/16622)) +- Allow explicit values in `uv version --bump` ([#16555](https://github.com/astral-sh/uv/pull/16555)) +- Warn on use of managed pre-release Python versions when a stable version is available ([#16619](https://github.com/astral-sh/uv/pull/16619)) +- Allow signing trampolines on Windows by using `.rcdata` to store metadata ([#15068](https://github.com/astral-sh/uv/pull/15068)) +- Add `--only-emit-workspace` and similar variants to `uv export` ([#16681](https://github.com/astral-sh/uv/pull/16681)) + +### Preview features + +- Add `uv workspace dir` command ([#16678](https://github.com/astral-sh/uv/pull/16678)) +- Add `uv workspace metadata` command ([#16516](https://github.com/astral-sh/uv/pull/16516)) + +### Configuration + +- Add `UV_NO_DEFAULT_GROUPS` environment variable ([#16645](https://github.com/astral-sh/uv/pull/16645)) + +### Bug fixes + +- Remove `torch-model-archiver` and `torch-tb-profiler` from PyTorch backend ([#16655](https://github.com/astral-sh/uv/pull/16655)) +- Fix Pixi environment detection ([#16585](https://github.com/astral-sh/uv/pull/16585)) + +### Documentation + +- Fix `CMD` path in FastAPI Dockerfile ([#16701](https://github.com/astral-sh/uv/pull/16701)) + + ## 0.9.8 Released on 2025-11-07. diff --git a/Cargo.lock b/Cargo.lock index 20f1a93d8..eedce50a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5256,7 +5256,7 @@ dependencies = [ [[package]] name = "uv" -version = "0.9.8" +version = "0.9.9" dependencies = [ "anstream", "anyhow", @@ -5468,7 +5468,7 @@ dependencies = [ [[package]] name = "uv-build" -version = "0.9.8" +version = "0.9.9" dependencies = [ "anstream", "anyhow", @@ -6762,7 +6762,7 @@ dependencies = [ [[package]] name = "uv-version" -version = "0.9.8" +version = "0.9.9" [[package]] name = "uv-virtualenv" diff --git a/crates/uv-build/Cargo.toml b/crates/uv-build/Cargo.toml index 27dd26478..8262ee6dd 100644 --- a/crates/uv-build/Cargo.toml +++ b/crates/uv-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-build" -version = "0.9.8" +version = "0.9.9" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/crates/uv-build/pyproject.toml b/crates/uv-build/pyproject.toml index 007a4dd2a..adacbde82 100644 --- a/crates/uv-build/pyproject.toml +++ b/crates/uv-build/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uv-build" -version = "0.9.8" +version = "0.9.9" description = "The uv build backend" authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }] requires-python = ">=3.8" diff --git a/crates/uv-static/src/env_vars.rs b/crates/uv-static/src/env_vars.rs index fa2640c22..60c27579c 100644 --- a/crates/uv-static/src/env_vars.rs +++ b/crates/uv-static/src/env_vars.rs @@ -244,7 +244,7 @@ impl EnvVars { /// Equivalent to the `--no-default-groups` command-line argument. If set, uv will /// not select the default dependency groups defined in `tool.uv.default-groups`. - #[attr_added_in("next release")] + #[attr_added_in("0.9.9")] pub const UV_NO_DEFAULT_GROUPS: &'static str = "UV_NO_DEFAULT_GROUPS"; /// Equivalent to the `--no-binary` command-line argument. If set, uv will install diff --git a/crates/uv-version/Cargo.toml b/crates/uv-version/Cargo.toml index 457c8cd6e..4e41fc464 100644 --- a/crates/uv-version/Cargo.toml +++ b/crates/uv-version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-version" -version = "0.9.8" +version = "0.9.9" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml index d8a6b591a..3be7b8b51 100644 --- a/crates/uv/Cargo.toml +++ b/crates/uv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv" -version = "0.9.8" +version = "0.9.9" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/docs/concepts/build-backend.md b/docs/concepts/build-backend.md index 908cb9763..101c2a3ff 100644 --- a/docs/concepts/build-backend.md +++ b/docs/concepts/build-backend.md @@ -31,7 +31,7 @@ To use uv as a build backend in an existing project, add `uv_build` to the ```toml title="pyproject.toml" [build-system] -requires = ["uv_build>=0.9.8,<0.10.0"] +requires = ["uv_build>=0.9.9,<0.10.0"] build-backend = "uv_build" ``` diff --git a/docs/concepts/projects/init.md b/docs/concepts/projects/init.md index cc836f975..c8ee1bb3b 100644 --- a/docs/concepts/projects/init.md +++ b/docs/concepts/projects/init.md @@ -113,7 +113,7 @@ dependencies = [] example-pkg = "example_pkg:main" [build-system] -requires = ["uv_build>=0.9.8,<0.10.0"] +requires = ["uv_build>=0.9.9,<0.10.0"] build-backend = "uv_build" ``` @@ -136,7 +136,7 @@ dependencies = [] example-pkg = "example_pkg:main" [build-system] -requires = ["uv_build>=0.9.8,<0.10.0"] +requires = ["uv_build>=0.9.9,<0.10.0"] build-backend = "uv_build" ``` @@ -197,7 +197,7 @@ requires-python = ">=3.11" dependencies = [] [build-system] -requires = ["uv_build>=0.9.8,<0.10.0"] +requires = ["uv_build>=0.9.9,<0.10.0"] build-backend = "uv_build" ``` diff --git a/docs/concepts/projects/workspaces.md b/docs/concepts/projects/workspaces.md index 7263c58bf..47ac7d183 100644 --- a/docs/concepts/projects/workspaces.md +++ b/docs/concepts/projects/workspaces.md @@ -75,7 +75,7 @@ bird-feeder = { workspace = true } members = ["packages/*"] [build-system] -requires = ["uv_build>=0.9.8,<0.10.0"] +requires = ["uv_build>=0.9.9,<0.10.0"] build-backend = "uv_build" ``` @@ -106,7 +106,7 @@ tqdm = { git = "https://github.com/tqdm/tqdm" } members = ["packages/*"] [build-system] -requires = ["uv_build>=0.9.8,<0.10.0"] +requires = ["uv_build>=0.9.9,<0.10.0"] build-backend = "uv_build" ``` @@ -188,7 +188,7 @@ dependencies = ["bird-feeder", "tqdm>=4,<5"] bird-feeder = { path = "packages/bird-feeder" } [build-system] -requires = ["uv_build>=0.9.8,<0.10.0"] +requires = ["uv_build>=0.9.9,<0.10.0"] build-backend = "uv_build" ``` diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 23d86a528..010e553a3 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.9.8/install.sh | sh + $ curl -LsSf https://astral.sh/uv/0.9.9/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: ```pwsh-session - PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.9.8/install.ps1 | iex" + PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.9.9/install.ps1 | iex" ``` !!! tip diff --git a/docs/guides/integration/aws-lambda.md b/docs/guides/integration/aws-lambda.md index c089d0ad9..a6d410cf0 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.9.8 AS uv +FROM ghcr.io/astral-sh/uv:0.9.9 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.9.8 AS uv +FROM ghcr.io/astral-sh/uv:0.9.9 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 c29131dad..e76e0fcd9 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.9.8` +- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.9.9` - `ghcr.io/astral-sh/uv:{major}.{minor}`, e.g., `ghcr.io/astral-sh/uv:0.8` (the latest patch version) @@ -95,7 +95,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.9.8-alpine`. +`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.9.9-alpine`. In addition, starting with `0.8` each derived image also sets `UV_TOOL_BIN_DIR` to `/usr/local/bin` to allow `uv tool install` to work as expected with the default user. @@ -136,7 +136,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.9.8 /uv /uvx /bin/ +COPY --from=ghcr.io/astral-sh/uv:0.9.9 /uv /uvx /bin/ ``` !!! tip @@ -154,7 +154,7 @@ COPY --from=ghcr.io/astral-sh/uv:0.9.8 /uv /uvx /bin/ Or, with the installer: ```dockerfile -ADD https://astral.sh/uv/0.9.8/install.sh /uv-installer.sh +ADD https://astral.sh/uv/0.9.9/install.sh /uv-installer.sh ``` ### Installing a project @@ -590,5 +590,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.9.8`, or (even better) the specific image digest, + version tag, e.g., `ghcr.io/astral-sh/uv:0.9.9`, 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 94474123c..a6d5aaa34 100644 --- a/docs/guides/integration/github.md +++ b/docs/guides/integration/github.md @@ -47,7 +47,7 @@ jobs: uses: astral-sh/setup-uv@v6 with: # Install a specific version of uv. - version: "0.9.8" + version: "0.9.9" ``` ## Setting up Python diff --git a/docs/guides/integration/pre-commit.md b/docs/guides/integration/pre-commit.md index 84e77fe55..24ed3c55d 100644 --- a/docs/guides/integration/pre-commit.md +++ b/docs/guides/integration/pre-commit.md @@ -19,7 +19,7 @@ To make sure your `uv.lock` file is up to date even if your `pyproject.toml` fil repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.9.8 + rev: 0.9.9 hooks: - id: uv-lock ``` @@ -30,7 +30,7 @@ To keep a `requirements.txt` file in sync with your `uv.lock` file: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.9.8 + rev: 0.9.9 hooks: - id: uv-export ``` @@ -41,7 +41,7 @@ To compile requirements files: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.9.8 + rev: 0.9.9 hooks: # Compile requirements - id: pip-compile @@ -54,7 +54,7 @@ To compile alternative requirements files, modify `args` and `files`: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.9.8 + rev: 0.9.9 hooks: # Compile requirements - id: pip-compile @@ -68,7 +68,7 @@ To run the hook over multiple files at the same time, add additional entries: repos: - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.9.8 + rev: 0.9.9 hooks: # Compile requirements - id: pip-compile diff --git a/docs/reference/environment.md b/docs/reference/environment.md index a25c50266..6b7f678bc 100644 --- a/docs/reference/environment.md +++ b/docs/reference/environment.md @@ -330,7 +330,7 @@ any configuration files from the current directory, parent directories, or user directories. ### `UV_NO_DEFAULT_GROUPS` -added in `next release` +added in `0.9.9` Equivalent to the `--no-default-groups` command-line argument. If set, uv will not select the default dependency groups defined in `tool.uv.default-groups`. diff --git a/pyproject.toml b/pyproject.toml index cb56191fd..1e0dde167 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "uv" -version = "0.9.8" +version = "0.9.9" 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"