Note
What's new:
- Improvements to logs
- Hardening decode paths
- Minor bug fixes
- Minor perf improvements
No resync is needed.
Installation and running instructions can be found in our docs
✨ New Features
e2fab42- l1: support engine_newPayloadWithWitnessV5 (PR #6680 by @jsign)d90f76e- l1: bump libssz to v0.2.2 and use crates.io (PR #6844 by @han0110)
🐛 Bug Fixes
980d784- l2: use full git SHA for nix-built TDX prover (PR #6798 by @iovoid)2ec5eb9- l1: avoid panic on short commit hash (PR #6810 by @iovoid)f96ca68- l1: box engine_newPayload dispatch arms to avoid stack overflow on first Engine API call (PR #6815 by @ilitteri)18d9f22- l1: add defense-in-depth for fullsync transition on canonical chains with gaps (PR #6814 by @iovoid)6c91174- l1: validate eth/71 BAL against header commitment and persist BALs during full-sync (PR #6816 by @edg-l)a49b769- l1: guard derive_legacy_chain_id against underflow on malformed v (PR #6787 by @edg-l)4e4fcd5- l1: only warn for genuinely pre-merge genesis (PR #6763 by @edg-l)a4c1359- l1: execute pending blocks without peer headers when they cover the sync gap (PR #6830 by @barnabasbusa)b2bbebb- l1: return null, not -38005, for engine_getBlobsV2/V3 before Osaka (PR #6808 by @edg-l)4cbbba1- l1: share merkleization pool across rpc test contexts (PR #6788 by @edg-l)bf91227- l1: stop blob-inclusion decay in the mempool (PR #6791 by @edg-l)e462194- l1: reject non-canonical RLP encodings at decode (PR #6818 by @ElFantasma)55e696e- l1: correct off-by-one and constant in engine getBlobs/getPayloadBodies size limits (PR #6800 by @0xMars42)
⚡ Performance Improvements
c1f113d- levm: reduce allocations and clones during block execution (PR #6782 by @iovoid)e87a25d- l1: remove sync from eip-8025 execution path (PR #6588 by @benbencik)dfe5d5c- l2: compute base blob fee once per block (PR #6006 by @xqft)