github category-labs/monad v0.15.0

3 hours ago

⚠️ 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.0 Changelog

Tag: v0.15.0
Commit: 817a09f64

Highlights

  • One-time DB metadata migration required (monad-mpt --upgrade) — bumps DB schema MONAD007 → MONAD008, initializing secondary timeline metadata for upcoming dual-timeline support

Robustness fixes

  • Convert user-facing MONAD_ASSERT to MONAD_ASSERT_THROW — prevents panics on malformed RPC input
  • Enforce staking syscall ordering — validation now rejects staking syscalls submitted out of order
  • Fix event payload overflow check — rounds up size before alignment check to prevent assertion failure on large payloads
  • Fix MONAD007→MONAD008 migration data corruption on nodes with ≥15.8 TB disk — prevents db_offsets overrun and root-offsets ring bound violation during monad-mpt --upgrade
  • Fix monad-mpt --upgrade crash on legacy databases — fixes integer underflow causing Assertion 'r != MAP_FAILED' on nodes with databases created before num_cnv_chunks was added to the storage pool footer

Internal changes

  • Dual-timeline: add secondary timeline metadata and monad-mpt --upgrade DB migration tool
  • MPT memory-ordering fix: route version_lower_bound_ reads through acquire accessor to fix data race on reader path
  • Fix missing cast from monad_eth_revision to evmc_revision
  • Add --disable-sq-thread-cpu flag to cmd/monad
  • Remove support for Petersburg and Constantinople forks (Ethereum replay only)
  • monad-mpt status output format changed — the line previously showing MPT database has N history, earliest is X latest is Y now reads MPT database has been configured to retain no more than Z versions., with block height on the Latest finalized is <block> line. monad-status has been updated; operators using custom scripts parsing monad-mpt output should update to read Latest finalized is instead of the old latest is pattern.

Full Changelog: v0.14.7...v0.15.0

Don't miss a new monad release

NewReleases is sending notifications on new releases.