25.8.0
This is a required update for all users.
Highlights
Performance updates
- Sync is faster
- Sync uses less memory and CPU
- Block creation is faster
Security updates
- Dependency updates including fixing CVEs
Breaking Changes
- Change in behavior for
eth_estimateGas
to improve accuracy when used on a network with a base fee market.- if there are no gas pricing parameters specified in the request, then gas price for the transaction is set to the base fee value #8888
- however, if you specify gas price of 0, the estimation will fail if the baseFee is > 0
- Remove PoAMetricsService and IbftQueryService which have been deprecated since 2019 and are replaced by PoaQueryService and BftQueryService respectively #8940
- Remove deprecated
Quantity.getValue
method (deprecated since 2019) #8968 - Support for block creation on networks running a pre-Byzantium fork is removed, after being deprecated for a few months. If still running a pre-Byzantium network, it needs to be updated to continue to produce blocks #9005
- Remove support for Ethereum protocol version
eth/67
. #9008. - Abort startup if boolean command line options are specified more than once #8898
- Ubuntu 20.04 is no longer supported. You need at least 22.04 (required for native libraries).
- Improve performance of OperandStack resizes for deep stacks (> 100 elements). Impacts general EVM performance while working with deep stacks #8869
Upcoming Breaking Changes
- Deprecated CLI options
--Xbonsai-parallel-tx-processing-enabled
is deprecated since 25.7.0. Use--bonsai-parallel-tx-processing-enabled
instead.--Xsnapsync-server-enabled
is deprecated since 25.7.0. Use--snapsync-server-enabled
instead.--Xsnapsync-synchronizer-pre-merge-headers-only-enabled
is deprecated since 25.7.0. Use--snapsync-synchronizer-pre-checkpoint-headers-only-enabled
instead.--Xhistory-expiry-prune
is deprecated since 25.7.0. Use--history-expiry-prune
instead.
- 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
Additions and Improvements
- Improve transaction simulation and gas estimation when no gas pricing is present #8888
- Add option to trace reference tests during execution #8878
- Expose methods to query hardfork by block header or for the next block in the Plugin API #8909
- Add
WorldStateService
to the plugin API #9024 - Wait for peers before starting Backward Sync #9003
- LUKSO Mainnet Pectra Hardfork #9070
Dependencies
- Generate distribution dependencies catalog #8987
- Update commons dependencies #9114
- resolves CVE-2025-48924
- resolves CVE-2020-15250
- Update Netty #9112
- resolves CVE-2025-55163
Performance
- Improve the sync performance by not RLP decoding bodies during sync. This means we are using less memory and CPU, allowing us to increase the parallelism of the download pipeline, which has been increased from 4 to 8. Can be reduced again with
--Xsynchronizer-downloader-parallelism=4
#8959 - Enable decoding for large RPC requests #8877
- Add
--attempt-cache-bust
to evmtool benchmark subcommand #8985 - Add gas usage metric to eth_call #9019
- Improve P256Verify precompile performance #9035
Fusaka devnets
Bug fixes
- Fix bug with
eth_estimateGas
on QBFT - use zero address when doing simulation againstpending
block #9031 - Fix bug with bonsai when parallel transaction processing is enabled #9113
e6e1bf8756768a1c6c3b193c29cc76c816cf8b4186b9fa4209c84d0ed3d9afd7 besu-25.8.0.zip
93715c6cf21e1455bed1e16a5a7444aa69604d23ef337f90ef7a508a5deeba4a besu-25.8.0.tar.gz