Bump version to 0.6.15 (#13034)

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
This commit is contained in:
Zanie Blue 2025-04-21 19:03:33 -05:00 committed by GitHub
parent 12bfbed0ec
commit e2f400adbe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 114 additions and 34 deletions

View file

@ -3,6 +3,78 @@
<!-- prettier-ignore-start -->
## 0.6.15
This release includes preliminary support for the `pylock.toml` file format, as standardized in [PEP 751](https://peps.python.org/pep-0751/). `pylock.toml` is an alternative resolution output format intended to replace `requirements.txt` (e.g., in the context of `uv pip compile`, whereby a "locked" `requirements.txt` file is generated from a set of input requirements). `pylock.toml` is standardized and tool-agnostic, such that in the future, `pylock.toml` files generated by uv could be installed by other tools, and vice versa.
As of this release, `pylock.toml` is supported in the following commands:
- To export a `uv.lock` to the `pylock.toml` format, run: `uv export -o pylock.toml`
- To generate a `pylock.toml` file from a set of requirements, run: `uv pip compile -o pylock.toml -r requirements.in`
- To install from a `pylock.toml` file, run: `uv pip sync pylock.toml` or `uv pip install -r pylock.toml`
### Enhancements
- Add PEP 751 support to `uv pip compile` ([#13019](https://github.com/astral-sh/uv/pull/13019))
- Add `uv export` support for PEP 751 ([#12955](https://github.com/astral-sh/uv/pull/12955))
- Accept `requirements.txt` (verbatim) as a format on the CLI ([#12957](https://github.com/astral-sh/uv/pull/12957))
- Add `UV_NO_EDITABLE` environment variable to set `--no-editable` on all invocations ([#12773](https://github.com/astral-sh/uv/pull/12773))
- Add `pylock.toml` to `uv pip install` and `uv pip sync` ([#12992](https://github.com/astral-sh/uv/pull/12992))
- Add a brief sleep before sending `SIGINT` to child processes ([#13018](https://github.com/astral-sh/uv/pull/13018))
- Add upload time to `uv.lock` ([#12968](https://github.com/astral-sh/uv/pull/12968))
- Allow updating Git sources by name ([#12897](https://github.com/astral-sh/uv/pull/12897))
- Cache `which git` in `uv init` ([#12893](https://github.com/astral-sh/uv/pull/12893))
- Enable `--dry-run` with `--locked` / `--frozen` for `uv sync` ([#12778](https://github.com/astral-sh/uv/pull/12778))
- Infer output type in `uv export` ([#12958](https://github.com/astral-sh/uv/pull/12958))
- Make `uv init` resilient against broken git ([#12895](https://github.com/astral-sh/uv/pull/12895))
- Respect build constraints for `uv run --with` dependencies ([#12882](https://github.com/astral-sh/uv/pull/12882))
- Split UV_INDEX on all whitespace ([#12820](https://github.com/astral-sh/uv/pull/12820))
- Support build constraints in `uv tool` and PEP723 scripts. ([#12842](https://github.com/astral-sh/uv/pull/12842))
- Use suffix from `uvx` binary when searching for uv binary ([#12923](https://github.com/astral-sh/uv/pull/12923))
- Update version formatting to use cyan color ([#12943](https://github.com/astral-sh/uv/pull/12943))
- Add debug logs for version file search ([#12951](https://github.com/astral-sh/uv/pull/12951))
- Fix `SourceNotAllowed` error message during Python discovery ([#13012](https://github.com/astral-sh/uv/pull/13012))
- Obfuscate password in credentials debug messages ([#12944](https://github.com/astral-sh/uv/pull/12944))
- Obfuscate possible tokens in URL logs ([#12969](https://github.com/astral-sh/uv/pull/12969))
- Validate that PEP 751 entries don't include multiple sources ([#12993](https://github.com/astral-sh/uv/pull/12993))
### Preview features
- Build backend: Add reference docs and schema ([#12803](https://github.com/astral-sh/uv/pull/12803))
### Bug fixes
- Align supported `config-settings` with example in docs ([#12947](https://github.com/astral-sh/uv/pull/12947))
- Ensure virtual environment is compatible with interpreter on sync ([#12884](https://github.com/astral-sh/uv/pull/12884))
- Fix `PythonDownloadRequest` parsing for partial keys ([#12925](https://github.com/astral-sh/uv/pull/12925))
- Fix pre-release exclusive comparison operator in `uv-pep440` ([#12836](https://github.com/astral-sh/uv/pull/12836))
- Forward additional signals to the child process in `uv run` ([#13017](https://github.com/astral-sh/uv/pull/13017))
- Omit PEP 751 version for source trees ([#13030](https://github.com/astral-sh/uv/pull/13030))
- Patch `CC` and `CCX` entries in sysconfig for cross-compiled `aarch64` Python distributions ([#12239](https://github.com/astral-sh/uv/pull/12239))
- Properly handle authentication for HTTP 302 redirect URLs ([#12920](https://github.com/astral-sh/uv/pull/12920))
- Set 4MB stack size for all threads, introduce `UV_STACK_SIZE` ([#12839](https://github.com/astral-sh/uv/pull/12839))
- Show PyPy downloads during `uv python list` ([#12915](https://github.com/astral-sh/uv/pull/12915))
- Add `subdirectory` to Direct URL for local directories ([#12971](https://github.com/astral-sh/uv/pull/12971))
- Prefer stable releases over pre-releases in `uv python install` ([#12194](https://github.com/astral-sh/uv/pull/12194))
- Write requested Python variant to pin file in `uv init` ([#12870](https://github.com/astral-sh/uv/pull/12870))
### Documentation
- Fix CLI reference with code block ([#12807](https://github.com/astral-sh/uv/pull/12807))
- Fix lockfile note ([#12793](https://github.com/astral-sh/uv/pull/12793))
- Fix typo in a reference ([#12858](https://github.com/astral-sh/uv/pull/12858))
- Improve docs for `uv python list --only-downloads` and `--only-installed` ([#12916](https://github.com/astral-sh/uv/pull/12916))
- Update not on lack of musl distributions to ARM-only ([#12825](https://github.com/astral-sh/uv/pull/12825))
- Add section on shebangs for scripts ([#11553](https://github.com/astral-sh/uv/pull/11553))
- Display aliases for long and short args in the CLI reference ([#12824](https://github.com/astral-sh/uv/pull/12824))
- Fix highlight line in explicit index documentation ([#12887](https://github.com/astral-sh/uv/pull/12887))
- Add explicit source (matching PyTorch guide) ([#12844](https://github.com/astral-sh/uv/pull/12844))
- Fix link to issue ([#12823](https://github.com/astral-sh/uv/pull/12823))
- Fix grammatical error in FastAPI guide ([#12908](https://github.com/astral-sh/uv/pull/12908))
- Add `--locked` to `uv sync` in GitHub Actions guide ([#12819](https://github.com/astral-sh/uv/pull/12819))
- Improve formatting for `"all"` `default-groups` setting documentation ([#12963](https://github.com/astral-sh/uv/pull/12963))
- Replace `--frozen` with `--locked` in Docker integration guide ([#12818](https://github.com/astral-sh/uv/pull/12818))
## 0.6.14
### Python versions
@ -22,7 +94,6 @@ See the [`python-build-standalone` release notes](https://github.com/astral-sh/p
- Add `uv-build` and `uv_build` aliases to `uv init --build-backend` ([#12776](https://github.com/astral-sh/uv/pull/12776))
- Emit dedicated error message for Conda `environment.yml` files ([#12669](https://github.com/astral-sh/uv/pull/12669))
### Preview features
- Build backend: Check module dir exists for sdist build ([#12779](https://github.com/astral-sh/uv/pull/12779))

6
Cargo.lock generated
View file

@ -4563,7 +4563,7 @@ dependencies = [
[[package]]
name = "uv"
version = "0.6.14"
version = "0.6.15"
dependencies = [
"anstream",
"anyhow",
@ -4725,7 +4725,7 @@ dependencies = [
[[package]]
name = "uv-build"
version = "0.6.14"
version = "0.6.15"
dependencies = [
"anyhow",
"uv-build-backend",
@ -5869,7 +5869,7 @@ dependencies = [
[[package]]
name = "uv-version"
version = "0.6.14"
version = "0.6.15"
[[package]]
name = "uv-virtualenv"

View file

@ -1,6 +1,6 @@
[package]
name = "uv-build"
version = "0.6.14"
version = "0.6.15"
edition.workspace = true
rust-version.workspace = true
homepage.workspace = true

View file

@ -1,6 +1,6 @@
[project]
name = "uv-build"
version = "0.6.14"
version = "0.6.15"
description = "The uv build backend"
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
requires-python = ">=3.8"

View file

@ -1025,7 +1025,7 @@ mod tests {
referer: true,
default_headers: {
"accept": "*/*",
"user-agent": "uv/0.6.14",
"user-agent": "uv/0.6.15",
},
read_timeout: 30s,
},
@ -1203,7 +1203,7 @@ mod tests {
referer: true,
default_headers: {
"accept": "*/*",
"user-agent": "uv/0.6.14",
"user-agent": "uv/0.6.15",
},
read_timeout: 30s,
},

View file

@ -1,6 +1,6 @@
[package]
name = "uv-version"
version = "0.6.14"
version = "0.6.15"
edition = { workspace = true }
rust-version = { workspace = true }
homepage = { workspace = true }

View file

@ -1,6 +1,6 @@
[package]
name = "uv"
version = "0.6.14"
version = "0.6.15"
edition = { workspace = true }
rust-version = { workspace = true }
homepage = { workspace = true }

View file

@ -82,13 +82,23 @@ explicitly updated using `uv lock`.
`uv.lock` is a human-readable TOML file but is managed by uv and should not be edited manually. The
`uv.lock` format is specific to uv and not usable by other tools.
!!! note
### `pylock.toml`
Recently Python standardized the lockfile format with `pylock.toml`.
For details on the new standard, see [PEP 751](https://peps.python.org/pep-0751/).
In [PEP 751](https://peps.python.org/pep-0751/), Python standardized a new resolution file format,
`pylock.toml`.
Some of uv's functionality cannot be expressed in the `pylock.toml` format,
so uv will continue to use the `uv.lock` format.
`pylock.toml` is a resolution output format intended to replace `requirements.txt` (e.g., in the
context of `uv pip compile`, whereby a "locked" `requirements.txt` file is generated from a set of
input requirements). `pylock.toml` is standardized and tool-agnostic, such that in the future,
`pylock.toml` files generated by uv could be installed by other tools, and vice versa.
However, support for `pylock.toml` is planned everywhere uv currently supports `requirements.txt` files.
For more details and updates on progress, see [12584](https://github.com/astral-sh/uv/issues/12584).
Some of uv's functionality cannot be expressed in the `pylock.toml` format; as such, uv will
continue to use the `uv.lock` format within the project interface.
However, uv supports `pylock.toml` as an export target and in the `uv pip` CLI. For example:
- To export a `uv.lock` to the `pylock.toml` format, run: `uv export -o pylock.toml`
- To generate a `pylock.toml` file from a set of requirements, run:
`uv pip compile -o pylock.toml -r requirements.in`
- To install from a `pylock.toml` file, run: `uv pip sync pylock.toml` or
`uv pip install -r pylock.toml`

View file

@ -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.14/install.sh | sh
$ curl -LsSf https://astral.sh/uv/0.6.15/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.14/install.ps1 | iex"
$ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.6.15/install.ps1 | iex"
```
!!! tip

View file

@ -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.14 AS uv
FROM ghcr.io/astral-sh/uv:0.6.15 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.14 AS uv
FROM ghcr.io/astral-sh/uv:0.6.15 AS uv
# First, bundle the dependencies into the task root.
FROM public.ecr.aws/lambda/python:3.13 AS builder

View file

@ -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.14`
- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.6.15`
- `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.14-alpine`.
`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.6.15-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.14 /uv /uvx /bin/
COPY --from=ghcr.io/astral-sh/uv:0.6.15 /uv /uvx /bin/
```
!!! tip
@ -128,7 +128,7 @@ COPY --from=ghcr.io/astral-sh/uv:0.6.14 /uv /uvx /bin/
Or, with the installer:
```dockerfile
ADD https://astral.sh/uv/0.6.14/install.sh /uv-installer.sh
ADD https://astral.sh/uv/0.6.15/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.14`, or (even better) the specific image digest,
version tag, e.g., `ghcr.io/astral-sh/uv:0.6.15`, or (even better) the specific image digest,
such as `ghcr.io/astral-sh/uv:0.5.27@sha256:5adf09a5a526f380237408032a9308000d14d5947eafa687ad6c6a2476787b4f`.

View file

@ -47,7 +47,7 @@ jobs:
uses: astral-sh/setup-uv@v5
with:
# Install a specific version of uv.
version: "0.6.14"
version: "0.6.15"
```
## Setting up Python

View file

@ -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.14
rev: 0.6.15
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.14
rev: 0.6.15
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.14
rev: 0.6.15
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.14
rev: 0.6.15
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.14
rev: 0.6.15
hooks:
# Compile requirements
- id: pip-compile

View file

@ -4,7 +4,7 @@ build-backend = "maturin"
[project]
name = "uv"
version = "0.6.14"
version = "0.6.15"
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"
@ -81,7 +81,6 @@ version_files = [
"crates/uv-version/Cargo.toml",
"crates/uv-build/Cargo.toml",
"crates/uv-build/pyproject.toml",
"docs/configuration/build_backend.md",
"docs/getting-started/installation.md",
"docs/guides/integration/docker.md",
"docs/guides/integration/pre-commit.md",