Upgrade notes
No breaking changes tonode.toml config. For validators and standard full nodes this is a rolling upgrade on top of v0.16.2.
State Archive nodes may need one extra step — see below.
State Archive nodes: promote the page timeline after installing
Does this apply to me?
Validators and standard full nodes are unaffected either way.
Why this is needed: up to and including v0.16.1, archive nodes committed to both timelines past the MIP-8 fork, doubling the disk growth rate. v0.16.3 commits only to the page-encoded timeline past the fork, which removes that 2x write amplification. Reads are routed per requested block version, so historical queries below the cutoff continue to be served from the slot encoding.
The ordering is covered in the numbered steps below — stop services, install, promote, then start.
This page takes precedence for v0.16.3. MIP-8 Activation and Page Storage Migration states that State Archive nodes skip Phase C and keep the slot timeline active permanently. That remains true for v0.16.1 and earlier, but an archive node that skipped the v0.16.1 hot-fix must run the promote step above when installing v0.16.3.
Replaying history from genesis
If you are replaying the whole chain from genesis, the procedure has changed. Set the disk up withmonad-mpt --state-machine ethereum and start the replay from genesis. The replay will hit an assertion when it crosses MONAD_TEN (the MIP-8 fork); at that point complete migration Phases A and B to mirror state into the page-based secondary database, then run monad-mpt --promote-secondary before resuming the replay.
Snapshots are not backward compatible
Snapshots written by earlier releases restore normally under v0.16.3 — the incompatibility is only in the forward direction. Coordinate with snapshot validation before snapshotters begin producing headered streams.Statesync
Statesync peers still speaking protocol v0 or v1 are now rejected withBadVersion. Protocol v2 is what is deployed, so this should be a no-op; confirm no node is below v2 before rolling out.
Building from source
This release requires the system packagelibsecp256k1-dev at build time. The published Docker images already include it. This only affects operators building outside those images.
1. SSH into the node as root user
2. Stop services
3. Upgrade monad package
4. Promote the page timeline — State Archive nodes that skipped the v0.16.1 hot-fix
Skip this step entirely if the node is a validator or a standard full node, or if it is a State Archive node already running the v0.16.1 hot-fix. See above.5. Start services and verify
Active: active (running). Confirm the node rejoins and advances blocks.

