Skip to content

Releases: hyperledger/besu-docs

20.10.0

05 Nov 11:53
617726b
Compare
Choose a tag to compare

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 to debug_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 the blocks 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

Deprecated and Scheduled for removal in Next Release

--privacy-precompiled-address

Deprecated in 1.5.1

  • CLI option --privacy-precompiled-address option removed. This address is now derived, based
    on --privacy-onchain-groups-enabled. #1222

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.0.zip

sha256sum: 2b50a375aae64b838a2cd9d43747006492cae573f1be11745b7f643646fd5a01

20.10.0-RC2

21 Oct 17:33
a19e9d1
Compare
Choose a tag to compare
20.10.0-RC2 Pre-release
Pre-release

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

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-RC2

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. #1465

20.10.0-RC1

Additions and Improvements

  • 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 to debug_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 the blocks 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

Release format

Hyperledger Besu is moving its versioning scheme to CalVer starting with the 20.10.0 (f.k.a. 1.6.0) release. More information about the specific version of CalVer Besu is using can be found on the wiki.

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

20.10.0-RC1

08 Oct 18:23
cfec3e2
Compare
Choose a tag to compare
20.10.0-RC1 Pre-release
Pre-release

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

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-RC1

Release format

Hyperledger Besu is moving its versioning scheme to CalVer starting with the 20.10.0 (f.k.a. 1.6.0) release. More information about the specific version of CalVer Besu is using can be found on the wiki.

Additions and Improvements

  • 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 to debug_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 the blocks import subcommand #1399
  • Added support for multi-tenancy when using the early access feature of onchain privacy group management
  • 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

Download Link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.0-RC1.zip
sha256sum: ae8979e43a81a69d3dcf207b556275d94edbb67490747f0454269f87d38ee4fb

1.5.5

23 Sep 17:55
a5461b0
Compare
Choose a tag to compare

Additions and Improvements

Bug Fixes

  • Added debug_getBadBlocks JSON-RPC API to analyze and detect consensus flaws. Even if a block is rejected it will be returned by this method #1378
  • Fix logs queries missing results against chain head #1351 and #1381

Previously identified known issues

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.5.zip

sha256sum: e67b0a899dc4421054eaa9a8112cb89e1e5f6a56f0d8aa1b0c5111c53dfad2ad

1.5.4

09 Sep 18:01
c2fbf1f
Compare
Choose a tag to compare

Additions and Improvements

  • Added priv_debugGetStateRoot JSON-RPC API to retrieve the state root of a specified privacy group. #1326
  • Added reorg logging and --reorg-logging-threshold to configure the same. Besu now logs any reorgs where the old or new chain head is more than the threshold away from their common ancestors. The default is 6.
  • Added debug_batchSendRawTransaction JSON-RPC API to submit multiple signed transactions with a single call. #1350

Bug Fixes

  • The metrics HTTP server no longer rejects requests containing Accept header that doesn't precisely match the prometheus text format #1345
  • JSON-RPC method net_version should return network ID instead of chain ID #1355

Previously identified known issues

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.4.zip
sha256sum: 1f4df8e1c5e3b5b3abf6289ccfe70f302aa7c29a652b2eb713ffbdc507670420

1.5.3

26 Aug 18:14
5c8545b
Compare
Choose a tag to compare

1.5.3

Additions and Improvements

  • The EvmTool now processes State Tests from the Ethereum Reference Tests. #1311
  • Experimental dns support added via the --Xdns-enabled and --Xdns-update-enabled CLI options. #1247
  • Add genesis config option ecip1017EraRounds for Ethereum Classic chains. #1329

Bug Fixes

  • K8S Permissioning to use of Service IP's rather than pod IP's which can fail #1190

Previously identified known issues

Breaking Change to Onchain Privacy Group Management

This early access feature was
changed in a way that makes onchain privacy groups created with previous versions no longer usable.

To enhance control over permissions on the privacy group management contract:

  • The enclave key was removed as the first parameter for addParticipant and removeParticipant.
  • The owner of the privacy group management contract is the signer of the private transaction that creates
    the privacy group. In the default onchain privacy group management contract implementation, only the
    owner can add and remove participants, and upgrade the management contract.

The onchain privacy support in the current version of the web3js-eea library (v0.9) will not be compatible
with Besu v1.5.3. We are actively working on an upgrade to webj3-eea that will support these changes.

1.5.2

12 Aug 17:51
c0e9472
Compare
Choose a tag to compare

1.5.2

Additions and Improvements

  • Experimental offline backup and restore has been added via the operator x-backup-state and operator x-restore-state CLI commands. Data formats will be fluid for as long as the x- prefix is present in the CLI so it is advised not to rely on these backups for disaster recovery. #1235
  • Experimental ethstats support added via the Xethstats and Xethstats-contact CLI commands. #1239
  • Peers added via the JSON-RPC admin_addPeer and admin_removePeer will be shared or no longer shared via discovery respectively. Previously they were not shared. #1177 contributed by br0tchain.
  • New Docker Images (see below). #1277
  • Reworked static peer discovery handling. #1292

New Java VMs in Docker Image

  • New docker images are being generated to use the latest version of OpenJDK (currently 14.0.1) with the tag suffix of -openjdk-latest, for example 1.5.2-openjdk-latest.
  • New docker images are being generated to use GraalVM with the tag suffix of -graalvm, for example 1.5.2-graalvm.
  • The existing images based on Java 11 are also being tagged with the suffix -openjdk-11, for example 1.5.2-openjdk-11, as well as 1.5.2.

The intent is that the major Java VM version or Java VM type shipped with the default docker images (latest, 1.5.x, etc.) may be changed during future quarterly releases but will remain consistent within quarterly releases.

Bug Fixes

  • Offchain permissioning - fixed bug where sync status check prevented peering if static nodes configured. #1252

  • GraphQL queries of miner in IBFT networks will no longer return an error. PR #1282 issue #1272.

Previously identified known issues

New and Old Maintainer

1.5.1

28 Jul 22:12
a97689b
Compare
Choose a tag to compare

add more detail to Permissioning tutorial (#451)

  • add more detail to Permissioning tutorial

Signed-off-by: Sally MacFarlane sally.macfarlane@consensys.net
Signed-off-by: Danno Ferrin danno.ferrin@gmail.com