Releases: Consensys/teku
25.1.0
This is an optional update containing upgrades to metrics and other improvements.
Downloads
- Available as
25.1.0
on Dockerhub - Download the binary distribution:
Breaking Changes
--Xvalidators-builder-registration-default-gas-limit
CLI option has been replaced by--validators-builder-registration-default-gas-limit
--Xp2p-sync-rate-limit
CLI option has been replaced by--Xp2p-sync-blocks-rate-limit
and--Xp2p-sync-blob-sidecars-rate-limit
--Xpeer-rate-limit
CLI options has been replaced by--Xpeer-blocks-rate-limit
and--Xpeer-blob-sidecars-rate-limit
With the upgrade of the Prometheus java metrics library, there are the following changes:
Gauge names are not allowed to end with total, therefore metrics as beacon_proposers_data_total and beacon_eth1_current_period_votes_total are dropping the _total
suffix.
The _created
timestamps are not returned by default.
Some JVM metrics have changed name to adhere to the OTEL standard (see the table below), Teku Detailed Dashboard is updated to support both names.
Old Name | New Name |
---|---|
jvm_memory_bytes_committed | jvm_memory_committed_bytes |
jvm_memory_bytes_init | jvm_memory_init_bytes |
jvm_memory_bytes_max | jvm_memory_max_bytes |
jvm_memory_bytes_used | jvm_memory_used_bytes |
jvm_memory_pool_bytes_committed | jvm_memory_pool_committed_bytes |
jvm_memory_pool_bytes_init | jvm_memory_pool_init_bytes |
jvm_memory_pool_bytes_max | jvm_memory_pool_max_bytes |
jvm_memory_pool_bytes_used | jvm_memory_pool_used_bytes |
The Teku - Detailed grafana dashboard has been updated to use the new metrics.
Additions and Improvements
- Default the gas limit to 36 million for externally produced blocks
- Optimized blobs validation pipeline
- Remove delay when fetching blobs from the local EL on block arrival
- New validator metric validator_next_attestation_slot to highlight the next slot that a validator is expected to publish an attestation
- Added support for SSZ format in builder API (mev-boost)
- Added the expected gas limit to the 'not honouring the validator gas limit preference' warning message.
- Implemented the ability to have fork based ascii art.
Bug Fixes
- Fixed
--version
command output - Fixed issue introduced in 24.12.1 with peer stability when the upper bound is set to a high number
24.12.1
This is a recommended update containing bug fixes
Downloads
- Available as
24.12.1
on Dockerhub - Download the binary distribution:
Breaking Changes
N/A
Additions and Improvements
N/A
Bug Fixes
- Updated the gas change check for block building so that warnings only get raised if the change is off spec.
- Fixed an issue with the
/eth/v1/config/spec
API not returning all previously included configuration parameters. - Increase the maximum size of a compressed message for libp2p to ensure uncompressed blocks can grow to max size.
Upcoming Breaking Changes
- Some metric names will change in our 25.1.0 release. Keep an eye for a detailed docs page with the affected metrics and a new version of Teku Detailed grafana dashboard.
24.12.0
This is a recommended update containing bug fixes and security updates.
Downloads
- Available as
24.12.0
on Dockerhub - Download the binary distribution:
Breaking Changes
N/A
Additions and Improvements
- Improved block publishing performance, especially relevant with locally produced blocks
- Delayed blob publishing until the block is published to at least 1 peer, especially relevant with locally produced blocks with low upload bandwidth connections. Can be disabled via
--Xp2p-gossip-blobs-after-block-enabled=false
Bug Fixes
- Added a startup script for unix systems to ensure that when jemalloc is installed the script sets the LD_PRELOAD environment variable to the use the jemalloc library
- Set
is_syncing
tofalse
instead oftrue
for the/eth/v1/node/syncing
API endpoint when the head is optimistic and the sync distance is 0 - Fix libp2p direct peers handling
- Added check for gossip message maximum uncompressed size
Upcoming Breaking Changes
- Some metric names will change in our 25.1.0 release. Keep an eye for a detailed docs page with the affected metrics and a new version of Teku Detailed grafana dashboard.
24.10.3
This is a recommended update with bug fixes and networking improvements.
Mekong Testnet
Note: this is the only version of Teku that supports the Mekong testnet (https://mekong.ethpandaops.io/).
Due to a bug this version does NOT support Mekong anymore, please use the mekong
branch (https://github.com/Consensys/teku/tree/mekong) building it from source (more info can be found here)
Downloads
- Available as
24.10.3
on Dockerhub - Download the binary distribution:
Breaking Changes
N/A
Additions and Improvements
- Clean up old beacon states when switching from ARCHIVE to PRUNE or MINIMAL data storage mode
- Upgrade to jvm-libp2p 1.2.1 which brings:
- message publishing over gossipsub improvements (addresses
Failed to publish * because no peers were available on the required gossip topic
) - IDONTWANT control message usage improvements
- message publishing over gossipsub improvements (addresses
- Improved block production API compatibility with DVT software (i.e. SSV)
Bug Fixes
- Fixed a block production issue for Validator Client (24.10.0 to 24.10.2 Teku VC), where required headers were not provided for JSON payloads. Default SSZ block production was unaffected.
- Block production now uses json data (more like 24.8.0 did than 24.10) if the Eth-Consensus-version header is absent.
Upcoming Breaking Changes
N/A
24.10.2
This release is a hotfix to address an issue affecting Windows users using versions 24.10.0 and 24.10.1 that was preventing Teku from starting up.
Downloads
- Available as
24.10.2
on Dockerhub - Download the binary distribution:
Breaking Changes
- Renamed metrics
validator_attestation_publication_delay
,validator_block_publication_delay
andbeacon_block_import_delay_counter
to include the suffix_total
added by the current version of prometheus.
Additions and Improvements
N/A
Bug Fixes
- Windows startup issue.
Upcoming Breaking Changes
N/A
24.10.1
KNOWN ISSUE
This release is not compatible with Windows. Teku will fail to start on Windows.
Workaround: manually delete the file jc-kzg-4844-1.0.0.jar
located under the teku/lib
directory and restart Teku.
This release is a hotfix to address an issue introduced in version 24.10.0 that was preventing Teku from starting up when using the --validators-proposer-config
configuration option.
Downloads
- Available as
24.10.1
on Dockerhub - Download the binary distribution:
Breaking Changes
- Renamed metrics
validator_attestation_publication_delay
,validator_block_publication_delay
andbeacon_block_import_delay_counter
to include the suffix_total
added by the current version of prometheus.
Additions and Improvements
N/A
Bug Fixes
- Fix startup issue when using
--validators-proposer-config
configuration option.
Upcoming Breaking Changes
N/A
24.10.0
KNOWN ISSUE
This release has an issue for users that have --validators-proposer-config
loading their proposer configuration file. Users with a configured proposer config file should not install this release.
This release is also not compatible with Windows. Teku will fail to start on Windows.
This issue is resolved in 24.10.1
Summary
This is a recommended update containing blobs handling and networking improvements.
Downloads
- Available as
24.10.0
on Dockerhub - Download the binary distribution:
Breaking Changes
- Renamed metrics
validator_attestation_publication_delay
,validator_block_publication_delay
andbeacon_block_import_delay_counter
to include the suffix_total
added by the current version of prometheus.
Additions and Improvements
- Removed the deprecated GetBlindedBlock
- Removed the deprecated GetBlockV2
- Implemented PostAggregateAndProofsV2 (adding support for Electra)
- Added support for Ephemery Testnet
--network=ephemery
- Updated bootnodes for Holesky network
- Disabled flood publish behaviour on all p2p subnets.
--Xp2p-flood-publish-enabled
experimental parameter can be used to re-enable it, restoring previous behaviour. - Add a fix for CVE-2024-7254
- Updated LUKSO configuration with Deneb fork scheduled for epoch 123075 (November 20, 2024, 16:20:00 UTC)
- Support for
IDONTWANT
libp2p protocol messages /eth/v1/node/peers
endpoint now populatesenr
field of the peer whenever is possible- Support for
engine_getBlobsV1
to retrieve blobs using local execution layer. This will improve block import time when blobs are published late.
Bug Fixes
- Removed a warning from logs about non blinded blocks being requested (#8562)
- Fixed
blockImportCompleted
log message timing #8653
Upcoming Breaking Changes
N/A
24.8.0
This is a recommended update requiring at least Java 21.
Attention: Check that Java 21 is installed prior to upgrade to minimise downtime during your upgrade.
Downloads
- Available as
24.8.0
on Dockerhub - Download the binary distribution:
Breaking Changes
- Updated counter metrics to incorporate the suffix
_total
. If you are using a custom dashboard to monitor Teku metrics, you might need to update the metrics manually when breaking changes are introduced. For more information, see Update metrics. - Java 21+ is required to be installed to run Teku. Refer to https://docs.teku.consensys.io/get-started/install for the updated instructions.
Additions and Improvements
- Added support for dual-stack (IPv4/IPv6) for discovery and p2p. Refer to https://docs.teku.consensys.io/development/how-to/find-and-connect/configure-ipv6 for more details.
- Added a state pruner that can limit the number of finalized states stored when running an archive node.
- Updated bootnodes for Sepolia network.
- Implemented GetBlockAttestationV2 (adding support for Electra attestations)
- Implemented GetAttestationsV2 (adding support for Electra attestations)
- Implemented GetAggregateAttestationV2 (adding support for Electra attestations)
- Implemented GetAttesterSlashingV2 (adding support for Electra attestations)
- Updated a number of parameters to reduce issues when using
p2p-subscribe-all-subnets-enabled
. If you have adjusted queue sizes manually when using all-subnets, please refer to details below. Manual settings will still override these defaults. - When
p2p-subscribe-all-subnets-enabled
,p2p-peer-lower-bound
now defaults to 60 (previously 64), andp2p-peer-upper-bound
now defaults to 80 (previously 100). - When
p2p-subscribe-all-subnets-enabled
, (Xnetwork-async-p2p-max-queue
,Xnetwork-async-beaconchain-max-queue
,Xp2p-batch-verify-signatures-queue-capacity
) now default to 40_000 (previously 10_000) - When
p2p-subscribe-all-subnets-enabled
,Xvalidator-executor-max-queue-size
now defaults to 60_000 (previously 40_000). - Enabled GetNewBlockV3 by default.
Bug Fixes
N/A
Upcoming Breaking Changes
N/A
24.6.1
This is an optional update containing a fix of a bug found on 24.6.0. It is only applicable to users who experience a failure on startup.
Downloads
- Available as
24.6.1
on Dockerhub - Download the binary distribution:
Current Releases
For information on changes in released versions of Teku, see the releases page.
Breaking Changes
Additions and Improvements
Bug Fixes
- Fixed an issue from version 24.6.0 where Teku failed to start on machines with directly assigned public IP addresses (not running under NAT), displaying the error message:
Teku failed to start: java.io.UncheckedIOException: java.net.UnknownHostException: Unable to determine local IPvx Address
Upcoming Breaking Changes
- Next release will introduce a breaking change to Teku's metrics. This is due to some metrics changing names after a library upgrade.
We recommend all users of theTeku - Detailed
dashboard to upgrade to version Revision 12
as soon as possible. Documentation with all metrics that have been renamed will be provided. - Next release will require Java 21. The current release is compatible, please consider upgrading before the next release.
- From the next release, you will need to explicitly set
--data-storage-mode=(prune|archive)
unless you're using minimal data-storage-mode (which is the default behaviour).
24.6.0
This is a recommended update with with performance improvements and bug fixes.
Downloads
- Available as
24.6.0
on Dockerhub - Download the binary distribution:
Current Releases
For information on changes in released versions of Teku, see
the releases page.
Breaking Changes
- Renamed
--Xp2p-dumps-to-file-enabled
hidden CLI option to--Xdebug-data-dumping-enabled
Additions and Improvements
- Added metadata fields to
/eth/v1/beacon/blob_sidecars/{block_id}
Beacon API response as per ethereum/beacon-APIs#441 - Added rest api endpoint
/teku/v1/beacon/state/finalized/slot/before/{slot}
to return the slot of the most recently stored state at or before the specified slot. - The validator client will start using the
v2
variant of the beacon node block publishing
endpoints. In the cases where the block has been produced in the same beacon node, only equivocation validation will be done instead of the entire gossip validation. - Docker images are now based on ubuntu 24.04 LTS (noble)
- The
teku vc
subcommand fails when no validator key source is provided. In order to run a validator client, one of the following options must be set:
--validator-keys
,--validators-external-signer-url
or--validator-api-enabled
- Updated dependencies.
Bug Fixes
- Fixed performance degradation introduced in 24.4.0 regarding archive state retrieval time.
- Fixed file writer when storing database mode settings to file (related to #8357).
Upcoming Breaking Changes
- Next release will introduce a breaking change to Teku's metrics. This is due to some metrics changing names after a library upgrade.
We recommend all users of theTeku - Detailed
dashboard to upgrade to version Revision 12
as soon as possible. Documentation with all metrics that have been renamed will be provided. - Next release will require Java 21. The current release is compatible, please consider upgrading before the next release.
- From the next release, you will need to explicitly set
--data-storage-mode=(prune|archive)
unless you're using minimal data-storage-mode (which is the default behaviour).