Releases: Consensys/teku
22.7.0
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:
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
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:
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
This is a recommended upgrade with configuration updates and optimisations.
Downloads
- Available as
22.6.0
on Dockerhub - Download the binary distribution:
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
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 theAccept
header or useAccept: application/json
.
Downloads
- Available as
22.5.2
on Dockerhub - Download the binary distribution:
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
This is an optional upgrade that includes support for Ropsten and optimisations.
Downloads
- Available as
22.5.1
on Dockerhub - Download the binary distribution:
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 theAccept: 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
This is an optional upgrade that includes various improvements and bug fixes.
Downloads
- Available as
22.5.0
on Dockerhub - Download the binary distribution:
Breaking Changes
- For Bellatrix fork and later, Teku now sends
block_header
instead ofblock
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 theAccept: 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
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:
Breaking Changes
- The
/eth/v1/node/peers
endpoint had fieldaddress
indata
object, which is not correct according to the spec, changed tolast_seen_p2p_address
. Alsometa
object withcount
added - The
/eth/v1/node/peers/{peer_id}
endpoint had fieldaddress
indata
object, which is not correct according to the spec, changed tolast_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 theAccept: 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
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:
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 theAccept: 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
This is an optional upgrade containing new features and optimisations.
Downloads
- Available as
22.3.1
on Dockerhub - Download the binary distribution:
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 ablock
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 theAccept: 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
This is an optional upgrade containing new features, bug fixes and optimisations.
Downloads
- Available as
22.3.0
on Dockerhub - Download the binary distribution:
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 thebody_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 theAccept: 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