Skip to content

chore(deps): update all dependencies to latest versions#1190

Merged
FlorentinDUBOIS merged 1 commit intomainfrom
chore/update-dependencies
Mar 8, 2026
Merged

chore(deps): update all dependencies to latest versions#1190
FlorentinDUBOIS merged 1 commit intomainfrom
chore/update-dependencies

Conversation

@FlorentinDUBOIS
Copy link
Copy Markdown
Collaborator

@FlorentinDUBOIS FlorentinDUBOIS commented Mar 6, 2026

Summary

  • Update 27 workspace dependencies to their latest versions
  • Migrate hyper 0.14 → 1.8, hyper-rustls 0.24 → 0.27, e2e rustls 0.21 → 0.23 (resolves RUSTSEC-2024-0336)
  • Migrate rand 0.9 → 0.10 (RngRngExt API rename)
  • Migrate toml 0.9 → 1.0 with preserve_order feature
  • Migrate nix 0.30 → 0.31 (add process feature for fork())
  • Bump e2e crate to edition 2024 / MSRV 1.85, aligning with the rest of the workspace
  • Fix pre-existing clippy warnings (needless lifetimes, deprecated APIs, unsafe extern)
  • Deferred: nom 7 → 8 (blocked by x509-parser dependency on nom 7)

Breaking dependency changes

Dependency From To Impact
hyper 0.14.28 1.8.1 e2e only — rewrite https_client.rs to hyper-util client
hyper-rustls 0.24.2 0.27.7 e2e only — aligned with hyper 1.x
rustls (e2e) 0.21.10 0.23.37 e2e only — new ServerCertVerifier trait, fixes RUSTSEC-2024-0336
rand 0.9.2 0.10.0 RngRngExt, thread_rng()rng(), gen_rangerandom_range
toml 0.9.8 1.0.4 No code changes (API compatible for sozu's usage)
nix 0.30.1 0.31.2 Add "process" feature to bin/Cargo.toml

New workspace dependencies

  • http-body-util ^0.1 — body handling for hyper 1.x
  • hyper-util ^0.1 — client utilities for hyper 1.x
  • num_cpus — promoted from inline bin/Cargo.toml to workspace

Files changed (19)

  • Cargo.toml / Cargo.lock — version bumps + new deps
  • bin/Cargo.toml — nix process feature, num_cpus workspace
  • e2e/Cargo.toml — edition 2024, MSRV 1.85, hyper/rustls deps
  • e2e/src/mock/https_client.rs — complete rewrite for hyper 1.x + rustls 0.23
  • e2e/src/tests/tests.rs — updated resolve_request call site
  • e2e/src/mock/async_backend.rstry_next()try_recv()
  • lib/src/load_balancing.rs, lib/src/retry.rs, lib/src/protocol/kawa_h1/editor.rs — rand 0.10
  • command/src/state.rs, command/examples/bench_logger.rs — rand 0.10
  • command/src/certificate.rs, command/src/logging/display.rs — lifetime elision
  • e2e/src/mock/sync_backend.rstry_into()into()
  • lib/src/splice.rsunsafe extern "C" (edition 2024)
  • e2e/src/http_utils/mod.rs, e2e/src/sozu/worker.rs, e2e/src/tests/mod.rs — fmt (edition 2024)

Test plan

  • cargo build --all-features — passes
  • cargo clippy --all-features — no new warnings
  • cargo +nightly fmt --check — passes (pre-existing prost-generated diff only)
  • cargo test --workspace — 125 passed, 0 failed, 9 ignored (same as main)
  • Verified identical test results between main and this branch

Update 27 workspace dependencies across 5 phases:

Phase 1 - Safe semver bumps (21 deps):
  anyhow, clap, futures, libc, log, memchr, mio, prost, prost-build,
  regex, rustls, serde_json, serial_test, slab, socket2, tempfile,
  termion, thiserror, tokio, x509-parser, quickcheck

Phase 2 - Low-risk breaking changes:
  - nix 0.30 -> 0.31: add "process" feature for fork()
  - toml 0.9 -> 1.0: add preserve_order feature

Phase 3 - Medium-risk breaking changes:
  - rand 0.9 -> 0.10: Rng -> RngExt, thread_rng -> rng,
    gen_range -> random_range, RngCore -> Rng

Phase 4 - High-risk breaking changes (e2e only):
  - hyper 0.14 -> 1.8: migrate to hyper-util client::legacy
  - hyper-rustls 0.24 -> 0.27: aligned with hyper 1.x
  - e2e rustls 0.21 -> 0.23 (workspace): rewrite ServerCertVerifier,
    remove dangerous_configuration feature (RUSTSEC-2024-0336)
  - Add http-body-util and hyper-util workspace deps
  - Bump e2e MSRV 1.82 -> 1.85, edition 2021 -> 2024

Additional fixes:
  - Fix unsafe extern "C" in splice.rs (edition 2024)
  - Fix deprecated try_next -> try_recv in async_backend.rs
  - Fix needless_lifetimes in certificate.rs and display.rs
  - Fix unnecessary_fallible_conversions in sync_backend.rs
  - Move num_cpus to workspace dependency
  - Update resolver comment for edition 2024

Deferred: nom 7 -> 8 (blocked by x509-parser dependency)
@FlorentinDUBOIS FlorentinDUBOIS merged commit 75af6bd into main Mar 8, 2026
23 checks passed
@FlorentinDUBOIS FlorentinDUBOIS deleted the chore/update-dependencies branch March 8, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant