Besu Versions Save

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu

24.3.3

3 weeks ago

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.

Full Changelog: https://github.com/hyperledger/besu/compare/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.2

3 weeks ago

24.3.2 was scrapped due to a bug in the release process

Download Info

~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~

develop

1 month ago

This is an automated, bleeding edge build from the tip of main. No promises. YOLO.

24.3.0

1 month ago

24.3.0

24.3.0 is Dencun-fork-ready for Ethereum Mainnet, which happens on March 13th! Please make sure to upgrade your node to at least version 24.1.2 before that time, or your node will no longer follow the chain. This is a large release with many breaking changes to Besu configurations. Please carefully read the following notes before you update your node.

Besu now has new, sensible defaults for public networks. BONSAI and SNAP are now default, so check your configuration if you are NOT using these as you upgrade. The database also more gracefully exits when starting up with the other storage format.

Bonsai is also getting an upgrade to reduce overall storage usage! With a new option to limit accumulation of trie logs, you should save 3GB on state growth per week, with an option to remove old trie logs from your database. See this PR for more details #5390. There are a few other improvements to reduce Besu's size on disk when using Bonsai.

With this version, QBFT now supports Shanghai OpCodes and contracts! Besu now also includes an option to restrict downgrades. This can be enabled in your config.

Lastly, this version includes several performance improvements to the EVM and execution performance, as well as memory usage improvements in the high-spec flag. There are new APIs for Dencun and several bug fixes. See the notes below for more details.

Breaking Changes

  • SNAP - Snap sync is now the default for named networks #6530
    • if you want to use the previous default behavior, you'll need to specify --sync-mode=FAST
  • BONSAI - Default data storage format is now Bonsai #6536
    • if you had previously used the default (FOREST), at startup you will get an error indicating the mismatch Mismatch: DB at '/your-path' is FOREST (Version 1) but config expects BONSAI (Version 2). Please check your config.
    • to fix this mismatch, specify the format explicitly using --data-storage-format=FOREST
  • Following the OpenMetrics convention, the updated Prometheus client adds the _total suffix to every metrics of type counter, with the effect that some existing metrics have been renamed to have this suffix. If you are using the official Besu Grafana dashboard (available here), just update it to the latest revision, that accepts the old and the new name of the affected metrics. If you have a custom dashboard or use the metrics in other ways, then you need to manually update it to support the new naming.
  • The trace-filter method in JSON-RPC API now has a default block range limit of 1000, adjustable with --rpc-max-trace-filter-range (thanks @alyokaz) #6446
  • Requesting the Ethereum Node Record (ENR) to acquire the fork id from bonded peers is now enabled by default, so the following change has been made #5628:
  • --Xfilter-on-enr-fork-id has been removed. To disable the feature use --filter-on-enr-fork-id=false.
  • --engine-jwt-enabled has been removed. Use --engine-jwt-disabled instead. #6491

Deprecations

  • X_SNAP and X_CHECKPOINT are marked for deprecation and will be removed in 24.6.0 in favor of SNAP and CHECKPOINT #6405
  • --Xp2p-peer-lower-bound is deprecated. #6501

Upcoming Breaking Changes

  • 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 --bonsai-limit-trie-logs-enabled=false or increase the limit. #6561

Additions and Improvements

  • eth_call and eth_feeHistory add blob fields https://github.com/hyperledger/besu/pull/6681
  • Improves block processing performance by precalculating transactions' sender #6375 and optimizing Keccak hash calculations for account storage slots during the commit phase#6452.
  • Upgrade Prometheus and Opentelemetry dependencies #6422
  • Add OperationTracer.tracePrepareTransaction, where the sender account has not yet been altered#6453
  • Improve the high spec flag by limiting it to a few column families #6354
  • Log blob count when importing a block via Engine API #6466
  • Introduce --Xbonsai-limit-trie-logs-enabled experimental feature which by default will only retain the latest 512 trie logs, saving about 3GB per week in database growth #5390
  • Introduce besu storage x-trie-log prune experimental offline subcommand which will prune all redundant trie logs except the latest 512 #6303
  • Improve flat trace generation performance #6472
  • SNAP and CHECKPOINT sync - early access flag removed so now simply SNAP and CHECKPOINT #6405
  • X_SNAP and X_CHECKPOINT are marked for deprecation and will be removed in 24.6.0
  • Github Actions based build.
  • Introduce caching mechanism to optimize Keccak hash calculations for account storage slots during block processing #6452
  • Added configuration options for pragueTime to genesis file for Prague fork development #6473
  • Moving trielog storage to RocksDB's blobdb to improve write amplications #6289
  • Support for shanghaiTime fork and Shanghai EVM smart contracts in QBFT/IBFT chains #6353
  • Change ExecutionHaltReason for contract creation collision case to return ILLEGAL_STATE_CHANGE #6518
  • Experimental feature --Xbonsai-code-using-code-hash-enabled for storing Bonsai code storage by code hash #6505
  • More accurate column size storage rocksdb usage subcommand #6540
  • Adds storage rocksdb x-stats subcommand #6540
  • New eth_blobBaseFeeJSON-RPC method #6581
  • Upgrade reference tests to version 13.1 #6574
  • Extend BesuConfiguration service #6584
  • Add ethereum_min_gas_price and ethereum_min_priority_fee metrics to track runtime values of min-gas-price and min-priority-fee #6587
  • Option to perform version incompatibility checks when starting Besu. In this first release of the feature, if --version-compatibility-protection is set to true it checks that the version of Besu being started is the same or higher than the previous version. 6307
  • Moved account frame warming from GasCalculator into the Call operations #6557

Bug fixes

  • Fix the way an advertised host configured with --p2p-host is treated when communicating with the originator of a PING packet #6225
  • Fix poa-block-txs-selection-max-time option that was inadvertently reset to its default after being configured #6444
  • Fix for tx incorrectly discarded when there is a timeout during block creation #6563
  • Fix traces so that call gas costing in traces matches other clients traces #6525

New Contributors

Full Changelog: https://github.com/hyperledger/besu/compare/24.1.2...24.3.0

Download Info

8037ce51bb5bb396d29717a812ea7ff577b0d6aa341d67d1e5b77cbc55b15f84 besu-24.3.0.tar.gz 41ea2ca734a3b377f43ee178166b5b809827084789378dbbe4e5b52bbd8e0674 besu-24.3.0.zip

docker pull docker.io/hyperledger/besu:24.3.0

24.2.0-RC3

2 months ago

24.2.0-RC3

24.2.0 is Dencun-fork-ready for Ethereum Mainnet, which happens on March 13th! Please make sure to upgrade your node to at least version 24.1.2 before that time, or your node will no longer follow the chain. This is a large release with many breaking changes to Besu configurations. Please carefully read the following notes before you update your node.

Besu now has new, sensible defaults for public networks. BONSAI and SNAP are now default, so check your configuration if you are NOT using these as you upgrade. The database also more gracefully exits when starting up with the other storage format.

Bonsai is also getting an upgrade to reduce overall storage usage! With a new option to limit accumulation of trie logs, you should save 3GB on state growth per week, with an option to remove old trie logs from your database. See this PR for more details #5390. There are a few other improvements to reduce Besu's size on disk when using Bonsai.

With this version, QBFT now supports Shanghai OpCodes and contracts! Besu now also includes an option to restrict downgrades. This can be enabled in your config.

Lastly, this version includes several performance improvements to the EVM and execution performance, as well as memory usage improvements in the high-spec flag. There are new APIs for Dencun and several bug fixes. See the notes below for more details.

Breaking Changes

  • SNAP - Snap sync is now the default for named networks #6530
    • if you want to use the previous default behavior, you'll need to specify --sync-mode=FAST
  • BONSAI - Default data storage format is now Bonsai #6536
    • if you had previously used the default (FOREST), at startup you will get an error indicating the mismatch Mismatch: DB at '/your-path' is FOREST (Version 1) but config expects BONSAI (Version 2). Please check your config.
    • to fix this mismatch, specify the format explicitly using --data-storage-format=FOREST
  • Following the OpenMetrics convention, the updated Prometheus client adds the _total suffix to every metrics of type counter, with the effect that some existing metrics have been renamed to have this suffix. If you are using the official Besu Grafana dashboard (available here), just update it to the latest revision, that accepts the old and the new name of the affected metrics. If you have a custom dashboard or use the metrics in other ways, then you need to manually update it to support the new naming.
  • The trace-filter method in JSON-RPC API now has a default block range limit of 1000, adjustable with --rpc-max-trace-filter-range (thanks @alyokaz) #6446
  • Requesting the Ethereum Node Record (ENR) to acquire the fork id from bonded peers is now enabled by default, so the following change has been made #5628:
  • --Xfilter-on-enr-fork-id has been removed. To disable the feature use --filter-on-enr-fork-id=false.
  • --engine-jwt-enabled has been removed. Use --engine-jwt-disabled instead. #6491

Deprecations

  • X_SNAP and X_CHECKPOINT are marked for deprecation and will be removed in 24.4.0 in favor of SNAP and CHECKPOINT #6405
  • --Xp2p-peer-lower-bound is deprecated. #6501

Upcoming Breaking Changes

  • 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 --bonsai-limit-trie-logs-enabled=false or increase the limit. #6561

Additions and Improvements

  • Improves block processing performance by precalculating transactions' sender #6375 and optimizing Keccak hash calculations for account storage slots during the commit phase#6452.
  • Upgrade Prometheus and Opentelemetry dependencies #6422
  • Add OperationTracer.tracePrepareTransaction, where the sender account has not yet been altered#6453
  • Improve the high spec flag by limiting it to a few column families #6354
  • Log blob count when importing a block via Engine API #6466
  • Introduce --Xbonsai-limit-trie-logs-enabled experimental feature which by default will only retain the latest 512 trie logs, saving about 3GB per week in database growth #5390
  • Introduce besu storage x-trie-log prune experimental offline subcommand which will prune all redundant trie logs except the latest 512 #6303
  • Improve flat trace generation performance #6472
  • SNAP and CHECKPOINT sync - early access flag removed so now simply SNAP and CHECKPOINT #6405
  • X_SNAP and X_CHECKPOINT are marked for deprecation and will be removed in 24.4.0
  • Github Actions based build.
  • Introduce caching mechanism to optimize Keccak hash calculations for account storage slots during block processing #6452
  • Added configuration options for pragueTime to genesis file for Prague fork development #6473
  • Moving trielog storage to RocksDB's blobdb to improve write amplications #6289
  • Support for shanghaiTime fork and Shanghai EVM smart contracts in QBFT/IBFT chains #6353
  • Change ExecutionHaltReason for contract creation collision case to return ILLEGAL_STATE_CHANGE #6518
  • Experimental feature --Xbonsai-code-using-code-hash-enabled for storing Bonsai code storage by code hash #6505
  • More accurate column size storage rocksdb usage subcommand #6540
  • Adds storage rocksdb x-stats subcommand #6540
  • New eth_blobBaseFeeJSON-RPC method #6581
  • Upgrade reference tests to version 13.1 #6574
  • Extend BesuConfiguration service #6584
  • Add ethereum_min_gas_price and ethereum_min_priority_fee metrics to track runtime values of min-gas-price and min-priority-fee #6587
  • Option to perform version incompatibility checks when starting Besu. In this first release of the feature, if --version-compatibility-protection is set to true it checks that the version of Besu being started is the same or higher than the previous version. 6307
  • Moved account frame warming from GasCalculator into the Call operations #6557

Bug fixes

  • Fix the way an advertised host configured with --p2p-host is treated when communicating with the originator of a PING packet #6225
  • Fix poa-block-txs-selection-max-time option that was inadvertently reset to its default after being configured #6444
  • Fix for tx incorrectly discarded when there is a timeout during block creation #6563
  • Fix traces so that call gas costing in traces matches other clients traces #6525

New Contributors

Full Changelog: https://github.com/hyperledger/besu/compare/24.1.2...24.2.0-RC3

Download Info

24.2.0-RC1 AND 24.2.0-RC2 Have been found to be bad releases. Info will be preserved, however artifacts have been removed. Please use 24.1.2 or use RC3

ef1679cb41151ce0aa35a776fda399a8c75955b732d519bcf7e179552fb9f1c0 besu-24.2.0-RC3.tar.gz bca5bc09ca726408fe34e0b11f76d8c28526f162ecfef279c3342b4fec2b8012 besu-24.2.0-RC3.zip

docker pull docker.io/hyperledger/besu:24.2.0-RC3

24.2.0-RC2

2 months ago

24.2.0-RC2 Has been found to be a bad release. Artifacts have been removed, bad hashes are still included below. Please use 24.1.2 or 24.2.0-RC3

Download Info

a7eea02a1e293fe2683ca255fba5d59c6ac56a5419975748b9ea3d620f478a58 besu-24.2.0-RC2.tar.gz ac18201442d7addbe09a0416edf3ba712a68d13e8b70b234060bd2972086472c besu-24.2.0-RC2.zip

docker pull ghcr.io/hyperledger/besu:24.2.0-RC2

24.2.0-RC2 Has been found to be a bad release. This page will be preserved, however artifacts have been removed. Please use 24.1.2 or use RC3

24.2.0-RC1

2 months ago

24.2.0-RC1 Has been found to be a bad release. Artifacts have been removed, bad hashes are still included below. Please use 24.1.2 or 24.2.0-RC2

Download Info

~44011cf63e0f2d460299144510dc736f3913807580cd4b957b6c274d4dee3f7c besu-24.2.0-RC1.tar.gz~ ~00aa0e37c0fd78939345c85cc53ca11e5e11df25735b27856c91c700b8c78532 besu-24.2.0-RC1.zip~

~docker pull ghcr.io/hyperledger/besu:24.2.0-RC1~

24.1.2

2 months ago

24.1.2 - Besu is Dencun Ready

This release is the minimum version that is required for the upcoming Ethereum Mainnet Dencun upgrade on March 13th. You must upgrade to this version (or greater) before then, or your node will no longer follow the chain. This is also a required version for Besu nodes on Ethereum Classic. This release does not contain other fixes or improvements. We plan on releasing more fixes, improvements, and features in our next release.

  • Fix ETC Spiral upgrade breach of consensus #6524
  • Adds timestamp to enable Cancun upgrade on mainnet #6545

Full Changelog: https://github.com/hyperledger/besu/compare/24.1.1...24.1.2

Download Links https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.2/besu-24.1.2.zip sha256 9033f300edd81c770d3aff27a29f59dd4b6142a113936886a8f170718e412971

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.2/besu-24.1.2.tar.gz sha256 082db8cf4fb67527aa0dd757e5d254b3b497f5027c23287f9c0a74a6a743bf08

24.1.1

3 months ago

24.1.1

Breaking Changes

  • New EXECUTION_HALTED error returned if there is an error executing or simulating a transaction, with the reason for execution being halted. Replaces the generic INTERNAL_ERROR return code in certain cases which some applications may be checking for #6343
  • The Besu Docker images with openjdk-latest tags since 23.10.3 were incorrectly using UID 1001 instead of 1000 for the container's besu user. The user now uses 1000 again. Containers created from or migrated to images using UID 1001 will need to chown their persistent database files to UID 1000 #6360 - thanks @h4l
  • The deprecated --privacy-onchain-groups-enabled option has now been removed. Use the --privacy-flexible-groups-enabled option instead. #6411
  • The time that can be spent selecting transactions during block creation is not capped at 5 seconds for PoS and PoW networks, and for PoA networks, at 75% of the block period specified in the genesis, this to prevent possible DoS in case a single transaction is taking too long to execute, and to have a stable block production rate, but it could be a breaking change if an existing network used to have transactions that takes more time to executed that the newly introduced limit, if it is mandatory for these network to keep processing these long processing transaction, then the default value of block-txs-selection-max-time or poa-block-txs-selection-max-time needs to be tuned accordingly. #6423

Deprecations

Additions and Improvements

  • Optimize RocksDB WAL files, allows for faster restart and a more linear disk space utilization #6328
  • Disable transaction handling when the node is not in sync, to avoid unnecessary transaction validation work #6302
  • Introduce TransactionEvaluationContext to pass data between transaction selectors and plugin, during block creation #6381
  • Upgrade dependencies #6377
  • Upgrade com.fasterxml.jackson dependencies #6378
  • Upgrade Guava dependency #6396
  • Upgrade Mockito #6397
  • Upgrade tech.pegasys.discovery:discovery #6414
  • Options to tune the max allowed time that can be spent selecting transactions during block creation are now stable #6423

Bug fixes

  • INTERNAL_ERROR from eth_estimateGas JSON/RPC calls #6344
  • Fix Besu Docker images with openjdk-latest tags since 23.10.3 using UID 1001 instead of 1000 for the besu user #6360 - thanks @h4l
  • Fluent EVM API definition for Tangerine Whistle had incorrect code size validation configured #6382
  • Correct mining beneficiary for Clique networks in TraceServiceImpl #6390
  • Fix to gas limit delta calculations used in block production. Besu should now increment or decrement the block gas limit towards its target correctly (thanks @arbora) #6425
  • Ensure Backward Sync waits for initial sync before starting a session #6455
  • Silence the noisy DNS query errors #6458

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.zip / sha256 e23c5b790180756964a70dcdd575ee2ed2c2efa79af00bce956d23bd2f7dc67c https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.tar.gz / sha256 4b0ddd5a25be2df5d2324bff935785eb63e4e3a5f421614ea690bacb5b9cb344

Errata

Note, due to a CI race with the release job, the initial published version of 24.1.1 were overwritten by artifacts generated from the same sources, but differ in their embedded timestamps. The initial SHAs are noted here but are deprecated: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.zip / sha256 b6b64f939e0bb4937ce90fc647e0a7073ce3e359c10352b502059955070a60c6 https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.tar.gz / sha256 cfcae04c30769bf338b0740ac65870f9346d3469931bb46cdba3b2f65d311e7a

24.1.0

3 months ago

24.1.0 Quarterly

This release is a strongly recommended update for all Mainnet users. 24.1.0 is a required release for the upcoming Ethereum testnet forks, the first of which is Goerli on the 17th of January. This release supports Sepolia and Holesky forks as well. This is also a required update for all ETC node operators as it contains the configurations for the Spiral hard fork. 24.1.0 contains some optional, but useful features for private networks.

This release includes the latest hotfix for the Mainnet halt Besu experienced on January 6th. A post-mortem of that bug can be found here. This release contains many related Bonsai fixes.

Deprecations

  • Forest pruning (pruning-enabled options) is deprecated and will be removed soon. To save disk space consider switching to Bonsai data storage format #6230

Additions and Improvements

  • Add error messages on authentication failures with username and password #6212
  • New Sequenced transaction pool. The pool is an evolution of the legacy pool and is likely to be more suitable to enterprise or permissioned chains than the layered transaction pool. Select to use this pool with --tx-pool=sequenced. Supports the same options as the legacy pool #6274
  • Set Ethereum Classic mainnet activation block for Spiral network upgrade #6267
  • Add custom genesis file name to config overview if specified #6297
  • Update Gradle plugins and replace unmaintained License Gradle Plugin with the actively maintained Gradle License Report #6275
  • Cancun forkids for non-mainnets #6322

Bug fixes

  • Hotfix for selfdestruct preimages on bonsai #6359
  • Fix trielog shipping issue during self destruct #6340
  • Mitigation for trielog failure #6315

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.0/besu-24.1.0.zip / sha256 d36c8aeef70f0a516d4c26d3bc696c3e2a671e515c9e6e9475a31fe759e39f64 https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.0/besu-24.1.0.tar.gz / sha256 602b04c0729a7b17361d1f0b39f4ce6a2ebe47932165add666560fe594d9ca99