From c198e2233efaa037a9154fd7fe2625e4c78d976b Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Fri, 10 Jan 2025 15:52:56 -0500 Subject: [PATCH] Bump version to v0.5.17 (#10480) --- 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 | 8 ++-- docs/guides/integration/github.md | 2 +- docs/guides/integration/pre-commit.md | 6 +-- pyproject.toml | 2 +- 10 files changed, 73 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e4af1bff5e8..4c308ca9e796 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,61 @@ # Changelog +## 0.5.17 + +This release includes support for generating lockfiles from scripts based on inline metadata, as defined in PEP 723. + +By default, scripts remain unlocked, and must be locked explicitly with `uv lock --script /path/to/script.py`, which +will generate a lockfile adjacent to the script (e.g., `script.py.lock`). Once generated, the lockfile will be +respected (and updated, if necessary) across `uv run --script`, `uv add --script`, and `uv remove --script` invocations. + +This release also includes support for `uv export --script` and `uv tree --script`. Both commands support PEP 723 +scripts with and without accompanying lockfiles. + +### Enhancements + +- Add support for locking PEP 723 scripts ([#10135](https://github.com/astral-sh/uv/pull/10135)) +- Respect PEP 723 script lockfiles in `uv run` ([#10136](https://github.com/astral-sh/uv/pull/10136)) +- Update PEP 723 lockfile in `uv add --script` ([#10145](https://github.com/astral-sh/uv/pull/10145)) +- Update PEP 723 lockfile in `uv remove --script` ([#10162](https://github.com/astral-sh/uv/pull/10162)) +- Add `--script` support to `uv export` for PEP 723 scripts ([#10160](https://github.com/astral-sh/uv/pull/10160)) +- Add `--script` support to `uv tree` for PEP 723 scripts ([#10159](https://github.com/astral-sh/uv/pull/10159)) +- Add `ls` alias to `uv {tool, python, pip} list` ([#10240](https://github.com/astral-sh/uv/pull/10240)) +- Allow reading `--with-requirements` from stdin in `uv add` and `uv run` ([#10447](https://github.com/astral-sh/uv/pull/10447)) +- Warn-and-ignore for unsupported `requirements.txt` options ([#10420](https://github.com/astral-sh/uv/pull/10420)) + +### Preview features + +- Add remaining Python type annotations to build backend ([#10434](https://github.com/astral-sh/uv/pull/10434)) + +### Performance + +- Avoid allocating for names in the PEP 508 parser ([#10476](https://github.com/astral-sh/uv/pull/10476)) +- Fetch concurrently for non-first-match index strategies ([#10432](https://github.com/astral-sh/uv/pull/10432)) +- Remove unnecessary `.to_string()` call ([#10419](https://github.com/astral-sh/uv/pull/10419)) +- Respect sentinels in package prioritization ([#10443](https://github.com/astral-sh/uv/pull/10443)) +- Use `ArcStr` for marker values ([#10453](https://github.com/astral-sh/uv/pull/10453)) +- Use `ArcStr` for package, extra, and group names ([#10475](https://github.com/astral-sh/uv/pull/10475)) +- Use `matches!` rather than `contains` in `requirements.txt` parsing ([#10423](https://github.com/astral-sh/uv/pull/10423)) +- Use faster disjointness check for markers ([#10439](https://github.com/astral-sh/uv/pull/10439)) +- Pre-compute PEP 508 markers from universal markers ([#10472](https://github.com/astral-sh/uv/pull/10472)) + +### Bug fixes + +- Fix `UV_FIND_LINKS` delimiter to split on commas ([#10477](https://github.com/astral-sh/uv/pull/10477)) +- Improve `uv tool list` output when tool environment is broken ([#10409](https://github.com/astral-sh/uv/pull/10409)) +- Only track markers for compatible versions ([#10457](https://github.com/astral-sh/uv/pull/10457)) +- Respect `requires-python` when installing tools ([#10401](https://github.com/astral-sh/uv/pull/10401)) +- Visit proxy packages eagerly ([#10441](https://github.com/astral-sh/uv/pull/10441)) +- Improve shell compatibility of `venv` activate scripts ([#10397](https://github.com/astral-sh/uv/pull/10397)) +- Read publish username from URL ([#10469](https://github.com/astral-sh/uv/pull/10469)) + +### Documentation + +- Add Lambda layer instructions to AWS Lambda guide ([#10411](https://github.com/astral-sh/uv/pull/10411)) +- Add `uv lock --script` to the docs ([#10414](https://github.com/astral-sh/uv/pull/10414)) +- Use Windows-specific instructions in Jupyter guide ([#10446](https://github.com/astral-sh/uv/pull/10446)) + + ## 0.5.16 ### Enhancements diff --git a/Cargo.lock b/Cargo.lock index 7d894b5e005a..794fe515d071 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4489,7 +4489,7 @@ checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "uv" -version = "0.5.16" +version = "0.5.17" dependencies = [ "anstream", "anyhow", @@ -5701,7 +5701,7 @@ dependencies = [ [[package]] name = "uv-version" -version = "0.5.16" +version = "0.5.17" [[package]] name = "uv-virtualenv" diff --git a/crates/uv-version/Cargo.toml b/crates/uv-version/Cargo.toml index bfc8226167fd..36f44dc72c2c 100644 --- a/crates/uv-version/Cargo.toml +++ b/crates/uv-version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-version" -version = "0.5.16" +version = "0.5.17" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml index 5516afcdb635..2149039f8323 100644 --- a/crates/uv/Cargo.toml +++ b/crates/uv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv" -version = "0.5.16" +version = "0.5.17" 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 d631f330479d..66e4b2dd68ba 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.5.16/install.sh | sh + $ curl -LsSf https://astral.sh/uv/0.5.17/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.5.16/install.ps1 | iex" + $ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.5.17/install.ps1 | iex" ``` !!! tip diff --git a/docs/guides/integration/aws-lambda.md b/docs/guides/integration/aws-lambda.md index 11ed1d7ea50a..7121c02f10ae 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.5.16 AS uv +FROM ghcr.io/astral-sh/uv:0.5.17 AS uv # First, bundle the dependencies into the task root. FROM public.ecr.aws/lambda/python:3.13 AS builder @@ -294,7 +294,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.5.16 AS uv +FROM ghcr.io/astral-sh/uv:0.5.17 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 fee04193f3d1..dcdb73e9144f 100644 --- a/docs/guides/integration/docker.md +++ b/docs/guides/integration/docker.md @@ -28,7 +28,7 @@ $ docker run ghcr.io/astral-sh/uv --help uv provides a distroless Docker image including the `uv` binary. The following tags are published: - `ghcr.io/astral-sh/uv:latest` -- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.5.16` +- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.5.17` - `ghcr.io/astral-sh/uv:{major}.{minor}`, e.g., `ghcr.io/astral-sh/uv:0.5` (the latest patch version) @@ -69,7 +69,7 @@ In addition, uv publishes the following images: As with the distroless image, each 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.5.16-alpine`. +`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.5.17-alpine`. For more details, see the [GitHub Container](https://github.com/astral-sh/uv/pkgs/container/uv) page. @@ -107,13 +107,13 @@ 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.5.16 /uv /uvx /bin/ +COPY --from=ghcr.io/astral-sh/uv:0.5.17 /uv /uvx /bin/ ``` Or, with the installer: ```dockerfile -ADD https://astral.sh/uv/0.5.16/install.sh /uv-installer.sh +ADD https://astral.sh/uv/0.5.17/install.sh /uv-installer.sh ``` ### Installing a project diff --git a/docs/guides/integration/github.md b/docs/guides/integration/github.md index f8543c7750cc..b46635c5d0ec 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.5.16" + version: "0.5.17" ``` ## Setting up Python diff --git a/docs/guides/integration/pre-commit.md b/docs/guides/integration/pre-commit.md index e60c1785465b..5168c21f48be 100644 --- a/docs/guides/integration/pre-commit.md +++ b/docs/guides/integration/pre-commit.md @@ -36,7 +36,7 @@ To compile requirements via pre-commit, add the following to the `.pre-commit-co ```yaml title=".pre-commit-config.yaml" - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.5.16 + rev: 0.5.17 hooks: # Compile requirements - id: pip-compile @@ -48,7 +48,7 @@ To compile alternative files, modify `args` and `files`: ```yaml title=".pre-commit-config.yaml" - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.5.16 + rev: 0.5.17 hooks: # Compile requirements - id: pip-compile @@ -61,7 +61,7 @@ To run the hook over multiple files at the same time: ```yaml title=".pre-commit-config.yaml" - repo: https://github.com/astral-sh/uv-pre-commit # uv version. - rev: 0.5.16 + rev: 0.5.17 hooks: # Compile requirements - id: pip-compile diff --git a/pyproject.toml b/pyproject.toml index 843193109c26..7387c616ae3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "uv" -version = "0.5.16" +version = "0.5.17" 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"