⚠️ 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.
| Network | Date released | Comment |
|---|---|---|
mainnet
| N/A | |
testnet
| N/A |
Tags or hashes:
monad-bft(consensus): tagv0.16.6(656435c15)monad(execution): tagv0.16.6(4a0c81f54)
Highlights
- Debian packages for the node. A native binary build script and a Debian package build were added, and packages now stamp the submodule commit and resolve the triedb driver via
ldd.- Ref: monad-bft PR #3277
- Dual Prometheus/OTLP metrics export. The node can now export metrics over both Prometheus and OTLP from a shared configuration.
- Ref: monad-bft PR #3275
- State sync protocol v3 with page-encoded storage. State sync now negotiates v3 and relays page-encoded storage records (protocol 1.3), with runloop_monad and statesync assuming a page-encoded primary timeline.
monad-mpt --upgradeand--repairremoved. The--upgradeflag together with the MONAD007 migration, and the--repairflag, have been dropped; operators who relied on them should follow the upgrade instructions.
Notable RPC/SDK changes
- [RPC]
eth_simulateV1now returns simulation failures as error values carrying a bespoke simulation error type instead of throwing.
Notable robustness changes
- [Consensus] Legacy transaction signature
vvalues outside the EIP-155 range are now rejected during RLP decoding. - [Consensus] High-S secp signatures are now rejected at deserialization, and the node commits to an encoding scheme rather than header bytes.
- Ref: monad-bft PR #3248
- [EVM] An empty typed transaction is now rejected with an error instead of tripping an assertion.
- [EVM] Memory bounds are now checked once per offset stack element.
Notable performance changes
- [EVM] Reusing cached stack storage now establishes the involved lifetimes.
- [EVM] Cached allocations are now given a concrete deleter.
Notable internal changes
- [Consensus] Raptorcast now canonicalizes the depth and reserved fields.
- Ref: monad-bft PR #3247
- [Node ops] The monad-wireauth per-session buffer limit is raised to 2 MiB.
- Ref: monad-bft PR #3294
- [Node ops] monad-dataplane now applies global and per-peer UDP pacing.
- Ref: monad-bft PR #3175
- [Node ops] statesync now aborts when a socket path is too long for
sun_pathinstead of proceeding. - [Node ops] Backtrace storage is now aligned and frames are preserved on truncation.
- [EVM] Literal-value shifts are emitted as two unaligned loads, and CLZ is emitted without branches or a stack spill and interpreted without branching on its input.
- [EVM] Block-exit stack writes are now independent of heap addresses and avoid store forwarding stalls.
- [EVM] The zkvm gains a guest library with a two-mode CMake build, ZisK and SP1 backend crates, and an
execute_block_zkvmrunner with an x86 test runner.
Full Changelog: v0.16.5...v0.16.6