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.
0.38.0 - 2026-04-14
- Revm state-gas integration (#405)
0.37.0 - 2026-04-13
- Eip-7708 logs (#413)
- Bump alloy to 2.0 (#421)
- Release 0.37.0
- Relax
CTXbounds onStorageInspectorInspectorimpl (#416)
0.36.1 - 2026-03-16
- Omit empty returnData in geth struct log trace (#411)
- Add set_transaction_caller and set_transaction_target (#412)
- Release 0.36.1
0.36.0 - 2026-03-04
- Bump revm to 36.0.0 (#409)
- Release 0.36.0
0.35.0 - 2026-03-03
- Implement Clone for DebugInspector (#406)
- Release 0.35.0
0.34.2 - 2026-01-30
- Expose refund_counter in
CallTrace(#402)
- Release 0.34.2
0.34.1 - 2026-01-26
- Use Default::default() for TransactionInfo for forward compatibility (#401)
- Always include storage values for
SLOADandSSTOREinGethTrace(#389)
- Release 0.34.1
- Update to tempoxyz (#395)
- Add prestate replay testing infrastructure (#399)
0.34.0 - 2026-01-16
- Release 0.34.0
0.33.2 - 2025-12-12
- Use pre code if hash matches (#387)
- Release 0.33.2
- Add test for string error decode (#386)
0.33.1 - 2025-12-05
- Release 0.33.1
0.33.0 - 2025-11-12
- Release 0.33.0
0.32.0 - 2025-11-03
- [tracing] Correctly handle selfdestructed accounts in post state (#377)
- Handle unknown opcodes (#373)
- [tracing] Convert empty revertReason to none (#353)
- Bump revm (#378)
- Better document CallTrace::depth (#372)
- Release 0.32.0
- Update
Boato v0.21.0 (#375)
- Make push_trace more readable (#371)
0.31.2 - 2025-10-16
- Release 0.31.2
- Guard against new tracer variants (#370)
0.31.1 - 2025-10-14
- Use correct depth for geth traces (#369)
- Release 0.31.1
0.31.0 - 2025-10-14
- Respect disableCode flag in diff mode for PreStateTracer (#362)
- Dont include code in post state if disabled (#366)
- [js-tracer] More fixes (#365)
- [js-tracer] Correctly handle
isPrecompiledandslicebuiltins (#363) - Fix return data in geth traces (#359)
- [deps] Bump
revmto30.1.0(#367)
- Release 0.31.0
- Rm doc_auto_cfg (#360)
- Simplify CallInputExt (#356)
- Remove depth and contract fields from CallTraceStep (#355)
- Remove step_stack (#357)
0.30.0 - 2025-09-23
- Release 0.30.0
- Add
SECURITY.md(#347)
0.29.2 - 2025-09-10
- [
ci] Feature checks failing due tostd::use (#348)
0.29.1 - 2025-09-02
- Add index to log (#344)
- Release 0.29.1
- [ci] Upgrade checkout to v5 (#342)
- [tracing] Update op to Cow (#327)
0.29.0 - 2025-08-25
- Bump to revm 29 (#341)
- Release 0.29.0
0.28.2 - 2025-08-23
- Release 0.28.2
- Clippy defense (#339)
- Add clone to storage inspector (#340)
- Add default init callframe (#338)
0.28.1 - 2025-08-20
- [js] Add logic to count current opcode cost instead of cumulative (#336)
- Release 0.28.1
- Make fns private (#337)
0.28.0 - 2025-08-12
- [deps] Bump revm 28.0.0, msrv 1.88 required for revm (#334)
- Release 0.28.0
- Rm log clone (#333)
- Decoded cleanups
0.27.1 - 2025-07-21
- Release 0.27.1
- Use hashmap default (#330)
0.27.0 - 2025-07-21
- Add erc7562 config (#317)
- Geth_erc7562_tracers addition (#316)
- Use native BigInt with compatibility layer (#314)
- Release 0.27.0
- Allocate some more initial capacity for CallTraceArena (#323)
- Optimize push_steps_on_stack to avoid temporary allocation (#320)
- Pre alloc struct logs (#319)
- Outline edgecov step fn (#318)
- Add top call revert test (#312)
0.26.5 - 2025-07-03
- Always record revert (#311)
- Release 0.26.5
0.26.4 - 2025-07-03
- Record manual revert pc (#310)
- Release 0.26.4
- Release 0.26.3
0.26.2 - 2025-07-03
- Use revert directly (#309)
- Release 0.26.2
0.26.1 - 2025-07-03
- Record state diffs for vm tracer (#308)
- Release 0.26.1
0.26.0 - 2025-07-01
- [deps] Bump to revm 27, alloy 1.2 (#307)
- Release 0.26.0
- Add trace_addresses helper (#306)
0.25.0 - 2025-06-20
- Bump revm v26.0.0 (#303)
- Release 0.25.0
0.24.0 - 2025-06-13
- Deduct call opcode gas (#304)
- Release 0.24.0
0.23.1 - 2025-06-07
0.23.0 - 2025-05-23
- [
deps] Bump revm to 24.0.0 (#300)
- Release 0.23.0
- Remove eof trace handlers (#299)
0.22.3 - 2025-05-19
- Use original bytecodes (#296)
- Release 0.22.3
- Make clippy happy (#297)
0.22.2 - 2025-05-16
- Js tracer behavior (#295)
- Release 0.22.2
0.22.1 - 2025-05-16
- Set error for exit call (#293)
- Release 0.22.1
0.22.0 - 2025-05-13
- Bump alloy 1.0.0 (#290)
- Release 0.22.0
0.21.0 - 2025-05-08
- Correct Ref<[u8]> to &[u8] conversion in FourByteInspector (#289)
- Bump revm (#288)
- Release 0.21.0
0.20.1 - 2025-04-30
- Added storageinspector (#285)
0.20.0 - 2025-04-23
- Bump alloy 0.15 (#284)
- Release 0.20.0
0.19.1 - 2025-04-16
- Release 0.19.1
- Excluded valid 7702 authorities from create_accesslist (#282)
0.19.0 - 2025-04-09
- Remove DatabaseCommit requirement from JsInspector ContextTr (#278)
0.18.1 - 2025-04-04
- Release 0.18.1
- Disable Revm default features (#277)
- Add accesslist tests (#276)
0.18.0 - 2025-03-28
- Use saturating sub for push stack calc (#274)
- Populate selfdestructs in localized parity (#273)
- Reversed JUMPI args (#272)
- Add additional constructors for parity trace config (#269)
- Release 0.18.0
0.16.0 - 2025-03-07
- Bump alloy 0.12 (#266)
- Release 0.16.0
0.15.0 - 2025-01-31
- Bump alloy 0.11 (#259)
- Simplify AccessListInspector API (#256)
- Add edge coverage tracking inspired by AFL/Lucid (#255)
- Support no_std (#250)
- Release 0.15.0
- Fix incorrect function check in mod.rs (#257)
- [tracer] No whitespace at the end of a line (#252)
- Grammar and Clarity Improvements in Code Comments (#258)
0.14.1 - 2024-12-30
- Release 0.14.1
- Make clippy happy (#249)
0.13.0 - 2024-12-10
- Bump alloy 0.8 (#245)
- Release 0.13.0
- Release 0.13.0
0.12.1 - 2024-12-04
- [js] Incorrect caller and contract address extracting (#244)
- Bump msrv 1.81 (#243)
- Release 0.12.1
- Remove bad todo (#242)
0.12.0 - 2024-11-28
- Bump alloy (#241)
- Release 0.12.0
0.11.0 - 2024-11-06
- Bump revm 18 alloy 0.6 (#238)
- Release 0.11.0
- Rustmft
0.10.0 - 2024-10-23
- Bump revm (#236)
- [prestate] Return code or storage as optional (#234)
- Release 0.10.0
0.9.0 - 2024-10-18
- [js] The opposite checking logic (#232)
- [tracing/js] ToHex returns with 0x as prefix (#226)
- [tracing/js] Error not set in result_fn (#222)
- [tracing/js] Fault_fn not checked (#221)
- Record state diffs in
all()(#215)
- [tests] Make the test code more clear and reuseable (#225)
- [tracing] Js-tracer add coinbase into context (#223)
- Tweak write_bytecodes output (#217)
- Add TraceWriterConfig (#216)
- Release 0.9.0
- [tracing/js] Add more unit tests (#231)
- Simplify JS utils (#229)
- [tests] Move js tracer into a single module (#224)
- [meta] Update deny.toml
- [tracing] Return detailed oog message (#218)
0.8.1 - 2024-09-30
- Use alloy maps (#207)
- Release 0.8.1
0.8.0 - 2024-09-30
- Bump alloy 0.4 (#206)
- Release 0.8.0
0.7.7 - 2024-09-24
- Add convenience conversion (#204)
- Release 0.7.7
0.7.6 - 2024-09-23
- Add creation code printing in traces (#202)
- Release 0.7.6
0.7.5 - 2024-09-23
- Release 0.7.5
- Add
from_flat_call_config(#203)
0.7.4 - 2024-09-18
- Release 0.7.4
- Support flatcall tracer
0.7.3 - 2024-09-18
- [tracing] Don't overwrite selfdestruct_address (#190)
- Release 0.7.3
0.7.2 - 2024-09-15
- [tracing] Align trace output with geth (#198)
- Release 0.7.2
- Rm intrusive collections
- Make clippy happy (#197)
0.7.1 - 2024-09-13
- Add helper for eth_simulateV1 to
TransferInspector(#196)
- Release 0.7.1
0.7.0 - 2024-09-11
- Release 0.7.0
- Add back from owned conversion (#194)
0.6.1 - 2024-09-09
- [tracing/builder] Ensure the selfdestruct trace is at the ending of the same depth (#192)
- [tracing/builder] Optimize the trace builder (#191)
- Release 0.6.1
- Pin intrusive collections (#193)
- Flatten alloy-rpc-types (#189)
- Use msrv 1.79 for clippy
- Use borrowed Arena in GethTraceBuilder (#178)
0.6.0 - 2024-08-29
- Trace
positionfield + bump deps (#186)
- Release 0.6.0
- Use
codefromAccountInfoif it isSome(#185)
0.5.7 - 2024-08-22
- Util method to get selector (#177)
- Release 0.5.7
- Chore : update homepage (#179)
- Move TransactionContext from js to tracing (#183)
0.5.6 - 2024-08-08
- Bump revm 13 (#176)
- Release 0.5.6
- Update tests
0.5.5 - 2024-08-01
- Geth trace inconsistence with selfdestruct (#173)
- Parity state diff when creating SC with balance (#172)
- Release 0.5.5
0.5.4 - 2024-07-25
- Release 0.5.4
0.5.3 - 2024-07-19
- Add immediate bytes recording (#169)
- Release 0.5.3
- Release 0.5.2
- Prefer using revm helpers (#168)
0.5.1 - 2024-07-17
- Bump revm 12.1 (#167)
- Release 0.5.1
0.5.0 - 2024-07-16
- Include
EOFCreateinis_any_create(#164) - Display full revert data when printing CREATE* traces (#160)
- Release 0.5.0
0.4.0 - 2024-07-09
- [EOF] Enable inspector calls (#156)
- Release 0.4.0
- Move CODEOWNERS
0.3.1 - 2024-07-02
- Add decoding for individual trace steps (#157)
- Release 0.3.1
- Improve opcode filter (#155)
0.3.0 - 2024-06-29
- Track selfdestruct transferred value separately (#153)
- [writer] Add support for external decoded data sources (#151)
- Expose mutable access to tracer config (#154)
- Release 0.3.0
- Optimize memory recording (#84)
0.2.0 - 2024-06-26
- Small updates for steps tracing (#152)
- Release 0.2.0
0.1.2 - 2024-06-21
- Add
SteptoLogCallOrder(#150)
- Release 0.1.2
- Release 0.1.1
0.1.0 - 2024-06-20
- Dont treat non existing accounts as created (#139)
- Use JsUint8Array for buffers (#134)
- Fix index out of bound when resetting TracingInspector (#115)
- Selfdestructs once and for all (#111)
- Always call gas inspector (#79)
- Use JSON.stringify for JS result (#71)
- Track dynamic gas used in opcode tracking gas (#45)
- [tracing] Collect logs only if call succeeded in geth
callTracer(#52) - Record CREATE + SELFDESTRUCT (#28)
- GetPC typo (#25)
- Prestate tracer (#18)
- Use original value in prestate tracer (#15)
- Apply runtime limits (#7)
- Use git directly
- Deny
- Bump revm v10.0 (#149)
- Bump revm (#148)
- [deps] Use crates.io alloy (#147)
- [deps] Bump revm dd98b3b (#145)
- Bump alloy to 6cb3713 (#144)
- Bump alloy 00d81d7 (#141)
- [deps] Bump alloy 14ed25d (#140)
- Bump alloy (#138)
- Bump alloy 5796024 (#137)
- Bump alloy 61140ec (#135)
- Bump alloy 7320d4c (#133)
- Bump alloy bd39117
- Bump alloy a28a543 (#132)
- Bump revm (#131)
- [deps] Bump alloy 5940871 (#130)
- [deps] Bump alloy fbd84f8 (#129)
- Bump alloy f415827 (#127)
- Bump alloy 07611cf (#125)
- Bump alloy 792b646 (#124)
- Bump alloy (#123)
- Bump alloy (#122)
- Bump alloy 9d3fa45 (#121)
- Bump alloy dd7a999 (#120)
- Bump alloy (#118)
- Bump revm to 9.0 (#97)
- Bump alloy (#117)
- Bump alloy 899fc51 (#114)
- Bump alloy 77c1240 (#110)
- Bump alloy 05af0de (#109)
- Bump alloy (#108)
- Bump alloy 17c5650 (#107)
- Bump alloy 0bb7604 (#106)
- Bump alloy af788af (#105)
- Bump alloy 4e22b9e (#102)
- Bump alloy 8808d21 (#101)
- [deps] Bump to alloy-core to
0.7.1and alloy to98da8b8(#100) - Bump alloy 39b8695 (#99)
- Alloy bump f1b4789 (#98)
- Bump alloy to 31846e7 (#96)
- Bump alloy 188c4f8 (#95)
- Bump alloy rpc deps (#94)
- Bump alloy rpc types (#93)
- [deps] Bump alloy 8cb0307 (#92)
- Bump alloy (#91)
- Bump alloy 987b393
- Bump alloy (#90)
- Bump alloy (#85)
- Bump alloy 17633df (#83)
- Bump alloy 8c9dd0a (#82)
- Bump alloy 7d5e42f (#80)
- Bump alloy (#78)
- Bump alloy version (#77)
- [bump] Revm v7.2.0 (#74)
- Bump MSRV to 1.76 (#73)
- Bump alloy 410850b (#72)
- Bump alloy (#68)
- Revm (#61)
- Bump alloy (#43)
- Bump revm (#42)
- Bump alloy rev (#31)
- Bump alloy (#30)
- Bump revm v5.0 (#29)
- Bump deps (#26)
- Revert "Revert "dep: lock alloy deps"" (#23)
- Revert "dep: lock alloy deps" (#22)
- Lock alloy deps (#8)
- Bump MSRV to 1.75 to match Alloy (#19)
- [deps] Bump alloys (#1)
- Add cliff changelog support (#146)
- Add TracingInspector::into_traces (#112)
- Derive default for
TracingInspector(#104) - Add transferinspector (#76)
- Write instruction result when displaying call traces (#75)
- More geth tracer config functions (#60)
- [tracing] Implement muxTracer (#57)
- Add opcode gas iter (#54)
- Bump alloy rpc types rev (#53)
- Bump alloy rpc types rev (#51)
- Bump alloy rpc types rev (#50)
- Add feature-gated Serde implementations (#47)
- Upstream trace formatting from Foundry (#38)
- Add op counter (#24)
- Migrate to new inspector API (#11)
- Use inspector db directly in js (#9)
- Add TransactionContext type (#5)
- Fork from
reth-revm-inspectors
- Release 0.1.0
- Add Cargo.toml exclude
- Add CODEOWNERS
- Upgrade revm version (#143)
- Alloy 64feb9b (#128)
- Always use new_unchecked (#89)
- Create unknown opcodes as unchecked (#88)
- [clippy] Allow missing transmute annotations (#86)
- Migrate to boa18 (#67)
- Remove inspector stack (#66)
- Add Inspector::fuse (#63)
- Remove unused code var (#56)
- Rename inspector (#55)
- Remove unused imports (#48)
- Remove maybeowned inspector (#44)
- Rename inspector generics (#33)
- Derive Default for CallTrace (#32)
- Sort derives (#35)
- Update call_inspectors macro syntax (#36)
- [clippy] Make clippy happy (#27)
- Enforce more lints (#10)
- Disable default features on revm (#4)
- Update release.toml
- Fix
clippy::use_self(#34) - Fmt
- Add decode revert test (#39)