Skip to content

fix(deps): upgrade to Rust 1.99.1 and bump dependencies - #870

Merged
brawer merged 2 commits into
mainfrom
rust-1.99.1
Oct 31, 2026
Merged

brawer merged 2 commits into
mainfrom
rust-1.99.1

Conversation

@brawer

@brawer brawer commented Oct 31, 2026

Copy link
Copy Markdown
Owner

Requested by Sascha · project thread

Pins rust-toolchain.toml to Rust 1.99.1, the latest stable release. The Containerfile already builds with 1.99.1, so CI and release builds now use the same compiler. The project has no rust-version field, and CI takes its toolchain from rust-toolchain.toml, so no other file needed a change.

The new compiler lets us take s3 0.1.38, which moves to reqx 0.2 and quick-xml 0.42. The vulnerable zstd 0.13.3 / zstd-safe 7.3.0 and quick-xml 0.41.0 are no longer in the dependency tree.

Changes

  • s3 0.1.36 → 0.1.38, lru 0.18 → 0.19, and cargo update for everything else.
  • tokio: list the features we use (fs, io-util, macros, net, rt-multi-thread, time). We used to get them through the old s3/reqx dependency tree, so without this the build fails.
  • deny.toml: drop the five advisory ignores for zstd (RUSTSEC-2026-0391/0398/0403, added in fix(deps): bump zstd crates for RUSTSEC-2026-0410 #869) and quick-xml (RUSTSEC-2026-0194/0195). Also drop the MPL-2.0 license allowance, because option-ext is no longer a dependency. The only remaining ignore is atomic-polyfill.
  • Switch chunks_exact(N) to as_chunks::<N>() in 5 places, for the new chunks_exact_to_as_chunks clippy lint in 1.99.

Testing

Ran locally with Rust 1.99.1:

  • cargo fmt --check passes.
  • cargo clippy --locked --all-targets -- -D warnings passes.
  • cargo test --locked passes, including the integration tests with tippecanoe.
  • cargo deny check reports advisories, bans, licenses and sources as ok. It still prints the existing duplicate-crate warnings.

Generated by Claude Code

Pin rust-toolchain.toml to Rust 1.99.1, the latest stable release and
the version the Containerfile already builds with. This lets us take
s3 0.1.38, which moves to reqx 0.2 and quick-xml 0.42, so the release
binary no longer contains the vulnerable zstd 0.13.3 / zstd-safe 7.3.0
or quick-xml 0.41.0 from the S3 client.

- Bump s3 to 0.1.38, lru to 0.19, and refresh Cargo.lock.
- Enable the tokio features we use (fs, io-util, macros, net,
  rt-multi-thread, time) explicitly. We used to get them through the
  old s3/reqx dependency tree.
- Drop the five deny.toml advisory ignores for zstd and quick-xml, and
  the MPL-2.0 license allowance (option-ext is gone from the tree).
- Use as_chunks instead of chunks_exact, for the new clippy lint
  in Rust 1.99.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ttfb2KibySRhAksoHwWgAL
@brawer brawer self-assigned this Oct 31, 2026
@github-actions github-actions Bot added the bug Something isn't working label Oct 31, 2026
@brawer
brawer merged commit aedffd7 into main Oct 31, 2026
6 checks passed
@brawer
brawer deleted the rust-1.99.1 branch October 31, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants