Releases: 0xMiden/miden-base
Releases · 0xMiden/miden-base
v0.13.2
v0.13.1
v0.13.0
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(), andread_storage_map_witness()forTransactionInputs(#2246). - [BREAKING] Introduced
NoteAttachmentas part ofNoteMetadataand removeauxandexecution_hint(#2249, #2252, #2260, #2268, #2279). - Added
AccountSchemaCommitmentcomponent to expose account storage schema commitments (#2253). - Introduced standard
NetworkAccountTargetattachment for use in network transactions which replacesNoteTag::NetworkAccount(#2257). - Added an
AccountBuilderextension trait to help build the schema commitment; addedAccountComponentMetadatatoAccountComponent(#2269). - Added
miden::standards::access::ownablestandard module for component ownership management, and integrated it into thenetwork_fungiblefaucet (including new tests). (#2228).
Changes
- Added proc-macro
WordWrapperto ease implementation ofWord-wrapping types (#2071). - [BREAKING] Added
BlockBodyandBlockProofstructs in preparation for validator signatures and deferred block proving (#2012). - [BREAKING] Renamed
TransactionEventintoTransactionEventIdand 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_tagprocedure (#2120). - [BREAKING] Updated MINT note to support both private and public output note creation (#2123).
- [BREAKING] Removed
AccountComponentTemplatein favor of instantiating components viaAccountComponent::from_package(#2127). - [BREAKING] Added public key to, remove proof commitment from,
BlockHeader, and add signing functionality throughBlockSignertrait (#2128). - [BREAKING] Added fee to
TransactionHeader(#2131). - Created
NullifierLeafValuenewtype wrapper (#2136). - [BREAKING] Increased
MAX_INPUTS_PER_NOTEfrom 128 to 1024 (#2139). - Added the ability to get full public key from
TransactionAuthenticator(#2145). - Added
TokenSymbol::from_static_strconst function for compile-time token symbol validation (#2148). - [BREAKING] Migrated to
miden-vmv0.20 andmiden-cryptov0.19 (#2158). - [BREAKING] Renamed
AccountProcedureInfointoAccountProcedureRootand remove storage offset and size (#2162). - [BREAKING] Made
AccountProcedureIndexMapconstruction infallible (#2163). - [BREAKING] Renamed
tracked_procedure_roots_slottotrigger_procedure_roots_slotin ACL auth components for naming consistency (#2166). - [BREAKING] Refactored
miden-objectsandmiden-libintomiden-protocolandmiden-standards(#2184, #2191, #2197, #2255). - Added
From<&ExecutedTransaction> for TransactionHeaderimplementation (#2178). - [BREAKING] Refactored
AccountStorageDeltato use a newStorageSlotDeltatype (#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
u32values and drop previous validation (#2219). - [BREAKING] Refactored
InitStorageDatato support native types (#2230). - Refactored to no longer pad the note inputs on insertion into advice map (#2232).
- Added
StorageSchema::commitment()(#2244). - [BREAKING]
RpoFalcon512was renamed toFalcon512Rpoeverywhere, including procedure and file names (#2264). - [BREAKING] Removed top-level error exports from
miden-protocolcrate (the are still accessible undermiden_protocol::errors).
v0.12.4
v0.12.3
v0.12.2
- Added
create_mint_noteandcreate_burn_notehelper 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
AuthEcdsaK256KeccakandAuthEcdsaK256KeccakMultisigauth components (#2083).
v0.12.1
v0.12.0
Features
- Added
prove_dummyAPIs onLocalTransactionProver(#1674). - Added
update_signers_and_thresholdprocedure to update owner public keys and threshold config in multisig authentication component (#1707). - Added
add_signaturehelper to simplify loading signatures into advice map (#1725). - Added
build_recipientprocedure tomiden::notemodule (#1807). - Added
prove_dummyAPIs onLocalBatchProverandLocalBlockProver(#1811). - Added
get_native_idandget_native_nonceprocedures to themidenlibrary (#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_itemandget_map_item_initprocedures tomiden::accountmodule for accessing initial storage state (#1883). - Updated
rpo_falcon512::verify_signaturesto useaccount::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
SlotNamefor named storage slots (#1932) - [BREAKING] Removed
get_falcon_signaturefrommiden-txcrate (#1924). - Created a
Signaturewrapper to simplify the preparation of "native" signatures for use in the VM (#1924). - Added per-procedure approval thresholds to
AuthRpoFalcon512Multisigauth component (#1968). - Implemented
input_note::get_senderandactive_note::get_metadataprocedures inmidenlib (#1933). - Added
Addressserialization 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_balanceprocedure tomidenlib (#1959). - [BREAKING] Changed
AccounttoPartialAccountconversion to generally track only minimal data (#1963). - Added
MastArtifact,PackageExport,PackageManifest,AttributeSet,QualifiedProcedureName,SectionandSectionIdto re-export section (#1984 and #2015). - [BREAKING] Enable computing the transaction ID from the data in a
TransactionHeader(#1973). - [BREAKING] Introduce
AssetVaultKeynewtype wrapper for asset vault keys (#1978, #2024). - [BREAKING] Change
AccounttoPartialAccountconversion to generally track only minimal data (#1963). - Added
network_fungible_faucetandMINT&BURNnotes (#1925) - Removed
create_p2id_noteandcreate_p2any_notemethods fromMockChainBuilder, users should useadd_p2id_noteandadd_p2any_noteinstead (#1990). - [BREAKING] Introduced
AuthSchemeandPublicKeyenums inmiden-objects::account::authmodule (#1994). - [BREAKING] Added
get_note_script()method toDataStoretrait to enable lazy loading of note scripts during transaction execution (#1995). - Added
AccountTree::apply_mutations_with_reversions(#2002). - [BREAKING] Change
AccountTreeto be generic overtrait AccountTreeBackendimplementations (#2006). - Added
Displaytrait forAddressInterface(#2016). - Added
has_procedureprocedure to themiden::accountmodule (#2017). - Re-add bech32 encoding for
AccountId(#2018). - [BREAKING] Separate account APIs in
miden::accountintoactive_accountandnative_account(#2026). - [BREAKING] Remove
miden::account::get_native_nonceprocedure (#2026). - [BREAKING] Refactor
Addressto make routing parameters optional (#2032, #2047). - [BREAKING] Refactor
PartialVault,PartialStorageMap,PartialAccountTreeandPartialNullifierTreeto allow construction from a root (#2042). - [BREAKING] Refactor
Addressto make routing parameters optional (#2032). - Added
encryption_keytoRoutingParameters(#2050). - [BREAKING] Added
EcdsaK256Keccakvariant to auth enums (#2052). - Implemented storage map templates, which can be initialized through key/value lists provided via
InitStorageDataTOML (#2053).
Changes
- [BREAKING] Incremented MSRV to 1.90.
- [BREAKING] Migrated to
miden-vmv0.18 andmiden-cryptov0.17 (#1832). - [BREAKING] Removed
MockChain::add_pending_p2id_notein favor of usingMockChainBuilder(#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 tomiden::faucet(#1850). - [BREAKING] Removed versioning of the transaction kernel, leaving only one latest version (#1793).
- Added
AccountComponent::from_package()method to create components frommiden-mast-package::Package(#1802). - [BREAKING] Removed some of the
notekernel procedures and useinput_noteprocedures instead (#1834). - [BREAKING] Replaced
AccountwithPartialAccountinTransactionInputs(#1840). - [BREAKING] Renamed
Account::init_commitmenttoAccount::initial_commitment(#1840). - [BREAKING] Renamed the
is_onchainmethod tohas_public_stateforAccountId,AccountIdPrefix,Account,AccountInterfaceandAccountStorageMode(#1846). - [BREAKING] Moved
NetworkIdfrom account ID to address module (#1851). - Removed
ProvenTransactionExt(#1867). - [BREAKING] Renamed the
is_onchainmethod tohas_public_stateforAccountId,AccountIdPrefix,Account,AccountInterfaceandAccountStorageMode(#1846). - [BREAKING] Moved
miden::asset::{create_fungible_asset, create_non_fungible_asset}procedures tomiden::faucet(#1850). - [BREAKING] Moved
NetworkIdfrom account ID to address module (#1851). - [BREAKING] Moved
TransactionKernelErrorto miden-tx (#1859). - [BREAKING] Changed
PartialStorageMapto 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 tomiden::output_note::{add_asset, create}([#1874](https://github.com/0xMiden/mid...