Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
431 commits
Select commit Hold shift + click to select a range
bcdd4f3
fix: operands order in `le` and `lt` Felt op bindings
greenhat Jan 16, 2026
7f0ba02
Merge pull request #882 from 0xMiden/i868-lt-gt-felt-ops-fix
greenhat Jan 16, 2026
c4c57ec
feat: include both test registration and declaration inside a single …
lima-limon-inc Jan 15, 2026
06db878
feat: add #[test] attribute to tests function and rely on the standar…
lima-limon-inc Jan 16, 2026
fd8cce2
feta: remove #![no_std] marker from the test-harness-lib
lima-limon-inc Jan 16, 2026
dcb46b6
Revert "feta: remove #![no_std] marker from the test-harness-lib"
lima-limon-inc Jan 16, 2026
748396f
feat: add build_package to compile Package
lima-limon-inc Jan 16, 2026
fbc2015
feat: add a build_package function in the test harness' "prelude"
lima-limon-inc Jan 16, 2026
499407c
feat: use a OnceLock to save the generated Package's bytes
lima-limon-inc Jan 16, 2026
cb0d95c
feat: mark bar test as should panic
lima-limon-inc Jan 19, 2026
2b870bc
Update `MAX_INPUTS`
mooori Jan 19, 2026
5d6164b
Update generated wat, hir, and masm
mooori Jan 19, 2026
a983453
Merge branch 'next' into fabrizioorsi/custom-test-harness
lima-limon-inc Jan 19, 2026
4c324e7
feat: re-export BuildCommand::exec
lima-limon-inc Jan 19, 2026
122c463
feat: conditionally include libtest dependencies to non wasm target
lima-limon-inc Jan 19, 2026
f2a49f4
Merge pull request #887 from 0xMiden/mooori/sdk-get-inputs-1024
greenhat Jan 20, 2026
3c92363
test: minimal test(red) to reproduce #831
greenhat Jan 8, 2026
ef12821
fix(solver): reject deeper than 16 element window solutions, update l…
greenhat Jan 14, 2026
bdf9ed3
fix: avoid unsupported stack access in `Linear`
greenhat Jan 15, 2026
f2c0d81
fix: reject unsupported solutions without skipping fuel
greenhat Jan 15, 2026
6319129
refactor: use `MASM_STACK_WINDOW_FELTS` constant
greenhat Jan 15, 2026
cd15b59
chore: clarify MASM stack window terminology
greenhat Jan 15, 2026
2d8174c
fix: base `Linear` special-case on felt depth
greenhat Jan 15, 2026
08c3b05
refactor: extract `Linear` pre-move helper
greenhat Jan 15, 2026
477a134
chore: clarify `Linear` regression test invariant
greenhat Jan 15, 2026
dfdae60
chore: update #831 regression test wording
greenhat Jan 15, 2026
7ba9de6
fix: import `MASM_STACK_WINDOW_FELTS` in `Linear`
greenhat Jan 15, 2026
d42938f
chore: run rustfmt
greenhat Jan 15, 2026
0dc7171
chore: add "executable documentation" tests in Linear tactic
greenhat Jan 15, 2026
acfffc8
refactor: rename test to point to #872
greenhat Jan 16, 2026
c169088
chore: add test for 4 words + 1 felt function call (words are passed …
greenhat Jan 16, 2026
aa4ca51
chore: update expected files after the rebase
greenhat Jan 20, 2026
028478d
refactor: extract `LinearStackWindow` tactic as a wrapper around
greenhat Jan 20, 2026
e9899c4
refactor: move `LinearStackWindow` tests to solver tests module
greenhat Jan 20, 2026
de23bc6
test: move linear tactic proptest to solver to allow the fallback to
greenhat Jan 20, 2026
76e9cca
fix: increase the default fuel amount in the solver to 40
greenhat Jan 20, 2026
2322424
refactor: register functions and add wrapper function
lima-limon-inc Jan 19, 2026
d47e4d7
feat: use a single cfg_if! in the main function instead of multiple cfgs
lima-limon-inc Jan 19, 2026
f18b1df
review: move harness code to tests/examples
lima-limon-inc Jan 19, 2026
25327a1
review: move spawn_cargo to tools/cargo-miden/src/utils.rs
lima-limon-inc Jan 20, 2026
446d470
review: remove unneeded `cargo test` flags
lima-limon-inc Jan 20, 2026
29aa247
fix: maintain all function attributes in the original test function
lima-limon-inc Jan 20, 2026
ad82245
fix: publish = false in test harness
lima-limon-inc Jan 20, 2026
621c4b8
feat: add documentation
lima-limon-inc Jan 20, 2026
d8ae4ac
fix: cargo miden test no longer hangs
lima-limon-inc Jan 20, 2026
c428f61
fix: generalize `LinearStackWindow` copy materialization
greenhat Jan 21, 2026
e8cd7ec
fix: exhaust tactics before stopping on `fuel`
greenhat Jan 21, 2026
b2a6dff
test: add `LinearStackWindow` tests
greenhat Jan 21, 2026
3da4982
Merge pull request #817 from lambdaclass/fabrizioorsi/custom-test-har…
bitwalker Jan 23, 2026
88d274f
Add `Word::from_u64_unchecked`
mooori Jan 23, 2026
f986eca
fix: use `Drop` instead of `DropW` for remainder in `truncate_stack`
VolodymyrBg Jan 24, 2026
7d2b388
chore: add targeted trace logs for `LinearStackWindow`
greenhat Jan 26, 2026
9ffe363
Merge pull request #884 from 0xMiden/i831-invalid-stack-offset-16-3-2
greenhat Jan 26, 2026
2889d03
Merge remote-tracking branch 'origin/next' into mooori/sdk-word-const…
mooori Jan 26, 2026
830185c
test: remove the workaround for word reverse, `i64.rotl` is back
greenhat Jan 16, 2026
a60f888
feature: rework `split` and `join` to work on all integer types,
greenhat Jan 20, 2026
e1aadcd
fix: relax `OperandStack::rename` to allow >16 deep indices
greenhat Jan 20, 2026
9ba245f
fix: spill the block args if > K(16)
greenhat Jan 20, 2026
417a1c1
chore: update expected files
greenhat Jan 20, 2026
9bd31ef
fix: preserve `ProgramPoint` in `is_spilled_at`/`is_reloaded_at`
greenhat Jan 21, 2026
aa1946a
fix: deduplicate `SpillAnalysis` spills and reloads
greenhat Jan 21, 2026
8672a5b
test: cover over-K entry args in `SpillAnalysis`
greenhat Jan 21, 2026
e79dbdf
refactor: remove redundant `is_spilled_at` checks
greenhat Jan 21, 2026
fe2c210
refactor: index `SpillAnalysis` spill/reload dedup
greenhat Jan 21, 2026
aff56ee
fix: prefer destination placement for structured spills
greenhat Jan 21, 2026
f7669d5
refactor: hoist `Symbol::intern` in rotate canonicalization
greenhat Jan 21, 2026
dd221cc
fix: handle over-K `scf.yield` in `SpillAnalysis`
greenhat Jan 21, 2026
dfcc7a8
test: cover `arith.rotl`/`arith.rotr` by 32 canonicalization
greenhat Jan 21, 2026
d9db002
chore: update `auth_component_rpo_falcon512` expected files
greenhat Jan 21, 2026
de76bbf
feat: support variadic limbs in `arith.split`/`arith.join`
greenhat Jan 22, 2026
add6d3e
refactor: harden spill analysis accounting
greenhat Jan 22, 2026
ec4220e
refactor: remove `SpillAnalysis` `spills_mut`/`reloads_mut`
greenhat Jan 22, 2026
6832a0f
refactor: add `join2`/`join4` and `split2`/`split4` helpers
greenhat Jan 22, 2026
72dc3cf
chore: document `arith` canonicalization module
greenhat Jan 22, 2026
be73fcf
refactor: extract over-K spill helper
greenhat Jan 22, 2026
5b868a6
fix: avoid unused over-K usage assignments
greenhat Jan 22, 2026
1c82158
fix: remove unused `mut` in spill usage
greenhat Jan 22, 2026
10f6741
chore: fix comment
greenhat Jan 26, 2026
3137b1f
Merge pull request #888 from 0xMiden/i596-i64-rotl-rewrite-pass
greenhat Jan 27, 2026
9dbf504
feature: add `#[note]` and `#[entrypoint]` macros #845
greenhat Jan 21, 2026
4dc8c70
fix: require `#[entrypoint]` to consume `self`
greenhat Jan 21, 2026
fb3d588
refactor: unique struct name for `impl Guest`
greenhat Jan 21, 2026
6d66056
chore: add error for `mut self` in the note's entrypoint
greenhat Jan 21, 2026
e98626e
fix: improve `note`/`entrypoint` macro validation
greenhat Jan 22, 2026
9ae569b
fix: require `#[entrypoint]` for `#[note]` scripts
greenhat Jan 22, 2026
ec7c258
fix: remove legacy `#[note_script]` macro from SDK
greenhat Jan 22, 2026
1a674d5
refactor: use precise import in P2ID note
greenhat Jan 22, 2026
e28cd3f
chore: switch contract template repo to v0.25.0 (`#[note]` +` `#[entr…
greenhat Jan 22, 2026
def1f39
fix: validate `#[entrypoint]` method signature
greenhat Jan 22, 2026
8afe295
refactor: extract `expand_guest_wrapper` helper
greenhat Jan 22, 2026
0a6b5c7
fix: validate `build_entrypoint_call_args` index
greenhat Jan 23, 2026
f9bc7d0
fix: improve `#[entrypoint]` misuse diagnostics
greenhat Jan 23, 2026
1ae7abd
chore: run rustfmt
greenhat Jan 23, 2026
8241ef3
chore: remove unused `entrypoint` in the p2id note
greenhat Jan 23, 2026
97c32b8
fix: make LSP to build the contract code for miden target #893
greenhat Jan 23, 2026
b97ca62
chore: fix docs, add comment
greenhat Jan 23, 2026
0b36f0b
refactor: rename `#[entrypoint]` attribute macro to `#[note_script]`
greenhat Jan 27, 2026
b09a691
Use `Word::from_u64_unchecked` in more places
mooori Jan 27, 2026
f74af26
Merge remote-tracking branch 'origin/next' into mooori/sdk-word-const…
mooori Jan 27, 2026
e8aa3d6
Merge pull request #897 from VolodymyrBg/fix/truncate-stack-drop-inst…
bitwalker Jan 27, 2026
b9a48e9
debuginfo: Use effective spans on ub.unreachable
djolertrk Jan 23, 2026
6e14a76
Merge pull request #895 from walnuthq/feature/improve-source-loc-cove…
bitwalker Jan 28, 2026
0b62491
Use 4 args instead of array
mooori Jan 28, 2026
4d79820
Add `#[inline(always)]`
mooori Jan 28, 2026
6c4dd9e
Use `unchecked` constructor in bindings for `(0, 0, 0, 0)`
mooori Jan 28, 2026
cbe4b62
Merge remote-tracking branch 'origin/next' into mooori/sdk-word-const…
mooori Jan 28, 2026
fbf40d4
feat(sdk)!: assert `value <= Felt::M` in `Felt::from_u64_unchecked` (…
mooori Jan 28, 2026
63ef6d0
Merge pull request #890 from 0xMiden/i845-note-struct-entrypoint
bitwalker Jan 28, 2026
39fd920
Merge remote-tracking branch 'origin/next' into mooori/sdk-word-const…
mooori Jan 29, 2026
b6938f6
Merge pull request #894 from 0xMiden/mooori/sdk-word-constructor
mooori Jan 29, 2026
0c6d302
fix: use arena allocation for keyed successor keys
GarmashAlex Jan 29, 2026
d8f7d70
Merge pull request #903 from GarmashAlex/fix/keyed-successor-memory-leak
bitwalker Jan 30, 2026
215ed73
doc: update outdated references to hold *EntityHandle types
bitwalker Jan 30, 2026
e09b0d4
test: clean up lit/filecheck tests, run them in ci
bitwalker Jan 30, 2026
d087a18
fix(hir): correct `ExactSizeIterator::len()` for SymbolNameComponents
sashass1315 Feb 1, 2026
b45224a
chore: migrate to VM v0.20
greenhat Jan 27, 2026
5c0ceeb
refactor: remove unused MODULE_ID
greenhat Jan 28, 2026
f9ca53c
fix: path (add `protocol`) in the frontend tx kernel bindings
greenhat Jan 28, 2026
d26d874
fix: upto linker
greenhat Jan 29, 2026
a08629e
fix: migrate to named storage slots
greenhat Jan 30, 2026
6a91caa
fix: drop `miden-protocol` from `miden-base*`
greenhat Jan 30, 2026
9cd8a7d
chore: remove `slot(x)` in storage macro, update expected
greenhat Jan 30, 2026
4e2e3fa
fix: prefix `miden::core` symbols with `::`
greenhat Jan 30, 2026
6679b92
chore: formatting
greenhat Jan 30, 2026
b232e9d
fix: convert `::` in the function name to the double underscore.
greenhat Jan 30, 2026
22c77d2
fix: don't drop the ptr in the `get_inputs` mock
greenhat Jan 30, 2026
9f16bdf
chore: update expected
greenhat Jan 30, 2026
2123519
fix: convert the rest of the `std` to `miden::core` in the bindings
greenhat Jan 30, 2026
ef75fa6
fix: sanitize a Wasm CM full path as a function name.
greenhat Jan 30, 2026
d182f8f
fix: prepend `::` for missed symbols in emit::int64 module
greenhat Jan 30, 2026
d6ab625
chore: update expected, formatting
greenhat Jan 30, 2026
c6714d9
chore: update bindings test to use StorageSlotId
greenhat Jan 30, 2026
b178fc2
chore: update expected export function names in cross_ctx tests
greenhat Jan 30, 2026
b8c91ea
chore: ignore `auth_component_rpo_falcon512` test until #904 is resolved
greenhat Jan 30, 2026
8ac1e0f
fix: `std` -> `miden::core` rename in stdlib
greenhat Feb 1, 2026
3d49e9e
test: enable debug in rust_source_with_sdk test project constructor
greenhat Feb 1, 2026
cb76cd1
fix: rename stdlib `hash_memory` and `hash_memory_words` to `hash_ele…
greenhat Feb 1, 2026
45f7b5b
fix: rename stdlb `hashes::rpo` to `hashes::rpo256`, symbols cleanup
greenhat Feb 1, 2026
d7bd159
chore: remove expected tests in `get_inputs` tests
greenhat Feb 1, 2026
e5beb88
fix: rename stdlib SHA256 `hash_1to1` to `hash` and `hash_2to1` to `m…
greenhat Feb 1, 2026
63652ff
fix: rename stdlib Blake3 `hash_1to1` to `hash` and `hash_2to1` to `m…
greenhat Feb 1, 2026
715659d
fix: remove name sanitizing in the codegen, use quoted symbols,
greenhat Feb 2, 2026
4f46562
fix: missing `note` re-export after rebase, update expected
greenhat Feb 2, 2026
67a8d3b
chore: switch to released miden-debug and miden-client
greenhat Feb 2, 2026
9d7c743
chore: remove `integration-node` remnants
greenhat Feb 2, 2026
5d1b22e
fix: updated protocol v0.13 bindings output_note::create(tag, note_ty…
greenhat Feb 2, 2026
dad8f53
test: add compilation tests for the new `set*_attachment` bindings
greenhat Feb 2, 2026
1882d6a
fix: reject deprecated `#[storage(slot(...))]`
greenhat Feb 2, 2026
0e5eb88
fix: detect storage slot name collisions
greenhat Feb 2, 2026
b3db7b0
Merge pull request #906 from sashass1315/fix/symbol-name-components-len
bitwalker Feb 2, 2026
de4464c
refactor: add `StorageSlotId` host-order helpers
greenhat Feb 2, 2026
18ac333
fix: skip core modules in `MasmComponent` display
greenhat Feb 2, 2026
dcbb660
chore: remove unused debug-mode plumbing
greenhat Feb 2, 2026
5256276
chore: remove stale `miden_lib` import
greenhat Feb 2, 2026
fae23aa
chore: remove outdated storage-slot comment
greenhat Feb 2, 2026
8fe39bd
test: derive storage slot ids in rust-sdk binding tests
greenhat Feb 2, 2026
ccdb563
Merge pull request #905 from 0xMiden/bitwalker/lit-tests
bitwalker Feb 2, 2026
bb14028
fix(hir): handle ZST correctly in `Arena::extend`
sashass1315 Feb 3, 2026
062673d
fix: rename stdlib's `rpo_falcon512` module to `falcon512_rpo`
greenhat Feb 3, 2026
3b948fd
chore: remove `intrinsics::mem::heap_base` special treatment for inli…
greenhat Feb 3, 2026
dc6c6be
refactor: better error handling, use `LibraryPath::push_component` in
greenhat Feb 3, 2026
90fc93b
chore: fix doc strings, clean up comments
greenhat Feb 3, 2026
03b6615
test(sdk): set up negative lit tests for macro expansion
mooori Feb 2, 2026
ffe9a14
refactor: rename `miden-felt-*` crates to `miden-field-*`
greenhat Feb 3, 2026
3305882
chore: remove `cargo miden example` command
greenhat Feb 3, 2026
376bf0e
Merge pull request #907 from 0xMiden/i899-migrate-vm-v0.20-storage
bitwalker Feb 4, 2026
7856355
Merge pull request #913 from 0xMiden/i910-rename-miden-field
bitwalker Feb 4, 2026
dec6f07
Merge pull request #914 from 0xMiden/i857-remove-miden-example
bitwalker Feb 4, 2026
49214a0
Merge pull request #911 from sashass1315/fix/arena-zst-extend
bitwalker Feb 4, 2026
2504dd9
fix(driver): broken -Z/-C option handling
bitwalker Feb 2, 2026
b735926
feat(driver): support ir filters for printing
bitwalker Feb 2, 2026
d3bdf9a
fix(analysis): ensure domtree has dfs numbers on creation
bitwalker Feb 2, 2026
98e481b
fix(analysis): aliasing violation in sparse forward dataflow
bitwalker Feb 2, 2026
9aa041b
wip(compile): move spills transform before scf lifting
bitwalker Feb 2, 2026
bff255f
fix: use `core::mem::memcopy_elements` in `memcpy` codegen for per-by…
greenhat Feb 4, 2026
9ad6edf
Merge remote-tracking branch 'origin/next' into mooori/component-macr…
mooori Feb 4, 2026
1a8f388
test: force re-allocation in the `test_vec_realloc_copies_data_issue_…
greenhat Feb 4, 2026
e1da3ce
chore: bump all SDK crates versions to 0.9.0
greenhat Feb 4, 2026
545b761
chore: update SDK CHANGELOG.md
greenhat Feb 4, 2026
068766e
chore: fix duplicate items in CHANGELOG.md
greenhat Feb 4, 2026
5eb1b1c
chore: link the example of the new `#[note]` in the SDK CHANGELOG.md
greenhat Feb 4, 2026
7f372bb
Merge pull request #916 from 0xMiden/release-plz-2026-02-04-sdk
greenhat Feb 4, 2026
761a961
chore: update new project and new contract templates git tags
greenhat Feb 4, 2026
d3bf2d5
feat(sdk): check storage field types during macro expansion
mooori Feb 4, 2026
aa8ebd5
Merge remote-tracking branch 'origin/next' into mooori/component-macr…
mooori Feb 4, 2026
0ba20c4
Merge remote-tracking branch 'origin/next' into mooori/lit-negative-m…
mooori Feb 4, 2026
a52b331
chore: ignore Cargo.lock of sdk lit test project
mooori Feb 4, 2026
84cda42
Merge branch 'mooori/lit-negative-macro' into mooori/component-macro-…
mooori Feb 4, 2026
7f6d910
docs: mention limitations of the check
mooori Feb 4, 2026
25a98e2
chore: capture an error line number for filecheck
mooori Feb 5, 2026
d2f1d4b
chore(filecheck): capture line number of error
mooori Feb 5, 2026
7302943
chore(filecheck): capture error line number
mooori Feb 5, 2026
2f2aaea
Merge pull request #917 from 0xMiden/update-new-templates-v0.7
greenhat Feb 5, 2026
8bb714d
Merge pull request #915 from 0xMiden/i811-memcpy-felts
greenhat Feb 5, 2026
602114b
chore: update the CONTRIBUTING.md with detailed release process
greenhat Feb 5, 2026
4abeb7d
Merge remote-tracking branch 'origin/next' into mooori/component-macr…
mooori Feb 5, 2026
34f721c
refactor: make all storage field typechecks go through same fn
mooori Feb 5, 2026
d1f7c46
Merge remote-tracking branch 'origin/next' into mooori/lit-negative-m…
mooori Feb 5, 2026
b53bcd9
Merge branch 'mooori/lit-negative-macro' into mooori/component-macro-…
mooori Feb 5, 2026
ab19a53
Merge pull request #919 from 0xMiden/greenhat-add-templates-to-contrib
bitwalker Feb 5, 2026
91be2d8
Merge pull request #908 from 0xMiden/mooori/lit-negative-macro
bitwalker Feb 5, 2026
e34321e
fix(hir): prevent duplicate entries in PreservedAnalyses
sashass1315 Feb 5, 2026
5842f21
update `PreservedAnalyses::insert` to overwrite on duplicate
sashass1315 Feb 6, 2026
e7655cd
Merge pull request #918 from 0xMiden/mooori/component-macro-fields
greenhat Feb 6, 2026
8171ef1
Merge pull request #920 from sashass1315/fix/preserved-analyses-dupli…
bitwalker Feb 7, 2026
78e739e
Update README.md
autumncrypto Feb 7, 2026
1f9c1c2
feat: improving compiler tracing infrastructure
bitwalker Feb 8, 2026
11eb196
fix(codegen): implement lowering for load/store of pointer values
bitwalker Feb 8, 2026
680880e
fix: aliasing violations found while trying different pass orderings
bitwalker Feb 8, 2026
eba2177
fix: old empty blocks left in scf.while after while-unused-result
bitwalker Feb 8, 2026
baa1e90
fix: uniqued constants left untracked after inserted by op folder
bitwalker Feb 8, 2026
e34c2e8
doc: correct documentation for notify_block_inserted
bitwalker Feb 8, 2026
f849d6c
feat: surface has_ssa_dominance in region and domtree apis
bitwalker Feb 8, 2026
75f3f4a
feat: improve operation apis related to side effects
bitwalker Feb 8, 2026
3fc2316
feat: improve ergonomics of PostPassStatus
bitwalker Feb 8, 2026
4a859ff
chore: remove duplication in erase_block using block.erase()
bitwalker Feb 8, 2026
db408b4
feat(transform): implement common subexpression elimination pass
bitwalker Feb 8, 2026
8f8c03d
fix: incorrect block visitation order in spills transform
bitwalker Feb 8, 2026
24b3c93
wip: change pass order to improve quality of generated code
bitwalker Feb 8, 2026
a443d3e
wip: update expect tests
bitwalker Feb 8, 2026
3b74da6
Merge pull request #921 from autumncrypto/next
greenhat Feb 9, 2026
ca29f7f
chore: remove outdated/unused account test
bitwalker Feb 8, 2026
5fadd4d
fix: improve codegen quality of wasm-translated programs
bitwalker Feb 8, 2026
ddf4ff7
fix: reduce noise in spill pass instrumentation
bitwalker Feb 8, 2026
1e007a8
chore: update all expect tests after frontend changes
bitwalker Feb 8, 2026
0871adc
feat: implement basic mem2reg-style pass for locals
bitwalker Feb 8, 2026
d9f6e5f
docs(sdk): add more details to changelog
mooori Feb 10, 2026
60be93d
fix(examples): remove unused dependency
mooori Feb 10, 2026
8d4770d
fix: link name for `falcon512pro::verify` MASM procedure
greenhat Feb 10, 2026
e332c72
Merge pull request #929 from 0xMiden/greenhat/i924-fix-auth-comp
bitwalker Feb 10, 2026
3e8eacf
Merge pull request #927 from 0xMiden/mooori/docs-changelog-0.9
greenhat Feb 10, 2026
224c216
Merge pull request #928 from 0xMiden/mooori/rm-unused-dep
mooori Feb 10, 2026
2142fd1
fix(scf): printing of scf.while with no results
bitwalker Feb 8, 2026
5b12c6d
test(cse): add initial common subexpression elimination tests
bitwalker Feb 8, 2026
0d07d8c
test(local2reg): add local2reg tests
bitwalker Feb 8, 2026
161d9be
chore: fix license on midenc-log
bitwalker Feb 8, 2026
e3c5bb8
fix: publishing issue with workspace dev-dependencies
bitwalker Feb 10, 2026
45030eb
Merge pull request #922 from 0xMiden/bitwalker/codegen-fixes-and-impr…
bitwalker Feb 10, 2026
5ee6351
chore: install `cargo-nextest` with `--locked` option
greenhat Feb 11, 2026
23d0205
fix: SDK bindings for `*_note::get_metadata`
greenhat Feb 10, 2026
de4acca
test: add test for `get_metadata` ABI transformation (mock)
greenhat Feb 10, 2026
a29d215
test: push words in the mock in the expected order and remove redunda…
greenhat Feb 11, 2026
998c6bd
Merge pull request #935 from 0xMiden/ci-fix-cargo-nextest
greenhat Feb 11, 2026
9a9a025
fix: remove `miden::active_note::add_assets_to_account` because
greenhat Feb 11, 2026
603b313
chore: update CHANGELOG.md
greenhat Feb 11, 2026
c0acaa3
Merge pull request #932 from 0xMiden/i930-fix-bindings
greenhat Feb 11, 2026
1ce3e1c
chore: SDK v0.10 release
greenhat Feb 11, 2026
690fb2c
Merge pull request #937 from 0xMiden/release-plz-2026-02-11-sdk
greenhat Feb 11, 2026
9f97df0
chore: update new project git tags (with SDK v0.10)
greenhat Feb 11, 2026
0045963
Merge pull request #938 from 0xMiden/sdk-v010-templates
greenhat Feb 11, 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
  •  
  •  
  •  
63 changes: 46 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,14 @@ jobs:
cargo make check --tests
- name: Test
run: |
cargo make test -E 'not (package(miden-integration-tests) or package(miden-integration-node-tests) or package(cargo-miden))'
cargo make test -E 'not (package(miden-integration-tests) or package(midenc-integration-network-tests) or package(cargo-miden))'

check_release:
name: release checks
lit_tests:
name: midenc lit/filecheck tests
runs-on: ubuntu-latest
# We only want to run our lit tests if the unit tests pass, and that has the added
# benefit that we can re-use the cache from the unit test job
needs: [unit_tests]
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/cleanup-runner
Expand All @@ -128,25 +131,18 @@ jobs:
- name: Cache Cargo
uses: Swatinem/rust-cache@v2
with:
# NOTE: We use a different cache for the these release checks
shared-key: ${{ github.workflow }}-shared-release-checks
# NOTE: We use a different cache for the tests, so they can be run in parallel, but we
# also share the cache for the tests for efficiency
shared-key: ${{ github.workflow }}-shared-tests
prefix-key: ${{ env.RUST_CACHE_KEY }}
save-if: ${{ github.ref == 'refs/heads/next' }}
- name: Install cargo-make
run: |
if ! cargo make --version 2>/dev/null; then
cargo install cargo-make --force
fi
- name: Check(release)
# We run `check` with `--release` to check the release build (without
# `debug_assertions`, etc.)
run: |
cargo make check --release --tests
- name: Check each member (release)
# To uncover any compilation errors hidden by the workspace feature
# unification and avoid surprises on publishing the crates.
- name: Test
run: |
cargo make check-each --release --all-features
cargo make test-lit

midenc_integration_tests:
name: midenc integration tests
Expand Down Expand Up @@ -294,7 +290,7 @@ jobs:
fi
- name: Test
run: |
cargo make test -E 'test(test_all_templates_and_examples)'
cargo make test -E 'test(test_all_templates)'

miden_integration_node_tests:
name: miden integration node tests
Expand Down Expand Up @@ -323,7 +319,40 @@ jobs:
fi
- name: Test
run: |
cargo make test -E 'package(miden-integration-node-tests)'
cargo make test -E 'package(midenc-integration-network-tests)'

check_release:
name: release checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/cleanup-runner
- name: Install Rust
run: |
rustup update --no-self-update
rustc --version
- name: Cache Cargo
uses: Swatinem/rust-cache@v2
with:
# NOTE: We use a different cache for the these release checks
shared-key: ${{ github.workflow }}-shared-release-checks
prefix-key: ${{ env.RUST_CACHE_KEY }}
save-if: ${{ github.ref == 'refs/heads/next' }}
- name: Install cargo-make
run: |
if ! cargo make --version 2>/dev/null; then
cargo install cargo-make --force
fi
- name: Check(release)
# We run `check` with `--release` to check the release build (without
# `debug_assertions`, etc.)
run: |
cargo make check --release --tests
- name: Check each member (release)
# To uncover any compilation errors hidden by the workspace feature
# unification and avoid surprises on publishing the crates.
run: |
cargo make check-each --release --all-features

cargo_publish_dry_run:
name: cargo publish dry run
Expand Down
28 changes: 25 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,22 @@ jobs:

upload-artifacts:
name: upload pre-built midenc executable artifacts
runs-on: ubuntu-latest
needs: publish
if: ${{ github.repository_owner == '0xMiden' && needs.publish.outputs.releases_created == 'true' }}
permissions:
contents: write
id-token: write
attestations: write
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
target: [aarch64-apple-darwin, x86_64-unknown-linux-gnu]
exclude:
- os: macos-latest
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
target: aarch64-apple-darwin
runs-on: ${{ matrix.os }}
steps:
- *checkout
- *install-rust
Expand Down Expand Up @@ -91,16 +99,30 @@ jobs:
ARGS="--release --target ${{ matrix.target }}"
cargo make --profile production midenc ${ARGS}
cargo make --profile production cargo-miden ${ARGS}
- name: prepare artifacts
if: ${{ steps.midenc-release.outputs.release_tag != '' }}
run: |
set -e
mv bin/midenc midenc-${{ matrix.target }}
mv bin/cargo-miden cargo-miden-${{ matrix.target }}
- name: attest midenc
if: ${{ steps.midenc-release.outputs.release_tag != '' }}
uses: actions/attest-build-provenance@v3
with:
subject-path: midenc-${{ matrix.target }}
- name: attest cargo-miden
if: ${{ steps.midenc-release.outputs.release_tag != '' }}
uses: actions/attest-build-provenance@v3
with:
subject-path: cargo-miden-${{ matrix.target }}
- name: upload
if: ${{ steps.midenc-release.outputs.release_tag != '' }}
env:
RELEASE_TAG: ${{ steps.midenc-release.outputs.release_tag }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -e
mv bin/midenc midenc-${{ matrix.target }}
gh release upload ${RELEASE_TAG} midenc-${{ matrix.target }}
mv bin/cargo-miden cargo-miden-${{ matrix.target }}
gh release upload ${RELEASE_TAG} cargo-miden-${{ matrix.target }}

release:
Expand Down
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
target/
bin/midenc
bin/litcheck
bin/*
!bin/filecheck
!bin/lit
.crates.toml
.crates2.json

Expand Down
46 changes: 36 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,44 @@ TBD

## Release Process

### Release of the Miden Compiler

1. Merging to `main` will create a new release PR containing any unreleased changes.
2. Optional. Change the proposed crate version, CHANGELOG edits.
3. The release PR gets merged to `main` when we are ready to publish the release.
4. The crates are published to crates.io, a new git tag is created, as well as a GitHub release
5. A job is run to pre-build the executable for our supported targets and upload them to the created Github release.
6. Merge the `main` branch back to the `next` branch.

### Release of the Miden SDK crates
### 1. Release of the Miden SDK crates

1. Create a release PR against the `next` branch naming the branch with the `release-plz-` prefix (its important to use this prefix to trigger the crate publishing on CI in the later step).
2. Manually bump ALL the SDK crate versions and update the `sdk/sdk/CHANGELOG.md`
3. Review the changes in the release PR, and merge it into the `next` branch.
4. The CI will automatically run `release-plz release` after the release PR is merged to publish the new versions to crates.io.

### 2. Release of the Miden Compiler

1. Update the contract templates at https://github.com/0xMiden/project-template (see 2.1 below).
2. Update the new project template at https://github.com/0xMiden/project-template (see 2.2 below).
3. Merging to `main` will create a new release PR containing any unreleased changes.
4. Optional. Change the proposed crate version, CHANGELOG edits.
5. The release PR gets merged to `main` when we are ready to publish the release.
6. The crates are published to crates.io, a new git tag is created, as well as a GitHub release
7. A job is run to pre-build the executable for our supported targets and upload them to the created Github release.
8. Merge the `main` branch back to the `next` branch.

### 2.1. Updating the new contract templates

1. Bump the Miden SDK version in the Cargo.toml.
2. Migrate the code in lib.rs.
3. Create a git tag.
4. Make a PR in the compiler repo and set the new git tag (bump the current in `PROJECT_TEMPLATES_REPO_TAG` at tools/cargo-miden/src/commands/new_project.rs).
5. Run the compiler tests, if red then goto 2.

### 2.2. Updating the new project template

1. Bump the Miden SDK, `miden-client` versions in the Cargo.toml files, set the `cargo-miden` version to the `next` branch for now(after the compiler release it'd be the new version).
2. Migrate the code in the contracts, tests and the app.
3. Create a git tag.
4. Make a PR in the compiler repo and set the new git tag (bump the current in `MIDEN_PROJECT_TEMPLATE_REPO_TAG` at tools/cargo-miden/src/commands/new_project.rs).
5. Run the local repo tests, if red then goto 2.
6. Run the compiler tests, if red then goto 2.

### 3. After the Miden Compiler crates are published

1. Change the `cargo-miden` version to the newly published crate in the PR (created in 2.2.4) at https://github.com/0xMiden/project-template.
2. Re-set the same git tag (created in 2.2.3) to the new commit.
3. Merge the PR (created in 2.2.4).

Loading
Loading