Releases: Consensys/teku
Releases · Consensys/teku
v0.11.3
Breaking Changes
- The
--eth1-enabled
option removed. ETH1 will be enabled when an--eth1-endpoint
is provided and otherwise disabled. - CLI option
--validators-key-file
renamed to--validators-unencrypted-key-file
to avoid ambiguity from similar
named CLI option--validators-key-files
which is used to specify encrypted validator keystore files. - Added CLI option
--rest-api-host-whitelist
which restricts access to the REST API. Defaults to [localhost, 127.0.0.1] - External signer API has been changed to not include the type being signed. Please ensure you update to the latest version of Eth2Signer
peer generate
andgenesis mock
subcommands now use lower case options consistently:
--outputFile
is renamed--output-file
,--validatorCount
is renamed--validator-count
, and--genesisTime
is renamed--genesis-time
Additions and Improvements
--network witti
includes the final configuration for the Witti testnet. The genesis state is included so an ETH1 endpoint is no longer required when connecting to Witti- Teku can now use Infura as the ETH1 endpoint
- ETH1 node is no longer required to maintain historic world state
- Added
--log-include-validator-duties-enabled
option to enable log messages when validator clients produce blocks, attestations or aggregates (defaults to off) - Improved logging of errors during execution of validator duties to be more informative, less noisy and set log levels more appropriately
- Teku will now exit when an
OutOfMemoryError
is encountered to allow tools like systemd to restart it - Added support for compiling from source using Java 14
- Improved error messages for a number of configuration errors
- Added protection for DNS rebinding attacks to the REST API via host whitelisting. Configure available hosts with the
--rest-api-host-whitelist
option (defaults to[localhost, 127.0.0.1]
) - Simplified API for external signers
- Added support for the
name
field in keystore files - Improved reporting of errors when using
BOTH
or default log destinations. Unhandled exceptions are now reported to the console but without stack traces. The full stack trace is available in the log file - Report (to log file) the list of validators being run at startup.
- Append to existing log files rather than rolling them. Avoids the potential for logs to be lost when rolling
Bug Fixes
- Improved selection of attestations to include in proposed blocks.
- Include attestations received via gossip
- Exclude attestations that have already been included in blocks
- Fix issue where attestations with an incompatible source were included, resulting in an invalid block
- Fixed a file descriptor leak caused by not correctly disconnecting duplicate peer connections
- Fixed race condition when the genesis event occurs which prevented the validator client from subscribing to persistent committee topics and retrieving the initial duties
- ETH1 chain processing recovers better after interruptions to the ETH1 node
- RPC
STATUS
messages now use the finalized checkpoint from the state, not the fork choice store. Fixes a networking incompatibility with Lighthouse when only genesis has been finalized - Fix incompatibility with Lighthouse in how RPC
METADATA
requests are made - Large RPC response chunks (> 90K) are now correctly processed
- Improved validation of received attestations
- Fixed a number of race conditions which could lead to inconsistent data being reported via the REST API
- Stopped logging the Javalin ascii art banner during startup
- The
peer generate
subcommand now provides a useful error message when the output file can not be written - The
peer generate
subcommand no longer silently overwrites an existing output file - Interop validators are no longer loaded when no validator keys were specified
- Fixed or suppressed a number of
ERROR
level log messages - Non-fatal errors are no longer reported at
FATAL
log level
v0.11.2
Upcoming Breaking Changes
- In a future release the
--eth1-enabled
option will be removed.
ETH1 will be enabled when an--eth1-endpoint
is provided and otherwise disabled.
Additions and Improvements
- Updated to spec version v0.11.3.
- Improved recovery from network changes. Peers are now disconnected if they do not respond for a
period ensuring upstream network interruptions are detected and peers can reconnect. - The node's ENR is printed at startup even if the genesis state is not yet known.
As per the beacon chain spec, the network ports are still not opened until the genesis state is known. - OpenAPI schemas are now more compatible with code generating tools.
- Include block root in
/beacon/block
responses. - Improved error messages when invalid or incompatible CLI options are provided.
- Improved peer discovery by filtering out peers with incompatible
eth2
ENR fields. - Improved performance of BLS signature verification
- Updated to jvm-libp2p 0.4.0
Bug Fixes
- Fixed a deadlock condition which could cause block imports to silently stall.
- Initial sync now reaches chain head correctly even when the chain has not finalized for more than 10 epochs.
- Fixed
NullPointerException
andArrayIndexOutOfBoundException
intermittently encountered when importing blocks
due to a concurrency issue in batch signature verification. /beacon/chainhead
reported incorrect slot and block root data.- Fixed a range of race conditions when loading chain data which could result in inconsistent views
of the data or data not being found as it moved from recent to finalized storage. - Significantly reduced the number of ERROR level log messages.
Invalid network data or unexpectedly disconnected peers is now logged at DEBUG level. - Storage system did not correctly prune blocks loaded from disk on startup when they became finalized.
Known Issues
- This release provides support for the Witti testnet via
--network witti
however the configuration
for this testnet is not yet stable and will likely differ from the one currently used. - The Schlesi testnet has been abandoned. The
--network schlesi
option will be removed in a future release. - Memory usage grows signficantly during periods of non-finalization.
- Teku requires the ETH1 endpoint to keep historic world state available for at least the ETH1 voting period.
This is typically more historic state than is kept when ETH1 nodes are pruning state.
Workaround is to connect to an archive node or configure the node to preserve a greater period of historic world state.
0.10.0 release (#1587)
Supports version 0.10.1 of the beacon chain spec.
Artemis Stable Release - Spec v0.7.1.x
- added beacon chain metrics
- libp2p via mothra
Artemis Stable Release - Spec v0.7.1, Hobbits v3
- Spec upgrade to 0.7.1
- Updated Hobbits implementation v3
Artemis Stable Release - Spec v0.5.1, Hobbits v2
- Spec upgrade to 0.5.1
- Gossip protocol can be changed in config file
- Networking bug fixes
Artemis Stable Release - Spec v0.4, Hobbits v2
- upgraded to spec v0.4
- vertx networking fixes