crates: bump blake2 and sha2 to 0.11 together - #108
Merged
ifaouibadi merged 1 commit intoSep 3, 2026
Merged
Conversation
Both share digest 0.11 now, closing the trait-surface split that made ae-core/src/hash.rs's Digest::new() calls resolve against two different digest majors. No code change was needed: blake2 and sha2 0.11 keep the same Digest::new/update/finalize surface, and unifying on one digest version also collapses the duplicate 0.10/0.11 diamond that existed before this bump. Regenerates all four tracked lockfiles (crates, and the three bindings that depend on ae-core by path) so none disagree with the manifest under --locked CI. blake2b_256 and sha256 output is verified unchanged: the published test vectors in hash.rs still pass, and ae-parity's matrix and reference-corpus gates reproduce byte-identical to what is committed.
Contributor
|
Thanks for the pull request — it is in the queue and a maintainer will review it. This repository is maintained on a weekly cadence. Anything opened from outside gets What happens next:
If this is a security fix for an unreported vulnerability, please close it and use |
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.
Summary
blake2andsha2together incrates/Cargo.toml,0.10→0.11. Both now pulldigest 0.11.3, closing the split that madeae-core/src/hash.rs'sDigest::new()calls resolve against two differentdigestmajors (Blake2bagainst 0.11's trait,Sha256against 0.10's) — the reason the two prior single-crate Dependabot PRs (blake2alone, filed againstbindings/dart/rustandbindings/wasm-js/core-component) weren't mergeable.hash.rs:blake20.11 andsha20.11 keep the sameDigest::new/update/finalizesurface and the sameBlake2b<U32>/digest::consts::U32paths, so unifying thedigestversion was the whole fix.crates/Cargo.lock,bindings/python/Cargo.lock,bindings/dart/rust/Cargo.lock,bindings/wasm-js/core-component/Cargo.lock— each via a scopedcargo check/cargo buildupdate (not a fullcargo generate-lockfile), so only thedigest/blake2/sha2dependency chain moved; no unrelated package bumped. Side effect: this also collapses a pre-existing duplicate-digestdiamond (0.10.7 + 0.11.3 both present before this change, now a single 0.11.3 incrates/andbindings/python;bindings/dart/ruststill carries a separatedigest 0.10.7forflutter_rust_bridge's ownmd-5dependency, untouched and out of scope).Verification
All commands run locally against this branch,
crates/unless noted:cargo fmt --all -- --check— clean.cargo clippy --locked --all-targets -- -D warnings— clean.cargo test --locked— all green, includinghash::tests::blake2b_256_matches_the_published_vectorandhash::tests::sha256_matches_the_published_vector(published test vectors, unchanged output).cargo run --locked -p ae-parity -- matrixthengit diff --exit-code -- ae-parity/MATRIX.md ae-parity/matrix.json— no diff: the full corpus reproduces byte-identical, matchingparity.yml's own gate.--lockedfrom the regenerated lockfile:bindings/python(cargo build --locked),bindings/dart/rust(cargo build --locked),bindings/wasm-js/core-component(cargo component build --release --target wasm32-unknown-unknown, the samecargo-component@0.21.1pinwasm-bindings.ymlinstalls) — all clean.Note for review
blake2 0.11.0andsha2 0.11.0declarerust-version = "1.85"; the workspace's ownrust-version = "1.82"(crates/Cargo.toml) is now understated by that. Every CI job pins the toolchain to1.97.1(crates/rust-toolchain.toml), so nothing gates red on this — flagging only because the declared MSRV field is no longer accurate, and left the field untouched since correcting it wasn't part of the row's stated shape.