Releases: category-labs/monad
v0.14.2
monad (execution) v0.14.2 Changelog
Tag: v0.14.2
Commit: 169e5c45b
Robustness fixes
- [Execution] Fix possible UB in unaligned read
- Ref: PR #2168
- [Execution] Fix incorrect auto_expire_version initialization after DB reset
- Ref: PR #2167
- [Execution] Fix compaction progress reset during statesync
- Ref: PR #2133
- Fixes compaction head being incorrectly reset to 0 during statesync, causing compaction to restart from the beginning
Performance changes
- [Execution] Optimize trie node array access (8-9x speedup on compaction hot path)
- Ref: PR #2163
- Hoists base pointers for packed node arrays via
std::span<unaligned_t<T>>; reduces redundant pointer recomputation in compaction, expiration, and version tracking loops
Internal changes
- [Execution] Replace system boost fiber with submodule (boost-1.83.0)
- Ref: PR #2157
- [Execution] Separate precompile gas cost calculation from runtime implementation
- [Execution] Remove support for EVMC_FRONTIER
- Ref: PR #2041
- [Execution] Add block-level event recording for Ethereum and Monad replay
- Ref: PR #2006
- Emits BLOCK_START/BLOCK_END events during replay, making replay event streams usable for tooling
v0.14.0
monad (execution) v0.14.0 Changelog
Tag: v0.14.0
Commit: 54e132cfa
RPC/SDK changes
- [Execution] Add execution events Rust SDK with path resolution and descriptor info
- [Execution] Native transfer tracer scaffolding (not yet wired to RPC)
- Ref: PR #1926
Robustness fixes
- [Execution] Remove ASSERT that relied on suboptimality of reserve balance accounting
- Ref: PR #2096
- [Execution] Fix runloop_monad off-by-one when nblocks=1
- Ref: PR #2018
- [Execution] Fix RangedGetMachine skipping keys past min prefix
- Ref: PR #2110
- [Execution] Fix minor RLP errors, union type-punning, event padding bits
- [Execution] Fix CLI crash on unexpected arguments
- Ref: PR #2138
- [Execution] Fix node writer reentrance causing non-contiguous writes
- Ref: PR #2082
- [Execution] Fix undefined behavior in RLP encoding with empty inputs
- Ref: PR #2152
- [Execution] Fix dangling pointer in events SDK, executor count, predecessor tx wait
- [Execution] Stricter RLP decoding: error for oversized bytes32
- Ref: PR #2159
Performance changes
- [Execution] Improve fast list compaction offset calculation with hysteresis
- Ref: PR #2107
- [Execution] Compaction offset refactor and runtime header performance optimizations
Internal changes
v0.14.1
Execution layer unchanged from v0.14.0. This tag is provided for version consistency with monad-bft v0.14.1.
monad(execution):54e132cfa— same commit as v0.14.0
For full release notes, see monad-bft v0.14.1.
v0.14.0-rc.1
v0.14.0-rc.1 is ready for testing. This release includes robustness fixes, execution events Rust SDK, performance improvements, and stricter RLP validation.
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.
Tag: v0.14.0-rc.1
Commit: 54e132cfa
The corresponding monad-bft (consensus) release is v0.14.0-rc.1.
SDK
- PR #2123 - Add execution events Rust SDK
- PR #2135 - Expose event descriptor info in events SDK
- PR #2136 - Add path resolution to rust events SDK
- PR #2137 - Add eventwatch example program for execution events
Robustness fixes
- PR #2082 - Fix node writer reentrance causing non-contiguous writes
- PR #2152 - Fix undefined behavior in RLP encoding with empty inputs
- PR #2096 - Remove ASSERT that relied on suboptimality of reserve balance accounting
- PR #2139 - Fix dangling pointer in rust events SDK FFI call
- PR #2104 - Fix executing_count decrement in executor
- PR #2128 - Wait for predecessor tx on early validation failure
- PR #2159 - Stricter RLP decoding: error for oversized bytes32
- PR #2110 - Fix RangedGetMachine skipping keys past min prefix
- PR #2108 - Fix minor RLP error handling issues
- PR #2078 - Replace union type-punning with explicit bit shifts
- PR #2102 - Zero-initialize padding bits in execution events
- PR #2138 - Fix CLI crash on unexpected arguments
- PR #2018 - Fix runloop_monad off-by-one when nblocks=1
Performance
- PR #2107 - Improve fast list compaction offset calculation with hysteresis
- PR #2130 - Introduce compact_offset_pair to reduce offset boilerplate
- PR #2050 - Runtime header refactor with performance optimizations
Internal changes
- PR #2049 - Refactor chain: dispatch via traits instead of virtual methods
Complete Changelog:
v0.13.1...v0.14.0-rc.1
v0.13.1
v0.13.1
This is a patch release to accompany monad-bft v0.13.1.
No changes to monad (execution layer) - this tag points to the same commit as v0.13.0 (722cbf5b5).
The fix for State Archive node RPC issues is in the monad-bft repository: monad-bft
v0.13.1
v0.13.0
monad (execution) v0.13.0 Changelog
Tag: v0.13.0+1
Commit: 722cbf5b5
Note: Canonical version is
v0.13.0. The+1build metadata indicates a post-release rebuild that includes the reserve balance precompile fallback cost fix (PR #2109).
MONAD_NINE Activation
MIP-3: Linear memory implementation
MIP-4: Reserve balance precompile
- PR #2040 - scaffolding
- PR #2065 - cached/incremental checks
- PR #2086 - add dippedIntoReserve
- PR #2106 - dippedIntoReserve argument length error
- PR #2109 - fallback cost fix for clean spec
- PR #2037 - skip reserve checks for init-selfdestruct
MIP-5: Osaka fork (CLZ opcode)
Robustness fixes
- PR #2053 - Fix ThreadSanitizer race by joining bootstrap fiber before thread exit
- PR #2039 - Include account balance in selfdestruct tracer frame
- PR #2083 - Fix sentinel collision in compact virtual chunk offset
- PR #2092 - Fix potential race condition in execute_block_transactions
Internal changes
v0.12.8
monad (execution) v0.12.8 Changelog
Tag: v0.12.8
Protocol Changes
Prep for MONAD_NINE
MIP-3: Linear Memory Pool
- Combine EVM memory regions into one transaction-wide memory region
- VM memory pool implementation
- Ref:
cc6f45669,c54fc3a73,5562f4f1c
Reserve Balance Precompile Scaffolding
- Reserve balance precompile scaffolding for MIP-4
- Ref:
aebac934b
Osaka Fork Preparation
- Activate Osaka in MONAD_NEXT
- Ref:
8f8564b8b
Robustness Fixes
- Fix expmod padding crash -
cbbd825b4 - Avoid potential UB on empty precompile input -
48f6d8276 - Don't recover high-s authorities -
c54fc3a73 - statesync client: only copy state and code to current to avoid stale data -
5130f0e84 - Move version erasure logic to write_new_root_node() -
0f6ed8e5f
Performance Improvements
- Undefer cold charge in storage -
3515ad320 - Track stack offset to prevent store forwarding stalls -
5562f4f1c - Change
State::set_codeto reuseIntercodeobjects -b1a2d06a3 - Improve BYTE instruction performance -
e5005b1f7,40500e8d4,d9fe40661 - Facility to lazily construct
SharedIntercode-9630d662d - Replace mult with shift in BYTE interpretation -
d9fe40661
Tracers
- Add test for prestate/statediff tracers on system transactions -
2431631c5 - Add missing state tracer for system txns -
4bae41cda
Events / SDK
- Add snapshot support to eventwatch.c -
9dc87e58d - Add zstd snapshot utility functions -
a0d078b40 - Refactor exclusive writer detection -
99e674c56 - Add unit tests for event snapshot files -
6c73be142 - Prepare libmonad_event for out-of-project builds -
b2165f135
Internal / Refactoring
- Refactor MonadChainContext & remove revert closure -
db66c77a4 - Use [[gnu::cleanup]] instead of goto in events -
a0e39e136 - Pull out state overrides -
03fb45873 - Fix LLVM build following EVM memory changes -
f035992f2 - Remove code and code_size from evmc_message -
27603cab3 - MPT interface refactoring -
438fc2d14,3159f36cb,4e4539986,56ea0272a - Bump spec tests -
3e5a6c636 - Remove thread_safe_lru -
2c506b32a
Build / Tooling
- monad_core will also link to zstd -
1149f0dbe - Skip tests in debug -
021d7d78f - .gitignore JetBrains IDE files in nested directories -
d22abd656 - Support table formatting of microbenchmark results -
7b5b405b7 - ethereum_test improvements -
8c5e039a9 - Add store forwarding stall microbenchmark -
f7c60ac9d
v0.12.7
v0.12.7
| Network | Date released | Comment |
|---|---|---|
mainnet |
01-29-2026 | |
testnet |
01-20-2026 | |
devnet |
01-13-2026 |
Tags or hashes:
monad: tagv0.12.7
Notable robustness changes
- [Execution] Fix
modexpprecompile crash on truncated input padding- Ref: monad PR #2045