Skip to content

Releases: hyperledger/besu

1.5.5

23 Sep 17:47
d6cad9e
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 17:51
1b7b854
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 17:53
c83b665
Compare
Choose a tag to compare

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

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.

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.3.zip
sha256sum: 735cd511e1dae1590f2829d9535cb383aa8c526f059b3451859e5fcfccc48985

1.5.2

12 Aug 17:41
77209b3
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

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.2.zip
sha256sum: 629f44e230a635b09f8d82f2196d70d31193233718118a46412f11c50772dc85

1.5.1

28 Jul 20:22
25d2e9d
Compare
Choose a tag to compare

1.5.1

Deprecated

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

Additions and Improvements

  • In an IBFT2 network, a fixed block reward value and recipient address can be defined in genesis file #1132
  • JSON-RPC HTTP API Authorization: exit early when checking user permissions. #1144
  • HTTP/2 is enabled for JSON-RPC HTTP API over TLS. #1145
  • Color output in consoles. It can be disabled with --color-enabled=false #1257
  • Add compatibility with ClusterIP services for the Kubernetes Nat Manager #1156
  • In an IBFT2 network; a fixed block reward value and recipient address can be defined in genesis file #1132
  • Add fee cap for transactions submitted via RPC. #1137

Bug fixes

  • When the default sync mode was changed to fast sync for named networks, there was one caveat we didn't address. The dev network should've been full sync by default. This has now been fixed. #1257
  • Fix synchronization timeout issue when the blocks were too large #1149
  • Fix missing results from eth_getLogs request. #1154
  • Fix issue allowing Besu to be used for DDoS amplification. #1146

Known Issues

Known issues are open issues categorized as Very High or High impact.

Previously identified known issues

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.1.zip
sha256sum: c17f49b6b8686822417184952487fc135772f0be03514085926a6984fd955b88

1.5.0

14 Jul 22:31
1cf61ba
Compare
Choose a tag to compare

1.5 Breaking changes

When upgrading to 1.5, ensure you've taken into account the following breaking changes.

Docker users with volume mounts

To maintain best security practices, we're changing the user:group on the Docker container to besu.

What this means for you:

  • If you are running Besu as a binary, there is no impact.
  • If you are running Besu as a Docker container and have a volume mount for data, ensure that the
    permissions on the directory allow other users and groups to r/w. Ideally this should be set to
    besu:besu as the owner.

Note that the besu user only exists within the container not outside it. The same user ID may match
a different user outside the image.

If you’re mounting local folders, it is best to set the user via the Docker —user argument. Use the
UID because the username may not exist inside the docker container. Ensure the directory being mounted
is owned by that user.

Remove Manual NAT method

The NAT manager MANUAL method has been removed.
If you have have been using the MANUAL method, use the NONE method instead. The behavior of the
NONE method is the same as the previously supported MANUAL methods.

Privacy users

Besu minor version upgrades require upgrading Orion to the latest minor version. That is, for
Besu <> Orion node pairs, when upgrading Besu to v1.5, it is required that Orion is upgraded to
v1.6. Older versions of Orion will no longer work with Besu v1.5.

1.5 Features

Features added between from 1.4 to 1.5 include:

  • Mining Support
    Besu supports eth_hashrate and eth_submitHashrate to obtain the hashrate when we mine with a GPU mining worker.
  • Tracing
    The Tracing API is no longer an Early Access feature and now has full support for trace_replayBlockTransactions, trace_Block and trace_transaction.
  • Plugin API Block Events
    BlockAdded and BlockReorg are now exposed via the Plugin API.
  • Filters and
    subscriptions for private contracts.
  • SecurityModule Plugin API
    This allows use of a different security module
    as a plugin to provide cryptographic function that can be used by NodeKey (such as sign, ECDHKeyAgreement etc.).
  • Onchain privacy groups
    with add and remove members. This is an early access feature. Early access features are not recommended
    for production networks and may have unstable interfaces.

1.5 Additions and Improvements

  • Public Networks Default to Fast Sync: The default sync mode for named permissionless networks, such as the Ethereum mainnet and testnets, is now FAST.
    • The default is unchanged for private networks. That is, the sync mode defaults to FULL for private networks.
    • Use the --sync-mode command line option to change the sync mode. #384
  • Proper Mining Support: Added full support for eth_hashrate and eth_submitHashrate. It is now possible to have the hashrate when we mine with a GPU mining worker #1063
  • Performance Improvements: The addition of native libraries (#775) and changes to data structures in the EVM (#1089) have improved Besu sync and EVM execution times.
  • Tracing API Improvements: The Tracing API is no longer an Early Access feature and now has full support for trace_replayBlockTransactions, trace_Block and trace_transaction.
  • New Plugin API Block Events: BlockAdded and BlockReorg are now exposed via the Plugin API #637.
  • Added experimental CLI option --Xnat-kube-pod-name to specify the name of the loadbalancer used by the Kubernetes nat manager #1078
  • Local permissioning TOML config now supports additional keys (nodes-allowlist and accounts-allowlist).
    Support for nodes-whitelist and accounts-whitelist will be removed in a future release.
  • Add missing mixHash field for eth_getBlockBy* JSON RPC endpoints. #1098
  • Besu now has a strict check on private transactions to ensure the privateFrom in the transaction
    matches the sender Orion key that has distributed the payload. Besu 1.5+ requires Orion 1.6+ to work.
    #357

Bug fixes

No bug fixes with user impact in this release.

Known Issues

Known issues are open issues categorized as Very High or High impact.

New known issues

  • K8S permissioning uses of Service IPs rather than pod IPs which can fail. #1190
    Workaround - Do not use permissioning on K8S.

  • Restart caused by insufficient memory can cause inconsistent private state. #1110
    Workaround - Ensure you allocate enough memory for the Java Runtime Environment that the node does not run out of memory.

Previously identified known issues

Download link

https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.0.zip
sha256sum: 56929d6a71cc681688351041c919e9630ab6df7de37dd0c4ae9e19a4f44460b2

For download links of releases prior to 1.5.0, please visit https://dl.bintray.com/hyperledger-org/besu-repo/

1.5.0-RC3 release (#1204)

09 Jul 00:37
bba30c7
Compare
Choose a tag to compare
Pre-release

1.5 Breaking changes

When upgrading to 1.5, ensure you've taken into account the following breaking changes.

Docker users with volume mounts

To maintain best security practices, we're changing the user:group on the Docker container to besu.

What this means for you:

  • If you are running Besu as a binary, there is no impact.
  • If you are running Besu as a Docker container and have a volume mount for data, ensure that the
    permissions on the directory allow other users and groups to r/w. Ideally this should be set to
    besu:besu as the owner.

Note that the besu user only exists within the container not outside it. The same user ID may match
a different user outside the image.

If you’re mounting local folders, it is best to set the user via the Docker —user argument. Use the
UID because the username may not exist inside the docker container. Ensure the directory being mounted
is owned by that user.

Remove Manual NAT method

The NAT manager MANUAL method has been removed.
If you have have been using the MANUAL method, use the NONE method instead. The behavior of the
NONE method is the same as the previously supported MANUAL methods.

Privacy users

Besu minor version upgrades require upgrading Orion to the latest minor version. That is, for
Besu <> Orion node pairs, when upgrading Besu to v1.5, it is required that Orion is upgraded to
v1.6. Older versions of Orion will no longer work with Besu v1.5.

1.5

Additions and Improvements

  • Public Networks Default to Fast Sync: The default sync mode for named permissionless networks, such as the Ethereum mainnet and testnets, is now FAST.
    • The default is unchanged for private networks. That is, the sync mode defaults to FULL for private networks.
    • Use the --sync-mode command line option to change the sync mode. #384
  • Proper Mining Support: Added full support for eth_hashrate and eth_submitHashrate. It is now possible to have the hahsrate when we mine with a GPU mining worker #1063
  • Performance Improvements: The addition of native libraries (#775) and changes to data structures in the EVM (#1089) have improved Besu sync and EVM execution times.
  • Tracing API Improvements: The Tracing API is no longer an Early Access feature and now has full support for trace_replayBlockTransactions, trace_Block and trace_transaction.
  • New Plugin API Block Events: BlockAdded and BlockReorg are now exposed via the Plugin API #637.
  • Add CLI option --Xnat-kube-pod-name to specify the name of the loadbalancer used by the Kubernetes nat manager #1078
  • Besu now has a strict check on private transactions to ensure the privateFrom in the transaction
    matches the sender Orion key that has distributed the payload. Besu 1.5+ requires Orion 1.6+ to work.
    #357

Bug fixes

Known Issues

Known issues are open issues categorized as Very High or High impact.

Previously identified known issues

Additions and Improvements

  • local permissioning TOML config now supports additional keys (nodes-allowlist and accounts-allowlist).
    Support for nodes-whitelist and accounts-whitelist will be removed in a future release.
  • CLI now supports --host-allowlist. Support for --host-whitelist will be removed in a future release.
  • Additional Allowlist JSON RPC endpoints for permissioning now supported. Whitelist endpoints will be removed in a future release.
    • Add perm_getNodesAllowlist as an alternative equivalent to perm_getNodesWhitelist
    • Add perm_addNodesToAllowlist as an alternative equivalent to perm_addNodesToWhitelist
    • Add perm_removeNodesFromAllowlist as an alternative equivalent to perm_removeNodesFromWhitelist
    • Add perm_getAccountsAllowlist as an alternative equivalent to perm_getAccountsWhitelist
    • Add perm_addAccountsToAllowlist as an alternative equivalent to perm_addAccountsToWhitelist
    • Add perm_removeAccountsFromAllowlist as an alternative equivalent to perm_removeAccountsFromWhitelist
  • Add missing mixHash field for eth_getBlockBy* JSON RPC endpoints

1.5.0-RC2 release (#1180)

30 Jun 23:24
bc3e5c2
Compare
Choose a tag to compare
Pre-release

1.5 Breaking changes

When upgrading to 1.5, ensure you've taken into account the following breaking changes.

Docker users with volume mounts

To maintain best security practices, we're changing the user:group on the Docker container to besu.

What this means for you:

  • If you are running Besu as a binary, there is no impact.
  • If you are running Besu as a Docker container and have a volume mount for data, ensure that the
    permissions on the directory allow other users and groups to r/w. Ideally this should be set to
    besu:besu as the owner.

Note that the besu user only exists within the container not outside it. The same user ID may match
a different user outside the image.

If you’re mounting local folders, it is best to set the user via the Docker —user argument. Use the
UID because the username may not exist inside the docker container. Ensure the directory being mounted
is owned by that user.

Remove Manual NAT method

The NAT manager MANUAL method has been removed.
If you have have been using the MANUAL method, use the NONE method instead. The behavior of the
NONE method is the same as the previously supported MANUAL methods.

Privacy users

Besu minor version upgrades require upgrading Orion to the latest minor version. That is, for
Besu <> Orion node pairs, when upgrading Besu to v1.5, it is required that Orion is upgraded to
v1.6. Older versions of Orion will no longer work with Besu v1.5.

1.5

Additions and Improvements

  • Public Networks Default to Fast Sync: The default sync mode for named permissionless networks, such as the Ethereum mainnet and testnets, is now FAST.
    • The default is unchanged for private networks. That is, the sync mode defaults to FULL for private networks.
    • Use the --sync-mode command line option to change the sync mode. #384
  • Proper Mining Support: Added full support for eth_hashrate and eth_submitHashrate. It is now possible to have the hahsrate when we mine with a GPU mining worker #1063
  • Performance Improvements: The addition of native libraries (#775) and changes to data structures in the EVM (#1089) have improved Besu sync and EVM execution times.
  • Tracing API Improvements: The Tracing API is no longer an Early Access feature and now has full support for trace_replayBlockTransactions, trace_Block and trace_transaction.
  • New Plugin API Block Events: BlockAdded and BlockReorg are now exposed via the Plugin API #637.
  • Add CLI option --Xnat-kube-pod-name to specify the name of the loadbalancer used by the Kubernetes nat manager #1078

Bug fixes

Known Issues

Known issues are open issues categorized as Very High or High impact.

Previously identified known issues

Additions and Improvements

  • local permissioning TOML config now supports additional keys (nodes-allowlist and accounts-allowlist).
    Support for nodes-whitelist and accounts-whitelist will be removed in a future release.
  • CLI now supports --host-allowlist. Support for --host-whitelist will be removed in a future release.
  • Additional Allowlist JSON RPC endpoints for permissioning now supported. Whitelist endpoints will be removed in a future release.
    • Add perm_getNodesAllowlist as an alternative equivalent to perm_getNodesWhitelist
    • Add perm_addNodesToAllowlist as an alternative equivalent to perm_addNodesToWhitelist
    • Add perm_removeNodesFromAllowlist as an alternative equivalent to perm_removeNodesFromWhitelist
    • Add perm_getAccountsAllowlist as an alternative equivalent to perm_getAccountsWhitelist
    • Add perm_addAccountsToAllowlist as an alternative equivalent to perm_addAccountsToWhitelist
    • Add perm_removeAccountsFromAllowlist as an alternative equivalent to perm_removeAccountsFromWhitelist
  • Add missing mixHash field for eth_getBlockBy* JSON RPC endpoints

1.5.0-RC1 release (#1105)

17 Jun 23:35
5bf2d7e
Compare
Choose a tag to compare
Pre-release

1.5 Breaking changes

When upgrading to 1.5, ensure you've taken into account the following breaking changes.

Docker users with volume mounts

To maintain best security practices, we're changing the user:group on the Docker container to besu.

What this means for you:

  • If you are running Besu as a binary, there is no impact.
  • If you are running Besu as a Docker container and have a volume mount for data, ensure that the
    permissions on the directory allow other users and groups to r/w. Ideally this should be set to
    besu:besu as the owner.

Note that the besu user only exists within the container not outside it. The same user ID may match
a different user outside the image.

If you’re mounting local folders, it is best to set the user via the Docker —user argument. Use the
UID because the username may not exist inside the docker container. Ensure the directory being mounted
is owned by that user.

Remove Manual NAT method

The NAT manager MANUAL method has been removed.
If you have have been using the MANUAL method, use the NONE method instead. The behavior of the
NONE method is the same as the previously supported MANUAL methods.

Privacy users

Besu minor version upgrades require upgrading Orion to the latest minor version. That is, for
Besu <> Orion node pairs, when upgrading Besu to v1.5, it is required that Orion is upgraded to
v1.6. Older versions of Orion will no longer work with Besu v1.5.

1.5

Additions and Improvements

  • Public Networks Default to Fast Sync: The default sync mode for named permissionless networks, such as the Ethereum mainnet and testnets, is now FAST.
    • The default is unchanged for private networks. That is, the sync mode defaults to FULL for private networks.
    • Use the --sync-mode command line option to change the sync mode. #384
  • Proper Mining Support: Added full support for eth_hashrate and eth_submitHashrate. It is now possible to have the hahsrate when we mine with a GPU mining worker #1063
  • Performance Improvements: The addition of native libraries (#775) and changes to data structures in the EVM (#1089) have improved Besu sync and EVM execution times.
  • Tracing API Improvements: The Tracing API is no longer an Early Access feature and now has full support for trace_replayBlockTransactions, trace_Block and trace_transaction.
  • New Plugin API Block Events: BlockAdded and BlockReorg are now exposed via the Plugin API #637.
  • Add CLI option --Xnat-kube-pod-name to specify the name of the loadbalancer used by the Kubernetes nat manager #1078

Bug fixes

Known Issues

Known issues are open issues categorized as Very High or High impact.

Previously identified known issues

Additions and Improvements

  • local permissioning TOML config now supports additional keys (nodes-allowlist and accounts-allowlist).
    Support for nodes-whitelist and accounts-whitelist will be removed in a future release.
  • CLI now supports --host-allowlist. Support for --host-whitelist will be removed in a future release.
  • Additional Allowlist JSON RPC endpoints for permissioning now supported. Whitelist endpoints will be removed in a future release.
    • Add perm_getNodesAllowlist as an alternative equivalent to perm_getNodesWhitelist
    • Add perm_addNodesToAllowlist as an alternative equivalent to perm_addNodesToWhitelist
    • Add perm_removeNodesFromAllowlist as an alternative equivalent to perm_removeNodesFromWhitelist
    • Add perm_getAccountsAllowlist as an alternative equivalent to perm_getAccountsWhitelist
    • Add perm_addAccountsToAllowlist as an alternative equivalent to perm_addAccountsToWhitelist
    • Add perm_removeAccountsFromAllowlist as an alternative equivalent to perm_removeAccountsFromWhitelist
  • Add missing mixHash field for eth_getBlockBy* JSON RPC endpoints

1.4.6 release (#1075)

15 Jun 00:53
dec404f
Compare
Choose a tag to compare

Breaking change upcoming in v1.5

To maintain best security practices, we're changing the user:group on the Docker container to besu.

What this means for you:

  • If you are running Besu as a binary, there is no impact.
  • If you are running Besu as a Docker container and have a volume mount for data, ensure that the
    permissions on the directory allow other users and groups to r/w. Ideally this should be set to
    besu:besu as the owner.

Note that the besu user only exists within the container not outside it. The same user ID may match
a different user outside the image.

If you’re mounting local folders, it is best to set the user via the Docker —user argument. Use the
UID because the username may not exist inside the docker container. Ensure the directory being mounted
is owned by that user.

Upcoming 1.5 release

The 1.5 release is scheduled for early July.

1.4.6

Additions and Improvements

  • Print node address on startup. #938
  • Transaction pool: price bump replacement mechanism configurable through CLI. #928 #930

Bug Fixes

  • Added timeout to queries. #986
  • Fixed issue where networks using onchain permissioning could stall when the bootnodes were not validators. #969
  • Update getForks method to ignore ClassicForkBlock chain parameter to fix issue with ETC syncing. #1014

Known Issues

Known issues are open issues categorized as Very High or High impact.

Previously identified known issues