diff --git a/CHANGELOG.md b/CHANGELOG.md index 78b1bf9eb..757c6198e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,29 @@ +## 0.7.8 + +### Python + +We are reverting most of our Python changes from `uv 0.7.6` and `uv 0.7.7` due to +a miscompilation that makes the Python interpreter behave incorrectly, resulting +in spurious type-errors involving str. This issue seems to be isolated to +x86_64 Linux, and affected at least Python 3.12, 3.13, and 3.14. + +The following changes that were introduced in those versions of uv are temporarily +being reverted while we test and deploy a proper fix for the miscompilation: + +- Add Python 3.14 on musl +- free-threaded Python on musl +- Add Python 3.14.0a7 +- Statically link `libpython` into the interpreter on Linux for a significant performance boost + +See [the issue for details](https://github.com/astral-sh/uv/issues/13610). + +### Documentation + +- Remove misleading line in pin documentation ([#13611](https://github.com/astral-sh/uv/pull/13611)) + ## 0.7.7 ### Python diff --git a/Cargo.lock b/Cargo.lock index 4d7663d03..2e8febf96 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4547,7 +4547,7 @@ dependencies = [ [[package]] name = "uv" -version = "0.7.7" +version = "0.7.8" dependencies = [ "anstream", "anyhow", @@ -4710,7 +4710,7 @@ dependencies = [ [[package]] name = "uv-build" -version = "0.7.7" +version = "0.7.8" dependencies = [ "anyhow", "uv-build-backend", @@ -5868,7 +5868,7 @@ dependencies = [ [[package]] name = "uv-version" -version = "0.7.7" +version = "0.7.8" [[package]] name = "uv-virtualenv" diff --git a/crates/uv-build/Cargo.toml b/crates/uv-build/Cargo.toml index 05509f541..c30235dc9 100644 --- a/crates/uv-build/Cargo.toml +++ b/crates/uv-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-build" -version = "0.7.7" +version = "0.7.8" 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 80b422209..ab81dd45f 100644 --- a/crates/uv-build/pyproject.toml +++ b/crates/uv-build/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uv-build" -version = "0.7.7" +version = "0.7.8" description = "The uv build backend" authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }] requires-python = ">=3.8" diff --git a/crates/uv-version/Cargo.toml b/crates/uv-version/Cargo.toml index 6da0a71b8..7c5ff1fd3 100644 --- a/crates/uv-version/Cargo.toml +++ b/crates/uv-version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-version" -version = "0.7.7" +version = "0.7.8" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml index 65f8268e5..3774b7000 100644 --- a/crates/uv/Cargo.toml +++ b/crates/uv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv" -version = "0.7.7" +version = "0.7.8" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/docs/configuration/build-backend.md b/docs/configuration/build-backend.md index 2a92eeae3..316c82091 100644 --- a/docs/configuration/build-backend.md +++ b/docs/configuration/build-backend.md @@ -19,7 +19,7 @@ existing project, add it to the `[build-system]` section in your `pyproject.toml ```toml [build-system] -requires = ["uv_build>=0.7.7,<0.8.0"] +requires = ["uv_build>=0.7.8,<0.8.0"] build-backend = "uv_build" ``` diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 51d1e322e..1011dc899 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.7.7/install.sh | sh + $ curl -LsSf https://astral.sh/uv/0.7.8/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.7.7/install.ps1 | iex" + PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.7.8/install.ps1 | iex" ``` !!! tip diff --git a/docs/guides/integration/aws-lambda.md b/docs/guides/integration/aws-lambda.md index eb3f85b23..db5ff0fd6 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.7.7 AS uv +FROM ghcr.io/astral-sh/uv:0.7.8 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.7.7 AS uv +FROM ghcr.io/astral-sh/uv:0.7.8 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 7bf19ce48..0e939547d 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.7.7` +- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.7.8` - `ghcr.io/astral-sh/uv:{major}.{minor}`, e.g., `ghcr.io/astral-sh/uv:0.7` (the latest patch 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 `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.7-alpine`. +`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.7.8-alpine`. For more details, see the [GitHub Container](https://github.com/astral-sh/uv/pkgs/container/uv) 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: ```dockerfile -COPY --from=ghcr.io/astral-sh/uv:0.7.7 /uv /uvx /bin/ +COPY --from=ghcr.io/astral-sh/uv:0.7.8 /uv /uvx /bin/ ``` !!! tip @@ -131,7 +131,7 @@ COPY --from=ghcr.io/astral-sh/uv:0.7.7 /uv /uvx /bin/ Or, with the installer: ```dockerfile -ADD https://astral.sh/uv/0.7.7/install.sh /uv-installer.sh +ADD https://astral.sh/uv/0.7.8/install.sh /uv-installer.sh ``` ### Installing a project @@ -557,5 +557,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.7.7`, or (even better) the specific image digest, + version tag, e.g., `ghcr.io/astral-sh/uv:0.7.8`, 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 549aa3a19..bf2eebad3 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.7.7" + version: "0.7.8" ``` ## Setting up Python diff --git a/docs/guides/integration/pre-commit.md b/docs/guides/integration/pre-commit.md index 958d51dc0..fd1e4a48a 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.7.7 + rev: 0.7.8 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.7.7 + rev: 0.7.8 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.7.7 + rev: 0.7.8 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.7.7 + rev: 0.7.8 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.7.7 + rev: 0.7.8 hooks: # Compile requirements - id: pip-compile diff --git a/pyproject.toml b/pyproject.toml index a1af580f6..d51453214 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "uv" -version = "0.7.7" +version = "0.7.8" 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"