Releases: 0xMiden/crypto
Releases · 0xMiden/crypto
v0.20.1
v0.20.0
- [BREAKING] Renamed
MmrProoftoMmrPath, and introduce a newMmrProofwith the leaf value included (#656). - Added
+ Syncbound toStorageErrorandLargeSmtError(#680). - [BREAKING] Refactored
SmtProofverification API to returnResult<(), SmtProofError>(#682). - Added validation to
PartialMerkleTree::with_leaves()to reject internal nodes (#684). - Decoupled
PartialSmtfromSmtand expanded tracking to include provably empty leaves, allowing updates in empty subtrees (#691). - Added SHA-256 and SHA-512 hash function wrappers (#692).
- [BREAKING] Moved
LargeSmtroot ownership from storage to in-memory layer (#694). - Removed use of
transmute()in blake3 implementation (#704). - [BREAKING] Made
LargeSmt::num_leaves()andLargeSmt::num_entries()infallible (#708). - [BREAKING] Changed
SmtStoragemutator methods from&selfto&mut self(#709). PartialMmr::untrack()now returns the removed authentication nodes (#714).- [BREAKING] Imported miden-serde-utils crate for serialization (#715).
- [BREAKING] Replaced underlying field implementation with Plonky3 backend (#720).
- Trimmed down hash benchmarks, restored Poseidon2 testing, removed unnecessary size parameterization from merge benchmarks (#737)
- [BREAKING] Removed 160-bit variant of the BLAKE3 hash function.
v0.19.2
v0.18.5
Full Changelog: v0.18.4...v0.18.5
v0.19.1
v0.19.0
- Added
LargeSmt::insert_batch()for optimized bulk operations (#597). - Added
compute_challenge_k()andverify_with_unchecked_k()methods to separate hashing and EC logic in EdDSA over Ed25519 (#602). - Refactored
LargeSmt::apply_mutations_with_reversionto use batched storage operations (#613). - Fixed IES sealed box deserialization (#616).
- Add serialization of sealing and unsealing keys in IES (#637).
- Fixed undefined
BaseElementin rescue arch optimizations (#644). - Fixed bugs in Merkle tree capacity checks for
SimpleSmtandPartialMerkleTree(#648). - Added
MerkleStore::has_path()(#649). - Refactored
StorageUpdatesto use explicitSubtreeUpdateenum for storage operations (#654). - Refactored
LargeSmtinto smaller focused modules (#658). - [BREAKING] Organized
merklemodule into public submodules (mmr,smt,store) (#660). - Added property-based testing for
LargeSmtverifyinginsert_batchequivalence withcompute_mutations+apply_mutations(#667). - [BREAKING] Made
LargeSmt::root()infallible - returnsWordfrom the in-memory root and removes storage reads (#671).
v0.18.4
v0.18.3
v0.18.2
v0.18.0
- [BREAKING] Incremented MSRV to 1.90.
- Added implementation of sealed box primitive (#514).
- [BREAKING] Added DSA (EdDSA25519) and ECDH (X25519) using Curve25519 (#537).
- Added
AVX512acceleration for RPO and RPX hash functions, including parallelized E-rounds for RPX (#551). - Added
SmtForeststructure (#563). - Added
HasherExttrait to provide ability to hash using an iterator of slices. (#565). - [BREAKING] Refactor
PartialSmtto be constructible from a root (#569). - Added
Debug,Clone,EqandPartialEqderives to secret key structs for DSA-s (#589). - Added zeroization of secret key structs for DSA-s (#590).
- Added
SmtProof::authenticated_nodes()delegating toSparseMerklePath::authenticated_nodes(#585). - Refactored
LargeSmtto use flatVec<Word>layout for in-memory nodes (#591). - Added benchmarks for ECDSA-k256 and EdDSA-25519 (#598).