8000 Releases · hyperledger/besu · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: hyperledger/besu

25.5.0

15 May 06:05
b8cd4c8
Compare
Choose a tag to compare
25.5.0 Pre-release
Pre-release

25.5.0

Breaking Changes

  • Changes to gas estimation algorithm for eth_estimateGas and eth_createAccessList #8478 - if you require the previous behavior, specify --estimate-gas-tolerance-ratio=0.0

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.
  • 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

  • Sepolia checkpoint block has been updated to the merge block #8584
  • Add experimental --profile=PERFORMANCE for high spec nodes: increases rocksdb cache and enables parallel transaction processing #8560
  • Add --profile=PERFORMANCE_RPC for high spec RPC nodes: increases rocksdb cache and caches last 2048 blocks #8560
  • Refine gas estimation algorithm for eth_estimateGas and eth_createAccessList #8478 including a new option to specify --estimate-gas-tolerance-ratio
  • Increase default target-gas-limit to 60M for Holesky and Sepolia #8594
  • Add support for Pyroscope to Docker image #8510

Dependencies

  • update jc-kzg-4844 dependency from 2.0.0 to 2.1.1

Bug fixes

  • Fix block import tracing, refactor BlockProcessor interface #8549
  • Shorten and standardise log labels in AbstractEngineNewPayload and AbstractEngineForkchoiceUpdated #8568

4a834cdfb6a3b1be50a50122b1b1391c979c305bbe0831b29223c24900c6603f besu-25.5.0.zip
5afdb8004e5badcd142198e50f98bcdb629a22d21bbad2330316cd242d43d750 besu-25.5.0.tar.gz

25.4.1

16 Apr 16:34
4993d22
Compare
Choose a tag to compare

Important

This is the Pectra Mainnet-ready release.

This is a mandatory update, you must update your Mainnet node before the activation of Pectra scheduled for epoch 364032 on 07 May 2025 at 10:05:11 AM UTC.
Please note the upcoming breaking changes.

Known issues

  • The configuration overview printed in the log contains the long version instead of the usual short version, this has not impact on any functionality.
  • The long version is also written into VERSION_METADATA.json in place of the short version, this has no impact for Mainnet and other named networks, only affects users private networks, that use custom genesis, that have not set version-compatibility-protection=false, and such users should skip this release and wait for the next one with the fix.

Breaking Changes

  • --compatibility-eth64-forkid-enabled has been removed. #8541

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 lea 8000 st 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

  • Add support for eth_simulateV1. #8406
  • New metric besu_peers_peer_count_by_client to report the count of peers by client name #8515- Add Prague fork time for mainnet. #8521
  • Add Prague fork time for mainnet. #8521
  • Default ExtraData to "besu+version" rather than empty. #8536
  • Add block import tracer plugin provider, used during block import #8524
  • Tune and make configurable the PeerTransactionTracker #8537

Bug fixes

  • Fix for storage proof key - if the key is zero use 0x0 not 0x #8499
  • Fix ephemery genesis since genesisHash changed #8539

New Contributors

Full Changelog: 25.4.0...25.4.1

b185ecd441c6aba213ad598db2482b6daaaae18eb35d9e8a9866d6db279da2eb besu-25.4.1.zip
1223c9d00c9bac7388cefa769a7387ebc67e97dd498970fbc8b8942cbc0d7efd besu-25.4.1.tar.gz

25.4.0

08 Apr 03:26
112b9bc
Compare
Choose a tag to compare

Important

This is NOT a Pectra Mainnet-ready release. The next release likely will be.

This is an optional update. Please note the upcoming breaking changes.
This release is mostly stability improvements ahead of the hard fork.

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.
  • --compatibility-eth64-forkid-enabled has been deprecated and will be removed in the next release. #8492

Additions and Improvements

  • Add Hoodi discovery DNS #8446
  • Decode deposit log data without Web3j #8394
  • Tune layered txpool default configuration for upcoming gas limit and blob count increases #8487
  • Removed support for Ethereum protocol versions eth/62, eth/63, eth/64, and eth/65. #8492
  • Explicitly add depositContractAddress to mainnet.json #8410

Performance

  • Consensys/tuweni 2.7.0 reduces boxing/unboxing overhead on some EVM opcodes, like PushX and Caller #8330, #8461
  • Precompile Caching, enable with --cache-precompiles #8095

Dependencies

Bug fixes

  • Fix QBFT and IBFT transitions that change the mining beneficiary #8387
  • eth_getLogs - empty topic is a wildcard match #8420
  • Upgrade spring-security-crypto to address CVE-2025-22228 #8448
  • Fix restoring txpool from disk when blob transactions are present #8481
  • Fix for bonsai db inconsistency on abnormal shutdown #8500
  • Fix to add stateroot mismatches to bad block manager #8207

5d11ef3b55cca8b060051ab910e0a89a76eae4f6a2d3d2bfb718ee742307fcaf besu-25.4.0.zip
6abbc7472c9c2137e9e82b4d8fb569f25f9f85d4a330eea6b0dbb6f8a67340af besu-25.4.0.tar.gz

New Contributors

Full Changelog: 25.3.0...25.4.0

25.3.0

18 Mar 06:32
5b6cd5f
Compare
Choose a tag to compare

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

25.2.2

05 Mar 15:48
Compare
Choose a tag to compare

25.2.2

This is a hotfix release for Pectra Sepolia testnets
You need to update IF (and ONLY IF) you are running Besu on Sepolia
Identical to 25.2.1 with one change:

  • Pectra - Sepolia: Fix for deposit contract log decoding #8383

27bf8ae3d81bdd86590c9da86b3754c3df0a5e12a3c7eeb20628fc4fa1d1ebad besu-25.2.2.zip
760e7bdceea2f363bd9ee89b96999a7c4eb72852db5382cc97506203c6a53a5b besu-25.2.2.tar.gz

25.2.1

25 Feb 00:29
Compare
Choose a tag to compare

25.2.1

This is a hotfix release for Pectra testnets (Holesky and Sepolia).
You need to update IF (and ONLY IF) you are running Besu on Holesky or Sepolia
Identical to 25.2.0 with one change:

  • Pectra - update Holesky and Sepolia deposit contract addresses #8346

45c04bbe2173f4ba3c4c5315f92958be6573a296b713f56509d5471ae97925f1 besu-25.2.1.zip
7ece6c885b02c4aef68efd03193e32cd74adc4a81db2cb07cd234d548d4dd0a2 besu-25.2.1.tar.gz

25.2.0

12 Feb 21:55
cbabf87
Compare
Choose a tag to compare
8000

This is an optional update for Mainnet users. This is a required update for Holesky and Sepolia users for the upcoming Pectra hardfork.

Pectra scheduled for:

  • Holesky: Mon, Feb 24 at 21:55:12 UTC
  • Sepolia: Wed, Mar 5 at 07:29:36 UTC

Please note the breaking changes in this release and the upcoming breaking changes.

Breaking Changes

  • rpc-gas-cap default value has changed from 0 (unlimited) to 50M. If you require rpc-gas-cap greater than 50M, you'll need to set that explicitly. #8251

Upcoming Breaking Changes

  • MetricSystem::createLabelledGauge is deprecated and will be removed in a future release, replace it with MetricSystem::createLabelledSuppliedGauge
  • k8s (KUBERNETES) Nat method is now deprecated and will be removed in a future release. Use docker or none instead.
  • --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.
  • 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
  • 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

  • Add a tx selector to skip txs from the same sender after the first not selected #8216
  • rpc-gas-cap default value has changed from 0 (unlimited) to 50M #8251

Prague

  • Add timestamps to enable Prague hardfork on Sepolia and Holesky test networks #8163
  • Update system call addresses to match devnet-6 values #8209

Plugins

  • Extend simulate transaction on pending block plugin API #8174

Bug fixes

  • Fix the simulation of txs with a future nonce #8215
  • Bump to besu-native 1.1.2 for ubuntu 20.04 native support#8264

Full changelog:
25.1.0...25.2.0

294a6aad21b12dde882ee02415d790a6fb1519109fec523993e5e58f16dba558 besu-25.2.0.zip
5bd58be7ba6131c7c7ff46e2578d1b6e8f57243e4c9e5cd8d31ef7bbcfc35e3a besu-25.2.0.tar.gz

25.1.0

23 Jan 20:18
870f3b7
Compare
Choose a tag to compare

This is an optional update.

🚨 Important Notice for Linux 20.04 Users

Issue

  • Native library support for Linux 20.04 is missing in this version.
  • This results in performance degradation as the system falls back to Java implementations instead.

Resolution

  • Upgrade to Besu 25.2.0 to restore native support and avoid slowdowns.

This release resolves the RocksDB freezing issue seen by some users in the 24.12.x series.
More details here #8037
It is safe to upgrade directly from 24.10.0 to 25.1.0, but please note the breaking changes in the 24.12.x releases as well.

Please note the breaking changes in this release and upcoming breaking changes.

Breaking Changes

  • --host-whitelist has been deprecated since 2020 and this option is removed. Use the equivalent --host-allowlist instead.
  • Changed tracer API to include the mining beneficiary in BlockAwareOperationTracer::traceStartBlock #8096
  • Change the input defaults on debug_trace* calls to not trace memory by default ("disableMemory": true, "disableStack": false, "disableStorage": false)
  • Change the output format of debug_trace* and trace_* calls to match Geth behaviour

Upcoming Breaking Changes

  • MetricSystem::createLabelledGauge is deprecated and will be removed in a future release, replace it with MetricSystem::createLabelledSuppliedGauge
  • k8s (KUBERNETES) Nat method is now deprecated and will be removed in a future release. Use docker or none instead.
  • --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.
  • 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

Additions and Improvements

  • Add RPC HTTP options to specify custom truststore and its password #7978
  • Retrieve all transaction receipts for a block in one request #6646
  • Implement EIP-7840: Add blob schedule to config files #8042
  • Allow gasPrice (legacy) and 1559 gasPrice params to be specified simultaneously for eth_call, eth_createAccessList, and eth_estimateGas #8059
  • Improve debug_traceBlock calls performance and reduce output size #8076
  • Add support for EIP-7702 transaction in the txpool #8018 #7984
  • Add support for movePrecompileToAddress in StateOverrides (eth_call)8115
  • Default target-gas-limit to 36M for holesky #8125
  • Add EIP-7623 - Increase calldata cost #8093
  • Add nonce to transaction call object #8139
  • Add fallback for tx parallelization #8084

Bug fixes

  • Fix serialization of state overrides when movePrecompileToAddress is present #8204
  • Revise the approach for setting level_compaction_dynamic_level_bytes RocksDB configuration option #8037
  • Fix possible incomplete txpool restore from dump file #7991
  • Fixed: marking block as invalid because of temporary world state root mismatch #7844 #8084

b57ffc059bc8531a1323551e1639b999fd813bb88327c0e6da2a1c04092958c0 besu-25.1.0.zip
d8129b4e0ce17bc35c023993695fce73b0269a23608f5c3faa227dae7f6f5a02 besu-25.1.0.tar.gz

24.12.2

16 Dec 01:58
Compare
Choose a tag to compare

24.12.2

This is a hotfix release based on 24.12.1. You only need to upgrade if you're already using the account state overrides parameter for eth_call - this functionality was introduced in 24.12.0.

The only difference compared with 24.12.1 is a hotfix for the serialization of account state overrides for eth_call when movePrecompileToAddress is present.

Operational Change / Risk in 24.12.x Series Releases

  • We've noticed when upgrading besu to 24.12.0 that some nodes can freeze up to 2 hours when opening RocksDB database. It is related to a change in one default configuration on RocksDB (besu database layer), as we moved from version 8.3.2 in 24.10.0 to version 9.7.3 in 24.12.0. This change triggers some compaction work depending on the size of the database to apply the new configuration (recommended). All the upgraded nodes don't face the freeze, as the compaction can still happen in the background, but some users reported up to 2 hours freeze. You can find the details in this issue : facebook/rocksdb#13208

Bug fixes

  • Fix serialization of state overrides when movePrecompileToAddress is present #8204 - only relevant for eth_call account state overrides. This functionality was introduced in 24.12.0.

ea6b429fc0bfa1e6d0469c1aa0c48268ea00a1043c7874dfdbdc9714cf8baf28 besu-24.12.2.zip
13b48efbe0a14c8f1c957ce45acc1832876412ab9ccbe3cbd0d6631ace34ed11 besu-24.12.2.tar.gz

24.12.1

13 Dec 00:39
Compare
Choose a tag to compare

24.12.1 Hotfix

This is a hotfix to address publishing besu maven artifacts. There are no issues with 24.12.0 other than incomplete artifact publishing, and there is no functional difference between 24.12.0 and 24.12.1 release binaries.

in 24.12.x series releases Besu has switched to a platform bill-of-materials style publishing. If your project uses besu deployment artifacts, note that you will need to alter your dependencies to use platform dependencies instead.

Operational Change / Risk in 24.12.x Series Releases

  • We've noticed when upgrading besu to 24.12.0 that some nodes can freeze up to 2 hours when opening RocksDB database. It is related to a change in one default configuration on RocksDB (besu database layer), as we moved from version 8.3.2 in 24.10.0 to version 9.7.3 in 24.12.0. This change triggers some compaction work depending on the size of the database to apply the new configuration (recommended). All the upgraded nodes don't face the freeze, as the compaction can still happen in the background, but some users reported up to 2 hours freeze. You can find the details in this issue : facebook/rocksdb#13208

Bug fixes

  • Fix BOM pom publication to Artifactory #8201

87bbd9d175048ce9b42d2470354ce33ca8637a1bcb5e9cb13bd8e0f975a1eaa2 besu-24.12.1.zip
b7816b4207c240df50c7cb6416e7a1a5053c50400df803767e76b058758d78fa besu-24.12.1.tar.gz

0