Skip to content

bump version to 0.2.3 and source snarkVM from crates.io - #31

Merged
iamalwaysuncomfortable merged 1 commit into
mainfrom
bump/v0.2.3
Jul 29, 2026
Merged

bump version to 0.2.3 and source snarkVM from crates.io#31
iamalwaysuncomfortable merged 1 commit into
mainfrom
bump/v0.2.3

Conversation

@iamalwaysuncomfortable

Copy link
Copy Markdown
Member

Motivation

snarkVM 4.9.0 is now published on crates.io, so the git tag pin is no longer necessary. This replaces it with a plain registry dependency and bumps the devnode to 0.2.3.

Sourcing from the registry means Cargo.lock carries a checksum instead of a git revision, builds no longer need to clone snarkVM, and the dependency is resolvable by anyone consuming the crate normally.

The feature list is unchanged — all five features the devnode relies on (rocks, test_consensus_heights, dev_skip_checks, test_targets, history) are available on the registry release.

-snarkvm = { git = "https://github.com/ProvableHQ/snarkVM", tag = "testnet-v4.9.0", features = [...] }
+snarkvm = { version = "4.9.0", features = [...] }

One behavioral note for reviewers

This does change which upstream commit gets built. The old pin testnet-v4.9.0 is dd9ab06; the crates.io release corresponds to the plain v4.9.0 tag, 8902106, which is two commits ahead. Those commits are "Run extended CI" (CircleCI config only) and "Set mainnet ConsensusVersion::V18", whose entire functional diff is one line in console/network/src/consensus_heights.rs:

-    (ConsensusVersion::V18, u32::MAX),
+    (ConsensusVersion::V18, 20_794_000),

That constant is MAINNET_V0_CONSENSUS_VERSION_HEIGHTS. The devnode only ever reads TEST_CONSENSUS_VERSION_HEIGHTS (src/start.rs:142, for the startup advance to the latest consensus version), so devnode behavior is unaffected.

Test Plan

cargo test --locked passes in full — 9 tests, cargo exit 0:

  • 3 unit tests in start::tests (private key resolution)
  • 6 integration tests: test_missing_private_key, test_snapshot_create_and_list, test_start_and_advance, test_auto_advance_to_consensus_version, test_persistent_storage, test_snapshot_restore

test_auto_advance_to_consensus_version is the one that directly exercises the consensus-heights path discussed above, and it passes.

Also verified:

  • No ProvableHQ/snarkVM git reference remains in Cargo.lock; every snarkvm-* crate now resolves to registry+https://github.com/rust-lang/crates.io-index with a checksum.
  • All five required features exist on the crates.io 4.9.0 release.
  • The v0.2.3 tag will satisfy the release workflow's guard, which compares the tag against the Cargo.toml version.

Not addressed here: cargo fmt --all -- --check reports a pre-existing diff in src/start.rs imports, because rustfmt.toml sets nightly-only options (imports_granularity, imports_layout, and two others) that stable rustfmt ignores. It reproduces on main and is unrelated to this change, so it's left alone rather than reformatted against the intended nightly style.

Related PRs

snarkVM 4.9.0 is now published on crates.io, so replace the
git tag pin with a registry dependency. The feature list is
unchanged; all five features the devnode uses are available
on the registry release.

Note this moves the build from the testnet-v4.9.0 tag to the
plain v4.9.0 tag, two commits ahead. The only functional
difference is MAINNET_V0_CONSENSUS_VERSION_HEIGHTS setting
V18 to height 20794000, which the devnode never reads since
it uses TEST_CONSENSUS_VERSION_HEIGHTS.
@iamalwaysuncomfortable
iamalwaysuncomfortable merged commit e294eda into main Jul 29, 2026
1 check passed
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.

1 participant