Skip to content

Commit 329a6b4

Browse files
Bump version to v0.8.6 (#15137)
1 parent abc68fc commit 329a6b4

File tree

15 files changed

+65
-30
lines changed

15 files changed

+65
-30
lines changed

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,41 @@
22

33
<!-- prettier-ignore-start -->
44

5+
## 0.8.6
6+
7+
This release contains hardening measures to address differentials in behavior between uv and Python's built-in ZIP parser (CVE-2025-54368).
8+
9+
Prior to this release, attackers could construct ZIP files that would be extracted differently by pip, uv, and other tools. As a result, ZIPs could be constructed that would be considered harmless by (e.g.) scanners, but contain a malicious payload when extracted by uv. As of v0.8.6, uv now applies additional checks to reject such ZIPs.
10+
11+
Thanks to a triage effort with the [Python Security Response Team](https://devguide.python.org/developer-workflow/psrt/) and PyPI maintainers, we were able to determine that these differentials **were not exploited** via PyPI during the time they were present. The PyPI team has also implemented similar checks and now guards against these parsing differentials on upload.
12+
13+
Although the practical risk of exploitation is low, we take the _hypothetical_ risk of parser differentials very seriously. Out of an abundance of caution, we have assigned this advisory a CVE identifier and have given it a "moderate" severity suggestion.
14+
15+
These changes have been validated against the top 15,000 PyPI packages; however, it's plausible that a non-malicious ZIP could be falsely rejected with this additional hardening. As an escape hatch, users who do encounter breaking changes can enable `UV_INSECURE_NO_ZIP_VALIDATION` to restore the previous behavior. If you encounter such a rejection, please file an issue in uv and to the upstream package.
16+
17+
### Security
18+
19+
- Harden ZIP streaming to reject repeated entries and other malformed ZIP files ([#15136](https://github.com/astral-sh/uv/pull/15136))
20+
21+
### Enhancements
22+
23+
- Sync latest Python releases ([#15135](https://github.com/astral-sh/uv/pull/15135))
24+
25+
### Configuration
26+
27+
- Add support for per-project build-time environment variables ([#15095](https://github.com/astral-sh/uv/pull/15095))
28+
29+
### Bug fixes
30+
31+
- Avoid invalid simplification with conflict markers ([#15041](https://github.com/astral-sh/uv/pull/15041))
32+
- Respect `UV_HTTP_RETRIES` in `uv publish` ([#15106](https://github.com/astral-sh/uv/pull/15106))
33+
- Support `UV_NO_EDITABLE` where `--no-editable` is supported ([#15107](https://github.com/astral-sh/uv/pull/15107))
34+
- Upgrade `cargo-dist` to add `UV_INSTALLER_URL` to PowerShell installer ([#15114](https://github.com/astral-sh/uv/pull/15114))
35+
- Upgrade `h2` again to avoid `too_many_internal_resets` errors ([#15111](https://github.com/astral-sh/uv/pull/15111))
36+
37+
### Documentation
38+
39+
- Ensure symlink warning is shown ([#15126](https://github.com/astral-sh/uv/pull/15126))
540

641
## 0.8.5
742

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/uv-build/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "uv-build"
3-
version = "0.8.5"
3+
version = "0.8.6"
44
edition = { workspace = true }
55
rust-version = { workspace = true }
66
homepage = { workspace = true }

crates/uv-build/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "uv-build"
3-
version = "0.8.5"
3+
version = "0.8.6"
44
description = "The uv build backend"
55
authors = [{ name = "Astral Software Inc.", email = "[email protected]" }]
66
requires-python = ">=3.8"

crates/uv-version/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "uv-version"
3-
version = "0.8.5"
3+
version = "0.8.6"
44
edition = { workspace = true }
55
rust-version = { workspace = true }
66
homepage = { workspace = true }

crates/uv/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "uv"
3-
version = "0.8.5"
3+
version = "0.8.6"
44
edition = { workspace = true }
55
rust-version = { workspace = true }
66
homepage = { workspace = true }

docs/concepts/build-backend.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ To use uv as a build backend in an existing project, add `uv_build` to the
3131

3232
```toml title="pyproject.toml"
3333
[build-system]
34-
requires = ["uv_build>=0.8.5,<0.9.0"]
34+
requires = ["uv_build>=0.8.6,<0.9.0"]
3535
build-backend = "uv_build"
3636
```
3737

docs/concepts/projects/init.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ dependencies = []
111111
example-pkg = "example_pkg:main"
112112

113113
[build-system]
114-
requires = ["uv_build>=0.8.5,<0.9.0"]
114+
requires = ["uv_build>=0.8.6,<0.9.0"]
115115
build-backend = "uv_build"
116116
```
117117

@@ -134,7 +134,7 @@ dependencies = []
134134
example-pkg = "example_pkg:main"
135135

136136
[build-system]
137-
requires = ["uv_build>=0.8.5,<0.9.0"]
137+
requires = ["uv_build>=0.8.6,<0.9.0"]
138138
build-backend = "uv_build"
139139
```
140140

@@ -195,7 +195,7 @@ requires-python = ">=3.11"
195195
dependencies = []
196196

197197
[build-system]
198-
requires = ["uv_build>=0.8.5,<0.9.0"]
198+
requires = ["uv_build>=0.8.6,<0.9.0"]
199199
build-backend = "uv_build"
200200
```
201201

docs/concepts/projects/workspaces.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ bird-feeder = { workspace = true }
7575
members = ["packages/*"]
7676

7777
[build-system]
78-
requires = ["uv_build>=0.8.5,<0.9.0"]
78+
requires = ["uv_build>=0.8.6,<0.9.0"]
7979
build-backend = "uv_build"
8080
```
8181

@@ -106,7 +106,7 @@ tqdm = { git = "https://github.com/tqdm/tqdm" }
106106
members = ["packages/*"]
107107

108108
[build-system]
109-
requires = ["uv_build>=0.8.5,<0.9.0"]
109+
requires = ["uv_build>=0.8.6,<0.9.0"]
110110
build-backend = "uv_build"
111111
```
112112

@@ -188,7 +188,7 @@ dependencies = ["bird-feeder", "tqdm>=4,<5"]
188188
bird-feeder = { path = "packages/bird-feeder" }
189189

190190
[build-system]
191-
requires = ["uv_build>=0.8.5,<0.9.0"]
191+
requires = ["uv_build>=0.8.6,<0.9.0"]
192192
build-backend = "uv_build"
193193
```
194194

docs/getting-started/installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ uv provides a standalone installer to download and install uv:
2525
Request a specific version by including it in the URL:
2626

2727
```console
28-
$ curl -LsSf https://astral.sh/uv/0.8.5/install.sh | sh
28+
$ curl -LsSf https://astral.sh/uv/0.8.6/install.sh | sh
2929
```
3030

3131
=== "Windows"
@@ -41,7 +41,7 @@ uv provides a standalone installer to download and install uv:
4141
Request a specific version by including it in the URL:
4242

4343
```pwsh-session
44-
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.8.5/install.ps1 | iex"
44+
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.8.6/install.ps1 | iex"
4545
```
4646

4747
!!! tip

0 commit comments

Comments
 (0)