Skip to content

v0.20.0

Latest

Choose a tag to compare

@bobbinth bobbinth released this 06 Dec 05:47
17b7857

Enhancements

  • Added SHA512 hash precompile in miden::core::crypto::hashes::sha512 (#2312).
  • Added EdDSA (Ed25519) signature verification precompile in miden::core::crypto::dsa::eddsa_ed25519 (#2312).
  • Added AEAD implementation in the VM using crypto_stream instruction (#2322).
  • Added new adv.push_mapval_count instruction (#2349).
  • Added new memcopy_elements procedure for the std::mem module (#2352).
  • Implemented link-time const evaluation; simplified linker implementation and improved consistency of symbol resolution and associated errors (#2370).
  • Added new peek procedure for the std::collections::smt module (#2387).
  • Added new pad_and_hash_elements procedure to the std::crypto::hashes::rpo module (#2395).
  • Added padding option for the adv.push_mapvaln instruction (#2398).

Changes

  • [BREAKING] Added builder patterns for all MastNode types, made naked constructors module-private (#2259).
  • Extended builder patterns for all MastNode types (#2274).
  • Further extended builder patterns for all MastNode types, replace enum-dispatch by our own derivations (#2291).
  • Finished builder pattern conversion and delete old MastNode mutable APIs (#2301).
  • Hoist BasicBlock decorator storage to the MastForest after insertion in said MastForest (#2310).
  • [BREAKING] hoist before_enter and after_exit decorators to MastForest (#2323).
  • [BREAKING] Make argument order of Assembler::compile_and_statically_link_from_dir consistent with Assembler::assemble_library_from_dir.
  • [BREAKING] Renamed Library::get_procedure_root_by_name to Library::get_procedure_root_by_path.
  • Added missing implementations of proptest::Arbitrary for non-BasicBlockNode variants of MastNode (#2335).
  • Fixed locaddr alignment when procedure local count is not a multiple of 4 (#2350).
  • Streamline MastNode APIs and remove redundant parameters from execute_op_batch functions (#2360).
  • [BREAKING] Host debug and trace handlers return dynamic errors (#2367).
  • [BREAKING] Standardized hash function naming: renamed hash_2to1merge and hash_1to1hash across all hash modules (blake3, sha256, keccak256, rpo) (#2381).
  • Consolidate debug information into DebugInfo struct (#2366).
  • Wrapped hperm instruction in rpo::permute procedure (#2392).
  • hash_memory_with_state, hash_memory_words, and hash_memory_double_words procedures from the std::crypto::hashes::rpo module were renamed to the hash_elements_with_state, hash_words, and hash_double_words respectively (#2395).
  • [BREAKING] Upgraded miden-crypto to 0.19 (#2399).
  • Added missing modules to libcore documentation (#2416).
  • Pre-allocate main trace buffer in trace generation (#2345).
  • Renamed the MASM standard library to "miden::core", the crate to miden-core-lib, and various other MASM module refactors (#2260) (#2427).
  • Added a compaction function for achieving maximal sharing out of a MastForest with stripped decorators (#2408).
  • Refactored and remove tech debt from parallel trace generation (#2382)
  • [BREAKING] Added kind field to Package struct to indicate package type (Executable, AccountComponent, NoteScript, TxScript, AuthComponent) (#2403).
  • [BREAKING] Made the Assembler work in debug mode, remove optionality (#2396).
  • [BREAKING] Normalized naming of verify procedures of ECDSA precompile (#2413).
  • Refactored Blake3_256 fingerprints to allocate less (#2375).
  • [BREAKING] Normalized signature encoding methods in the dsa module of the core library.