Skip to content

Releases: hyperledger/besu

22.10.1

01 Dec 22:56
71148c1
Compare
Choose a tag to compare

22.10.1

Note: Do NOT use v22.10.1, there is a known SEGFAULT causing Besu to be unable to start. This issue is resolved in 22.10.2.

Breaking Changes

  • Fields publicKey and raw removed from RPC API Transaction result object #4575

Additions and Improvements

  • Explain and improve price validation for London and local transactions during block proposal selection #4602
  • Support for ephemeral testnet Shandong, for EOF testing. #4599
  • Improve performance of block processing by parallelizing some parts during the "commit" step #4635
  • Upgrade RocksDB version from 7.6.0 to 7.7.3
  • Added new RPC endpoints debug_setHead & debug_replayBlock 4580
  • Upgrade OpenTelemetry to version 1.19.0 #3675
  • Implement Eth/67 sub-protocol #4596
  • Backward sync log UX improvements #4655
  • Enable RocksDB Bloom filters to improve read performance #4682
  • Backward sync: use retry switching peer when fetching data from peers #4656
  • Shanghai implementation of EIP-3651 Warm coinbase #4620
  • Shanghai implementation of EIP-3855 Push0 #4660
  • Shanghai implementation of EIP-3540 and EIP-3670 Ethereum Object Format and Code Validation #4644
  • Remove some log statements that are keeping some objects live in heap for a long time, to reduce the amount of memory required during initial sync #4705
  • Add field type to Transaction receipt object (eth_getTransactionReceipt) #4505
  • Print an overview of configuration and system information at startup #4451
  • Do not send new payloads to backward sync if initial sync is in progress #4720
  • Improve the way transaction fee cap validation is done on London fee market to not depend on transient network conditions #4598
  • Preload and cache account and storage data from RocksDB to improve performance #4737

Bug Fixes

  • Restore updating chain head and finalized block during backward sync #4718

Download Links

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.1/besu-22.10.1.tar.gz / sha256: b6757b9fc69b782cdabb95b1e784d31b1effcc2e25c6b198b2f9d6b3786c7a8a
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.1/besu-22.10.1.zip / sha256: 0dbee534620c7cc0fac0596e6df0c7f8a74be9df9cecd9d4f1407016f30fb9a1

22.10.0

02 Nov 18:50
2cafa8a
Compare
Choose a tag to compare

22.10.0

Breaking Changes

  • Flexible Privacy Groups (early access) support to Tessera's EC encryptor (contracts modified) #4282
    • Before this change, the bytes32 type was used for the enclave public keys, just supporting encryptors with public keys of that length (like the default NaCl)
    • For the EC encryptor, the encoded public key length is 91
  • --tx-pool-hashes-max-size option removed (deprecated in 22.1.3)
  • --Xmerge-support option remove (deprecated in 22.4.2) #4518
  • Breaking API changes in the OperationTracer interface to enable performance work.
    • The traceExecution method has been replaced with tracePreExecution and tracePostExecution methods, called just before and just after operation execution.
    • See DebugOperationTracer and StandardJsonTracer for migration examples.
    • RocksDB will not be able to downgrade after updating to 22.10.0 if you are looking to return to 22.7.x without a resync. Will will be changing this behavior in a future update.

Additions and Improvements

  • Updated jackson-databind library to version 2.13.4.2 addressing CVE-2022-42003
  • Update snapsync feature to avoid restarting the download of the world state from scratch when restarting Besu #4381
  • Added worldstate snapshot isolation to improve the stability of bonsai (--Xbonsai-use-snapshots=true) #4351
  • Reduce the number of runtime exceptions (SecurityModuleException) and unnecessary executions during ECIES handshake, by trying to decrypt EIP-8 formatted messages first #4508.
  • Improved RLP processing of zero-length string as 0x80 #4283 #4388
  • Increased level of detail in JSON-RPC parameter error log messages #4510
  • New unstable configuration options to set the maximum time, in milliseconds, a PoS block creation jobs is allowed to run #4519
  • Tune EthScheduler thread pools to avoid recreating too many threads #4529
  • RocksDB snapshot based worldstate and plugin-api addition of Snapshot interfaces #4409
  • Continuously try to build better block proposals until timeout or GetPayload is called #4516
  • Upgrade RocksDB database version from 6.29.5 to 7.6.0 #4517
  • Avoid connecting to self when using static-nodes #4521
  • EVM performance has increased 20%-100% depending on the particulars of the contract. #4540
  • Improve calculateRootHash method performance during Block processing #4568
  • Bring GraphQL into compliance with execution-api specs #4112
  • Refactor unverified forkchoice event #4487
  • Improve UX of initial sync logs, pushing not relevant logs to debug level #4486
  • Optimize pivot block selector on PoS networks #4488
  • Optimize Snap sync on PoS networks #4462

Bug Fixes

  • Fixed default fromBlock value and improved parameter interpretation in eth_getLogs RPC handler #4513
  • Fix for NoSuchElementException for missing invalid reason when rejecting a local sent transaction #4569
  • Corrects treating a block as bad on internal error during either validation or processing #4512
  • Corrects emission of blockadded events when rewinding during a re-org. Fix for #4495
  • Always return a transaction type for pending transactions #4364
  • Avoid a cyclic reference while printing EngineExchangeTransitionConfigurationParameter #4357
  • Corrects treating a block as bad on internal error #4512
  • In GraphQL update scalar parsing to be variable friendly #4522
  • Initiate connection to maintained peers soon after startup. #4469
  • Update apache-commons-text to 1.10.0 to address CVE-2022-42889 #4542

Download Links

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.0/besu-22.10.0.tar.gz / sha256: 88fb5df567e4ec3547d7d2970cfef00debbd020c0da66b19166d43779b3b2b85
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.0/besu-22.10.0.zip / sha256: c8e39f7c879409cb9b47f4d3de5e9c521249083830a8c9a45e8a14a319fe195d

22.10.0-RC2

19 Oct 18:08
6c072da
Compare
Choose a tag to compare
22.10.0-RC2 Pre-release
Pre-release

22.10.0-RC2

Breaking Changes

  • Flexible Privacy Groups (early access) support to Tessera's EC encryptor (contracts modified) #4282
    • Before this change, the bytes32 type was used for the enclave public keys, just supporting encryptors with public keys of that length (like the default NaCl)
    • For the EC encryptor, the encoded public key length is 91
  • --tx-pool-hashes-max-size option removed (deprecated in 22.1.3)
  • --Xmerge-support option remove (deprecated in 22.4.2) #4518
  • Breaking API changes in the OperationTracer interface to enable performance work.
    • The traceExecution method has been replaced with tracePreExecution and tracePostExecution methods, called just before and just after operation execution.
    • See DebugOperationTracer and StandardJsonTracer for migration examples.

Additions and Improvements

  • Reduce the number of runtime exceptions (SecurityModuleException) and unnecessary executions during ECIES handshake, by trying to decrypt EIP-8 formatted messages first #4508.
  • Improved RLP processing of zero-length string as 0x80 #4283 #4388
  • Increased level of detail in JSON-RPC parameter error log messages #4510
  • New unstable configuration options to set the maximum time, in milliseconds, a PoS block creation jobs is allowed to run #4519
  • Tune EthScheduler thread pools to avoid recreating too many threads #4529
  • RocksDB snapshot based worldstate and plugin-api addition of Snapshot interfaces #4409
  • Continuously try to build better block proposals until timeout or GetPayload is called #4516
  • Upgrade RocksDB database version from 6.29.5 to 7.6.0 #4517
  • Avoid connecting to self when using static-nodes #4521
  • EVM performance has increased 20%-100% depending on the particulars of the contract. #4540

Bug Fixes

  • Corrects emission of blockadded events when rewinding during a re-org. Fix for #4495
  • Always return a transaction type for pending transactions #4364
  • Avoid a cyclic reference while printing EngineExchangeTransitionConfigurationParameter #4357
  • Corrects treating a block as bad on internal error #4512
  • In GraphQL update scalar parsing to be variable friendly #4522
  • Initiate connection to maintained peers soon after startup. #4469
  • Update apache-commons-text to 1.10.0 to address CVE-2022-42889 #4542

Download Links

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.10.0-RC2/besu-22.10.0-RC2.zip / sha256:
bb07354864b8e38e8488f6d400657237cdddec101ef3a656a950bc4379f094f3
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.10.0-RC2/besu-22.10.0-RC2.tar.gz / sha256:
1f67a1bc4aaf16ebfdc42dd28db043cb161f92a6e7e633faf142a2b4d74a4c9d

22.7.7

19 Oct 15:22
fdb7e91
Compare
Choose a tag to compare

22.7.7

Additions and Improvements

  • Tune EthScheduler thread pools to avoid recreating too many threads #4529
  • Reduce the number of runtime exceptions (SecurityModuleException) and unnecessary executions during ECIES handshake, by trying to decrypt EIP-8 formatted messages first #4508.
  • The block variable was keeping too much memory while waiting for future to finish #4489

Bug Fixes

  • Corrects treating a block as bad on internal error #4512
  • update appache-commons-text to 1.10.0 to address CVE-2022-42889 #4542
  • In GraphQL update scalar parsing to be variable friendly #4522

Download Links

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.7/besu-22.7.7.zip / sha256: 79b2b1518605603d8268f873f2576617ca8340d89c045e0eda6896f40defea0d
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.7/besu-22.7.7.tar.gz / sha256: 161c52ba9be8508767e80dbce796b4ad2cc5b649f7ed15387c6359d1e15753f6

22.7.6

07 Oct 23:48
0c3ea84
Compare
Choose a tag to compare

22.7.6

Hotfix release of the 22.7.x series to address #4495 which could result in failed block proposals on merge networks. Besu version 22.7.6 will automatically invalidate the bloomfilter cache from prior versions of besu and regenerate the cache in the background.

Additions and Improvements

  • Bring GraphQL into compliance with execution-api specs #4112

Bug Fixes

  • Corrects emission of blockadded events when rewinding during a re-org. #4497

Download Links

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.6/besu-22.7.6.zip / sha256: ae05040027b96ba458a08cfee8577dafe1d85a3afce793f00f798cedb3ab547d
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.6/besu-22.7.6.tar.gz / sha256: 9e538852f16fd39b884c4c342beaad813e33ab24890634c01eee3d37dc1da893

22.10.0-RC1

07 Oct 00:36
154e56c
Compare
Choose a tag to compare
22.10.0-RC1 Pre-release
Pre-release

22.10.0-RC1

Additions and Improvements

  • Bring GraphQL into compliance with execution-api specs #4112
  • Improve UX of initial sync logs, pushing not relevant logs to debug level #4486
  • Refactor unverified forkchoice event #4487
  • Optimize pivot block selector on PoS networks #4488
  • Optimize Snap sync on PoS networks #4462

Bug Fixes

Download Links

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.10.0-RC1/besu-22.10.0-RC1.zip / sha256: 16fd47533aa2986491143e5f4a052c0aa4866ebfa415abbf3ca868e4fbeac6ce
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.10.0-RC1/besu-22.10.0-RC1.tar.gz / sha256: 48fd3480e4380580ed9187302be987e9eca2b445935ec6a509e7269898d8a4a8

22.7.5

05 Oct 17:45
f0115fd
Compare
Choose a tag to compare

Additions and Improvements

  • Avoid sending added block events to transaction pool, and processing incoming transactions during initial sync #4457
  • When building a new proposal, keep the best block built until now instead of the last one #4455
  • Add Mainnet to merged networks #4463

Bug Fixes

  • Fixed logIndex value returned by eth_getLogs RPC call #4355

Download Links

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.5/besu-22.7.5.zip / sha256: b5d7b255b249beea0f46ec397122823c75f2373083a71a9f7b4c98b2b0f94997
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.5/besu-22.7.5.tar.gz / sha256: 91e3cbc16c46c53f7bf55bdd968553d0fb4087bff1e244cb03ac175ac54cf718

22.7.4 - Memory Leak Fix

26 Sep 17:05
286a6f3
Compare
Choose a tag to compare

22.7.4

This is a STRONGLY RECOMMENDED upgrade which resolves known issues in the prior release (22.7.3). This version fixes a memory leak which was uncovered by fixes in 22.7.3.

Bug Fixes

  • Remove records that track transactions by sender when they are empty to same memory in the transaction pool #4415
  • Add Toml configuration file support for --Xplugin-rocksdb-high-spec-enabled flag #4438

Download Links

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.4/besu-22.7.4.zip / sha256: 4f2a0c20bee7f266ec1dcb45fa90ae1ca42f4b22e9b21a601b7705357259aea9
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.4/besu-22.7.4.tar.gz / sha256: a60efc4d515ac94710bbc6d61a24f409b03fcfc02323bee2a2d75c883fc99dce

22.7.3

23 Sep 17:33
a79590e
Compare
Choose a tag to compare

22.7.3

The 22.7.3 release is predominantly focused on post-Merge fixes for Ethereum Mainnet and is strongly recommended for those users. It contains a variety of fixes and performance improvements that will alleviate issues for staking users around missed attestations and empty block proposals. This release also contains improvements for Besu's native crypto libraries to help with performance. It also fixes some RPC issues and provides a new flag --Xplugin-rocksdb-high-spec-enabled for higher spec'd hardware to increase database performance to speed up Besu in many operations (would recommend this for machines with 16GB of RAM or more). See the changelog for more.

Additions and Improvements

  • Allow free gas networks in the London fee market #4061
  • Upgrade besu-native to 0.6.0 and use Blake2bf native implementation if available by default #4264
  • Resets engine QoS timer with every call to the engine API instead of only when ExchangeTransitionConfiguration is called #4411
  • ExchangeTransitionConfiguration mismatch will only submit a debug log not a warning anymore #4411
  • Upgrade besu-native to 0.6.1 and include linux arm64 build of bls12-381 #4416
  • Create a new flag on RocksDB (--Xplugin-rocksdb-high-spec-enabled) for high spec hardware to boost performance #4423
  • Transaction pool improvements to avoid filling the pool with not executable transactions, that could result in empty or semi-empty block proposals #4425
  • Limit Transaction pool consumption by sender to a configurable percentage of the pool size #4417

Bug Fixes

  • Retry block creation if there is a transient error and we still have time, to mitigate empty block issue #4407
  • Fix StacklessClosedChannelException in Besu and resulted timeout errors in CL clients (#4398, #4400)
  • Return JSON-RPC error code instead of INVALID in engine api when certain storage exceptions are encountered (#4349)

Download links

22.7.2

07 Sep 23:31
77b55ba
Compare
Choose a tag to compare

22.7.2

Besu 22.7.2 is a recommended release for the Merge and Mainnet users. 22.7.1 remains Merge-ready. This release provides additional robustness before the Merge with some fixes and improvements in sync, peering, and logging.

Additions and Improvements

  • Better management of jemalloc presence/absence in startup script #4237
  • Retry mechanism when getting a broadcasted block fail on all peers #4271
  • Filter out disconnected peers when fetching available peers #4269
  • Updated the default value of fast-sync-min-peers post merge #4298
  • Log imported block info post merge #4310
  • Pandas! Pandas now appear in 3 phases: The black bear and polar bear that are preparing? Those will appear when
    your client has TTD configured (which is setup by default for mainnet), is in sync, and processing Proof of Work blocks. In the second phase you will see them powering up when the Terminal Total Difficulty block is added to the blockchain.
    The final form of the Ethereum Panda will appear when the first finalized block is received from the Consensus Layer.

Bug Fixes

  • Accept wit/80 from Nethermind #4279
  • Properly shutdown the miner executor, to avoid waiting 30 seconds when stopping #4353

Download links