⚠️ 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.
v0.16.2
Tags or hashes:
monad-bft(consensus): tagv0.16.2(4374d389e)monad(execution): tagv0.16.2+1(aae93c535)
Highlights
- Raptorcast v1 publish — nodes now publish proposals in the v1 raptorcast wire format on both
the primary and secondary paths. - JSON-RPC error codes corrected across
eth_call,eth_estimateGas,eth_simulateV1,
debug_*andtxpool_*. - Raptorcast throughput improved ~16.7% under multi-target load.
Notable protocol changes
- [Consensus] Raptorcast advances to the
accept_both_publish_v1stage; nodes publish proposals
in the v1 wire format on both primary and secondary paths.- Ref: monad-bft PR #3177
- [Consensus]
AdvanceRoundis published to full nodes via broadcast rather than secondary
raptorcast, avoiding a collision with the proposal commitment under v1.- Ref: monad-bft PR #3176
Notable RPC/SDK changes
- [RPC] Fix JSON-RPC error codes and messages returned by the call, simulate, debug, txpool and
websocket handlers.- Ref: monad-bft PR #3228
- [RPC] Fix zero-fee
eth_calls — a zeromaxFeePerGasis no longer raised to the base fee,
matching geth and reth.- Ref: monad-bft PR #3164
- [RPC] Fix EIP-1898 compatibility for
BlockTagOrHash.- Ref: monad-bft PR #3163
- [RPC]
eth_createAccessListnow accepts state overrides.- Ref: monad-bft PR #3179
Notable robustness changes
- [Consensus] A validator publishes only the first accepted proposal to its full nodes, so an
equivocated proposal is no longer forwarded.- Ref: monad-bft PR #3180
- [RPC] Concurrency limiter for
eth_feeHistory, bounding memory on large block ranges.- Ref: monad-bft PR #3212
- [EVM] Runloop fix for when the node resets to the start block number.
Notable performance changes
- [Consensus] Raptorcast avoids redundant wire-auth lookups in the authenticated send path —
15,796 to 18,427 chunks/s.- Ref: monad-bft PR #3223
Notable internal changes
- [Node ops] Nodes can opt out of serving statesync requests. Optional
node.tomlsetting,
default unchanged.- Ref: monad-bft PR #3208
- [Node ops] Update the
opensslcrate to 0.10.81, closing seven advisories. Reached only
throughmonad-rpcwith a MongoDB archive backend configured;monad-nodedoes not link it.- Ref: monad-bft PR #3191
- [EVM] Seed
Address,bytes32andStorageKeyhashing per process, so colliding keys cannot
be precomputed against node-local maps. - [EVM] Replace silkpre's ECRECOVER precompile with a vendored
monad_recover_addresson system
libsecp256k1. Adds alibsecp256k1-devbuild dependency outside the published Docker images. - [EVM] Allow dual-db commit in
runloop_monad_ethblockswheresecondary_dbis optional.- Ref: cherry-pick from
staging-v0.16.1(df14e67bb)
- Ref: cherry-pick from
- [EVM] Consolidate dual-db mirroring with
for_each_db.- Ref: cherry-pick from
staging-v0.16.1(d836afc18)
- Ref: cherry-pick from
Full Changelog: v0.16.1...v0.16.2