Skip to content

Releases: hyperledger/besu

21.1.2

15 Mar 19:56
2c49a58
Compare
Choose a tag to compare

21.1.2

Berlin Network Upgrade

Important note: the 21.1.1 release contains an outdated version of the Berlin network upgrade. If you are using Besu on public Ethereum networks, you must upgrade to 21.1.2.

This release contains the activation blocks for Berlin across all supported testnets and the Ethereum mainnet. They are:

  • Ropsten 9_812_189 (10 Mar 2021)
  • Goerli 4_460_644 (17 Mar 2021)
  • Rinkeby 8_290_928 (24 Mar 2021)
  • Ethereum 12_244_000 (14 Apr 2021)

Additions and Improvements

  • Added option to set a limit for JSON-RPC connections
    • HTTP connections --rpc-http-max-active-connections #1996
    • WS connections --rpc-ws-max-active-connections #2006
  • Added ASTOR testnet ETC support #2017

Bug Fixes

  • Don't Register BLS12 precompiles for Berlin #2015

Previously identified known issues

Download link

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.2/besu-21.1.2.zip
02f4b6622756b77fed814d8c1bbf986c6178d8f5adb9d61076e061124c3d12aa

21.1.1

08 Mar 17:09
3213484
Compare
Choose a tag to compare

21.1.1

Berlin Network Upgrade

Important note: this release contains an outdated version of the Berlin network upgrade. If you are using Besu on public Ethereum networks, you must upgrade to 21.1.2.

This release contains the activation blocks for Berlin across all supported testnets and the Ethereum mainnet. They are:

  • Ropsten 9_812_189 (10 Mar 2021)
  • Goerli 4_460_644 (17 Mar 2021)
  • Rinkeby 8_290_928 (24 Mar 2021)
  • Ethereum 12_244_000 (14 Apr 2021)

Additions and Improvements

  • Removed EIP-2315 from the Berlin network upgrade #1983
  • Added besu_transaction_pool_transactions to the reported metrics, counting the mempool size #1869
  • Distributions and maven artifacts have been moved off of bintray #1886
  • admin_peers json RPC response now includes the remote nodes enode URL
  • add support for keccak mining and a ecip1049_dev network #1882

Bug Fixes

  • Fixed incorrect groupId in published maven pom files.
  • Fixed GraphQL response for missing account, return empty account instead #1946

Early Access Features

Previously identified known issues

Download link

sha256: c22a80a54e9fed864734b9fbd69a0a46840fd27ca5211648a3eaf8a955417218

21.1.0

24 Feb 18:55
97ef557
Compare
Choose a tag to compare

21.1.0

Important note: this release contains an outdated version of the Berlin network upgrade, which was changed on March 5, 2021 (link). If you are using Besu on public Ethereum networks, you must upgrade to 21.1.2.

21.1.0 Features

Features added between 20.10.0 to 21.1.0 include:

  • Berlin Network Upgrade: this release contains the activation blocks for Berlin across all supported testnets and the Ethereum mainnet. They are:
    • Ropsten 9_812_189 (10 Mar 2021)
    • Goerli 4_460_644 (17 Mar 2021)
    • Rinkeby 8_290_928 (24 Mar 2021)
    • Ethereum 12_244_000 (14 Apr 2021)
  • Besu Launcher: Besu now has support for the Quorum Mainnet Launcher which makes it easy for users to configure and launch Besu on the Ethereum mainnet.
  • Bonsai Tries: A new database format which reduces storage requirements and improves performance for access to recent state. Note: only full sync is currently supported.
  • Miner Data JSON-RPC: The eth_getMinerDataByBlockHash and eth_getMinerDataByBlockNumber endpoints return miner rewards and coinbase address for a given block.
  • EIP-1898 support: The EIP adds blockHash to JSON-RPC methods which accept a default block parameter.

Early Access Features

  • Bonsai Tries: A new database format which reduces storage requirements and improves performance for access to recent state. Note: only full sync is currently supported.
  • QBFT: A new consensus algorithm to support interoperability with other Enterprise Ethereum Alliance compatible clients.

21.1.0 Breaking Changes

  • --skip-pow-validation-enabled is now an error with block import --format JSON. This is because the JSON format doesn't include the nonce so the proof of work must be calculated.
  • eth_call will not return a JSON-RPC result if the call fails, but will return an error instead. If it was for a revert the revert reason will be included.
  • eth_call will not fail for account balance issues by default. An parameter "strict": true can be added to the call parameters (with to and from) to enforce balance checks.

Additions and Improvements

  • Added besu_transaction_pool_transactions to the reported metrics, counting the mempool size #1869
  • Added activation blocks for Berlin Network Upgrade #1929

Bug Fixes

  • Fixed representation of access list for access list transactions in JSON-RPC results.

Previously identified known issues

Download link

sha256: e4c8fe4007e3e5f7f2528cbf1eeb5457caf06536c974a6ff4305035ff5724476

21.1.0-RC2

11 Feb 18:03
112a551
Compare
Choose a tag to compare
21.1.0-RC2 Pre-release
Pre-release

21.1.0-RC2

Additions and Improvements

  • Distributions and maven artifacts have been moved off of bintray #1886
  • Support "eth" field in ENR records #1893
  • Support for the Berlin Network Upgrade, although the block number must be set manually with --override-genesis-config=berlinBlock=<blocknumber>. This is because the block numbers haven't been determined yet. The next release will include the number in the genesis file so it will support Berlin with no intervention. #1898

Bug Fixes

Early Access Features

Previously identified known issues

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.0-RC2/besu-21.1.0-RC2.zip

sha256sum
58365386d686a4c5d112a82954c32131e81b1ffb9d1aabcac3682dfa5855daf4

21.1.0-RC1

27 Jan 18:16
87115c7
Compare
Choose a tag to compare
21.1.0-RC1 Pre-release
Pre-release

21.1.0-RC1

21.1.0 Breaking Changes

  • --skip-pow-validation-enabled is now an error with block import --format JSON. This is because the JSON format doesn't include the nonce so the proof of work must be calculated.
  • eth_call will not return a JSON-RPC result if the call fails, but will return an error instead. If it was for a revert the revert reason will be included.
  • eth_call will not fail for account balance issues by default. An parameter "strict": true can be added to the call parameters (with to and from) to enforce balance checks.

Additions and Improvements

  • Removed unused flags in default genesis configs #1812
  • --skip-pow-validation-enabled is now an error with block import --format JSON. This is because the JSON format doesn't include the nonce so the proof of work must be calculated. #1815
  • Added a new CLI option --Xlauncher to start a mainnet launcher. It will help to configure Besu easily.
  • Return the revert reason from eth_call JSON-RPC api calls when the contract causes a revert. #1829
  • Added chainId, publicKey, and raw to JSON-RPC api calls returning detailed transaction results. #1835

Bug Fixes

  • Ethereum classic heights will no longer be reported in mainnet metrics. Issue #1751 Fix #1820
  • Don't enforce balance checks in eth_call unless explicitly requested. Issue #502 Fix #1834

Early Access Features

Previously identified known issues

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-21.1.0-RC1.zip
sha256: b0fe3942052b8fd43fc3025a298a6c701f9edae2e100f0c563a1c5a4ceef71f1

20.10.4

13 Jan 18:04
120d0d4
Compare
Choose a tag to compare

20.10.4

Additions and Improvements

  • Implemented EIP-778: Ethereum Node Records (ENR) #1680
  • Implemented EIP-868: Node Discovery v4 ENR Extension #1721
  • Added revert reason to eth_estimateGas RPC call. #1730
  • Added command line option --static-nodes-file. #1644

Bug Fixes

  • Accept locally-sourced transactions below the minimum gas price. #1480 #1743

Previously identified known issues

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.4.zip
sha256: f15cd5243b809659bba1706c1745aecafc012d3fc44a91419522da925493537c

20.10.3

16 Dec 17:37
bddc5a9
Compare
Choose a tag to compare

20.10.3

Additions and Improvements

  • Added memory as an option to --key-value-storage. This ephemeral storage is intended for sync testing and debugging. #1617
  • Fixed gasPrice parameter not always respected when passed to eth_estimateGas endpoint #1636
  • Enabled eth65 by default #1682

Bug Fixes

  • Accept to use default port values if not in use. #1673
  • Block Validation Errors should be at least INFO level not DEBUG or TRACE. Bug #1568 PR #1706
  • Fixed invalid and wrong trace data, especially when calling a precompiled contract #1710

Previously identified known issues

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.3.zip
sha256: b5f46d945754dedcbbb1e5dd96bf2bfd13272ff09c6a66c0150b979a578f4389

20.10.2

02 Dec 18:57
250d4fe
Compare
Choose a tag to compare

20.10.2

Additions and Improvements

  • Added support for batched requests in WebSockets. #1583
  • Added protocols section to admin_peers to provide info about peer health. #1582
  • Added CLI option --goquorum-compatibility-enabled to enable GoQuorum compatibility mode. #1598. Note that this mode is incompatible with Mainnet.

Bug Fixes

  • Ibft2 will discard any received messages targeting a chain height <= current head - this resolves some corner cases in system correctness directly following block import. #1575
  • EvmTool now throws UnsupportedForkException when there is an unknown fork and is YOLOv2 compatible #1584
  • eth_newFilter now supports blockHash parameter as per the spec #1548. (blockhash is also still supported.)
  • Fixed an issue that caused loss of peers and desynchronization when eth65 was enabled #1601

Previously identified known issues

Download Link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.2.zip
sha256: 710aed228dcbe9b8103aef39e4431b0c63e73c3a708ce88bcd1ecfa1722ad307

20.10.1

18 Nov 18:31
2e2e231
Compare
Choose a tag to compare

Changelog

20.10.1

Additions and Improvements

  • --random-peer-priority-enabled flag added. Allows for incoming connections to be prioritized randomly. This will prevent (typically small, stable) networks from forming impenetrable peer cliques. #1440
  • miner_changeTargetGasLimit RPC added. If a target gas limit is set, allows the node operator to change it at runtime.
  • Hide deprecated --host-whitelist option. #1444
  • Prioritize high gas prices during mining. Previously we ordered only by the order in which the transactions were received. This will increase expected profit when mining. #1449
  • Added support for the updated smart contract-based node permissioning EEA interface. #1435 and #1496
  • Added EvmTool binary to the distribution. EvmTool is a CLI that can execute EVM bytecode and execute ethereum state tests. #1465
  • Updated the libraries for secp256k1 and AltBN series precompiles. These updates provide significant performance improvements to those areas. #1499
  • Provide MegaGas/second measurements in the log when doing a full block import, such as the catch up phase of a fast sync. #1512
  • Added new endpoints to get miner data, eth_getMinerDataByBlockHash and eth_getMinerDataByBlockNumber. #1538
  • Added direct support for OpenTelemetry metrics #1492
  • Added support for qip714block config parameter in genesis file, paving the way towards permissioning interoperability between Besu and GoQuorum. #1545
  • Added new CLI option --compatibility-eth64-forkid-enabled. #1542

Bug Fixes

  • Fix a bug on eth_estimateGas which returned Internal error instead of Execution reverted in case of reverted transaction. #1478
  • Fixed a bug where Local Account Permissioning was being incorrectly enforced on block import/validation. #1510
  • Fixed invalid enode URL when discovery is disabled #1521
  • Removed duplicate files from zip and tar.gz distributions. #1566
  • Add a more rational value to eth_gasPrice, based on a configurable percentile of prior block's transactions (default: median of last 100 blocks). #1563

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.

Previously identified known issues

Download Link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.1.zip
sha256: ac4fae310957c176564396f73c0f03c60c41129d43d078560d0dab533a69fd2a

20.10.0

03 Nov 17:55
3b17616
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

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