2025-08-16
EVMRelease
v0.4.0

Features

  • #253 Add comprehensive Solidity-based end-to-end tests for precompiles
  • #301 Add 4-node localnet infrastructure for testing multi-validator setups
  • #304 Add system test framework for integration testing
  • #344 Add txpool RPC namespace stubs in preparation for app-side mempool implementation
  • #440 Enforce app creator returning application implement AppWithPendingTxStream in build time.

Improvements

  • #294 Enforce single EVM transaction per Cosmos transaction for security
  • #299 Update dependencies for security and performance improvements
  • #307 Preallocate EVM access_list for better performance
  • #317 Fix EmitApprovalEvent to use owner address instead of precompile address
  • #345 Fix gas cap calculation and fee rounding errors in ante handler benchmarks
  • #347 Add loop break labels for optimization
  • #370 Use larger CI runners for resource-intensive tests
  • #373 Apply security audit patches
  • #377 Apply audit-related commit 388b5c0
  • #382 Post-audit security fixes (batch 1)
  • #388 Post-audit security fixes (batch 2)
  • #389 Post-audit security fixes (batch 3)
  • #392 Post-audit security fixes (batch 5)
  • #398 Post-audit security fixes (batch 4)
  • #442 Prevent nil pointer by checking error in gov precompile FromResponse.
  • #387 (Experimental) EVM-compatible appside mempool

Bug Fixes

  • #179 Fix compilation error in server/start.go
  • #245 Use PriorityMempool with signer extractor to prevent missing signers error in tx execution
  • #289 Align revert reason format with go-ethereum (return hex-encoded result)
  • #291 Use proper address codecs in precompiles for bech32/hex conversion
  • #296 Add sanity checks to trace_tx RPC endpoint
  • #316 Fix estimate gas to handle missing fields for new transaction types
  • #330 Fix error propagation in BlockHash RPCs and address test flakiness
  • #332 Fix non-determinism in state transitions
  • #350 Fix p256 precompile test flakiness
  • #376 Fix precompile initialization for local node development script
  • #384 Fix debug_traceTransaction RPC failing with block height mismatch errors
  • #441 Align precompiles map with available static check to Prague.
  • #452 Cleanup unused cancel function in filter.
  • #454 Align multi decode functions instead of string contains check in HexAddressFromBech32String.

Dependencies

  • #459 Update cosmossdk.io/log to v1.6.1 to support Go v1.25.0+.
  • #435 Update Cosmos SDK to v0.53.4 and CometBFT to v0.38.18.

Api Breaking

  • #456 Remove non–go-ethereum JSON-RPC methods to align with Geth’s surface
  • #443 Move ante logic from the evmd Go package to the evm package to
  • be exported as a library.
  • #422 Align function and package names for consistency.
  • #305 Remove evidence precompile due to lack of use cases