Releases: hyperledger/besu
20.10.3
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
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
Download link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.3.zip
sha256: b5f46d945754dedcbbb1e5dd96bf2bfd13272ff09c6a66c0150b979a578f4389
20.10.2
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 supportsblockHash
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
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
Download Link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.2.zip
sha256: 710aed228dcbe9b8103aef39e4431b0c63e73c3a708ce88bcd1ecfa1722ad307
20.10.1
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. #1440miner_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
andeth_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 returnedInternal error
instead ofExecution 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
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
Download Link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.1.zip
sha256: ac4fae310957c176564396f73c0f03c60c41129d43d078560d0dab533a69fd2a
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
20.10.0-RC2
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 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
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
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
- Changes not saved to database correctly causing inconsistent private states
Download Link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.0-RC2.zip
sha256sum: c71a74714c0d6077fa1637ce4d7134ee94737bc8a62aa91959d149180ec9d925
20.10.0-RC1
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 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
- 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
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
- Changes not saved to database correctly causing inconsistent private states
Download Link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.0-RC1.zip
sha256sum: ae8979e43a81a69d3dcf207b556275d94edbb67490747f0454269f87d38ee4fb
1.5.5
Additions and Improvements
- The new version of the web3js-eea library (v0.10) supports the onchain privacy group management changes made in Besu v1.5.3.
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
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
- Changes not saved to database correctly causing inconsistent private states
Download link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.5.zip
sha256sum: e67b0a899dc4421054eaa9a8112cb89e1e5f6a56f0d8aa1b0c5111c53dfad2ad
1.5.4
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
- Logs queries missing results against chain head
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
- Changes not saved to database correctly causing inconsistent private states
Download link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.4.zip
sha256sum: 1f4df8e1c5e3b5b3abf6289ccfe70f302aa7c29a652b2eb713ffbdc507670420
1.5.3
1.5.3
Additions and Improvements
- The EvmTool now processes State Tests from the Ethereum Reference Tests. #1311
- Early access 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
- Logs queries missing results against chain head
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
- Changes not saved to database correctly causing inconsistent private states
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
andremoveParticipant
. - 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.
Download link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.3.zip
sha256sum: 735cd511e1dae1590f2829d9535cb383aa8c526f059b3451859e5fcfccc48985
1.5.2
1.5.2
Additions and Improvements
- Experimental offline backup and restore has been added via the
operator x-backup-state
andoperator x-restore-state
CLI commands. Data formats will be fluid for as long as thex-
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
andXethstats-contact
CLI commands. #1239 - Peers added via the JSON-RPC
admin_addPeer
andadmin_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 example1.5.2-openjdk-latest
. - New docker images are being generated to use GraalVM with the tag suffix of
-graalvm
, for example1.5.2-graalvm
. - The existing images based on Java 11 are also being tagged with the suffix
-openjdk-11
, for example1.5.2-openjdk-11
, as well as1.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
- Logs queries missing results against chain head
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
- Permissioning issues on Kubernetes
- Restarts caused by insufficient memory can cause inconsistent private state
New and Old Maintainer
- David Mechler has been added as a new maintainer.
- Edward Evans voluntarily moved to emeritus status.
Download link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.2.zip
sha256sum: 629f44e230a635b09f8d82f2196d70d31193233718118a46412f11c50772dc85