v0.14.5
Tags or hashes:
monad-bft(consensus): tagv0.14.5(25672d619)monad(execution): tagv0.14.5(ffefb81a0)
Highlights
eth_sendRawTransactionSyncnow event-driven — replies immediately with tx receipt instead of polling every 100ms (~50ms faster); requires--exec-event-pathon RPC nodescreateAccessListrevert fix —eth_createAccessListnow correctly returns the access list even when the call reverts- Historical block queries up to 2x faster —
eth_getBlockByHashandeth_getBlockTransactionCountByHashperformance improved for historical blocks - WAL improvements — bound WAL size with rotating chunks, persist events on dedicated thread, trace-only logging
Notable RPC/SDK changes
- [RPC] Fix: return access list for
createAccessListreverts- Ref: monad-bft PR #3045
- [RPC] Fix OpenRPC optional param flags
- Ref: monad-bft PR #3089
- [RPC] Implement HistoricalDataSource for TriedbDataSource
- Ref: monad-bft PR #3085
- [RPC]
eth_sendRawTransactionSyncnow uses event server instead of 100ms polling — ~50ms faster responses. Requires--exec-event-pathon RPC nodes.- Ref: monad-bft PR #3105
- [RPC] Separate RPC events buffer into write and view
- Ref: monad-bft PR #3102
- [RPC] Use event aliases in RPC websocket impl
- Ref: monad-bft PR #3095
Notable performance changes
- [RPC] Historical block queries up to 2x faster —
eth_getBlockByHashandeth_getBlockTransactionCountByHashimproved via HistoricalDataSource refactor- Ref: monad-bft PR #3085, PR #3053, PR #3030
Notable robustness changes
- [Consensus] Reject
fullnode_raptorcast.max_group_size> 500 at boot — prevents misconfiguration- Ref: monad-bft PR #3078
- [Execution] Reject non-canonical RLP encoded strings/lists
- [Execution] Prevent iterator overrun on odd input length
- [Execution] Preserve access lists for reverted frames
Notable internal changes
- [Consensus] Deterministic raptorcast: primary protocol rollout
- Ref: monad-bft PR #2811 (4 commits: rollout, commitment, rebroadcast, packet parsing)
- [Consensus] Deterministic raptorcast: secondary encoding and routing foundation
- Ref: monad-bft PR #2998 (5 commits: encoder, routing, broadcast mode, receive gating)
- [Consensus] MIP-9: Bump validator set max to 300 (consensus side only — execution side pending)
- Ref: monad-bft PR #3046
- [Consensus] WAL: bound WAL size with rotating chunks
- Ref: monad-bft PR #2985
- [Consensus] WAL: persist events on waltrace thread
- Ref: monad-bft PR #3022
- [Consensus] WAL: trace only wal-logged events
- Ref: monad-bft PR #3024
- [Consensus] Omit timeout.last_rc verification when able
- Ref: monad-bft PR #3055
- [Consensus] Clarify no fsync on forkpoint persistence
- Ref: monad-bft PR #3056
- [Execution] Remove intx library, replace with custom uint128_t/uint256_t types
- [Execution] Make DbCache a member of TrieDb
Full Changelog: v0.14.4...v0.14.5