Skip to main content

Releases

This page catalogues every notable release. Some releases target only specific networks; for a more intuitive view of upgrades to one network, see:

note

Changelog entries follow one of the following categories:

  • [EVM]: VM protocol behavior (opcodes, precompiles, fees)
  • [Consensus]: consensus protocol behavior
  • [RPC]: JSON-RPC API and websocket behavior
  • [Node ops]: validator operations and networking
  • [Network params]: protocol constants

v0.11.3

Revision MONAD_FIVE introduced; the changes in Opcode Pricing and Refunds were moved to MONAD_FIVE.

NetworkDate releasedComment
testnet-22025-10-08Revision is still MONAD_FOUR.
devnet2025-10-08Revision is set to MONAD_FIVE upon upgrade.

Tags or hashes:

Notable behavioral changes:

  • [EVM] Added additional events to staking precompile
    • Ref: monad PR #1742
    • Adds ValidatorRewarded, EpochChanged, ClaimRewards events
  • [RPC] Support the withLog parameter with callTracer
    • Ref: monad-bft PR #2400
    • If withLog is set to true, callTracer includes event logs in the trace output
  • [EVM/Network params] Created revision MONAD_FIVE; testnet-2 is on MONAD_FOUR. Move the changes in Opcode Pricing and Refunds into MONAD_FIVE.
    • This has the effect of rolling back the opcode pricing changes in testnet-2 while making them available in devnet.
  • [EVM/Network params] Raised the cost of CREATE and CREATE2 (in MONAD_FIVE)

Notable performance changes:

  • none

Notable internal changes:

  • [Consensus] Blocksync: only select blocksync peers from connected nodes
  • [Consensus] Raptorcast: DOS protection on decoding state cache
  • [Node ops] Secondary raptorcast config change
    • Ref: monad-bft PR #2378
    • Replace ambiguous secondary raptorcast mode parameter with enable_publisher and enable_client
  • [Node ops] Dynamically reload prioritized full-nodes
  • [Node ops] Fix wal2json
  • [Node ops/RPC] Support the RPC CLI param ws-sub-per-conn-limit
    • Ref: monad-bft PR #2161
    • Sets the maximum number of websocket subscriptions per connection (default to 100)
  • [Node ops/RPC] Add configuration options for high eth-call pool

v0.11.1

Revision MONAD_FOUR introduced.

NetworkDate deployedComment
testnet-22025-09-16Revision is set to MONAD_FOUR at 9/16/25 13:30 GMT

Tags or hashes:

Notable behavioral changes:

  • [Consensus/EVM] Staking is live (MONAD_FOUR)
    • (many PRs; see staking)
    • Active validator set is now determined by on-chain state of the staking precompile
    • This takes effect starting from a designated staking_activation epoch
    • Note: staking rewards do not activate until staking_rewards_activation epoch (future point in time)
    • External rewards - enable external (non-block-reward) deposits to the validator pool, see monad PR #1625
  • [Consensus/EVM] Reserve balance logic is live (MONAD_FOUR)
    • Ref: monad-bft PR #2160 and monad PR #1537
    • Due to async execution, consensus does not have the latest state available for transaction inclusion logic. Reserve balance is a buffer that enables simpler accounting for a given account to mitigate the possibility of overspending in that delay window.
    • Per-EOA reserve balance is set to 10 MON
  • [Consensus/EVM] EIP-7702 is live (MONAD_FOUR)
  • [EVM/Network params] Opcode repricing is live [all of the changes in Opcode Pricing and Refunds except for the CREATE/CREATE2 changes] (MONAD_FOUR)
    • Ref: monad PR #1600
    • Opcodes are repriced as discussed in the Monad Initial Spec Proposal
    • Precompiles: better align a few underpriced precompile gas costs with the associated hardware / latency costs
    • Increase cost of storage slot creation, and increase the percent of gas refunded on storage slot deletion
    • Increase cost of cold storage access
  • [Network params] Set per-transaction gas limit of 30M gas (MONAD_FOUR)
  • [Network params] Increase block gas limit from 150M gas (375 Mgas/s) to 200M gas (500 Mgas/s) (MONAD_FOUR)
  • [Network params] Implement dynamic base fee (MONAD_FOUR)
  • [EVM] Added support for Execution Events
  • [EVM] Added support for EIP-2935 + blockhash buffer
  • [EVM] Added support for EIP-7951: P256VERIFY precompile support
  • [RPC] Extend eth_call support for preStateTracer and stateDiffTracer with debug_traceCall

Notable performance changes:

  • [EVM] Kernel caching of db reads and writes
    • Ref: monad PR #1559
    • Utilize available host memory to cache recent DB operations - this cache should increase performance of execution and RPC
  • [RPC] Improve RPC Db Node Cache and make it memory bounded
    • Ref: monad PR #1581
    • Note a rename of RPC cli flags: --eth-call-executor-node-lru-size to --eth-call-executor-node-lru-max-mem and a new flag --triedb-node-lru-max-mem with both default to 100MB.

Notable internal changes:

  • [Node ops] Remove bft-fullnode binary; only bft binary now
  • [Node ops] PeerDiscovery: Introduce precheck for peer self name address

v0.10.4

NetworkDate deployedComment
testnet-22025-08-18Revision is still MONAD_THREE
testnet2025-08-18Revision is still MONAD_THREE

Tags or hashes:

Notable behavioral changes:

  • [RPC] EIP-4844 related fields in RPC responses are removed.
    • Block headers returned from RPC will no longer have blobGasUsed , excessBlobGas, and parentBeaconBlockRoot.

Notable performance changes:

  • [Consensus] Votes are now sent to current round leader. This is a consensus optimization that reduces the effective delay due to a round timeout
  • [Consensus] Caching of recently-verified quorum certificates
  • [Node ops] Enablement of trace calls is now controlled via monad (execution) command line arg --trace_calls.
    • To preserve legacy behavior, --trace_calls is currently enabled in the debian package. In the future we recommend disabling for validators and enabling it for RPC and archive nodes.
    • This allows voting validators to opt out of computing traces since they're only need for RPC nodes.

Notable internal changes:

  • [Consensus] TC forwarding to prioritized and public (non-dedicated) full nodes
    • Ref: monad-bft PR #2149
    • Prior to v0.10.4, all full nodes were subject to lagging behind validators in the event of a timeout because round advancement due to TC was not forwarded (and still isn’t to dedicated full nodes).
    • As a result, after timeouts, full nodes would frequently forward transactions to the next three leaders relative to a stale state. This results in those transactions often missing and the ensuing blocks being comparatively empty.
  • [Node ops] Bugfix for secondary raptorcast (round gap crash) that affected validators in Publisher mode
  • [Node ops] ledger-tail improvements
    • Reduced memory usage on startup
    • author_dns field changed to author_address to reflect change in v10 addresses
    • Timeouts and finalizations are tracked and logged
  • [Consensus] Txpool account preloading bugfix

v0.10.3

MONAD_THREE revision introduced.

NetworkDate deployedComment
testnet-22025-07-30Revision is set to MONAD_THREE when upgraded
testnet2025-08-12Revision is set to MONAD_THREE when upgraded

Notable behavioral changes:

  • [Consensus] Consensus mechanism upgraded from Fast-HotStuff to MonadBFT (MONAD_THREE)
  • [RPC] Add support for real-time data via WebSocket and shared memory queue access (docs coming soon):
    • Geth real-time events (via WebSocket)
    • Geth real-time events with Monad extensions (via WebSocket)
    • Real-time data via shared memory queue, for programs on a full node host using the execution event SDK
  • [Network params] Block time reduced from 500 ms to 400 ms

Notable performance changes:

  • [Execution] Switch to JIT EVM. The bytecode of expensive or frequently-executed contracts is compiled directly to native code for faster execution
  • [Execution] Switch to using file pointer-based IPC to execute blocks. Previously, the client was using a write-ahead log (WAL), which did not take advantage of available consensus information and could result in avoidable execution

Notable internal changes:

  • [Node ops] Adds peer discovery
  • [Node ops] Adds full node RaptorCast, making the full node network scalable

Other notes:

  • This version adds functionality for EIP-2537 (BLS12-381 precompiles), however the precompile is not yet activated in the VM, so effectively it is not supported yet. This will be addressed in the next version.

v0.9.3

NetworkDate deployedComment
testnet2025-05-29Revision is still MONAD_TWO

Notable behavioral changes:

  • [RPC] eth_call and eth_estimateGas limits
    • RPC providers can now set individual per-transaction limits on maximum gas for eth_call and eth_estimateGas
      • Previously the limit would always be the block gas limit (150M), now the RPC provider may choose (default: 30M)
      • Controlled with --eth-call-provider-gas-limit and --eth-estimate-gas-provider-gas-limit
    • Add a maximum timeout for queueing when executing eth_call and eth_estimateGas
      • Controlled with --eth_call_executor_queuing_timeout

Notable performance changes:

  • [RPC] Improve overall eth_call performance by maintaining separate queues for cheap and expensive eth_call operations, so that cheap eth_call operations will not be queued behind expensive ones.
    • This adds two new RPC error strings:
      • failure to submit eth_call to thread pool: queue size exceeded
      • failure to execute eth_call: queuing time exceeded timeout threshold
  • [RPC] Added an archive index for eth_getLogs to support queries with address and/or topic filters
    • This enables larger block ranges to be queried efficiently, with work proportional to number of matching logs instead of number of blocks in range
  • [Execution] Better bounding of TrieDB traversals

Notable internal changes:

  • [Node ops] Performance improvements for slow statesync client upsert
  • [Node ops] Bugfix for execution delay and abrupt history length drops caused by premature soft reset
  • [Node ops] keystore QOL improvements
    • Support for importing from a private key in hex string format (previously required conversion to json file)
    • More helpful documentation via --help command

testnet-1 active set expansion

On 2025-05-02, testnet-1 experienced an active set expansion

Notable behavioral changes:

  • none

Notable performance changes:

  • none

Notable internal changes:

  • [Network params] Testnet validator set expanded from 72 to 99 nodes

v0.9.2

NetworkDate deployedComment
testnet2025-04-05Revision is still MONAD_TWO

Notable behavioral changes:

  • none

Notable performance changes:

  • [RPC] Update to the eth_call execution implementation - uses fewer threads to achieve the same concurrency as in v0.9.1

Notable internal changes:

  • [Node ops] Support for a faster statesync mechanism
  • [RPC] RPC no longer accepts requests while node is statesyncing
  • [Node ops] Some reliability and efficiency improvements to how statesync traffic is carried between nodes
  • [Node ops] Bugfixes for execution crashes (monad::mpt::deserialize_node_from_buffer, 'Resource temporarily unavailable)
  • [Node ops] Bug fix for unbounded blocksync requests that result in node OOM failures
  • [Node ops] Removal of DNS resolution panic on start up

v0.9.1

NetworkDate deployedComment
testnet2025-03-24Revision is set to MONAD_TWO

Notable behavioral changes:

  • none

Notable performance changes:

  • none

Notable internal changes:

  • [Node ops] Bugfix for blocksync errors
  • [Node ops] Reliability and efficiency improvements to statesync

v0.9.0

Revision MONAD_TWO introduced.

NetworkDate deployedComment
testnet2025-03-14Revision is set to MONAD_TWO at 3/14/25 19:00 GMT

Notable behavioral changes:

  • [EVM] Max contract size increased from 24kb to 128kb (MONAD_TWO)
  • [RPC] debug_traceTransaction fixes
    • Fixed a bug where, within one transaction, only the first 100 calls were being traced
    • Added error and revertReason fields to response data

Notable performance changes:

  • [Consensus] Dataplane v2 - simpler and more efficient implementation; small performance improvement in broadcast time
  • [RPC] Improvements to RPC performance for eth_call
  • [RPC] Removed redundant sender_recovery operation on raw transactions received via RPC

Notable internal changes:

  • [Node ops] Statesync improvements to mitigate negative performance effects on upstream validator nodes
  • [RPC] EIP-2 signature validation added to RPC transaction validation
  • [Node ops] Miscellaneous tracing, logging and metrics additions
  • [Consensus] RaptorCast performance improvement when dealing with invalid symbols

v0.8.1

Revision MONAD_ONE introduced.

NetworkDate deployedComment
testnet2025-02-14Revision is set to MONAD_ONE at 2/14/25 19:00 GMT

Notable behavioral changes:

  • [Network params] Block time reduced from 1s to 500 ms (MONAD_ONE)
  • [Network params] Block gas limit reduced from 300M to 150M (to keep gas limit consistent) (MONAD_ONE)
  • [EVM] Transactions are charged based on gas limit, not gas consumed (MONAD_ONE)
  • [RPC] UX improvements for transaction status. RPC nodes track status of transactions submitted to them in order to provide updates to users.

Notable performance changes:

  • none

Notable internal changes:

  • none