20.10.0
Release format
Hyperledger Besu is moving its versioning scheme to CalVer starting with the 20.10.0 (formerly 1.6.0) release. More information about the specific version of CalVer Besu is using can be found on the wiki.
20.10 Breaking Changes
When upgrading to 20.10, ensure you've taken into account the following breaking changes.
JSON-RPC HTTP Error Codes For Valid Calls (#1426)
Prior versions of Besu would set the HTTP Status 400 Bad Request for JSON-RPC requests that completed in an error, regardless of the kind of error. These responses could include a complete JSON-RPC response with an error field.
In Besu version 20.10, properly formatted requests that have valid parameters (count and content) will return a HTTP Status 200 OK, with an error field if an error occurred. For example, requesting an account that does not exist in the chain, or a block by hash that Besu does not have, will now return HTTP 200 OK responses. Unparsable requests, improperly formatted requests, or requests with invalid parameters will continue to return HTTP 400 Bad Request.
Users of Web3J should note that many calls will now return a result with the error field containing the message whereas before a call would throw an exception with the error message as the exception message.
20.10.0 Additions and Improvements
- Added support for ECIP-1099 / Classic Thanos Fork: Calibrate Epoch Duration. #1421 #1441 #1462
- Added the Open Telemetry Java agent to report traces to a remote backend. Added an example to showcase the trace reporting capabilities.
- Added EvmTool binary to the distribution. EvmTool is a CLI that can execute EVM bytecode and execute ethereum state tests. Documentation for it is available here. #1465
- Added support for the upcoming YOLOv2 ephemeral testnet and removed the flag for the deprecated YOLOv1 ephemeral testnet. #1386
- Added
debug_standardTraceBlockToFile
JSON-RPC API. This API accepts a block hash and will replay the block. It returns a list of files containing the result of the trace (one file per transaction). #1392 - Added
debug_standardTraceBadBlockToFile
JSON-RPC API. This API is similar todebug_standardTraceBlockToFile
, but can be used to obtain info about a block which has been rejected as invalid. #1403 - Added support for EIP-2929 to YOLOv2. #1387
- Added
--start-block
and--end-block
to theblocks import
subcommand #1399 - Added support for multi-tenancy when using the early access feature of onchain privacy group management
- [Reverted] Fixed memory leak in eth/65 subprotocol behavior. It is now enabled by default. #1420, #1348, #1321
Bug Fixes
- Log block import rejection reasons at "INFO" level. Bug #1412
- Fixed NPE when executing
eth_estimateGas
with privacy enabled. Bug #1404
Previously identified known issues
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
Deprecated
--privacy-precompiled-address (Scheduled for removal in Next Release)
Deprecated in 1.5.1
- CLI option
--privacy-precompiled-address
option removed. This address is now derived, based
on--privacy-onchain-groups-enabled
. #1222
Besu Sample Network repository
The Besu Sample Networks repository has been replaced by the Quorum Developer Quickstart.
Download link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.0.zip
sha256sum: 2b50a375aae64b838a2cd9d43747006492cae573f1be11745b7f643646fd5a01