Commit Graph

8142 Commits

Author SHA1 Message Date
Zanie Blue
5a5bb69d2c Skip benchmarks when Rust code is unchanged (#17454)
Ignore that the file matching is a little redundant with other checks,
I'll consolidate those in a subsequent pull request.

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-14 15:44:55 +00:00
Zanie Blue
10c93553e0 Update the binary build workflow names to just show targets (#17453)
I found these really noisy with the default names which show the whole
matrix entry.
2026-01-14 07:36:09 -06:00
Zanie Blue
932d5de510 Use Rust cache in "Sync Python Downloads" (#17447)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-14 07:35:57 -06:00
Zanie Blue
e8f020754a Only save Rust cache on main or when cache-relevant files change (#17452)
The goal here is to reduce cache consumption and contention by avoiding
cache saves on pull requests unless the pull request makes a change that
requires a new cache entry.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 07:35:45 -06:00
Zanie Blue
6efa51134d Reduce cache contention due to RUST_BACKTRACE environment variable (#17451)
This is included in the Rust cache key hash because it is prefixed with
`RUST_` but has no affect on compilation. This invalidates caches that
could be shared across jobs.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 07:35:25 -06:00
renovate[bot]
f3add550af Update Rust crate h2 to v0.4.13 (#17458)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [h2](https://redirect.github.com/hyperium/h2) | workspace.dependencies
| patch | `0.4.12` → `0.4.13` |

---

### Release Notes

<details>
<summary>hyperium/h2 (h2)</summary>

###
[`v0.4.13`](https://redirect.github.com/hyperium/h2/blob/HEAD/CHANGELOG.md#0413-January-5-2026)

[Compare
Source](https://redirect.github.com/hyperium/h2/compare/v0.4.12...v0.4.13)

- Add support for 1xx informational responses on client and server side.
- Fix auto-releasing of padding bytes of DATA frames for flow control
windows.
- Fix to stop assigning capacity to pending streams which can't use it
yet.
- Fix tracing to not grab the parent for the connection span.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 08:52:17 +00:00
Zanie Blue
9ab2b5fe5f Use ubuntu-slim for a subset of jobs (#17450)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 17:16:31 -06:00
Zanie Blue
38fcac0f36 Bump version to 0.9.25 (#17449) 0.9.25 2026-01-13 16:55:34 -06:00
Zanie Blue
33c91159c6 Use keyring authentication when retrieving tool@latest version (#17448)
Closes #17436

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 16:31:06 -06:00
github-actions[bot]
c6a02873fd Sync latest Python releases (#17445)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2026-01-13 22:01:12 +00:00
Zanie Blue
11d46df064 Update "Sync Python downloads" job to use Rust cache (#17446)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 21:56:09 +00:00
Zanie Blue
3c72e56d92 Use constants for latest Python versions in tests (#17444)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 21:36:45 +00:00
William Woodruff
6dfa0e3722 Abstract Trusted Publishing services (#17418) 2026-01-13 15:53:58 +00:00
Zanie Blue
c43fb6103b Speedup walltime benchmarks by splitting build and run jobs (#17393)
Copies astral-sh/ruff#22126

We can use a larger _and_ less expensive runner for the build step.

Total runtime went from 18m -> 15m and most of that time is no longer on
the benchmark runner.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 09:49:07 -06:00
Zanie Blue
f9ee1c2bf4 Add nextest partitioning to Windows tests (#17421)
Yet another attempt at #5714 to see if it improves CI times now that
Windows test times have increased

I think this is worth it now

```
main   (1 shard):  13m 46s
branch (2 shards): 10m 31s
branch (3 shards):  7m 34s
```

total time (a.k.a., cost increase)

```
main   (1 shard):  13m 46s
branch (2 shards): 20m 18s
branch (3 shards): 21m 32s
```

As in #875, we could explore moving the build step before the sharded
test runs. The build is 3m of the runtime, but I think artifact transfer
and runner startup time was too expensive last time and I don't expect
it to be faster. It might save a bit on CI cost, but I'm not super
worried about that.

I chose three shards due to a reasonable reduction in per-shard runtime
without a big increase in total runtime (compared to two shards). I
think since half of the shard runtime is fixed build time (vs reducable
test time), going up to more shards would be wasteful.

We use a hash-based strategy for test splitting, which means adding
tests will never move tests across shards.

I moved _off_ of the Depot runner because the "checkout" setup is taking
_way_ too long, about 120s more than the GitHub one which, once we split
over multiple shards, overcomes the speed benefits of the Depot runners.

The downsides here are:

1. Increased total CI time and therefore increased cost
2. GitHub runners are more expensive than Depot runners
3. Failing tests can be split across multiple shards, requiring more
GitHub UI navigation

(1) The runtime is unacceptably slow and I think the cost increase is
fairly marginal
(2) We can move back to Depot runners once they resolve the specific
performance issue
(3) Failing tests on Windows without failing tests on Linux are fairly
rare and should often be isolated to a single shard

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 09:20:06 -06:00
Diyor Khayrutdinov
4ee320b0a8 Fix error message when installing musl python on armv7 (#17213)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

Fixes #17210.

## Test Plan

Added a test function.

Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-01-13 02:45:04 +00:00
Zanie Blue
98d17fc4d2 Fix another state bug in the uv auth tests (#17435)
This test was also order dependent; see also #17424

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 01:35:31 +00:00
Charlie Marsh
69333ead26 Avoid unwrapping size for file responses (#17434)
## Summary

This may have been an oversight? The field is optional on the struct.
2026-01-12 20:13:37 -05:00
Zanie Blue
e9755bceb3 Report failing jobs when "all required jobs check" fails (#17433)
You can tell this by looking at the JSON input but that's not quite
friendly enough for me.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 01:09:18 +00:00
liam
827edd0740 Allow disabling exclude-newer per package (#16854)
Resolves https://github.com/astral-sh/uv/issues/16846,
https://github.com/astral-sh/uv/issues/16813

This diff adds support for disabling `exclude-newer` for specific
packages using `<name>=false`. This allows packages
without upload dates (e.g., CPU-only PyTorch wheels from custom indices)
to be resolved when a global `exclude-newer` is set, without disabling
it globally.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-01-12 19:00:07 -06:00
Zanie Blue
824706ca87 Move Windows registry test from test-system to test-integration (#17432)
The Windows registry test (PEP 514 integration) tests Python
installation registration functionality rather than system Python
detection like the other tests in test-system, so it fits better in
test-integration.

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 00:49:45 +00:00
Gyeongjae Choi
7b497d48bd Use latest Pyodide version for each python version (#17372)
## Summary

This changes how the `download-metadata.json` file is generated for
Pyodide.

Previously, if we have a different Pyodide version with a same Python
version, the older Pyodide version is selected.

For example, say we have

- Pyodide 0.29.0 with Python 3.13.2
- Pyodide 0.28.3 with Python 3.13.2

then, pyodide 0.28.3 was stored in `download-metadata.json` as we
iterate in decending order with overwriting the value that was
previously written.

I fixed it by picking up the latest Pyodide version for each Python
version.

## Test Plan

Ran `uv run -- crates/uv-python/fetch-download-metadata.py` locally, and
verified the output:

```
2026-01-09 15:39:23 INFO Fetching Pyodide checksums: 0/4
2026-01-09 15:39:24 INFO Selected cpython-3.13.2-emscripten-wasm32-musl (0.29.1)
2026-01-09 15:39:24 INFO Selected cpython-3.12.7-emscripten-wasm32-musl (0.27.7)
2026-01-09 15:39:24 INFO Selected cpython-3.12.1-emscripten-wasm32-musl (0.26.4)
2026-01-09 15:39:24 INFO Selected cpython-3.11.3-emscripten-wasm32-musl (0.25.1)
```
2026-01-12 17:59:26 -06:00
Zanie Blue
f1e5667d2f Add a Claude Code hook to install the gh CLI in web sessions (#17429) 2026-01-12 17:35:15 -06:00
Zanie Blue
7fa30ab278 Move release plan checks to a separate workflow (#17422)
We get a bunch of redundant skipped `Release / Build binary ...` jobs in
CI otherwise, and I would rather the release workflow didn't have a pull
request trigger at all.

Follows #17388
2026-01-12 14:49:40 -06:00
Zanie Blue
eca58cbae5 Fix incorrect test token_native_auth_realm (#17424)
The state was leaking in from another test case here.

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-12 20:38:50 +00:00
Charlie Marsh
6d5e8031d3 Detect workspace from uv run target (#17423)
## Summary

Given `uv run foo/bar.py`, we now detect the workspace starting at
`foo/bar.py`, rather than the current working directory. I think this is
much more intuitive as demonstrated by the new test.

This change is currently in preview, but would ship as a breaking change
in v0.10.
2026-01-12 13:52:48 -06:00
Zanie Blue
903dd292b3 Split up ci.yml (#17388)
This file is too big for an LLM context window and several contributors
have complained about it being too scary to touch.

This also gets us collapsible sections in the UI.

I renamed some jobs for clarity in the meantime. And added a meta-job
for required checks passing so we can avoid churn in our "Settings" when
we change job names.

Note this was entirely refactored by Claude.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 12:34:30 -06:00
Zanie Blue
0da6f263a9 Only run trampoline checks in CI when trampolines change (#17386)
I'm trying to avoid wasting CI time.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-12 09:17:05 -06:00
Zsolt Dollenstein
fa218b7034 Re-enable pyx integration tests (#17414) 2026-01-12 09:35:43 -05:00
renovate[bot]
ae1933f20f Update dependency astral-sh/uv to v0.9.24 (#17409)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/uv](https://redirect.github.com/astral-sh/uv) | uses-with |
patch | `0.9.21` → `0.9.24` |

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

###
[`v0.9.24`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0924)

[Compare
Source](https://redirect.github.com/astral-sh/uv/compare/0.9.23...0.9.24)

Released on 2026-01-09.

##### Bug fixes

- Fix handling of `UV_NO_SYNC=1 uv run ...`
([#&#8203;17391](https://redirect.github.com/astral-sh/uv/pull/17391))
- Rebuild dynamic distribution when version changes with `--no-cache`
([#&#8203;17387](https://redirect.github.com/astral-sh/uv/pull/17387))

##### Documentation

- Add Rust language classifier
([#&#8203;17389](https://redirect.github.com/astral-sh/uv/pull/17389))

###
[`v0.9.23`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0923)

[Compare
Source](https://redirect.github.com/astral-sh/uv/compare/0.9.22...0.9.23)

Released on 2026-01-09.

##### Enhancements

- Only write portable paths in `RECORD` files
([#&#8203;17339](https://redirect.github.com/astral-sh/uv/pull/17339))
- Support relative paths in `UV_PYTHON_BIN_DIR` and `UV_TOOL_BIN_DIR`
([#&#8203;17367](https://redirect.github.com/astral-sh/uv/pull/17367))

##### Preview features

- Enable uploads to S3 via pre-signed URLs
([#&#8203;17349](https://redirect.github.com/astral-sh/uv/pull/17349))

##### Configuration

- Allow setting proxy variables via global / user configuration
([#&#8203;16918](https://redirect.github.com/astral-sh/uv/pull/16918))
- Manually parse and reconcile Boolean environment variables
([#&#8203;17321](https://redirect.github.com/astral-sh/uv/pull/17321))

##### Bug fixes

- Avoid broken build artifacts on build failure
([#&#8203;17276](https://redirect.github.com/astral-sh/uv/pull/17276))
- Fix missing dependencies on synthetic root in SBOM export
([#&#8203;17363](https://redirect.github.com/astral-sh/uv/pull/17363))
- Recognize `armv8l` as an alias for `armv7l` in platform tag parsing
([#&#8203;17384](https://redirect.github.com/astral-sh/uv/pull/17384))
- Fix redaction of a URL in a middleware trace log
([#&#8203;17346](https://redirect.github.com/astral-sh/uv/pull/17346))

##### Documentation

- Add `index.md` suggestion to `llms.txt`
([#&#8203;17362](https://redirect.github.com/astral-sh/uv/pull/17362))
- Clarify that `uv run` uses inexact syncing by default
([#&#8203;17366](https://redirect.github.com/astral-sh/uv/pull/17366))

###
[`v0.9.22`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0922)

[Compare
Source](https://redirect.github.com/astral-sh/uv/compare/0.9.21...0.9.22)

Released on 2026-01-06.

##### Enhancements

- Use a dedicated error message when lockfile can't be found
([#&#8203;17318](https://redirect.github.com/astral-sh/uv/pull/17318))

##### Bug fixes

- Filter unusable wheels from the lockfile for more architectures
([#&#8203;17317](https://redirect.github.com/astral-sh/uv/pull/17317))
- Correctly count retries originating from early middleware errors
([#&#8203;17274](https://redirect.github.com/astral-sh/uv/pull/17274))

##### Documentation

- Clarify requirements file format in docs
([#&#8203;17284](https://redirect.github.com/astral-sh/uv/pull/17284))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 11:00:34 +01:00
renovate[bot]
cfaf1430a2 Update peter-evans/create-pull-request action to v8 (#17392)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[peter-evans/create-pull-request](https://redirect.github.com/peter-evans/create-pull-request)
| action | major | `v7.0.8` → `v8.0.0` |

---

### Release Notes

<details>
<summary>peter-evans/create-pull-request
(peter-evans/create-pull-request)</summary>

###
[`v8.0.0`](https://redirect.github.com/peter-evans/create-pull-request/releases/tag/v8.0.0):
Create Pull Request v8.0.0

[Compare
Source](https://redirect.github.com/peter-evans/create-pull-request/compare/v7.0.11...v8.0.0)

##### What's new in v8

- Requires [Actions Runner
v2.327.1](https://redirect.github.com/actions/runner/releases/tag/v2.327.1)
or later if you are using a self-hosted runner for Node 24 support.

##### What's Changed

- chore: Update checkout action version to v6 by
[@&#8203;yonas](https://redirect.github.com/yonas) in
[#&#8203;4258](https://redirect.github.com/peter-evans/create-pull-request/pull/4258)
- Update actions/checkout references to
[@&#8203;v6](https://redirect.github.com/v6) in docs by
[@&#8203;Copilot](https://redirect.github.com/Copilot) in
[#&#8203;4259](https://redirect.github.com/peter-evans/create-pull-request/pull/4259)
- feat: v8 by
[@&#8203;peter-evans](https://redirect.github.com/peter-evans) in
[#&#8203;4260](https://redirect.github.com/peter-evans/create-pull-request/pull/4260)

##### New Contributors

- [@&#8203;yonas](https://redirect.github.com/yonas) made their first
contribution in
[#&#8203;4258](https://redirect.github.com/peter-evans/create-pull-request/pull/4258)
- [@&#8203;Copilot](https://redirect.github.com/Copilot) made their
first contribution in
[#&#8203;4259](https://redirect.github.com/peter-evans/create-pull-request/pull/4259)

**Full Changelog**:
<https://github.com/peter-evans/create-pull-request/compare/v7.0.11...v8.0.0>

###
[`v7.0.11`](https://redirect.github.com/peter-evans/create-pull-request/releases/tag/v7.0.11):
Create Pull Request v7.0.11

[Compare
Source](https://redirect.github.com/peter-evans/create-pull-request/compare/v7.0.10...v7.0.11)

##### What's Changed

- fix: restrict remote prune to self-hosted runners by
[@&#8203;peter-evans](https://redirect.github.com/peter-evans) in
[#&#8203;4250](https://redirect.github.com/peter-evans/create-pull-request/pull/4250)

**Full Changelog**:
<https://github.com/peter-evans/create-pull-request/compare/v7.0.10...v7.0.11>

###
[`v7.0.10`](https://redirect.github.com/peter-evans/create-pull-request/releases/tag/v7.0.10):
Create Pull Request v7.0.10

[Compare
Source](https://redirect.github.com/peter-evans/create-pull-request/compare/v7.0.9...v7.0.10)

⚙️ Fixes an issue where updating a pull request failed when targeting a
forked repository with the same owner as its parent.

##### What's Changed

- build(deps): bump the github-actions group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;4235](https://redirect.github.com/peter-evans/create-pull-request/pull/4235)
- build(deps-dev): bump prettier from 3.6.2 to 3.7.3 in the npm group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;4240](https://redirect.github.com/peter-evans/create-pull-request/pull/4240)
- fix: provider list pulls fallback for multi fork same owner by
[@&#8203;peter-evans](https://redirect.github.com/peter-evans) in
[#&#8203;4245](https://redirect.github.com/peter-evans/create-pull-request/pull/4245)

##### New Contributors

- [@&#8203;obnyis](https://redirect.github.com/obnyis) made their first
contribution in
[#&#8203;4064](https://redirect.github.com/peter-evans/create-pull-request/pull/4064)

**Full Changelog**:
<https://github.com/peter-evans/create-pull-request/compare/v7.0.9...v7.0.10>

###
[`v7.0.9`](https://redirect.github.com/peter-evans/create-pull-request/releases/tag/v7.0.9):
Create Pull Request v7.0.9

[Compare
Source](https://redirect.github.com/peter-evans/create-pull-request/compare/v7.0.8...v7.0.9)

⚙️ Fixes an
[incompatibility](https://redirect.github.com/peter-evans/create-pull-request/issues/4228)
with the recently released `actions/checkout@v6`.

#### What's Changed

- \~70 dependency updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)
- docs: fix workaround description about `ready_for_review` by
[@&#8203;ybiquitous](https://redirect.github.com/ybiquitous) in
[#&#8203;3939](https://redirect.github.com/peter-evans/create-pull-request/pull/3939)
- Docs: `add-paths` default behavior by
[@&#8203;joeflack4](https://redirect.github.com/joeflack4) in
[#&#8203;3928](https://redirect.github.com/peter-evans/create-pull-request/pull/3928)
- docs: update to create-github-app-token v2 by
[@&#8203;Goooler](https://redirect.github.com/Goooler) in
[#&#8203;4063](https://redirect.github.com/peter-evans/create-pull-request/pull/4063)
- Fix compatibility with actions/checkout\@&#8203;v6 by
[@&#8203;ericsciple](https://redirect.github.com/ericsciple) in
[#&#8203;4230](https://redirect.github.com/peter-evans/create-pull-request/pull/4230)

#### New Contributors

- [@&#8203;joeflack4](https://redirect.github.com/joeflack4) made their
first contribution in
[#&#8203;3928](https://redirect.github.com/peter-evans/create-pull-request/pull/3928)
- [@&#8203;Goooler](https://redirect.github.com/Goooler) made their
first contribution in
[#&#8203;4063](https://redirect.github.com/peter-evans/create-pull-request/pull/4063)
- [@&#8203;ericsciple](https://redirect.github.com/ericsciple) made
their first contribution in
[#&#8203;4230](https://redirect.github.com/peter-evans/create-pull-request/pull/4230)

**Full Changelog**:
<https://github.com/peter-evans/create-pull-request/compare/v7.0.8...v7.0.9>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 10:52:09 +01:00
Tomasz Kramkowski
4513797f46 Add --compile-bytecode to uv python install and uv python upgrade to compile the standard library (#17088)
## Summary

Implement #16408.

Currently doesn't avoid recompiling the bytecode when it is already
compiled which should be fine since the compiler script skips things
which are already compiled.

pyodide is currently unsupported due to it using a zip for its standard library
and also because it misreports the location of the standard library.

## Test Plan

Styling of the status report was manually tested, there is a new test
for testing the actual functionality.
2026-01-12 09:31:33 +00:00
samypr100
339e97baa0 Broadcast WM_SETTINGCHANGE on uv tool update-shell (#17404)
## Summary

Closes https://github.com/astral-sh/uv/issues/17331

Certain applications on windows expect to be notified when environment
variables change such as conhost.exe (traditional cmd.exe host).
Without this notification conhost.exe will not pick up changes to
environment variables regardless of how many times conhost.exe is
re-launched after running `uv tool update-shell`.

## Test Plan

Before this change

1. Removed `%USERPROFILE%\.local\bin` from environment variables via UI
(which sends `WM_SETTINGCHANGE`)
2. Launched `%SYSTEMROOT%\System32\conhost.exe` and attempted to run any
tool preivously installed. It fails to find any.
3. Ran `uv tool update-shell`. Confirmed
`HKEY_CURRENT_USER\Environment\Path` was updated in registry.
4. Launched new `%SYSTEMROOT%\System32\conhost.exe` session. **Fails to
find installed tools**.

After this change

1. Removed `%USERPROFILE%\.local\bin` from environment variables via UI
(which sends `WM_SETTINGCHANGE`)
2. Launched `%SYSTEMROOT%\System32\conhost.exe` and attempted to run any
tool preivously installed. It fails to find any.
3. Ran `uv tool update-shell`. Confirmed
`HKEY_CURRENT_USER\Environment\Path` was updated in registry.
4. Launched new `%SYSTEMROOT%\System32\conhost.exe` session. **Finds the
installed tools**.
2026-01-11 09:10:02 -05:00
Denizhan Dakılır
7e7f1656ca fix: add Win32_Storage_FileSystem feature and improve handle closing logic (#17374)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

fix https://github.com/astral-sh/uv/issues/17174 mentioned the invalid
issues here:

results of diagnostics:

before:
```
--- TRAMPOLINE DIAGNOSTICS: STARTUP ---
  STDIN: Handle=184
    -> Console Mode: 503
  STDOUT: Handle=536
    -> Console Mode: 7
  STDERR: Handle=540
    -> Console Mode: 7
-------------------------------------------
--- TRAMPOLINE DIAGNOSTICS: AFTER CLOSE_HANDLES ---
  STDIN: INVALID
  STDOUT: INVALID
  STDERR: Handle=540
    -> Console Mode: 7
```

after:
```
--- TRAMPOLINE DIAGNOSTICS: STARTUP ---
  STDIN: Handle=716
    -> Console Mode: 503
  STDOUT: Handle=580
    -> Console Mode: 7
  STDERR: Handle=604
    -> Console Mode: 7
-------------------------------------------
--- TRAMPOLINE DIAGNOSTICS: AFTER CLOSE_HANDLES ---
  STDIN: Handle=716
    -> Console Mode: 503
  STDOUT: Handle=580
    -> Console Mode: 7
  STDERR: Handle=604
    -> Console Mode: 7
```

the problem was we were closing the handlers whatever they were from
pipes (byte streams) or consoles, this will make sure we close only the
handlers from pipes by using `FILE_TYPE_PIPE`

## Test Plan

<!-- How was it tested? -->
completely manual by adding debug statements and running a simple script
to open the pdb.
2026-01-10 12:11:13 -06:00
Zanie Blue
c10c84a588 Disable pyx staging publish tests temporarily (#17397)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-09 22:19:45 +00:00
Zanie Blue
0fda1525eb Bump version to 0.9.24 (#17395) 0.9.24 2026-01-09 22:09:11 +00:00
Zanie Blue
1a72f8c677 Fix handling of UV_NO_SYNC=1 uv run ... (#17391)
Closes #17390

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-09 21:37:20 +00:00
Charlie Marsh
ef83fc34bc Rebuild dynamic distribution when version changes with --no-cache (#17387)
## Summary

Well-explained in https://github.com/astral-sh/uv/issues/17370. I don't
see a reason _not_ to fix this.

Closes https://github.com/astral-sh/uv/issues/17370.
2026-01-09 15:43:20 -05:00
Mathieu Kniewallner
161b99c546 Add Rust language classifier (#17389)
## Summary

Noticed that something really important was missing 🦀
2026-01-09 14:41:28 -06:00
Zanie Blue
00f07541a1 Bump version to 0.9.23 (#17385) 0.9.23 2026-01-09 19:09:04 +00:00
Zanie Blue
dbb4e0b1c7 Recognize armv8l as an alias for armv7l in platform tag parsing (#17384)
Closes #17375

It looks like this was missed in
https://github.com/astral-sh/uv/pull/8881 and now that we fail if wheel
tags do not match the target environment (see
https://github.com/astral-sh/uv/pull/16074), we do not allow armv8l
wheels to installed in environments where the interpreter reports
armv7l.

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-09 12:29:23 -06:00
Charlie Marsh
7bb6e3109c Split OIDC and S3 clients in publish (#17379) 2026-01-09 12:15:58 -05:00
Charlie Marsh
a959d625b2 Include headers when uploading to S3 (#17381)
## Summary

The server sends these down, and the pre-signed URL _requires_ them to
be set.
2026-01-09 11:32:51 -05:00
Zanie Blue
a8ecd7c477 Support relative paths in UV_PYTHON_BIN_DIR and UV_TOOL_BIN_DIR (#17367)
Closes #17364

Extends #17365

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-09 07:21:46 -06:00
Zanie Blue
21f76e8a2a Clarify that uv run uses inexact syncing by default (#17366)
Closes #14230

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-09 07:20:42 -06:00
Charlie Marsh
85dedc8051 Enable uploads via pre-signed URLs (#17349)
## Summary

For pyx, we can allow uploads that bypass the registry and send the file
directly to S3. This is an opt-in feature, enabled via the `--direct`
flag.
2026-01-08 21:26:34 -05:00
Zanie Blue
25d691eeaf Document why parse_xdg_path requires absolute paths (#17365)
Related to #17364

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-08 21:22:41 +00:00
Tom Schafer
29285db48e Fix missing dependencies on synthetic root in SBOM export (#17363) 2026-01-08 13:19:34 -05:00
Zanie Blue
6d9c8f853f Add index.md suggestion to llms.txt (#17362)
I noticed that Claude did not request the `index.md` files when pointed
to `llms.txt`

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-08 10:57:37 -06:00
Zanie Blue
b5d3186061 Add authentication tests for URLs with an empty username (#17347)
Add test cases for https://github.com/astral-sh/uv/issues/17343 where
you have an empty username and non-empty password

These don't include the "redirect" aspect.

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-08 07:41:22 -06:00