NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4018 most downloaded on crates.io
EVM Bytecodes
Last release 1 months ago
26 Aug 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 26 of 26 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
31 releases · first in 2025
One column per month.
REVM v116 brings every publishable workspace crate to version 43.0.0 . This release aligns the implementation with Glamsterdam devnet-8, adds asynchro
REVM v116 brings every publishable workspace crate to version 43.0.0. This release aligns the implementation with Glamsterdam devnet-8, adds asynchronous database execution, and includes correctness and performance improvements across the EVM stack.
asyncdb feature provides fiber-backed async database support, including async transaction and system-call APIs.MemoryOOG, and failed CREATE pre-access checks no longer warm or add the destination account to the block access list.State, and revme blockchain tests now validate receipt-trie roots.See the migration guide for full upgrade details.
Full Changelog: v115...v116
v114 aligns REVM with Glamsterdam devnet-7 and the tests-glamsterdam-devnet@v7.0.0 fixtures — all state_tests and blockchain_tests pass. All crates ar
Date: 2026-07-23
v114 aligns REVM with Glamsterdam devnet-7 and the
tests-glamsterdam-devnet@v7.0.0 fixtures — all state_tests and
blockchain_tests pass. All crates are released as 42.0.0.
State-dependent transaction charges move out of intrinsic gas into a runtime
phase applied as the first frame is entered. Gated on
CfgEnv::enable_amsterdam_eip2780; older forks are unchanged.
REGULAR_PER_AUTH_BASE_COST (7,816) plus per-authority runtime charges, withTX_BASE.ACCOUNT_WRITECREATE/CREATE2SSTORE must cover theJournalEntry::CodeChange now records and restores the previous code hash andfeat(database): database fallback mode for BAL misses (#3754).feat: configurable max refund quotient (#3757); BAL account change slices (#3762).fix(inspector): EIP-7708 transfer logs reach the inspector (#3816); stalefix: GasTracker used-gas underflow (#3813); is_empty preserved on 7702load_account_delegated (#3802); storage original_valueperf: fewer bounds checks in precompile parsing (#3784); no intermediate BALtake_n_reverts (#3539).chore(deps): crossbeam-epoch 0.9.20 for RUSTSEC-2026-0204 (#3804).See MIGRATION_GUIDE.md
for the full list.
refund fallible by @klkvr in #3758Full Changelog: v113...v114
All crates are now versioned in lockstep, starting at 41.0.0 — hence the version jump (e.g. revm-bytecode 11.0.1 → 41.0.0). Released by #3711 and #375
date: 11.06.2026
All crates are now versioned in lockstep, starting at 41.0.0 — hence the version jump (e.g. revm-bytecode 11.0.1 → 41.0.0). Released by #3711 and #3753; full diff v112...v113.
Breaking:
TransientStorage is now a newtype over AddressMap<StorageKeyMap<StorageValue>> (#3736)OnStateHook::on_state takes EvmState by value; TransitionAccount gained a storage generic (#3732)GasStateTr removed, superseded by the SSTORE gas hook (#3750)Other highlights:
StateBuilder::with_bundle_update_if (#3729), Account::is_changed (#3727)analyze_legacy (#3752) and a const-eval panic in pop_address (#3735)See MIGRATION_GUIDE.md for migration notes.
Account::is_changed by @klkvr in #3727GasStateTr expose StateLoad by @0xrusowsky in #3737GasStateTr by @klkvr in #3750Full Changelog: v112...v113
mark RETURN and REVERT as memory-modifying
*(bytecode)* mark Bytecode::new_analyzed as unsafe
add crate-level re-exports for all revm-* dependencies
Implement EIP-7843 SLOTNUM opcode for Amsterdam
*(bytecode)* remove duplicate implementation in bytes_ref method
updated the following local packages: revm-primitives
### Added - impl Sealable for Bytecode
Sealable for Bytecode (#3118)### Other - use JumpTable old serde format
support legacy JumpTable serde format
in JumpTable use Bytes instead of BitVec
use core::fmt and remove unused Debug import
Revert "feat: removed padding in case last opcode is terminal (#2816)"
removed padding in case last opcode is terminating or unknown
*(bytecode)* add version getter + make versoin dynamic
### Other - add PartialEq u8
implement PartialEq for JumpTable correctly
### Added - transact multi tx
make crates.io version badge clickable
*(EOF)* Changes needed for devnet-1
add 0x prefix to b256! and address! calls
move Eof::new to first place && add doc for some pub functions
Stable version
Stable version
updated the following local packages: revm-primitives
JumpMap from_slice requires len
### Fixed - correct propagate features
Add docs to revm-bytecode crate
Add essential EIP-7756 tracing fields
primitive_types::U256 to ruint::Uint<256, 4> (#239)constants module typo (#1801)Your coding agent can read these notes before it upgrades. Set up the MCP server →