Skip to content

Releases: Consensys/teku

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

v22.3.2

20 Mar 22:17
f2ab5cd
Compare
Choose a tag to compare

This is a recommended upgrade that resolves a significant performance issue when processing deposits.

Downloads

  • Available as 22.3.2 on Dockerhub
  • Download the binary distribution:
    • tar.gz (
      sha256: 3b6021f872f5f4d34fa205ed89f3731f53430f1eb71524923489404633cea737)
    • zip (
      sha256: d4c81bcf9a5234cb1bb5fdde1038bd77a2adfbd73a2e0ba2d5c1e2785eb633f3)

Additions and Improvements

  • Reduced attestation pool memory usage.

Bug Fixes

  • Fixed performance issue when processing blocks containing deposits.
  • Reduce queuing of events when CPU is insufficient to keep up with the beacon chain.

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.3.1

15 Mar 00:36
ef567ce
Compare
Choose a tag to compare

This is an optional upgrade containing new features and optimisations.

Downloads

  • Available as 22.3.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (
      sha256: 8c28668a62951e09f4205e0b97ebb0c44a4280ac44cbdb75263a3a9ea92692ac)
    • zip (
      sha256: 9c2914af6a439016b181182bd936f5c8e717fdecc3bc08e4c10c22e6608c81b9)

Breaking Changes

  • block events are now published on the beacon rest API after the block is imported, instead of after it had passed gossip validation rules. Blocks that pass the gossip validation rules but fail state transition will no longer emit a block event.

Additions and Improvements

  • Added configuration for the Kiln testnet (--network kiln).
  • Added /eth/v2/debug/beacon/heads REST API to include information on whether the execution payload of each chain head has been executed or not.
  • Reduced CPU usage when finding ancestor block roots.
  • Updated gossip validation rules to match consensus spec v1.1.0.
  • Reduced memory usage when deduplicating gossip messages.
  • GetBlockHeaders /eth/v1/beacon/headers can now return non-canonical block headers.

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.3.0

03 Mar 10:15
a7be8fb
Compare
Choose a tag to compare

This is an optional upgrade containing new features, bug fixes and optimisations.

Downloads

  • Available as 22.3.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (
      sha256: 16171e02c4c5855e41b7863f4e9989a6a294504078aefe8a078b03f05870e5a9)
    • zip (
      sha256: 5e515c77ec915301e5c0e53998f8bcd8c762faad042b2c46d289c3be83f2f49c)

Breaking Changes

  • Support for the Pyrmont testnet has been removed. The Prater testnet should be used instead.

Additions and Improvements

  • Added support for exporting metrics to an external service with --metrics-publish-endpoint.

Bug Fixes

  • Improved handling of the http accept header used to determine whether to send SSZ data or json for states and blocks.
  • Updated discovery library with improved performance.
  • Updated libp2p library to respect message list limits when sending messages.
  • Fixed issue on custom testnets with two forks in sequential epochs where the maximum gossip topic subscription limits were exceeded.
  • Fixed issue where /eth/v1/beacon/headers and /eth/v1/beacon/headers/:block_id would incorrectly return the block root in the body_root field.
  • Simplified chain head updates to resolve Skipping head block update to avoid potential rollback of the chain head warnings.

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