Skip to content

Releases: 0xMiden/protocol

v0.14.0

24 Mar 03:07
ae4b457

Choose a tag to compare

Features

  • Added single-word Array standard (#2203).
  • Added SignedBlock struct (#2355).
  • Enabled CodeBuilder to add advice map entries to compiled scripts (#2275).
  • Implemented verification of AggLayer deposits (claims) against GER (#2288, #2295).
  • Added Ownable2Step account component with two-step ownership transfer (transfer_ownership, accept_ownership, renounce_ownership) and owner, nominated_owner procedures (#2292).
  • Added double-word array data structure abstraction over storage maps (#2299).
  • Added BlockNumber::MAX constant to represent the maximum block number (#2324).
  • Introduced TokenMetadata type to encapsulate fungible faucet metadata (#2344).
  • Added PackageKind and ProcedureExport (#2358).
  • 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 NoteType PUBLIC/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 NoteExecutionHint variant constants (NONE, ALWAYS, AFTER_BLOCK, ON_BLOCK_SLOT) to miden::standards::note::execution_hint MASM module (#2493).
  • 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).
  • Removed NoteType::Encrypted (#2315).
  • [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).
  • Removed protocol-reserved faucet sysdata storage slot (#2335).
  • [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).
  • Changed GER storage to a map (#2388).
  • [BREAKING] Consolidated authentication components ([#2390] (#2390))
  • [BREAKING] Refactored assets in the tx kernel and miden::protocol from one to two words, i.e. ASSET becomes ASSET_KEY and ASSET_VALUE (#2396, #2410).
  • Fixed MASM inline comment casing to adhere to commenting conventions (#2398).
  • Prefixed standar...
Read more

v0.14.0-rc.1

20 Mar 07:56
77710cf

Choose a tag to compare

v0.14.0-rc.1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.14.0-beta.2...v0.14.0-rc.1

v0.14.0-beta.4

20 Mar 09:38
31a1aa0

Choose a tag to compare

v0.14.0-beta.4 Pre-release
Pre-release

What's Changed

Full Changelog: v0.14.0-beta.2...v0.14.0-beta.4

v0.14.0-alpha.2

17 Mar 08:14
daea356

Choose a tag to compare

v0.14.0-alpha.2 Pre-release
Pre-release

What's Changed

v0.14.0-beta.2

16 Mar 16:06
94b5415

Choose a tag to compare

v0.14.0-beta.2 Pre-release
Pre-release

What's Changed

  • fix: avoid collision in PartialAccountTree by @igamigo in #2598

v0.14.0-beta.1

11 Mar 19:03
8dd49e8

Choose a tag to compare

v0.14.0-beta.1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.14.0-alpha.1...v0.14.0-beta.1

v0.14.0-alpha.1

02 Mar 22:31
a09027b

Choose a tag to compare

v0.14.0-alpha.1 Pre-release
Pre-release

What's Changed

Read more

v0.13.3

27 Jan 19:07
4ad8725

Choose a tag to compare

  • Fixed CLAIM note creation to use NetworkAccountTarget attachment (#2352).
  • Added standards for working with NetworkAccountTarget attachments (#2338).
  • Fixed PartialBlockchain::add_block() not adding block headers to the blocks map when track=true, which caused prune_to() to never untrack old blocks, leading to unbounded memory growth (#2353).

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).