Skip to content

24.5.1

Compare
Choose a tag to compare
@macfarla macfarla released this 14 May 00:03
f1d3a7d

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