⬆️ chore(deps): upgrade all dependencies to latest majors - #2
Merged
Conversation
Bump every dependency to its latest released major. 16 of 21 direct deps were already on the latest major; 5 needed incompatible bumps: - opentelemetry 0.31 -> 0.32 - opentelemetry_sdk 0.31 -> 0.32 (clears Dependabot alert #1) - opentelemetry-otlp 0.31 -> 0.32 - tracing-opentelemetry 0.32 -> 0.33 - sha2 0.10 -> 0.11 No source changes were required. The observability setup already used the post-0.30 opentelemetry API (SdkTracerProvider, Resource::builder_empty, with_batch_exporter), which 0.32 kept stable, and the sha2 0.11 bump keeps the Digest/Sha256 trait surface used in identity.rs. cargo update also pulled transitive fixes: - rustls-webpki 0.103.11 -> 0.103.13 (RUSTSEC-2026-0098/0099/0104) - anyhow 1.0.102 -> 1.0.104 (RUSTSEC-2026-0190 unsoundness) cargo audit goes from 3 vulnerabilities to 0. Verified on aarch64-linux (tss-esapi-sys has no aarch64-darwin bindings): cargo build, cargo build --release --locked, and cargo test all pass, 24/24 tests green including the swtpm-backed TPM signing test.
`ObjectHandle` -> `KeyHandle` cannot fail, so `try_from` plus an `anyhow::Context` wrapper was dead error handling. clippy's `unnecessary_fallible_conversions` lint made this a hard error under `-D warnings`, which this crate escalates further via `pedantic = "deny"`. Pre-existing on main; left out of the dependency commit to keep that diff scoped to dependencies. Verified on aarch64-linux (rust:1.94-trixie with libtss2-dev, swtpm, tpm2-tools) because tss-esapi-sys ships no aarch64-darwin bindings: cargo clippy --all-targets -- -D warnings exit 0 cargo test 24 passed, 0 failed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Raises every dependency in the workspace to its latest released major, and refreshes the lockfile.
Major (incompatible) bumps
16 of 21 direct deps were already on their latest major. Five needed incompatible bumps:
opentelemetryopentelemetry_sdkopentelemetry-otlptracing-opentelemetrysha2Left at their existing (already-latest) majors:
tokio1,rustls0.23,tokio-rustls0.26,rustls-pemfile2,rustls-pki-types1,x509-parser0.18,tss-esapi7,hyper1,hyper-util0.1,http1,http-body-util0.1,bytes1,clap4,tracing0.1,tracing-subscriber0.3,anyhow1.Security impact
Dependabot alert #1 (medium) is expected to close.
opentelemetry_sdkunbounded memory allocation in W3C Baggage propagation. Vulnerable range<= 0.32.0, first patched0.32.1. Lockfile now pins 0.32.1.cargo updatealso picked up transitive fixes that were not separately alerted:rustls-webpki0.103.11 → 0.103.13 — RUSTSEC-2026-0099, RUSTSEC-2026-0098 (name-constraint bypasses), RUSTSEC-2026-0104 (reachable panic in CRL parsing)anyhow1.0.102 → 1.0.104 — RUSTSEC-2026-0190 (Error::downcast_mut()unsoundness)cargo auditon the lockfile: 3 vulnerabilities before → 0 after. Oneunmaintainedwarning remains forrustls-pemfile(RUSTSEC-2025-0134); it is already at its latest release 2.2.0, so there is nothing to bump to.Code changes required
None. No source files were touched — this PR is only
sidecar/Cargo.tomlandCargo.lock.The opentelemetry 0.31 → 0.32 bump was API-compatible for this codebase.
sidecar/src/observability.rsalready used the post-0.30 surface (SdkTracerProvider,Resource::builder_empty(),with_batch_exporter,provider.shutdown()), and 0.32 kept those stable.sha20.11 kept theDigest/Sha256trait surface used bysign_p256_sha256inidentity.rs.Verification
tss-esapi-sysships no bindings foraarch64-darwin, so it cannot build on an Apple Silicon host — this is pre-existing onmainand unrelated to this PR. Verification was therefore run on aarch64-linux in arust:1.94-trixiecontainer withlibtss2-dev,swtpm, andtpm2-tools.cargo buildFinished dev profile in 3m 38scargo build --release --lockedFinished release profile in 33.34scargo testcargo clippy --all-targets -- -D warningsmain(see below)cargo auditmain)The full test suite passes, including
identity::tests::simulated_tpm_signer_signs_tls_message, which spawns a realswtpmemulator and exercises TPM-backed P-256 signing.Known pre-existing clippy failure (not introduced here)
This reproduces byte-for-byte on unmodified
main, and it is intss-esapiusage — a crate this PR does not bump. Left out of scope to keep this a pure dependency PR; worth a one-line follow-up.The repo has no
.github/workflows/, so there were no CI commands to mirror.Follow-up commit: clippy fix (
48b4884)Fixes a pre-existing clippy error on
main, deliberately excluded from the dependency commit above to keep that diff scoped to dependencies.sidecar/src/identity.rs:259usedKeyHandle::try_from(loaded).context(...). ConvertingObjectHandle->KeyHandleis infallible, so the fallible conversion plus theanyhow::Contextwrapper was dead error handling. clippy'sunnecessary_fallible_conversionsmakes this a hard error under-D warnings, and this crate escalates further with[lints.clippy] pedantic = "deny".The function still returns
anyhow::Result<KeyHandle>— the two earlier?operations are genuinely fallible. One line, no behaviour change.Verification
cargo buildcannot run on aarch64-darwin at all:tss-esapi-sysships no bindings for that target, and this fails identically on unmodifiedmain, so it is environmental rather than a regression. Verified on aarch64-linux inrust:1.94-trixiewithlibtss2-dev,pkg-config,clang,cmake,swtpm,swtpm-tools,tpm2-tools:cargo clippy --all-targets -- -D warningscargo testRun against this branch (dependency upgrades + fix), not against
main— so clippy is clean against the upgraded dependency versions that actually ship here. The suite includesidentity::tests::simulated_tpm_signer_signs_tls_message, a real swtpm-backed TPM P-256 signing test.