Releases: Consensys/teku
25.9.0
This is an optional update containing bug fixes and improvements.
KNOWN ISSUE
We have identified an issue where Teku isn't able to follow the network after upgrading to 25.9.0. Further information is available at https://hackmd.io/@teku/B1lVi-Scxg . If you are on a debian/ubuntu system with grafana installed, this is likely to affect you. Consider deferring installing until 25.9.1 is available.
If this issue does affect you, you should downgrade to 25.7.1 until 25.9.1 is available.
Downloads
- Available as
25.9.0on Dockerhub - Download the binary distribution:
Breaking Changes
N/A
Additions and Improvements
- Enabled, by default, a new attestation pool implementation that improves the attestation packing during block and aggregation production. It can still be disabled by setting
--Xaggregating-attestation-pool-v2-enabled=falseif needed - Added
--p2p-discovery-bootnodes-urlCLI option. - Updated
LUKSOconfiguration with Electra fork scheduled for epoch190800(September 17th, 2025, 16:20:00 UTC) - Avoid builder validator registration calls, potentially delaying block production builder calls.
- Removed
TTFB_TIMEOUTandRESP_TIMEOUTfrom the default network configurations in line with ethereum/consensus-specs#4532
Bug Fixes
- Limited the allowed time to wait for fork choice before proceeding with attestation duties, and added a development flag to adjust the timing if required.
- Allowed voluntary exits to be periodically re-broadcast if they have been submitted locally and they have been in the queue for a long time (2 hours).
Upcoming Breaking Changes
GOSSIP_MAX_SIZE,MAX_CHUNK_SIZE,TTFB_TIMEOUT, andRESP_TIMEOUTconfiguration variables will NOT be supported after the Fusaka Mainnet release. These variables should be removed from any custom network configs.
25.7.1
This is an optional update containing bug fixes and improvements.
Downloads
- Available as
25.7.1on Dockerhub - Download the binary distribution:
Breaking Changes
- Removed
--validators-proposer-blinded-blocks-enabledunused option. This option is not used anymore and should be removed from any config
Additions and Improvements
- Increase the default gas limit (
--validators-builder-registration-default-gas-limit) to 45 million
Bug Fixes
- Fix a regression introduced in the previous release causing a validator client configured with sentry nodes to not work properly
Upcoming Breaking Changes
N/A
25.6.0
This release introduced a regression on validator clients using a sentry configuration (sentry-config-file).
Roll back to 25.5.0 if you are affected.
This is a recommended update containing bug fixes and performance improvements.
Downloads
- Available as
25.6.0on Dockerhub - Download the binary distribution:
Breaking Changes
- Previous versions of Teku will not be able to read the configuration from this version of Teku (including VC) due to the defaulting of BPO configuration to an empty list.
Additions and Improvements
- Added
/eth/v1/beacon/states/{state_id}/validator_identitiesendpoint to allow querying of validator identities. - Several improvements on how validator client handles multiple beacon nodes:
- reduced timeout for beacon node API calls down to 10 seconds
- improved handling of unresponsive\unreachable beacon nodes.
- dedicated thread pools for beacon node API calls
Bug Fixes
- Fixed validator client missing duties when secondary beacon nodes are not responsive. Happens only for validator clients configured with multiple
--beacon-node-api-endpoints.
Upcoming Breaking Changes
- The
--validators-proposer-blinded-blocks-enabledis deprecated and will be removed. It's not used anymore and should be removed from any configs.
25.5.0
This is a recommended update containing bug fixes and performance improvements.
Downloads
- Available as
25.5.0on Dockerhub - Download the binary distribution:
Breaking Changes
- Previous versions of Teku will not be able to read the configuration from this version of Teku (including VC) due to the addition of BPO configuration.
Additions and Improvements
- Added
--p2p-static-peers-urloption to read static peers from a URL or file - Added node epoch and computed slot to the sync committee duties failure message for more context about the failure condition.
- Updated third-party libraries.
- Added an info message on startup for the highest supported milestone and associated epoch.
- Added JDK 24 docker image build.
- Reduced block building time at the first slot of an epoch when a large number of validators are configured.
- Improved configuration loading to utilise built-in configurations and default any necessary fields that were missing from a passed-in configuration.
- Added
/teku/v1/admin/add_peerendpoint to allow adding static peers via the REST API.
Bug Fixes
- Added an error if the genesis state has invalid data in its latest block header.
Upcoming Breaking Changes
N/A
25.4.1
This is a required update for Mainnet, Gnosis, and all electra enabled networks.
Mainnet Electra activation will happen at epoch 364032 (May 7, 2025, 10:05:11am UTC).
Gnosis Electra activation will happen at epoch 1337856 (April 30, 2025, 14:03:40 UTC).
Downloads
- Available as
25.4.1on Dockerhub - Download the binary distribution:
Breaking Changes
- It is no longer possible to set both
--checkpoint-sync-urland--initial-state. If your node fails to start after upgrade, ensure that only one of these is set.
Additions and Improvements
- Updated Teku bootnode ENR on Sepolia and Mainnet
- Scheduled Electra for Mainnet at epoch 364032 (May 7, 2025, 10:05:11am UTC)
- Scheduled Electra for Gnosis at epoch 1337856 (April 30, 2025, 14:03:40 UTC)
- Third party library updates.
Bug Fixes
- It is no longer possible to set both
--checkpoint-sync-urland--initial-state. - Aggregating attestations using DVT does not cause missed aggregations when multiple validators are
scheduled for the same slot #9347.
Upcoming Breaking Changes
N/A
25.4.0
This is an optional update for Mainnet users.
It is a recommended update containing bug fixes and performance improvements for all Testnets (already running on Electra).
Downloads
- Available as
25.4.0on Dockerhub - Download the binary distribution:
Breaking Changes
N/A
Additions and Improvements
- Increased the attestation queue size limits.
- updated graffiti watermarking to put the EL first and shrink the max size.
- Increased the minimum thread count for batch signature verification to 4. If you are on less than a 4 cpu instance, you can override this back to default by using
--Xp2p-batch-verify-signatures-max-threads=2 - Increased the queue size limit for batch signature verification to 30000.
- Introduced new metric
validator_teku_version_totalwhich tracks the Teku version in use when running a standalone VC - Added bootnode-only mode
- Validator duty metrics now are enabled by default
Bug Fixes
- Fix for post-Electra attestation aggregation
Upcoming Breaking Changes
N/A
25.3.0
This is a required update to run Hoodi testnet. Optional for other networks.
Downloads
- Available as
25.3.0on Dockerhub - Download the binary distribution:
Breaking Changes
--loggingCLI option has been modified to specify only the logging level of Teku classes and
related dependencies (discovery, lipb2p). Logging level of other 3rd party dependencies can still be
changed either via log4j configuration file
or via API at runtime.
Additions and Improvements
- Added beacon-api
/eth/v1/beacon/states/{state_id}/pending_partial_withdrawalsendpoint for use post-electra. - Added beacon-api
/eth/v1/beacon/states/{state_id}/pending_depositsendpoint for use post-electra. - Added beacon-api
/eth/v1/beacon/states/{state_id}/pending_consolidationsendpoint for use post-electra. - Added Chiado Electra configuration due at Mar-06-2025 09:43:40 GMT+0000
- Removed stack trace by default from duty failure messages.
- Holesky pectra bad block ignored to aid syncing
- Added a development flag to increase the maximum pending queue for attestations.
- Added support for Hoodi testnet.
Bug Fixes
- Added 415 response code for beacon-api
/eth/v1/validator/register_validator. - Accept HTTP headers in a case-insensitive manner (RFC 7230)
- Increased the attestation queue size limits.
Upcoming Breaking Changes
N/A
25.2.0
This is an optional update for Mainnet nodes, containing improvements to the client.
This is a required update for nodes running on Holesky or Sepolia network as it contains the configuration for the Electra hard fork.
Downloads
- Available as
25.2.0on Dockerhub - Download the binary distribution:
Breaking Changes
- Removed
MAX_CHUNK_SIZEfrom network global configurations, which will mean older clients will not get it from newer versions of Teku.
Additions and Improvements
- Applied spec change to alter
GOSSIP_MAX_SIZEtoMAX_PAYLOAD_SIZE. MAX_PAYLOAD_SIZEis now used instead ofMAX_CHUNK_SIZE.- Updated 3rd party products to latest versions.
- Add SSZ support to validator registration via Builder API.
- Deprecated beacon-api
/eth/v1/config/deposit_contract- will be removed after electra, in the fulu timeframe. - Deprecated beacon-api
/teku/v1/beacon/pool/deposits- will be removed after electra, in the fulu timeframe.
Bug Fixes
N/A
Upcoming Breaking Changes
N/A
25.1.0
This is an optional update containing upgrades to metrics and other improvements.
Downloads
- Available as
25.1.0on Dockerhub - Download the binary distribution:
Breaking Changes
--Xvalidators-builder-registration-default-gas-limitCLI option has been replaced by--validators-builder-registration-default-gas-limit--Xp2p-sync-rate-limitCLI option has been replaced by--Xp2p-sync-blocks-rate-limitand--Xp2p-sync-blob-sidecars-rate-limit--Xpeer-rate-limitCLI options has been replaced by--Xpeer-blocks-rate-limitand--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
--versioncommand 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.1on 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/specAPI 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.