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, andeth_getStorageValues; when omitted it now defaults tolatest, matching other ELs. Previously a missing block parameter was rejected. #10587
- The block parameter is now optional on
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-ratiois 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-peerrenamed to--Xmax-tracked-seen-txs(old name kept as deprecated alias will be removed in a future release)- BFT option
xemptyblockperiodsecondshas been taken out of experimental and been renamedemptyblockperiodseconds. The old config option is deprecated and will be removed in a future release. --Xbft-legacy-protocol-encodingwill be removed once Besu 25.x is no longer supported. #10499--Xsnapsync-synchronizer-pivot-block-distance-before-cachingis deprecated and will be removed in a future release; the flag is now a silent no-op.
Bug fixes
- Fix
engine_getBlobsV2returningUNSUPPORTED_FORK (-38005)during full sync on post-merge networks (e.g. Hoodi).PostMergeContext.isSyncing()now correctly returnstruewhile 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
ClosedChannelExceptionin 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
SYNCINGfromengine_newPayloadwhen 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_getTransactionBySenderAndNonceJSON-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=falseto disable). Nodes performing a FULL sync from scratch may want to disable this to avoid the storage overhead of indexing historical transactions. #10501
- Mined transaction lookup uses a sender+nonce index, enabled by default (
Distribution checksums
0adcf27c7b5e36335d166c7951ca8b74526d7ad5e1d24b2707a4e3ae1ff05e69 besu-26.6.1.zip
5bf536664344525157ab5f1a2167799830444d058d024a9a6d207241f6b5b3f8 besu-26.6.1.tar.gz