github tempoxyz/tempo v1.7.0
Release v1.7.0 — T4 Network Upgrade

2 hours ago

Important

This release is required for the T4 network upgrade scheduled for testnet and mainnet. Node operators must update their nodes, otherwise your nodes will fall out of sync with the network. T4 embeds consensus context into block headers and ships a coordinated bundle of audit-driven correctness fixes.

Update Priority

User Class Priority
Validators High
RPC Nodes High

Nodes that are not updated will fall out of sync at the T4 activation timestamp.

Activation Times

Network Date Timestamp
Moderato (testnet) May 14th 2026 16:00 CEST 1778767200
Presto (mainnet) May 18th 2026 16:00 CEST 1779112800

TIPs included with T4

The T4 network upgrade includes:

  1. TIP-1031: Embed Consensus Context in the Block Header — writes consensus metadata (notably the ed25519 proposer key) directly into the block header. This is a prerequisite for deferred verification (optimistic notarization with async verification). It also allows operators to easily identify when their node’s proposal landed on the chain and was finalized.
  2. TIP-1046: T4 Hardfork Meta TIP — Bundle of audit-driven correctness and gas-pricing fixes coordinated under T4 (DEX, TIP-20, scoped key-auth, packed-struct stores, subblocks metadata, call scopes).

This release contains breaking changes for node operators and developers — please read the release notes carefully and upgrade your SDK versions to the T4 compatible versions.


Operators

Breaking changes

  • --consensus.fee-recipient removed (#3817): The CLI flag was removed. Fee recipients are configured exclusively via the V2 smart contract. Remove the flag from your run scripts before upgrading.

What’s changed

  • Default bootnodes endpoint per chain (#3664): Builds on the --tempo.bootnodes-endpoint flag and the curated peer lists announced in v1.6.0 — the endpoint is now wired in by default per chain (mainnet → https://peers.tempo.xyz, testnet → https://testnet-peers.tempo.xyz/). Operators no longer need to set the flag manually to get faster, more reliable peer discovery.
  • --dry-run for consensus CLI commands (#3710): Prints transaction details without sending.
  • Sync stability: drain CL→EL backfill before sending newer FCUs to prevent pipeline-sync regressions on restart with a CL/EL gap (#3744); treat future timestamps as transient (#3721); race-condition fix in fast_sync_after_full_dkg between epoch-manager hints and gap repair (#3700).
  • Supply-chain hardening for releases (#3804, #3536): SLSA build provenance, SBOM attestation, bare-binary checksums, --locked builds, and the foundation for byte-deterministic reproducible builds. tempoup now verifies the archive checksum, GPG signature, and SLSA provenance on every install — pass --unsafe-skip-verify to downgrade tool-availability failures to warnings (cryptographic failures still abort regardless of the flag). The README documents two independent verification paths (offline sha256sum -c + gpg --verify, or gh attestation verify).

Developers

Compatible tooling versions

Package Version Notes
tempo-alloy (Rust) 1.7.0 Consensus-context block header support, nonce-key tx count helper
tempo-primitives (Rust) 1.7.0 TIP-1031 Context field on TempoHeader, T4 hardfork constants
tempo-contracts (Rust) 1.7.0 T4 precompile bindings
foundry (Foundry) nightly T4 hardfork-aware decoding

What’s changed

  • Consensus context in block headers: Post-T4 block headers include consensus_context with epoch, view, parent_view, and Ed25519 proposer; indexers can index the new field for more proposer metadata. (#3254, #3092)
  • Reth updated to the latest upstream main snapshot as of May 5th 2026.
  • Commonware bumped (#3697) and application actor adapted accordingly.
  • Alloy SDK helpers: nonce-key transaction count helper (#3726); is_active_hardfork on provider (#3655); TempoAddressExt helpers (#3637); nonce filler cache controls (#3634).
  • Precompile surface: Set<T> overflow protection (#3574); new U96 storage primitive (#3734).

Full Changelog: v1.6.0...v1.7.0

Don't miss a new tempo release

NewReleases is sending notifications on new releases.