fix(deps): crypto/archive majors — chacha 0.11, dalek 3.x, zip 8.x; --all-features builds again - #561
Queued
runyourempire wants to merge 8 commits into
Queued
fix(deps): crypto/archive majors — chacha 0.11, dalek 3.x, zip 8.x; --all-features builds again#561runyourempire wants to merge 8 commits into
runyourempire wants to merge 8 commits into
Conversation
…res stays green ed25519-dalek 2.2.0 -> 3.0.0 (app + relay), x25519-dalek 2.0.1 -> 3.0.0, zip 0.6.6 -> 8.6.0. The chacha20poly1305 0.11 migration was found already landed on main (cargo check --all-features passes at the base commit); this change keeps it green while landing the remaining stuck majors Dependabot could not migrate (#457, #286, #521). - x25519: StaticSecret::random() (getrandom) replaces random_from_rng(rand 0.8 OsRng) — same system CSPRNG, mechanical API swap, no algorithm change. - ed25519: all call sites are from_bytes/sign/verify; compiled unchanged. Dropped the unused v2 rand_core feature. Relay: zero source changes. - zip: FileOptions -> SimpleFileOptions (5 sites), compression_level i64. Unifies on the zip 8.6.0 already in-tree via calamine/docx-rs; removes zip 0.6.6 and bzip2-sys (C) in favour of libbz2-rs-sys (pure Rust). - deny.toml: allow bzip2-1.0.6 (libbz2-rs-sys licence). NOTICE regenerated in this commit. Gates: check --all-features --all-targets clean; test --lib 4712 pass and --features team-sync 4764 pass; clippy -D warnings on all five CI legs plus --all-features; relay tests 28 pass; cargo deny bans/licenses/sources/ advisories ok; fmt; file sizes. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01LrXvdHoDGUj99Fqf1fCYJY
runyourempire
enabled auto-merge (squash)
August 31, 2026 01:46
runyourempire
disabled auto-merge
August 31, 2026 07:36
runyourempire
added this pull request to the merge queue
Aug 31, 2026
Any commits made after this event will not be merged.
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.
Lands the stuck security-relevant major-version dependency migrations that Dependabot could not do mechanically, and proves
--all-featuresstays green. One squash commit; NOTICE regenerated in the same commit.Verified starting point (differs from the audit brief)
The brief said
--all-featureswas broken with 44 chacha20poly1305 0.11 errors inteam_sync_crypto.rs. Verified false at base6dd1e218:cargo check --all-featurespasses there — the chacha 0.11 migration (manifest,Generatetrait,XNonce::generate(),XNonce::try_from) already landed on main earlier, as didsha2 = "0.11"(making #455's direct-dep bump already satisfied). This PR therefore contains no chacha changes; it keeps that leg green while landing the two majors that were genuinely stuck.What this PR migrates
ed25519-dalek 2.2.0 → 3.0.0 (app + relay)
from_bytes/Signer/Verifier— zero source changes compiled clean in both crates.rand_corefeature from the app manifest: it only gated RNG-backed key generation, which no call site uses (grep-verified: noSigningKey::generateanywhere).engine_runssign→verify→forge→replay roundtrips; relaymint/verify tests — all green, all unchanged.x25519-dalek 2.0.1 → 3.0.0
TeamCrypto::generate()now usesStaticSecret::random()(crategetrandomfeature) instead of v2'srandom_from_rng(rand 0.8 OsRng), because v3 left the rand_core 0.6 generation behind. Same system CSPRNG, mechanical API swap — no algorithm or parameter change.--features team-sync.zip 0.6.6 → 8.6.0
extractors/archive.rs,extractors/office.rs,osv/cache.rs,embeddings_providers/fastembed.rs. Actual code delta was small: 5×FileOptions→SimpleFileOptions, one test-helpercompression_levelparami32→i64. Readers (ZipArchive/by_index/enclosed_name) compiled unchanged. No follow-up split needed.bzip2-sys(C libbz2) in favour oflibbz2-rs-sys(pure Rust); retires oldaes0.7 /sha10.10 /pbkdf20.11 /constant_time_eq0.1 /zstd0.11 pins. Default features kept so archive read-support is a superset of 0.6 (user ZIPs with bzip2/zstd/aes entries still extract; deflate64/lzma/ppmd added).deny.toml: addedbzip2-1.0.6(the libbz2-rs-sys licence, BSD-style attribution-only) to the allow list so the nightly cargo-deny audit cannot trip on it.Deliberately not taken
sha20.10 stays — out of this PR's scope (server-side crate, no advisory driving it).Gates (all local, all green)
cargo check --all-features --all-targets— clean, zero warningscargo test --lib4712 pass ·cargo test --lib --features team-sync4764 pass · relay 28 passcargo clippy -- -D warningson all five CI matrix legs (none / experimental / team-sync / enterprise / team-sync,enterprise) plus--all-featurescargo deny checkbans / licenses / sources / advisories — okcargo fmt --check,node scripts/check-file-sizes.cjs,generate-notice.cjs --check— okcd360fe3; the two commits main gained since base touch scoring/LLM files only — no overlap.After this merges — Dependabot PRs to close (not closed by me)
Coordination note
verax coordinateholds a claim onsrc-tauri/Cargo.tomlfor worktreefix+interruption-gate; inspected that worktree directly — its only manifest delta is one windows-sys features line (172), zero overlap with the dep lines changed here. All other touched files were claimed by this lane.🤖 Generated with Claude Code
https://claude.ai/code/session_01LrXvdHoDGUj99Fqf1fCYJY