You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added AccountTargetNetworkNote type and NetworkNoteExt trait with is_network_note() / as_account_target_network_note() helpers (#2365).
[BREAKING] Added get_asset and get_initial_asset kernel procedures and removed get_balance, get_initial_balance and has_non_fungible_asset kernel procedures (#2369).
Added p2id::new MASM constructor procedure for creating P2ID notes from MASM code (#2381).
Implemented assert_valid_ger procedure for verifying GER against storage (#2388).
Added P2idNoteStorage and P2ideNoteStorage (#2389).
Added StandardNote::from_script_root() and StandardNote::name() methods, and exposed NoteTypePUBLIC/PRIVATE masks as public constants (#2411).
Resolve standard note scripts directly in TransactionExecutorHost instead of querying the data store (#2417).
Added AggLayer faucet registry to bridge account with conversion metadata, CONFIG_AGG_BRIDGE note for faucet registration, and FPI-based asset conversion in bridge_out (#2426).
Added DEFAULT_TAG constant to miden::standards::note_tag MASM module (#2482).
Added Package support in MockChainBuilder & NoteScript (#2502).
Added PSM authentication procedures and integrated them into AuthMultisig (#2527).
Added CodeBuilder::with_warnings_as_errors() to promote assembler warning diagnostics to errors (#2558).
Added MintPolicyConfig for flexible minting policy enforcement (#2559)
Added MockChain::add_pending_batch() to allow submitting user batches directly (#2565).
Implemented the on_before_asset_added_to_account asset callback (#2571).
Added ProgramExecutor hooks to support DAP and other custom transaction program executors (#2574).
Added create_fungible_key for construction of fungible asset keys (#2575).
Added metadata hash storage to AggLayer faucet and FPI retrieval during bridge-out leaf construction (#2583).
Added SwapNoteStorage for typed serialization/deserialization of SWAP note storage (#2585).
Added InputNoteCommitment::from_parts() for construction of input note commitments from a nullifier and optional note header (#2588).
Added bool schema type to the type registry and updated ACL auth component to use it for boolean config fields (#2591).
Implemented the on_before_asset_added_to_note asset callback (#2595).
Added component_metadata() to all account components to expose their metadata (#2596).
[BREAKING] Changed native_account::remove_asset to return the asset value remaining in the vault instead of the removed value (#2626).
Implemented TransactionEventId::event_name and Host::resolve_event for better VM diagnostics during even handler failures (#2628).
Added FixedWidthString for fixed-width UTF-8 string storage in miden-standards (miden::standards::utils::string). (#2633)
Changes
[BREAKING] Renamed NoteInputs to NoteStorage to better reflect that values are stored data associated with a note rather than inputs (#1662, #2316).
Introduced NOTE_MAX_SIZE (256 KiB) and enforce it on individual output notes (#2205, #2651).
Restructured miden-agglayer/asm directory to separate bridge and faucet into per-component libraries, preventing cross-component procedure exposure (#2294).
Skip requests to the DataStore for asset vault witnesses which are already in transaction inputs (#2298).
[BREAKING] Refactored TransactionAuthenticator::get_public_key() method to return Arc<PublicKey> instead of &PublicKey (#2304).
[BREAKING] Updated note tag length to support up to 32 bits (#2329).
[BREAKING] Renamed WellKnownComponent to StandardAccountComponent, WellKnownNote to StandardNote, and WellKnownNoteAttachment to StandardNoteAttachment (#2332).
Added B2AGG and UPDATE_GER note attachment target checks (#2334).
[BREAKING] Moved standard note code into individual note modules (#2363).
[BREAKING] Prefixed transaction kernel events with miden::protocol (#2364).
[BREAKING] Added miden::standards::note_tag module for account target note tags (#2366).
[BREAKING] Made AccountComponentMetadata a required parameter of AccountComponent::new(); removed with_supported_type, with_supports_all_types, and with_metadata methods from AccountComponent; simplified AccountComponentMetadata::new() to take just name; renamed AccountComponentTemplateError to ComponentMetadataError (#2373, #2395).
[BREAKING] Changed note scripts to be compiled as libraries with @note_script annotation for marking the entrypoint procedure (#2339, #2374).
Made kernel procedure offset constants public and replaced accessor procedures with direct constant usage (#2375).
Removed redundant note storage item count from advice map (#2376).
Added miden::protocol::auth module with public auth event constants (#2377).
Moved NoteExecutionHint to miden-standards (#2378).
[BREAKING] Simplified NoteMetadata::new() constructor to not require tag parameter; tag defaults to zero and can be set via with_tag() builder method (#2384).
Unified the underlying representation of ExitRoot and SmtNode and use type aliases (#2387).
[BREAKING] Fixed TokenSymbol::try_from(Felt) to reject values below MIN_ENCODED_VALUE; implemented Display for TokenSymbol replacing the fallible to_string() method; removed Default derive (#2464).
[BREAKING] Renamed SchemaTypeId to SchemaType (#2494).
Introduced a dedicated AccountIdKey type to unify and centralize all AccountId → SMT and advice-map key conversions (#2495).
Updated stale miden-base references to protocol across docs, READMEs, code comments, and Cargo.toml repository URL (#2503).
[BREAKING] The native hash function changed from RPO256 to Poseidon2 - see PR description (#2508).
[BREAKING] Migrated to miden-vm 0.21 and miden-crypto 0.22 (#2508).
[BREAKING] The stack orientation changed from big-endian to little-endian - see PR description (#2508).
[BREAKING] Reverse the order of the transaction summary on the stack (#2512).
[BREAKING] Use @auth_script MASM attribute instead of auth_ prefix to identify authentication procedures in account components (#2534).
[BREAKING] Made supported_types a required parameter of AccountComponentMetadata::new(); removed with_supported_type, with_supported_types, with_supports_all_types, and with_supports_regular_types builder methods; added AccountType::all() and AccountType::regular() helpers (#2554).
Fixed link map entry pointer validation bypass (#2556).
Fixed overlap in initial and active account storage slot memory region (#2557).
[BREAKING] Removed NoteAssets::add_asset; OutputNoteBuilder now accumulates assets in a Vec and computes the commitment only when build() is called, avoiding rehashing on every asset addition. (#2577).
Added foreign account ID assertion in account::load_foreign_account (#2560).
Made NoteMetadataHeader and NoteMetadata::to_header() public, added NoteMetadata::from_header() constructor, and exported NoteMetadataHeader from the note module (#2561).
[BREAKING] Removed ProvenTransactionBuilder in favor of ProvenTransaction::new() constructor (#2567).
Moved AccountSchemaCommitment component into a sub-module (#2603).
[BREAKING] Separated EthAddress (plain 20-byte Ethereum address) and EthEmbeddedAccountId (Miden AccountId encoded as Ethereum address) into distinct types, replacing the single EthAddressFormat struct. (#2622).
[BREAKING] miden::protocol::faucet::burn no longer returns the burnt asset value (#2626).
[BREAKING] AssetVault::remove_asset returns the asset value remaining in the vault Option<Asset> rather than the removed value Asset (#2626).
[BREAKING] Renamed MMR Frontier to Merkle Tree Frontier (MTF), module was renamed from mmr_frontier32_keccak to merkle_tree_frontier (#2642).
Migrated to miden-vm v0.22 and miden-crypto v0.23 (#2644).
Removed unnecessary LexicographicWord wrapper from StorageMapDelta and LinkMap operations since Word now implements the same ordering (#2662).
[BREAKING] Renamed NoteLocation::node_index_in_block to NoteLocation::block_note_tree_index (#2663).
[BREAKING] Made fields of TransactionOutputs private (#2663).
[BREAKING] Renamed NoteHeader::commitment to NoteHeader::to_commitment (#2663).
[BREAKING] Changed TransactionId to include fee asset in hash computation, making it commit to entire TransactionHeader contents.
Explicitly use get_native_account_active_storage_slots_ptr in account::set_item and account::set_map_item.
[BREAKING] Introduced PrivateNoteHeader for output notes and removed RawOutputNote::Header variant (#2569).
[BREAKING] Changed asset::create_fungible_asset and faucet::create_fungible_asset signature to take enable_callbacks flag (#2571).
Added Ownable2Step as an Account Component (#2572).
Fixes
Fixed PartialAccountTree::track_account rejecting provably-empty leaves in sparse trees by handling SmtLeaf::Empty correctly (#2598).