github tempoxyz/tempo v1.11.0
Release v1.11.0

2 hours ago

Important

This release is required for the T8 network upgrade scheduled for testnet on July 27, 2026 16:00 CEST (1785160800) and mainnet on July 30, 2026 16:00 CEST (1785420000). Node operators must update before activation or their nodes will fall out of sync. T8 activates versioned StablecoinDEX order storage, FeeAMM policy changes, current-committee persistence, and the final phase of TIP-20 reward deprecation.

Update Priority

User Class Priority
Validators High
RPC Nodes High

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

Activation Times

Network Date Timestamp
Testnet July 27, 2026 16:00 CEST (14:00 UTC) 1785160800
Mainnet July 30, 2026 16:00 CEST (14:00 UTC) 1785420000

TIPs included with T8

The T8 network upgrade includes:

  1. TIP-1042 FeeAMM TIP-403 Policy Exemptions: Fee collection checks the fee payer as an authorized sender without requiring the FeeManager to be an authorized recipient. Public FeeAMM operations retain policy enforcement, with explicit authorization requirements for liquidity providers and recipients on mint and burn. Existing pools are grandfathered and are not revalidated or migrated at activation.
  2. TIP-1062 Versioned DEX Order Storage: Introduces version-dispatched StablecoinDEX order storage. Legacy version-0 orders remain readable, while T8 writes compact version-1 records that reduce an order from six storage slots to four. Post-T8 flip-order rewrites migrate the rewritten record through the versioned storage path.
  3. TIP-1070 Current Committee State: Activates the CurrentCommittee precompile at 0xC077E00000000000000000000000000000000000. An epoch-boundary system call persists the committee selected by the finalized DKG outcome, including the fallback outcome when DKG does not complete, so contracts can read the committee that is actually effective for consensus.
  4. TIP-1075 Deprecate TIP-20 Rewards: Completes the two-stage reward shutdown begun at T7. After T8, transfers, mints, burns, fee refunds, and other balance-changing paths stop checkpointing reward accumulators. Rewards settled before T8 remain claimable indefinitely; lazy rewards that were not checkpointed before activation are forfeited.
  5. TIP-1087 V2 DEX Order Storage with Book Indexes: Adds version-2 orders that replace the repeated 32-byte book key with a compact index, reducing indexed orders from four slots to three. New orderbooks persist their index automatically. Pre-existing orderbooks remain functional with version-1 writes until their index is supplied by off-chain migration tooling through the new setBookIndex API.

Breaking Changes

  • Consensus-breaking upgrade: T8 changes protocol state-transition rules. Nodes that do not run this release before activation will reject or produce invalid blocks after the T8 timestamp.
  • TIP-20 pending reward behavior changes: T8 disables reward-accumulator updates on ordinary balance changes. Only reward balances settled before activation remain claimable; integrations must not rely on a post-T8 transfer to checkpoint older lazy accruals.
  • StablecoinDEX now contains mixed order layouts: Readers and writers must use the versioned order-storage abstraction. Direct assumptions about the legacy six-slot order layout are invalid for T8-created orders, and unknown versions must be rejected.
  • DEX index migration is off-chain assisted: Existing orderbooks are not scanned or migrated automatically. They continue writing version-1 orders until setBookIndex(uint32) records a verified index; tooling may also use bookIndexForKey(bytes32) and bookKeyForIndex(uint32).
  • FeeAMM policy authorization changes: Fee collection no longer checks FeeManager recipient authorization, while T8 liquidity mint and burn paths enforce the TIP-1042 participant checks. Existing pools are not revalidated.
  • New reserved precompile surface: The CurrentCommittee precompile becomes active at 0xC077E00000000000000000000000000000000000. Tooling and contracts must treat this address as reserved protocol space.
  • Consensus snapshot archive layout changed: Snapshot manifests are written at the archive root instead of under consensus/. Snapshot producers and consumers that depend on the old prefix must be updated.

Operators

What's Changed

  • T8 activation schedule (#6866, #6888): Adds the T8 chainspec configuration and schedules activation for July 27 on testnet and July 30 on mainnet.
  • Consensus-enabled snapshot startup (#6536, #6714, #6796): When a snapshot includes consensus certificates, starts fresh nodes from its smallest certified height; otherwise the existing execution-finalized fallback remains in place. This also relaxes archive contents to hash/size and safe-unpack constraints, moves the manifest to the archive root, adds certification-anchor recovery scenarios, and passes --force through to the wrapped Reth download command.
  • CL-to-EL backfill and startup floors (#6517, #6723, #6872): Simplifies the DKG/executor startup path, backfills CL blocks to the finalized floor before the main executor loop, treats an unfillable archive backfill as a hard error, and preserves a nonzero marshal startup floor across restarts.
  • Execution/consensus reconciliation (#6790, #6801): Makes hybrid gap tracking aware of the Reth finalized watermark and permits EL to be ahead of CL when the overlapping finalized block hashes agree, avoiding unnecessary rewinds while still rejecting inconsistent state.
  • Finalized archive observability (#6775): Reports the contents of the finalized block archive to make snapshot and recovery state easier to diagnose.
  • DKG correctness and diagnostics (#6809, #6834): Corrects invalid dealer-log diagnostics and preserves first-write-wins finalized dealer logs while filling incomplete caches, keeping validators on the same DKG input.
  • Consensus proposal metrics (#6831): Counts canonical self-proposals even when EL is already at or ahead of the CL finalized block.
  • Regenesis validator-state safety (#6599, #6745, #6820): Synchronizes ValidatorConfigV2 during regenesis, fully replaces its block-0 current and historical state when validator counts change, streams large changesets to avoid OOMs, and fixes a process-seed-dependent static-file provider self-deadlock.
  • Follower reliability (#6392, #6754, #6783): Enforces websocket upstreams, adds keepalive pings and reconnect behavior, and uses a follower-specific executor that verifies finalizations, advances the marshal, and maintains a one-epoch sync window.
  • Consensus operations and tooling (#6229, #6545, #6633, #6678): Lowers noisy cut-short event logs, defines a three-epoch --minimal sync window, moves identity transitions from node RPC to an xtask, and exercises strict-startup behavior in end-to-end testing.
  • Hardware telemetry (#6814): Exposes a static anonymized hardware metric covering CPU, core count, memory, and filesystem types while omitting disk names and mount sources.
  • Reth and Alloy updates (#6797, #6878): Updates the pinned Reth revision and Alloy core dependencies used by the node.

Developers

SDK Crate Versions

Package Version Notes
tempo-alloy 1.10.1 Published since the previous binary release.
tempo-primitives 1.10.1 Published since the previous binary release.
tempo-contracts 1.10.1 Includes T8 ABI/address surfaces.
tempo-chainspec 1.10.1 Includes the standalone hardfork dependency.
tempo-hardfork 1.10.1 New crate for Tempo hardfork identifiers and activation schedules.

T8 Protocol Changes

  • FeeAMM TIP-403 policy exemptions (#6604, #6605, #6808): Implements TIP-1042's T8 fee-collection exemption, adds the liquidity lifecycle authorization gates, updates txpool policy invalidation to stop tracking the exempt FeeManager recipient side, and documents that existing pools are grandfathered.
  • Versioned StablecoinDEX order storage (#4075, #6546): Adds version detection and dispatch for legacy and compact order layouts, routes reads and mutations through the storage abstraction, and safely rewrites filled flip orders into the active T8 format.
  • V2 indexed DEX orders (#6682, #6691, #6767): Adds compact bookIndex storage, the orderbook index migration/read ABI, and mixed V0/V1/V2 linked-list handling. Unindexed legacy books deliberately fall back to V1.
  • Current committee persistence (#5215, #6209, #6819): Adds the ICurrentCommittee ABI and T8 precompile, persists the DKG outcome at epoch boundaries, and disables TIP-1060 accounting for system-only committee writes so committee shrink/regrowth cannot leave storage credits behind.
  • TIP-20 rewards final shutdown (#5433): Stops reward hooks in ordinary balance-changing paths at T8 while preserving claims for settled balances and leaving legacy reward storage intact.
  • T8 invariant and integration coverage (#6804, #6805): Updates FeeAMM invariants for T8 and adds storage-credit invariants around the new system behavior.

EVM, Transactions, RPC, and Performance

  • Protocol fee extensibility (#6879): Adds context-aware protocol-fee hooks so downstream EVMs can install a custom StorageCtx without duplicating Tempo's handler logic.
  • FeeAMM error diagnostics (#6698): Reports the user-token to validator-token pair when a fee swap fails for insufficient liquidity, with a generic fallback when the pair cannot be resolved.
  • Account-abstraction RPC and pool fixes (#6859, #6871): Shares AA request detection between transaction construction and simulation so gas estimation uses the correct intrinsic cost, and removes stale ordering keys during live two-dimensional-nonce replacements.
  • Precompile downstream integration (#6650, #6845, #6869): Exposes dispatch helpers, supports custom downstream dispatch errors, and makes the generated inner helpers reusable by downstream precompiles.
  • Speculative parallel payload building (#6238, #6641, #6736): Adds default-off speculative prewarming and storage-action replay for payment transactions, ensures payload construction always performs an initial build, and keeps the experimental builder flag out of normal help output.
  • Storage-action replay and DEX hot paths (#6502, #6645, #6649, #6662, #6666, #6670, #6768): Expands replayable storage actions, validates cached reads and writes without recording replay writes again, adds FeeAMM swap replay, and removes redundant DEX deletes and maker reads.

Testing, Benchmarks, and Tooling

  • Added certification-anchor snapshot scenarios and strict-startup end-to-end coverage (#6796, #6678).
  • Added multi-region benchmark workflows, scheduled runs, telemetry wiring, and neobank/parameterized transaction presets (#6726, #6821, #6839, #6740, #6595).
  • Added StablecoinDEX microbenchmarks and storage-action snapshots for two-dimensional nonces and FeeAMM flows (#6618, #6627, #6497).

Full Changelog: v1.10.1...v1.11.0

Don't miss a new tempo release

NewReleases is sending notifications on new releases.