24.12.0
This is an optional update.
This release includes some breaking changes. If you are monitoring Besu with Grafana, you will need to update to the latest Dashboard from https://grafana.com/grafana/dashboards/16455-besu-full/. Also please carefully read the following notes before you update your node.
Breaking Changes
- Removed Retesteth rpc service and commands #7833
- TLS for P2P (early access feature) has been removed #7942
- In the plugin API,
BesuContexthas been renamed toServiceManagerto better reflect its function, plugins must be updated to work with this version - With the upgrade of the Prometheus Java Metrics library, there are the following changes:
-
Gauge names are not allowed to end with
total, therefore the metricbesu_blockchain_difficulty_totalis losing the_totalsuffix -
The
_createdtimestamps are not returned by default, you can set the env varBESU_OPTS="-Dio.prometheus.exporter.includeCreatedTimestamps=true"to enable them -
Some JVM metrics have changed name to adhere to the OTEL standard (see the table below), Besu Full Grafana dashboard is updated to support both names
Old Name New Name jvm_memory_bytes_committed jvm_memory_committed_bytes jvm_memory_bytes_init jvm_memory_init_bytes jvm_memory_bytes_max jvm_memory_max_bytes jvm_memory_bytes_used jvm_memory_used_bytes jvm_memory_pool_bytes_committed jvm_memory_pool_committed_bytes jvm_memory_pool_bytes_init jvm_memory_pool_init_bytes jvm_memory_pool_bytes_max jvm_memory_pool_max_bytes jvm_memory_pool_bytes_used jvm_memory_pool_used_bytes
-
Upcoming Breaking Changes
- Plugin API will be deprecating the BesuContext interface to be replaced with the ServiceManager interface.
MetricSystem::createLabelledGaugeis deprecated and will be removed in a future release, replace it withMetricSystem::createLabelledSuppliedGauge- k8s (KUBERNETES) Nat method is now deprecated and will be removed in a future release
--host-whitelisthas been deprecated in favor of--host-allowlistsince 2020 and will be removed in a future release- Sunsetting features - for more context on the reasoning behind the deprecation of these features, including alternative options, read this blog post
- Tessera privacy
- Smart-contract-based (onchain) permissioning
- Proof of Work consensus
- Fast Sync
Additions and Improvements
- Fine tune already seen txs tracker when a tx is removed from the pool #7755
- Support for enabling and configuring TLS/mTLS in WebSocket service. #7854
- Create and publish Besu BOM (Bill of Materials) #7615
- Update Java dependencies #7786
- Add a method to get all the transaction in the pool, to the
TransactionPoolService, to easily access the transaction pool content from plugins #7813 - Upgrade RocksDB JNI library from version 8.3.2 to 9.7.3 #7817
- Add a method to check if a metric category is enabled to the plugin API #7832
- Add a new metric collector for counters which get their value from suppliers #7894
- Add account and state overrides to
eth_call#7801 andeth_estimateGas#7890 - Add RPC WS options to specify password file for keystore and truststore #7970
- Prometheus Java Metrics library upgraded to version 1.3.3 #7880
- Add histogram to Prometheus metrics system #7944
- Improve newPayload and FCU logs #7961
- Proper support for
pendingblock tag when callingeth_estimateGasandeth_createAccessList#7951
Bug fixes
- Fix registering new metric categories from plugins #7825
- Fix CVE-2024-47535 7878
- Fix QBFT prepared block based proposal validation #7875
- Correct default parameters for frontier transactions in
eth_callandeth_estimateGas#7965 - Correctly parse nonce as hex in
eth_callaccount overrides #7999
edd686efaf4a6b0bcd4457dbd5f195554094209f505cfe311c270cad6060004f besu-24.12.0.zip
74d20b2a4b3da659f608d65c09ab95d2187dc2c54372d9f7330bf5190d5e7124 besu-24.12.0.tar.gz