Monad News
InfrastructureMonad client (GitHub)Mar 4, 2026

monad: v0.12.8

AI Summary

Monad v0.12.8 release includes protocol preparations for MONAD_NINE with MIP-3 linear memory pool implementation and reserve balance precompile scaffolding, alongside multiple robustness fixes and performance improvements to the execution layer.

# monad (execution) v0.12.8 Changelog Tag: [v0.12.8](https://github.com/category-labs/monad/releases/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_code` to reuse `Intercode` objects - `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`
#Monad#Protocol Update#Performance#Development