v21.12.0
This is an optional upgrade including new features and performance improvements.
Downloads
- Available as
21.12.0
on Dockerhub - Download the binary distribution:
Breaking Changes
- Removed migration code from the old
ProtoArraySnapshot
based storage to the new format.
Any node correctly following the Altair chain has already gone through this migration so no users should be affected by this.
Additions and Improvements
- Added support for using the optimized BLST which is more efficient but does not support some older CPUs.
On Linux and Mac Teku will attempt to detect if the CPU is compatible and automatically use the optimized version.
On Windows or if auto-detection fails the portable version continues to be used.
The version of BLST to use can be explicitly set by setting theteku.portableBlst
system property. e.gJAVA_OPTS="-Dteku.portableBlst=true" teku
- Docker images are now published with multi-arch support including Linux/amd64 and Linux/arm64 (including M1)
- Introduces a new database format for archive nodes that significantly improves response times for queries that require historic state data.
Existing databases and nodes using the default PRUNE storage mode are unchanged. Archive nodes wishing to take advantage of this will need to perform a full resync. - The default docker image now uses JDK 17 instead of 16. The JDK 16 image is still available with the version suffix
-jdk16
- Include the date in output to console, when log files are not being written.
- Reinstated the ignore rule for aggregate attestation gossip where the attestation root has been previously seen.
The corresponding change in the spec has been reverted because it caused higher cpu and network usage. - Added new metrics
executor_signature_verifications_queue_size
,executor_signature_verifications_task_count
,
executor_signature_verifications_batch_count
andexecutor_signature_verifications_batch_size
to give visibility
into the remaining capacity of the signature verification process.
Bug Fixes
- Generated head events will now send the slot of the latest block rather than the calculated head slot.
Upcoming Breaking Changes
- Support for the Pyrmont testnet will be removed in an upcoming release. The Prater testnet should be used instead.
- The
/teku/v1/beacon/states/:state_id
endpoint has been deprecated in favor of the standard API/eth/v1/debug/beacon/states/:state_id
which now returns the state as SSZ when theAccept: application/octet-stream
header is specified on the request. - The
/eth/v1/debug/beacon/states/:state_id
endpoint has been deprecated in favor of the v2 Altair endpoint/eth/v2/debug/beacon/states/:state_id
- The
/eth/v1/beacon/blocks/:block_id
endpoint has been deprecated in favor of the v2 Altair endpoint/eth/v2/beacon/blocks/:block_id
- The
/eth/v1/validator/blocks/:slot
endpoint has been deprecated in favor of the v2 Altair endpoint/eth/v2/validator/blocks/:slot
- The commandline option
--validators-performance-tracking-enabled
has been deprecated in favour of--validators-performance-tracking-mode
- The commandline option
--network
of thevalidator-client
subcommand introduces a new option valueauto
, which automatically
fetches network configuration information from the configured beacon node endpoint. Other--network
option values for an external validator client
are now deprecated in favour of this option value (usage:teku validator-client --network=auto
)