PackageTrack
Sign in Get early access

revm-primitives

Revm primitives types

42.0.0 8.7M downloads/mo #3370 most downloaded on crates.io bluealloy/revm

What this package is like to depend on

Last release 1 months ago

23 Jul 2026

Ships fairly regularly

a new release about every 5 weeks

Most releases are documented

notes for 37 of 48 stable releases

1 version withdrawn

withdrawn after publishing

4 years old

54 releases · first in 2023

10 releases in the last 12 months

see the full history below

Release timeline

54 releases · Jan 2023 to Jul 2026
2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 54
  1. 42.0.0 23 Jul 2026
    Release notes

    REVM v42.0.0 Release Notes

    Date: 2026-07-23

    v114 aligns REVM with Glamsterdam devnet-7 and the
    [email protected] fixtures — all state_tests and
    blockchain_tests pass. All crates are released as 42.0.0.

    EIP-2780 runtime gas phase (#3795, ethereum/EIPs#11844)

    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.

    • Create transactions: new-account state gas is charged at runtime, only
      when the deployment target does not exist; an initcode revert/halt unwinds it.
    • EIP-7702: the pessimistic per-auth intrinsic charge becomes an intrinsic
      REGULAR_PER_AUTH_BASE_COST (7,816) plus per-authority runtime charges, with
      no refunds. The delegation target now follows the normal EIP-2929 warm/cold
      model.
    • Runtime out-of-gas no longer invalidates the transaction: it is included
      as an OOG halt consuming all gas, with all runtime state changes (including
      applied delegations) reverted, and returns the EIP-8037 reservoir.
    • Charging is incremental and stops at the first unaffordable charge, so later
      authorities and a cold delegation target are never loaded and stay out of the
      EIP-7928 BAL.

    Other devnet-7 alignment (#3795)

    • #11836: calldata floor anchored
      on the decomposed intrinsic base instead of flat TX_BASE.
    • #11891: 7702 ACCOUNT_WRITE
      charged on first write per authority, skipped only when already paid.
    • #11858: CREATE/CREATE2
      account-creation state gas charged conditionally at access in the creating
      frame, refilled LIFO when the create fails.
    • #11854: SSTORE must cover the
      slot access cost before the implicit read; an unaffordable cold access keeps
      the slot out of the block access list.
    • EIP-8246 replaces the EIP-7708 delayed burn; system-contract addresses
      updated per EIP-8282.
    • JournalEntry::CodeChange now records and restores the previous code hash and
      bytecode, fixing a phantom BAL code write on reverted 7702 delegation changes.

    Other changes

    • feat(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); stale
      SELFDESTRUCT journal entries ignored (#3805); journal finalized on error so the
      EIP-2929 warm set does not leak (#3780).
    • fix: GasTracker used-gas underflow (#3813); is_empty preserved on 7702
      accounts in load_account_delegated (#3802); storage original_value
      re-baselined only across tx boundaries (#3746); bytecode iterator fixes
      (#3800, #3792).
    • perf: fewer bounds checks in precompile parsing (#3784); no intermediate BAL
      account allocation (#3775); no double cloning in take_n_reverts (#3539).
    • chore(deps): crossbeam-epoch 0.9.20 for RUSTSEC-2026-0204 (#3804).

    See MIGRATION_GUIDE.md
    for the full list.

    What's Changed

    • feat(database): add database fallback mode for BAL misses by @mattsse in #3754
    • chore(deps): bump crate-ci/typos from 1.46.1 to 1.47.2 by @dependabot[bot] in #3749
    • chore(deps): bump taiki-e/install-action from 2.77.7 to 2.81.3 by @dependabot[bot] in #3748
    • chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #3747
    • feat: make max refund quotient configurable by @decofe in #3757
    • chore: make refund fallible by @klkvr in #3758
    • feat(state): accept BAL account change slices by @mattsse in #3762
    • chore(deny): allow proc-macro-error2 advisory by @mattsse in #3763
    • fix(state): re-baseline storage original_value only across tx boundaries by @asdv23 in #3746
    • perf: avoid intermediate BAL account allocation by @mattsse in #3775
    • fix(inspect): finalize journal on error to prevent EIP-2929 warm set leak by @KyrinCode in #3780
    • chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #3772
    • chore(deps): bump taiki-e/install-action from 2.81.3 to 2.82.0 by @dependabot[bot] in #3774
    • chore(deps): bump MarcoIeni/release-plz-action from 0.5.129 to 0.5.130 by @dependabot[bot] in #3759
    • chore(deps): bump EmbarkStudios/cargo-deny-action from 2.0.18 to 2.0.20 by @dependabot[bot] in #3738
    • chore(database): use Option::filter in BundleAccount::take_info_revert by @mrheyday in #3730
    • refactor: clarify EIP-7702 regular-gas GasId names by @rakita in #3725
    • perf(database): avoid double cloning in take_n_reverts by @saylor-mik87786 in #3539
    • chore(deps): bump CodSpeedHQ/action from 4.15.1 to 4.17.5 by @dependabot[bot] in #3773
    • test(bytecode): cover all truncated pushes by @decofe in #3783
    • chore(deps): bump taiki-e/install-action from 2.82.0 to 2.82.3 by @dependabot[bot] in #3786
    • chore(deps): bump CodSpeedHQ/action from 4.17.5 to 4.18.1 by @dependabot[bot] in #3785
    • perf(precompile): reduce bounds checks in precompile parsing by @0xalpharush in #3784
    • feat(amsterdam): glam devnet-6 gas accounting & EIP alignment by @rakita in #3782
    • chore(deps): bump dependencies by @rakita in #3794
    • fix(bytecode): avoid iterating legacy padding opcodes by @weifanglab in #3792
    • refactor(revme): separate bytecode from account in test state by @rakita in #3803
    • chore(deps): bump crossbeam-epoch to 0.9.20 (RUSTSEC-2026-0204) by @rakita in #3804
    • chore(deps): bump taiki-e/install-action from 2.82.3 to 2.83.2 by @dependabot[bot] in #3809
    • chore(deps): bump MarcoIeni/release-plz-action from 0.5.130 to 0.5.131 by @dependabot[bot] in #3810
    • chore(deps): bump CodSpeedHQ/action from 4.18.1 to 4.18.5 by @dependabot[bot] in #3808
    • chore(deps): bump EmbarkStudios/cargo-deny-action from 2.0.20 to 2.1.1 by @dependabot[bot] in #3811
    • fix: prevent GasTracker used gas underflow by @1sgtpepper in #3813
    • fix(inspector): ignore stale SELFDESTRUCT journal entries by @0xalpharush in #3805
    • test(bytecode): cover InvalidMagic and verify EIP-7702 magic constants by @4waan in #3806
    • fix(bytecode): preserve iterator position after truncated push by @pengqima in #3800
    • fix(context): keep is_empty on EIP-7702 account in load_account_delegated by @cuiweixie in #3802
    • chore(deps): bump crate-ci/typos from 1.47.2 to 1.48.0 by @dependabot[bot] in #3791
    • feat(amsterdam): glamsterdam devnet-7 alignment (EIP-2780 runtime gas phase, fixtures v7.0.0) by @rakita in #3795
    • refactor(handler): validate state before tracking gas by @klkvr in #3815
    • fix(inspector): forward EIP-7708 transfer logs to the inspector by @rakita in #3816
    • chore: release by @github-actions[bot] in #3814
    • bump: prep v114 release by @rakita in #3819

    New Contributors

    Full Changelog: v113...v114

    Open source →
    Release notes

    Added

    • (amsterdam) glamsterdam devnet-7 alignment (EIP-2780 runtime gas phase, fixtures v7.0.0) (#3795)
    • (amsterdam) glam devnet-6 gas accounting & EIP alignment (#3782)
    Open source →
  2. 41.0.0 11 Jun 2026
    Release notes

    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:

    • SSTORE gas accounting hook (#3734, #3750), StateBuilder::with_bundle_update_if (#3729), Account::is_changed (#3727)
    • Commit perf improvements (#3732)
    • Fix out-of-bounds pointer in analyze_legacy (#3752) and a const-eval panic in pop_address (#3735)

    See MIGRATION_GUIDE.md for migration notes.

    What's Changed

    • docs: add v112 changelog entry by @rakita in #3724
    • feat: Account::is_changed by @klkvr in #3727
    • feat(database): add conditional bundle update builder by @mattsse in #3729
    • perf: avoid reallocations and cloning during commit by @klkvr in #3732
    • feat: add SSTORE gas-state policy hook by @rakita in #3734
    • feat: wrap TransientStorage as AddressMap<StorageKeyMap> by @rakita in #3736
    • fix(interpreter): use IntoAddress in pop_address to avoid const-eval panic by @pjdurden in #3735
    • chore: make GasStateTr expose StateLoad by @0xrusowsky in #3737
    • Add MODEXP precompile benchmarks by @decofe in #3744
    • refactor: remove GasStateTr by @klkvr in #3750
    • Run cargo fmt by @decofe in #3751
    • fix(bytecode): avoid out-of-bounds pointer in analyze_legacy by @anders94 in #3752
    • chore: release by @github-actions[bot] in #3711
    • chore: bump all crates to v41.0.0 by @rakita in #3753

    New Contributors

    Full Changelog: v112...v113

    Open source →
    Release notes

    Other

    • explain CPSB acronym (#3716)
    Open source →
  3. 24.0.1 26 May 2026

    Nothing published for this version

  4. 24.0.0 19 May 2026
    Release notes

    Added

    • (eip8037) Amsterdam bal-devnet-7 (#3667)

    Other

    • remove unused spec ids (#3649)
    • audit #[allow] attributes (#3611)
    • (precompile) use static OnceLock array for Precompiles init (#3602)
    • (primitives) add SpecId::NEXT, drop num_enum dependency (#3593)
    • enable and fix clippy::missing_const_for_fn (#3592)
    • rm op-revm (migrated to ethereum-optimism/optimism) (#3568)
    Open source →
  5. 23.0.0 10 Apr 2026
    Release notes

    Added

    • Part of amsterdam devnet3 EIP updates (#3438)
    Open source →
  6. 22.1.0 03 Mar 2026
    Release notes

    Added

    • Implement EIP-7708 ETH transfers emit a log (#3334)

    Fixed

    • (journal) emit EIP-7708 log for selfdestructed accounts with remaining balance (#3394)

    Other

    • remove GPL mention and update gmp feature comments (#3383)
    • use fixed bytes hashmaps from alloy-core (#3358)
    • update default hardfork to Osaka (Ethereum) and Jovian (Optimism) (#3326)
    Open source →
  7. 22.0.0 15 Jan 2026

    Nothing published for this version

  8. 21.0.2 07 Nov 2025
    Release notes

    Other

    • tag v96 revm v31.0.0 (#3135)
    Open source →
  9. 21.0.1 15 Oct 2025
    Release notes

    Other

    • resize short addresses bitvec instead of reallocating (#3083)
    Open source →
  10. 21.0.0 07 Oct 2025
    Release notes

    Added

    • (revme) ef blockchain tests cli (#2935)

    Fixed

    • Align no_std OnceLock semantics with std (#3026)
    • racecondition return on install_crypto fn (#2997)
    • Apply spelling corrections from PRs #2926, #2915, #2908 (#2978)

    Other

    • add boundless (#3043)
    • add SECURITY.md (#2956)
    • add amsterdam in spec id (#2934)
    • (cleanup) Remove EIP-7918 related functions and EIP file (#2925)
    • cargo update (#2930)
    Open source →
  11. 20.2.1 12 Aug 2025
    Release notes

    Other

    • small performance and safety improvements (#2868)
    Open source →
  12. 20.2.0 07 Aug 2025
    Release notes

    Added

    • short address for journal cold/warm check (#2849)

    Other

    • update README.md (#2842)
    • improve primitives crate documentation and consistency (#2829)
    • reuse global crypto provide idea (#2786)
    • add rust-version and note about MSRV (#2789)
    • add OnceLock re-export with no_std support (#2787)

    Changelog

    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.

    Open source →
  13. 20.1.0 23 Jul 2025
    Release notes

    Added

    • (osaka) update EIP-7825 constant (#2753)
    • expose sha3-keccak in revm and revm-primitives (#2713)

    Fixed

    • features and check in ci (#2766)
    Open source →
  14. 20.0.0 19 Jun 2025
    Release notes

    Added

    • remove EOF (#2644)
    • configurable contract size limit (#2611) (#2642)
    • (precompile) rug/gmp-based modexp (#2596)
    Open source →
  15. 19.2.0 06 Jun 2025
    Release notes

    Added

    • (Osaka) EIP-7825 tx limit cap (#2575)
    • transact multi tx (#2517)

    Other

    • support functions for eip7918 (#2579)
    Open source →
  16. 19.1.0 23 May 2025
    Release notes

    Added

    • (Osaka) modexp input limit and gas change, EIP-7823 and EIP-7883 (#2531)

    Other

    • nit, activation timestamp was 84, first 7702 bundle landed in 86 (#2528)
    • make crates.io version badge clickable (#2526)
    • add Prague activation timestamp (#2514)
    • Storage Types Alias (#2461)
    Open source →
  17. 19.0.0 07 May 2025
    Release notes

    Added

    • (Osaka) disable EOF (#2480)
    • (EOF) Changes needed for devnet-1 (#2377)

    Other

    • copy edit The Book (#2463)
    • bump dependency version (#2431)
    • fixed broken link (#2421)
    • replaced SpecId enumn with num_enum (#2420)
    • bump stable tests, introduce lints (#2403)
    Open source →
  18. 18.0.0 09 Apr 2025
    Release notes

    Other

    • add 0x prefix to b256! and address! calls (#2345)
    Open source →
  19. 17.0.0 28 Mar 2025
    Release notes

    Other

    • Remove LATEST variant from SpecId enum (#2299)
    • make number more readable (#2300)
    Open source →
  20. 16.0.0 24 Mar 2025
    Release notes

    Stable version

    Open source →
  21. 16.0.0-alpha.5 21 Mar 2025 pre-release
    Release notes

    Other

    • make str to SpecId conversion fallible (#2236)
    • remove blockhash windows const (#2228)
    Open source →
  22. 16.0.0-alpha.4 16 Mar 2025 pre-release
    Release notes

    Added

    • (docs) MyEvm example and book cleanup (#2218)
    Open source →
  23. 16.0.0-alpha.3 11 Mar 2025 pre-release
    Release notes

    Fixed

    • correct propagate features (#2177)
    Open source →
  24. 16.0.0-alpha.2 10 Mar 2025 pre-release
    Release notes

    Added

    • remove specification crate (#2165)

    Other

    • move all dependencies to workspace (#2092)
    Open source →
  25. 16.0.0-alpha.1 16 Feb 2025 pre-release
    Release notes

    Added

    • (eip7702) apply latest EIP-7702 changes, backport from v52 (#1969)
    • simplify Transaction trait (#1959)
    • restructuring Part6 transaction crate (#1814)
    • restructure Part2 database crate (#1784)
    • project restructuring Part1 (#1776)
    • to_plain_state (#1778)
    • introducing EvmWiring, a chain-specific configuration (#1672)

    Other

    • backport op l1 fetch perf (#2076)
    • Bump licence year to 2025 (#2058)
    • align crates versions (#1983)
    • Update HISTORY_STORAGE_ADDRESS (#1946)
    • fix comments and docs into more sensible (#1920)
    • (primitives) replace HashMap re-exports with alloy_primitives::map (#1805)
    Open source →
  26. 15.2.0 11 Feb 2025

    Nothing published for this version

  27. 15.1.0 26 Dec 2024
    Release notes

    Added

    • blst reprice, remove g1/g2 mul, eest test bump (#1951)
    • add Isthmus spec (#1948)
    • eip7691 fraction update (#1900)
    • apply latest EIP-7702 changes (#1850)
    • (Prague) EIP-7623 Increase Calldata Cost (#1744)

    Other

    • eip7702 chainid u256 change (#1950)
    • Uncouple blob count between CL and EL (#1899)
    Open source →
  28. 15.0.0 26 Dec 2024 withdrawn

    Nothing published for this version

  29. 14.0.0 06 Nov 2024
    Release notes

    Added

    Other

    • bump alloy-eip7702 and remove Parity re-export (#1842)
    Open source →
  30. 13.0.0 23 Oct 2024
    Release notes

    Other

    • bump alloy-eip7702 (#1829)
    Open source →
  31. 12.0.0 17 Oct 2024
    Release notes

    Other

    • update Cargo.toml dependencies
    Open source →
  32. 11.0.0 17 Oct 2024
    Release notes

    Added

    • EIP-7702 Add u8 validity (#1824)
    • Rename PRAGUE_EOF to OSAKA (#1822)
    • (EIP-7702) devnet-4 changes (#1821)

    Other

    • bump newest primitives (#1823)
    Open source →
  33. 10.0.0 26 Sep 2024

    Nothing published for this version

  34. 9.0.2 18 Sep 2024
    Release notes

    Other

    • (deps) bump alloy-primitives from 0.8.0 to 0.8.2 (#1761)
    Open source →
  35. 9.0.1 30 Aug 2024
    Release notes

    Other

    • Bump new logo (#1735)
    • bump kzg-rs version (#1734)
    Open source →
  36. 9.0.0 29 Aug 2024
    Release notes

    Added

    • (eip7702) Impl newest version of EIP (#1695)
    • c-kzg bump, cleanup on kzgsetting (#1719)

    Other

    • (deps) bump alloy and primitives (#1725)
    • cast block number to u64 and not usize (#1727)
    • bump kzg-rs version (#1726)
    Open source →
  37. 8.0.0 08 Aug 2024
    Release notes

    Added

    • (EOF) add evmone test suite (#1689)
    • check for typos in CI (#1686)
    • (EOF) Add non-returning CALLF/JUMPF checks (#1663)
    • (EOF) EOF Validation add code type and sub container tracker (#1648)

    Fixed

    • (EOF) Overflow on num_sections (#1656)

    Other

    • Add OP-Granite hardfork, limiting bn256Pairing input size (#1685)
    • Renamed some city name (#1645)
    • use is_zero for U256 and B256 (#1638)
    • fix some typos & remove useless Arc::clone (#1621)
    • (eof) avoid some allocations (#1632)
    • (eof) simplify magic checks (#1633)
    Open source →
  38. 7.1.0 16 Jul 2024

    Nothing published for this version

  39. 7.0.0 16 Jul 2024
    Release notes

    Added

    • (EOF) Bytecode::new_raw supports EOF, new_raw_checked added (#1607)
    • use kzg-rs for kzg point evaluation (#1558)

    Fixed

    • (eip7702) Add tests and fix some bugs (#1605)
    • (EOF) Use cfg code size limit for eofcreate (#1606)
    • missing kzg_settings if kzg-rs feature enabled (#1601)

    Other

    • bump alloy deps (#1623)
    • (deps) bump alloy-primitives from 0.7.6 to 0.7.7 (#1612)
    • group optimism invalid txn errors (#1604)
    • (deps) bump bitflags from 2.5.0 to 2.6.0 (#1583)
    • Rename gas_price to gas_limit for precompile args (#1593)
    Open source →
  40. 6.0.0 08 Jul 2024
    Release notes

    Added

    • (Precompiles) Throw fatal error if c-kzg is disabled (#1589)
    • (Prague) Add EIP-7702 (#1565)
    • add helper function to mape EVMError's Database error variant (#1567)

    Other

    • (README) add rbuilder to used-by (#1585)
    • add utility function AccountInfo::from_bytecode (#1577)
    • replace AccessList with alloy version (#1552)
    • replace U256 with u64 in BLOCKHASH (#1505)
    Open source →
  41. 5.0.0 20 Jun 2024
    Release notes

    Added

    • (EOF) Put EOF bytecode behind an Arc (#1517)
    • (EOF) EXTCODECOPY,EXTCODESIZE,EXTCODEHASH eof support (#1504)
    • (precompiles) fatal error for precompiles (#1499)
    • Persist reverted account and storage slot lookups in JournaledState (#1437)
    • (EOF) EIP-7698 eof creation transaction (#1467)
    • (optimism) Add secp256r1 precompile for Fjord (#1436)
    • (EOF) Add CALLF/JUMPF stack checks (#1417)
    • (EOF) remove TXCREATE (#1415)

    Fixed

    • (eof) fixture 2 tests (#1550)
    • (primitives) specify the optimism cfg on spec_to_generic (#1412)

    Other

    • replace TransactTo with TxKind (#1542)
    • remove DatabaseWithDebugError (#1545)
    • avoid cloning precompiles (#1486)
    • added simular to used-by (#1521)
    • derive PartialEq and Hash on EnvKzgSettings (#1494)
    • remove old deprecated items (#1489)
    • (primitives) rename State/Storage to EvmState/EvmStorage (#1459)
    • Revert "Revert "feat: implement EIP-2935 (#1354)" (#1424)" (#1426)
    • Revert "feat: implement EIP-2935 (#1354)" (#1424)
    Open source →
  42. 4.0.0 12 May 2024
    Release notes

    Added

    • Add bytes to Bytecode (#1396)
    • implement EIP-2935 (#1354)
    • add Bytecode::original_bytecode_slice to match BytecodeLocked (#1286)
    • add flag to force hashbrown usage (#1284)
    • EOF (Ethereum Object Format) (#1143)
    • pass rand feature to alloy_primitives (#1276)
    • (interpreter) remove SPEC generic from gas calculation functions (#1243)

    Other

    • add Trin to used by list (#1393)
    • bump c-kzg to 1.0.2 (#1390)
    • refactor lints (#1386)
    • add blob_count and max_blobs to TooManyBlobs err enum (#1375)
    • bump alloy & specify dep rev (#1380)
    • don't clone bytes in Bytecode::bytes (#1344)
    • shrink OpCodeInfo and add more methods (#1307)
    • Implement with_chain_id for CfgEnv (#1327)
    • (interpreter) remove EOF branch in CODE{SIZE,COPY} (#1308)
    • Update documentation (#1275)
    Open source →
  43. 3.1.1 02 Apr 2024
    Release notes

    Fixed

    • fix eip3155 summary gas_used bug and add fork name (#1216)

    Other

    • use uint macro & fix various small things (#1253)
    • (deps) bump alloy 0.7.0 (#1250)
    Open source →
  44. 3.1.0 19 Mar 2024
    Release notes

    Added

    • implement Default for EnvWithHandlerCfg (#1206)
    • optional nonce check (#1195)

    Fixed

    • use std hashmap with "std" feature (#1193)

    Other

    • (deps) bump bitflags from 2.4.2 to 2.5.0 (#1210)
    • clarify None nonce (#1204)
    • c-kzg v1.0.0 (#1190)
    • fix some typos (#1189)
    • Fix typo in readme (#1185)
    • improve error implementations (#1183)
    Open source →
  45. 3.0.0 08 Mar 2024
    Release notes

    Added

    • (primitives) derive Default for SpecId (#1171)
    • implement DatabaseCommit for DatabaseComponents (#1163)
    • add PrecompileError::Other (#1165)
    • use impl instead of dyn in GetInspector (#1157)
    • Add boxed precompile trait (#1131)

    Other

    • (interpreter) evaluate instruction table constructor at compile time (#1140)
    • (deps) bump auto_impl from 1.1.2 to 1.2.0 (#1132)
    • add helper function for spec id (#1130)
    Open source →
  46. 2.1.0 23 Feb 2024
    Release notes

    Added

    • bump c-kzg, add portable feature, make it default (#1106)

    Other

    Open source →
  47. 2.0.1 17 Feb 2024
    Release notes

    Fixed

    • rename and pass optimism-default-handler to revm-primitives (#1098)
    • optimism compilation (#1091)
    • Set is_optimism to true if default config (#1087)

    Other

    • (precompile) use Bytes in precompile functions (#1085)
    • license date and revm docs (#1080)
    Open source →
  48. 2.0.0 07 Feb 2024
    Release notes

    Added

    • tweeks for v4.0 revm release (#1048)
    • (op) Ecotone hardfork (#1009)
    • (revme) make it runnable by goevmlab (#990)
    • Convert optimism panic into graceful error (#982)
    • EvmBuilder and External Contexts (#888)
    • add asm-keccak feature (#972)
    • Canyon hardfork behind optimism feature flag (#871)
    • Loop call stack (#851)
    • transition account balance delta (#843)
    • (cfg) optionally disable beneficiary reward (#834)
    • add is_empty_code_hash fn (#826)
    • (revme) format kzg setup (#818)
    • add more auto_impls to revm traits (#799)
    • (interpreter) add more helper methods to memory (#794)
    • add changed storage slots iter (#801)
    • derive more traits (#745)

    Fixed

    • use maximum possible data fee for 4844 balance checks (#981)
    • make revm-primitives no-std with c-kzg feature (#933)
    • (ci) Workflow Touchups (#901)
    • (op) Base Goerli op-reth sync patches (#824)
    • rename DatabaseRef trait functions to *_ref (#795)
    • (primitives) Error Primitive Display + Error Implementations (#770)

    Other

    • bump c-kzg and enable blst portable feature (#1059)
    • helper functions around Env (#1057)
    • (std) Add std HashMap,HashSet (#1041)
    • (op) Move op l1 block load to op handler (#1026)
    • add some docs to StorageSlot (#1019)
    • fix serde std flags for no-std build (#987)
    • (deps) bump bitflags from 2.4.1 to 2.4.2 (#983)
    • (log) use alloy_primitives::Log (#975)
    • enhance readability (#968)
    • (interpreter) improve enum naming (#962)
    • (deps) alloy 0.6 (#963)
    • (primitives) improve readability of Env.validate_tx() (#924)
    • (primitives) optimize AccountInfo.is_empty() (#922)
    • (deps) bump once_cell from 1.18.0 to 1.19.0 (#908)
    • fix case for CreateInitCodeSizeLimit error (#896)
    • Add docs to optimism InvalidTransaction errors. (#884)
    • (deps) run cargo update, bump alloy-primitives (#880)
    • (primitives) don't duplicate the SpecId::enabled() logic (#869)
    • simplify use statements (#864)
    • cargo fmt and removed extra newlines (#860)
    • Fix error message for LackOfFundForMaxFee (#858)
    • Fix rustdoc warnings (#859)
    • bump c-kzg to v0.4.0 (#849)
    • (state) move account status transitions to AccountStatus (#844)
    • decode KZG points directly into the buffers (#840)
    • (deps) make derive-more optional (#827)
    • (eip4844) update kzg trusted setup (#822)
    • (deps) bump bitflags from 2.4.0 to 2.4.1 (#803)
    • include alloy-primitives std feature (#788)
    • (primitives) OptimismFields Docs Cleanup (#778)
    • Remove dead state trait function (#779)
    • Verify account is empty checks (#780)
    • (primitives) Clean up the account typs with docs (#776)
    • Use upstream create and create2 implementations (#775)
    • Implement display and error for precompile error (#777)
    • reorder env members (#771)
    • document everything, dedup existing docs (#741)

    v1.3.0

    date 02.10.2023

    Migration to alloy primitive types.

    Full git log:

    • af4146a - feat: Alloy primitives (#724) (15 hours ago) <evalir>
    • 83d27b0 - fix: use u128 for calc_blob_gasprice (#764) (16 hours ago) <Dan Cline>
    • 1f86e45 - chore(deps): bump proptest from 1.2.0 to 1.3.1 (#763) (21 hours ago) <dependabot[bot]

    v1.2.0

    date 28.09.2023

    Summary of biggest changes:

    • Some check for Env validity moved from revm to primitives crate.
    • Cancun spec introduced.
    • no_std added to primitives.
    • introduce initcode size limit check taking config into account.
    • deprecate RefDBWrapper for more generic WrapDatabaseRef.
    • Implement Error for EVMError.
    • Removal of hash from Bytecode.
    • ChainId converted from U256 to u64.
    • CfgEnv marked as non_exhaustive to accommodate future changes.
    • Introduce InvalidHeader error that contains prevrandao and blob gas not set errors.
    • c-kzg added as dependency as it is needed for KzgSetting that is sed inside EnvCfg.

    Full git log:

    • ea0d8d8 - fix: use u128 for calc data fee result (#757) (49 minutes ago) <Dan Cline>
    • 4f916be - chore: bump c-kzg to create lib (#758) (5 hours ago) <rakita>
    • f79d0e1 - feat: Optimism execution changes (#682) (16 hours ago) <clabby>
    • d03dfcb - Improve wording and fix typos (#749) (25 hours ago) <Paul Razvan Berg>
    • 8a85d19 - fix: balance check disabled (#751) (25 hours ago) <Wodann>
    • 8206193 - feat: add "kzg" as a separate feature (#746) (80 minutes ago) <DaniPopes>
    • 26af13e - EIP-7516: BLOBBASEFEE opcode (#721) (5 days ago) <rakita>
    • f72eaa0 - chore: error type for block header (#731) (5 days ago) <hack3r-0m>
    • 1f31756 - document when InvalidTransaction errors are thrown (#722) (6 days ago) <Alessandro Mazza>
    • cb39117 - fix(eip4844): Pass eth tests, additional conditions added. (#735) (6 days ago) <rakita>
    • 70cf969 - chore: rm nonexhaustive for error (#726) (8 days ago) <Matthias Seitz>
    • fa13fea - feat: implement EIP-4844 (#668) (11 days ago) <DaniPopes>
    • d615514 - chore: clippy incorrect_clone_impl_on_copy_type (#720) (12 days ago) <rakita>
    • 5d68dd5 - chore(deps): bump bytes from 1.4.0 to 1.5.0 (#707) (2 weeks ago) <dependabot[bot]>
    • 7eacc3a - chore: implement Default for other databases (#691) (3 weeks ago) <DaniPopes>
    • 616cc7e - chore(cfg): convert chain_id from u256 to u64 (#693) (3 weeks ago) <Lorenzo Feroleto>
    • 7e7cb02 - Small doc comment fix (#698) (3 weeks ago) <refcell.eth>
    • f6c9c7f - chore: deprecate RefDBWrapper (#696) (3 weeks ago) <DaniPopes>
    • b0ee6d4 - feat: derive PartialEq, Eq for Env (#689) (3 weeks ago) <Dan Cline>
    • 86d25c6 - chore: remove unused new_raw_with_hash (#676) (4 weeks ago) <Dan Cline>
    • 175aaec - Removed the last dependencies breaking no-std build. (#669) (4 weeks ago) <Lucas Clemente Vella>
    • f2929ad - chore(deps): bump proptest-derive from 0.3.0 to 0.4.0 (#652) (4 weeks ago) <dependabot[bot]>
    • 2054293 - chore: misc improvements (#633) (5 weeks ago) <DaniPopes>
    • 43d535c - style: bundle state (#637) (5 weeks ago) <Roman Krasiuk>
    • 321152a - book workflow (#537) (5 weeks ago) <Waylon Jepsen>
    • 0028193 - feat: Optional coinbase tip (#625) (5 weeks ago) <clabby>
    • 3907fdf - chore: mark CfgEnv as non_exhaustive (#623) (5 weeks ago) <rakita>
    • 68820da - feat(state): Block hash cache and overrides (#621) (5 weeks ago) <rakita>
    • eb6a9f0 - Revert "feat: alloy migration (#535)" (#616) (6 weeks ago) <rakita>
    • c1bad0d - chore: spell check (#615) (6 weeks ago) <Roman Krasiuk>
    • 449d6b9 - chore: export some unreachable_pub items (#598) (6 weeks ago) <DaniPopes>
    • fc2107c - chore: Revert test, not change storage check , renaming of original slot value (#601) (6 weeks ago) <rakita>
    • f95b7a4 - feat: alloy migration (#535) (6 weeks ago) <DaniPopes>
    • 5cdaa97 - chore: avoid unnecessary allocations (#581) (6 weeks ago) <DaniPopes>
    • e9b6859 - chore(deps): bump bitflags from 2.3.3 to 2.4.0 (#596) (6 weeks ago) <dependabot[bot]>
    • ef57a46 - feat: State with account status (#499) (7 weeks ago) <rakita>
    • 157ef36 - feat: introduce initcode size limit check taking config into account (#587) (7 weeks ago) <evalir>
    • 06b1f6b - feat: EIP-1153 Transient storage opcodes (#546) (8 weeks ago) <Mark Tyneway>
    • 781c8cc - feat: Implement Error for EVMError (#559) (9 weeks ago) <Yiannis Marangos>
    • 5ce9dc9 - chore: clippy and fmt (#568) (9 weeks ago) <rakita>
    • c153428 - feat(cancun): EIP-5656: MCOPY - Memory copying instruction (#528) (3 months ago) <Waylon Jepsen>
    • 1839b3f - chore(deps): bump hashbrown from 0.13.2 to 0.14.0 (#519) (3 months ago) <dependabot[bot]>
    • 63f9460 - chore(deps): bump auto_impl from 1.0.1 to 1.1.0 (#478) (3 months ago) <dependabot[bot]>
    • b224874 - chore: add util functions for getting output data (#509) (4 months ago) <Matthias Seitz>
    • e0ec1cc - chore: fix typo (#488) (4 months ago) <adria0.eth>
    • f8ff6b3 - feat: separate initial checks (#486) (5 months ago) <rakita>
    • d193418 - chore: Bundle inspector crate/call calls (#480) (5 months ago) <rakita>
    • 75a6136 - feat: Introduce account status as bitflag inside JournalState (#477) (5 months ago) <rakita>

    v1.1.2

    date: 03.05.2023

    small release:

    • ccefbca - chore(deps): bump ruint from 1.7.0 to 1.8.0 (#465) (50 minutes ago) <dependabot[bot]>
    • d7adfd5 - Fix typo in primitives/src/state.rs (#474) (50 minutes ago) <Udoagwa Franklin>
    • 08091e1 - fix: compile errors for features (#467) (13 days ago) <rakita>

    v1.1.1

    date: 14.04.2023

    One change:

    • 4915bd1 - chore: add into_logs (#453) (3 days ago)

    v1.1.0

    date: 04.04.2023

    Mosty utility functions, additional checks and convenience changes. Old bytecode that supported gas block was replaced with jumpmap only bitvec.

    Changelog:

    • 992a11c - (HEAD -> v/310, origin/lib_versions) bump all (81 minutes ago) <rakita>

    • c2ee8ff - add feature for ignoring base fee check (#436) (6 days ago) <Dan Cline>

    • 2d5b710 - Comment Fix (#430) (2 weeks ago) <David Kulman>

    • d0038e3 - chore(deps): bump arbitrary from 1.2.3 to 1.3.0 (#428) (2 weeks ago) <dependabot[bot]>

    • 3d8ca66 - feat: add Output::into_data (#420) (3 weeks ago) <Matthias Seitz>

    • dd0e227 - feat: Add all internals results to Halt (#413) (4 weeks ago) <rakita>

    • d8dc652 - fix(interpreter): halt on CreateInitcodeSizeLimit (#412) (4 weeks ago) <Roman Krasiuk>

    • a193d79 - chore: enabled primtive default feature in precompile (#409) (4 weeks ago) <Matthias Seitz>

    • 33bf8a8 - feat: use singular bytes for the jumpmap (#402) (4 weeks ago) <Bjerg>

    • 394e8e9 - feat: extend SuccessOrHalt (#405) (4 weeks ago) <Matthias Seitz>

    • cff1070 - Update readmdoc of perf_analyse_created_bytecodes (#404) (4 weeks ago) <rakita>

    • 7bb73da - feat: Add check for chainID (#393) (4 weeks ago) <chirag-bgh>

    • 3a17ca8 - feat: add b256<->u256 from impls (#398) (4 weeks ago) <Matthias Seitz>

    • 3789509 - feat: add API to retrieve unpadded bytecode (#397) (5 weeks ago) <Wodann>

    • f91d5f9 - refactor: remove gas blocks (#391) (5 weeks ago) <Bjerg>

    • 5efd9d1 - impl NonceTooHigh/ NonceTooLow checks (#383) (6 weeks ago) <gd>

    • 188dacf - improvement: derive Debug for DatabaseComponentError (#377) (7 weeks ago) <Wodann>

    • 0401cfd - Add B160/B256 From primitive_types traits (#380) (7 weeks ago) <Francesco Cinà>

    • 08ce847 - feat(Shanghai): All EIPs: push0, warm coinbase, limit/measure initcode (#376) (7 weeks ago) <rakita>

    • 6710511 - add no_std to primitives (#366) (7 weeks ago) <rakita>

    • 5788340 - chore(deps): bump bytes from 1.3.0 to 1.4.0 (#355) (7 weeks ago) <dependabot[bot]>

    • b4c62e9 - chore: rename Then to Than (#368) (7 weeks ago) <Matthias Seitz>

    • 1c3e9e3 - improvement: use alloc & core for Arc impl (#367) (8 weeks ago) <Wodann>

    • 3158ce9 - feat: implement Debug for DatabaseComponentError if supported (#363) (8 weeks ago) <Wodann>

    • d9727c2 - improvement: add error details to InvalidTransaction::LackOfFundForGasLimit (#364) (8 weeks ago) <Wodann>

    • 5d6ecd0 - improvement: implement BlockHash for Arc<BlockHashRef> (#361) (8 weeks ago) <Wodann>

    • ae9baba - improvement: implement State for Arc<StateRef> (#360) (8 weeks ago) <Wodann>

    • 1fca102 - chore(deps): bump proptest from 1.0.0 to 1.1.0 (#358) (8 weeks ago) <dependabot[bot]>

    • 9b663bb - feat: Different OutOfGas Error types (#354) (9 weeks ago) <Chirag Baghasingh>

    v1.0.0

    date: 29.01.2023

    Interpreter was extracted from main revm crate at the revm v3.0.0 version.

    Open source →
  49. 1.3.0 03 Oct 2023

    Nothing published for this version

  50. 1.2.0 28 Sep 2023

    Nothing published for this version

  51. 1.1.2 03 May 2023

    Nothing published for this version

  52. 1.1.1 14 Apr 2023

    Nothing published for this version

  53. 1.1.0 04 Apr 2023

    Nothing published for this version

  54. 1.0.0 29 Jan 2023

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive