Skip to content

Releases: Consensys/teku

23.4.0

26 Apr 05:05
196c4c1
Compare
Choose a tag to compare

This is a recommended update for mainnet, containing a fix for the slow processing of blocks with multiple voluntary exit operations.

Due to some issues with Docker Hub signing service, 23.4.0 docker images have not been signed.

Downloads

  • Available as 23.4.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 86b3e673682f410c3c9111dff005b34ff6a787757dccebb893a5ebccf5cb7aa2)
    • zip (sha256: 6bf588011c6fa987e173b3807760f6d0c06cf99be7999422d6b40e5653c5acfa)

Breaking Changes

  • The --p2p-discovery-site-local-addresses-enabled option is set to false by default. If you use the client's discovery inside the local network, update its launch command to toggle the option.

Additions and Improvements

  • Added the ability for the CL client to negotiate engine capabilities with the connected EL client. This can be disabled by setting --exchange-capabilities-enabled=false if Shanghai is not supported on your EL client.
  • Enabled peer scoring by default. Can be disabled explicitly using --Xp2p-gossip-scoring-enabled=false
  • When failovers are configured, the validator client will perform a readiness check on startup to avoid retrieving validator statuses from a node which is not ready.
  • Enabled deposit tree snapshot bundles for major networks and persists it after finalization to decrease EL pressure and speed up node startup. Use --deposit-snapshot-enabled=false to disable.
  • Optimized validator exit processing during state transition, to speed up block import containing multiple validator exits.
  • Locally submitted exits and bls changes will now periodically broadcast if they are not actioned, to address operations being lost in remote pools.

Bug Fixes

  • Included All forks in fork schedule if they're defined in configuration.
    • Operation pool not removing some Voluntary Exit messages after block inclusion.
  • Slow processing of blocks with multiple voluntary exit operations.

Upcoming Breaking Changes

  • 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The command argument --Xexchange-capabilities-enabled will be removed, update to use --exchange-capabilities-enabled if you are using this option.
  • The command argument --Xdeposit-snapshot-enabled will be removed, just remove it from commandline/configuration if you use it, updated argument --deposit-snapshot-enabled defaults to true now.

23.3.1

23 Mar 19:52
a3df3ae
Compare
Choose a tag to compare

This is a required update containing mainnet 🦉CAPELLA🦉 fork configuration. All users should upgrade as soon as possible.
NOTE: Upgrade your EL client to the latest version first! This update could be incompatible with old versions.

Known Issues

  • CVE-2022-1471 security alert related to snakeyaml-1.33.jar could be ignored because Teku doesn't make use of the affected functionalities. Future dependency updates will fix this security alert.

Downloads

  • Available as 23.3.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: f774fab2b6b5804a1619d129004805c722a07cb9bece1894c3558b2528ac300b)
    • zip (sha256: fadc91e193923897930a4d2f81290c45c949749754a5fe2fe27962db9729a228)

Breaking Changes

  • --Xbeacon-liveness-tracking-enabled has been removed in favour of --beacon-liveness-tracking-enabled

Additions and Improvements

  • The commandline option --network of the validator-client subcommand has been undeprecated for values other than auto.
  • Send validator registrations to the Beacon node when the Validator client has reconnected to the event stream
  • Added optional query parameters require_prepared_proposers and require_validator_registrations to the teku/v1/admin/readiness endpoint
  • Added mainnet configuration for the CAPELLA network fork due at epoch 194048, April 12, 2023; 10:27:35pm UTC
  • Added experimental feature --Xdeposit-snapshot-enabled to use bundled deposit contract tree snapshot and persist it after finalization to decrease EL pressure when syncing and speed up node startup
  • Added --p2p-discovery-site-local-addresses-enabled option to allow discovery connections to local (RFC1918) addresses.
  • Added --builder-bid-compare-factor to be applied to the builder bid value when comparing it with locally produced payload.
  • Improved Completed regeneration info message so that is more technically accurate.

Bug Fixes

  • Fixed a bug in signature verification on fork boundaries when first blocks of the new fork are missing.

Upcoming Breaking Changes

  • 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The --p2p-discovery-site-local-addresses-enabled option will be set to false by default. If you use the client's discovery inside the local network, update its launch command to toggle the option.

23.3.0

07 Mar 12:27
e895b42
Compare
Choose a tag to compare

This is an optional update that primarily updates dependent libraries. It is a required update for Goerli network nodes.

Downloads

  • Available as 23.3.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 82c292b78c9788ba1022ffe43cfd7d41eb8648fdb91bc541cde60629f2c7c4ee)
    • zip (sha256: 882fdf054cf47b4fe6a6e890036d9074f53f8c939f717efb8565394ffaf1826b)

Additions and Improvements

  • Trigger the beacon nodes fallback mechanism when the execution layer is offline
  • --beacon-liveness-tracking-enabled option (disabled by default) can be used instead of --Xbeacon-liveness-tracking-enabled
  • Added an optional query parameter locally_submitted to /eth/v1/beacon/pool/bls_to_execution_changes to allow users to query only bls changes submitted to the current node.
  • Added /eth/v1/builder/states/{state_id}/expected_withdrawals rest api endpoint.
  • Added /eth/v1/beacon/rewards/sync_committee/{block_id} rest api endpoint.
  • Added Capella fork information for Goerli network configuration.
  • Added validator_scheduled_sync_committee_duties_current metric - the number of validators that you have active with current sync committee duties
  • Added validator_current_sync_committee_last_epoch metric - the last epoch of the current sync committee.

Bug Fixes

  • Included All forks in fork schedule if they're defined in configuration.

Upcoming Breaking Changes

  • 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The commandline option --network of the validator-client subcommand has been undeprecated and can be used to select a network for standalone validator clients. When set to auto, it automatically
    fetches network configuration information from the configured beacon node endpoint.
  • --Xbeacon-liveness-tracking-enabled option will be removed. The --beacon-liveness-tracking-enabled option should be used instead (disabled by default)

23.2.0

17 Feb 00:08
7a4abc6
Compare
Choose a tag to compare

This is an optional update that primarily updates dependent libraries. It is a required update for Sepolia network nodes.

Downloads

  • Available as 23.2.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 536a9bbfdad22b1bd38fa9c5e877abdad1a06aab8e520d77ae534a1c5768b488)
    • zip (sha256: e41c43d0b68654983604b66736c64db8cbfe20bdb530b230e3bfe5a2280fb5b6)

Breaking Changes

  • --Xmetrics-block-timing-tracking-enabled option has been removed. The --metrics-block-timing-tracking-enabled option should be used instead (enabled by default).

Additions and Improvements

  • Introduced Doppelganger Detection feature
  • Changed color of block production duty to cyan, rather than dark blue.
  • Introduced a configuration overview printed during start up.
  • Introduced a new field el_offline in the GetSyncingStatusResponse which is set to true when the execution layer is offline: Syncing API update
  • Added Capella fork information for Sepolia network configuration.
  • Removed references to beacon block methods /eth2/beacon_chain/req/beacon_blocks_by_root and /eth2/beacon_chain/req/beacon_blocks_by_range.

Bug Fixes

  • Fixed issue which was causing validator keys to be loaded twice, which, in some cases, was causing beacon node to initialize slower.

23.1.1

27 Jan 20:11
664537c
Compare
Choose a tag to compare

This is an optional update containing a permissions fix to docker containers. Users not experiencing permissions issues with their docker containers do not need to upgrade to this patch.

Downloads

  • Available as 23.1.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 715ee9bef3e0730558b79ef1d3bce5ae190cf01c4e02c3982e79582fca775995)
    • zip (sha256: 6477cda7143b7675ae36aa1f17bc5556eac44b63b12e15d2e7f9d48e81d7b0ef)

Bug Fixes

  • Docker container permissions have been updated #6741

23.1.0

27 Jan 10:21
8f1ef50
Compare
Choose a tag to compare

This is a recommended update containing bug fixes, optimisations and new features.

Downloads

  • Available as 23.1.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: b0d34bc6a162fd3a8b7be8ad10d55dae800bf73e21749536c64cf968364b78f0)
    • zip (sha256: a63692e63efd943357b905023ec77deba4260149a86da33546d9cf8aa1aa80f7)

Breaking Changes

  • The validator_beacon_node_published_attestation_total, validator_beacon_node_published_aggregate_total,
    validator_beacon_node_send_sync_committee_messages_total, validator_beacon_node_send_sync_committee_contributions_total
    and validator_beacon_node_published_block_total metrics have been replaced by the new validator_beacon_node_requests_total metric. An update to the Teku Dashboard that uses the new metric is available.

Additions and Improvements

  • Introduces the MINIMAL option for --data-storage-mode which prunes both finalized states and blocks prior to the retention period required by the beacon chain spec (~5 months of blocks).
  • Support for the /eth/v1/beacon/blinded_blocks/{block_id} REST API
  • Support for the /eth/v1/debug/fork_choice REST API
  • Support for the /eth/v1/beacon/deposit_snapshot REST API
  • Added finalized metadata field to applicable REST API responses
  • Use SSZ encoding for external validator client block creation requests by default. Can be disabled with --beacon-node-ssz-blocks-enabled=false.
  • Added a timeout (2 minutes) when attempting to load the initial state from a URL
  • Improved logging when sync committee messages fail to publish to the gossip network
  • Updated bootnodes for the Gnosis chain
  • Updated jblst library to version 0.3.10
  • Updated docker images to Ubuntu version 22.04

Bug Fixes

  • Fixed issue which could cause command line options to be parsed incorrectly
  • Fixed issue where the voluntary-exit subcommand did not exit immediately after completion
  • Fixed reported security issue on Netty, updating to version 4.1.87.Final (addressing CVE-2022-41881)

22.12.0

06 Dec 14:55
1a249bc
Compare
Choose a tag to compare

This is an optional update that primarily updates dependent libraries.

Downloads

  • Available as 22.12.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 920a0759465d695e2fd921023f204c45531d1f73a69d1418cc16e010539cdbb4)
    • zip (sha256: e30c37756704164a568181fbf69fc5c13f94e0831329ee970ae968a6274548fb)

Breaking Changes

  • Dropped support for custom network configurations that do not use the current preset format. Presets have been in use since before the MainNet beaconchain launch so this is not expected to affect any users.

Additions and Improvements

  • Updated third party libraries
  • Early access: Support for additional DoS protection by using a separate sentry beacon node to publish blocks and attestations.
  • Tightened validation of the fork for gossip messages

22.11.0

18 Nov 05:11
a3aaceb
Compare
Choose a tag to compare

This is a recommended update containing security updates. It is a required update for Gnosis chain nodes.

Downloads

  • Available as 22.11.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 2ab8cf50e29c9ce9a62d5f1250693dc0d5cd588e7ce5bb9c4afef830eec682f3)
    • zip (sha256: 62c05b2a91f7b43ab575742185edb691bbc3745bbc4f7b57d10128a831d7c616)

Breaking Changes

  • The logic with which the default configuration is applied when using validators-proposer-config has been updated.
    The logic is now more intuitive but a given proposer config file may result in a different configuration compared with the previous Teku version.
    (Refer to #6325 (comment) for more information).

Additions and Improvements

  • Updated protobuf used by libp2p library to resolve a potential DoS vector
  • Added merge configuration for Gnosis chain. Note that all Gnosis nodes will need to be made merge-ready
  • Improved discv5 compliance
  • Changed the builder is online\is offline logs to is available\is not available
  • Added /eth/v1/beacon/states/{state_id}/randao to beacon-api
  • Block timing tracking is now enabled by default. The --Xmetrics-block-timing-tracking-enabled option has been renamed to --metrics-block-timing-tracking-enabled.

Bug Fixes

  • Fixed missing status filters (active, pending, exited, withdrawal) for the /eth/v1/beacon/states/{state_id}/validators endpoint
  • Fixed issue which could lead to duplicate processing of some events after gossip is stopped and restarted.
  • Fixed issue which could cause sync committee duties to be calculated too early, potentially causing duties to be missed if the scheduling was changed by a reorg.

22.10.2

25 Oct 02:26
182f560
Compare
Choose a tag to compare

Downloads

  • Available as 22.10.2 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 0a0d8bbce52ab1c023da905492fbf3d1b32885e85b632766bca9b31b9fa44540)
    • zip (sha256: 24c66b76720e22d28477ef9f0f53227ba69ad6785343a3dd4a4f593ff2a4d2a5)

Breaking Changes

There are no breaking changes in this release.

Additions and Improvements

  • Enabled new framework for REST API with better performance and less memory usage. The new framework does not cause any breaking changes, however if needed the old version can be restored with --Xrest-api-migrated-enabled=false
  • Updated jackson-databind library to version 2.13.4.2 addressing CVE-2022-42003

Bug Fixes

  • Fix issue where /readiness endpoint returned 200 when Execution Client was not available.

Upcoming Breaking Changes

  • The validator_beacon_node_published_attestation_total, validator_beacon_node_published_aggregate_total,
    validator_beacon_node_send_sync_committee_messages_total, validator_beacon_node_send_sync_committee_contributions_total
    and validator_beacon_node_published_block_total metrics have been deprecated in favour of the new validator_beacon_node_requests_total metric.
    The old metrics will be removed in a future release. An update to the Teku Dashboard that uses the new metric is available.
  • 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The commandline option --network of the validator-client subcommand has been undeprecated and can be used to select a network for standalone validator clients. When set to auto, it automatically
    fetches network configuration information from the configured beacon node endpoint.

22.10.1

11 Oct 08:35
204e92e
Compare
Choose a tag to compare

This is a recommended upgrade containing bug fixes, optimisations and voluntary-exit command improvements

Downloads

  • Available as 22.10.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 8418bfd435cae9a6d8226343b55c9f43decca3b2717a887ae57a1ca3ec4899d5)
    • zip (sha256: 5c5fbc83590f8d9c3686343974b695d6c214b77b943c0987df2bc8ec8dee1476)

Additions and Improvements

  • Improve Execution Layer error logging
  • Add new validator client metric validator_remote_beacon_nodes_requests_total which tracks the requests made to remote beacon nodes (useful when there are failovers configured)
  • The voluntary-exit subcommand can restrict the exit to a specific list of validators public keys using the option --validator-public-keys.
    Example: teku voluntary-exit --beacon-node-api-endpoint=<ENDPOINT>[,<ENDPOINT>...]... --data-validator-path=<PATH> --include-keymanager-keys=<BOOLEAN> --validator-keys=<KEY_DIR>:<PASS_DIR> | <KEY_FILE>:<PASS_FILE> --validator-public-keys=<PUBKEY>[,<PUBKEY>...]...
    To include validator keys managed via keymanager APIs, the option --include-keymanager-keys could be set to true (The default value is set to false)
  • Throttle signing of validator registrations when using an external signer

Bug Fixes

  • Filter out unknown validators when sending validator registrations to the builder network
  • Fix issue which could cause locally produced aggregates to not be gossiped
  • Fix issue where the sync module could cause Unexpected rejected execution due to full task queue in nioEventLoopGroup log messages and high CPU usage

Upcoming Breaking Changes

  • The validator_beacon_node_published_attestation_total, validator_beacon_node_published_aggregate_total,
    validator_beacon_node_send_sync_committee_messages_total, validator_beacon_node_send_sync_committee_contributions_total
    and validator_beacon_node_published_block_total metrics have been deprecated in favour of the new validator_beacon_node_requests_total metric.
    The old metrics will be removed in a future release. An update to the Teku Dashboard that uses the new metric is available.
  • 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The commandline option --network of the validator-client subcommand has been undeprecated and can be used to select a network for standalone validator clients. When set to auto, it automatically
    fetches network configuration information from the configured beacon node endpoint.