Skip to content

Tracking PR for v0.23.0 release#803

Draft
bobbinth wants to merge 18 commits intomainfrom
next
Draft

Tracking PR for v0.23.0 release#803
bobbinth wants to merge 18 commits intomainfrom
next

Conversation

@bobbinth
Copy link
Contributor

This is a tracking PR for v0.23.0 release.

bobbinth and others added 18 commits January 27, 2026 18:44
Use +nightly for cargo-fuzz install/build/run to avoid stable toolchain -Z sanitizer failures in scheduled fuzz CI.
* fix: update goldilocks fuzz target to use p3-goldilocks

The goldilocks fuzz target was using p3-miden-goldilocks which is deprecated
and no longer has Deserializable trait support in miden-serde-utils.

This change updates the fuzz target to use p3-goldilocks instead, which
is the correct crate that implements the Serializable/Deserializable
traits in miden-serde-utils.

Fixes the fuzz CI failures seen in:
- fuzz miden-serde-utils (goldilocks)

* ci: run fuzz jobs sequentially to avoid resource contention

Add max-parallel: 1 to both fuzz job matrices to ensure each fuzz
target runs with full available resources. This prevents potential
failures due to memory/disk pressure when multiple fuzz builds run
concurrently on the same runner.

The tradeoff is longer total runtime, but since these are scheduled
daily runs (not PR blocking), reliability is more important than speed.
Add a workflow that generates Rust documentation on every push to
the next branch and publishes it to GitHub Pages.

Co-authored-by: Bobbin Threadbare <43513081+bobbinth@users.noreply.github.com>
#817)

- Add --no-deps flag to only document workspace crates
- Clean target/doc before generating to remove stale dependency docs
- Use --enable-index-page -Zunstable-options to generate workspace index
Renames the `value` field and related methods in `NodeIndex` to
`position` for improved clarity, as the value represents the
horizontal position within a tree level rather than an arbitrary value.

Changes:
- NodeIndex::value() -> NodeIndex::position()
- NodeIndex::is_value_odd() -> NodeIndex::is_position_odd()
- LeafIndex::value() -> LeafIndex::position()
- InvalidNodeIndex error field: value -> position

closes #208
…osition

refactor: rename NodeIndex `value` to `position`
This commit implements the in-memory `Backend` for the new SMT forest
and then uses it to implement and test the backend-independent
functionality of the forest itself.

In doing so it also includes a few miscellaneous changes, including:

- Updates to the `History` mechanism to change how it stores leaf deltas
  to be more easily used with the forest itself.
- Updates the integration tests between the history and a bare SMT to
  actually be a correct usage and hence actually test the integration.
* fix: tuple min_serialized_size excludes alignment padding

Tuple Deserializable implementations were using the default
min_serialized_size() which returns size_of::<Self>(). This
includes alignment padding in the calculation, causing budget
checks to reject valid serialized data.

For example, (NodeIndex, Word) has:
- In-memory size: 48 bytes (NodeIndex has 7 bytes padding)
- Serialized size: 41 bytes (9 + 32, no padding)

The fix adds min_serialized_size() implementations to all tuple
types that sum the min_serialized_size() of each element.

Fixes #826

* chore: add CHANGELOG entry for tuple min_serialized_size fix
…821)

* remove nodes from store when reference count reaches zero

* add test

* add changelog

---------

Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com>
* refactor(mmr): make `PartialMmr::open()` return `MmrProof`

* chore: changelog

* chore: addressing comments

* chore: addressing comments

* chore: changelog

* chore: addressing comments

* chore: addressing comments

* chore: addressing comments

---------

Co-authored-by: Bobbin Threadbare <43513081+bobbinth@users.noreply.github.com>
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.

8 participants