Skip to content

Releases: Consensys/teku

24.2.0

16 Feb 00:36
b544b9e
Compare
Choose a tag to compare

Changelog

This is a required update for Mainnet users containing the configuration for the Deneb upgrade on March 13th. This update is required for Gnosis Deneb network upgrade on March 11th. For all other networks, this update is optional.

Attention: Teku will require around 50 GB of extra storage for blobs for Mainnet (35 GB for Gnosis), but theoretically blob storage requirements can go up to ~100 GB (200 GB for Gnosis). This extra storage space WILL NOT grow above this limit over time.

For more information about blobs, please have a look at the following page: https://docs.teku.consensys.io/concepts/proto-danksharding

Downloads

  • Available as 24.2.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: f7da4109b180e1f1118d6fa13e4d48a964d0f58724d1e6d3fd4a92ddccabab58)
    • zip (sha256: 32810f44a169dae094d8da36ac4cb7b3b8f5f409de55536263b3a634571f6834)

Breaking Changes

  • The CLI options --beacon-events-block-notify-when-validated-enabled and
    --beacon-events-block-notify-when-imported-enabled have been removed. This change was made due
    to redundancy, as the functionality of these options is now covered by the new block_gossip and
    the existing block SSE events.

Additions and Improvements

  • Updated Mainnet configuration with Deneb fork scheduled for epoch 269568 (March 13, 2024, 13:55:35 UTC)
  • Updated Gnosis configuration with Deneb fork scheduled for epoch 889856 (March 11, 2024, 18:30:20 UTC)
  • Improved compatibility with /eth/v3/validator/blocks/{slot} experimental beacon API for block production. It can now respond with blinded and unblinded content based on the block production flow. It also supports the builder_boost_factor parameter.
  • Add block_gossip SSE event as per ethereum/beacon-APIs#405
  • Deposit tree snapshots will be downloaded from checkpoint-sync-url when available #7715
  • Applied fork-choice confirmation rule prerequisite change outlined in ethereum/consensus-specs#3431.

24.1.1

24 Jan 02:50
da3e51b
Compare
Choose a tag to compare

Changelog

This is a required update for Sepolia, Holesky and Chiado. Optional for other networks.

Attention: Teku will require around 50 GB (35 GB for Chiado) of extra storage for blobs, but theoretically blob storage requirements can go up to 103 GB (200 GB for Chiado). This extra storage space WILL NOT grow above this limit over time.

Downloads

  • Available as 24.1.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 18ca14ff4e1f62423e9ce9546722f677d075344f395cc01eb2ac94d7175c80d4)
    • zip (sha256: e70a4a635c60794026a6e9c88c6f7c9535b659cbeb300844119763633c4e58be)

Breaking Changes

  • Removed the following hidden feature flags which are no longer needed: --Xfork-choice-update-head-on-block-import-enabled and --Xbls-to-execution-changes-subnet-enabled

Additions and Improvements

  • Added a hidden flag --Xfork-choice-updated-always-send-payload-attributes which would cause payload attributes to be calculated and sent with every fcU. This could be useful for builders consuming the payload_attributes SSE events.
  • Added Deneb (aka Dencun) configuration for Sepolia network for epoch 132608 (2024-01-30 22:51:12 UTC).
  • Added Deneb (aka Dencun) configuration for Chiado network for epoch 516608 (2024-01-31 18:15:40 UTC).
  • Added Deneb (aka Dencun) configuration for Holesky network for epoch 29696 (2024-02-07 11:34:24 UTC).
  • Generate key at —p2p-private-key-file path if specified file doesn't exist.

24.1.0

09 Jan 22:41
82435a7
Compare
Choose a tag to compare

Changelog

This is a required update for anyone running Goerli nodes as it contains the configuration required for the Deneb upgrade in Goerli. It is an optional update for anyone else. This version also has some bug fixes.

The Goerli upgrade is scheduled on 2024-01-17 06:32:00 UTC (timestamp 1705473120).

Attention: Teku will require around 50 GB of extra storage for blobs, but theoretically blob storage requirements can go up to 103 GB. This extra storage space WILL NOT grow above this limit over time.

Downloads

  • Available as 24.1.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 66e7160f8b616b80f2c2279450848f828e9da5df28c40275e8ada2d69238201d )
    • zip (sha256: 9c805908e96deb363e61321d46dd029ea70d1637001815b41082278599470f49 )

Breaking Changes

N/A

Additions and Improvements

  • Add proposer_slashing, attester_slasing and payload_attibutes (only when a loaded validator will be producing a block) events to the /eth/v1/events SSE stream #7837
  • Add Deneb configuration for Goerli 7857

Bug Fixes

  • Fix incompatibility between Teku validator client and Lighthouse beacon nodes #7842
  • Fix a block publishing endpoints issue where 202 status code could be returned but block hasn't been broadcast #7850

Upcoming Breaking Changes

N/A

23.12.1

18 Dec 03:02
f3d80b3
Compare
Choose a tag to compare

This is an optional update containing a few fixes of bugs found on 23.12.0. It is only a recommended upgrade for users running 23.12.0.

Note: The validator client in this release is not compatible with Lighthouse beacon nodes. If using this combination, please use release 23.11.0 of the validator client.

Downloads

  • Available as 23.12.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 0dcb49ac758b79779324b28c600d299bd9b30ed6b505e4a66fbb7a8797b9832f)
    • zip (sha256: 3089a2fcaee766476de81f41b6539c46a948ddb04f8d00828586140cc9bde1a7)

Known Issues

  • Using Teku Validator Client with Lighthouse beacon node won't work. Users using Teku Validator Client with Lighthouse Beacon Node should not upgrade to 23.12.0 or 23.12.1 #7842.

Breaking Changes

N/A

Additions and Improvements

  • Added --ee-jwt-claim-id command line option to provide id to the execution engine JWT claims

Bug Fixes

  • Fixed the command line help not displaying --checkpoint-sync-url as an option. #7823
  • Fixed bug preventing node to startup when using --exit-when-no-validator-keys-enabled even with keys present. #7829
  • Fixed bug when node would not start if it failed downloading the deposit snapshot tree from Beacon API. #7827

23.12.0

13 Dec 00:50
24ba349
Compare
Choose a tag to compare

This is an optional update with bug fixes and performance improvements.

Note: The new --checkpoint-sync-url option is missing from the CLI help. The documentation for that flag can be found in our documentation page. The validator client in this release is not compatible with Lighthouse beacon nodes. If using this combination, please use release 23.11.0 of the validator client.

Downloads

  • Available as 23.12.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 9b525f9207c69beeef80216fb1fd398c3fdfae866dbc36d4ee12a09f3c635784)
    • zip (sha256: 0c68d629b5c3daeb17fff4c12479ef7f13b9fec434a421081dd55ce1087552b4)

Known Issues

  • (fixed in 23.12.1) Command line help not displaying --checkpoint-sync-url as an option. #7823
  • (fixed in 23.12.1) Bug preventing node to startup when using --exit-when-no-validator-keys-enabled even with keys present. #7829
  • (fixed in 23.12.1) Bug when node would not start if it failed downloading the deposit snapshot tree from Beacon API. #7827
  • Using Teku Validator Client with Lighthouse beacon node won't work. Users using Teku Validator Client with Lighthouse Beacon Node should not upgrade to 23.12.0 or 23.12.1 #7842.

Breaking Changes

  • By default, Teku won't allow syncing from genesis, users should use --checkpoint-sync-url when starting a new node. It is possible to revert back to the previous behaviour using the flag --ignore-weak-subjectivity-period-enabled.
  • Teku will fail to start if the Validator API cannot read the password file used for authorization. Previously, if the Validator API was enabled but Teku couldn't read the password file, it would start but no request to the Validator API would be served.

Additions and Improvements

  • Added support to new Beacon APIs publishBlindedBlockV2 and publishBlockV2 which introduce broadcast validation parameter.
  • Added configuration attributes in support of honest validator late block reorg, which adds REORG_HEAD_WEIGHT_THRESHOLD, REORG_PARENT_WEIGHT_THRESHOLD, and REORG_MAX_EPOCHS_SINCE_FINALIZATION to phase 0 configurations. Mainnet values have been added as defaults for configurations that have not explicitly listed them.
  • Added POST /eth/v1/beacon/states/{state_id}/validators beacon API.
  • Added POST /eth/v1/beacon/states/{state_id}/validator_balances beacon API.
  • Third-party library updates.
  • Added --exit-when-no-validator-keys-enabled command line option.
  • Updated Gnosis chain bootnodes.
  • Support Basic authentication for external signer
  • When initializing with the --checkpoint-sync-url option, the deposit tree snapshot will also be downloaded, rather than relying on older data packaged in the release.

Bug Fixes

  • Fixed bugs when validator statuses were not updated and builder registrations were not sent in some cases

23.11.0

14 Nov 10:29
ee1e1aa
Compare
Choose a tag to compare

This is an optional update containing bug fixes, performance improments and security fixes.

Downloads

  • Available as 23.11.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 75c1fdb4fa3c7b4e797e25d9ec92a21909aed905311f2e2eb252058046ee2d08)
    • zip (sha256: f38c5419199cb6600ee18956e35d3f2d279428716dbe6332938a7ad770d57e2e)

Breaking Changes

N/A

Additions and Improvements

  • Updated dependencies.
  • Added validator_duty_timer metrics recording the time to perform block_production, attestation_production and attestation_aggregation duties. Please note that this metric is not available by default and needs to be enabled using the --metrics-categories CLI option.
  • Updated the default number of threads for batch signature verification based on CPUs available to help larger instances that may have more processing power available.
  • Added /eth/v3/validator/blocks/{slot} experimental beacon API for block production
  • Added --checkpoint-sync-url CLI option.
  • Updated Netty HTTP2 codec version addressing CVE-2023-44487.

23.10.0

11 Oct 00:27
121c148
Compare
Choose a tag to compare

This is an optional update containing bug fixes and performance improvements.

Downloads

  • Available as 23.10.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 0b0c71510780c0972a048ab2efa300b0ff584d9e5084b1e2f605af03aa4cbb31)
    • zip (sha256: 641c8fde7d2f338d60f91cece8c2dcbf53a62d3f80a54de6704b1ed99d71a6b0)

Breaking Changes

  • The response of the Attestation Rewards method was updated to include two extra
    fields (inactivity and inclusion_delay) into the total_rewards and ideal_rewards objects.
    This should be considered a breaking change only if you are strictly
    checking the structure of the json in the response.

Additions and Improvements

  • Solves an unintended breaking change in 23.9.1 release that included an updated LevelDB
    native library not compatible with older Linux distributions. LevelDB native library has
    been updated to support older GLIBC versions (ie Ubuntu 20.04 and Debian 11).
  • Changed attestation duty calculation to improve performance.

Bug Fixes

  • During network configuration load, all missing fields will now be reported, rather than just the first missing field causing failure.

Upcoming Breaking Changes

N/A

23.9.1

24 Sep 23:01
78a929f
Compare
Choose a tag to compare

This is an optional update unless you are going to run a node on the new Holesky network. It contains the updated configuration for the Holesky launch on the 28th of September.

This release contains a leveldb library that requires GLIBC version 2.34.

  • Linux users running on an OS that doesn’t provide this library won’t be able to run Teku and need to downgrade to 23.9.0.
  • For reference, the minimum Debian version providing the library is 12 (bookworm), the minimum Ubuntu version is 22.0.4 (jammy).
  • Windows users or users running teku using official docker images are not affected.

Downloads

  • Available as 23.9.1 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: b5381056e7d4bf2f118806ec8ffd0dcd586ada744712bc2873e7bc2cbe2c926e)
    • zip (sha256: 8191a3447ba58e8a07d6f938e69324a6bf812fb6e4b6f07e1a648b480af7eb15)

Breaking Changes

  • Removed epoch from the POST /eth/v1/validator/liveness/{epoch} response as it was not part of the api spec.

Additions and Improvements

  • The latest version of blst will automatically use optimized code paths if they are supported. As a result, JAVA_OPTS="-Dteku.portableBlst=true" is no longer necessary for some older systems.
  • The voluntary exit subcommand now accepts --network=<NETWORK> command line option, using it to load the network specification rather than loading configuration from the rest api, if specified.
  • Add /teku/v1/beacon/blob_sidecars/{slot} Teku API which returns all blob sidecars (canonical and non-canonical) at a specific slot. This endpoint will become available once Deneb fork is scheduled.
  • Updated LevelDb native library which is using LevelDb 1.23 using latest Snappy to 1.1.10 for compression (this change doesn't apply to Windows)
  • Updated holesky configuration with new genesis time of 28th September 12:00 UTC, and fork changes.
  • Apply proposer boost to first block in case of equivocation (spec PR)

Bug Fixes

  • When the rest-api's fail to start up they can now potentially 'fail fast' rather than silently ignoring the issue.

Upcoming Breaking Changes

N/A

23.9.0

04 Sep 13:28
cd1961b
Compare
Choose a tag to compare

This is a recommended update containing networking updates, optimizations and bug fixes. It also contains upcoming Holesky testnet configuration.

Downloads

  • Available as 23.9.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: faa72f61accf98eb61de1129a80390373e196b4d8ec6ac0a58bac8aa0fc0e804)
    • zip (sha256: 3e6cc64e0c960c3c1d1197d46cdd49ddf1932c2c9eba0281ad1232b2c7fc32f2)

Breaking Changes

  • The Development option --Xp2p-minimum-subnet-subscriptions has been removed and will no longer be recognised as a command line option.
  • If running separated Beacon Node and Validator node it is required to upgrade Beacon Node first and then Validator Node. A Validator Node running this release won't start if connecting to an older Beacon Node version.

Known issues

  • When switching an existing database to minimal mode, teku can become unresponsive. It will recover after cleaning up the old blocks, but this can take a period of time (an hour or so). If you wish to switch to minimal mode, consider re-initialising the database (delete beacon db and restart from a checkpoint sync) to avoid an outage.

Additions and Improvements

  • Default storage mode has been changed from prune to minimal. Existing prune mode databases will need to explicitly set --data-storage-mode=minimal if they wish to switch to minimal data storage. Nodes starting with empty database will activate in minimal mode unless a different value is set via--data-storage-mode.
  • Update attestation subnet subscriptions strategy according to the spec changes. All nodes (including non-validating ones) will subscribe to 2 subnets regardless of the number of validators.
  • Added /eth/v1/validator/{pubkey}/voluntary_exit Validator API endpoint
  • Add support for Holesky test network --network=holesky
  • Add support for gzip encoding in REST API

Bug Fixes

  • Fixed a bug in network configuration loader which was ignoring MIN_EPOCHS_FOR_BLOCK_REQUESTS parameter.
  • Fixed a bug causing proposer config refresh feature to stop reloading the configuration.

Upcoming Breaking Changes

23.8.0

03 Aug 16:30
8882b2f
Compare
Choose a tag to compare

This is a recommended update containing few memory allocation optimizations. It also includes a move to Java 17 as the minimum supported Java version.

Downloads

  • Available as 23.8.0 on Dockerhub
  • Download the binary distribution:
    • tar.gz (sha256: 55b7c54aa21d0e31eb661f0e6734ab1214c34ce7d0fa7c45e6fb2ce3146636e9)
    • zip (sha256: 63536d689c51a1fd1ff9a535ef0e431d8bd943d0fa6321a86cfdf19673620f08)

Breaking Changes

  • Upgrading the minimum Java version to Java 17, which means users will need to upgrade their Java installation to at least Java 17. The docker versions relying on jdk16 will no longer be published, so docker users explicitly referencing the jdk16 build need to update their package to reference jdk17, as tags develop-jdk16, develop-jdk16-arm64, latest-jdk16 will no longer be updated.
  • Users who make heavy use of API calls to fetch non finalized states data other than head may wish to adjust the states-cache if they see excessive regeneration of state messages. This can be accomplished via the --Xstore-state-cache-size, which previously defaulted to 160.

Additions and Improvements

  • Introduce --exchange-capabilities-monitoring-enabled parameter. If enabled, EL will be queried periodically for the Engine API methods it supports. If incompatibility is detected, a warning is raised in the logs. The default is true.
  • Add support for Lukso network --network=lukso
  • The development option --Xfork-choice-update-head-on-block-import-enabled was changed to default to false to ensure fork-choice is run when new blocks arrive.
  • The default state-cache size has been changed to 8 (previously 160), and there is now an epoch-states-cache, which defaults to a maximum of 6 elements.

Bug Fixes

  • Fixed a possibility of an overflow error when calculating validator duties if the number of active validators is >1M.

Upcoming Breaking Changes