Skip to content

build: bump sevenz-rust2 to 0.21.5 - #552

Merged
bug-ops merged 1 commit into
mainfrom
feat/issue-548/bump-sevenz-rust2-0-21-4-to-0
Aug 18, 2026
Merged

build: bump sevenz-rust2 to 0.21.5#552
bug-ops merged 1 commit into
mainfrom
feat/issue-548/bump-sevenz-rust2-0-21-4-to-0

Conversation

@bug-ops

@bug-ops bug-ops commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Bumps sevenz-rust2 0.21.4 -> 0.21.5 (batched AES-CBC block decryption, a 7z-extraction perf improvement on AES-encrypted archives)
  • Transitively bumps lzma-rust2 0.18.0 -> 0.19.0, which carries the 0.18.1 out-of-bounds LZ encoder fix (upstream release: v0.2.8 #107); the 0.19.0 minor bump itself adds sans-I/O LZMA1/LZIP decoders (upstream chore: bump dorny/paths-filter from 3 to 4 #109)
  • Lockfile-only change: Cargo.toml's sevenz-rust2 = "0.21.4" caret requirement already admits 0.21.5, so the manifest floor is left as-is
  • Both changed code paths are currently unreachable in exarch-core: every 7z call site uses Password::empty() (encrypted archives are rejected before decryption), and 7z archive creation is unsupported (so lzma-rust2's encoder surface is dormant) — this is a forward-looking hardening bump, not an observable behavior change
  • No RUSTSEC/GHSA advisory exists for either crate; cargo audit and cargo deny check are clean

Test plan

  • cargo build --workspace --all-features (excluding exarch-python's pre-existing, unrelated pyo3 linker issue)
  • cargo nextest run --workspace --all-features --exclude exarch-python --exclude exarch-node — 1229 passed, 0 failed
  • cargo test --doc --workspace --all-features --exclude exarch-python --exclude exarch-node — 117 passed, 0 failed
  • cargo +nightly fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features --workspace
  • cargo audit / cargo deny check — clean
  • Live-tested AES-content-encrypted 7z archive extraction — correctly rejected with PasswordRequired

Closes #548

Pulls in a batched AES-CBC block decryption improvement in
sevenz-rust2, and transitively bumps lzma-rust2 to 0.19.0, which
carries the 0.18.1 out-of-bounds LZ encoder fix. Both crates'
affected code paths are currently unreachable in exarch-core, so
this is a forward-looking hardening bump rather than an observable
behavior change.

Closes #548
@github-actions github-actions Bot added core Changes to exarch-core docs Documentation dependencies Dependency updates labels Aug 18, 2026
@bug-ops
bug-ops enabled auto-merge (squash) August 18, 2026 18:24
@bug-ops
bug-ops merged commit 27c44b4 into main Aug 18, 2026
26 checks passed
@bug-ops
bug-ops deleted the feat/issue-548/bump-sevenz-rust2-0-21-4-to-0 branch August 18, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Changes to exarch-core dependencies Dependency updates docs Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bump sevenz-rust2 0.21.4 to 0.21.5 (AES-CBC decrypt perf improvement)

1 participant