All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
41.1.0 - 2026-07-16
- (amsterdam) glam devnet-6 gas accounting & EIP alignment (#3782)
- (revme) separate bytecode from account in test state (#3803)
41.0.0 - 2026-06-11
- updated the following local packages: revm
17.0.3 - 2026-05-26
- updated the following local packages: revm
17.0.2 - 2026-05-22
- updated the following local packages: revm
17.0.1 - 2026-05-21
- updated the following local packages: revm
17.0.0 - 2026-05-19
- remove unused spec ids (#3649)
- reject nonce-max senders before execution (#3531)
- audit #[allow] attributes (#3611)
15.0.0 - 2026-04-17
- updated the following local packages: revm
14.0.0 - 2026-04-10
- add EIP-8037 / TIP-1016 state gas support (#3406)
- (revme) list all failed tests at the end with --keep-going (#3491)
- (revme) use transact state for debug "State after" output (#3498)
- (revme) guard unconditional println in blockchaintest for --json mode (#3500)
- (revme) use alloy-trie instead of triehash (#3488)
13.0.0 - 2026-03-04
- bump revm-database-interface to v10.0.0
12.0.0 - 2026-03-02
- (precompile) add aws-lc-rs as alternative backend for secp256r1 (#3451)
- (revme) add --json output flag to evmrunner command (#3428)
- (revme) validate block gas used in blockchain tests (#3416)
- (revme) add --omit-progress flag to statetest command (#3419)
- move EIP-161 state clear into journal finalize (#3444)
- add subcall benchmarks (1000-call variants) (#3427)
- use fixed bytes hashmaps from alloy-core (#3358)
- update default hardfork to Osaka (Ethereum) and Jovian (Optimism) (#3326)
11.0.0 - 2026-01-15
- move GasParams to Cfg (#3229)
- Propagate
map-foldhashFeature Through Dependency Chain (#3252) - BAL EIP-7928 (#3070)
- DatabaseCommitExt + increment_balances (#3195)
- sort accounts by address in blockchaintest output (#3182)
- incorrect bytecode value in blockchain test error output (#3288)
- use expected_exception instead of error field for unexpected_success status (#3244)
- deduplicate post-state validation error handling (#3228)
- (revme) incorrect debug log message in btest (#3233)
- (statetest) use spec-aware blob base fee update fraction (#3210)
- apply improvements from ai-bot labeled PRs (#3297)
- (revme) consolidate find_all_json_tests into dir_utils (#3262)
- happy new year, 2026 licence (#3272)
- (revme) use unwrap_or_default for non-UTF8 path safety (#3259)
- sort storage keys and test files in blockchaintest output (#3186)
- (revme) extract JSON printing helper in blockchaintest (#3257)
- remove redundant clone calls (#3258)
- re-export statetest-types from revm crate behind test-types feature (#3247)
- (fmt) merge all imports (#3184)
10.0.2 - 2025-11-14
- update Cargo.lock dependencies
10.0.0 - 2025-11-10
- updated the following local packages: revm, revm-statetest-types
9.0.2 - 2025-11-10
- updated the following local packages: revm, revm-statetest-types
9.0.1 - 2025-11-07
- (revme) use primitive hashmap in statetest (#3137)
9.0.0 - 2025-10-30
8.3.0 - 2025-10-17
- updated the following local packages: revm-inspector, revm, revm-statetest-types
8.2.2 - 2025-10-15
- updated the following local packages: revm-bytecode, revm-state, revm-database-interface, revm-context-interface, revm-context, revm-database, revm-inspector, revm, revm-statetest-types
8.2.1 - 2025-10-15
- updated the following local packages: revm-primitives, revm-bytecode, revm-context, revm-state, revm-database-interface, revm-context-interface, revm-database, revm-inspector, revm, revm-statetest-types
8.2.0 - 2025-10-09
8.0.1 - 2025-10-09
- use NoOpInspector for inspector benches (#3060)
8.0.0 - 2025-10-07
- (revme) ef blockchain tests cli (#2935)
- (revme) Insert block hashes in State (#3024)
- support 0x prefix in evmrunner hex input (#2970)
- (revme) Avoid panic on non-UTF filenames in statetest runner (#2948)
- changelog update for v87 (#3056)
- pretty print state in revme statetest (#2979)
- Fix CLI exit code for invalid bytecode input (#2968)
7.2.3 - 2025-09-23
- updated the following local packages: revm-context-interface, revm-context, revm-inspector, revm, revm-statetest-types
7.2.2 - 2025-08-23
- updated the following local packages: revm-bytecode, revm-database-interface, revm-context-interface, revm-context, revm-database, revm-state, revm-inspector, revm, revm-statetest-types
7.2.1 - 2025-08-12
- codspeed sstore sload opcodes (#2881)
7.2.0 - 2025-08-06
- Reuse bls12-381 codepaths to implement kzg point evaluation precompile (#2809)
- (benches) rename anaysis-inspector to snailtracer-inspect (#2834)
- (benches) clean up criterion callsites (#2833)
- add rust-version and note about MSRV (#2789)
- fix clippy (#2785)
- add gas_limit to revme evm (#2779)
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
7.1.0 - 2025-07-23
- count inspector and bench test (#2730)
- fully deprecate serde-json (#2767)
- back to hashbrown map in revme (#2770)
- back to better map (#2768)
- bump develop statetests to devnet-3 (#2754)
- add clz_50 codspeed (#2743)
7.0.4 - 2025-07-14
- incorrect StorageKey and StorageValue parameter order in burntpix benchmark (#2704)
7.0.3 - 2025-07-03
- update Cargo.lock dependencies
7.0.2 - 2025-06-30
7.0.1 - 2025-06-20
- updated the following local packages: revm-context-interface, revm-context, revm, revm-inspector, revm-statetest-types
7.0.0 - 2025-06-19
- remove EOF (#2644)
- (precompile) rug/gmp-based modexp (#2596)
- change blob_max_count to max_blobs_per_tx (#2608)
6.0.0 - 2025-06-06
- Config blob basefee fraction (#2551)
- expand timestamp/block_number to u256 (#2546)
- transact multi tx (#2517)
- tag v75 revm v24.0.1 (#2563) (#2589)
- use iter_batched for revme benches (#2584)
- unify calling of journal account loading (#2561)
- ContextTr rm *_ref, and add *_mut fn (#2560)
- (cfg) add tx_chain_id_check fields. Optimize effective gas cost calc (#2557)
- add gas-cost-estimator selected bytecodes (#2555)
5.1.1 - 2025-05-31
- unify calling of journal account loading
5.1.0 - 2025-05-22
- make blob max number optional (#2532)
5.0.0 - 2025-05-07
Dependency bump
4.1.0 - 2025-05-07
- (Osaka) disable EOF (#2480)
- skip cloning of call input from shared memory (#2462)
- (tx) Add Either RecoveredAuthorization (#2448)
- (EOF) Changes needed for devnet-1 (#2377)
- Move SharedMemory buffer to context (#2382)
- (revme) evm command caller/target for bench (#2476)
- (revme) simplify repeated code (#2432)
- backport from release branch (#2415) (#2416)
- (lints) revm-context lints (#2404)
4.0.2 - 2025-04-15
4.0.1 - 2025-04-09
- (revme) remove revm-handler dependency (#2366)
4.0.0 - 2025-03-28
- add criterion benchmark for evm build (#2319)
- add check for path and existence existence (#2320)
- bump bench time, and reduce burntpix iterations (#2315)
- update EOF validation logic and improve error handling (#2304)
3.0.0 - 2025-03-24
- updated the following local packages: revm-database
3.0.0-alpha.7 - 2025-03-21
- InspectEvm fn renames, inspector docs, book cleanup (#2275)
- correct eof kind in verification tests (#2250)
- (revme) remove deprecated #[clap] attribute
3.0.0-alpha.6 - 2025-03-16
- updated the following local packages: revm-primitives, revm-bytecode, revm-context-interface, revm-context, revm-handler, revm-inspector
3.0.0-alpha.5 - 2025-03-12
- rename inspect_previous to inspect_replay (#2194)
3.0.0-alpha.4 - 2025-03-11
- Add comments to handler methods (#2188)
3.0.0-alpha.3 - 2025-03-10
- updated the following local packages: revm
3.0.0-alpha.2 - 2025-03-10
- remove specification crate (#2165)
- JournalTr, JournalOutput, op only using revm crate (#2155)
- rename transact_previous to replay, move EvmTr traits (#2153)
- Add docs to revm-bytecode crate (#2108)
- (deps) bump breaking deps (#2093)
- move all dependencies to workspace (#2092)
3.0.0-alpha.1 - 2025-02-16
- Split Inspector trait from EthHandler into standalone crate (#2075)
- integrate alloy-eips (#2078)
- (op) Isthmus precompiles (#2054)
- Evm structure (Cached Instructions and Precompiles) (#2049)
- Context execution (#2013)
- EthHandler trait (#2001)
- (EIP-7840) Add blob schedule to execution client cfg (#1980)
- bump eof validation tests (#1963)
- simplify Transaction trait (#1959)
- Split inspector.rs (#1958)
- align Block trait (#1957)
- integrate codspeed (#1935)
- Restucturing Part7 Handler and Context rework (#1865)
- restructuring Part6 transaction crate (#1814)
- extract statetest models/structs to standalone crate (#1808)
- Merge validation/analyzis with Bytecode (#1793)
- restructure part3 fix examples (#1792)
- Restructuring Part3 inspector crate (#1788)
- restructure Part2 database crate (#1784)
- use TestAuthorization and skip decoding of eip7702 tx (#1785)
- project restructuring Part1 (#1776)
- introducing EvmWiring, a chain-specific configuration (#1672)
- (revme) Statetest stop exec when print output is true (#1995)
- (revme) statetest remove redundant json output (#1994)
- (eof) dont run precompile on ext delegate call (#1964)
- (revme) Burntpix bench (#1937)
- (revme) include correct bytecode for snailtracer (#1917)
- statetest json set spec_id (#1766)
- set alpha.1 version
- Bump licence year to 2025 (#2058)
- improve EIP-3155 tracer (#2033)
- align crates versions (#1983)
- remove analysis bench inner loops (#1936)
- fix comments and docs into more sensible (#1920)
- tie journal database with database getter (#1923)
- use stderr for revme tracer. not panic on bytecode (#1916)
- put snailtracer and analysis contracts in files (#1911)
- Move CfgEnv from context-interface to context crate (#1910)
- Rename PRAGUE_EOF to OSAKA (#1903)
- bump EOF evmone tests to v0.13.0 (#1816)
- (primitives) replace HashMap re-exports with alloy_primitives::map (#1805)
- (revme) replace
structoptwithclap(#1754)
2.5.0 - 2025-02-11
- updated the following local packages: revm
2.4.0 - 2025-01-28
- devnet5 tests v1.3.0 (#2021)
2.3.0 - 2025-01-13
- (EIP-7623) adjuct floor gas check order (#1990)
- v53 revm v19.2.0 (#1972)
2.2.0 - 2024-12-26
- Uncouple blob count between CL and EL (#1899)
2.1.0 - 2024-11-06
2.0.0 - 2024-10-23
- update Cargo.lock dependencies
1.0.0 - 2024-09-26
- update Cargo.lock dependencies
0.11.0 - 2024-10-17
- remove test u8 check (#1825)
0.10.3 - 2024-09-26
- update Cargo.lock dependencies
0.10.2 - 2024-09-18
- (statetest) enable EOF in Prague tests (#1753)
0.10.1 - 2024-08-30
- updated the following local packages: revm
0.10.0 - 2024-08-29
0.9.0 - 2024-08-08
- (EOF) Run EOF tests from eth/tests (#1690)
- (EOF) add evmone test suite (#1689)
- (EOF) Add EOF validation in revme bytecode cmd (#1660)
- (EOF) EOF Validation add code type and sub container tracker (#1648)
- (statetest) make bytecode analyzed (#1666)
- (EOF) returning to non-returning jumpf, enable valition error (#1664)
- (statetest) Add back Merge spec (#1658)
- Add EOF Layout Fuzz Loop to
revme bytecode(#1677) - (clippy) 1.80 rust clippy list paragraph ident (#1661)
- use
is_zeroforU256andB256(#1638) - bump versions bcs of primitives (#1631)
0.8.0 - 2024-07-16
- (eof) cli eof-validation (#1622)
- (EOF) Bytecode::new_raw supports EOF, new_raw_checked added (#1607)
- (eip7702) Add tests and fix some bugs (#1605)
- (GeneralState) skip fewer specs (#1603)
0.7.0 - 2024-07-08
- replace AccessList with alloy version (#1552)
0.6.0 - 2024-06-20
- (eof) fixture 2 tests (#1550)
0.5.0 - 2024-05-12
- (precompile) Prague - EIP-2537 - BLS12-381 curve operations (#1389)
- add trace option in
revme evm(#1376) - (revme) add --keep-going to statetest command (#1277)
- EOF (Ethereum Object Format) (#1143)
- (revme) Print one json outcome in statetest (#1347)
- Drops check for .json when testing a single file (#1301)
- (revme) increment statetest bar after running the test (#1377)
- (interpreter) branch less in as_usize_or_fail (#1374)
0.4.0 - 2024-04-02
- [breaking] TracerEip3155 optionally traces memory (#1234)
- use uint macro & fix various small things (#1253)
0.3.1 - 2024-03-19
- tag v32 revm v7.1.0 (#1176)
0.3.0 - 2024-03-08
- (revme) revme error output and remove double summary (#1169)
- (deps) bump walkdir from 2.4.0 to 2.5.0 (#1149)
0.2.2 - 2024-02-22
- split off serde_json dependency to its own feature (#1104)
0.2.1 - 2024-02-07
- tweeks for v4.0 revm release (#1048)
- (revme) make it runnable by goevmlab (#990)
- EvmBuilder and External Contexts (#888)
- Loop call stack (#851)
- (revme) format kzg setup (#818)
- (interpreter) add more helper methods to memory (#794)
- derive more traits (#745)
- Alloy primitives (#724)
- implement EIP-4844 (#668)
- (StateBuilder) switch builder option from without_bundle to with_bundle (#688)
- alloy migration (#535)
- State with account status (#499)
- (cancun) EIP-5656: MCOPY - Memory copying instruction (#528)
- json opcode traces EIP-3155 (#356)
- (Shanghai) All EIPs: push0, warm coinbase, limit/measure initcode (#376)
- revm-interpreter created (#320)
- Export CustomPrinter insector from revm (#300)
- substitute web3db to ethersdb (#293)
- (interpreter) Unify instruction fn signature (#283)
- (revm) Add prevrandao field to EnvBlock (#271)
- Migrate
primitive_types::U256toruint::Uint<256, 4>(#239) - (revm, revme) gas inspector (#222)
- (eip4844) Pass eth tests, additional conditions added. (#735)
- (test) Check expect exception and revm error (#734)
- k256 compile error (#451)
- (EvmBuilder) rename builder functions to HandlerCfg (#1050)
- (Interpreter) Split calls to separate functions (#1005)
- (revme) EmptyDb Blockhash string, json-outcome flag, set prevrandao in statetest (#994)
- (revme) add recovery of address from secret key (#992)
- (log) use alloy_primitives::Log (#975)
- (docs) revme readme update (#898)
- simplify use statements (#864)
- decode KZG points directly into the buffers (#840)
- bump v26 revm v3.5.0 (#765)
- tag v25, revm v3.4.0 (#755)
- BLOBBASEFEE opcode (#721)
- Never inline the prepare functions (#712)
- (deps) bump bytes from 1.4.0 to 1.5.0 (#707)
- make
impl Default for StateBuildergeneric (#690) - (deps) bump walkdir from 2.3.3 to 2.4.0 (#692)
- (cfg) convert chain_id from u256 to u64 (#693)
- Revert "feat: alloy migration (#535)" (#616)
- spell check (#615)
- avoid unnecessary allocations (#581)
- clippy and fmt (#568)
- optimize stack usage for recursive
callandcreateprograms (#522) - (deps) bump hashbrown from 0.13.2 to 0.14.0 (#519)
- Bump v24, revm v3.3.0 (#476)
- (deps) bump ruint from 1.7.0 to 1.8.0 (#465)
- Release v23, revm v3.2.0 (#464)
- Release v22, revm v3.1.1 (#460)
- v21, revm v3.1.0 (#444)
- bump all
- remove gas blocks (#391)
- (deps) bump bytes from 1.3.0 to 1.4.0 (#355)
- Bump v20, changelog (#350)
- Cleanup imports (#348)
- includes to libs (#338)
- Creating revm-primitives, revm better errors and db components (#334)
- Correct typo (#282)
- Integer overflow while calculating the remaining gas in GasInspector (#287)
- native bits (#278)
- (release) Bump revm and precompiles versions
- Bump primitive_types. Add statetest spec
- Bump revm to v2.3.0
- typos (#263)
- (eth/test) Added OEF spec for tests. Skip HighGasPrice (#261)
- Bump revm v2.1.0 (#224)
date: 18.12.2021
Initial release. statetest are done, other things I have just started working on.