Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
b8c256d
fix(AggLayer): use correct byte<>`Felt` conversion (#2387)
mmagician Feb 6, 2026
be44b8a
Merge branch 'next' into agglayer-new
mmagician Feb 10, 2026
0d9d083
feat(AggLayer): Move padding to the end of `NoteStorage` for `CLAIM` …
mmagician Feb 14, 2026
046b02b
feat(AggLayer): byte packing from felts to match Solidity `abi.encode…
mmagician Feb 14, 2026
8ad690b
feat(AggLayer): `GlobalIndex` wrapper (#2407)
mmagician Feb 14, 2026
c5cc3d2
feat(AggLayer): e2e bridge-in flow with real bridge data (#2413)
mmagician Feb 15, 2026
c3b4497
chore(Agglayer): refactors to make scaling down easier (#2446)
mmagician Feb 16, 2026
0ff8f8f
feat: u256 to felt scaling procedure (#2331)
partylikeits1983 Feb 18, 2026
3b4bd70
feat(AggLayer): process bridging-out data and load `LeafData` to memo…
mmagician Feb 18, 2026
245f7b0
feat(AggLayer): Store `hash(GER)` in the bridge storage and implement…
mmagician Feb 18, 2026
b1c483b
feat(AggLayer): store Local Exit Tree in `AggLayerBridge` contract an…
mmagician Feb 18, 2026
be765b0
feat(AggLayer): faucet registry (#2426)
mmagician Feb 18, 2026
86fcb9e
feat: add solidity-compat test for generating local claimAsset() para…
partylikeits1983 Feb 23, 2026
1531d50
refactor: address review nits from PR #2474 (#2489)
mmagician Feb 23, 2026
1c33faf
Merge branch 'next' into agglayer
mmagician Feb 23, 2026
9cfb4f2
feat: add native asset claim amount as element in `NoteStorage` of `C…
partylikeits1983 Feb 23, 2026
0137fce
feat(AggLayer): Sender (resp. consumer) validation on `CONFIG_AGG_BRI…
mmagician Feb 24, 2026
4ee2778
refactor(Agglayer): restructure `asm` directory and split out agglaye…
mmagician Feb 24, 2026
b8c3b82
refactor: wrap `verify_u128_*` in `verify_u256_*` procedure (#2504)
partylikeits1983 Feb 24, 2026
0e8f971
Merge branch 'next' into agglayer
mmagician Feb 24, 2026
6bc6903
refactor: enforce `CLAIM` note consumer via `NetworkAccountTarget` at…
mmagician Feb 25, 2026
893c7de
fix: Move sender validation from note script into bridge procedures (…
mmagician Feb 25, 2026
0394ef2
docs(AggLayer): fix doc comments and inline comments for bridge compo…
mmagician Feb 25, 2026
7fe02b6
refactor: remove `OutputNoteData` from `AdviceMap` in `CLAIM` note (#…
partylikeits1983 Feb 25, 2026
a15dc57
refactor: rename SchemaTypeId to SchemaType (#2494)
igamigo Feb 25, 2026
e57262d
Merge branch 'next' into agglayer
mmagician Feb 25, 2026
dc1f0f3
Merge pull request #2461 from 0xMiden/agglayer
mmagician Feb 26, 2026
3154a37
fix: `faucets::distribute` not adding original amount to note (#2522)
PhilippGackstatter Feb 27, 2026
592fcbe
feat: add `AccountTargetNetworkNote` wrapper for network notes (#2365)
partylikeits1983 Mar 2, 2026
c3dcae3
refactor: introduce `StorageMapKey` and `HashedStorageMapKey` Word wr…
Farukest Mar 2, 2026
44a2bbd
refactor: avoid writing into src upon `cargo build` (#2452)
mmagician Mar 2, 2026
d2844ac
refactor: use `@auth_script` MASM attribute instead of `auth_` prefix…
partylikeits1983 Mar 2, 2026
a09027b
release: `v0.14-alpha.1` (#2529)
mmagician Mar 2, 2026
3c7efbf
chore: refactor tx kernel from `ASSET` to `ASSET_KEY` and `ASSET_VALU…
PhilippGackstatter Mar 3, 2026
afa669b
chore: refactor `miden::protocol` from `ASSET` to `ASSET_KEY` and `AS…
PhilippGackstatter Mar 3, 2026
e857006
feat: adapt the layout of `Asset`s to the double word representation …
PhilippGackstatter Mar 3, 2026
0ab37e0
chore: bump workspace version to 0.14.0-alpha.2
mmagician Mar 3, 2026
cee1ea5
feat: migrate to miden VM 0.21 and miden crypto 0.22 (#2508)
PhilippGackstatter Mar 4, 2026
77e6b06
feat: optimize layouts and procedures for little-endian (#2512)
PhilippGackstatter Mar 4, 2026
83ccb2f
feat(AggLayer): bridging spec (#2469)
mmagician Mar 4, 2026
0897aae
fix: remove unused MASM imports (#2543)
PhilippGackstatter Mar 4, 2026
a83a29b
fix: enable `miden-crypto/std` in `testing` feature to fix MSRV check…
mmagician Mar 4, 2026
ecb6359
chore(spec): fix numbering and formatting in algorithm steps (#2547)
krlosMata Mar 4, 2026
004a75f
chore: enable CI on merge queue trigger (#2540)
mmagician Mar 4, 2026
491ff5f
feat: enable warning as errors for `CodeBuilder` (#2558)
igamigo Mar 5, 2026
8c2101c
refactor: enforce defining supported types on metadata (#2554)
igamigo Mar 5, 2026
17ff028
feat: enforce maximum serialized size for output notes (#2205)
Forostovec Mar 6, 2026
486c7ac
feat: introduce `AccountIdKey` (#2495)
swaploard Mar 6, 2026
469c811
fix: make format and remove unused import (#2564)
PhilippGackstatter Mar 6, 2026
1f519d9
feat: make `NoteMetadataHeader` public (#2561)
SantiagoPittella Mar 6, 2026
28c51b2
chore: ProvenBlock constructor with validation (#2553)
sergerad Mar 6, 2026
b0e292e
refactor: include fee in TransactionId computation
bobbinth Mar 6, 2026
c5815d7
refactor: remove `Ord` and `PartialOrd` from `StorageSlot` (#2549)
PercyDikec Mar 6, 2026
ef0de00
chore: Replace SMT leaf conversion function (#2271)
sergerad Mar 6, 2026
eafc99e
feat: add ability to submit user batches for the MockChain (#2565)
igamigo Mar 6, 2026
fe1854c
chore: Explicitly use `get_native_account_active_storage_slots_ptr` i…
bobbinth Mar 7, 2026
25f9d16
chore: fix typos
bobbinth Mar 7, 2026
e5d63b7
feat: integrate PSM contracts to AuthMultisig (#2527)
onurinanc Mar 9, 2026
a53bbe2
chore: remove `ProvenTransactionBuilder` in favor of `ProvenTransacti…
Himess Mar 9, 2026
698fa6f
feat: implement `Ownable2Step` (#2292)
afa7789 Mar 9, 2026
9c18c0d
feat: prefix account components with miden::standards namespace (#2400)
Himess Mar 9, 2026
c46137a
refactor: rename output note structs (#2569)
bobbinth Mar 9, 2026
af46e09
feat: add `create_fungible_key` proc for fungible asset vault keys (#…
PoulavBhowmick03 Mar 10, 2026
69f0c9e
feat: migrate miden-agglayer to VM 0.21 and crypto 0.22 (#2546)
mmagician Mar 11, 2026
fd7d916
chore: bump versions to v0.14.0-beta.1
mmagician Mar 11, 2026
521a1bb
Merge pull request #2582 from 0xMiden/mmagician-update-beta
mmagician Mar 11, 2026
e88c5dc
feat: make `Ownable2Step` an `AccountComponent` (#2572)
onurinanc Mar 11, 2026
cc719f6
feat: add `from_parts_unchecked()` method for `InputNoteCommitment` (…
juan518munoz Mar 11, 2026
8dd49e8
Merge pull request #2589 from 0xMiden/next
mmagician Mar 11, 2026
437b494
feat: support bool types on schemas (#2591)
igamigo Mar 12, 2026
ab4f4ef
fix: move recompute logic to `OutputNoteBuilder::add_asset` to avoid …
PoulavBhowmick03 Mar 12, 2026
35ae1c4
feat: Create storage helpers for `AggLayerBridge` (#2562)
Fumuran Mar 13, 2026
2e53056
feat: expose `AccountComponentMetadata` through public method (#2596)
juan518munoz Mar 13, 2026
5d7a673
fix: `TokenSymbol::try_from(Felt)` underflow (#2568)
Himess Mar 14, 2026
e130365
feat: implement asset callback support in tx kernel (#2571)
PhilippGackstatter Mar 16, 2026
3172ff1
feat: implement `on_before_asset_added_to_note` callback (#2595)
PhilippGackstatter Mar 16, 2026
c1c8e88
fix: avoid collision in `PartialAccountTree` (#2598)
igamigo Mar 16, 2026
94b5415
chore: bump versions
mmagician Mar 16, 2026
ee30a9b
feat: validate asset metadata (#2609)
PhilippGackstatter Mar 16, 2026
9d997ac
refactor: reorient `CLAIM` note consumption flow (#2528)
partylikeits1983 Mar 17, 2026
88e56f8
feat: flexible Minting Policies for Token Standards (#2559)
onurinanc Mar 17, 2026
c57ec7a
feat(agglayer): process CLAIM notes from a rollup (#2573)
mmagician Mar 17, 2026
7712230
Compute claimed global index chain hash (#2516)
Fumuran Mar 17, 2026
eeda9e6
refactor: move storage schema component into a separate file (#2603)
bobbinth Mar 17, 2026
6ec914b
chore(AggLayer): `verify_leaf_bridge` is no longer part of the bridge…
mmagician Mar 18, 2026
9b18c59
feat: add `Package` support in `MockChainBuilder` & `NoteScript` (#2502)
lima-limon-inc Mar 18, 2026
f5685a3
feat: introduce `SwapNoteStorage` (#2592)
PoulavBhowmick03 Mar 18, 2026
4bed2b6
feat: add callback docs (#2604)
PhilippGackstatter Mar 18, 2026
f4b5645
feat: add hooks to enable TX debugging (#2574)
djolertrk Mar 18, 2026
f4779c5
feat: implement CLAIM note nullifier tracking (#2610)
partylikeits1983 Mar 18, 2026
163c549
Migrate to Miden VM `v0.22.0-alpha.1` (#2625)
Fumuran Mar 18, 2026
cb8ae4b
AggLayer: Normalize storage slot naming (#2521)
Fumuran Mar 18, 2026
f6862fd
feat: add `FixedWidthString<N>` utility (#2633)
afa7789 Mar 19, 2026
2a41f89
feat(agglayer): store and use metadata hash for bridge-out leaves (#2…
mmagician Mar 19, 2026
e6d131f
feat: implement `TransactionEventId::event_name` and host name resolu…
PhilippGackstatter Mar 19, 2026
425b8d6
refactor: add assert for foreign account ID (#2560)
Fumuran Mar 6, 2026
2689ec9
fix: overlap in active and initial storage slot memory section (#2557)
PhilippGackstatter Mar 9, 2026
6831e41
fix: link map entry pointer validation bypass (#2556)
PhilippGackstatter Mar 10, 2026
67906b0
feat: change `native_account::remove_asset` to return the remaining a…
PhilippGackstatter Mar 19, 2026
32b0ef2
chore: migrate `agglayer` to latest `next` (#2639)
mmagician Mar 19, 2026
19bf6f0
merge: record next through f6862fd34 as merged into agglayer
mmagician Mar 19, 2026
c9a1a12
Merge branch 'next' into agglayer
mmagician Mar 19, 2026
23d5624
Merge pull request #2646 from 0xMiden/marti/agglayer-record-next-merge
mmagician Mar 19, 2026
17470b1
Merge pull request #2627 from 0xMiden/agglayer
mmagician Mar 19, 2026
0be1fe9
Merge branch 'next' into release/v0.14.0-beta
mmagician Mar 19, 2026
4ea2463
Merge pull request #2647 from 0xMiden/release/v0.14.0-beta
mmagician Mar 19, 2026
0187cf6
refactor: minor improvements to `AccountComponentCode` (#2597)
igamigo Mar 20, 2026
d476aa9
chore: Bump `NOTE_MAX_SIZE` to 256 KiB (#2652)
PhilippGackstatter Mar 20, 2026
c05c5e6
Migrate to Miden VM `v0.22.0` and Miden Crypto `v0.23.0` (#2644)
Fumuran Mar 21, 2026
5fed54c
feat: introduce AssetAmount wrapper type
giwaov Mar 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 14 additions & 10 deletions .github/actions/workspace-release/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,32 @@ inputs:
description: "Release mode: dry-run or publish"
required: true
default: "dry-run"
verify-main-head:
description: "If true, ensure the triggering SHA matches main's HEAD"
verify-branch-head:
description: "If true, ensure the triggering SHA matches the release branch HEAD"
required: false
default: "false"
release-branch:
description: "Branch to verify HEAD against (used when verify-branch-head is true)"
required: false
default: "main"

runs:
using: "composite"
steps:
# Optional: guard that release happens from latest main
- name: Verify tag matches main HEAD
if: ${{ inputs.verify-main-head == 'true' }}
# Optional: guard that release happens from latest release branch
- name: Verify tag matches release branch HEAD
if: ${{ inputs.verify-branch-head == 'true' }}
shell: bash
run: |
git fetch origin main --depth=1
main_sha="$(git rev-parse origin/main)"
git fetch origin ${{ inputs.release-branch }} --depth=1
branch_sha="$(git rev-parse origin/${{ inputs.release-branch }})"
tag_sha="$(git rev-parse HEAD)"

echo "main_sha=$main_sha"
echo "branch_sha=$branch_sha"
echo "tag_sha=$tag_sha"

if [ "$main_sha" != "$tag_sha" ]; then
echo "::error::The release/tag commit does not match origin/main HEAD. Aborting."
if [ "$branch_sha" != "$tag_sha" ]; then
echo "::error::The release/tag commit does not match origin/${{ inputs.release-branch }} HEAD. Aborting."
exit 1
fi

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]
merge_group:

permissions:
contents: read
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]
merge_group:

permissions:
contents: read
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ on:
push:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]
types: [opened, reopened, synchronize]
merge_group:

permissions:
contents: read
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/workspace-dry-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
branches:
- main
- next
- 'release/**'

permissions:
contents: read
Expand All @@ -29,5 +30,5 @@ jobs:
uses: ./.github/actions/workspace-release
with:
mode: "dry-run"
verify-main-head: "false"
verify-branch-head: "false"
# ref left blank: uses the pushed ref
5 changes: 3 additions & 2 deletions .github/workflows/workspace-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
ref: ${{ github.event.release.target_commitish }}

- name: Authenticate with crates.io
uses: rust-lang/crates-io-auth-action@v1
Expand All @@ -29,6 +29,7 @@ jobs:
uses: ./.github/actions/workspace-release
with:
mode: "publish"
verify-main-head: "true"
verify-branch-head: "true"
release-branch: ${{ github.event.release.target_commitish }}
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
12 changes: 12 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,15 @@
[submodule "crates/miden-agglayer/solidity-compat/lib/agglayer-contracts"]
path = crates/miden-agglayer/solidity-compat/lib/agglayer-contracts
url = https://github.com/agglayer/agglayer-contracts
[submodule "crates/miden-agglayer/solidity-compat/lib/openzeppelin-contracts-upgradeable"]
path = crates/miden-agglayer/solidity-compat/lib/openzeppelin-contracts-upgradeable
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable.git
branch = release-v4.9
[submodule "crates/miden-agglayer/solidity-compat/lib/openzeppelin-contracts"]
path = crates/miden-agglayer/solidity-compat/lib/openzeppelin-contracts
url = https://github.com/OpenZeppelin/openzeppelin-contracts.git
branch = release-v5.0
[submodule "crates/miden-agglayer/solidity-compat/lib/openzeppelin-contracts-upgradeable5"]
path = crates/miden-agglayer/solidity-compat/lib/openzeppelin-contracts-upgradeable5
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable.git
branch = release-v5.0
63 changes: 63 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

### Features

- Introduced `AssetAmount` wrapper type for fungible asset amounts with validated construction and a maximum value of `2^63 - 2^31` ([#2658](https://github.com/0xMiden/protocol/pull/2658)).
- Made `NoteMetadataHeader` and `NoteMetadata::to_header()` public, added `NoteMetadata::from_header()` constructor, and exported `NoteMetadataHeader` from the `note` module ([#2561](https://github.com/0xMiden/protocol/pull/2561)).
- Introduce NOTE_MAX_SIZE (256 KiB) and enforce it on individual output notes ([#2205](https://github.com/0xMiden/miden-base/pull/2205), [#2651](https://github.com/0xMiden/miden-base/pull/2651))
- 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](https://github.com/0xMiden/miden-base/pull/2426)).
- Enable `CodeBuilder` to add advice map entries to compiled scripts ([#2275](https://github.com/0xMiden/miden-base/pull/2275)).
- Added `BlockNumber::MAX` constant to represent the maximum block number ([#2324](https://github.com/0xMiden/miden-base/pull/2324)).
- Added single-word `Array` standard ([#2203](https://github.com/0xMiden/miden-base/pull/2203)).
Expand All @@ -12,6 +16,9 @@
- Implemented verification of AggLayer deposits (claims) against GER ([#2295](https://github.com/0xMiden/miden-base/pull/2295), [#2288](https://github.com/0xMiden/miden-base/pull/2288)).
- Added `SignedBlock` struct ([#2355](https://github.com/0xMiden/miden-base/pull/2235)).
- Added `PackageKind` and `ProcedureExport` ([#2358](https://github.com/0xMiden/miden-base/pull/2358)).
- Added `AccountTargetNetworkNote` type and `NetworkNoteExt` trait with `is_network_note()` / `as_account_target_network_note()` helpers ([#2365](https://github.com/0xMiden/miden-base/pull/2365)).
- Changed GER storage to a map ([#2388](https://github.com/0xMiden/miden-base/pull/2388)).
- Implemented `assert_valid_ger` procedure for verifying GER against storage ([#2388](https://github.com/0xMiden/miden-base/pull/2388)).
- Added `P2idNoteStorage` and `P2ideNoteStorage` ([#2389](https://github.com/0xMiden/miden-base/pull/2389)).
- [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](https://github.com/0xMiden/miden-base/pull/2369)).
- Added `p2id::new` MASM constructor procedure for creating P2ID notes from MASM code ([#2381](https://github.com/0xMiden/miden-base/pull/2381)).
Expand All @@ -21,13 +28,42 @@
- Resolve standard note scripts directly in `TransactionExecutorHost` instead of querying the data store ([#2417](https://github.com/0xMiden/miden-base/pull/2417)).
- Added `DEFAULT_TAG` constant to `miden::standards::note_tag` MASM module ([#2482](https://github.com/0xMiden/miden-base/pull/2482)).
- Added `NoteExecutionHint` variant constants (`NONE`, `ALWAYS`, `AFTER_BLOCK`, `ON_BLOCK_SLOT`) to `miden::standards::note::execution_hint` MASM module ([#2493](https://github.com/0xMiden/miden-base/pull/2493)).
- Added `Ownable2Step` account component with two-step ownership transfer (`transfer_ownership`, `accept_ownership`, `renounce_ownership`) and `owner`, `nominated_owner` procedures ([#2292](https://github.com/0xMiden/miden-base/pull/2292)).
- Added PSM authentication procedures and integrated them into `AuthMultisig` ([#2527](https://github.com/0xMiden/protocol/pull/2527)).
- Added `CodeBuilder::with_warnings_as_errors()` to promote assembler warning diagnostics to errors ([#2558](https://github.com/0xMiden/protocol/pull/2558)).
- Added `MintPolicyConfig` for flexible minting policy enforcement ([#2559](https://github.com/0xMiden/protocol/pull/2559))
- Added `MockChain::add_pending_batch()` to allow submitting user batches directly ([#2565](https://github.com/0xMiden/protocol/pull/2565)).
- Added `create_fungible_key` for construction of fungible asset keys ([#2575](https://github.com/0xMiden/protocol/pull/2575)).
- Implemented the `on_before_asset_added_to_account` asset callback ([#2571](https://github.com/0xMiden/protocol/pull/2571)).
- Implemented the `on_before_asset_added_to_note` asset callback ([#2595](https://github.com/0xMiden/protocol/pull/2595)).
- Added `InputNoteCommitment::from_parts()` for construction of input note commitments from a nullifier and optional note header ([#2588](https://github.com/0xMiden/protocol/pull/2588)).
- Added `SwapNoteStorage` for typed serialization/deserialization of SWAP note storage ([#2585](https://github.com/0xMiden/protocol/pull/2585)).
- Added `bool` schema type to the type registry and updated ACL auth component to use it for boolean config fields ([#2591](https://github.com/0xMiden/protocol/pull/2591)).
- Added `component_metadata()` to all account components to expose their metadata ([#2596](https://github.com/0xMiden/protocol/pull/2596)).
- Added `Package` support in `MockChainBuilder` & `NoteScript` ([#2502](https://github.com/0xMiden/protocol/pull/2502)).
- Added `ProgramExecutor` hooks to support DAP and other custom transaction program executors ([#2574](https://github.com/0xMiden/protocol/pull/2574)).
- [BREAKING] Changed `native_account::remove_asset` to return the asset value remaining in the vault instead of the removed value ([#2626](https://github.com/0xMiden/protocol/pull/2626)).
- Implement `TransactionEventId::event_name` and `Host::resolve_event` for better VM diagnostics during even handler failures ([#2628](https://github.com/0xMiden/protocol/pull/2628)).
- Added `FixedWidthString` for fixed-width UTF-8 string storage in `miden-standards` (`miden::standards::utils::string`). ([#2633](https://github.com/0xMiden/protocol/pull/2633))
- Added metadata hash storage to AggLayer faucet and FPI retrieval during bridge-out leaf construction ([#2583](https://github.com/0xMiden/protocol/pull/2583)).


### Changes

- Migrated to miden-vm v0.22 and miden-crypto v0.23 ([#2644](https://github.com/0xMiden/protocol/pull/2644)).
- [BREAKING] Renamed `AccountComponent::get_procedures()` to `procedures()`, returning `impl Iterator<Item = (AccountProcedureRoot, bool)>` ([#2597](https://github.com/0xMiden/protocol/pull/2597)).
- [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](https://github.com/0xMiden/protocol/pull/2577))
- [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](https://github.com/0xMiden/protocol/pull/2554)).
- [BREAKING] Migrated to miden-vm 0.21 and miden-crypto 0.22 ([#2508](https://github.com/0xMiden/miden-base/pull/2508)).
- [BREAKING] The stack orientation changed from big-endian to little-endian - see PR description ([#2508](https://github.com/0xMiden/miden-base/pull/2508)).
- [BREAKING] The native hash function changed from RPO256 to Poseidon2 - see PR description ([#2508](https://github.com/0xMiden/miden-base/pull/2508)).
- Introduced `StorageMapKey` and `StorageMapKeyHash` Word wrappers for type-safe storage map key handling ([#2431](https://github.com/0xMiden/miden-base/pull/2431)).
- Restructured `miden-agglayer/asm` directory to separate bridge and faucet into per-component libraries, preventing cross-component procedure exposure ([#2294](https://github.com/0xMiden/miden-base/issues/2294)).
- Prefixed standard account component names with `miden::standards::components` ([#2400](https://github.com/0xMiden/miden-base/pull/2400)).
- Made kernel procedure offset constants public and replaced accessor procedures with direct constant usage ([#2375](https://github.com/0xMiden/miden-base/pull/2375)).
- [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](https://github.com/0xMiden/miden-base/pull/2373), [#2395](https://github.com/0xMiden/miden-base/pull/2395)).
- Fixed MASM inline comment casing to adhere to commenting conventions ([#2398](https://github.com/0xMiden/miden-base/pull/2398)).
- [BREAKING] Removed `ProvenTransactionBuilder` in favor of `ProvenTransaction::new()` constructor ([#2567](https://github.com/0xMiden/miden-base/pull/2567)).
- Removed redundant note storage item count from advice map ([#2376](https://github.com/0xMiden/miden-base/pull/2376)).
- Moved `NoteExecutionHint` to `miden-standards` ([#2378](https://github.com/0xMiden/miden-base/pull/2378)).
- Added `miden::protocol::auth` module with public auth event constants ([#2377](https://github.com/0xMiden/miden-base/pull/2377)).
Expand All @@ -45,13 +81,40 @@
- [BREAKING] Updated note tag length to support up to 32 bits ([#2329](https://github.com/0xMiden/miden-base/pull/2329)).
- [BREAKING] Moved standard note code into individual note modules ([#2363](https://github.com/0xMiden/miden-base/pull/2363)).
- [BREAKING] Added `miden::standards::note_tag` module for account target note tags ([#2366](https://github.com/0xMiden/miden-base/pull/2366)).
- [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](https://github.com/0xMiden/miden-base/pull/2396), [#2410](https://github.com/0xMiden/miden-base/pull/2410)).
- [BREAKING] Rename `miden::protocol::asset::build_fungible_asset` to `miden::protocol::asset::create_fungible_asset` ([#2410](https://github.com/0xMiden/miden-base/pull/2410)).
- [BREAKING] Rename `miden::protocol::asset::build_non_fungible_asset` to `miden::protocol::asset::create_non_fungible_asset` ([#2410](https://github.com/0xMiden/miden-base/pull/2410)).
- [BREAKING] Change the layout of fungible and non-fungible assets ([#2437](https://github.com/0xMiden/miden-base/pull/2437)).
- [BREAKING] Refactored assets in the tx kernel from one to two words, i.e. `ASSET` becomes `ASSET_KEY` and `ASSET_VALUE` ([#2396](https://github.com/0xMiden/miden-base/pull/2396)).
- Unified the underlying representation of `ExitRoot` and `SmtNode` and use type aliases ([#2387](https://github.com/0xMiden/miden-base/pull/2387)).
- [BREAKING] Moved padding to the end of `CLAIM` `NoteStorage` layout ([#2405](https://github.com/0xMiden/miden-base/pull/2405)).
- [BREAKING] Consolidated authentication components ([#2390] (https://github.com/0xMiden/miden-base/pull/2390))
- [BREAKING] Refactored account ID and nonce memory and advice stack layout ([#2442](https://github.com/0xMiden/miden-base/pull/2442)).
- [BREAKING] Removed `hash_account` ([#2442](https://github.com/0xMiden/miden-base/pull/2442)).
- [BREAKING] Renamed `AccountHeader::commitment`, `Account::commitment` and `PartialAccount::commitment` to `to_commitment` ([#2442](https://github.com/0xMiden/miden-base/pull/2442)).
- [BREAKING] Remove `BlockSigner` trait ([#2447](https://github.com/0xMiden/miden-base/pull/2447)).
- Updated account schema commitment construction to accept borrowed schema iterators; added extension trait to enable `AccountBuilder::with_schema_commitment()` helper ([#2419](https://github.com/0xMiden/miden-base/pull/2419)).
- Introducing a dedicated AccountIdKey type to unify and centralize all AccountId → SMT and advice-map key conversions ([#2495](https://github.com/0xMiden/miden-base/pull/2495)).
- [BREAKING] Renamed `SchemaTypeId` to `SchemaType` ([#2494](https://github.com/0xMiden/miden-base/pull/2494)).
- Updated stale `miden-base` references to `protocol` across docs, READMEs, code comments, and Cargo.toml repository URL ([#2503](https://github.com/0xMiden/protocol/pull/2503)).
- [BREAKING] Reverse the order of the transaction summary on the stack ([#2512](https://github.com/0xMiden/miden-base/pull/2512)).
- [BREAKING] Use `@auth_script` MASM attribute instead of `auth_` prefix to identify authentication procedures in account components ([#2534](https://github.com/0xMiden/protocol/pull/2534)).
- [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`.
- Added Ownable2Step as an Account Component ([#2572](https://github.com/0xMiden/protocol/pull/2572))
- [BREAKING] Introduced `PrivateNoteHeader` for output notes and removed `RawOutputNote::Header` variant ([#2569](https://github.com/0xMiden/protocol/pull/2569)).
- [BREAKING] Changed `asset::create_fungible_asset` and `faucet::create_fungible_asset` signature to take `enable_callbacks` flag ([#2571](https://github.com/0xMiden/protocol/pull/2571)).
- [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](https://github.com/0xMiden/protocol/issues/2464)).
- Moved `AccountSchemaCommitment` component into a sub-module ([#2603](https://github.com/0xMiden/protocol/pull/2603)).
- [BREAKING] `AssetVault::remove_asset` returns the asset value remaining in the vault `Option<Asset>` rather than the removed value `Asset` ([#2626](https://github.com/0xMiden/protocol/pull/2626)).
- [BREAKING] `miden::protocol::faucet::burn` no longer returns the burnt asset value ([#2626](https://github.com/0xMiden/protocol/pull/2626)).
- Fixed overlap in initial and active account storage slot memory region ([#2557](https://github.com/0xMiden/protocol/pull/2557)).
- Fixed link map entry pointer validation bypass ([#2556](https://github.com/0xMiden/protocol/pull/2556)).
- Added foreign account ID assertion in `account::load_foreign_account` ([#2560](https://github.com/0xMiden/protocol/pull/2560)).

### Fixes

- Fixed `PartialAccountTree::track_account` rejecting provably-empty leaves in sparse trees by handling `SmtLeaf::Empty` correctly ([#2598](https://github.com/0xMiden/protocol/pull/2598)).

## 0.13.3 (2026-01-27)

Expand Down
Loading
Loading