⚠️ Do not upgrade your mainnet or testnet node until you receive an official announcement.
Upgrades are communicated via official channels. See upgrade instructions for details.
monad (execution) v0.15.2 Changelog
Tag: v0.15.2
Commit: 2422a8592
Highlights
- MIP-8 gas schedule — adds page-based storage gas schedule;
eth_createAccessListdeduplicates storage keys by page (activation in a future release) - Follow-up to MIP-12: Block reward validation — maximum block reward is now validated; blocks exceeding the cap are rejected
- EIP-7843: Consensus round in tx context — Monad consensus round number threaded into
evmc_tx_contextviaBlockHeader::slot_number - Dual-timeline DB support — MPT database supports a secondary page-encoded timeline; statesync works with both slot- and page-encoded databases
Protocol changes
- MIP-8: Gas schedule for page-based storage — adds page-based gas schedule (activation in a future release). Ref: monad (execution) PR #2268
- Follow-up to MIP-12: Validate maximum block reward — blocks exceeding the cap are now rejected. Ref: monad (execution) PR #2365
- EIP-7843: Thread Monad consensus round into
evmc_tx_contextviaBlockHeader::slot_number. Ref: monad (execution) PR #2324 - AMSTERDAM EVM revision — new EVM revision targeting the Amsterdam hardfork. Ref: monad (execution) PR #2368
RPC/SDK changes
eth_createAccessListnow deduplicates storage keys by page under MIP-8. Ref: monad (execution) PR #2253- Fix
eth_getStorageAtreturning 0 on page-encoded nodes. Ref: monad (execution) PR #2393 eth_callexecution revert error code changed from-32603to3— aligns with standard EVM behavior.
Robustness fixes
- Memory-bounded LRU cache for execution state reads. Ref: monad (execution) PR #2376
- Statesync: reject messages with trailing bytes. Ref: monad (execution) PR #2370
- Trim both timelines in tandem in dynamic history length adjustment. Ref: monad (execution) PR #2431
- Expose dual-DB migration phase via FFI. Ref: monad (execution) PR #2433
- Fix
monad-mpt --activate-secondarycorrupting DB metadata on nodes that previously ran--upgrade; addsmonad-mpt --repairto recover affected pools. Ref: monad (execution) PR #2403 - DbCache read-through caching — reads now cached on miss, reducing redundant disk reads during page-encoded commit. Ref: monad (execution) PR #2414
Internal changes
- Dual-timeline: MPT database supports a secondary timeline. Ref: monad (execution) PR #2228, PR #2302
- Page storage: TrieDb and runloop are page-encoding-aware; statesync works with page-encoded databases. Ref: monad (execution) PR #2354, PR #2383, PR #2385, PR #2386
monad-cli --versionnow acceptslatest_finalized. Ref: monad (execution) PR #2364- Support binary snapshot dump/load on secondary timeline and page-encoded DB. Ref: monad (execution) PR #2366
Full Changelog: v0.15.1...v0.15.2