26.7.0
Breaking Changes
- Sunsetting features is now complete - for more context on the reasoning behind these removals, read this blog post
- Proof of Work consensus (PoW) removal is now complete:
- Remove PoW mining infrastructure: PoW mining coordinator, executor, block creator/miner, nonce generators, PoW solver, and PoWObserver are deleted.
nonceGeneratoris removed fromMiningConfiguration. Mainnet genesis files withethashconfig can no longer mine PoW blocks. #10656 - Remove Ethash and PoW validation code: EthHash algorithm, PoWHasher, ProofOfWorkValidationRule, CalculatedDifficultyValidationRule, EpochCalculator, and DirectAcyclicGraphSeed are deleted.
powHasheris removed fromProtocolSpec/ProtocolSpecBuilder. #10659 - Remove PoW RPC methods:
miner_start,miner_stop, andeth_miningJSON-RPC methods are removed.getCoinbase()andsetCoinbase()are removed from theMiningCoordinatorinterface. #10662 - Remove
PowAlgorithmenum andgetPowAlgorithm()fromGenesisConfigOptions. #10675
- Remove PoW mining infrastructure: PoW mining coordinator, executor, block creator/miner, nonce generators, PoW solver, and PoWObserver are deleted.
- Proof of Work consensus (PoW) removal is now complete:
Upcoming Breaking Changes
--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.--rpc-tx-feecapwill treat a value of 0 as limiting fees to 0. Today it treats 0 as "do not cap fees". To achieve similar behaviour set it to a suitably large value to effectively prevent any fee capping.
Bug fixes
- Fix
eth_getBlockByNumber("safe"/"finalized")returningUnknown blockon nodes with a complete chain but no peers. The FCU handler now only returnsSYNCINGwhen the head block is genuinely not found. #10658 --api-gas-price-blocksfixed to treat0as "sample zero blocks" #10642- Reverted: 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 since replaced by #10731
Additions and Improvements
- Upgrade web3j dependencies to 5.0.3 #10627
- Upgrade netty dependencies to 4.2.15.Final #10693
- Besu now falls back to Proof of Stake when the genesis file declares no consensus mechanism (e.g. an empty
"config": {}). #10266 - Add
HealthCheckServiceplugin API enabling custom health check implementations. The plugin-based/readinessresponse body is simplified to{"status":"UP"|"DOWN"}and no longer includes the previous{peers, sync}detail. #10167
Distribution checksums
f91f7f378faf1b804e4c9389904dd702d1b00d0033daebcfc2e145fe1c133863 besu-26.7.0.zip
21129fbd34468182ef134fca78989450f2bd8205e18ed87e75b1a420141ba209 besu-26.7.0.tar.gz