Skip to content

Releases: 0xMiden/crypto

v0.20.1

29 Dec 20:51
125aff6

Choose a tag to compare

  • Added more re-exports from Plonky3 dependencies (#741).

v0.20.0

29 Dec 01:17
f1b49d6

Choose a tag to compare

  • [BREAKING] Renamed MmrProof to MmrPath, and introduce a new MmrProof with the leaf value included (#656).
  • Added + Sync bound to StorageError and LargeSmtError (#680).
  • [BREAKING] Refactored SmtProof verification API to return Result<(), SmtProofError> (#682).
  • Added validation to PartialMerkleTree::with_leaves() to reject internal nodes (#684).
  • Decoupled PartialSmt from Smt and 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 LargeSmt root ownership from storage to in-memory layer (#694).
  • Removed use of transmute() in blake3 implementation (#704).
  • [BREAKING] Made LargeSmt::num_leaves() and LargeSmt::num_entries() infallible (#708).
  • [BREAKING] Changed SmtStorage mutator methods from &self to &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

05 Dec 07:44
179e672

Choose a tag to compare

  • [BREAKING] Fixed Signature serialization by reducing SIGNATURE_BYTES to 65 (#686).

v0.18.5

05 Dec 00:46
v0.18.5
7df40cd

Choose a tag to compare

Full Changelog: v0.18.4...v0.18.5

v0.19.1

04 Dec 00:44
0196fbb

Choose a tag to compare

  • Fixed Signature deserialization missing one byte from serialization (#687).

v0.19.0

30 Nov 21:59
2876e19

Choose a tag to compare

  • Added LargeSmt::insert_batch() for optimized bulk operations (#597).
  • Added compute_challenge_k() and verify_with_unchecked_k() methods to separate hashing and EC logic in EdDSA over Ed25519 (#602).
  • Refactored LargeSmt::apply_mutations_with_reversion to use batched storage operations (#613).
  • Fixed IES sealed box deserialization (#616).
  • Add serialization of sealing and unsealing keys in IES (#637).
  • Fixed undefined BaseElement in rescue arch optimizations (#644).
  • Fixed bugs in Merkle tree capacity checks for SimpleSmt and PartialMerkleTree (#648).
  • Added MerkleStore::has_path() (#649).
  • Refactored StorageUpdates to use explicit SubtreeUpdate enum for storage operations (#654).
  • Refactored LargeSmt into smaller focused modules (#658).
  • [BREAKING] Organized merkle module into public submodules (mmr, smt, store) (#660).
  • Added property-based testing for LargeSmt verifying insert_batch equivalence with compute_mutations+apply_mutations (#667).
  • [BREAKING] Made LargeSmt::root() infallible - returns Word from the in-memory root and removes storage reads (#671).

v0.18.4

23 Nov 01:31
551b403

Choose a tag to compare

  • Fixed serialization of PartialSmt panicking in debug mode when it was constructed from only a root (#662).

v0.18.3

23 Nov 00:17
b42be6a

Choose a tag to compare

  • [BREAKING] removed unused 'self' parameter in HasherExt and all its implementations (#666).

v0.18.2

08 Nov 19:45
f8eab23

Choose a tag to compare

  • Changed the methodology for computing ECDSA and EdDSA public key commitments (#643).

v0.18.0

27 Oct 16:58
13d01fc

Choose a tag to compare

  • [BREAKING] Incremented MSRV to 1.90.
  • Added implementation of sealed box primitive (#514).
  • [BREAKING] Added DSA (EdDSA25519) and ECDH (X25519) using Curve25519 (#537).
  • Added AVX512 acceleration for RPO and RPX hash functions, including parallelized E-rounds for RPX (#551).
  • Added SmtForest structure (#563).
  • Added HasherExt trait to provide ability to hash using an iterator of slices. (#565).
  • [BREAKING] Refactor PartialSmt to be constructible from a root (#569).
  • Added Debug, Clone, Eq and PartialEq derives to secret key structs for DSA-s (#589).
  • Added zeroization of secret key structs for DSA-s (#590).
  • Added SmtProof::authenticated_nodes() delegating to SparseMerklePath::authenticated_nodes (#585).
  • Refactored LargeSmt to use flat Vec<Word> layout for in-memory nodes (#591).
  • Added benchmarks for ECDSA-k256 and EdDSA-25519 (#598).