Skip to content

Releases: hyperledger/besu

24.8.0

19 Aug 18:02
ac9f8bb
Compare
Choose a tag to compare

24.8.0

24.8.0 is a small but mighty release that is strongly recommended for all Mainnet users. It contains an important stack handling update as well as improvements to the RPC service, plug-in API, and support for tracing private transactions. There are some breaking changes upcoming, so carefully review the notes as usual. More details available below:

Upcoming Breaking Changes

  • Receipt compaction will be enabled by default in a future version of Besu. After this change it will not be possible to downgrade to the previous Besu version.
  • --Xbonsai-limit-trie-logs-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
  • besu storage x-trie-log subcommand is deprecated, use besu storage trie-log instead
  • Allow configuration of Withdrawal Request Contract Address via genesis configuration #7356

Breaking Changes

  • Remove long-deprecated perm*whitelist* methods #7401

Additions and Improvements

  • Expose set finalized/safe block in plugin api BlockchainService. These method can be used by plugins to set finalized/safe block for a PoA network (such as QBFT, IBFT and Clique).#7382
  • In process RPC service #7395
  • Added support for tracing private transactions using priv_traceTransaction API. #6161
  • Wrap WorldUpdater into EVMWorldupdater #7434
  • Bump besu-native to 0.9.4 #7456

Bug fixes

  • Correct entrypoint in Docker evmtool #7430
  • Fix protocol schedule check for devnets #7429
  • Fix behaviour when starting in a pre-merge network #7431

Release artifacts

9671157a623fb94005357bc409d1697a0d62bb6fd434b1733441bb301a9534a4 besu-24.8.0.tar.gz
9ee217d2188e8da89002c3f42e4f85f89aab782e9512bd03520296f0a4dcdd90 besu-24.8.0.zip

docker pull docker.io/hyperledger/besu:24.8.0

24.7.1

01 Aug 05:14
51bb6c7
Compare
Choose a tag to compare

Breaking Changes

  • Remove deprecated sync modes (X_SNAP and X_CHECKPOINT). Use SNAP and CHECKPOINT instead #7309
  • Remove PKI-backed QBFT (deprecated in 24.5.1) Other forms of QBFT remain unchanged. #7293
  • Do not maintain connections to PoA bootnodes #7358. See #7314 for recommended alternative behaviour.

Upcoming Breaking Changes

  • Receipt compaction will be enabled by default in a future version of Besu. After this change it will not be possible to downgrade to the previous Besu version.
  • --Xbonsai-limit-trie-logs-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
  • besu storage x-trie-log subcommand is deprecated, use besu storage trie-log instead

Additions and Improvements

  • --Xsnapsync-bft-enabled option enables experimental support for snap sync with IBFT/QBFT permissioned Bonsai-DB chains #7140
  • Add support to load external profiles using --profile #7265
  • privacy-nonce-always-increments option enables private transactions to always increment the nonce, even if the transaction is invalid #6593
  • Added block-test subcommand to the evmtool which runs blockchain reference tests #7293
  • removed PKI backed QBFT #7310
  • Implement gnark-crypto for eip-2537 #7316
  • Improve blob size transaction selector #7312
  • Added EIP-7702 #7237
  • Implement gnark-crypto for eip-196 #7262
  • Add trie log pruner metrics #7352
  • Force bonsai-limit-trie-logs-enabled=false when sync-mode=FULL instead of startup error #7357
  • --Xbonsai-parallel-tx-processing-enabled option enables executing transactions in parallel during block processing for Bonsai nodes
  • Reduce default trie log pruning window size from 30,000 to 5,000 #7365
  • Add option --poa-discovery-retry-bootnodes for PoA networks to always use bootnodes during peer refresh, not just on first start #7314

Bug fixes

  • Fix eth_call deserialization to correctly ignore unknown fields in the transaction object. #7323
  • Prevent Besu from starting up with sync-mode=FULL and bonsai-limit-trie-logs-enabled=true for private networks #7357
  • Add 30 second timeout to trie log pruner preload #7365
  • Avoid executing pruner preload during trie log subcommands #7366

Release Artifacts

59ac352a86fd887225737a5fe4dad1742347edd3c3fbed98b079177e4ea8d544 besu-24.7.1.tar.gz
e616f8100f026a71a146a33847b40257c279b38085b17bb991df045cccb6f832 besu-24.7.1.zip

docker pull docker.io/hyperledger/besu:24.7.1

24.7.0

11 Jul 20:39
3a73dcc
Compare
Choose a tag to compare

24.7.0

Upcoming Breaking Changes

  • Receipt compaction will be enabled by default in a future version of Besu. After this change it will not be possible to downgrade to the previous Besu version.
  • PKI-backed QBFT will be removed in a future version of Besu. Other forms of QBFT will remain unchanged.
  • --Xbonsai-limit-trie-logs-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
  • besu storage x-trie-log subcommand is deprecated, use besu storage trie-log instead

Breaking Changes

  • Xp2p-peer-lower-bound has been removed. #7247

Additions and Improvements

  • Support for eth_maxPriorityFeePerGas #5658
  • Improve genesis state performance at startup #6977
  • Enable continuous profiling with default setting #7006
  • A full and up to date implementation of EOF for Prague #7169
  • Add Subnet-Based Peer Permissions. #7168
  • Reduce lock contention on transaction pool when building a block #7180
  • Update Docker base image to Ubuntu 24.04 #7251
  • Add LUKSO as predefined network name #7223
  • Refactored how code, initcode, and max stack size are configured in forks. #7245
  • Nodes in a permissioned chain maintain (and retry) connections to bootnodes #7257
  • Promote experimental besu storage x-trie-log subcommand to production-ready #7278
  • Enhanced BFT round-change diagnostics #7271

Bug fixes

  • Validation errors ignored in accounts-allowlist and empty list #7138
  • Fix "Invalid block detected" for BFT chains using Bonsai DB #7204
  • Chain download halt fix(#7162), fixes related issues: #7109 #6884

96cf47defd1d8c10bfc22634e53e3d640eaa81ef58cb0808e5f4265998979530 besu-24.7.0.tar.gz
7e92e2eb469be197af8c8ca7ac494e7a2e7ee91cbdb02d99ff87fb5209e0c2a0 besu-24.7.0.zip

docker pull docker.io/hyperledger/besu:24.7.0

24.5.4

12 Jun 07:03
8425b1e
Compare
Choose a tag to compare

The same as 24.5.2 with the only change being to fix the inability to build from source.

Bug fixes

  • Rectify build from source failure with updated 0.8.4 artifacts from besu-native #7210
    2d2082bd2ebebdc24a45007dd3c9c45ea9b430ef8a4b6025be4ef3376317f5d7 besu-24.5.4.tar.gz
    9d8774a69f90986477aabd2d7713ed22df1e2f29ed6b62a1889ac21675026f83 besu-24.5.4.zip

docker pull docker.io/hyperledger/besu:24.5.4

24.6.0

14 Jun 00:59
c3f7f87
Compare
Choose a tag to compare

Breaking Changes

  • Java 21 has been enforced as minimum version to build and run Besu.
  • With --bonsai-limit-trie-logs-enabled by default in this release, historic trie log data will be removed from the database unless sync-mode=FULL. It respects the --bonsai-historical-block-limit setting so shouldn't break any RPCs, but may be breaking if you are accessing this data from the database directly. Can be disabled with --bonsai-limit-trie-logs-enabled=false
  • In profile=ENTERPRISE, use sync-mode=FULL (instead of FAST) and data-storage-format=FOREST (instead of BONSAI) #7186
    • If this breaks your node, you can reset sync-mode=FAST and data-storage-format=BONSAI

Upcoming Breaking Changes

  • Receipt compaction will be enabled by default in a future version of Besu. After this change it will not be possible to downgrade to the previous Besu version.
  • PKI-backed QBFT will be removed in a future version of Besu. Other forms of QBFT will remain unchanged.
  • --Xbonsai-limit-trie-logs-enabled (and --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
  • Receipt compaction will be enabled by default in a future version of Besu. After this change it will not be possible to downgrade to the previous Besu version.

Additions and Improvements

  • Add two counters to DefaultBlockchain in order to be able to calculate TPS and Mgas/s #7105
  • Enable --Xbonsai-limit-trie-logs-enabled by default, unless sync-mode=FULL #7181
  • Promote experimental --Xbonsai-limit-trie-logs-enabled to production-ready, --bonsai-limit-trie-logs-enabled #7192
  • Promote experimental --Xbonsai-trie-logs-pruning-window-size to production-ready, --bonsai-trie-logs-pruning-window-size #7192
  • admin_nodeInfo JSON/RPC call returns the currently active EVM version #7127
  • Improve the selection of the most profitable built block #7174

Bug fixes

  • Make eth_gasPrice aware of the base fee market #7102

fa86e5c6873718cd568e3326151ce06957a5e7546b52df79a831ea9e39b857ab besu-24.6.0.tar.gz
8b2d3a674cd7ead68b9ca68fea21e46d5ec9b278bbadc73f8c13c6a1e1bc0e4d besu-24.6.0.zip

docker pull docker.io/hyperledger/besu:24.6.0

24.5.2

27 May 01:53
0cca642
Compare
Choose a tag to compare

Additions and Improvements

  • Remove deprecated Goerli testnet #7049
  • Default bonsai to use full-flat db and code-storage-by-code-hash #6984
  • New RPC methods miner_setExtraData and miner_getExtraData #7078
  • Disconnect peers that have multiple discovery ports since they give us bad neighbours #7089

Upcoming Breaking Changes

  • Version 24.5.x will be the last series to support Java 17. Next release after versions 24.5.x will require Java 21 to build and run.
  • Receipt compaction will be enabled by default in a future version of Besu. After this change it will not be possible to downgrade to the previous Besu version.
  • PKI-backed QBFT will be removed in a future version of Besu. Other forms of QBFT will remain unchanged.
  • In a future release, --Xbonsai-limit-trie-logs-enabled will be renamed to --bonsai-limit-trie-logs-enabled instead. Additionally, this limit will change to be enabled by default.
    • If you do not want the limit enabled (eg you have --bonsai-historical-block-limit set < 512), you need to explicitly disable it using --Xbonsai-limit-trie-logs-enabled=false or increase the limit.

Known Issues

  • [Frequency: occasional < 10%] Chain download halt. Only affects new syncs (new nodes syncing from scratch). Symptom: Block import halts, despite having a full set of peers and world state downloading finishing. Generally restarting besu will resolve the issue. We are tracking this in #6884

Bug fixes

  • Fix parsing gasLimit parameter when its value is > Long.MAX_VALUE #7116
  • Skip validation of withdrawals when importing BFT blocks since withdrawals don't apply to BFT chains #7115

New Contributors

Full Changelog: 24.5.1...24.5.2

4049bf48022ae073065b46e27088399dfb22035e9134ed4ac2c86dd8c5b5fbe9 besu-24.5.2.tar.gz
23966b501a69e320e8f8f46a3d103ccca45b53f8fee35a6543bd9a260b5784ee besu-24.5.2.zip

docker pull docker.io/hyperledger/besu:24.5.2

24.5.0

13 May 23:31
Compare
Choose a tag to compare
24.5.0 Pre-release
Pre-release

Due to a GitHub Actions quirk, this release is deprecated in favour of https://github.com/hyperledger/besu/releases/tag/24.5.1

24.5.1

14 May 00:03
f1d3a7d
Compare
Choose a tag to compare

What's Changed

There's a lot in this release, notably

  • early access Snap Sync Server
  • reduction in storage size of receipt
  • optional v fields for type 1 and type 2 transactions

Note there are 2 known issues which we are still working on (details below).

Breaking Changes

  • RocksDB database metadata format has changed to be more expressive, the migration of an existing metadata file to the new format is automatic at startup. Before performing a downgrade to a previous version it is mandatory to revert to the original format using the subcommand besu --data-path=/path/to/besu/datadir storage revert-metadata v2-to-v1.
  • BFT networks won't start with SNAP or CHECKPOINT sync (previously Besu would start with this config but quietly fail to sync, so it's now more obvious that it won't work) #6625, #6667
  • Forest pruning has been removed, it was deprecated since 24.1.0. In case you are still using it you must now remove any of the following options: pruning-enabled, pruning-blocks-retained and pruning-block-confirmations, from your configuration, and you may want to consider switching to Bonsai.

Upcoming Breaking Changes

  • Version 24.5.x will be the last series to support Java 17. Next release after versions 24.5.x will require Java 21 to build and run.
  • Receipt compaction will be enabled by default in a future version of Besu. After this change it will not be possible to downgrade to the previous Besu version.
  • PKI-backed QBFT will be removed in a future version of Besu. Other forms of QBFT will remain unchanged.
  • In a future release, --Xbonsai-limit-trie-logs-enabled will be renamed to --bonsai-limit-trie-logs-enabled instead. Additionally, this limit will change to be enabled by default.
    • If you do not want the limit enabled (eg you have --bonsai-historical-block-limit set < 512), you need to explicitly disable it using --Xbonsai-limit-trie-logs-enabled=false or increase the limit.

Known Issues

  • [Frequency: occasional < 10%] Chain download halt. Only affects new syncs (new nodes syncing from scratch). Symptom: Block import halts, despite having a full set of peers and world state downloading finishing. Generally restarting besu will resolve the issue. We are tracking this in #6884
  • [Frequency: occasional < 10%] Low peer numbers. More likely to occur on testnets (holesky and sepolia) but also can occur on mainnet. Symptom: peer count stays at 0 for an hour or more. Generally restarting besu will resolve the issue. We are tracking this in #6805

Additions and Improvements

  • Update "host allow list" logic to transition from deprecated host() method to suggested authority() method.#6878
  • txpool_besuPendingTransactionschange parameter numResults to optional parameter #6708
  • Extend Blockchain service #6592
  • Add bft-style blockperiodseconds transitions to Clique #6596
  • Add createemptyblocks transitions to Clique #6608
  • RocksDB database metadata refactoring #6555
  • Make layered txpool aware of minGasPrice and minPriorityFeePerGas dynamic options #6611
  • Update commons-compress to 1.26.0 #6648
  • Update Vert.x to 4.5.4 #6666
  • Refactor and extend TransactionPoolValidatorService #6636
  • Introduce TransactionSimulationService #6686
  • Transaction call object to accept both input and data field simultaneously if they are set to equal values #6702
  • eth_call for blob tx allows for empty maxFeePerBlobGas #6731
  • Extend error handling of plugin RPC methods #6759
  • Added engine_newPayloadV4 and engine_getPayloadV4 methods #6783
  • Reduce storage size of receipts #6602
  • Dedicated log marker for invalid txs removed from the txpool #6826
  • Prevent startup with BONSAI and privacy enabled #6809
  • Remove deprecated Forest pruning #6810
  • Experimental Snap Sync Server #6640
  • Upgrade Reference Tests to 13.2 #6854
  • Update Web3j dependencies #6811
  • Add tx-pool-blob-price-bump option to configure the price bump percentage required to replace blob transactions (by default 100%) #6874
  • Log detailed timing of block creation steps #6880
  • Expose transaction count by type metrics for the layered txpool #6903
  • Expose bad block events via the BesuEvents plugin API #6848
  • Add RPC errors metric #6919
  • Add rlp decode subcommand to decode IBFT/QBFT extraData to validator list #6895
  • Allow users to specify which plugins are registered #6700
  • Layered txpool tuning for blob transactions #6940

Bug fixes

  • Fix txpool dump/restore race condition #6665
  • Make block transaction selection max time aware of PoA transitions #6676
  • Don't enable the BFT mining coordinator when running sub commands such as blocks export #6675
  • In JSON-RPC return optional v fields for type 1 and type 2 transactions #6762
  • Fix Shanghai/QBFT block import bug when syncing new nodes #6765
  • Fix to avoid broadcasting full blob txs, instead of only the tx announcement, to a subset of nodes #6835
  • Snap client fixes discovered during snap server testing #6847
  • Correctly initialize the txpool as disabled on creation #6890
  • Fix worldstate download halt when using snap sync during initial sync #6981
  • Fix chain halt due to peers only partially responding with headers. Also worldstate halts caused by a halt in the chain sync #7027

Download Info

77e39b21dbd4186136193fc6e832ddc1225eb5078a5ac980fb754b33ad35d554 besu-24.5.1.tar.gz
13d75b6b22e1303f39fd3eaddf736b24ca150b2bafa7b98fce7c7782e54b213f besu-24.5.1.zip

New Contributors

Full Changelog: 24.3.3...24.5.0-RC2

24.3.3

11 Apr 06:06
Compare
Choose a tag to compare

24.3.3 - P2P Blob Transaction Hotfix

24.3.3 is a recommended hotfix for mainnet, sepolia and holesky users, especially if your peer numbers are currently low.

  • Fix to avoid broadcasting full blob txs which can cause peers to disconnect (particularly Geth) (#6835)

Full Changelog: 24.3.0...24.3.3

Note: 24.3.1 and 24.3.2 were skipped due to a bug in the release process.
Release 24.4.0 is still being worked on.

Download Info

446ae8b42f71c02d413c64e5525aded31ee4925be7ef0c729ac1b374e805928b besu-24.3.3.tar.gz
b44951e68c6978de7f289ebd5f0111f0087cd266fd0c133afcf33b2004aa1a2a besu-24.3.3.zip

Docker

docker pull docker.io/hyperledger/besu:24.3.3

24.3.1 - 24.3.2 - SKIPPED

11 Apr 01:37
Compare
Choose a tag to compare
Pre-release

24.3.1 and 24.3.2 were scrapped due to a bug in the release process

Download Info

No sha for 24.3.1 because binaries were deleted. The docker tags still exist since Rockpool pulled in 24.3.1 before we noticed the mistake.

796f007de1605706058e6511f5cc0b00879d3f4c795b1938fc1c625df8dd933c besu-24.3.2.tar.gz
55a09f32823b9a2841c1220ab16e941374bea931fbe1a41499a47b10c5ee4e67 besu-24.3.2.zip

259b68a63c9c42ed4bace8680f4eaf924246a9be6dde67f715372dd267838ed6 besu-24.3.2.tar.gz
dab9f4611d99c588915fce822776db967717aa8a51c0b26a6f684242dbf228da besu-24.3.2.zip