Repository navigation
Update snarkVM version to 4.12.0 and bump devnode to 0.4.0 - #38
Merged
Merged
Conversation
Roee-87
approved these changes
Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Bump snarkVM from 4.11.0 to 4.12.0 (released October 13, 2026) and release devnode 0.4.0.
The upstream v4.11.0...v4.12.0 diff is large (toolchain 1.96, RocksDB secondary instances, Varuna/KZG internals, parser hardening), but only a handful of changes reach this crate:
historyfeature is gone. It was enabled inCargo.tomland no longer exists, so it is dropped. snarkVM also removed the per-height mapping record thatVM::evaluate_view_at_heightread from, so views at a past height can no longer be evaluated by anyone (snarkOS answers the route with 404 in its history compatibility mode).POST /program/{id}/view/{function}/{height}is kept so clients that read/block/height/latestand pass that height keep working: it evaluates whenheightis the latest height and answers 404 (500 under the legacy prefixes) with a pointer to the latest-height route otherwise. The check is repeated after evaluation so a concurrent auto-mode block advance cannot return results for a different height.StorageMode::Customgained a second field in aleo-std-storage 1.0.4 (optional path for opening RocksDB as a read-only secondary). The devnode always owns its ledger and passesNone. The declared dependency is bumped to 1.0.4 since snarkVM pins it exactly.Subdag::min_spend_limit/Authority::beacon_limits, the upstream version of the logic this crate mirrored from snarkVM PR #3350).beacon_block_limitsnow delegates toAuthority::beacon_limits, and the unit test that asserted snarkVM accepts an over-limit beacon block is updated: snarkVM now aborts the overflowing deployment on its own, matching what the devnode pre-filter already reported.MAX_CERTIFICATESdrops to 40 at V22 and the table grows from 5 to 6 entries. The beacon-limit test used the last entry while evaluating at V18, so it now looks up the value active at V18. The 40-validator genesis is within the new limit.TEST_CONSENSUS_VERSION_HEIGHTSis unchanged, so the devnode still boots to V22 at height 25.Not relevant to the devnode: slipstream plugins removed, new
dev_genesis_state_rootfeature,MAX_MAPPINGSraised to 128 at V22,rand.chachacost change.Test Plan
cargo fmt --all -- --check: clean.cargo test --locked: 7 unit tests and 6 integration tests pass.test_view_at_height_only_serves_the_latest_heightcovers the 404 for a non-latest height and evaluation at the latest height.docs/rest-api.mddocuments the view routes and the height restriction.Related PRs