25.7.0
🚀 Release Highlights
- Gas limit increased to 45M by default 🚀
- Changes in Maven coordinates of Besu artifacts
- History expiry enabled by default for new SNAP nodes
- Parallel transaction processing enabled by default
- Breaking Changes: Cleanup of deprecated code—please review carefully!
--snapsync-server-enabled
has been promoted (but not yet default)- Experimental Bonsai Archive support is now available but remains experimental pending mainnet performance validation.
Breaking Changes
- Changes in Maven coordinates of Besu artifacts to avoid possible collisions with other libraries when packaging plugins. See Appendix A for a mapping. #8589 #8746
BesuContext
is removed, since deprecated in favor ofServiceManager
since24.12.0
- Remove the deprecated
--Xbonsai-trie-logs-pruning-window-size
, use--bonsai-trie-logs-pruning-window-size
instead. #8823 - Remove the deprecated
--Xbonsai-limit-trie-logs-enabled
, use--bonsai-limit-trie-logs-enabled
instead. #8704 - Remove the deprecated
--Xbonsai-trie-log-pruning-enabled
, use--bonsai-limit-trie-logs-enabled
instead. #8704 - Remove the deprecated
--Xsnapsync-bft-enabled
. SNAP sync is now supported for BFT networks. #8861 - Remove methods from gas calculator deprecated since 24.4
create2OperationGasCost
,callOperationGasCost
,createOperationGasCost
, andcost
#8817 - Sunsetting features - for more context on the reasoning behind the deprecation of these features, including alternative options, read this blog post
- Introduce history expiry behaviour for mainnet 8875
- SNAP sync will now download only headers for pre-checkpoint (pre-merge) blocks
--snapsync-synchronizer-pre-checkpoint-headers-only-enabled
can be set to false to force SNAP sync to download pre-checkpoint (pre-merge) blocks--history-expiry-prune
can be used to enable online pruning of pre-checkpoint (pre-merge) blocks as well as modifying database garbage collection parameters to free up disk space from the pruned blocks
Upcoming Breaking Changes
--Xbonsai-parallel-tx-processing-enabled
is deprecated, use--bonsai-parallel-tx-processing-enabled
instead.--Xsnapsync-server-enabled
is deprecated, use--snapsync-server-enabled
instead #8512- 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)
- Fast Sync
- Support for block creation on networks running a pre-Byzantium fork is deprecated for removal in a future release, after that to update Besu on nodes that build blocks, your network needs to be upgraded at least to the Byzantium fork. The main reason is to simplify world state management during block creation, since before Byzantium for each selected transaction, the receipt must contain the root hash of the modified world state, and this does not play well with the new plugin features and future work on parallelism.
--Xsnapsync-synchronizer-pre-merge-headers-only-enabled
is deprecated and will be removed in a future release. Use--snapsync-synchronizer-pre-checkpoint-headers-only-enabled
instead.--Xhistory-expiry-prune
is deprecated and will be removed in a future release. Use--history-expiry-prune
instead.
Additions and Improvements
- Introduce the
TransactionValidatorService
to allow plugins to add custom validation rules #8793 - Implement rewardPercentile cap in eth_feeHistory #8748
- Expose a method to get blob gas price from plugins #8843
- Experimental Bonsai Archive support #7475
- Use eth/69 by default #8858
--snapsync-server-enabled
New option to enable serving snap sync data #8512- Introduce history expiry behaviour #8875
- SNAP sync will now download only headers for pre-checkpoint (pre-merge) blocks
--snapsync-synchronizer-pre-checkpoint-headers-only-enabled
can be set to false to force SNAP sync to download pre-checkpoint (pre-merge) blocks--history-expiry-prune
can be used to enable online pruning of pre-checkpoint (pre-merge) blocks as well as modifying database garbage collection parameters to free up disk space from the pruned blocks
Performance
- Increase mainnet gas limit to 45M #8824
- Enable parallel tx processing by default if Bonsai is used #8668
- Remove redundant serialization of json params #8847
- Improve ExtCodeHash performance #8811
- Improve ModExp precompile performance #8868
Fusaka
- EIP-7825 - Transaction gas limit cap #8700
- EIP-7823 - Modexp upper bounds #8632
- EIP-7892 - Max number of blobs per transaction #8761
- EIP-7934 - RLP Execution Block Size Limit #8765
- EIP-7951 - Precompile for secp256r1 Curve Support #8750
History Expiry
This release contains Mainnet-ready pre-merge History Expiry which is documented here: https://besu.hyperledger.org/public-networks/how-to/pre-merge-history-expiry
By default, a fresh sync with sync-mode=SNAP
will only save the pre-merge block headers, not the block bodies.
There are also options available for pruning existing nodes, expect to save 300-500 GiB depending on the method you use.
We advise everyone to migrate from sync-mode=CHECKPOINT
to sync-mode=SNAP
and will be deprecating CHECKPOINT
sync in the future.
e6a805b69d9a90278a811682a2f891d72803c235f0566d9e204dc3ae3b3af401 besu-25.7.0.zip
032515d065495aea824a25ef501b5543096931ad8048b4a12296a410b1cb8c12 besu-25.7.0.tar.gz