Releases: hyperledger/besu
24.5.1
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
andpruning-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.
- If you do not want the limit enabled (eg you have
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 suggestedauthority()
method.#6878 txpool_besuPendingTransactions
change parameternumResults
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
andminPriorityFeePerGas
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
anddata
field simultaneously if they are set to equal values #6702 eth_call
for blob tx allows for emptymaxFeePerBlobGas
#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
- @RoboCopsGoneSock made their first contribution in #6677
- @friedemannf made their first contribution in #6702
- @MASDXI made their first contribution in #6708
- @wellweek made their first contribution in #6730
- @suraneti made their first contribution in #6562
- @standstaff made their first contribution in #6741
- @Savid made their first contribution in #6744
- @lyfsn made their first contribution in #6758
- @StevenMia made their first contribution in #6951
- @goodactive made their first contribution in #6971
Full Changelog: 24.3.3...24.5.0-RC2
24.3.3
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.
- Fix to avoid broadcasting full blob txs which can cause peers to disconnect (particularly Geth) (#6835)
Full Changelog: 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.1 - 24.3.2 - SKIPPED
24.3.1 and 24.3.2 were scrapped due to a bug in the release process
Download Info
No sha for 24.3.1 because binaries were deleted. The docker tags still exist since Rockpool pulled in 24.3.1 before we noticed the mistake.
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
24.3.0
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
- if you want to use the previous default behavior, you'll need to specify
- 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
- if you had previously used the default (FOREST), at startup you will get an error indicating the mismatch
- 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--Xbonsai-limit-trie-logs-enabled=false
or increase the limit.
- If you do not want the limit enabled (eg you have
Additions and Improvements
eth_call
andeth_feeHistory
add blob fields #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- See https://wiki.hyperledger.org/display/BESU/Limit+Trie+Logs+for+Bonsai for more info
- Introduce
besu storage x-trie-log prune
experimental offline subcommand which will prune all redundant trie logs except the latest 512 #6303- See https://wiki.hyperledger.org/display/BESU/Limit+Trie+Logs+for+Bonsai for more info
- 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_blobBaseFee
JSON-RPC method #6581 - Upgrade reference tests to version 13.1 #6574
- Extend
BesuConfiguration
service #6584 - Add
ethereum_min_gas_price
andethereum_min_priority_fee
metrics to track runtime values ofmin-gas-price
andmin-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
- @alyokaz made their first contribution in #6446
- @Brindrajsinh-Chauhan made their first contribution in #6587
Full Changelog: 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.1.2
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: 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
Release 24.1.1
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 genericINTERNAL_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'sbesu
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
orpoa-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 thebesu
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
Download Links
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
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 thelegacy
pool and is likely to be more suitable to enterprise or permissioned chains than thelayered
transaction pool. Select to use this pool with--tx-pool=sequenced
. Supports the same options as thelegacy
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
Download Links
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
23.10.3-hotfix
23.10.3-hotfix
This is a hotfix for a selfdestruct defect that occurred on mainnet at block 18947893
- Hotfix for selfdestruct preimages on bonsai [#6359]((#6359)
- mitigation for trielog failure [#6315]((#6315)
This release fixes the root of the problem, but Besu needs to be resynced in order to repair the state. The fastest way to do this is to trigger a backward sync in Besu. After installing the hotfix, your CL client will need to have its beacon state reset and restored using checkpoint sync. Recovering from a deleted beacon chain is much faster if you have Checkpoint Sync setup, which is CL client specific.
Instructions on how to delete the beacon db, depends on your client. For example for Teku, you need to remove the beacon folder in the Teku data path. For other clients, refer to their documentation.
Most users should be good to go. If this doesn't work, please try the below instructions and report your problem to the Hyperledger Discord at https://discord.gg/hyperledger
Try the same process again, but force Besu to set its head back to a block prior to the problem block. This will require API access, and for this to work you have to enabled the DEBUG API with the following startup options:
--rpc-http-api=ETH,NET,WEB3,DEBUG
See RPC APIs for more details, changes to that param will require Besu to be restarted.
Once Besu is up and you have access to DEBUG
apis, you can shutdown your CL client and clear its database. With Besu still up, set its head back to block 18947892 (0x1211F34 in hex) using the following API call:
curl -X POST --data '{"jsonrpc":"2.0","method":"debug_setHead","params":["0x1211F34"],"id":1}' http://localhost:8545
Then restart your CL. Your CL should optimistically sync the beacon chain using a checkpoint from the network, and this will trigger a backward sync in Besu.
If your client still isn't progressing, you can try to resync only the world state. It can take hours, but it is faster from a resync from scratch
curl -X POST --data '{"jsonrpc":"2.0","method":"debug_resyncWorldState","params":[],"id":1}' http://localhost:8545
Download Links
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.3-hotfix/besu-23.10.3-hotfix.zip / sha256 1c37762909858a40eca749fb85b77fb4d1e918f247aff56d518144828bd85378
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.3-hotfix/besu-23.10.3-hotfix.tar.gz / sha256 8e38e9fd0c16e049aa324effc96f9ec31dc06e82ea4995e9dd75d571394667af
23.10.3
23.10.3
Additions and Improvements
- Implement debug_traceCall #5885
- Transactions that takes too long to evaluate, during block creation, are dropped from the txpool #6163
- New option
tx-pool-min-gas-price
to set a lower bound when accepting txs to the pool #6098 - Update OpenJDK latest Docker image to use Java 21 #6189
- Allow a transaction selection plugin to specify custom selection results #6190
- Add
rpc-gas-cap
to allow users to set gas limit to the RPC methods used to simulate transactions#6156 - Fix the unavailability of
address
field when returning anAccount
entity on GraphQL in case of unreachable world state #6198 - Update OpenJ9 Docker image to latest version #6226
- Add error messages on authentication failures with username and password #6212
- Add
rocksdb usage
to thestorage
subcommand to allow users and dev to check columns families usage #6185 - Ethereum Classic Spiral network upgrade #6078
Bug fixes
- Fix Docker image name clash between Besu and evmtool #6194
- Fix
logIndex
ineth_getTransactionReceipt
JSON RPC method #6206
Download Links
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.3/besu-23.10.3.zip / sha256 da7ef8a6ceb88d3e327cacddcdb32218d1750b464c14165a74068f6dc6e0871a
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.3/besu-23.10.3.tar.gz / sha256 73c834cf32c7bbe255d7d8cc7ca5d1eb0df8430b9114935c8dcf3a675b2acbc2
23.10.2
Hyperledger Besu 23.10.2
23.10.2 is an optional upgrade for Ethereum public and private networks. It is a required update for Ethereum Classic Mordor network users (not for ETC mainnet yet), as it contains the configuration for the Spiral network upgrade (#6078). It is recommended for Mainnet and private networks as there are several patches to vulnerable dependencies.
Upcoming Changes
- After we made the new layered TX pool default for all nodes in 23.10.0, it caused some confusion and configuration issues among private network users. We know many of you are currently using the
legacy
pool, as it is better suited for larger nonce-gaps and gas free networks. This is a formal announcement of an upcoming naming change from this pool to better reflect its usage in private networks. This will have accompanying configuration changes as well, so stay tuned for the 24.1.0 release notes. Thank you for your patience as we update the two transaction pool implementations.
Breaking Changes
- TX pool eviction in the legacy TX pool now favours keeping oldest transactions (more likely to evict higher nonces, less likely to introduce nonce gaps) #6106 and #6146
Additions and Improvements
- Ethereum Classic Spiral upgrade for the Mordor network #6078
- Add a method to read from a
Memory
instance without altering its inner state #6073 - Accept
input
anddata
field for the payload of transaction-related RPC methods #6094 - Add APIs to set and get the min gas price a transaction must pay for being selected during block creation #6097
- TraceService: return results for transactions in block #6087
- New option
--min-priority-fee
that sets the minimum priority fee a transaction must meet to be selected for a block. #6080 #6083 - Implement new
miner_setMinPriorityFee
andminer_getMinPriorityFee
RPC methods #6080 - Clique config option
createemptyblocks
to not create empty blocks #6082 - Upgrade EVM Reference Tests to v13 (Cancun) #6114
- Add
yParity
to GraphQL and JSON-RPC for relevant querise. 6119 - Force tx replacement price bump to zero when zero base fee market is configured or
--min-gas-price
is set to 0. This allows for easier tx replacement in networks where there is not gas price. #6079 - Introduce the possibility to limit the time spent selecting pending transactions during block creation, using the new experimental option
Xblock-txs-selection-max-time
on PoS and PoW networks (by default set to 5000ms) orXpoa-block-txs-selection-max-time
on PoA networks (by default 75% of the min block time) #6044 - Remove LowestInvalidNonceCache from
legacy
transaction pool to make it more private networks friendly #6148 - Optimization: Delete leftPad when capturing the stack before and after a frame execution #6102
Bug fixes
- Upgrade netty to address CVE-2023-44487, CVE-2023-34462 #6100
- Upgrade grpc to address CVE-2023-32731, CVE-2023-33953, CVE-2023-44487, CVE-2023-4785 #6100
- Fix blob gas calculation in reference tests #6107
- Limit memory used in handling invalid blocks #6138
Download Links
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.2/besu-23.10.2.zip
597ab71898d379180106baf24878239ed49acefea5772344fd359b0ff13fe19f
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.2/besu-23.10.2.tar.gz
255818a5c6067a38aa8b565d8f32a49a172a7536a1d370673bbb75f548263c2c