Skip to content

Releases: Consensys/teku

22.8.2

30 Aug 22:54
8478843
Compare
Choose a tag to compare

This is a strongly recommended update that fixes a corner case which could lead to producing invalid blocks.

IMPORTANT: Mainnet nodes must be made "merge ready"

All Mainnet nodes will need to prepare for the merge, including:

  • Connecting to a local execution client's engine API with the --ee-endpoint option.
  • Validators will need to set a default fee recipient with --validators-proposer-default-fee-recipient.

Both Teku and your execution client will need to be updated to prepare for the merge. You should not receive any warning or error messages about the execution client being unavailable.

See the Teku guide on preparing for the merge for more information.

Downloads

  • Available as 22.8.2 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 5b6ae9ac7d5e5c54a23854c81650a39c300871d59224aa0fb4465d3398270dcc)
    • zip (sha256: 0f5ca834c2a5630fe32efe435384a4be7b2e83540f7fbdd57b40a24e16fbcfac)

Additions and Improvements

  • Added Gas Limit APIs (GET/POST/DELETE)
  • Skip finding the PoW block that first satisfies the minimum genesis time condition when the genesis state is already known. Fixes an incompatibility with Nethermind's backwards sync for historic blocks.
  • Circuit breaker logic added when interacting with Builder endpoint
  • VC using failover nodes for retrieving the network spec when --network=auto and multiple beacon nodes are configured
  • Teku now confirms the first successful connection to the execution client by logging Execution Client is online.

Bug Fixes

  • Fixed a corner case that could lead to producing invalid blocks
  • Fixed io.libp2p.core.InternalErrorException: [peerHandler] not initialized yet error from jvm-libp2p
  • Fixed VC incompatibility with Nimbus BN for the /eth/v1/validator/beacon_committee_subscriptions endpoint

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

22.8.1

21 Aug 23:34
ebfb044
Compare
Choose a tag to compare

This is a required update that include the Bellatrix network upgrade and merge transition configuration. All Mainnet users must upgrade before September 6.

IMPORTANT: Mainnet nodes must be made "merge ready"

All Mainnet nodes will need to prepare for the merge, including:

  • Connecting to a local execution client's engine API with the --ee-endpoint option.
  • Validators will need to set a default fee recipient with --validators-proposer-default-fee-recipient.

Both Teku and your execution client will need to be updated to prepare for the merge. Until the execution client is updated Teku will regularly report an error like:

Merge       *** Transition Configuration error: local TerminalTotalDifficulty and TerminalBlockHash not matching remote Execution Client values
  local  configuration: TransitionConfiguration{terminalTotalDifficulty=0x000000000000000000000000000000000000000000000c70d808a128d7380000, terminalBlockHash=0x0000000000000000000000000000000000000000000000000000000000000000, terminalBlockNumber=0}
  remote configuration: TransitionConfiguration{terminalTotalDifficulty=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbff, terminalBlockHash=0x0000000000000000000000000000000000000000000000000000000000000000, terminalBlockNumber=0}

or like:

Execution Client is offline java.io.IOException: -32000: invalid ttd: execution <nil> consensus 0xc70d808a128d7380000 (See log file for full stack trace)

Once the execution client has been updated, you should not continue receiving these errors or other warnings about the execution client being unavailable.

Please continue to monitor for further Teku updates prior to the merge and be ready to upgrade if necessary.

See the Teku guide on preparing for the merge for more information.

Downloads

  • Available as 22.8.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 3582cad5394179ce0304ed8869147f7ec15e5790e422bb0fa9187aa1131efc0a)
    • zip (sha256: 9436a3a20917f987e5cf373327eaad8ef218619d302386fa684302cd4bc35d4e)

Additions and Improvements

  • Sets the Bellatrix fork epoch and TTD for The Merge on MainNet
  • Automatically add /eth/v2/debug/beacon/states/finalized to the initial state file url (--initial-state CLI option) when the provided url doesn't work and doesn't contain any path.
    This simplifies using the standard REST API to retrieve the initial state as just the base URL can be specified (e.g. --initial-state https://<credentials@eth2-beacon-mainnet.infura.io)
  • Ability to configure multiple beacon nodes for a single validator client using --beacon-node-api-endpoints CLI option
  • Primed cache for new justified checkpoints to reduce time required to run fork choice immediately after justification
  • Remain in optimistic mode when there are no viable branches in the block tree because blocks from every branch were marked INVALID during optimistic sync (ethereum/consensus-specs#2955)

Bug Fixes

  • Fixed NullPointerException when checking for the terminal PoW block while the EL was syncing
  • Changed log level of Ignoring calculated payload message to debug level.
  • Fixed repeated timeout exceptions when requesting deposit logs from the --ee-endpoint

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

22.8.0

03 Aug 02:46
a9f80cb
Compare
Choose a tag to compare

This is an optional update containing bug fixes, optimizations and minor new features.

Downloads

  • Available as 22.8.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: a5fe3c575e64c9eb3b15b9dd45043122c2d773176168429e258095d188cf53cd)
    • zip (sha256: 028a0a9008ccfbcb3bce4308a19725b0d6764df4bd86d7e81014d3b16cac41e5)

IMPORTANT: Prater nodes must be made "merge ready"

See the Teku guide on preparing for the merge for more information.

Additions and Improvements

  • Support for the external builder API (e.g. mev-boost)
  • Enables fork choice before block proposals by default on MainNet (previously on by default on testnets only)
  • Optimisations in jvm-libp2p to reduce CPU usage
  • Updated Sepolia bootnodes
  • Enabled progressive balance tracking optimisation on MainNet
  • Replaced separate metrics for each beacon node request with one metric beacon_node_requests_total. Some old metrics were kept for backwards compatibility, but will be removed in future versions.

Bug Fixes

  • --ee-endpoint option was not used to retrieve deposits for networks where Bellatrix was not yet scheduled
  • Fix latestValidHashwith invalid Execution Payload in response from execution engine didn't trigger appropriate ForkChoice changes
  • Remove incorrect error about potentially finalizing an invalid execution payload when importing a block with an invalid payload

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

22.7.0

21 Jul 00:18
f65b5ae
Compare
Choose a tag to compare

This is a required update for the Prater testnet and recommended for other users.

IMPORTANT: Prater nodes must be made "merge ready"

All Prater nodes will need to prepare for the merge, including:

  • Connecting to a local execution client's engine API with the --ee-endpoint option.
  • Validators will need to set a default fee recipient with --validators-proposer-default-fee-recipient.

See the Teku guide on preparing for the merge for more information.

Downloads

  • Available as 22.7.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: bec505982ea7caa0b4b1f804b42e96a2e6fb390438ca60d45de5e96905cd6623)
    • zip (sha256: 22dcaaec468dd34e1d29242524a5db564795349d2652d8b00d5352c12bbcaaf2)

Additions and Improvements

  • Added Bellatrix fork epoch and terminal total difficulty to schedule the Prater/Görli merge
  • Support --network=goerli as an alias for --network=prater
  • Added a panda banner to celebrate the merge completing
  • Log a warning instead of a verbose error if node is syncing while performing sync committee duties
  • Distributions created from the same git commit and docker image will be identical
  • Optimised storage of latest vote information by batching updates
  • Ensured dependencies are up to date
  • Validator Registration signature integration with external signer
  • Teku-specific Beacon Node API on /teku/v1/beacon/deposit_snapshot providing finalized Deposit Tree Snapshot according to the draft EIP-4881

Bug Fixes

  • Fix not rendering emoticons correctly in graffiti when running in a Docker container
  • Fix resource leak from closed SSE connections

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

22.6.1

28 Jun 23:51
15f8c44
Compare
Choose a tag to compare

This is a required update for the Sepolia testnet and recommended for other users.

Downloads

  • Available as 22.6.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde)
    • zip (sha256: 97d30aaf2d00567a994ede64d9f8317941718086780f0f2b2fcc032a7e2dfd31)

Additions and Improvements

  • Updated terminal total difficulty (TTD) configuration for Sepolia testnet
  • Further optimization of epoch transitions
  • Added additional Sepolia bootnode
  • Optimised attestation gossip validation by using the current head state to validate more attestations
  • Avoid revalidating signatures for attestations re-added to the memory pool during a re-org

Bug Fixes

  • Fixed the beacon-rest-api opening a listen port on too many interfaces
  • Fixed issue where blocks received via gossip may not be processed if an ancestor's execution payload returned an error from the execution engine.
  • Increased the default queue size limit for validator tasks to better support running very large numbers of validators.
  • Fixed issue where execution engine connections using web sockets may fail during the merge transition

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

22.6.0

16 Jun 23:08
e838281
Compare
Choose a tag to compare

This is a recommended upgrade with configuration updates and optimisations.

Downloads

  • Available as 22.6.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 0aa47fd8ca5440a870e6ee8e9ba5613a8595a5ae3496cb7ad29d66fe9463dec7)
    • zip (sha256: b3a3df793504556879b2ff9825c54939ea2b82d9eac767b9bf8f21c2046535a7)

Breaking Changes

  • The command-line option --validators-performance-tracking-enabled has been removed in favour of --validators-performance-tracking-mode

Additions and Improvements

  • Added configuration for Sepolia testnet.
  • Reduced memory requirements for storing the deposit merkle tree.
  • Enable spec change to ignore weightings from attestations from equivocating validators.
  • Fork choice before proposals is now enabled by default for testnets. It can be disabled with --Xfork-choice-before-proposing-enabled=false if required.
  • Updated the Ropsten network configuration to include the correct terminal difficulty.
  • Updated to BLST 0.3.8
  • Reduced CPU usage when processing epoch transition.

Bug Fixes

  • Fixed issue where the REST API may return content as SSZ instead of JSON if the header Accept: */* was specified.
  • Fixed issue where sync committee aggregations were skipped, but reported failed because there were no signatures to aggregate.
  • Fixed division by zero when estimating time to TTD during a period with no new PoW blocks.
  • Fixed issue where validator client could receive a 500 rather than 503 when getting duties if the beacon node was syncing.

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

v22.5.2

30 May 03:35
dcd3bc0
Compare
Choose a tag to compare

This is a recommended upgrade with configuration updates and optimisations.

Known Issues

  • Some REST API requests may respond with SSZ instead of JSON when the header Accept: */* is sent. To ensure JSON is returned either omit the Accept header or use Accept: application/json.

Downloads

  • Available as 22.5.2 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: bffc3b3c35f5731531e79608c5343ee4bc14d4a33f4c57e86b292e6b1b8f6725)
    • zip (sha256: d482fbb574179cd14fb02e1198920a3c9de7c7ad313581d78ec7ff79b3e0cbca)

Breaking Changes

  • Removed /teku/v1/beacon/states/{state_id}, use /eth/v2/debug/beacon/states/{state_id} instead.

Additions and Improvements

  • Updated Ropsten testnet config to include extremely high TTD and enable proposer boost.
  • Changed the default maximum peers count from 74 to 100 (--p2p-peer-upper-bound 74 was old setting)
  • Update proposer boost weighting to 40%.
  • Update libp2p BeaconBlocksByRange to only return the first block if the step is greater than 1, in line with 1.20 beacon chain networking spec.
  • Added failOnRejectedCount query parameter to liveness endpoint.

Bug Fixes

  • Resolve a performance degradation in batch signature verification on machines with multiple, slower CPUs.

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 --validators-performance-tracking-enabled has been deprecated in favour of --validators-performance-tracking-mode

v22.5.1

22 May 22:16
8f97fa5
Compare
Choose a tag to compare

This is an optional upgrade that includes support for Ropsten and optimisations.

Downloads

  • Available as 22.5.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 4eb72595261b02438aced0a6a604c990d8e1c4b4c006d01b60fbe99eef3bdc4d)
    • zip (sha256: 4fd38780f929dc142f4067929fdf97a363cded84ba75635345c48a016ae495b5)

Breaking Changes

  • Removed network definition for kintsugi testnet. Support for the execution engine API used in kintsugi was removed in an earlier release.

Additions and Improvements

  • Added support for the ropsten testnet beacon chain.
  • Check Eth1Address checksum (EIP-55) if address is mixed-case.
  • Ignore aggregate attestation and sync contribution gossip that does not include any new validators.
  • Optimised BLS batch validation.
  • Optimised message ID calculation in jvm-libp2p.
  • Reduced memory requirements when sending events on the REST API to many clients.
  • Added a labelled metric executor_rejected_execution_total to track rejected execution, and updated health check to return 503 if rejected executions are occurring.

Upcoming Breaking Changes

  • 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 the Accept: 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The commandline option --validators-performance-tracking-enabled has been deprecated in favour of --validators-performance-tracking-mode

v22.5.0

08 May 23:17
8f80286
Compare
Choose a tag to compare

This is an optional upgrade that includes various improvements and bug fixes.

Downloads

  • Available as 22.5.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (
      sha256: 34534aa0833fc887cc9e88bc8d707fc8880043d424d9ebd35751f104c30c44ec)
    • zip (
      sha256: f424d348e90c0c2a9d7f8576f2f2e39f1dd48e81a71bbb6b5598969bcd61b2db)

Breaking Changes

  • For Bellatrix fork and later, Teku now sends block_header instead of block to external signers when signing blocks (BLOCK_V2).

Additions and Improvements

  • Improved performance when regenerating non-finalized states that had to be dropped from memory.
  • Performance optimizations for Gnosis beacon chain.
  • Improved performance when processing epoch transitions.
  • Added is_optimistic field to /eth/v1/node/syncing response.
  • Using execution engine endpoint as Eth1 endpoint when latter is not provided.

Bug Fixes

  • Added stricter limits on attestation pool size.
  • Fixed issue with loading the optimised BLST library on Windows.
  • Reduced log level for notifications that the eth1 chain head could not be retrieved because no endpoints were available.
  • Fixed issue where logging options were not recognised if specified after the validator-client subcommand.
  • Avoid disconnecting event stream connections subscribed to attestation events for briefly exceeding the maximum pending event queue size. A very large number of attestations are received all at once on MainNet making it almost impossible for a consumer to stay below the queue size limit at all times.

Upcoming Breaking Changes

  • 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 the Accept: 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The commandline option --validators-performance-tracking-enabled has been deprecated in favour of --validators-performance-tracking-mode

v22.4.0

07 Apr 23:30
4097026
Compare
Choose a tag to compare

This is a recommended upgrade which enables the "proposer boost" upgrade to incentivize timely block production.

Downloads

  • Available as 22.4.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (
      sha256: 9215e42abcc06b80f9bae447a206e135c5d6abc9cf3e076fd19059bad6d6c5b6)
    • zip (
      sha256: db641c168aea63457a376d3d7410e8010d9acfa97a0568c7106dd10bb2ceb9b8)

Breaking Changes

  • The /eth/v1/node/peers endpoint had field address in data object, which is not correct according to the spec, changed to last_seen_p2p_address. Also meta object with count added
  • The /eth/v1/node/peers/{peer_id} endpoint had field address in data object, which is not correct according to the spec, changed to last_seen_p2p_address

Additions and Improvements

  • Introduced smarter state selection strategy when validating attestations to reduce required regenerations after a full GC.
  • Improved peer scoring to better handle temporary errors from peers.
  • Enabled fork choice proposer boost by default.
  • Added Websockets and IPC protocols support for execution client’s Engine JSON RPC API.
  • Early access: Support for Gnosis beacon chain via `--network gnosis

Bug Fixes

  • Fixed the target database format for the migrate-database command.

Upcoming Breaking Changes

  • 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 the Accept: 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 /eth/v1/debug/beacon/heads endpoint has been deprecated in favor of the v2 Bellatrix endpoint /eth/v2/debug/beacon/heads
  • The commandline option --validators-performance-tracking-enabled has been deprecated in favour of --validators-performance-tracking-mode