v0.14.0-rc.1 is ready for testing. This release includes ~400ms faster receipt queries, a new eth_fillTransaction RPC endpoint, lower-latency websocket notifications, and numerous robustness and performance improvements across consensus and execution.
Note: This is a pre-release for testing and validation only. Not recommended for production use. If you run into any issues, please include
Release: v0.14.0-rc.1in the name of any issues you create.
⚠️ Breaking Changes
- Auth UDP now required —
self_auth_portandauthenticated_bind_address_portfields innode.tomlare now required. Nodes without these fields will fail to start. (PR #2891) raptor10_fullnode_redundancy_factormax lowered from 7→3 (default is 3, most nodes unaffected). (PR #2852)
Tags or hashes:
monad-bft(consensus): tagv0.14.0-rc.1(d1d17916)monad(execution): tagv0.14.0-rc.1(54e132cfa)
Highlights
- ~400ms faster receipt queries — Receipts now tracked in chainstate buffer and available at Proposed time, eliminating trie lookups.
eth_fillTransaction— New RPC endpoint to get a fully populated transaction without signing.- Websocket notifications on proposed blocks —
newHeadsandlogssubscriptions now emit on proposed blocks instead of voted, reducing notification latency. - Archive: per-source AWS profile support — Archiver source/sink/fallback now supports
--profileflag for AWS credentials isolation. Reads from.aws/credentialsand.aws/config. (PR #2865)
Notable RPC/SDK changes
- [RPC]
eth_fillTransactionRPC endpoint- Ref: monad-bft PR #2662
- [RPC] Use proposed blocks in websocket notifications
- Ref: monad-bft PR #2817
- [RPC] Transaction receipts in chainstate buffer (~400ms faster receipt queries)
- Ref: monad-bft PR #2809, PR #2818
- [RPC] Consolidate triedb usage to ChainState
- Ref: monad-bft PR #2876
- [RPC] Use ChainStateBuffer for RPC logs
- Ref: monad-bft PR #2840
- [Execution] Add execution events Rust SDK with path resolution and descriptor info
Notable robustness changes
- [RPC] Fix blocktags in
eth_getLogs- Ref: monad-bft PR #2804
- [Consensus] RLP cleanup and stricter decoding enforcement
- Ref: monad-bft PR #2785
- [Consensus] Fix zero-length allocation leak in triedb sync read FFI
- Ref: monad-bft PR #2816
- [Consensus] Fix dataplane ban expiry TOCTOU underflow
- Ref: monad-bft PR #2851
- [Consensus] Exclude uninvited candidates when forming secondary group
- Ref: monad-bft PR #2874
- [Archive] Fix S3 client stuck after sustained outage
- Ref: monad-bft PR #2823
- [Consensus] Fix unstable ordering of OpenRPC schemas
- Ref: monad-bft PR #2893
- [Consensus] Fix ledger-tail: read author_address from persisted peers
- Ref: monad-bft PR #2888
- [Execution] Fix node writer reentrance causing non-contiguous writes
- [Execution] Fix undefined behavior in RLP encoding with empty inputs
- [Execution] Fix dangling pointer in events SDK, executor count, predecessor tx wait
- [Execution] Stricter RLP decoding: error for oversized bytes32
Notable performance changes
- [Consensus] Cache all successful Raptorcast decoding outcomes
- Ref: monad-bft PR #2887
- [Consensus] Weighted fair queue for transaction ingestion
- Ref: monad-bft PR #2828
- [Consensus] Gas-based peer scoring
- Ref: monad-bft PR #2829
- [Consensus] XOR decoder buffers in AVX2 chunks
- Ref: monad-bft PR #2863
- [Execution] Improve fast list compaction offset calculation with hysteresis
Notable internal changes
- [Node ops] Systemd services changed from
Restart=notoRestart=always— services now auto-restart on failure (affects monad-rpc, monad-archiver, monad-checker, monad-indexer, monad-ledger-tail)- Ref: monad-bft PR #2860
- [Consensus] Lightweight UDP framing protocol (leanudp)
- Ref: monad-bft PR #2827
- [Archive] Support per-source AWS profile with isolation (
--profileflag, reads from.aws/credentialsand.aws/config)- Ref: monad-bft PR #2865
- [Consensus] Auth socket with codec abstraction, direct point-to-point routing
- Ref: monad-bft PR #2897, PR #2896
- [Consensus] Raptorcast: remove legacy packet parser
- Ref: monad-bft PR #2864
Debian Package:
sudo apt update && sudo apt install monad=0.14.0~rc.1 -y --allow-downgrades --allow-change-held-packages
Note: The Debian package version is
0.14.0~rc.1(with~), while the git tag isv0.14.0-rc.1(with-).
Complete Changelog:
v0.13.1...v0.14.0-rc.1