Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Apr 02:45
· 63 commits to main since this release
7d75856

Summary

This is the first public release of morph-reth, the Reth-based execution client for Morph L2. It establishes the complete CI/CD
infrastructure and delivers a series of correctness fixes validated against Morph mainnet and Hoodi testnet.

New Features

  • eth_config RPC method — Morph-specific chain configuration endpoint (#72)
  • Jade fork activation timestamps — Mainnet and Hoodi hardfork schedules are now set (#51)

Bug Fixes

  • BLOCKHASH opcode — Aligned with Morph geth semantics (chain_id || block_number hash) (#38)
  • State root validator — Restored pre-Jade ZK-trie state root hook (#47)
  • L2 header alignment — Fixed field mismatch between assemble and import paths (#58)
  • Trace replay — Fixed Morph trace replay on Cancun-active chains (#57)
  • L1 message gas price — baseFee now returned as effectiveGasPrice for L1 messages (#60)
  • Payload serialization — nextL1MessageIndex serialized as bare uint64 instead of hex (#73)
  • EVM — Removed unnecessary EIP-7825 tx gas limit cap override (#79)
  • Chainspec — MORPH_BASE_FEE used as genesis default (#74)
  • Engine API — resolve_kind(WaitForPending) used for correct payload resolution (#82)
  • Security — Fixed lz4_flex memory leak (GHSA-vvp9-7p8x-rfvv) and keccak ARMv8 unsoundness (GHSA-2326-pfpj-vk5v) (#41, #53)

Infrastructure

  • Multi-platform Docker images (linux/amd64, linux/arm64) — build time reduced from ~200min to ~20min via cross-compilation
  • Full CI pipeline: build, lint, test, cargo-deny, release, and Docker workflows
  • Reproducible release binaries for x86_64 and aarch64 Linux with SHA256 checksums

All Changes

  • fix(release): use cross main branch to fix mdbx-sys build (#84)
  • chore: add Cross.toml for cross-compilation clang/llvm dependencies (#83)
  • fix(engine-api): use resolve_kind(WaitForPending) instead of best_payload (#82)
  • chore: add Makefile and MakefileEc2.mk, update README (#78)
  • fix(evm): remove unnecessary EIP-7825 tx gas limit cap override (#79)
  • refactor(chainspec): rename jadeTime to jadeForkTime for go-ethereum compatibility (#80)
  • chore: bump version to 0.2.0 (#77)
  • chore(ci): bump docker/login-action from 3 to 4 (#81)
  • fix(chainspec): use MORPH_BASE_FEE as genesis default instead of INITIAL_BASE_FEE (#74)
  • chore(ci): bump marocchino/sticky-pull-request-comment from 2 to 3 (#75)
  • ci: use mold linker for faster CI builds (#71)
  • ci: add Docker multi-platform build and Release workflows (#70)
  • ci: add dependabot for GitHub Actions version updates (#69)
  • ci: add automatic PR labeling from linked issues (#67)
  • ci: add PR title conventional commit validation (#66)
  • ci(lint): add typos spell checker and editorconfig (#65)
  • test: add E2E test infrastructure and helpers (#63)
  • test: add unit tests across all morph-reth crates (#62)
  • ci: replace manual cargo cache with Swatinem/rust-cache (#68)
  • ci(deny): add cargo-deny dependency audit workflow (#61)
  • feat: implement eth_config RPC with morph extension (#72)
  • fix(payload): serialize nextL1MessageIndex as bare uint64, not hex string (#73)
  • fix(txpool): enforce hardfork activation for EIP-7702 and MorphTx (#59)
  • fix(primitives): return baseFee as effectiveGasPrice for L1 messages (#60)
  • fix: align L2 header fields between assemble and import paths (#58)
  • Fix Morph trace replay on Cancun-active chains (#57)
  • refactor: simplify logic across crates (#56)
  • chore(local-test): unify mainnet/hoodi scripts with MORPH_NETWORK selector (#54)
  • fix(deps): bump tracing-subscriber to 0.3.20 to fix ANSI log poisoning (#52)
  • fix(deps): bump lz4_flex to 0.11.6 to fix uninitialized memory leak (GHSA-vvp9-7p8x-rfvv) (#53)
  • docs: sync README and tooling docs (#50)
  • feat(chainspec): set Jade fork activation timestamps (#51)
  • fix: pre-audit security hardening and bug fixes (#48)
  • fix(node): restore StateRootValidator hook for pre-Jade state root ha… (#47)
  • deps: downgrade reth to paradigmxyz/reth v1.10.0 (#46)
  • fix(serde): add default for TxMorph version/feeTokenId/feeLimit fields (#44)
  • docs: improve README accuracy, add LICENSE and CONTRIBUTING files (#42)
  • fix(deps): upgrade keccak to 0.1.6 to fix ARMv8 unsoundness (GHSA-2326-pfpj-vk5v) (#41)
  • fix(revm): restore original_value after revm-state 9.0.0 (#39)
  • fix(revm): align BLOCKHASH with Morph geth semantics (#38)
  • refactor(engine-api): simplify engine API and fix code quality issues (#35)

Binaries

System Architecture Binary
x86_64 morph-reth-0.2.0-x86_64-linux.tar.gz
aarch64 morph-reth-0.2.0-aarch64-linux.tar.gz
Docker ghcr.io/morph-l2/morph-reth:v0.2.0