github besu-eth/besu 26.6.1

14 hours ago

This is an optional update.

Breaking Changes

  • RPC changes to enhance compatibility with other ELs
    • The block parameter is now optional on eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_getProof, and eth_getStorageValues; when omitted it now defaults to latest, matching other ELs. Previously a missing block parameter was rejected. #10587

Upcoming Breaking Changes

  • Sunsetting features - for more context on the reasoning behind the deprecation of these features, including alternative options, read this blog post
    • Proof of Work consensus (PoW)
  • --min-block-occupancy-ratio is deprecated and will be removed in a future release
  • Plugin API
    • PluginTransactionSelectorFactory.create(final SelectorsStateManager selectorsStateManager) is deprecated for removal
  • --Xmax-tracked-seen-txs-per-peer renamed to --Xmax-tracked-seen-txs (old name kept as deprecated alias will be removed in a future release)
  • BFT option xemptyblockperiodseconds has been taken out of experimental and been renamed emptyblockperiodseconds. The old config option is deprecated and will be removed in a future release.
  • --Xbft-legacy-protocol-encoding will be removed once Besu 25.x is no longer supported. #10499
  • --Xsnapsync-synchronizer-pivot-block-distance-before-caching is deprecated and will be removed in a future release; the flag is now a silent no-op.

Bug fixes

  • Fix engine_getBlobsV2 returning UNSUPPORTED_FORK (-38005) during full sync on post-merge networks (e.g. Hoodi). PostMergeContext.isSyncing() now correctly returns true while the node is catching up, so the syncing short-circuit fires instead of failing fork validation against a pre-fork chain head. #10613
  • Improve handling of ClosedChannelException in JSON-RPC handler - don't respond on the closed channel. #10616, #10626
  • Fix WebSocket RPC event-loop stall caused by slow clients filling the TCP write queue. #10354
  • Fix handshake-resend hive test failure by updating the DiscV5 library (Consensys/discovery#236). #10612
  • Fix QBFT/IBFT2 block creation for contracts that use block.prevrandao. #10611
  • Return SYNCING from engine_newPayload when the parent block's world state is not immediately available in the Bonsai cache, preventing worker thread blocking during CL backfill or post-restart catch-up. #10600

Additions and Improvements

  • Add eth_getTransactionBySenderAndNonce JSON-RPC method to look up a transaction by sender address and nonce (pending or mined).
    • Mined transaction lookup uses a sender+nonce index, enabled by default (--tx-sender-nonce-index-enabled=false to disable). Nodes performing a FULL sync from scratch may want to disable this to avoid the storage overhead of indexing historical transactions. #10501

Distribution checksums

0adcf27c7b5e36335d166c7951ca8b74526d7ad5e1d24b2707a4e3ae1ff05e69  besu-26.6.1.zip
5bf536664344525157ab5f1a2167799830444d058d024a9a6d207241f6b5b3f8  besu-26.6.1.tar.gz

Don't miss a new besu release

NewReleases is sending notifications on new releases.