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:
- 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.
- 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-recipientremoved (#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-endpointflag 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-runfor 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_dkgbetween epoch-manager hints and gap repair (#3700). - Supply-chain hardening for releases (#3804, #3536): SLSA build provenance, SBOM attestation, bare-binary checksums,
--lockedbuilds, and the foundation for byte-deterministic reproducible builds.tempoupnow verifies the archive checksum, GPG signature, and SLSA provenance on every install — pass--unsafe-skip-verifyto downgrade tool-availability failures to warnings (cryptographic failures still abort regardless of the flag). The README documents two independent verification paths (offlinesha256sum -c+gpg --verify, orgh 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_contextwithepoch,view,parent_view, and Ed25519proposer; 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_hardforkon provider (#3655);TempoAddressExthelpers (#3637); nonce filler cache controls (#3634). - Precompile surface:
Set<T>overflow protection (#3574); newU96storage primitive (#3734).
Full Changelog: v1.6.0...v1.7.0