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:besuas 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
FULLfor private networks. - Use the
--sync-modecommand 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_hashrateandeth_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_Blockandtrace_transaction. - New Plugin API Block Events:
BlockAddedandBlockReorgare now exposed via the Plugin API #637.
- Add CLI option
--Xnat-kube-pod-nameto 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-allowlistandaccounts-allowlist).
Support fornodes-whitelistandaccounts-whitelistwill be removed in a future release. - CLI now supports
--host-allowlist. Support for--host-whitelistwill be removed in a future release. - Additional
AllowlistJSON RPC endpoints for permissioning now supported.Whitelistendpoints will be removed in a future release.- Add
perm_getNodesAllowlistas an alternative equivalent toperm_getNodesWhitelist - Add
perm_addNodesToAllowlistas an alternative equivalent toperm_addNodesToWhitelist - Add
perm_removeNodesFromAllowlistas an alternative equivalent toperm_removeNodesFromWhitelist - Add
perm_getAccountsAllowlistas an alternative equivalent toperm_getAccountsWhitelist - Add
perm_addAccountsToAllowlistas an alternative equivalent toperm_addAccountsToWhitelist - Add
perm_removeAccountsFromAllowlistas an alternative equivalent toperm_removeAccountsFromWhitelist
- Add
- Add missing
mixHashfield foreth_getBlockBy*JSON RPC endpoints