Skip to content

Releases: 0xMiden/miden-base

v0.13.2

22 Jan 08:34
3fda7c4

Choose a tag to compare

  • Make transaction executor respect debug mode settings (#2327).

v0.13.1

21 Jan 08:03
5f6a59f

Choose a tag to compare

  • Make NetworkAccountTargetError public (#2319).

v0.13.0

17 Jan 07:34
37dd717

Choose a tag to compare

0.13.0 (2026-01-16)

Features

  • [BREAKING] Refactored storage slots to be accessed by names instead of indices (#1987, #2025, #2149, #2150, #2153, #2154, #2160, #2161, #2170).
  • [BREAKING] Allowed account components to share identical account code procedures (#2164).
  • Add AccountId::parse() helper function to parse both hex and bech32 formats (#2223).
  • Add read_foreign_account_inputs(), read_vault_asset_witnesses(), and read_storage_map_witness() for TransactionInputs (#2246).
  • [BREAKING] Introduced NoteAttachment as part of NoteMetadata and remove aux and execution_hint (#2249, #2252, #2260, #2268, #2279).
  • Added AccountSchemaCommitment component to expose account storage schema commitments (#2253).
  • Introduced standard NetworkAccountTarget attachment for use in network transactions which replaces NoteTag::NetworkAccount (#2257).
  • Added an AccountBuilder extension trait to help build the schema commitment; added AccountComponentMetadata to AccountComponent (#2269).
  • Added miden::standards::access::ownable standard module for component ownership management, and integrated it into the network_fungible faucet (including new tests). (#2228).

Changes

  • Added proc-macro WordWrapper to ease implementation of Word-wrapping types (#2071).
  • [BREAKING] Added BlockBody and BlockProof structs in preparation for validator signatures and deferred block proving (#2012).
  • [BREAKING] Renamed TransactionEvent into TransactionEventId and split event handling into data extraction and handling logic (#2071).
  • Split tx progress events out into a separate enum (#2103).
  • Added note::get_network_account_tag procedure (#2120).
  • [BREAKING] Updated MINT note to support both private and public output note creation (#2123).
  • [BREAKING] Removed AccountComponentTemplate in favor of instantiating components via AccountComponent::from_package (#2127).
  • [BREAKING] Added public key to, remove proof commitment from, BlockHeader, and add signing functionality through BlockSigner trait (#2128).
  • [BREAKING] Added fee to TransactionHeader (#2131).
  • Created NullifierLeafValue newtype wrapper (#2136).
  • [BREAKING] Increased MAX_INPUTS_PER_NOTE from 128 to 1024 (#2139).
  • Added the ability to get full public key from TransactionAuthenticator (#2145).
  • Added TokenSymbol::from_static_str const function for compile-time token symbol validation (#2148).
  • [BREAKING] Migrated to miden-vm v0.20 and miden-crypto v0.19 (#2158).
  • [BREAKING] Renamed AccountProcedureInfo into AccountProcedureRoot and remove storage offset and size (#2162).
  • [BREAKING] Made AccountProcedureIndexMap construction infallible (#2163).
  • [BREAKING] Renamed tracked_procedure_roots_slot to trigger_procedure_roots_slot in ACL auth components for naming consistency (#2166).
  • [BREAKING] Refactored miden-objects and miden-lib into miden-protocol and miden-standards (#2184, #2191, #2197, #2255).
  • Added From<&ExecutedTransaction> for TransactionHeader implementation (#2178).
  • [BREAKING] Refactored AccountStorageDelta to use a new StorageSlotDelta type (#2182).
  • [BREAKING] Removed OLD_MAP_ROOT from being returned when calling native_account::set_map_item (#2194).
  • [BREAKING] Refactored account component templates into StorageSchema (#2193).
  • [BREAKING] Refactored account component templates into AccountStorageSchema (#2193).
  • [BREAKING] Refactor note tags to be arbitrary u32 values and drop previous validation (#2219).
  • [BREAKING] Refactored InitStorageData to support native types (#2230).
  • Refactored to no longer pad the note inputs on insertion into advice map (#2232).
  • Added StorageSchema::commitment() (#2244).
  • [BREAKING] RpoFalcon512 was renamed to Falcon512Rpo everywhere, including procedure and file names (#2264).
  • [BREAKING] Removed top-level error exports from miden-protocol crate (the are still accessible under miden_protocol::errors).

v0.12.4

26 Nov 19:03
e4b8f6d

Choose a tag to compare

  • Added the standard library's precompile registry to TransactionVerifier (#2116).

v0.12.3

16 Nov 04:18
39b7a77

Choose a tag to compare

  • Added ecdsa_k256_keccak::PublicKey as a valid template type (#2097).
  • [BREAKING] Fix advice inputs in transaction inputs not being propagated through (#2099).

v0.12.2

12 Nov 09:17
c3a9c73

Choose a tag to compare

  • Added create_mint_note and create_burn_note helper functions for creating standardized MINT and BURN notes (#2061).
  • [BREAKING] Fix ECDSA signature preparation in Signature::to_prepared_signature() method (#2074).
  • Skip value slot normalization for new account's deltas (#2075).
  • Skip value and map slot normalization for new account's deltas (#2075, #2077).
  • Added AuthEcdsaK256Keccak and AuthEcdsaK256KeccakMultisig auth components (#2083).

v0.12.1

06 Nov 07:20
5dfa431

Choose a tag to compare

  • Made InitStorageData::map_entries() public (#2055).
  • Enabled handling of empty maps in account component templates (#2056).
  • Changed auth components to increment nonce if it is zero (#2060).
  • Fixed incorrect detection of note inputs length during note creation (#2066).

v0.12.0

05 Nov 10:22
db5342d

Choose a tag to compare

Features

  • Added prove_dummy APIs on LocalTransactionProver (#1674).
  • Added update_signers_and_threshold procedure to update owner public keys and threshold config in multisig authentication component (#1707).
  • Added add_signature helper to simplify loading signatures into advice map (#1725).
  • Added build_recipient procedure to miden::note module (#1807).
  • Added prove_dummy APIs on LocalBatchProver and LocalBlockProver (#1811).
  • Added get_native_id and get_native_nonce procedures to the miden library (#1844).
  • Enabled lazy loading of assets during transaction execution (#1848).
  • Added lazy loading of the native asset (#1855).
  • [BREAKING] Enabled lazy loading of storage map entries during transaction execution (#1857).
  • [BREAKING] Enabled lazy loading of foreign accounts during transaction execution (#1873).
  • [BREAKING] Move account seed into PartialAccount (#1875, #2003).
  • Added get_initial_item and get_map_item_init procedures to miden::account module for accessing initial storage state (#1883).
  • Updated rpo_falcon512::verify_signatures to use account::get_map_item_init (#1885).
  • [BREAKING] Enabled lazy loading of assets and storage map items for foreign accounts during transaction execution (#1888).
  • [BREAKING] Represent new accounts as account deltas (#1896).
  • Implement SlotName for named storage slots (#1932)
  • [BREAKING] Removed get_falcon_signature from miden-tx crate (#1924).
  • Created a Signature wrapper to simplify the preparation of "native" signatures for use in the VM (#1924).
  • Added per-procedure approval thresholds to AuthRpoFalcon512Multisig auth component (#1968).
  • Implemented input_note::get_sender and active_note::get_metadata procedures in miden lib (#1933).
  • Added Address serialization and deserialization (#1937).
  • Added StorageMap::{num_entries, num_leaves} to retrieve the number of entries in a storage map (#1935).
  • Added AssetVault::{num_assets, num_leaves, inner_nodes} (#1939).
  • [BREAKING] Enabled computing the transaction ID from the data in a TransactionHeader (#1973).
  • Added account::get_initial_balance procedure to miden lib (#1959).
  • [BREAKING] Changed Account to PartialAccount conversion to generally track only minimal data (#1963).
  • Added MastArtifact, PackageExport, PackageManifest, AttributeSet, QualifiedProcedureName, Section and SectionId to re-export section (#1984 and #2015).
  • [BREAKING] Enable computing the transaction ID from the data in a TransactionHeader (#1973).
  • [BREAKING] Introduce AssetVaultKey newtype wrapper for asset vault keys (#1978, #2024).
  • [BREAKING] Change Account to PartialAccount conversion to generally track only minimal data (#1963).
  • Added network_fungible_faucet and MINT & BURN notes (#1925)
  • Removed create_p2id_note and create_p2any_note methods from MockChainBuilder, users should use add_p2id_note and add_p2any_note instead (#1990).
  • [BREAKING] Introduced AuthScheme and PublicKey enums in miden-objects::account::auth module (#1994).
  • [BREAKING] Added get_note_script() method to DataStore trait to enable lazy loading of note scripts during transaction execution (#1995).
  • Added AccountTree::apply_mutations_with_reversions (#2002).
  • [BREAKING] Change AccountTree to be generic over trait AccountTreeBackend implementations (#2006).
  • Added Display trait for AddressInterface (#2016).
  • Added has_procedure procedure to the miden::account module (#2017).
  • Re-add bech32 encoding for AccountId (#2018).
  • [BREAKING] Separate account APIs in miden::account into active_account and native_account (#2026).
  • [BREAKING] Remove miden::account::get_native_nonce procedure (#2026).
  • [BREAKING] Refactor Address to make routing parameters optional (#2032, #2047).
  • [BREAKING] Refactor PartialVault, PartialStorageMap, PartialAccountTree and PartialNullifierTree to allow construction from a root (#2042).
  • [BREAKING] Refactor Address to make routing parameters optional (#2032).
  • Added encryption_key to RoutingParameters (#2050).
  • [BREAKING] Added EcdsaK256Keccak variant to auth enums (#2052).
  • Implemented storage map templates, which can be initialized through key/value lists provided via InitStorageData TOML (#2053).

Changes

  • [BREAKING] Incremented MSRV to 1.90.
  • [BREAKING] Migrated to miden-vm v0.18 and miden-crypto v0.17 (#1832).
  • [BREAKING] Removed MockChain::add_pending_p2id_note in favor of using MockChainBuilder (#1842).
  • [BREAKING] Removed versioning of the transaction kernel, leaving only one latest version (#1793).
  • [BREAKING] Moved miden::asset::{create_fungible_asset, create_non_fungible_asset} procedures to miden::faucet (#1850).
  • [BREAKING] Removed versioning of the transaction kernel, leaving only one latest version (#1793).
  • Added AccountComponent::from_package() method to create components from miden-mast-package::Package (#1802).
  • [BREAKING] Removed some of the note kernel procedures and use input_note procedures instead (#1834).
  • [BREAKING] Replaced Account with PartialAccount in TransactionInputs (#1840).
  • [BREAKING] Renamed Account::init_commitment to Account::initial_commitment (#1840).
  • [BREAKING] Renamed the is_onchain method to has_public_state for AccountId, AccountIdPrefix, Account, AccountInterface and AccountStorageMode (#1846).
  • [BREAKING] Moved NetworkId from account ID to address module (#1851).
  • Removed ProvenTransactionExt(#1867).
  • [BREAKING] Renamed the is_onchain method to has_public_state for AccountId, AccountIdPrefix, Account, AccountInterface and AccountStorageMode (#1846).
  • [BREAKING] Moved miden::asset::{create_fungible_asset, create_non_fungible_asset} procedures to miden::faucet (#1850).
  • [BREAKING] Moved NetworkId from account ID to address module (#1851).
  • [BREAKING] Moved TransactionKernelError to miden-tx (#1859).
  • [BREAKING] Changed PartialStorageMap to track the correct set of key+value pairings (#1878, #1921).
  • Change terminology of "current note" to "active note" (#1863).
  • [BREAKING] Moved and rename miden::tx::{add_asset_to_note, create_note} procedures to miden::output_note::{add_asset, create} ([#1874](https://github.com/0xMiden/mid...
Read more

v0.11.5

02 Oct 23:57
e54da65

Choose a tag to compare

  • Add new can_consume method to the NoteConsumptionChecker (#1928).

v0.11.4

17 Sep 22:21
b8372fa

Choose a tag to compare

  • Updated miden-vm dependencies to 0.17.2 patch version. (#1905).