Visitar URL original
Update Rust to 1.99 and MSRV to 1.97 by charliermarsh · Pull Request #22121 · astral-sh/uv · GitHub
Skip to content

Update Rust to 1.99 and MSRV to 1.97 - #22121

Merged
charliermarsh merged 4 commits into
mainfrom
charlie/uv-rust-1.99
Oct 1, 2026
Merged

charliermarsh merged 4 commits into
mainfrom
charlie/uv-rust-1.99

Conversation

@charliermarsh

@charliermarsh charliermarsh commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Update the Rust toolchain to 1.99.0 and raise the MSRV to 1.97.0 under our N-2 support policy.
  • Address new Clippy warnings in documentation, macro calls, and diverging branches. Keep our existing empty assertions by allowing the new pedantic assert_is_empty lint.
  • Address a hexadecimal digest validation slowdown with Rust 1.99.
  • Update Hawk to 0.1.15 and run it with Rust 1.99.0.
  • Update the Windows trampoline nightly to nightly-2026-05-06, which supports the new MSRV, and regenerate the committed executables with the pinned Docker build.

Comment thread crates/uv/tests/project/tree.rs Outdated
// `uv tree` should update the lockfile
let lock = context.read("uv.lock");
assert!(!lock.is_empty());
assert_ne!(lock, "");

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are lame, I might disable this new rule

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this sucks

@charliermarsh
charliermarsh added this pull request to stack #22123 October 1, 2026 14:31
@charliermarsh
charliermarsh marked this pull request as draft October 1, 2026 14:42
@codspeed

codspeed Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Merging this PR will improve performance by 39.13%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 9 improved benchmarks
✅ 44 untouched benchmarks
⏩ 47 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
⚡ Simulation from_hex/lowercase[64] 438.1 µs 269.6 µs +62.48%
⚡ Simulation from_hex/lowercase[48] 353.5 µs 225.7 µs +56.65%
⚡ Simulation from_hex/lowercase[32] 280.7 µs 187.5 µs +49.68%
⚡ Simulation from_hex/uppercase[64] 467.9 µs 315.1 µs +48.48%
⚡ Simulation from_hex/uppercase[48] 416.1 µs 295.6 µs +40.76%
⚡ Simulation from_hex/lowercase[16] 189.4 µs 135.3 µs +40.01%
⚡ Simulation from_hex/uppercase[32] 362.2 µs 273.1 µs +32.65%
⚡ Simulation from_hex/uppercase[16] 294 µs 235.7 µs +24.74%
⚡ Simulation decode[16] 51.4 µs 48.6 µs +5.87%

Tip

Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.


Comparing charlie/uv-rust-1.99 (df6fcb3) with main (69025fd)

Open in CodSpeed

Footnotes

  1. 47 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@charliermarsh
charliermarsh marked this pull request as ready for review October 1, 2026 18:46
@charliermarsh
charliermarsh merged commit 6077664 into main Oct 1, 2026
124 checks passed
@charliermarsh
charliermarsh deleted the charlie/uv-rust-1.99 branch October 1, 2026 18:47
charliermarsh added a commit that referenced this pull request Oct 1, 2026
## Summary

Use Rust 1.97's [Cargo warning
policy](https://doc.rust-lang.org/cargo/reference/config.html#buildwarnings)
for all three Clippy jobs and the documented local Clippy commands.
`CARGO_BUILD_WARNINGS=deny` rejects warnings, including cached
diagnostics, without changing compiler flags or invalidating the build
cache.

Stacked on #22121, which raises the MSRV to 1.97 and updates the
trampoline nightly.
luketainton pushed a commit to luketainton/luke_rsu that referenced this pull request Oct 3, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ghcr.io/astral-sh/uv](https://github.com/astral-sh/uv) | stage | patch | `0.12.21` → `0.12.22` |

---

### Release Notes

<details>
<summary>astral-sh/uv (ghcr.io/astral-sh/uv)</summary>

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

[Compare Source](astral-sh/uv@0.12.21...0.12.22)

Released on 2026-10-01.

##### Python

- Add CPython 3.10.22, 3.11.17, 3.12.15, 3.13.16, and 3.14.8 ([#&#8203;22147](astral-sh/uv#22147))

##### Enhancements

- Accept uppercase release suffixes in wheel platform tags ([#&#8203;22113](astral-sh/uv#22113))
- Record workspace-member default groups in lockfiles ([#&#8203;22010](astral-sh/uv#22010), [#&#8203;22103](astral-sh/uv#22103))
- Record workspace-member dependency-group Python requirements in lockfiles ([#&#8203;22044](astral-sh/uv#22044), [#&#8203;22103](astral-sh/uv#22103))
- Record default groups for non-project workspace roots in lockfiles ([#&#8203;22104](astral-sh/uv#22104))
- Record dependency-group Python requirements for non-project workspace roots in lockfiles ([#&#8203;22104](astral-sh/uv#22104))
- Format URLs and paths consistently in CLI messages ([#&#8203;21937](astral-sh/uv#21937))
- Hide the unsupported `--offline` option from `uv publish` help ([#&#8203;22124](astral-sh/uv#22124))

##### Preview features

- Honor `--no-default-groups` in `uv audit` ([#&#8203;22090](astral-sh/uv#22090))
- Report a clear error when `uv audit` or `uv tool audit` runs offline and hide the unsupported option from help ([#&#8203;22114](astral-sh/uv#22114))

##### Configuration

- Add `UV_PYTHON_ARCH` to select an interpreter architecture independently of its Python version ([#&#8203;22098](astral-sh/uv#22098))

##### Performance

- Reduce uv's binary size by compressing embedded Python download metadata ([#&#8203;22126](astral-sh/uv#22126))

##### Bug fixes

- Verify unchanged requirements against existing lockfile hashes when relocking ([#&#8203;22083](astral-sh/uv#22083))
- Honor dependency-group Python requirements at non-project workspace roots ([#&#8203;22101](astral-sh/uv#22101))
- Use each selected workspace member's recorded default groups during frozen sync ([#&#8203;22015](astral-sh/uv#22015))
- Avoid false entry-point warnings for required workspace members ([#&#8203;22112](astral-sh/uv#22112))

##### Other changes

- Raise the minimum supported Rust version for building uv to 1.97 and update the toolchain to Rust 1.99 ([#&#8203;22121](astral-sh/uv#22121))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzIuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjEzMi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: https://git.tainton.uk/repos/rsu/pulls/54
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
luketainton pushed a commit to luketainton/repos_labmcp that referenced this pull request Oct 3, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ghcr.io/astral-sh/uv](https://github.com/astral-sh/uv) | final | patch | `0.12.21` → `0.12.22` |

---

### Release Notes

<details>
<summary>astral-sh/uv (ghcr.io/astral-sh/uv)</summary>

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

[Compare Source](astral-sh/uv@0.12.21...0.12.22)

Released on 2026-10-01.

##### Python

- Add CPython 3.10.22, 3.11.17, 3.12.15, 3.13.16, and 3.14.8 ([#&#8203;22147](astral-sh/uv#22147))

##### Enhancements

- Accept uppercase release suffixes in wheel platform tags ([#&#8203;22113](astral-sh/uv#22113))
- Record workspace-member default groups in lockfiles ([#&#8203;22010](astral-sh/uv#22010), [#&#8203;22103](astral-sh/uv#22103))
- Record workspace-member dependency-group Python requirements in lockfiles ([#&#8203;22044](astral-sh/uv#22044), [#&#8203;22103](astral-sh/uv#22103))
- Record default groups for non-project workspace roots in lockfiles ([#&#8203;22104](astral-sh/uv#22104))
- Record dependency-group Python requirements for non-project workspace roots in lockfiles ([#&#8203;22104](astral-sh/uv#22104))
- Format URLs and paths consistently in CLI messages ([#&#8203;21937](astral-sh/uv#21937))
- Hide the unsupported `--offline` option from `uv publish` help ([#&#8203;22124](astral-sh/uv#22124))

##### Preview features

- Honor `--no-default-groups` in `uv audit` ([#&#8203;22090](astral-sh/uv#22090))
- Report a clear error when `uv audit` or `uv tool audit` runs offline and hide the unsupported option from help ([#&#8203;22114](astral-sh/uv#22114))

##### Configuration

- Add `UV_PYTHON_ARCH` to select an interpreter architecture independently of its Python version ([#&#8203;22098](astral-sh/uv#22098))

##### Performance

- Reduce uv's binary size by compressing embedded Python download metadata ([#&#8203;22126](astral-sh/uv#22126))

##### Bug fixes

- Verify unchanged requirements against existing lockfile hashes when relocking ([#&#8203;22083](astral-sh/uv#22083))
- Honor dependency-group Python requirements at non-project workspace roots ([#&#8203;22101](astral-sh/uv#22101))
- Use each selected workspace member's recorded default groups during frozen sync ([#&#8203;22015](astral-sh/uv#22015))
- Avoid false entry-point warnings for required workspace members ([#&#8203;22112](astral-sh/uv#22112))

##### Other changes

- Raise the minimum supported Rust version for building uv to 1.97 and update the toolchain to Rust 1.99 ([#&#8203;22121](astral-sh/uv#22121))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzIuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjEzMi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: https://git.tainton.uk/repos/labmcp/pulls/68
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>

This branch was successfully deployed

1 active deployment
automations — df6fcb35 Deployed Oct 1, 2026 by charliermarsh via review / security review #48855
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants