Releases: hyperledger/besu
23.1.0-RC1
23.1.0-RC1
Breaking Changes
- Default configurations for the deprecated Ropsten, Kiln, Shandong, and Astor networks have been removed from the CLI network list. These networks can currently be accessed but will require a user-provided genesis configuration. #4869
Additions and Improvements
- Improve SLOAD and SSTORE performance by caching empty slots #4874
- RPC methods that lookup block by hash will now return an error response if no block found #4582
- Added support for
safe
andfinalized
strings for the RPC methods using defaultBlock parameter #4902
Download Links
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0-RC1/besu-23.1.0-RC1.tar.gz / sha256: 30906891e528b3b4e3ce8e2313550a1da066b31ea10b05456dd0ad026792b46d
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0-RC1/besu-23.1.0-RC1.zip / sha256: 9067d1929079ae4a7c165e6f1e2bae08834939ed191f976d26544dc93352c306
23.1.0-beta
23.1.0-beta
Breaking Changes
- GoQuorum-compatible privacy is deprecated and will be removed in 23.4
- IBFT 1.0 is deprecated and will be removed in 23.4
- Optimize SSTORE Operation execution time (memoize current and original value) #4836
Additions and Improvements
- Added post-execution state logging option to EVM Tool #4709
- Add access list to Transaction Call Object #4802
- Add timestamp fork support, including shanghaiTime and cancunTime forks #4743
- Optimization: Memoize transaction size and hash at the same time #4812
Bug Fixes
- Fix for segmentation faults on worldstate truncation, snap-sync starts #4786
- Fix for worldstate mismatch on failed forkchoiceUpdate #4862
Download Links
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0-beta/besu-23.1.0-beta.tar.gz / sha256: ab25ee41d9464216fa2a8bbf5a788b0963e383b505c5d664c63ac96efe5ef657
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0-beta/besu-23.1.0-beta.zip / sha256: 250d87736ae09408394e584f99f1e15b5e30769d87a4eec777eca2bbb81882df
22.10.3
22.10.3
Breaking Changes
- Added
--rpc-max-logs-range
CLI option to allow limiting the number of blocks queried byeth_getLogs
RPC API. Default value: 1000 #4597 - The
graalvm
docker variant no longer meets the performance requirements for Ethereum Mainnet. Theopenjdk-11
andopenjdk-latest
variants are recommended in its place.
Additions and Improvements
- Implement Eth/68 sub-protocol #4715
- Increase the speed of modexp gas execution and execution. #4780
- Added experimental CLI options
--Xeth-capability-max
and--Xeth-capability-min
to specify a range of capabilities to be supported by the Eth protocol. #4752 - Set the default curve in the EVMTool, like is done in production operations #4790
Bug Fixes
- Fix storage key format for eth_getProof so that it follows the EIP-1474 spec #4564
Download Links
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.3/besu-22.10.3.tar.gz / sha256: 7213f9445a84a196e94ae1877c6fdb1e51d37bfb19615da02ef5121d4f40e38c
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.3/besu-22.10.3.zip / sha256: 0bf6bc98e01b0c1045f1b7d841a390c575bc5203c2a4e543d922fbc1ea0d3d5d
22.10.2
22.10.2
This is a hotfix release to resolve a race condition that results in segfaults, introduced in 22.10.1 release.
Bug Fixes
- bugfix for async operations on Snapshot worldstates #4767
NOTE
- If you are using the experimental flag
--Xbonsai-use-snapshots
we recommend removing it from your config for now. We have ported some of its behavior into the default Bonsai code, and using this flag can cause issues/conflicts.
Download Links
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.2/besu-22.10.2.tar.gz / sha256: cdb36141e3cba6379d35016e0a2de2edba579d4786124b5f7257b1e4a68867a2
https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.2/besu-22.10.2.zip / sha256: 4c9208f684762670cb4f2c6ebfb6930e05e339a7c3c586fe8caa9f26462830aa
22.10.1
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
andraw
removed from RPC APITransaction
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
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
- Before this change, the
--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 withtracePreExecution
andtracePostExecution
methods, called just before and just after operation execution. - See
DebugOperationTracer
andStandardJsonTracer
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.
- The
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
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
- Before this change, the
--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 withtracePreExecution
andtracePostExecution
methods, called just before and just after operation execution. - See
DebugOperationTracer
andStandardJsonTracer
for migration examples.
- The
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
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
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
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