Zsolt Dollenstein
3e4cbd7ae8
Update CHANGELOG with note about 0.11.9 manual release
2026-05-05 06:55:06 -07:00
Zanie Blue
e5d20c6e3a
Fix pre-release handling in the manual release script ( #19276 )
2026-05-05 02:06:48 -05:00
Zanie Blue
7829a03b6c
Bump version to 0.11.9 ( #19273 )
0.11.9
2026-05-05 05:06:19 +00:00
github-actions[bot]
726047a420
Sync latest Python releases ( #19268 )
...
Automated update for Python releases.
---------
Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2026-05-05 02:33:32 +00:00
Charlie Marsh
a1c90c1fa1
Fix transitive Git path dependencies in lockfiles ( #19269 )
...
## Summary
We now preserve source identity for transitive path dependencies
discovered while lowering metadata from Git-sourced packages. If a
dependency resolves to a directory inside the same Git checkout, we lock
it as the corresponding Git source with a `subdirectory` instead of
serializing the absolute checkout path.
Closes https://github.com/astral-sh/uv/issues/19152 .
2026-05-04 17:47:10 -07:00
Charlie Marsh
77f2710639
Omit compatible release desugaring for pre-release hints ( #19267 )
...
## Summary
`~=3.6` gets expanded to `>=3.6,<4.dev0`, which causes us to show a
pre-release hint. We now omit such ranges. This could lead to false
negatives (i.e., if a user _actually_ requested `>=3.6,<4.dev0`), but I
think this is the right tradeoff.
Closes https://github.com/astral-sh/uv/issues/19266 .
2026-05-05 00:11:22 +00:00
Oshadha Gunawardena
fe7137f253
Prevent uninstalling site-packages for empty top_level.txt in .egg-info ( #19114 )
...
uv pip uninstall `<pkg>` against a legacy` .egg-info` distribution with
an empty` top_level.txt` could resolve "" back to the distribution
location itself and end up deleting site-packages.
In `uninstall_egg` crate, each line from `top_level.txt `is now trimmed
and empty entries are skipped before iterating. Applied the same trim +
non-empty handling to `namespace_packages.txt` so both files are parsed
consistently. I did not also change is_path_in_scheme to reject paths
equal to a scheme root, since that is a broader defense-in-depth change
and outside the scope of this fix.
Covered by `test_uninstall_egg_info_empty_top_level` next to the
existing `test_uninstall_egg_info_path_traversal`, plus
`test_uninstall_egg_info_blank_lines_in_top_level` for blank and
whitespace-only lines between valid entries, which hits the same wipe
path before the fix. It fails on main with uninstall must not remove
site-packages itself and passes with this fix. Existing
`uninstall_egg_info`, `dry_run_uninstall_egg_info`, and
`uninstall_legacy_editable` integration tests still pass.
Closes #19113 .
---------
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com >
2026-05-04 21:59:15 +00:00
Charlie Marsh
3ba8059174
Fix URL prefix matching to require path boundaries ( #19154 )
...
## Summary
We're using `url.path().starts_with(self.root_url.path())` and similar
logic in a few places, which treats `https://example.com/foobar ` as a
subpath of `https://example.com/foo `, when these should really be at
path boundaries.
2026-05-04 14:54:52 -07:00
renovate[bot]
40a5cc56a0
Update uraimo/run-on-arch-action action to v3.1.0 ( #19257 )
2026-05-04 14:36:12 -07:00
renovate[bot]
dc99a05a4a
Update debian Docker tag to trixie-20260421 ( #19232 )
2026-05-04 14:34:13 -07:00
renovate[bot]
d05234b9eb
Update Rust crate test-log to v0.2.20 ( #19169 )
2026-05-04 14:33:34 -07:00
renovate[bot]
f54de75b73
Update Rust crate tracing-durations-export to v0.3.3 ( #19252 )
2026-05-04 14:32:03 -07:00
renovate[bot]
4ac569a137
Update Rust crate rkyv to v0.8.16 ( #19249 )
2026-05-04 14:31:51 -07:00
renovate[bot]
19dd531908
Update Rust crate data-encoding to v2.11.0 ( #19255 )
2026-05-04 14:30:45 -07:00
renovate[bot]
5e43adc6ee
Update CodSpeedHQ/action action to v4.14.0 ( #19254 )
2026-05-04 14:30:17 -07:00
renovate[bot]
16091bac8d
Update Rust crate jiff to v0.2.24 ( #19248 )
2026-05-04 14:29:17 -07:00
renovate[bot]
441d2dc15a
Update dependency astral-sh/uv to v0.11.8 ( #19247 )
2026-05-04 14:29:00 -07:00
renovate[bot]
8d7cee6601
Update Rust crate webpki to v0.103.13 ( #19253 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [webpki](https://redirect.github.com/rustls/webpki ) |
workspace.dependencies | patch | `0.103.12` → `0.103.13` |
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/uv ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJidWlsZDpza2lwLWRvY2tlciIsImJ1aWxkOnNraXAtcmVsZWFzZSIsImludGVybmFsIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-04 14:25:52 -04:00
William Woodruff
449c6c944a
Bump rand to 0.9.4 ( #19264 )
...
## Summary
See #19259 for context.
## Test Plan
NFC.
Signed-off-by: William Woodruff <william@astral.sh >
2026-05-04 18:04:41 +00:00
renovate[bot]
196ab14a0c
Update taiki-e/install-action action to v2.75.22 ( #19172 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-03 12:09:46 +01:00
Charlie Marsh
d7d5a6f460
Re-add pytorch-triton-rocm to PyTorch ROCm docs ( #19241 )
...
See: https://github.com/astral-sh/uv/pull/19095#issuecomment-4363999668
2026-05-02 10:57:22 -04:00
Zanie Blue
6d4ec88ccd
Handle incorrect unlock error in LockedFile::drop on Wine ( #19229 )
...
See https://bugs.winehq.org/show_bug.cgi?id=59711
2026-04-30 23:20:54 +00:00
Zanie Blue
4d4f345cfe
Add an integration test for Wine ( #19214 )
...
Cherry-picking https://github.com/astral-sh/uv/pull/19213 resolves the
failure reported in https://github.com/astral-sh/uv/issues/19187
2026-04-30 15:57:38 +00:00
Zanie Blue
3a434706b4
Refactor query parameter redaction ( #19218 )
...
Small follow-up to https://github.com/astral-sh/uv/pull/19146 which I
was looking into independently as a follow-up from the Codex security
patch at https://github.com/zaniebot/uv/pull/19
---------
Co-authored-by: zaniebot <zaniebot@accounts.zanie.blue >
2026-04-30 10:38:07 -05:00
Zanie Blue
909fe5c4f6
Disable tests that depend on quarantined lightning package ( #19224 )
...
CI is failing because https://pypi.org/project/lightning/ is
transitively included in some torch tests.
While we use exclude-newer for determinism, a project-level quarantine
means PyPI excludes all distributions from the responses.
2026-04-30 10:28:27 -05:00
Zanie Blue
5c0d3bac21
Fix file locks on Android ( #18323 )
...
Part of https://github.com/astral-sh/uv/issues/14574 and
https://github.com/termux/termux-packages/issues/27547
Avoids the downstream patch at
https://github.com/termux/termux-packages/blob/master/packages/uv/00002-revert-to-shared-lock.patch
from https://github.com/termux/termux-packages/pull/27253
2026-04-30 09:06:37 -05:00
Zanie Blue
a846497e95
Use symlinks instead of junctions on Wine ( #19213 )
...
Integration test coverage added in
https://github.com/astral-sh/uv/pull/19214
Closes https://github.com/astral-sh/uv/issues/19187
On Wine, we're compiled for Windows but junctions are not available.
Here, we switch to symlinks when we can detect Wine.
2026-04-30 09:02:07 -05:00
William Woodruff
c643c8820d
Allow apply-ci-snapshots.sh review without ID ( #19149 )
...
## Summary
This is a small nice-to-have: previously to use `review` you'd need to
pass the run ID manually, since `apply-ci-snapshots.sh review` would
result in "review" being interpreted as the run ID.
## Test Plan
Dev only.
Signed-off-by: William Woodruff <william@astral.sh >
2026-04-29 16:02:25 -04:00
William Woodruff
530790e3cb
uv audit: adverse status reporting ( #19128 )
...
## Summary
Part of #18506 . Closes #15254 .
With this, we take the PEP 792 project status information (already
present in our internal representations per #15254 ) and use it to
produce appropriate adverse status reports (e.g. `hackme is
quarantined`).
To do this we need to make (frequently cached) registry client requests,
on top of whatever requests (currently just OSV) that `uv audit` needs
to make for known vulnerabilities/malware.
## Test Plan
I've added unit and integration tests, along with some `pypi-proxy`
scaffolding changes to allow us to easily test different project
statuses.
---------
Signed-off-by: William Woodruff <william@astral.sh >
2026-04-29 15:35:48 -04:00
Zanie Blue
a3df9eb245
Redact credentials from remote requirements URL in offline errors ( #19216 )
2026-04-29 19:21:21 +00:00
Zanie Blue
6f7b876aac
Add test coverage for redacted credentials in chained reqwest errors ( #19215 )
...
This was a false positive security finding from Codex.
Reqwest does this redaction.
2026-04-29 18:57:09 +00:00
Tobias Hernstig
4cefd6444f
docs: Add 'Exporting lockfiles' to the Concepts->Projects index ( #19209 )
...
## Summary
Add 'Exporting lockfiles' to the Concepts->Projects index. It was
missing.
2026-04-29 13:03:32 -05:00
Geoffrey Thomas
4879934b20
trampolines: Don't set PYTHONHOME, set __PYVENV_LAUNCHER__ only in venvs ( #19199 )
...
`PYTHONHOME` isn't automatically cleaned up, so setting it causes it to
leak to child processes of Python, e.g., other, unrelated (perhaps not
even uv-controlled) Python builds, which breaks them. Never setting it
fixes #19080 .
However, on the implementation of getpath on Python 3.10 and below,
leaving `PYTHONHOME` unset and pointing `__PYVENV_LAUNCHER__` at
something that isn't a venv or a directly-usable Python installation
(for example, pointing it to .local\bin\python3.10.exe) causes Python
startup to fail. So we only should be setting it inside a venv, i.e., if
the trampoline itself (not the target executable) is in a venv.
Presumably this failure on 3.10 is why we started setting PYTHONHOME in
the first place. See brief discussion in
https://github.com/astral-sh/uv/pull/13531/files#diff-969979506be03e89476feade2edebb4689a9c261f325988d3c7efc5e51de26d1
The putative benefit of setting `__PYVENV_LAUNCHER__` is to force
Python's idea of its own path to be the non-resolved junction path (e.g.
uv\python\cpython-3.10-..., not uv\python\cpython-3.10.0-...), to help
transparent version upgrades. If we don't manually set it to the
non-resolved path, there's a risk that Windows will resolve it. However,
empirically on Server 2022, Windows does not resolve it. (Also, even if
it does get canonicalized, that has a very limited impact on transparent
version upgrades, as venvs still list the junction path in pyvenv.cfg
and inside the trampoline. The only impact here is that sys.path etc.
might end up listing patch-version-specific paths, which would impact
some cases where code serializes the full path to something in the
stdlib or to sys._base_executable and calls it later. Also, Linux builds
of python-build-standalone have been fully canonicalizing this path
since December when we patched getpath to look at /proc/self/exe. That
new behavior is arguably a bug but this hasn't seemed to cause any
practical issues, so it doesn't seem like a real problem to risk Windows
perhaps doing the same thing.)
Unrelatedly, while we're rebuilding trampolines anyway, link with
/DEBUG:NONE to avoid storing the debug directory in the PE file, which
should slightly (but not entirely) reduce the amount of binary churn.
## Test Plan
Will need to be manually tested, I don't think we have good coverage for
this.
2026-04-29 12:24:34 -05:00
Zanie Blue
5904efc100
Add test coverage for python find and requires-python with minor version ranges ( #19212 )
2026-04-29 16:18:10 +00:00
Zanie Blue
e90b90aebe
Discover versioned Python executables when requires-python pins a version ( #18700 )
...
Closes https://github.com/astral-sh/uv/issues/9695
Follows https://github.com/astral-sh/uv/pull/9697
Consolidates `requires-python` conversion into `PythonRequest` so we can
handle this logic once.
2026-04-29 11:05:04 -05:00
William Woodruff
0e69f0c2ad
Remove our dependency on nanoid ( #19201 )
...
## Summary
This introduces a new workspace member, `uv-fastid`. `uv-fastid`
provides IDs using the same alphabet as nanoid, but with a slightly
smaller token size (16 instead of 21) and fewer knobs for configuration.
In practice it should also be faster, since our IDs are now trivially
copyable + don't require any heap allocations to construct internally.
This is probably not a huge deal in our case anyways (ID generation
isn't exactly dominating our runtime), but it doesn't hurt to have a
fast primitive here.
The two main APIs I've added are `insecure()` and `secure()`, whose
names refer to the kind of PRNG they use internally. Right now we only
use `insecure()`, since we don't actually need a CSPRNG for the uses of
nanoid we're replacing (revision and archive IDs).
Some other notes:
- Arguably we could remove the secure/insecure distinction entirely, and
just keep the CSPRNG path -- with `rand` we have a purely userspace
CSPRNG (seeded from the OS's CSPRNG), so we don't really need `fastrand`
for performance here.
- I'm guilty of using `unsafe` in this, although I think the usage is
demonstrably safe (as long as crate-private invariants are maintained) 🙂
- I think there's no breakage risk with this -- FWICT our only usage of
`nanoid` doesn't make any format assumptions, so switching to a slightly
shorter ID form here shouldn't break anything. Our previous IDs also
aren't part of any public interface AFAICT.
Closes https://github.com/astral-sh/uv/pull/19176 .
## Test Plan
Added unit tests to the new `uv-fastid` crate. Our existing tests should
cover this transitively as well.
---------
Signed-off-by: William Woodruff <william@astral.sh >
2026-04-29 15:56:43 +00:00
Charlie Marsh
fec6e5aff1
Mark --native-tls and UV_NATIVE_TLS as deprecated ( #18705 )
...
## Summary
Closes https://github.com/astral-sh/uv/issues/18689 .
2026-04-29 10:43:50 -05:00
Zsolt Dollenstein
8ce4f532c3
Revert "Ensure the rust toolchain is up-to-date in web sessions" ( #19211 )
2026-04-29 15:29:54 +00:00
github-actions[bot]
4510053bd6
Upgrade PyPy to v7.3.22 ( #19203 )
...
Automated update for Python releases.
Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com >
2026-04-29 10:18:57 -05:00
renovate[bot]
a7b63c7830
Update Vampire/setup-wsl action to v7 ( #19072 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [Vampire/setup-wsl](https://redirect.github.com/Vampire/setup-wsl ) |
action | major | `v6.0.0` → `v7.0.0` |
---
### Release Notes
<details>
<summary>Vampire/setup-wsl (Vampire/setup-wsl)</summary>
###
[`v7.0.0`](https://redirect.github.com/Vampire/setup-wsl/releases/tag/v7.0.0 )
[Compare
Source](https://redirect.github.com/Vampire/setup-wsl/compare/v6.1.0...v7.0.0 )
### Breaking Changes
- Updated Node.js to 24
([#​83](https://redirect.github.com/Vampire/setup-wsl/issues/83 ))
- Changed default distributon to Debian-13
- Changed Alpine-3.17 wslId to contain the version
- Changed Ubuntu-20.04 wslId to contain the version
- Changed Ubuntu-22.04 wslId to contain the version
- Removed deprecated Debian distributon
- Removed deprecated Alpine distributon
### Details
- Use Debian-11 instead of Debian in tests
\[[`953e6c3`](https://redirect.github.com/Vampire/setup-wsl/commit/953e6c3afb783e7b5bb3c88ca43f5228fe0bb004 )]
- Increase version to 7.0.0
\[[`efe0179`](https://redirect.github.com/Vampire/setup-wsl/commit/efe017909364b5e46e73a4bc9fa86aa48a9e7f5f )]
- Update Node.js to 24
([#​83](https://redirect.github.com/Vampire/setup-wsl/issues/83 ))
\[[`04ef237`](https://redirect.github.com/Vampire/setup-wsl/commit/04ef237f5c17bfda76e11250393d6a04cb943f0b )]
- Change default distributon to Debian-13
\[[`b67c897`](https://redirect.github.com/Vampire/setup-wsl/commit/b67c897c36887e4ae2170685cfe52d5af21ccc69 )]
- Remove deprecated Debian
\[[`ab5ed27`](https://redirect.github.com/Vampire/setup-wsl/commit/ab5ed2714a272172593bd91018f4ec50040ca255 )]
- Remove deprecated Alpine
\[[`0dc99a1`](https://redirect.github.com/Vampire/setup-wsl/commit/0dc99a1e2ab17f3cf7b7f945607913f18bef5911 )]
- Change Alpine-3.17 wslId to contain the version
\[[`4e9c3b1`](https://redirect.github.com/Vampire/setup-wsl/commit/4e9c3b1d5bc8dc5614576ad322385779b249a211 )]
- Use wsl-file distribution for Ubuntu 20.04+
\[[`9928f17`](https://redirect.github.com/Vampire/setup-wsl/commit/9928f17803b5c48d0b78b3347e91dfbb92af0f03 )]
- Change Ubuntu-20.04 and Ubuntu-22.04 wslIds to contain the version
\[[`f9577ca`](https://redirect.github.com/Vampire/setup-wsl/commit/f9577ca4c38935b96f9e985505bb5973a11efe48 )]
- Continue tests for specific wrapper script on installation failure
\[[`cf87199`](https://redirect.github.com/Vampire/setup-wsl/commit/cf87199e570ddb61025b510cf4ea12ef847259d9 )]
###
[`v6.1.0`](https://redirect.github.com/Vampire/setup-wsl/releases/tag/v6.1.0 )
[Compare
Source](https://redirect.github.com/Vampire/setup-wsl/compare/v6.0.0...v6.1.0 )
### Highlights
- Alpine (3.17) support fixed
([#​82](https://redirect.github.com/Vampire/setup-wsl/issues/82 ))
- Debian (11) support fixed
([#​76](https://redirect.github.com/Vampire/setup-wsl/issues/76 ))
- Alpine 3.18 - 3.23 support added
- Debian 12 - 13 support added
### Deprecations
- Using Alpine is deprecated, Alpine-3.17 is almost a drop-in
replacement
- Using Debian explicitly or as default is deprecated, Debian-11 is
almost a drop-in replacement
### Details
- Fix verify-release workflow generation
\[[`6819906`](https://redirect.github.com/Vampire/setup-wsl/commit/6819906081f7afebe0cfc34e838b6f8405045672 )]
- Disable testing on Alpine for the time being
\[[`1462529`](https://redirect.github.com/Vampire/setup-wsl/commit/14625297b76a90c46e1dc562a204a3a0e0a8f159 )]
- Fix apt update on Debian
([#​76](https://redirect.github.com/Vampire/setup-wsl/issues/76 ))
\[[`6eb7639`](https://redirect.github.com/Vampire/setup-wsl/commit/6eb7639cbde68375aef0a779c783d2137e8e7d99 )]
- Update snakeyaml to 2.6
\[[`90a7832`](https://redirect.github.com/Vampire/setup-wsl/commit/90a7832599e91317c6c87bde953703db3931cb17 )]
- Update release Gradle plugin to 3.1.0
\[[`44828e1`](https://redirect.github.com/Vampire/setup-wsl/commit/44828e1a0adcf0d70519abc3e0039d965fddeb09 )]
- Update versions Gradle plugin to 0.51.0
\[[`168ff3d`](https://redirect.github.com/Vampire/setup-wsl/commit/168ff3d15297f7854b79a42f94e4586737bc9d29 )]
- Update Wooga GitHub Gradle plugin to 4.0.0
\[[`47d527f`](https://redirect.github.com/Vampire/setup-wsl/commit/47d527fcd9652fe13b5a49ae79b3d8a6de0a8404 )]
- Update Grgit to 5.3.3
\[[`6391a34`](https://redirect.github.com/Vampire/setup-wsl/commit/6391a34ce2ef77d905a69dc59252e2215a5964ff )]
- Update Gradle to 8.14.4
\[[`6f851d3`](https://redirect.github.com/Vampire/setup-wsl/commit/6f851d34b5a17714525389d57bb57c1a8ff99f59 )]
- Get version update notifications for refresh versions plugin
\[[`01972ad`](https://redirect.github.com/Vampire/setup-wsl/commit/01972ad1ecf384ed6df4e1f8fb7b741d1f72d8cc )]
- Update refreshVersions Gradle plugin to 0.60.6
\[[`b00071d`](https://redirect.github.com/Vampire/setup-wsl/commit/b00071dbb307c1dcc9fd88e451467f5cf40efad2 )]
- Update github-api to 1.330
\[[`b38a1f9`](https://redirect.github.com/Vampire/setup-wsl/commit/b38a1f9b31713fe6d9024538684b5caa56a3d17f )]
- Update Dependency Analysis Gradle plugin to 3.1.0
\[[`25def4e`](https://redirect.github.com/Vampire/setup-wsl/commit/25def4e4b682f8b68001471a225cf815480a4079 )]
- Update Gradle to 9.4.1
\[[`0f597b6`](https://redirect.github.com/Vampire/setup-wsl/commit/0f597b6a31cef18eea42c1e8a2feee4cd2528407 )]
- Allow newer wrapper versions in validateGradleWrapperJar
\[[`0e1d30d`](https://redirect.github.com/Vampire/setup-wsl/commit/0e1d30dc232df29f9dda4d79cd777e76e70bfd8c )]
- Update versions Gradle plugin to 0.53.0
\[[`8632db7`](https://redirect.github.com/Vampire/setup-wsl/commit/8632db7e70de2fc411fe85a5670eefaae684e25e )]
- Update Dependency Analysis Gradle plugin to 3.6.1
\[[`df43e2e`](https://redirect.github.com/Vampire/setup-wsl/commit/df43e2ebf29a3d294190dcd3e63d973482db0c77 )]
- Update kotlinx-serialization to 1.10.0
\[[`0261a4f`](https://redirect.github.com/Vampire/setup-wsl/commit/0261a4fee8a0f64a16f004782cab84af9dd3d1e4 )]
- Update Kotlin for workflow preprocessing to 2.3.20
\[[`685f117`](https://redirect.github.com/Vampire/setup-wsl/commit/685f11708b49c5c8062ab3eec8b6e6e7257b5682 )]
- Increase daemon max heap
\[[`f103acb`](https://redirect.github.com/Vampire/setup-wsl/commit/f103acbf8cdf65d82fac2786ced79f9f77d691d9 )]
- Update Kotlin to 2.3.20
\[[`7bab382`](https://redirect.github.com/Vampire/setup-wsl/commit/7bab382ed125d272dd311d03785c6b16e81eaed2 )]
- Remove obsolete ktor work-around
\[[`857582f`](https://redirect.github.com/Vampire/setup-wsl/commit/857582fcf90680b6f5a04c7676a7e7bca640aa57 )]
- Update ktor to 3.4.2
\[[`b0a9492`](https://redirect.github.com/Vampire/setup-wsl/commit/b0a94922f83a7f1ac132870ff7cfde5d7b0ab1c6 )]
- Remove obsolete IDE helper comments
\[[`14f968f`](https://redirect.github.com/Vampire/setup-wsl/commit/14f968fe97129bf1e45c692eadb03dd5ff7fde97 )]
- Update github-workflows-kt to 3.7.0
\[[`2a205c6`](https://redirect.github.com/Vampire/setup-wsl/commit/2a205c6bd0fa794175578172fcd14c759af426fd )]
- Update actions/checkout to v6
\[[`9e3e4a6`](https://redirect.github.com/Vampire/setup-wsl/commit/9e3e4a6c9bca995814e01a09a57e3279bb02573e )]
- Update gradle/actions to v6
\[[`0507b3e`](https://redirect.github.com/Vampire/setup-wsl/commit/0507b3ec8475befee8cbe0855c3face21409ee6b )]
- Update actions/cache to v5
\[[`f96ebd2`](https://redirect.github.com/Vampire/setup-wsl/commit/f96ebd226a296fa1e8e1e10579d8138d79967abf )]
- Update actions/setup-java to v5
\[[`e491558`](https://redirect.github.com/Vampire/setup-wsl/commit/e4915587230015030aac23cc49d8e0644ddf80d0 )]
- Update kotlin wrappers to 2026.4.5
\[[`24fd3b7`](https://redirect.github.com/Vampire/setup-wsl/commit/24fd3b72e3e46b6c65a1a302a2fe75321475dd76 )]
- Increase version to 6.1.0
\[[`648c2a1`](https://redirect.github.com/Vampire/setup-wsl/commit/648c2a1e3c5efd0aee5a94e0e9bf4bb99bc10453 )]
- Deprecate Debian and add Debian-11 as almost drop-in replacement
\[[`9c2948a`](https://redirect.github.com/Vampire/setup-wsl/commit/9c2948a1d6585dda24afcfc22b92e3058fa5e422 )]
- Replace dynamic Microsoft store download by wsl --import
([#​82](https://redirect.github.com/Vampire/setup-wsl/issues/82 ))
\[[`d5fc1c9`](https://redirect.github.com/Vampire/setup-wsl/commit/d5fc1c9b0d3da283047e63a46eeb5d6fbcbdf0c6 )]
- Deprecate Alpine and add Alpine-3.17 as almost drop-in replacement
\[[`9d61a27`](https://redirect.github.com/Vampire/setup-wsl/commit/9d61a2750ae18cb3d4526cf0e1650be74bd3a74e )]
- Add support for Alpine 3.18 - 3.23
\[[`d859bad`](https://redirect.github.com/Vampire/setup-wsl/commit/d859bad858e9b812cc37608ce9f153d801acb9f1 )]
- Improve test conditions when overwriting wsl.conf file
\[[`818d233`](https://redirect.github.com/Vampire/setup-wsl/commit/818d2335f683b36abf673bff66be7c0ac2b32201 )]
- Add support for Debian 12 using wsl --install --from-file
\[[`a0d3bcd`](https://redirect.github.com/Vampire/setup-wsl/commit/a0d3bcd4e9f110b4ff283262d4ed33430e968ef5 )]
- Add support for Debian 13
\[[`e8092cd`](https://redirect.github.com/Vampire/setup-wsl/commit/e8092cd8554a42789497c34b56445fd1dbe7ca9a )]
- Add a readme that explains the workflow files handling
\[[`7d4bd70`](https://redirect.github.com/Vampire/setup-wsl/commit/7d4bd702a23994c2013ae925e04e30aab88ae93a )]
- Update common-custom-user-data-gradle-plugin to 2.6.0
\[[`ade4ee0`](https://redirect.github.com/Vampire/setup-wsl/commit/ade4ee06fe3ac506612702dd3492590aa5bbc174 )]
- Update kotlinx-serialization to 1.11.0
\[[`02217b0`](https://redirect.github.com/Vampire/setup-wsl/commit/02217b0bf1af60960caae9518119a47106b24b31 )]
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/uv ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJidWlsZDpza2lwLWRvY2tlciIsImJ1aWxkOnNraXAtcmVsZWFzZSIsImludGVybmFsIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-29 09:23:23 -05:00
Zsolt Dollenstein
0f87b02b82
Ensure the rust toolchain is up-to-date in web sessions ( #19208 )
2026-04-29 11:46:32 +00:00
Zsolt Dollenstein
502d42bf1d
Bump mimalloc crate to 0.1.50 while keeping v2 ( #19192 )
...
See https://github.com/astral-sh/ruff/issues/24880 , mimalloc v3 causes a
crash in uv too when run under aarch64 windows.
This PR bumps the crate dependency, adding the `v2` feature to avoid the
crash.
2026-04-28 10:28:21 -05:00
konsti
91407545d2
Catch missing uv build backend compatible version bumps ( #18821 )
...
The uv build backend itself doesn't know if any particular previous
breaking release contained breaking changes for it, so we need to
manually update the list. This is easy to forget.
To prevent anyone from missing to update this list, we check for
something that looks like a missed release. If it was missed, it will
fail test (at latest in CI) on the breaking version change PR. This is
meant as oversight prevention, not as a release gate, if it fails
inappropriately just remove it.
2026-04-28 01:11:10 +02:00
konsti
441371eb9f
Trim trailing whitespace in help output ( #18182 )
...
Many formatters trim trailing whitespace, while some clap help outputs
trailing whitespace. This causes churn regularly, latest example:
https://github.com/astral-sh/uv/pull/18124/changes#diff-97a69f02448134717881c6ce094acacd9f49df54534d457066f95f3d838a1ae7 .
This PR trims trailing whitespace from each line after rendering clap
help text, working around https://github.com/clap-rs/clap/issues/5074 .
2026-04-27 22:42:06 +02:00
William Woodruff
cd8d9ba760
Bump astral-tokio-tar to 0.6.1 ( #19195 )
...
## Summary
Bumps our own astral-tokio-tar dep.
## Test Plan
NFC, existing tests will cover.
Signed-off-by: William Woodruff <william@astral.sh >
2026-04-27 15:27:44 -04:00
Zanie Blue
ba038662dd
Upgrade Depot runners from macOS 14 to 15 ( #19194 )
...
The pool is larger on Depot so we should get better availablity.
2026-04-27 13:48:19 -05:00
Zanie Blue
9099048181
Move the Windows exception handler to uv-windows ( #19191 )
2026-04-27 16:51:44 +00:00
renovate[bot]
431669ced5
Update Rust to v1.95.0 ( #19179 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust ) | minor | `1.94.1`
→ `1.95.0` |
---
### Release Notes
<details>
<summary>rust-lang/rust (rust)</summary>
###
[`v1.95.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1950-2026-04-16 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.94.1...1.95.0 )
\===========================
<a id="1.95-Language"></a>
## Language
- [Stabilize `if let` guards on match
arms](https://redirect.github.com/rust-lang/rust/pull/141295 )
- [`irrefutable_let_patterns` lint no longer lints on let
chains](https://redirect.github.com/rust-lang/rust/pull/146832 )
- [Support importing path-segment keywords with
renaming](https://redirect.github.com/rust-lang/rust/pull/146972 )
- [Stabilize inline assembly for PowerPC and
PowerPC64](https://redirect.github.com/rust-lang/rust/pull/147996 )
- [const-eval: be more consistent in the behavior of padding during
typed copies](https://redirect.github.com/rust-lang/rust/pull/148967 )
- [Const blocks are no longer evaluated to determine if expressions
involving fallible operations can implicitly be
constant-promoted.](https://redirect.github.com/rust-lang/rust/pull/150557 ).
Expressions whose ability to implicitly be promoted would depend on the
result of a const block are no longer implicitly promoted.
- [Make operational semantics of pattern matching independent of crate
and module](https://redirect.github.com/rust-lang/rust/pull/150681 )
<a id="1.95-Compiler"></a>
## Compiler
- [Stabilize `--remap-path-scope` for controlling the scoping of how
paths get remapped in the resulting
binary](https://redirect.github.com/rust-lang/rust/pull/147611 )
- [Apply patches for CVE-2026-6042 and CVE-2026-40200 to vendored
musl](https://redirect.github.com/rust-lang/rust/pull/155171 )
<a id="1.95-Platform-Support"></a>
## Platform Support
- [Promote `powerpc64-unknown-linux-musl` to Tier 2 with host
tools](https://redirect.github.com/rust-lang/rust/pull/149962 )
- [Promote `aarch64-apple-tvos` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021 )
- [Promote `aarch64-apple-tvos-sim` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021 )
- [Promote `aarch64-apple-watchos` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021 )
- [Promote `aarch64-apple-watchos-sim` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021 )
- [Promote `aarch64-apple-visionos` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021 )
- [Promote `aarch64-apple-visionos-sim` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021 )
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html
<a id="1.95-Libraries"></a>
## Libraries
- [`thread::scope`: document how join interacts with TLS
destructors](https://redirect.github.com/rust-lang/rust/pull/149482 )
- [Speed up `str::contains` on aarch64 targets with `neon` target
feature enabled by
default](https://redirect.github.com/rust-lang/rust/pull/152176 )
<a id="1.95-Stabilized-APIs"></a>
## Stabilized APIs
- [`MaybeUninit<[T; N]>: From<[MaybeUninit<T>;
N]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-From%3CMaybeUninit%3C%5BT;+N%5D%3E%3E-for-%5BMaybeUninit%3CT%3E;+N%5D )
- [`MaybeUninit<[T; N]>: AsRef<[MaybeUninit<T>;
N]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-AsRef%3C%5BMaybeUninit%3CT%3E;+N%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E )
- [`MaybeUninit<[T; N]>:
AsRef<[MaybeUninit<T>]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-AsRef%3C%5BMaybeUninit%3CT%3E%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E )
- [`MaybeUninit<[T; N]>: AsMut<[MaybeUninit<T>;
N]>`](https://doc.rust-lang.org/beta/std/mem/union.MaybeUninit.html#impl-AsMut%3C%5BMaybeUninit%3CT%3E;+N%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E )
- [`MaybeUninit<[T; N]>:
AsMut<[MaybeUninit<T>]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-AsMut%3C%5BMaybeUninit%3CT%3E%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E )
- [`[MaybeUninit<T>; N]: From<MaybeUninit<[T;
N]>>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-From%3C%5BMaybeUninit%3CT%3E;+N%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E )
- [`Cell<[T; N]>: AsRef<[Cell<T>;
N]>`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#impl-AsRef%3C%5BCell%3CT%3E;+N%5D%3E-for-Cell%3C%5BT;+N%5D%3E )
- [`Cell<[T; N]>:
AsRef<[Cell<T>]>`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#impl-AsRef%3C%5BCell%3CT%3E%5D%3E-for-Cell%3C%5BT;+N%5D%3E )
- [`Cell<[T]>:
AsRef<[Cell<T>]>`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#impl-AsRef%3C%5BCell%3CT%3E%5D%3E-for-Cell%3C%5BT%5D%3E )
- [`bool:
TryFrom<{integer}>`](https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-TryFrom%3Cu128%3E-for-bool )
-
[`AtomicPtr::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.update )
-
[`AtomicPtr::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.try_update )
-
[`AtomicBool::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicBool.html#method.update )
-
[`AtomicBool::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicBool.html#method.try_update )
-
[`AtomicIn::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicIsize.html#method.update )
-
[`AtomicIn::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicIsize.html#method.try_update )
-
[`AtomicUn::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicUsize.html#method.update )
-
[`AtomicUn::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicUsize.html#method.try_update )
-
[`cfg_select!`](https://doc.rust-lang.org/stable/std/macro.cfg_select.html )
- [`mod
core::range`](https://doc.rust-lang.org/stable/core/range/index.html )
-
[`core::range::RangeInclusive`](https://doc.rust-lang.org/stable/core/range/struct.RangeInclusive.html )
-
[`core::range::RangeInclusiveIter`](https://doc.rust-lang.org/stable/core/range/struct.RangeInclusiveIter.html )
-
[`core::hint::cold_path`](https://doc.rust-lang.org/stable/core/hint/fn.cold_path.html )
- [`<*const
T>::as_ref_unchecked`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_ref_unchecked )
- [`<*mut
T>::as_ref_unchecked`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_ref_unchecked-1 )
- [`<*mut
T>::as_mut_unchecked`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_mut_unchecked )
-
[`Vec::push_mut`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.push_mut )
-
[`Vec::insert_mut`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.insert_mut )
-
[`VecDeque::push_front_mut`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.push_front_mut )
-
[`VecDeque::push_back_mut`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.push_back_mut )
-
[`VecDeque::insert_mut`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.insert_mut )
-
[`LinkedList::push_front_mut`](https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html#method.push_front_mut )
-
[`LinkedList::push_back_mut`](https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html#method.push_back_mut )
-
[`Layout::dangling_ptr`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.dangling_ptr )
-
[`Layout::repeat`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.repeat )
-
[`Layout::repeat_packed`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.repeat_packed )
-
[`Layout::extend_packed`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend_packed )
These previously stable APIs are now stable in const contexts:
-
[`fmt::from_fn`](https://doc.rust-lang.org/stable/std/fmt/fn.from_fn.html )
-
[`ControlFlow::is_break`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.is_break )
-
[`ControlFlow::is_continue`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.is_continue )
<a id="1.95-Rustdoc"></a>
## Rustdoc
- [In search results, rank unstable items
lower](https://redirect.github.com/rust-lang/rust/pull/149460 )
- [Add new "hide deprecated items" setting in
rustdoc](https://redirect.github.com/rust-lang/rust/pull/151091 )
<a id="1.95-Compatibility-Notes"></a>
## Compatibility Notes
- [Array coercions may now result in less inference constraints than
before](https://redirect.github.com/rust-lang/rust/pull/140283 )
- Importing `$crate` without renaming, i.e. `use $crate::{self};`, is
now no longer permitted due to stricter error checking for `self`
imports.
- [const-eval: be more consistent in the behavior of padding during
typed copies.](https://redirect.github.com/rust-lang/rust/pull/148967 )
In very rare cases, this may cause compilation errors due to bytes from
parts of a pointer ending up in the padding bytes of a `const` or
`static`.
- [A future-incompatibility warning lint
`ambiguous_glob_imported_traits` is now reported when using an
ambiguously glob imported
trait](https://redirect.github.com/rust-lang/rust/pull/149058 )
- [Check lifetime bounds of types mentioning only type
parameters](https://redirect.github.com/rust-lang/rust/pull/149389 )
- [Report more visibility-related ambiguous import
errors](https://redirect.github.com/rust-lang/rust/pull/149596 )
- [Deprecate `Eq::assert_receiver_is_total_eq` and emit future
compatibility warnings on manual
impls](https://redirect.github.com/rust-lang/rust/pull/149978 )
- [powerpc64: Use the ELF ABI version set in target spec instead of
guessing](https://redirect.github.com/rust-lang/rust/pull/150468 ) (fixes
the ELF ABI used by the OpenBSD target)
- Matching on a `#[non_exhaustive]` enum [now reads the discriminant,
even if the enum has only one
variant](https://redirect.github.com/rust-lang/rust/pull/150681 ). This
can cause closures to capture values that they previously wouldn't.
- `mut ref` and `mut ref mut` patterns, part of the unstable [Match
Ergonomics 2024
RFC](https://redirect.github.com/rust-lang/rust/issues/123076 ), were
accidentally allowed on stable within struct pattern field shorthand.
These patterns are now correctly feature-gated as unstable in this
position.
- [Add future-compatibility warning for derive helper attributes which
conflict with built-in
attributes](https://redirect.github.com/rust-lang/rust/pull/151152 )
- [JSON target
specs](https://doc.rust-lang.org/rustc/targets/custom.html ) have been
destabilized and now require `-Z unstable-options` to use. Previously,
they could not be used without the standard library, which has no stable
build mechanism. In preparation for the `build-std` project adding that
support, JSON target specs are being proactively gated to ensure they
remain unstable even if `build-std` is stabilized. Cargo now includes
the `-Z json-target-spec` CLI flag to automatically pass `-Z
unstable-options` to the compiler when needed. See
[#​150151](https://redirect.github.com/rust-lang/rust/pull/150151 ),
[#​151534](https://redirect.github.com/rust-lang/rust/pull/150151 ),
and
[rust-lang/cargo#16557 ](https://redirect.github.com/rust-lang/cargo/pull/16557 ).
- [The arguments of `#[feature]` attributes on invalid targets are now
checked](https://redirect.github.com/rust-lang/rust/issues/153764 )
<a id="1.95-Internal-Changes"></a>
## Internal Changes
These changes do not affect any public interfaces of Rust, but they
represent
significant improvements to the performance or internals of rustc and
related
tools.
- [Update to LLVM
22](https://redirect.github.com/rust-lang/rust/pull/150722 )
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/uv ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJidWlsZDpza2lwLWRvY2tlciIsImJ1aWxkOnNraXAtcmVsZWFzZSIsImludGVybmFsIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zanie Blue <contact@zanie.dev >
2026-04-27 11:35:37 -05:00
William Woodruff
7e54e9d306
Generalize detected FP environment handling on ARMv7 ( #19157 )
...
## Summary
This is an attempt at fixing #19137 . See
https://github.com/astral-sh/uv/pull/19139#issuecomment-4320889645 for
my understanding of the situation and motivation for this approach
(versus the simpler approach in #19139 ).
TL;DR: we were unconditionally appending `eabihf` to all libc variants
when constructing `cargo dist`-style triplets. This was incorrect for a
long time, but didn't surface on hot user paths until #18674 reused that
pathway for uv's own self-upgrade logic. The fix is as simple as not
doing that, _except_ that we _do_ want to do it in the bare `Gnu` and
`Musl` cases, since those signal FP detection errors (and we
optimistically assume the user really has a hardfloat environment). So
now we emit the appropriate `Musleabi`/`Musleabihf` variants and
specialize the append to just the FP detection failure cases for both
`Gnu` and `Musl` explicitly.
Closes #19137 . Closes #19139 .
## Test Plan
Added a unit test demonstrating the new `as_cargo_dist_triple` behavior.
---------
Signed-off-by: William Woodruff <william@astral.sh >
2026-04-27 11:58:10 -04:00
renovate[bot]
4a331cc83d
Update Rust crate tokio to v1.52.1 ( #19178 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [tokio](https://tokio.rs )
([source](https://redirect.github.com/tokio-rs/tokio )) |
workspace.dependencies | minor | `1.51.1` → `1.52.1` |
---
### Release Notes
<details>
<summary>tokio-rs/tokio (tokio)</summary>
###
[`v1.52.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.52.1 ):
Tokio v1.52.1
[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.52.0...tokio-1.52.1 )
### 1.52.1 (April 16th, 2026)
#### Fixed
- runtime: revert [#​7757] to fix [a regression][#​8056]
that causes `spawn_blocking` to hang ([#​8057])
[#​7757]: https://redirect.github.com/tokio-rs/tokio/pull/7757
[#​8056]: https://redirect.github.com/tokio-rs/tokio/pull/8056
[#​8057]: https://redirect.github.com/tokio-rs/tokio/pull/8057
###
[`v1.52.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.52.0 ):
Tokio v1.52.0
[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.52.0 )
### 1.52.0 (April 14th, 2026)
#### Added
- io: `AioSource::register_borrowed` for I/O safety support
([#​7992])
- net: add `try_io` function to `unix::pipe` sender and receiver types
([#​8030])
#### Added (unstable)
- runtime: `Builder::enable_eager_driver_handoff` setting enable eager
hand off of the I/O and time drivers before polling tasks
([#​8010])
- taskdump: add `trace_with()` for customized task dumps
([#​8025])
- taskdump: allow `impl FnMut()` in `trace_with` instead of just `fn()`
([#​8040])
- fs: support `io_uring` in `AsyncRead` for `File` ([#​7907])
#### Changed
- runtime: improve `spawn_blocking` scalability with sharded queue
([#​7757])
- runtime: use `compare_exchange_weak()` in worker queue
([#​8028])
#### Fixed
- runtime: overflow second half of tasks when local queue is filled
instead of first half ([#​8029])
#### Documented
- docs: fix typo in `oneshot::Sender::send` docs ([#​8026])
- docs: hide #\[tokio::main] attribute in the docs of `sync::watch`
([#​8035])
- net: add docs on `ConnectionRefused` errors with UDP sockets
([#​7870])
[#​7757]: https://redirect.github.com/tokio-rs/tokio/pull/7757
[#​7870]: https://redirect.github.com/tokio-rs/tokio/pull/7870
[#​7907]: https://redirect.github.com/tokio-rs/tokio/pull/7907
[#​7992]: https://redirect.github.com/tokio-rs/tokio/pull/7992
[#​8010]: https://redirect.github.com/tokio-rs/tokio/pull/8010
[#​8025]: https://redirect.github.com/tokio-rs/tokio/pull/8025
[#​8026]: https://redirect.github.com/tokio-rs/tokio/pull/8026
[#​8028]: https://redirect.github.com/tokio-rs/tokio/pull/8028
[#​8029]: https://redirect.github.com/tokio-rs/tokio/pull/8029
[#​8030]: https://redirect.github.com/tokio-rs/tokio/pull/8030
[#​8035]: https://redirect.github.com/tokio-rs/tokio/pull/8035
[#​8040]: https://redirect.github.com/tokio-rs/tokio/pull/8040
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/uv ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJidWlsZDpza2lwLWRvY2tlciIsImJ1aWxkOnNraXAtcmVsZWFzZSIsImludGVybmFsIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-27 10:52:59 -05:00