Releases: hyperledger/besu
1.5.1
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
- Scope of logs query causing Besu to hang
- 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
Download link
https://dl.bintray.com/hyperledger-org/besu-repo/besu-1.5.1.zip
sha256sum: c17f49b6b8686822417184952487fc135772f0be03514085926a6984fd955b88
1.5.0
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 supportseth_hashrate
andeth_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 fortrace_replayBlockTransactions
,trace_Block
andtrace_transaction
. - Plugin API Block Events
BlockAdded
andBlockReorg
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
- The default is unchanged for private networks. That is, the sync mode defaults to
- Proper Mining Support: Added full support for
eth_hashrate
andeth_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
andtrace_transaction
. - New Plugin API Block Events:
BlockAdded
andBlockReorg
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
andaccounts-allowlist
).
Support fornodes-whitelist
andaccounts-whitelist
will be removed in a future release. - Add missing
mixHash
field foreth_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
- Scope of logs query causing Besu to hang
- 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-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)
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
- The default is unchanged for private networks. That is, the sync mode defaults to
- Proper Mining Support: Added full support for
eth_hashrate
andeth_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
andtrace_transaction
. - New Plugin API Block Events:
BlockAdded
andBlockReorg
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
- Scope of logs query causing Besu to hang
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
Additions and Improvements
- local permissioning TOML config now supports additional keys (
nodes-allowlist
andaccounts-allowlist
).
Support fornodes-whitelist
andaccounts-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 toperm_getNodesWhitelist
- Add
perm_addNodesToAllowlist
as an alternative equivalent toperm_addNodesToWhitelist
- Add
perm_removeNodesFromAllowlist
as an alternative equivalent toperm_removeNodesFromWhitelist
- Add
perm_getAccountsAllowlist
as an alternative equivalent toperm_getAccountsWhitelist
- Add
perm_addAccountsToAllowlist
as an alternative equivalent toperm_addAccountsToWhitelist
- Add
perm_removeAccountsFromAllowlist
as an alternative equivalent toperm_removeAccountsFromWhitelist
- Add
- Add missing
mixHash
field foreth_getBlockBy*
JSON RPC endpoints
1.5.0-RC2 release (#1180)
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
- The default is unchanged for private networks. That is, the sync mode defaults to
- Proper Mining Support: Added full support for
eth_hashrate
andeth_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
andtrace_transaction
. - New Plugin API Block Events:
BlockAdded
andBlockReorg
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
- Scope of logs query causing Besu to hang
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
Additions and Improvements
- local permissioning TOML config now supports additional keys (
nodes-allowlist
andaccounts-allowlist
).
Support fornodes-whitelist
andaccounts-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 toperm_getNodesWhitelist
- Add
perm_addNodesToAllowlist
as an alternative equivalent toperm_addNodesToWhitelist
- Add
perm_removeNodesFromAllowlist
as an alternative equivalent toperm_removeNodesFromWhitelist
- Add
perm_getAccountsAllowlist
as an alternative equivalent toperm_getAccountsWhitelist
- Add
perm_addAccountsToAllowlist
as an alternative equivalent toperm_addAccountsToWhitelist
- Add
perm_removeAccountsFromAllowlist
as an alternative equivalent toperm_removeAccountsFromWhitelist
- Add
- Add missing
mixHash
field foreth_getBlockBy*
JSON RPC endpoints
1.5.0-RC1 release (#1105)
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
- The default is unchanged for private networks. That is, the sync mode defaults to
- Proper Mining Support: Added full support for
eth_hashrate
andeth_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
andtrace_transaction
. - New Plugin API Block Events:
BlockAdded
andBlockReorg
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
- Scope of logs query causing Besu to hang
- Eth/65 loses peers
- Fast sync when running Besu on cloud providers
- Privacy users with private transactions created using v1.3.4 or earlier
Additions and Improvements
- local permissioning TOML config now supports additional keys (
nodes-allowlist
andaccounts-allowlist
).
Support fornodes-whitelist
andaccounts-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 toperm_getNodesWhitelist
- Add
perm_addNodesToAllowlist
as an alternative equivalent toperm_addNodesToWhitelist
- Add
perm_removeNodesFromAllowlist
as an alternative equivalent toperm_removeNodesFromWhitelist
- Add
perm_getAccountsAllowlist
as an alternative equivalent toperm_getAccountsWhitelist
- Add
perm_addAccountsToAllowlist
as an alternative equivalent toperm_addAccountsToWhitelist
- Add
perm_removeAccountsFromAllowlist
as an alternative equivalent toperm_removeAccountsFromWhitelist
- Add
- Add missing
mixHash
field foreth_getBlockBy*
JSON RPC endpoints
1.4.6 release (#1075)
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
1.4.6-RC2 release (#1027)
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
1.4.6-RC1 release (#998)
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
Known Issues
Known issues are open issues categorized as Very High or High impact.
Previously identified known issues
1.4.5 release (#968)
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.5
Additions and Improvements
- Implemented WebSocket logs subscription for private contracts (
priv_subscribe
/priv_unsubscribe
) [#762] - Introduced 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.). KeyPairSecurityModule
is registered and used by default. The CLI option--security-module=<name> (defaults to localfile)
can be used
to identify the security module plugin name to use instead. #713 - Several testing related changes to improve compatibility with Hive and Retesteth.
#806 and #845 - Native libraries for secp256k1 and Altbn128 encryption are enabled by default. To disable these libraries use
--Xsecp256k1-native-enabled=false
and--Xaltbn128-native-enabled=false
. #775
Bug Fixes
- Fixed
eth_estimateGas
JSON RPC so it no longer returns gas estimates that are too low. #842 - Full help not displayed unless explicitly requested. #437
- Compatibility with undocumented Geth
eth_subscribe
fields. #654 - Current block number included as part of
eth_getWork
response. #849
Known Issues
Known issues are open issues categorized as Very High or High impact.
New known issues
- Scope of logs query causing Besu to crash. #944
Workaround - Limit the number of blocks queried by each eth_getLogs
call.
Previously identified known issues
Intrinsic gas exceeds gas limit
returned when callingdelete mapping[addr]
ormapping[addr] = 0
- Eth/65 not backwards compatible
- Error full syncing with pruning
- Fast sync when running Besu on cloud providers
- Bootnodes must be validators when using onchain permissioning
- Privacy users with private transactions created using v1.3.4 or earlier
1.4.5-RC1
Additions and Improvements
- Introduced 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.). KeyPairSecurityModule
is registered and used by default. The CLI option--security-module=<name> (defaults to localfile)
can be used
to identify the security module plugin name to use instead. #713 - Several testing related changes to improve compatibility with Hive and Retesteth.
#806 and #845 - Native libraries for secp256k1 and Altbn128 encryption are enabled by default. To disable these libraries use
--Xsecp256k1-native-enabled=false
and--Xaltbn128-native-enabled=false
. #775
Bug Fixes
- Full help not displayed unless explicitly requested. #437
- Compatibility with undocumented Geth
eth_subscribe
fields. #654 - Current block number included as part of
eth_getWork
response. #849
Known Issues
Known issues are open issues categorized as Very High or High impact.
Previously identified known issues
Intrinsic gas exceeds gas limit
returned when callingdelete mapping[addr]
ormapping[addr] = 0
- Eth/65 not backwards compatible
- Error full syncing with pruning
- Fast sync when running Besu on cloud providers
- Bootnodes must be validators when using onchain permissioning
- Privacy users with private transactions created using v1.3.4 or earlier