fix(deps): remediate Rust advisories and drop deprecated rustls-pemfile - #254
Merged
Merged
Conversation
Update crossbeam-epoch and preferred direct dependencies to their fixed releases. Disable unused SQLx default features while retaining derive support required by FromRow. Replace the unmaintained rustls-pemfile dependency with the maintained PEM parser re-exported by rustls. Signed-off-by: Scott Robinson <robinnsc@amazon.com>
robinnsc
requested review from
LeeroyHannigan,
amrith,
c33howard,
jcshepherd,
pdf-amzn and
yesyayen
as code owners
August 12, 2026 08:31
Regenerate SOFTWARE-LICENSE-NOTICES.html with pinned cargo-about 0.9.0 after the dependency remediation: rustls-pemfile and concurrent-queue leave the graph; crossbeam-epoch, anyhow, and event-listener versions are updated. Verified with generate-software-license-notices --check.
7 tasks
olcortesb
pushed a commit
to olcortesb/extenddb
that referenced
this pull request
Aug 14, 2026
v0.1.3 is already tagged and published as a GitHub release from commit 3961c63, which predates the dependency advisory remediation (ExtendDB#254). Release tags are immutable, so the first container release takes the next patch version. Regenerates SOFTWARE-LICENSE-NOTICES.html for the workspace crate version strings.
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.
What
Remediates the open Rust dependency advisories and removes one deprecated dependency,
in a single commit rebased onto current
main:crossbeam-epoch0.9.18 → 0.9.20 — the fix for RUSTSEC-2026-0204.anyhow1.0.102 → 1.0.103 andevent-listener5.4.1 → 5.4.2 — preferreddirect-dependency updates. The
event-listenerbump also drops the transitiveconcurrent-queuecrate entirely.rustls-pemfileremoved (deprecated upstream). Both call sites(
crates/app/src/init_helpers.rs,crates/app/src/manage_http.rs) migrate to therustls-pki-typesPEM API (CertificateDer::pem_slice_iter) already in the tree,with identical error handling and messages.
sqlxtightened todefault-features = falsewith the explicit feature list,plus
derive(used by the storage backends'FromRowtypes). This trims unuseddefault machinery from the dependency graph.
SOFTWARE-LICENSE-NOTICES.htmlregenerated (second commit) with the pinnedcargo-about 0.9.0, since the dependency changes above alter the licenseinventory:
rustls-pemfileandconcurrent-queueleave, three versions bump.Net effect on
Cargo.lock: zero packages added,rustls-pemfileandconcurrent-queueremoved, three versions bumped.tests/rust/Cargo.lockpicks upthe matching
anyhowbump.Why
The release runbook blocks the first public
extenddb-postgrescontainer image onRUSTSEC-2026-0204: no advisory-affected version may ship in a public image. The
anyhow/event-listenerbumps are the recorded preferred updates from the samereview. Dropping
rustls-pemfilenow, rather than later, avoids shipping the firstpublic artifact with a dependency that is already deprecated and would force a
post-release lockfile churn to remove.
The branch predates the MongoDB backend landing on
main; it has been rebased andthe workspace
Cargo.tomlconflict resolved keeping both this PR's hardenedsqlxline and
main's newmongodb/bson/dashmapdependencies.Testing done
cargo metadata --locked— lockfile is consistent with the manifests.cargo check --workspace --all-targets --locked— clean, including the newextenddb-storage-mongodbcrate from post-rebasemain.cargo test --workspace --locked— 769 passed, 0 failed across all suites.cargo fmt --all --check— clean.cargo clippy --workspace --all-targets --locked— clean, zero warnings.crossbeam-epoch 0.9.20,anyhow 1.0.103,event-listener 5.4.2;commover package names confirms nothing was added.devtools/generate-software-license-notices --check— passes against theregenerated notices; spot-checked that
rustls-pemfile/concurrent-queuenolonger appear and the three bumped versions do.
devtools/run-tests --extenddb --rust-integration --pytest --releaseagainst a live server on the pinned PostgreSQL 16.10 image) is runningat the time of writing — Python suite past 70% with zero failures so far. I will
post the final counts as a comment when it completes.
Not verified:
ci/smoke-test-container.sh) has not been re-run forthis change; it exercises the same binary the workspace and integration suites
cover, and will run as part of the release process regardless.
Checklist
cargo test --workspace)cargo fmt --check)cargo clippy -- -W clippy::pedantic)functionality; existing tests cover the migrated PEM-parsing call sites
change
Storagetrait, auth model, on-diskformat, or public CLI surface, an RFC has been accepted or is linked
below. Otherwise, an ADR captures the decision (link below).
ADR / RFC: n/a — dependency maintenance only; no wire protocol,
Storagetrait,auth model, on-disk format, or CLI surface change.
Breaking changes
None. Public behavior is unchanged: the PEM-parsing migration is call-site-for-call-site
with the same error text, and the
sqlxfeature trim keeps every feature theworkspace actually uses (verified by the clean workspace check and test run,
including the SQLite and MongoDB backends).
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache License 2.0 and I agree to the Developer Certificate of
Origin (DCO). See CONTRIBUTING.md for details.