v0.7.0
v0.7.0
Major features
• Krakatoa - application side mempool implementation.
• BlockSTM parallel execution support.
• ICS-02 client-router precompile.
• OpenTelemetry tracing.
• JSON-RPC filter lifecycle overhaul.
• 2026.1 release family dependency updates.
For migrating from v0.6.x, please refer to the migration guide .
What's Changed
• feat(evmd): Enable RocksDB backend compilation for evmd by @mattac21 in #747
• Update and rename v0.4.0_to_v0.5.0_UNRELEASED.md to v0.4.0_to_v0.5.0.md by @vladjdk in #750
• chore: update security email by @aljo242 in #749
• fix(ante): respect NoBaseFee params in DynamicFeeChecker by @pitasi in #748
• chore: apply state overrides to eth_estimateGas api by @cloudgray in #743
• chore: Bump golang to 1.25.0 by @Eric-Warehime in #761
• chore: move relevant hardcoded configs back to evmd as an example by @vladjdk in #751
• chore: address docs gaps by @vladjdk in #764
• fix: avoid panic on close if evm mempool not used by @mmsqe in #772
• chore(precompiles)!: use pure abi in abi.json by @yihuang in #758
• fix: correct error message in NewMsgCancelProposal by @heijiLee in #756
• chore!: Bump ibc-go by @Eric-Warehime in #762
• refactor: systemtests by @cloudgray in #720
• Add backport action for v0.5.x branch by @aljo242 in #775
• fix: event emission in erc20 precompile by @aljo242 in #774
• chore: attempt to fix systemtest by @aljo242 in #776
• fix: ibc middleware verify sender address incorrectly by @yihuang in #769
• fix(ci): solve gas meter race condition in integration tests by @almk-dev in #732
• fix: align gas estimation logic with go-ethereum v1.16.3 by @cloudgray in #766
• fix: allow ledger flag work with coin type 60 by @mmsqe in #690
• chore: cleanup x/vm params logic by @aljo242 in #786
• feat(precompiles)!: added ics02 client router precompile by @srdtrk in #768
• feat!: Block STM by @Eric-Warehime in #589
• chore: Remove go tool cover in make test-unit-cover by @Eric-Warehime in #792
• fix: `evmCoinInfo` not exists in historical state by @yihuang in #790
• docs: add InitEvmCoinInfo code example to migration guide by @Cordtus in #793
• chore: bump gogoproto to v1.7.2 by @almk-dev in #785
• fix(mempool): fix mempool.max-txs flag not using desired default of 0 by @almk-dev in #794
• docs(migration): update 0.4.0 to 0.5.0 to properly describe mempool.max-tx flag usage change by @almk-dev in #796
• fix: Fix denom exponent checks by @Eric-Warehime in #800
• chore: lint fix and gen mocks by @aljo242 in #787
• chore: upgrade from v0.5 in system test by @aljo242 in #801
• fix: system test by @aljo242 in #805
• fix: wrong TransactionIndex in receipt by @mmsqe in #806
• fix: Use default sdk denom for evm genesis by @Eric-Warehime in #811
• refactor: fix integration test suite to resolve lock contention problem from external app injection by @cloudgray in #810
• fix: avoid nil pointer when RPC requests execute before evmCoinInfo init by @mmsqe in #816
• refactor: remove authz dependency from test suite and EvmApp interface by @cloudgray in #823
• chore: fix codecov target by @aljo242 in #824
• fix: align GetCoinbaseAddress to handle empty proposer address by @mmsqe in #817
• fix: validate decimals before conversion to prevent panic in GetBaseFee by @mmsqe in #828
• refactor(test): separate test app interface by @cloudgray in #829
• test: adjusts precisebank module account balance to expected amount by @mmsqe in #837
• refactor: replace unnecessary keeper dependencies from tests by @cloudgray in #838
• feat: speedtest by @technicallyty in #827
• fix: events emitted in hooks are duplicated by @yihuang in #814
• chore: cleanup speedtest cmd by @technicallyty in #843
• fix(test): avoid mutation of global int256 variable by @mmsqe in #842
• chore(deps): bump the go_modules group across 5 directories with 2 updates by @dependabot [bot] in #847
• chore: add better validation to tx fields by @aljo242 in #846
• chore: bump solidity testing deps by @aljo242 in #851
• fix: ledger nano x on linux by @reecepbcups in #862
• chore(deps-dev): bump pbkdf2 from 3.1.2 to 3.1.5 in /contracts by @dependabot [bot] in #850
• chore(deps): bump the npm_and_yarn group across 5 directories with 21 updates by @dependabot [bot] in #848
• chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot [bot] in #870
• fix(erc20): ibc callbacks logic reordering by @reecepbcups in #869
• fix: enable all geth metrics by @technicallyty in #875
• fix: experimental EVM mempool not gossiping nonce + n transactions by @jhelison in #890
• fix(mempool): duplicate tx check and gossipping systemtests by @vladjdk in #897
• chore: fix lint after bumping SDK and ibc by @aljo242 in #908
• docs: Update README.md with a few users by @bpiv400 in #912
• feat(rpc): add OpenTelemetry tracing by @technicallyty in #863
• chore: drop legacy // +build comment by @findfluctuate in #901
• feat(x/vm): add OpenTelemetry tracing by @technicallyty in #871
• fix(x/vm): nonce increments on EIP-7702 contract creation by @technicallyty in #913
• chore(deps): bump qs from 6.14.0 to 6.14.1 in /tests/evm-tools-compatibility/hardhat in the npm_and_yarn group across 1 directory by @dependabot [bot] in #919
• fix: GetCoinbaseAddress Bech32 address conversion for block.coinbase by @mmsqe in #920
• feat: support proxy with grpc-only mode by @mmsqe in #815
• feat: repalce legacytx.StdSignBytes with the aminojson sign mode handler in eip712 by @mmsqe in #860
• chore(deps): bump github.com/ethereum/go-ethereum from 1.16.3 to 1.16.8 in /tests/jsonrpc/simulator in the go_modules group across 1 directory by @dependabot [bot] in #933
• fix: code scanning alert no. 702: Workflow does not contain permissions by @aljo242 in #942
• fix: code scanning alert no. 703: Workflow does not contain permissions by @aljo242 in #941
• fix: revert #766 by @vladjdk in #946
• chore(deps): bump diff from 5.2.0 to 5.2.2 in /tests/evm-tools-compatibility/web3.js in the npm_and_yarn group across 1 directory by @dependabot [bot] in #943
• chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot [bot] in #947
• chore: bump linter by @aljo242 in #948
• chore: fix for Missing error check by @aljo242 in #950
• chore: fix for Missing error check by @aljo242 in #949
• chore: Potential fixes for 2 code quality findings by @aljo242 in #951
• chore: add build workflow by @aljo242 in #957
• chore: update hard coded string to concrete message name string by @technicallyty in #959
• chore: add readonly testing by @vladjdk in #953
• chore: bump protogen image and run by @aljo242 in #974
• fix: gas accounting in ibc callback by @technicallyty in #965
• chore: increase timeouts on fuzz tests by @technicallyty in #980
• fix: update workflow for Buf Schema Registry push by @MatVD in #971
• fix: Fix err ack in ibc v2 middleware by @Eric-Warehime in #967
• test(mempool): Add iterator tests and `SelectBy` benchmark by @mattac21 in #988
• perf(mempool): Speed up iterator with caching and simplify by @mattac21 in #990
• ci: add workflow_dispatch to build workflow by @gjermundgaraba in #997
• chore(deps): bump qs from 6.14.1 to 6.14.2 in /tests/evm-tools-compatibility/hardhat in the npm_and_yarn group across 1 directory by @dependabot [bot] in #998
• fix(ibc): prevent arbitrary src_callback execution by @mmsqe in #993
• fix: allow dynamic precompiles work with eth_call state overrides by @mmsqe in #934
• chore: update to main and updated ibc by @aljo242 in #1003
• fix: gas config is set to zero in ibc transfer keeper by @yihuang in #968
• fix(vm): respect provided gasCap in CallEVMWithData by @mmsqe in #992
• chore(ci): use depot for evmd binary builds by @aljo242 in #1004
• fix: persist code+account before DeleteAccount can verify by @mmsqe in #921
• chore(deps): bump the go_modules group across 5 directories with 2 updates by @dependabot [bot] in #1005
• fix(precompiles/ics02): added missing ValidateBasic check by @srdtrk in #1010
• Delete .github/workflows/codeql.yml by @aljo242 in #1013
• chore(deps): bump the npm_and_yarn group across 2 directories with 1 update by @dependabot [bot] in #1006
• chore(deps): bump minimatch from 5.1.6 to 5.1.9 in /tests/evm-tools-compatibility/web3.js in the npm_and_yarn group across 1 directory by @dependabot [bot] in #1020
• chore!: Remove x/precisebank by @Eric-Warehime in #1019
• chore: Mark Decimals as deprecated by @Eric-Warehime in #1029
• feat!: Krakatoa by @Eric-Warehime in #1030
• chore: port v0.6.x onto krakatoa by @vladjdk in #1053
• chore: adds scripts/go-mod-tidy-all.sh by @vladjdk in #1057
• chore(deps): bump the npm_and_yarn group across 2 directories with 1 update by @dependabot [bot] in #1052
• chore: add comet libp2p startup fix by @vladjdk in #1056
• feat(mempool): shared ctx beween cosmos tx rechecks and inserts ( #1031 ) by @mattac21 in #1055
• chore(deps): bump sdk version by @mattac21 in #1058
• chore(metrics): add log to tx store and metric for num height iterated on height sync by @mattac21 in #1071
• Delete .github/workflows/codeql-analysis.yml by @aljo242 in #1073
• chore: bump sdk and ibc by @gjermundgaraba in #1072
• feat(krakatoa): `operate_exclusively` toggles krakatoa features by @mattac21 in #1060
• fix: handle replacement txs in TxStore by @technicallyty in #1074
• fix(x/vm): make ACL case insensitive by @technicallyty in #1079
• chore: align gas usage with EVM semantics by @vladjdk in #1050
• fix: double gas accounting context by @technicallyty in #1083
• feat(krakatoa): make krakatoa only mempool & update comet+sdk to main branches by @mattac21 in #1112
• feat: add http-body-limit for rpc by @mmsqe in #1109
• feat(mempool): add thread-safe checkTx handler by @swift1337 in #1114
• chore: add CODEOWNERS file by @dianab-cl in #1100
• fix(mempool): fix race in reap list by @mattac21 in #1116
• feat(mempool): Remove EVM txs without state lookup for nonce by @mattac21 in #1113
• feat(mempool): add basic metrics for the reap list by @mattac21 in #1115
• feat(mempool): load coinInfo only once by @swift1337 in #1118
• refactor(mempool): Use direct `reaplist` + `txtracker` calls in `legacypool` instead of lifecycle callbacks by @mattac21 in #1119
• fix(mempool): Proper dropping from `reaplist` for cosmos txs during replacement and rechecking by @mattac21 in #1123
• chore(tests): fix ibc tests failing with different balances by @vladjdk in #1124
• feat!: Bump geth to 1.17 by @Eric-Warehime in #1122
• fix(rpc): invalid message index errors in block RPCs with StateDB commit error transactions by @mmsqe in #1107
• chore: add Ledger Nano Gen5 USB product IDs by @puneet2019 in #1095
• fix: remove zero gas config from ConvertCoinToERC20FromPacket by @mmsqe in #1103
• feat: allow eth_call overrides work with static precompiles by @mmsqe in #1096
• chore: align upstream createObject by @vladjdk in #1129
• fix(mempool): remove unnecessary fetch of context on mempool removals by @mattac21 in #1125
• refactor: use maps.Copy to simplify the code by @oncecelll in #1102
• fix: add nil check for OnTxStart before calling tracer hook by @Bue-von-hon in #1078
• fix(emd/tests): balance_handler_test by @swift1337 in #1131
• fix(vm): hydrate evm globals by @swift1337 in #1126
• fix(mempool): fix race between queued tx promotion reorg and reset reorg causing stuck queued txs by @mattac21 in #1127
• feat: add authority params by @vladjdk in #1130
• fix(ci): run arm64 builds on specifically arm runner by @mattac21 in #1134
• chore(deps): bump the npm_and_yarn group across 5 directories with 7 updates by @dependabot [bot] in #1098
• fix(mempool): advance legacypool nonces on cosmos tx inclusion by @mattac21 in #1133
• chore(deps): bump the go_modules group across 5 directories with 3 updates by @dependabot [bot] in #1137
• feat: Convert mempool metrics to otel by @Eric-Warehime in #1136
• fix: evm tx index and log indexes are not patched (alternative design) by @vladjdk in #1132
• feat: configurable filter timeout and cleanup interval by @mmsqe in #1008
• fix(rpc): resolve EthTxIndex -1 sentinel before uint cast in receipt builder by @Aboudjem in #1047
• fix(rpc): guard nil height deref in CometBlockResultByNumber by @Aboudjem in #1067
• fix(ibc): block nested ICS20 forwarding in src callbacks by @mmsqe in #1061
• feat: enable incarnation cache for verify result by @mmsqe in #1082
• fix: existing account number increment on each callback by @freeelancer in #970
• fix: panic on krakatoa when max block gas is -1 by @vladjdk in #1140
• chore: Convert txtracker to otel by @Eric-Warehime in #1142
• fix: Fix TOCTOU in insert queue by @Eric-Warehime in #1144
• feat: Make txtracker optional by @Eric-Warehime in #1143
• chore: Convert all metrics by @Eric-Warehime in #1145
• fix(mempool)!: Remove VM keeper end blocker notification, use `PrepareCheckStater` instead by @mattac21 in #1146
• docs: Add comments for confusing behaviour by @Eric-Warehime in #1148
• chore(mempool): add tests and document 7702 authority behaviour by @vladjdk in #1147
• chore(docs, tests): v0.7.x upgrade guide by @vladjdk in #1139
• fix(mempool): align evm rechecking with baseapp & add integration tests by @mattac21 in #1150
• test: Add test for cosmos tx multi-signer evicts single signer by @Eric-Warehime in #1153
• fix(mempool): align cosmos rechecking context updates with evm by @mattac21 in #1154
• chore(7702): authority-based nonce gap promotion testing by @vladjdk in #1152
• chore(mempool): add reaplist wedge tests by @vladjdk in #1155
• chore: Add basic AGENTS.md file by @Eric-Warehime in #1157
• fix(mempool): defer reap of evm tx replacements until validation by @mattac21 in #1156
• chore: remove max bytes check on hotpath and instead fail on misconfigured reaplist on startup by @vladjdk in #1158
• chore(mempool): add systemtests demonstrating a same-nonce 7702 auth and cosmos tx by @vladjdk in #1160
• feat: bump comet and sdk to main by @swift1337 in #1161
• fix(mempool): atomic account reserver with reference counter by @swift1337 in #1151
• fix(mempool): Cosmos noop removals & keep future txs after parent's wrong sequence by @mattac21 in #1163
• chore(deps): remove go.mod replacements (backport #1165 ) by @mergify [bot] in #1167
• docs(upgrading): upgrade guide updates (backport #1170 ) by @mergify [bot] in #1172
• fix: ics02 and ics20 gas calculation (backport #1164 ) by @mergify [bot] in #1171
New Contributors
• @bpiv400 made their first contribution in #912
• @findfluctuate made their first contribution in #901
• @MatVD made their first contribution in #971
• @dianab-cl made their first contribution in #1100
• @puneet2019 made their first contribution in #1095
• @oncecelll made their first contribution in #1102
• @Bue-von-hon made their first contribution in #1078
• @Aboudjem made their first contribution in #1047
• @freeelancer made their first contribution in #970
Full Changelog : v0.6.0...v0.7.0