Releases: hyperledger/besu
22.7.5
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
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
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
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.3/besu-22.7.3.tar.gz / sha256:
b0863fe2406cab57caf8a02f2bf02632cc5198622ac48b69bc63c128703bbd79
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.3/besu-22.7.3.zip / sha256:
368c6cb86119f8fe30bb12ab8c63b4d95a0fd8baf9c9414307a0a4033756b709
22.7.2
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
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.2/besu-22.7.2.tar.gz / sha256:
8030a48f824c7bbc138b38a9e84e5531950bc16f6d21cda8b215232cce334214
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.2/besu-22.7.2.zip / sha256:
72653171b1ddd910e705fc6f616d7f1f4c120ef0d91718f0376f3ee5f2982c11
22.7.1 - Ready to Merge
22.7.1 - Mandatory Upgrade for The Merge on Ethereum Mainnet!
Hi folks! This is the big one... This update includes configurations that make Besu compatible with the Mainnet Merge! Make sure you read up on the Merge here to understand what is happening to both your node and the network (and check out this page to make sure you are prepared). The date for the Merge is likely to be the 15th of September and can be tracked here.
Since Besu releases on a two-weekly cadence, we anticipate one more (likely optional) release prior to the Merge with last minute fixes, cleanup, and more so stay tuned for that. Make sure your nodes are in sync prior to the 15th if you want to participate in history!
Additions and Improvements
- Introduce a cap to reputation score increase #4230
- Add experimental CLI option for
--Xp2p-peer-lower-bound
#4200 - Improve pending blocks retrieval mechanism #4227
- set mainnet terminal total difficulty #4260
Bug Fixes
- Fixes off-by-one error for mainnet TTD fallback #4223
- Fix off-by-one error in AbstractRetryingPeerTask #4254
- Refactor and fix retrying get block switching peer #4256
- Fix encoding of key (short hex) in eth_getProof #4261
- Fix for post-merge networks fast-sync #4224, #4276
Download links
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.1/besu-22.7.1.tar.gz / sha256:
7cca4c11e1d7525c172f2af9fbf456d134ada60e970d8b6abcfcd6c623b5dd36
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.1/besu-22.7.1.zip / sha256:
ba6e0b9b65ac36d041a5072392f119ff76e8e9f53a3d7b1e1a658ef1e4705d7a
22.7.0
Release Notes
22.7.0 is our Quarterly release with some big fixes over the previous 22.4.4. This is a recommended update for all users on public networks and those using Bonsai. This release also make many improvements to underlying peering code for better peering on public networks. There are a number of fixes around Merge-related code and the robustness of Besu as a whole.
With the stability of Bonsai in 22.7.0 and some planned optimizations, we are anticipating changing it to the default storage format at some point in the future. We will have more to share on this in the coming months, but nothing more at this time.
This update also includes tweaks and optimizations for memory management, RocksDB, peering default values, and more. See the changelog below and in the last few release candidates for more details.
Bug Fixes
- Empty headers are now accepted correctly (per Ethereum p2p Spec) when in a range of headers #4189
- Transaction handling will now function correctly when the TTD boundary has been crossed in a Merged network (used to require a restart) #4186
- Pandas will now only print once when Merging, not on every startup (sorry panda fans) #4194
- Fix for ENR request order handling when peering #4179
Optimizations, Features, & Improvements
- New flag (
--engine-rpc-enabled
) for forcing the Engine API to be present on a network with no TTD set #4190 - Upgrade to Gradle 7.5 #4196
- Upgrade spotless to 6.8.0 #4195
- Changes to peer handling with DNS peers for peering improvements #4178
Download links
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0/besu-22.7.0.tar.gz / sha256:
af21104a880c37706b660aa816e1c38b2b3f603a97420ddcbc889324b71aa50e
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0/besu-22.7.0.zip / sha256:
5b1586362e6e739c206c25224bb753a372bad70c0b22dbe091f9253024ebdc45
22.7.0-RC3
22.7.0-RC3
Known/Outstanding issues:
- Besu requires a restart post-merge to re-enable remote transaction processing #3890
- Investigation/improvement of peering performance is ongoing for post-merge test networks Ropsten and Kiln
Additions and Improvements
- Engine API: Change expiration time for JWT tokens to 60s #4168
- Sepolia mergeNetSplit block #4158
- Goerli TTD #4160
- Several logging improvements
Bug Fixes
Download links
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC3/besu-22.7.0-RC3.tar.gz / sha256:
6a1ee89c82db9fa782d34733d8a8c726670378bcb71befe013da48d7928490a6
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC3/besu-22.7.0-RC3.zip / sha256:
5de22445ab2a270cf33e1850cd28f1946442b7104738f0d1ac253a009c53414e
22.7.0-RC2
Improvements
- JEMalloc included in this release. jemalloc is an alternative memory allocator that better handles concurrency and memory fragmentation. Like many other projects, we have discovered that besu benefits from using a modern alternative malloc implementation. In the latest release we have included a preference for the jemalloc library, and have found it to manage rocksdb memory much more effectively. In addition to adding this preference in the *nix besu startup script, jemalloc has been baked into our docker images by default. If you are not running docker besu in a docker container, linux users can leverage jemalloc simply by installing the jemalloc library (which most distributions have a package for)
- RocksDB configuration changes. We have spent time researching how to configure our database technology (RocksDB) to gain better performance and address some recent regressions. We are seeing improvements on Block Import times and memory usage in total, so please update to this build if you are experiencing memory challenges.
- Add a block to the bad blocks if it did not descend from the terminal block #4080
- Backward sync exception improvements #4092
- Remove block header checks during backward sync, since they will be always performed during block import phase #4098
- Optimize the backward sync retry strategy #4095
Bug Fixes
- Changed max message size in the p2p layer to 16.7MB from 10MB to improve peering performance #4120
- Fixes for parent stateroot mismatch when using Bonsai storage mode (please report if you encounter this bug on this version) #4094
- Above Bonsai related fixes have addressed situations where the event log was not indexed properly #3921
- Fixes related to backward sync and reorgs #4097
- Checkpoint sync with more merge friendly checkpoint blocks #4085
- Fixes around RocksDB performance and memory usage #4128
- Fix for RPC performance parallelization to improve RPC performance under heavy load #3959
- Fix for post-Merge peering after PoW is removed in our logic for weighting peers #4116
- Various logging changes to improve UX- Return the correct latest valid hash in case of bad block when calling engine methods #4056
- Add a PoS block header rule to check that the current block is more recent than its parent #4066
- Fixed a trie log layer issue on bonsai during reorg #4069
- Fix transition protocol schedule to return the pre Merge schedule when reorg pre TTD #4078
- Remove hash to sync from the queue only if the sync step succeeds #4105
- The build process runs successfully even though the system language is not English #4102
- Avoid starting or stopping the BlockPropagationManager more than once #4122
Download links
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC2/besu-22.7.0-RC2.zip / sha256
d56c340f5982b882fbecca2697ca72a5bbefe0e978d2d4504211f012e2242a81
- https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC2/besu-22.7.0-RC2.tar.gz / sha256
befe15b893820c9c6451a74fd87b41f555ff28561494b3bebadd5da5c7ce25d3
22.4.4
22.4.4
This release resolves known issues in 22.4.3 with respect to snap-sync and state root mismatch/worldstate unavailable issues. Certain configurations may still experience excessive off-heap memory consumption by rocksdb, which will be addressed by a future release in the 22.7.x series.
Additions and Improvements
- Do not require a minimum block height when downloading headers or blocks #3911
- When on PoS the head can be only be updated by ForkchoiceUpdate #3994
- Add TTD and DNS to Sepolia config #4024
Bug Fixes
- Fixed a snapsync issue that can sometimes block the healing step #3920
- remove peer block height requirements for block fetching #3911
- allow upgrade whether websockets enabled or not #4019
- jwt auth on websockets #4039
- Fixed a state root mismatch issue on bonsai that may appear occasionally #4041
- Fixed a trie log layer issue on bonsai during reorg #4069
Download links
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.4.4/besu-22.4.4.tar.gz
sha256: e7cfb082f6d7985e760fa2cd1e18c266777fafb48137d2a9c3b68ec3f6d2a732
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.4.4/besu-22.4.4.zip
sha256: 84a7bee8fc35c78fd6d9e7bbdc5cd28c577d95487480bb03b9642a3111b71bc3
22.7.0-RC1
Additions and Improvements
- Do not require a minimum block height when downloading headers or blocks #3911
- When on PoS the head can be only be updated by ForkchoiceUpdate #3994
- Version information available in metrics #3997
- Add TTD and DNS to Sepolia config #4024
- Add terminal block hash and number to Ropsten genesis file #4026
- Return
type
with value0x0
when serializing legacy transactions #4027 - Ignore
ForkchoiceUpdate
ifnewHead
is an ancestor of the chain head #4055
Bug Fixes
- Fixed a snapsync issue that can sometimes block the healing step #3920
- Support free gas networks in the London fee market #4003
- Limit the size of outgoing eth subprotocol messages. #4034
- Fixed a state root mismatch issue on bonsai that may appear occasionally #4041
Download links
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC1/besu-22.7.0-RC1.tar.gz
sha256: 60ad8b53402beb62c24ad791799d9cfe444623a58f6f6cf1d0728459cb641e63
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC1/besu-22.7.0-RC1.zip
sha256: 7acfb3a73382bf70f6337e83cb7e9e472b4e5a9da88c5ed2fbd9e82fcf2046dc