Skip to content

Tracking PR for v0.23.0 release#2878

Draft
bobbinth wants to merge 228 commits intomainfrom
next
Draft

Tracking PR for v0.23.0 release#2878
bobbinth wants to merge 228 commits intomainfrom
next

Conversation

@bobbinth
Copy link
Copy Markdown
Contributor

This is a tracking PR for v0.23.0 release

crazywriter1 and others added 30 commits March 18, 2026 16:10
* Memoize semantic constant evaluation and stabilize shared-subexpression regression test

* chore: Changelog

* Replace timeout-based const-eval regression test with deterministic memoization assertions
…in Meta::from_iter (#2870)

Co-authored-by: crazywriter1 <crazywriter1@users.noreply.github.com>
Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com>
chore(processor): remove `NodeEndFlags` from `NodeEndData`
…hs-deserialization

Fix quote-equivalent path ambiguity in linking and library deserialization
* Treat serialized libraries as untrusted MAST forests

* Tighten spoofed digest regression assertions

* chore: Changelog

* Add unchecked library deserialization path
Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com>
)

* test(processor): cover nested loop end flags across fragmentation

* test: document trace clock-by-clock
…ation in define_enum (#2887)

* fix(assembly-syntax): validate C-like enums by removing early return in define_enum

* chore: add changelog entry for C-like enum fix

---------

Co-authored-by: crazywriter1 <crazywriter1@users.noreply.github.com>
Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com>
)

* fix(processor): DYNCALL stack-depth off-by-one and overflow-addr fixes (#2813)

- Fix DYNCALL stack-depth off-by-one at MIN_STACK_DEPTH
- Correct DYNCALL overflow-addr in serial ExecutionTracer
- Add regression tests for MIN_STACK_DEPTH and multiple overflow entries
- Assert exact T1 clock in overflow-addr regression test
- Fix clippy/rustfmt issues in tests

* style: fix nightly rustfmt in DYNCALL overflow-addr regression test

* style: fix CHANGELOG section casing to match existing convention (Bug Fixes not Bug fixes)

* fix(test): use infallible Felt constants in DYNCALL tests

---------

Co-authored-by: amathxbt <amathxbt@users.noreply.github.com>
Co-authored-by: François Garillot <francois@garillot.net>
Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com>
…2830) (#2942)

Replace the O(V*E) Kahn's algorithm implementation in CallGraph with a proper
O(V+E) version:

- Pre-compute in-degree map instead of rescanning all edges via
  num_predecessors() on each edge removal
- Eliminate graph clone in toposort() by tracking in-degrees rather than
  destructively removing edges
- Eliminate graph clone in toposort_caller() using the same technique
- Build reverse adjacency map in reverse_reachable() instead of scanning
  all edges per BFS step
- Use BTreeSet for cycle detection instead of Vec::contains()

Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com>
* docs: clarify mmr get absent leaf behavior

* docs: document mmr get bounds in source

* fix: enforce MMR leaf position bounds

---------

Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com>
* Bound live advice map resources

Enforce advice map value and aggregate element limits in AdviceProvider, including initial advice inputs and host map extensions.

Make FastProcessor advice/options setup fallible so ExecutionOptions governs live advice state, and update call sites to handle validation errors.

Convert the advice-map growth repros into desired-behavior tests for provider mutations and system-event insertions.

* chore: Changelog

* fix(processor): update fast decorator advice setup test

* docs: document advice map limit ownership

* fix(processor): update trace test advice setup
Co-authored-by: krushimir <189111540+krushimir@users.noreply.github.com>
bitwalker and others added 13 commits May 5, 2026 11:11
* Require acquiring a lock on the index file handle in order to
  read/write the index. This protects against simultaneous writes
  of the index from multiple instances of the `miden-registry` process.
* Do not update the in-memory registry index until the package artifact
  has been written to the local package store. This protects against
  the index and the store getting out of sync due to an error writing
  the artifact.
Store local artifacts with package-qualified names, while still loading legacy digest-only artifacts when they match the requested package.

Use the same validated legacy fallback for package summaries, loading, and public artifact path lookup.
Use the package cache for dependency artifacts instead of publishing them.

Repair unreadable exact cache entries, skip cache writes on semantic version collisions, and avoid repairing exact artifacts that are already readable.

Closes #2946.
Reject duplicate publishes before artifact writes, perform publish and cache writes under the index lock, and roll back staged index updates when writes fail.
Re-read cache artifacts while holding the index lock before repair writes.

Check validated legacy artifacts before writing or replacing package-qualified cache artifacts, including corrupt qualified artifacts.
…ersistence

Fix local registry persistence
* update smt with domain separation

* hash_words reuse, remove useless comments

* further simplify comments

* build docs

* Finalize miden-crypto 0.25.0 integration

* Use released midenc-hir-type 0.6.1

* Update changelog PR reference

* Fix hash_words docs word count

* Fix merge_in_domain docs order

---------

Co-authored-by: Grzegorz Świrski <grzegorz@swirski.name>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.