github hyperledger/besu 25.3.0

one day ago

This is a strongly recommended update for all users, including Mainnet.
It contains bug fixes, dependency and security updates.

Highlights include:

  • Add Hoodi as new named testnet using --network=hoodi #8428
  • Increase mainnet and Sepolia gas limit to 36M #8249
  • Parallel EVM: Improve conflict detection by considering slots to reduce false positives #7923
  • Add era1 format to blocks import subcommand #7935
  • Add IBFT1 to QBFT migration capability #8262

Changelog

Breaking Changes

NOTE: This release breaks native Windows compatibility for mainnet ethereum configurations. As the prague(pectra) hardfork require
BLS12-381 precompiles and besu does not currently have a pure java implementation of bls12-381, only platforms which
have support in besu-native can run mainnet ethereum configurations. Windows support via WSL should still continue to work.

  • k8s (KUBERNETES) Nat method is removed. Use docker or none instead. #8289
  • Change Invalid block, unable to parse RLP RPC error message to Invalid block param (block not found) #8328
  • Mainnet ethereum now REQUIRES native crypto libraries, so only linux and macos(darwin) are supported mainnet configurations #8418

Upcoming Breaking Changes

  • MetricSystem::createLabelledGauge is deprecated and will be removed in a future release, replace it with MetricSystem::createLabelledSuppliedGauge
  • --Xsnapsync-synchronizer-flat-db-healing-enabled is deprecated, use --Xbonsai-full-flat-db-enabled instead.
  • --Xbonsai-limit-trie-logs-enabled is deprecated, use --bonsai-limit-trie-logs-enabled instead.
  • --Xbonsai-trie-log-pruning-enabled is deprecated, use --bonsai-limit-trie-logs-enabled instead.
  • --Xbonsai-trie-logs-pruning-window-size is deprecated, use --bonsai-trie-logs-pruning-window-size instead.
  • --Xsnapsync-bft-enabled is deprecated and will be removed in a future release. SNAP sync is supported for BFT networks.
  • --tx-pool-disable-locals has been deprecated, use --tx-pool-no-local-priority, instead.
  • Sunsetting features - for more context on the reasoning behind the deprecation of these features, including alternative options, read this blog post
    • Tessera privacy
    • Smart-contract-based (onchain) permissioning
    • Proof of Work consensus
    • Fast Sync
  • Transaction indexing will be disabled by default in a future release for snap sync and checkpoint sync modes. This will break RPCs that use transaction hash for historical queries.
  • Support for block creation on networks running a pre-Byzantium fork is deprecated for removal in a future release, after that in order 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.

Additions and Improvements

Prague

  • Increase mainnet and Sepolia gas limit to 36M #8249
  • Update Holesky and Sepolia deposit contract addresses #8346

Plugins

  • Allow plugins to propose transactions during block creation #8268
  • Add support for transaction permissioning rules in Plugin API #8365

Parallelization

  • Improve conflict detection by considering slots to reduce false positives #7923

Dependencies

Other improvements

  • Add TLS/mTLS options and configure the GraphQL HTTP service#7910
  • Update eth_getLogs to return a Block not found error when the requested block is not found. #8290
  • Change Invalid block, unable to parse RLP RPC error message to Invalid block param (block not found) #8328
  • Add IBFT1 to QBFT migration capability #8262
  • Support pending transaction score when saving and restoring txpool #8363
  • Upgrade to execution-spec-tests v4.1.0 including better EIP-2537 coverage for BLS #8402
  • Add era1 format to blocks import subcommand #7935
  • Add Hoodi as new named testnet #8428

Bug fixes

  • Add missing RPC method debug_accountRange to RpcMethod.java so this method can be used with --rpc-http-api-method-no-auth #8153
  • Add a fallback pivot strategy when the safe block does not change for a long time, to make possible to complete the initial sync in case the chain is not finalizing #8395
  • Fix issue with new QBFT/IBFT blocks being produced under certain circumstances. #8308

SHA 256

125563b6b892859a55f31429578d43b990977a4a96a9e78ef051b267a0c50c07 besu-25.3.0.zip
3935093edeb54773a3cd10c32b03e4ac12a1af307f8377a6d2e24d7cbcf70af2 besu-25.3.0.tar.gz

Don't miss a new besu release

NewReleases is sending notifications on new releases.