> Feedback: If these docs are stale, missing, or confusing, post sanitized feedback to `https://tempo.xyz/developers/api/feedback` with `source: "mcp"`, a short `message`, and any relevant `toolName`, `relatedResource`, or `client`.
> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://tempo.xyz/developers/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# Changelog

## v1.10.2 — Release v1.10.2 (2026-07-17)

This patch release updates the v1.10.x release line with alloy dependency updates.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

Operators running v1.10.x should upgrade to v1.10.2.

## tempo-primitives@1.10.1 (2026-07-07)

## What's Changed

* fix: tolerate missing git metadata in Docker builds by @decofe in https://github.com/tempoxyz/tempo/pull/6615
* Enable samply for scheduled e2e benches by @decofe in https://github.com/tempoxyz/tempo/pull/6616
* Add T9 hardfork plumbing by @decofe in https://github.com/tempoxyz/tempo/pull/6594
* bench(evm): stablecoin DEX benches by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6618
* fix(evm): batch DEX execution microbench workflows by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6627
* feat(payload): always build once by @shekhirin in https://github.com/tempoxyz/tempo/pull/6641
* perf(builder): speculative parallel execution by @shekhirin in https://github.com/tempoxyz/tempo/pull/6238
* Use PR merge-base as Derek bench default baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6642
* perf(primitives): preallocate signature hash buffer by @mattsse in https://github.com/tempoxyz/tempo/pull/6629
* refactor(consensus): simplify DKG actor, don't control sync floor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6517
* refactor(evm): parallel prewarming follow-ups by @shekhirin in https://github.com/tempoxyz/tempo/pull/6645
* refactor(precompiles): export dispatch helpers by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6650
* perf: optimize slice parsing and signature codegen by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6632
* feat(consensus): wire up consensus-enabled snapshots by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6536
* fix(builder): require nonzero nonce key for parallel prewarming by @decofe in https://github.com/tempoxyz/tempo/pull/6656
* perf(evm): record SLOAD values in all storage actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/6649
* fix(evm): generalize SSTORE action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6662
* refactor(evm): do not track writes in action replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6666
* perf(evm): feeAMM liquidity check replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6670
* fix: exclude rustdocs from indexing by @brendanjryan in https://github.com/tempoxyz/tempo/pull/6634
* deps: update reth from main (2026-07-03) by @decofe in https://github.com/tempoxyz/tempo/pull/6613
* ci: trigger tip20 bench for reth updates by @decofe in https://github.com/tempoxyz/tempo/pull/6689
* refactor(evm): `sload_current_or` by @shekhirin in https://github.com/tempoxyz/tempo/pull/6672
* chore(consensus): tempo-e2e strict-startup by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6678
* perf(txpool): reuse key for spending limit invalidation by @Rjected in https://github.com/tempoxyz/tempo/pull/6560
* fix(payload): use non-deprecated atomic update by @decofe in https://github.com/tempoxyz/tempo/pull/6699
* refactor(storage): sstore transition flags by @shekhirin in https://github.com/tempoxyz/tempo/pull/6706
* refactor(storage): use bitflags for sstore transition flags by @decofe in https://github.com/tempoxyz/tempo/pull/6710
* deps: reorder bitflags dependency by @decofe in https://github.com/tempoxyz/tempo/pull/6711
* deps: update reth from main (2026-07-06) by @decofe in https://github.com/tempoxyz/tempo/pull/6693
* ci(bench): delete Derek comments on clear by @decofe in https://github.com/tempoxyz/tempo/pull/6717
* chore(consensus): move identity transitions from node rpc to an xtask by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6633
* revert: Derek clear comment deletion by @decofe in https://github.com/tempoxyz/tempo/pull/6719
* fix: reject non-minimal encodings by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6715
* bench: support baseline-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6720
* fix(consensus)!: reduce snapshot constraints by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6714
* refactor(consensus): backfill to finalized floor before main loop by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6723
* fix(ci): refresh cargo-deny advisories by @mattsse in https://github.com/tempoxyz/tempo/pull/6731
* TIP-1062: versioned DEX order storage by @danrobinson in https://github.com/tempoxyz/tempo/pull/4075
* docs(tip-1087): stablecoin DEX `V2Order` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6682
* feat(contracts): add Mode::as\_str by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6730
* Add typed receive policy recovery helper by @decofe in https://github.com/tempoxyz/tempo/pull/6725
* feat(tip-1062): version stablecoin dex order storage by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6546
* deps: update reth from main (2026-07-07) by @decofe in https://github.com/tempoxyz/tempo/pull/6728
* chore: make pending changelogs patch bumps by @decofe in https://github.com/tempoxyz/tempo/pull/6734
* chore: release `tempo-alloy@1.10.1`, `tempo-chainspec@1.10.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6732

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/tempo-alloy@1.10.0...tempo-primitives@1.10.1

## tempo-hardfork@1.10.1 (2026-07-07)

## What's Changed

* fix: tolerate missing git metadata in Docker builds by @decofe in https://github.com/tempoxyz/tempo/pull/6615
* Enable samply for scheduled e2e benches by @decofe in https://github.com/tempoxyz/tempo/pull/6616
* Add T9 hardfork plumbing by @decofe in https://github.com/tempoxyz/tempo/pull/6594
* bench(evm): stablecoin DEX benches by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6618
* fix(evm): batch DEX execution microbench workflows by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6627
* feat(payload): always build once by @shekhirin in https://github.com/tempoxyz/tempo/pull/6641
* perf(builder): speculative parallel execution by @shekhirin in https://github.com/tempoxyz/tempo/pull/6238
* Use PR merge-base as Derek bench default baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6642
* perf(primitives): preallocate signature hash buffer by @mattsse in https://github.com/tempoxyz/tempo/pull/6629
* refactor(consensus): simplify DKG actor, don't control sync floor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6517
* refactor(evm): parallel prewarming follow-ups by @shekhirin in https://github.com/tempoxyz/tempo/pull/6645
* refactor(precompiles): export dispatch helpers by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6650
* perf: optimize slice parsing and signature codegen by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6632
* feat(consensus): wire up consensus-enabled snapshots by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6536
* fix(builder): require nonzero nonce key for parallel prewarming by @decofe in https://github.com/tempoxyz/tempo/pull/6656
* perf(evm): record SLOAD values in all storage actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/6649
* fix(evm): generalize SSTORE action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6662
* refactor(evm): do not track writes in action replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6666
* perf(evm): feeAMM liquidity check replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6670
* fix: exclude rustdocs from indexing by @brendanjryan in https://github.com/tempoxyz/tempo/pull/6634
* deps: update reth from main (2026-07-03) by @decofe in https://github.com/tempoxyz/tempo/pull/6613
* ci: trigger tip20 bench for reth updates by @decofe in https://github.com/tempoxyz/tempo/pull/6689
* refactor(evm): `sload_current_or` by @shekhirin in https://github.com/tempoxyz/tempo/pull/6672
* chore(consensus): tempo-e2e strict-startup by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6678
* perf(txpool): reuse key for spending limit invalidation by @Rjected in https://github.com/tempoxyz/tempo/pull/6560
* fix(payload): use non-deprecated atomic update by @decofe in https://github.com/tempoxyz/tempo/pull/6699
* refactor(storage): sstore transition flags by @shekhirin in https://github.com/tempoxyz/tempo/pull/6706
* refactor(storage): use bitflags for sstore transition flags by @decofe in https://github.com/tempoxyz/tempo/pull/6710
* deps: reorder bitflags dependency by @decofe in https://github.com/tempoxyz/tempo/pull/6711
* deps: update reth from main (2026-07-06) by @decofe in https://github.com/tempoxyz/tempo/pull/6693
* ci(bench): delete Derek comments on clear by @decofe in https://github.com/tempoxyz/tempo/pull/6717
* chore(consensus): move identity transitions from node rpc to an xtask by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6633
* revert: Derek clear comment deletion by @decofe in https://github.com/tempoxyz/tempo/pull/6719
* fix: reject non-minimal encodings by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6715
* bench: support baseline-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6720
* fix(consensus)!: reduce snapshot constraints by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6714
* refactor(consensus): backfill to finalized floor before main loop by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6723
* fix(ci): refresh cargo-deny advisories by @mattsse in https://github.com/tempoxyz/tempo/pull/6731
* TIP-1062: versioned DEX order storage by @danrobinson in https://github.com/tempoxyz/tempo/pull/4075
* docs(tip-1087): stablecoin DEX `V2Order` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6682
* feat(contracts): add Mode::as\_str by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6730
* Add typed receive policy recovery helper by @decofe in https://github.com/tempoxyz/tempo/pull/6725
* feat(tip-1062): version stablecoin dex order storage by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6546
* deps: update reth from main (2026-07-07) by @decofe in https://github.com/tempoxyz/tempo/pull/6728
* chore: make pending changelogs patch bumps by @decofe in https://github.com/tempoxyz/tempo/pull/6734
* chore: release `tempo-alloy@1.10.1`, `tempo-chainspec@1.10.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6732

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/tempo-alloy@1.10.0...tempo-hardfork@1.10.1

## tempo-contracts@1.10.1 (2026-07-07)

### Patch Changes

* Added `IStorageCredits::Mode::as_str` returning the lowercase string label for a storage credit mode. (by @DerekCofausper, [#6734](https://github.com/tempoxyz/tempo/pull/6734))

<details><summary>What's Changed</summary>

* fix: tolerate missing git metadata in Docker builds by @decofe in https://github.com/tempoxyz/tempo/pull/6615
* Enable samply for scheduled e2e benches by @decofe in https://github.com/tempoxyz/tempo/pull/6616
* Add T9 hardfork plumbing by @decofe in https://github.com/tempoxyz/tempo/pull/6594
* bench(evm): stablecoin DEX benches by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6618
* fix(evm): batch DEX execution microbench workflows by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6627
* feat(payload): always build once by @shekhirin in https://github.com/tempoxyz/tempo/pull/6641
* perf(builder): speculative parallel execution by @shekhirin in https://github.com/tempoxyz/tempo/pull/6238
* Use PR merge-base as Derek bench default baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6642
* perf(primitives): preallocate signature hash buffer by @mattsse in https://github.com/tempoxyz/tempo/pull/6629
* refactor(consensus): simplify DKG actor, don't control sync floor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6517
* refactor(evm): parallel prewarming follow-ups by @shekhirin in https://github.com/tempoxyz/tempo/pull/6645
* refactor(precompiles): export dispatch helpers by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6650
* perf: optimize slice parsing and signature codegen by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6632
* feat(consensus): wire up consensus-enabled snapshots by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6536
* fix(builder): require nonzero nonce key for parallel prewarming by @decofe in https://github.com/tempoxyz/tempo/pull/6656
* perf(evm): record SLOAD values in all storage actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/6649
* fix(evm): generalize SSTORE action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6662
* refactor(evm): do not track writes in action replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6666
* perf(evm): feeAMM liquidity check replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6670
* fix: exclude rustdocs from indexing by @brendanjryan in https://github.com/tempoxyz/tempo/pull/6634
* deps: update reth from main (2026-07-03) by @decofe in https://github.com/tempoxyz/tempo/pull/6613
* ci: trigger tip20 bench for reth updates by @decofe in https://github.com/tempoxyz/tempo/pull/6689
* refactor(evm): `sload_current_or` by @shekhirin in https://github.com/tempoxyz/tempo/pull/6672
* chore(consensus): tempo-e2e strict-startup by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6678
* perf(txpool): reuse key for spending limit invalidation by @Rjected in https://github.com/tempoxyz/tempo/pull/6560
* fix(payload): use non-deprecated atomic update by @decofe in https://github.com/tempoxyz/tempo/pull/6699
* refactor(storage): sstore transition flags by @shekhirin in https://github.com/tempoxyz/tempo/pull/6706
* refactor(storage): use bitflags for sstore transition flags by @decofe in https://github.com/tempoxyz/tempo/pull/6710
* deps: reorder bitflags dependency by @decofe in https://github.com/tempoxyz/tempo/pull/6711
* deps: update reth from main (2026-07-06) by @decofe in https://github.com/tempoxyz/tempo/pull/6693
* ci(bench): delete Derek comments on clear by @decofe in https://github.com/tempoxyz/tempo/pull/6717
* chore(consensus): move identity transitions from node rpc to an xtask by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6633
* revert: Derek clear comment deletion by @decofe in https://github.com/tempoxyz/tempo/pull/6719
* fix: reject non-minimal encodings by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6715
* bench: support baseline-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6720
* fix(consensus)!: reduce snapshot constraints by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6714
* refactor(consensus): backfill to finalized floor before main loop by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6723
* fix(ci): refresh cargo-deny advisories by @mattsse in https://github.com/tempoxyz/tempo/pull/6731
* TIP-1062: versioned DEX order storage by @danrobinson in https://github.com/tempoxyz/tempo/pull/4075
* docs(tip-1087): stablecoin DEX `V2Order` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6682
* feat(contracts): add Mode::as\_str by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6730
* Add typed receive policy recovery helper by @decofe in https://github.com/tempoxyz/tempo/pull/6725
* feat(tip-1062): version stablecoin dex order storage by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6546
* deps: update reth from main (2026-07-07) by @decofe in https://github.com/tempoxyz/tempo/pull/6728
* chore: make pending changelogs patch bumps by @decofe in https://github.com/tempoxyz/tempo/pull/6734
* chore: release `tempo-alloy@1.10.1`, `tempo-chainspec@1.10.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6732

</details>

## tempo-chainspec@1.10.1 (2026-07-07)

## What's Changed

* fix: tolerate missing git metadata in Docker builds by @decofe in https://github.com/tempoxyz/tempo/pull/6615
* Enable samply for scheduled e2e benches by @decofe in https://github.com/tempoxyz/tempo/pull/6616
* Add T9 hardfork plumbing by @decofe in https://github.com/tempoxyz/tempo/pull/6594
* bench(evm): stablecoin DEX benches by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6618
* fix(evm): batch DEX execution microbench workflows by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6627
* feat(payload): always build once by @shekhirin in https://github.com/tempoxyz/tempo/pull/6641
* perf(builder): speculative parallel execution by @shekhirin in https://github.com/tempoxyz/tempo/pull/6238
* Use PR merge-base as Derek bench default baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6642
* perf(primitives): preallocate signature hash buffer by @mattsse in https://github.com/tempoxyz/tempo/pull/6629
* refactor(consensus): simplify DKG actor, don't control sync floor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6517
* refactor(evm): parallel prewarming follow-ups by @shekhirin in https://github.com/tempoxyz/tempo/pull/6645
* refactor(precompiles): export dispatch helpers by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6650
* perf: optimize slice parsing and signature codegen by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6632
* feat(consensus): wire up consensus-enabled snapshots by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6536
* fix(builder): require nonzero nonce key for parallel prewarming by @decofe in https://github.com/tempoxyz/tempo/pull/6656
* perf(evm): record SLOAD values in all storage actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/6649
* fix(evm): generalize SSTORE action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6662
* refactor(evm): do not track writes in action replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6666
* perf(evm): feeAMM liquidity check replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6670
* fix: exclude rustdocs from indexing by @brendanjryan in https://github.com/tempoxyz/tempo/pull/6634
* deps: update reth from main (2026-07-03) by @decofe in https://github.com/tempoxyz/tempo/pull/6613
* ci: trigger tip20 bench for reth updates by @decofe in https://github.com/tempoxyz/tempo/pull/6689
* refactor(evm): `sload_current_or` by @shekhirin in https://github.com/tempoxyz/tempo/pull/6672
* chore(consensus): tempo-e2e strict-startup by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6678
* perf(txpool): reuse key for spending limit invalidation by @Rjected in https://github.com/tempoxyz/tempo/pull/6560
* fix(payload): use non-deprecated atomic update by @decofe in https://github.com/tempoxyz/tempo/pull/6699
* refactor(storage): sstore transition flags by @shekhirin in https://github.com/tempoxyz/tempo/pull/6706
* refactor(storage): use bitflags for sstore transition flags by @decofe in https://github.com/tempoxyz/tempo/pull/6710
* deps: reorder bitflags dependency by @decofe in https://github.com/tempoxyz/tempo/pull/6711
* deps: update reth from main (2026-07-06) by @decofe in https://github.com/tempoxyz/tempo/pull/6693
* ci(bench): delete Derek comments on clear by @decofe in https://github.com/tempoxyz/tempo/pull/6717
* chore(consensus): move identity transitions from node rpc to an xtask by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6633
* revert: Derek clear comment deletion by @decofe in https://github.com/tempoxyz/tempo/pull/6719
* fix: reject non-minimal encodings by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6715
* bench: support baseline-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6720
* fix(consensus)!: reduce snapshot constraints by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6714
* refactor(consensus): backfill to finalized floor before main loop by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6723
* fix(ci): refresh cargo-deny advisories by @mattsse in https://github.com/tempoxyz/tempo/pull/6731
* TIP-1062: versioned DEX order storage by @danrobinson in https://github.com/tempoxyz/tempo/pull/4075
* docs(tip-1087): stablecoin DEX `V2Order` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6682
* feat(contracts): add Mode::as\_str by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6730
* Add typed receive policy recovery helper by @decofe in https://github.com/tempoxyz/tempo/pull/6725
* feat(tip-1062): version stablecoin dex order storage by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6546
* deps: update reth from main (2026-07-07) by @decofe in https://github.com/tempoxyz/tempo/pull/6728
* chore: make pending changelogs patch bumps by @decofe in https://github.com/tempoxyz/tempo/pull/6734
* chore: release `tempo-alloy@1.10.1`, `tempo-chainspec@1.10.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6732

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/tempo-alloy@1.10.0...tempo-chainspec@1.10.1

## tempo-alloy@1.10.1 (2026-07-07)

### Patch Changes

* Added typed `RecoveryAuthority` selector and `set_receive_policy_for_receiver` helper for building validated TIP-1028 receive-policy calls, rejecting recovery authorities that can never pass `ReceivePolicyGuard.claim()`. (by @DerekCofausper, [#6734](https://github.com/tempoxyz/tempo/pull/6734))

<details><summary>What's Changed</summary>

* fix: tolerate missing git metadata in Docker builds by @decofe in https://github.com/tempoxyz/tempo/pull/6615
* Enable samply for scheduled e2e benches by @decofe in https://github.com/tempoxyz/tempo/pull/6616
* Add T9 hardfork plumbing by @decofe in https://github.com/tempoxyz/tempo/pull/6594
* bench(evm): stablecoin DEX benches by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6618
* fix(evm): batch DEX execution microbench workflows by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6627
* feat(payload): always build once by @shekhirin in https://github.com/tempoxyz/tempo/pull/6641
* perf(builder): speculative parallel execution by @shekhirin in https://github.com/tempoxyz/tempo/pull/6238
* Use PR merge-base as Derek bench default baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6642
* perf(primitives): preallocate signature hash buffer by @mattsse in https://github.com/tempoxyz/tempo/pull/6629
* refactor(consensus): simplify DKG actor, don't control sync floor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6517
* refactor(evm): parallel prewarming follow-ups by @shekhirin in https://github.com/tempoxyz/tempo/pull/6645
* refactor(precompiles): export dispatch helpers by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6650
* perf: optimize slice parsing and signature codegen by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6632
* feat(consensus): wire up consensus-enabled snapshots by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6536
* fix(builder): require nonzero nonce key for parallel prewarming by @decofe in https://github.com/tempoxyz/tempo/pull/6656
* perf(evm): record SLOAD values in all storage actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/6649
* fix(evm): generalize SSTORE action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6662
* refactor(evm): do not track writes in action replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6666
* perf(evm): feeAMM liquidity check replay by @shekhirin in https://github.com/tempoxyz/tempo/pull/6670
* fix: exclude rustdocs from indexing by @brendanjryan in https://github.com/tempoxyz/tempo/pull/6634
* deps: update reth from main (2026-07-03) by @decofe in https://github.com/tempoxyz/tempo/pull/6613
* ci: trigger tip20 bench for reth updates by @decofe in https://github.com/tempoxyz/tempo/pull/6689
* refactor(evm): `sload_current_or` by @shekhirin in https://github.com/tempoxyz/tempo/pull/6672
* chore(consensus): tempo-e2e strict-startup by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6678
* perf(txpool): reuse key for spending limit invalidation by @Rjected in https://github.com/tempoxyz/tempo/pull/6560
* fix(payload): use non-deprecated atomic update by @decofe in https://github.com/tempoxyz/tempo/pull/6699
* refactor(storage): sstore transition flags by @shekhirin in https://github.com/tempoxyz/tempo/pull/6706
* refactor(storage): use bitflags for sstore transition flags by @decofe in https://github.com/tempoxyz/tempo/pull/6710
* deps: reorder bitflags dependency by @decofe in https://github.com/tempoxyz/tempo/pull/6711
* deps: update reth from main (2026-07-06) by @decofe in https://github.com/tempoxyz/tempo/pull/6693
* ci(bench): delete Derek comments on clear by @decofe in https://github.com/tempoxyz/tempo/pull/6717
* chore(consensus): move identity transitions from node rpc to an xtask by @hamdiallam in https://github.com/tempoxyz/tempo/pull/6633
* revert: Derek clear comment deletion by @decofe in https://github.com/tempoxyz/tempo/pull/6719
* fix: reject non-minimal encodings by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6715
* bench: support baseline-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6720
* fix(consensus)!: reduce snapshot constraints by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6714
* refactor(consensus): backfill to finalized floor before main loop by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6723
* fix(ci): refresh cargo-deny advisories by @mattsse in https://github.com/tempoxyz/tempo/pull/6731
* TIP-1062: versioned DEX order storage by @danrobinson in https://github.com/tempoxyz/tempo/pull/4075
* docs(tip-1087): stablecoin DEX `V2Order` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6682
* feat(contracts): add Mode::as\_str by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6730
* Add typed receive policy recovery helper by @decofe in https://github.com/tempoxyz/tempo/pull/6725
* feat(tip-1062): version stablecoin dex order storage by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6546
* deps: update reth from main (2026-07-07) by @decofe in https://github.com/tempoxyz/tempo/pull/6728
* chore: make pending changelogs patch bumps by @decofe in https://github.com/tempoxyz/tempo/pull/6734
* chore: release `tempo-alloy@1.10.1`, `tempo-chainspec@1.10.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6732

</details>

## tempo-primitives@1.10.0 (2026-06-30)

### Minor Changes

* Bump the Tempo SDK crate set to the `1.10` minor release. (by @DerekCofausper, [#6610](https://github.com/tempoxyz/tempo/pull/6610))

<details><summary>What's Changed</summary>

* feat(precompiles): feeAMM swap as a single storage action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6502
* test(precompiles): storage credit actions by @decofe in https://github.com/tempoxyz/tempo/pull/6527
* fix(follow): relax upstream URL resolution, enforce websocket by @decofe in https://github.com/tempoxyz/tempo/pull/6392
* ci(bench): add keychain txgen presets by @Rjected in https://github.com/tempoxyz/tempo/pull/6269
* feat(precompiles): `dispatch!` macro by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6505
* docs: cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6578
* ci(bench): submit e2e txs to both nodes by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6550
* deps: update reth from main (2026-06-29) by @decofe in https://github.com/tempoxyz/tempo/pull/6582
* feat: dex preset by @klkvr in https://github.com/tempoxyz/tempo/pull/6296
* chore: bump main workspace version to 1.10.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6584
* chore: add SDK 1.10 changelog fragment by @decofe in https://github.com/tempoxyz/tempo/pull/6587
* define a sync window of 3 epochs by overriding `--minimal` by @decofe in https://github.com/tempoxyz/tempo/pull/6545
* fix(consensus): lower cut-short event levels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6229
* feat(regenesis): sync validator config storage by @Rjected in https://github.com/tempoxyz/tempo/pull/6599
* Propagate proposer public key to block env by @decofe in https://github.com/tempoxyz/tempo/pull/6610
* chore: release `tempo-alloy@1.10.0`, `tempo-chainspec@1.10.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6592

</details>

## tempo-hardfork@1.10.0 (2026-06-30)

### Minor Changes

* Bump the Tempo SDK crate set to the `1.10` minor release. (by @DerekCofausper, [#6610](https://github.com/tempoxyz/tempo/pull/6610))

<details><summary>What's Changed</summary>

* feat(precompiles): feeAMM swap as a single storage action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6502
* test(precompiles): storage credit actions by @decofe in https://github.com/tempoxyz/tempo/pull/6527
* fix(follow): relax upstream URL resolution, enforce websocket by @decofe in https://github.com/tempoxyz/tempo/pull/6392
* ci(bench): add keychain txgen presets by @Rjected in https://github.com/tempoxyz/tempo/pull/6269
* feat(precompiles): `dispatch!` macro by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6505
* docs: cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6578
* ci(bench): submit e2e txs to both nodes by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6550
* deps: update reth from main (2026-06-29) by @decofe in https://github.com/tempoxyz/tempo/pull/6582
* feat: dex preset by @klkvr in https://github.com/tempoxyz/tempo/pull/6296
* chore: bump main workspace version to 1.10.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6584
* chore: add SDK 1.10 changelog fragment by @decofe in https://github.com/tempoxyz/tempo/pull/6587
* define a sync window of 3 epochs by overriding `--minimal` by @decofe in https://github.com/tempoxyz/tempo/pull/6545
* fix(consensus): lower cut-short event levels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6229
* feat(regenesis): sync validator config storage by @Rjected in https://github.com/tempoxyz/tempo/pull/6599
* Propagate proposer public key to block env by @decofe in https://github.com/tempoxyz/tempo/pull/6610
* chore: release `tempo-alloy@1.10.0`, `tempo-chainspec@1.10.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6592

</details>

## tempo-contracts@1.10.0 (2026-06-30)

### Minor Changes

* Bump the Tempo SDK crate set to the `1.10` minor release. (by @DerekCofausper, [#6610](https://github.com/tempoxyz/tempo/pull/6610))

<details><summary>What's Changed</summary>

* feat(precompiles): feeAMM swap as a single storage action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6502
* test(precompiles): storage credit actions by @decofe in https://github.com/tempoxyz/tempo/pull/6527
* fix(follow): relax upstream URL resolution, enforce websocket by @decofe in https://github.com/tempoxyz/tempo/pull/6392
* ci(bench): add keychain txgen presets by @Rjected in https://github.com/tempoxyz/tempo/pull/6269
* feat(precompiles): `dispatch!` macro by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6505
* docs: cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6578
* ci(bench): submit e2e txs to both nodes by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6550
* deps: update reth from main (2026-06-29) by @decofe in https://github.com/tempoxyz/tempo/pull/6582
* feat: dex preset by @klkvr in https://github.com/tempoxyz/tempo/pull/6296
* chore: bump main workspace version to 1.10.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6584
* chore: add SDK 1.10 changelog fragment by @decofe in https://github.com/tempoxyz/tempo/pull/6587
* define a sync window of 3 epochs by overriding `--minimal` by @decofe in https://github.com/tempoxyz/tempo/pull/6545
* fix(consensus): lower cut-short event levels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6229
* feat(regenesis): sync validator config storage by @Rjected in https://github.com/tempoxyz/tempo/pull/6599
* Propagate proposer public key to block env by @decofe in https://github.com/tempoxyz/tempo/pull/6610
* chore: release `tempo-alloy@1.10.0`, `tempo-chainspec@1.10.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6592

</details>

## tempo-chainspec@1.10.0 (2026-06-30)

### Minor Changes

* Bump the Tempo SDK crate set to the `1.10` minor release. (by @DerekCofausper, [#6610](https://github.com/tempoxyz/tempo/pull/6610))

<details><summary>What's Changed</summary>

* feat(precompiles): feeAMM swap as a single storage action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6502
* test(precompiles): storage credit actions by @decofe in https://github.com/tempoxyz/tempo/pull/6527
* fix(follow): relax upstream URL resolution, enforce websocket by @decofe in https://github.com/tempoxyz/tempo/pull/6392
* ci(bench): add keychain txgen presets by @Rjected in https://github.com/tempoxyz/tempo/pull/6269
* feat(precompiles): `dispatch!` macro by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6505
* docs: cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6578
* ci(bench): submit e2e txs to both nodes by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6550
* deps: update reth from main (2026-06-29) by @decofe in https://github.com/tempoxyz/tempo/pull/6582
* feat: dex preset by @klkvr in https://github.com/tempoxyz/tempo/pull/6296
* chore: bump main workspace version to 1.10.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6584
* chore: add SDK 1.10 changelog fragment by @decofe in https://github.com/tempoxyz/tempo/pull/6587
* define a sync window of 3 epochs by overriding `--minimal` by @decofe in https://github.com/tempoxyz/tempo/pull/6545
* fix(consensus): lower cut-short event levels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6229
* feat(regenesis): sync validator config storage by @Rjected in https://github.com/tempoxyz/tempo/pull/6599
* Propagate proposer public key to block env by @decofe in https://github.com/tempoxyz/tempo/pull/6610
* chore: release `tempo-alloy@1.10.0`, `tempo-chainspec@1.10.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6592

</details>

## tempo-alloy@1.10.0 (2026-06-30)

### Minor Changes

* Bump the Tempo SDK crate set to the `1.10` minor release. (by @DerekCofausper, [#6610](https://github.com/tempoxyz/tempo/pull/6610))

<details><summary>What's Changed</summary>

* feat(precompiles): feeAMM swap as a single storage action by @shekhirin in https://github.com/tempoxyz/tempo/pull/6502
* test(precompiles): storage credit actions by @decofe in https://github.com/tempoxyz/tempo/pull/6527
* fix(follow): relax upstream URL resolution, enforce websocket by @decofe in https://github.com/tempoxyz/tempo/pull/6392
* ci(bench): add keychain txgen presets by @Rjected in https://github.com/tempoxyz/tempo/pull/6269
* feat(precompiles): `dispatch!` macro by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6505
* docs: cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6578
* ci(bench): submit e2e txs to both nodes by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6550
* deps: update reth from main (2026-06-29) by @decofe in https://github.com/tempoxyz/tempo/pull/6582
* feat: dex preset by @klkvr in https://github.com/tempoxyz/tempo/pull/6296
* chore: bump main workspace version to 1.10.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6584
* chore: add SDK 1.10 changelog fragment by @decofe in https://github.com/tempoxyz/tempo/pull/6587
* define a sync window of 3 epochs by overriding `--minimal` by @decofe in https://github.com/tempoxyz/tempo/pull/6545
* fix(consensus): lower cut-short event levels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6229
* feat(regenesis): sync validator config storage by @Rjected in https://github.com/tempoxyz/tempo/pull/6599
* Propagate proposer public key to block env by @decofe in https://github.com/tempoxyz/tempo/pull/6610
* chore: release `tempo-alloy@1.10.0`, `tempo-chainspec@1.10.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6592

</details>

## v1.10.1 — Release v1.10.1 (2026-06-29)

> \[!IMPORTANT]
> **This release is required for the T7 network upgrade scheduled for testnet on July 2, 2026 16:00 CEST (`1783000800`) and mainnet on July 9, 2026 16:00 CEST (`1783605600`).** Node operators must update before activation or their nodes will fall out of sync. This release activates T7 support for dynamic base fees, storage credits, and reusable storage accounting across contract, DEX, and channel-reserve state, with the goal of lowering ordinary Tempo transaction costs and making repeated storage use cheaper.

> \[!NOTE]
> **v1.10.1 supersedes v1.10.0.** The v1.10.0 release was published without release assets after the release workflow failed the Cargo workspace-version check. v1.10.1 uses the same T7 release line with the Cargo workspace version corrected and includes the generated release assets.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

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

### Activation Times

| Network | Date | Timestamp |
|---------|------|-----------|
| Testnet | July 2, 2026 16:00 CEST | `1783000800` |
| Mainnet | July 9, 2026 16:00 CEST | `1783605600` |

### TIPs included with T7

The T7 network upgrade includes:

1. **[TIP-1060 Storage Credits](https://tips.sh/1060)**: Replaces one-time storage-clearing refunds with per-account storage credits that can offset later storage creations by the same account. Adds the `StorageCredits` precompile at `0x1060000000000000000000000000000000000000`.
2. **[TIP-1064 StablecoinDEX Order Storage Credits](https://tips.sh/1064)**: Adds maker-attributed reusable storage accounting for StablecoinDEX order records, so makers receive credit for reusable order storage they previously freed.
3. **[TIP-1067 Dynamic Base Fee](https://tips.sh/1067)**: Replaces the fixed base fee with a bounded EIP-1559-style controller capped at `12_000_000_000` attodollars per gas, floored at `600_000_000`, with a `10_000_000` gas target.
4. **TIP-1066 Channel Storage Credits**: Adds payer-scoped reusable storage credits for TIP-20 channel reserve state, including the `storageCredits(address)` channel-reserve view.

### Gas Cost and Benchmarking Highlights

| Area | T6 | T7 | Diff | Notes |
|------|----|----|------|-------|
| Base-fee ceiling (50k-gas transfer) | `$0.001` | cap `$0.0006` · floor `$0.00003` | cap `−40%` · floor `−97%` | The T7 cap is `12_000_000_000` attodollars per gas; the floor is `600_000_000`, 20x below the cap. |
| Observed transfer-like costs | avg `$0.0037857` · median `$0.0011855` (1k txs); avg `$0.0008975` · median `$0.0007657` (598 steady-state) | — | — | Removing state-creation-like txs (`gas_used >= 250k`) left 598 steady-state transfers; excluding two IQR outliers gives `$0.0008929` avg. T7's lower base-fee cap/floor reduces the per-gas component further for equivalent gas profiles. |
| Credited storage creation (SSTORE `0→x`) | `250,000` gas | `5,000` residual + `245,000` creditable | `−98%` | TIP-1060 splits the previous creation component into a `5,000` gas residual plus a `245,000` gas creditable portion. |
| Channel reserve gas | open-existing `1,055,229` · open-first `1,302,429` | open-existing `294,425` · open-first `791,625` | open-existing `−72.1%` · open-first `−39.2%` | Call-level numbers exclude separate approval gas; implicit approvals for MPP/DEX/FeeAMM improve user-total comparisons for flows that previously required explicit approvals. |

### Breaking Changes

* **Consensus-breaking upgrade**: T7 changes protocol state transition rules. Nodes that do not run this release before activation will reject or produce invalid blocks after the T7 timestamp.
* **Base fee is no longer fixed**: After T7, `baseFeePerGas` is computed from parent gas usage and clamped to the T7 floor/cap range. Wallets, fee estimators, transaction builders, tests, and monitoring that assume the T1 fixed base fee of `20_000_000_000` attodollars per gas must handle a changing base fee.
* **Storage gas and refund semantics changed**: T7 removes the legacy storage-clearing refund, splits the TIP-1000 SSTORE creation cost into a `5_000` gas residual plus a `245_000` gas creditable portion, and removes the EIP-3529 one-fifth refund cap for T7 refunds. Contracts and tests that depend on exact SSTORE gas/refund behavior should be revalidated.
* **TIP-20 reward mutators are disabled at T7**: `setRewardRecipient` and `distributeReward` become no-ops after T7. Integrators relying on new reward opt-ins or reward distributions must adjust their flows before activation.
* **New reserved precompile surface**: The `StorageCredits` system precompile becomes active at T7. Contracts and tooling should treat `0x1060000000000000000000000000000000000000` as reserved protocol space.
* **RPC, standby, follow nodes require certificates**: with the `tempo node --follow` flag nodes are now verifying finalization certificates before executing blocks against their local state. When tracking the official mainnet or testnet default RPCs operators will not see a change. If tracking their local validator, operators need to ensure that validator exposes websocket via `--ws`. For more info, see https://tempo.xyz/developers/docs/guide/node/rpc/ and https://tempo.xyz/developers/docs/guide/node/validator-failover/

***

## Operators

### What's Changed

* **T7 activation timestamps** ([#6396](https://github.com/tempoxyz/tempo/pull/6396)): Adds testnet and mainnet T7 timestamps to chainspec and genesis configuration.
* **Dynamic base fee** ([#5153](https://github.com/tempoxyz/tempo/pull/5153)): Seeds the T7 activation block at the lowered cap of `12_000_000_000` attodollars per gas, then adjusts each child block from parent gas usage with a floor of `600_000_000` and a `10_000_000` gas target.
* **Snapshot and recovery improvements** ([#5789](https://github.com/tempoxyz/tempo/pull/5789), [#6203](https://github.com/tempoxyz/tempo/pull/6203), [#6207](https://github.com/tempoxyz/tempo/pull/6207), [#6208](https://github.com/tempoxyz/tempo/pull/6208)): Bundles consensus finalized-block archives with execution snapshots and preserves recovered block handles through consensus lookup paths.
* **Consensus and payload performance** ([#5421](https://github.com/tempoxyz/tempo/pull/5421), [#5998](https://github.com/tempoxyz/tempo/pull/5998), [#6176](https://github.com/tempoxyz/tempo/pull/6176)): Caches encoded execution blocks, reduces payload transaction iterator cloning, and avoids cloning subblock pool transactions on the RPC path.
* **Payload builder configuration** ([#6387](https://github.com/tempoxyz/tempo/pull/6387), [#6306](https://github.com/tempoxyz/tempo/pull/6306)): Resolves builder gas limits from CLI arguments and chain defaults, and threads the skip-state-root benchmark setting through the Tempo payload builder.
* **Installer reliability** ([#6274](https://github.com/tempoxyz/tempo/pull/6274)): Installs the macOS `libusb` runtime dependency when required, verifies the installed binary before replacing backups, and adds installer regression tests.
* **Reth and dependency updates** ([#5876](https://github.com/tempoxyz/tempo/pull/5876), [#6134](https://github.com/tempoxyz/tempo/pull/6134), [#6211](https://github.com/tempoxyz/tempo/pull/6211), [#6270](https://github.com/tempoxyz/tempo/pull/6270)): Updates Reth from upstream main and refreshes selected runtime dependencies.

***

## Developers

### SDK Crate Versions

| Package | Version | Notes |
|---------|---------|-------|
| `tempo-alloy` | `1.8.1` | Unchanged in this binary patch release; SDK crate version bumps will follow separately. |
| `tempo-primitives` | `1.8.1` | Unchanged in this binary patch release; SDK crate version bumps will follow separately. |
| `tempo-contracts` | `1.8.1` | Unchanged in this binary patch release; SDK crate version bumps will follow separately. |
| `tempo-chainspec` | `1.8.2` | Unchanged in this binary patch release; SDK crate version bumps will follow separately. |

### T7 Protocol Changes

* **Storage credits precompile** ([#5228](https://github.com/tempoxyz/tempo/pull/5228), [#4016](https://github.com/tempoxyz/tempo/pull/4016)): Adds per-account persistent storage credit balances and transaction-local `Refund`, `Preserve`, and `Direct` creation modes. Refund mode remains the default so gas limits do not depend on credit balance at inclusion time.
* **Storage-credit safety fixes** ([#6206](https://github.com/tempoxyz/tempo/pull/6206), [#6233](https://github.com/tempoxyz/tempo/pull/6233), [#6237](https://github.com/tempoxyz/tempo/pull/6237), [#6310](https://github.com/tempoxyz/tempo/pull/6310)): Excludes fee/keychain bookkeeping slots from unbacked credit minting, avoids recreating exhausted periodic spending-limit slots, disables minting during fee distribution, and decodes the T7 zero-remaining sentinel consistently.
* **StablecoinDEX storage credits** ([#5305](https://github.com/tempoxyz/tempo/pull/5305), [#4082](https://github.com/tempoxyz/tempo/pull/4082)): Credits reusable order-record storage to the maker that owned the cleared order slot and exposes `storageCredits(address)` for DEX credit balances.
* **TIP-20 channel reserve storage credits** ([#5935](https://github.com/tempoxyz/tempo/pull/5935)): Credits terminal channel close/withdraw storage deletion to the channel payer and consumes payer-scoped credits on later channel opens.
* **TIP-20 rewards deprecation path** ([#5433](https://github.com/tempoxyz/tempo/pull/5433)): T7 disables new reward-recipient changes and reward distributions while preserving existing reward state for lazy checkpointing ahead of the later full-disable phase.
* **Dynamic base fee constants and validation** ([#5153](https://github.com/tempoxyz/tempo/pull/5153)): Adds T7 base-fee floor/cap constants, fixed `10_000_000` gas target, and block-header validation for the computed dynamic base fee.

### EVM, Transaction, and Fee Semantics

* **Generic protocol fee manager** ([#6279](https://github.com/tempoxyz/tempo/pull/6279)): Routes fee token resolution and pre/post-transaction fee collection through a generic `TempoFeeManager`, preserving current L1 behavior while allowing alternate fee managers for Tempo Zones.
* **Storage action recording** ([#5423](https://github.com/tempoxyz/tempo/pull/5423), [#5605](https://github.com/tempoxyz/tempo/pull/5605), [#6075](https://github.com/tempoxyz/tempo/pull/6075)): Adds SLOAD/SSTORE action recording and storage delta helpers while avoiding default allocations when recording is disabled.
* **Transaction pool and raw transaction recovery** ([#6175](https://github.com/tempoxyz/tempo/pull/6175)): Optimizes raw Tempo AA transaction recovery by threading the precomputed expiring nonce hash through sender recovery.
* **Precompile storage and block environment plumbing** ([#6286](https://github.com/tempoxyz/tempo/pull/6286), [#6394](https://github.com/tempoxyz/tempo/pull/6394)): Exposes epoch-length mapping and the full `TempoBlockEnv` to precompile storage providers.
* **Serde and RPC shape fixes** ([#6252](https://github.com/tempoxyz/tempo/pull/6252)): Serializes sealed blocks through the plain Tempo block shape for consensus RPC and execution data.

### Testing, Benchmarks, and Tooling

* Added T7 gas-estimation and hardfork matrix coverage for upcoming devnet hardforks ([#6194](https://github.com/tempoxyz/tempo/pull/6194), [#6217](https://github.com/tempoxyz/tempo/pull/6217)).
* Added storage-credit integration and gas snapshot coverage for StablecoinDEX and TIP-20 channel reserve flows ([#6297](https://github.com/tempoxyz/tempo/pull/6297), [#5935](https://github.com/tempoxyz/tempo/pull/5935), [#4082](https://github.com/tempoxyz/tempo/pull/4082)).
* Improved bench-e2e presets, comments, gas-limit controls, metadata, and T7/T8 hardfork support ([#5959](https://github.com/tempoxyz/tempo/pull/5959), [#6232](https://github.com/tempoxyz/tempo/pull/6232), [#6261](https://github.com/tempoxyz/tempo/pull/6261), [#6283](https://github.com/tempoxyz/tempo/pull/6283), [#6391](https://github.com/tempoxyz/tempo/pull/6391), [#6393](https://github.com/tempoxyz/tempo/pull/6393), [#6395](https://github.com/tempoxyz/tempo/pull/6395)).

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.9.1...v1.10.1

## tempo-primitives@1.9.1 (2026-06-26)

### Patch Changes

* Moved `SYSTEM_PRECOMPILES` from `tempo-precompiles` to `tempo-contracts` and replaced the `is_precompile_address` function with an `is_precompile` method on the `TempoAddressExt` trait in `tempo-primitives`. (by @DerekCofausper, [#6535](https://github.com/tempoxyz/tempo/pull/6535))

<details><summary>What's Changed</summary>

* ci: add derek clear bench command by @decofe in https://github.com/tempoxyz/tempo/pull/6488
* feat(primitives): move `SYSTEM_PRECOMPILES` to `tempo-contracts` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6490
* ci: clear derek comments by author by @decofe in https://github.com/tempoxyz/tempo/pull/6492
* ci: hide derek comments as outdated by @decofe in https://github.com/tempoxyz/tempo/pull/6496
* deps: update reth from main (2026-06-25) by @decofe in https://github.com/tempoxyz/tempo/pull/6364
* ci(bench): set scheduled bench token count by preset by @decofe in https://github.com/tempoxyz/tempo/pull/6475
* feat(cli): use reth TraceArgs defaults for OTLP log filter by @decofe in https://github.com/tempoxyz/tempo/pull/6495
* tests: storage action snapshots for 2D nonces and feeAMM by @decofe in https://github.com/tempoxyz/tempo/pull/6497
* perf(txpool): remove redundant hashmap lookup by @klkvr in https://github.com/tempoxyz/tempo/pull/6491
* refactor(payload): remove redundant prewarm tx clone by @mattsse in https://github.com/tempoxyz/tempo/pull/6506
* ci: `skip-state-root` bench alias by @decofe in https://github.com/tempoxyz/tempo/pull/6535
* chore: release `tempo-alloy@1.9.1`, `tempo-chainspec@1.9.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6493

</details>

## tempo-hardfork@1.9.1 (2026-06-26)

## What's Changed

* ci: add derek clear bench command by @decofe in https://github.com/tempoxyz/tempo/pull/6488
* feat(primitives): move `SYSTEM_PRECOMPILES` to `tempo-contracts` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6490
* ci: clear derek comments by author by @decofe in https://github.com/tempoxyz/tempo/pull/6492
* ci: hide derek comments as outdated by @decofe in https://github.com/tempoxyz/tempo/pull/6496
* deps: update reth from main (2026-06-25) by @decofe in https://github.com/tempoxyz/tempo/pull/6364
* ci(bench): set scheduled bench token count by preset by @decofe in https://github.com/tempoxyz/tempo/pull/6475
* feat(cli): use reth TraceArgs defaults for OTLP log filter by @decofe in https://github.com/tempoxyz/tempo/pull/6495
* tests: storage action snapshots for 2D nonces and feeAMM by @decofe in https://github.com/tempoxyz/tempo/pull/6497
* perf(txpool): remove redundant hashmap lookup by @klkvr in https://github.com/tempoxyz/tempo/pull/6491
* refactor(payload): remove redundant prewarm tx clone by @mattsse in https://github.com/tempoxyz/tempo/pull/6506
* ci: `skip-state-root` bench alias by @decofe in https://github.com/tempoxyz/tempo/pull/6535
* chore: release `tempo-alloy@1.9.1`, `tempo-chainspec@1.9.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6493

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/tempo-alloy@1.9.0...tempo-hardfork@1.9.1

## tempo-contracts@1.9.1 (2026-06-26)

### Patch Changes

* Moved `SYSTEM_PRECOMPILES` from `tempo-precompiles` to `tempo-contracts` and replaced the `is_precompile_address` function with an `is_precompile` method on the `TempoAddressExt` trait in `tempo-primitives`. (by @DerekCofausper, [#6535](https://github.com/tempoxyz/tempo/pull/6535))

<details><summary>What's Changed</summary>

* ci: add derek clear bench command by @decofe in https://github.com/tempoxyz/tempo/pull/6488
* feat(primitives): move `SYSTEM_PRECOMPILES` to `tempo-contracts` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6490
* ci: clear derek comments by author by @decofe in https://github.com/tempoxyz/tempo/pull/6492
* ci: hide derek comments as outdated by @decofe in https://github.com/tempoxyz/tempo/pull/6496
* deps: update reth from main (2026-06-25) by @decofe in https://github.com/tempoxyz/tempo/pull/6364
* ci(bench): set scheduled bench token count by preset by @decofe in https://github.com/tempoxyz/tempo/pull/6475
* feat(cli): use reth TraceArgs defaults for OTLP log filter by @decofe in https://github.com/tempoxyz/tempo/pull/6495
* tests: storage action snapshots for 2D nonces and feeAMM by @decofe in https://github.com/tempoxyz/tempo/pull/6497
* perf(txpool): remove redundant hashmap lookup by @klkvr in https://github.com/tempoxyz/tempo/pull/6491
* refactor(payload): remove redundant prewarm tx clone by @mattsse in https://github.com/tempoxyz/tempo/pull/6506
* ci: `skip-state-root` bench alias by @decofe in https://github.com/tempoxyz/tempo/pull/6535
* chore: release `tempo-alloy@1.9.1`, `tempo-chainspec@1.9.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6493

</details>

## tempo-chainspec@1.9.1 (2026-06-26)

## What's Changed

* ci: add derek clear bench command by @decofe in https://github.com/tempoxyz/tempo/pull/6488
* feat(primitives): move `SYSTEM_PRECOMPILES` to `tempo-contracts` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6490
* ci: clear derek comments by author by @decofe in https://github.com/tempoxyz/tempo/pull/6492
* ci: hide derek comments as outdated by @decofe in https://github.com/tempoxyz/tempo/pull/6496
* deps: update reth from main (2026-06-25) by @decofe in https://github.com/tempoxyz/tempo/pull/6364
* ci(bench): set scheduled bench token count by preset by @decofe in https://github.com/tempoxyz/tempo/pull/6475
* feat(cli): use reth TraceArgs defaults for OTLP log filter by @decofe in https://github.com/tempoxyz/tempo/pull/6495
* tests: storage action snapshots for 2D nonces and feeAMM by @decofe in https://github.com/tempoxyz/tempo/pull/6497
* perf(txpool): remove redundant hashmap lookup by @klkvr in https://github.com/tempoxyz/tempo/pull/6491
* refactor(payload): remove redundant prewarm tx clone by @mattsse in https://github.com/tempoxyz/tempo/pull/6506
* ci: `skip-state-root` bench alias by @decofe in https://github.com/tempoxyz/tempo/pull/6535
* chore: release `tempo-alloy@1.9.1`, `tempo-chainspec@1.9.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6493

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/tempo-alloy@1.9.0...tempo-chainspec@1.9.1

## tempo-alloy@1.9.1 (2026-06-26)

## What's Changed

* ci: add derek clear bench command by @decofe in https://github.com/tempoxyz/tempo/pull/6488
* feat(primitives): move `SYSTEM_PRECOMPILES` to `tempo-contracts` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6490
* ci: clear derek comments by author by @decofe in https://github.com/tempoxyz/tempo/pull/6492
* ci: hide derek comments as outdated by @decofe in https://github.com/tempoxyz/tempo/pull/6496
* deps: update reth from main (2026-06-25) by @decofe in https://github.com/tempoxyz/tempo/pull/6364
* ci(bench): set scheduled bench token count by preset by @decofe in https://github.com/tempoxyz/tempo/pull/6475
* feat(cli): use reth TraceArgs defaults for OTLP log filter by @decofe in https://github.com/tempoxyz/tempo/pull/6495
* tests: storage action snapshots for 2D nonces and feeAMM by @decofe in https://github.com/tempoxyz/tempo/pull/6497
* perf(txpool): remove redundant hashmap lookup by @klkvr in https://github.com/tempoxyz/tempo/pull/6491
* refactor(payload): remove redundant prewarm tx clone by @mattsse in https://github.com/tempoxyz/tempo/pull/6506
* ci: `skip-state-root` bench alias by @decofe in https://github.com/tempoxyz/tempo/pull/6535
* chore: release `tempo-alloy@1.9.1`, `tempo-chainspec@1.9.1` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6493

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/tempo-alloy@1.9.0...tempo-alloy@1.9.1

## tempo-primitives@1.9.0 (2026-06-25)

### Minor Changes

* Extracts Tempo hardfork definitions and activation schedules into a new `tempo-hardfork` crate for SDK reuse without chainspec dependencies.
* Updates `tempo-alloy` to depend on and re-export `tempo-hardfork` instead of `tempo-chainspec`. (by @DerekCofausper, [#6480](https://github.com/tempoxyz/tempo/pull/6480))

<details><summary>What's Changed</summary>

* ci(bench): remove bench metrics proxy by @decofe in https://github.com/tempoxyz/tempo/pull/4021
* ci(bench): use bench RPC secrets for replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4023
* ci(bench): Grafana summary URL by @decofe in https://github.com/tempoxyz/tempo/pull/4028
* ci(bench): bump bench-e2e gas limit to 1B by @decofe in https://github.com/tempoxyz/tempo/pull/4029
* ci(bench): improve bench-e2e GitHub reporting by @decofe in https://github.com/tempoxyz/tempo/pull/4032
* chore: bump alloy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4027
* Fix bench workflow issue permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4038
* Clarify TIP-1035 helper activation semantics by @decofe in https://github.com/tempoxyz/tempo/pull/4035
* perf(builder): boilerplate of prewarming for best transactions by @shekhirin in https://github.com/tempoxyz/tempo/pull/3865
* ci(bench): fix scheduled e2e benchmark workflow permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4047
* ci(bench): clean stale reth IPC before replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4048
* chore(tips): add tip naming pre-commit hook by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4020
* ci(bench): mask derived telemetry output in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4051
* feat(consensus): prunable blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3870
* fix(p2p): report proxy request and item counts by @mattsse in https://github.com/tempoxyz/tempo/pull/3948
* feat(primitives): use signature marker for sponsor requests by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4033
* ci: enable bench OTLP exports by default by @decofe in https://github.com/tempoxyz/tempo/pull/4050
* Fix bench e2e trace explore filters by @decofe in https://github.com/tempoxyz/tempo/pull/4052
* fix(rpc): improve fee token errors by @brendanjryan in https://github.com/tempoxyz/tempo/pull/3877
* ci(bench): label tempo replay bench telemetry by @decofe in https://github.com/tempoxyz/tempo/pull/4054
* fix(tip-1034): protect `TIP20EscrowChannel` from burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3989
* ci(bench): fix bench observability links and ids by @decofe in https://github.com/tempoxyz/tempo/pull/4055
* bench: enable payload builder sharing flags by default by @decofe in https://github.com/tempoxyz/tempo/pull/4053
* fix(tip-1033): surface tx `validator_fee` info to builder by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3991
* feat(builder): stop reason metric by @decofe in https://github.com/tempoxyz/tempo/pull/4060
* perf(benches): add in-memory tip20 execution microbenchmark by @Rjected in https://github.com/tempoxyz/tempo/pull/4043
* fix(tip-1034): enforce TIP-403 policy rules by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3994
* ci(bench): remove latency stddev from bench summaries by @decofe in https://github.com/tempoxyz/tempo/pull/4078
* bench: add manual CodSpeed workflow by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4081
* ci(bench): add gas throughput to e2e summary tables by @decofe in https://github.com/tempoxyz/tempo/pull/4084
* ci(bench): random-recipient preset for TIP-20 benches by @shekhirin in https://github.com/tempoxyz/tempo/pull/3975
* deps: update reth from main (2026-05-20) by @decofe in https://github.com/tempoxyz/tempo/pull/3986
* ci(bench): parameterize benchmark run pairs by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4083
* chore: default tips verification to T5 by @decofe in https://github.com/tempoxyz/tempo/pull/4087
* perf(txpool): precompute expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/4094
* perf(pool): use B256Map for transaction indexes by @mattsse in https://github.com/tempoxyz/tempo/pull/4092
* ci(bench): make bench-e2e preset a dropdown by @decofe in https://github.com/tempoxyz/tempo/pull/4098
* perf(builder): use execution cache from build arguments by @shekhirin in https://github.com/tempoxyz/tempo/pull/3602
* Rename invariant entrypoints for per-campaign metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4102
* test(stablecoin-dex): snapshot order gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4076
* perf(benches): enable asm keccak for tip20 execution bench by @Rjected in https://github.com/tempoxyz/tempo/pull/4068
* perf(benches): run tip20 execution through fixed execution cache by @Rjected in https://github.com/tempoxyz/tempo/pull/4071
* Enable continuous CodSpeed microbenchmarks on push and PR by @codspeed-hq\[bot] in https://github.com/tempoxyz/tempo/pull/4103
* chore: deny cast\_lossless clippy lint by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4077
* Fix bench summary compressed samples by @decofe in https://github.com/tempoxyz/tempo/pull/4106
* test: add TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4080
* fix(invariants): remove flaky coverage assertions from SignatureVerifier by @decofe in https://github.com/tempoxyz/tempo/pull/3993
* Update protocol version in TIP-1047 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3992
* docs(tip-1034): rename channel escrow to reserve by @brendanjryan in https://github.com/tempoxyz/tempo/pull/4110
* chore: reset main version to 1.7.0 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4120
* Rename TIP-20 channel escrow to reserve by @decofe in https://github.com/tempoxyz/tempo/pull/4113
* test: stabilize TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4125
* perf(transaction-pool): index expiring nonce eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4091
* perf: avoid marshal contention by @klkvr in https://github.com/tempoxyz/tempo/pull/4058
* chore: release `tempo-alloy@1.7.2`, `tempo-contracts@1.7.2` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4036
* Cache AA transaction signature hash by @decofe in https://github.com/tempoxyz/tempo/pull/4129
* refactor(node): use empty body storage by @mattsse in https://github.com/tempoxyz/tempo/pull/4128
* ci(bench): run CodSpeed on depot runner and filter benches by @decofe in https://github.com/tempoxyz/tempo/pull/4121
* ci(bench): disable txgen send retries by @decofe in https://github.com/tempoxyz/tempo/pull/4137
* feat(payload): split builder tx execution metrics by @joshieDo in https://github.com/tempoxyz/tempo/pull/4127
* Fix bench e2e Grafana dashboard URL by @decofe in https://github.com/tempoxyz/tempo/pull/4134
* feat(txgen): add existing recipient TIP20 preset by @onbjerg in https://github.com/tempoxyz/tempo/pull/4132
* perf(builder): implement prewarming by @shekhirin in https://github.com/tempoxyz/tempo/pull/3893
* ci: benchmark scheduled e2e against latest main by @decofe in https://github.com/tempoxyz/tempo/pull/4152
* ci(bench): enable prewarming in e2e bench by @decofe in https://github.com/tempoxyz/tempo/pull/4153
* feat: share execution cache in benches by @klkvr in https://github.com/tempoxyz/tempo/pull/4147
* feat(builder): increase transaction execution wait default by @decofe in https://github.com/tempoxyz/tempo/pull/4105
* chore: set workspace version to 1.7.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4160
* docs: remove TIP-1047 from T5 meta TIP by @decofe in https://github.com/tempoxyz/tempo/pull/4162
* feat(builder): separate state root metrics from builder finish by @decofe in https://github.com/tempoxyz/tempo/pull/4135
* ci: set weekend invariant timeout by @decofe in https://github.com/tempoxyz/tempo/pull/4025
* ci(bench): comparison hardfork labels by @decofe in https://github.com/tempoxyz/tempo/pull/4059
* docs(primitives): clarify transaction validity timestamps by @mattsse in https://github.com/tempoxyz/tempo/pull/4136
* update tip metadata  by @jenpaff in https://github.com/tempoxyz/tempo/pull/3778
* fix(txpool): resolve fee token from cached value by @decofe in https://github.com/tempoxyz/tempo/pull/4148
* docs(tip-1059): add discounted payment settlement by @malleshpai in https://github.com/tempoxyz/tempo/pull/4013
* TIP-1065: T6 Hardfork Meta TIP by @jenpaff in https://github.com/tempoxyz/tempo/pull/4167
* docs(tips): TIP-1028, Address-Level Receive Policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3791
* fix state hook precompile original info by @decofe in https://github.com/tempoxyz/tempo/pull/4171
* test: register precompile holders in TIP20 invariant by @decofe in https://github.com/tempoxyz/tempo/pull/4172
* Update cost implications for blocked transfers in TIP-20 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4173
* feat: encode the network identity into the chainspec by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4004
* perf(pool): clone cached tx env for payload building by @mattsse in https://github.com/tempoxyz/tempo/pull/4174
* perf(payload): use cached transaction lengths by @mattsse in https://github.com/tempoxyz/tempo/pull/4175
* perf(revm): cache tempo gas param overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/4182
* perf(transaction-pool): inline fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4183
* feat(alloy): add RelayTransport for sponsor/fee-payer support by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4010
* refactor(transaction-pool): use alloy primitive maps in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4178
* refactor(pool): reuse effective fee token helper by @mattsse in https://github.com/tempoxyz/tempo/pull/4181
* perf(transaction-pool): dispatch log decoding by topic by @mattsse in https://github.com/tempoxyz/tempo/pull/4179
* perf(transaction-pool): optimize expiry tracking cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/4177
* Downgrade tempo-alloy changelog to patch by @decofe in https://github.com/tempoxyz/tempo/pull/4188
* chore: release `tempo-alloy@1.7.3`, `tempo-contracts@1.7.3` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4184
* style: author typo by @decofe in https://github.com/tempoxyz/tempo/pull/4190
* docs(tip-1016): mark release as T4 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3709
* ci: reenable Foundry lint on build by @decofe in https://github.com/tempoxyz/tempo/pull/4154
* perf(transaction-pool): defer mined aa transaction drops by @mattsse in https://github.com/tempoxyz/tempo/pull/4185
* fix(transaction-pool): remove expiring nonce eviction entries in release by @mattsse in https://github.com/tempoxyz/tempo/pull/4189
* docs(tip-1034): explain close cumulative amount by @legion2002 in https://github.com/tempoxyz/tempo/pull/4199
* perf(transaction-pool): skip protocol nonce updates in aa pool by @mattsse in https://github.com/tempoxyz/tempo/pull/4187
* Use binary target for Foundry forge builds by @decofe in https://github.com/tempoxyz/tempo/pull/4207
* Restrict witness burning to admin keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4218
* feat(tip-1059): discount pure payment settlement by @0xKitsune in https://github.com/tempoxyz/tempo/pull/4139
* fix(tip-1034): validate signature encoding in payment lane by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4099
* chore: spawn txpool maintenace as blocking thread by @klkvr in https://github.com/tempoxyz/tempo/pull/4230
* feat(tip-1028): implement address-level receive policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3800
* perf(transaction-pool): gate keychain subject eviction checks by @mattsse in https://github.com/tempoxyz/tempo/pull/4252
* ci(bench): show derek command in e2e bench summary by @decofe in https://github.com/tempoxyz/tempo/pull/4263
* perf(builder): enable sparse trie sharing by default by @decofe in https://github.com/tempoxyz/tempo/pull/4195
* ci(bench): fix scheduled replay state scoping by @decofe in https://github.com/tempoxyz/tempo/pull/4259
* perf(bench): prefilter metric samples before parsing by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4208
* fix: protect self from blocked burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4264
* fix: ensure virtual channel payees use operators by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4258
* perf(transaction-pool): cache fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4253
* bench: TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/4158
* Allow tempoup to fall back to gh verification by @decofe in https://github.com/tempoxyz/tempo/pull/4014
* test: snapshot pre-T6 TIP20 memo transfer gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4226
* fix(txpool): keep paused txs on keychain spends by @mattsse in https://github.com/tempoxyz/tempo/pull/4279
* ci(bench): internal perf dashboard link in bench-e2e output by @decofe in https://github.com/tempoxyz/tempo/pull/4089
* ci(bench): handle quoted e2e node args by @decofe in https://github.com/tempoxyz/tempo/pull/4281
* fix: account for extra data when estimating block size by @klkvr in https://github.com/tempoxyz/tempo/pull/4289
* perf(transaction-pool): use entry api for fee balance cache by @mattsse in https://github.com/tempoxyz/tempo/pull/4254
* fix(txpool): use resolved fee token in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4272
* ci(bench): classify e2e run-pair benchmarks by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4124
* fix(txpool): refresh tracked fee balance top-ups by @mattsse in https://github.com/tempoxyz/tempo/pull/4297
* refactor(txpool): relax AMM liquidity provider borrow by @mattsse in https://github.com/tempoxyz/tempo/pull/4291
* fix(txpool): preserve sponsored keychain transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/4304
* fix(follower): add jittered linear backoff for follower reconnects by @decofe in https://github.com/tempoxyz/tempo/pull/4280
* bench: disable legacy marshal archive in e2e benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4307
* chore(consensus\_context): cleanup post-t4 activation by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4146
* test(tip-20): add T5 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4308
* fix(txpool): evict implicit fee txs by fee payer by @mattsse in https://github.com/tempoxyz/tempo/pull/4319
* ci(bench): support gas limit suffixes in bench comments by @decofe in https://github.com/tempoxyz/tempo/pull/4303
* docs(revm): clarify handler behavior for same-tx key auth by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4335
* docs(tip-1034): clarify operator trust assumptions by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4331
* docs: clarify access-key contract creation restriction by @legion2002 in https://github.com/tempoxyz/tempo/pull/4357
* tip: admin access keys by @jxom in https://github.com/tempoxyz/tempo/pull/3645
* Add threat model section to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4360
* refactor(txpool): update maintenance ordering by @mattsse in https://github.com/tempoxyz/tempo/pull/4312
* chore: bump reth and revm by @klkvr in https://github.com/tempoxyz/tempo/pull/4309
* refactor(transaction-pool): avoid expiring nonce hash copy by @mattsse in https://github.com/tempoxyz/tempo/pull/4364
* perf(pool): precompute fee balance slot during pool validation by @decofe in https://github.com/tempoxyz/tempo/pull/4358
* perf(tip-1034): cache domain separator by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4346
* refactor(transaction-pool): simplify expiring nonce eviction order by @mattsse in https://github.com/tempoxyz/tempo/pull/4365
* chore(tip-1034): resolve virtual payee on open/top-up checks by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4383
* perf(payload): use cached payment classification by @mattsse in https://github.com/tempoxyz/tempo/pull/4392
* perf(revm): do not compute unique tx identifier twice by @shekhirin in https://github.com/tempoxyz/tempo/pull/4391
* Enable T6 for invariant tests by @decofe in https://github.com/tempoxyz/tempo/pull/4404
* SIGP-262: Reject contradictory account keychain call scopes by @legion2002 in https://github.com/tempoxyz/tempo/pull/4359
* Fix existing recipients txgen env propagation by @decofe in https://github.com/tempoxyz/tempo/pull/4409
* fix(tip-1034): skip noop top-ups by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4317
* feat: add `FlipFailed` event to stablecoing dex by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4326
* feat(consensus): encrypt signing keys at rest by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4111
* perf(builder): enable execution cache sharing by @decofe in https://github.com/tempoxyz/tempo/pull/4266
* perf(payload): remove per-transaction builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4402
* feat: enable builder prewarming by default by @decofe in https://github.com/tempoxyz/tempo/pull/4423
* bench(evm): run TIP20 benches for current and latest hardforks by @shekhirin in https://github.com/tempoxyz/tempo/pull/4419
* ci(bench): remove e2e default local builder args by @decofe in https://github.com/tempoxyz/tempo/pull/4437
* ci(bench): update e2e regenesis and node arg compatibility by @decofe in https://github.com/tempoxyz/tempo/pull/4415
* docs(dex): clarify multi-hop policy 403 behavior by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4350
* feat(chainspec): schedule T5 activation times by @jenpaff in https://github.com/tempoxyz/tempo/pull/4410
* feat(builder): add elastic payload build budget by @joshieDo in https://github.com/tempoxyz/tempo/pull/4277
* fix(bench): quote PR bench args before shell by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4449
* fix: reject keychain-wrapped channel reserve vouchers by @legion2002 in https://github.com/tempoxyz/tempo/pull/4375
* docs: align payment classification TIPs by @legion2002 in https://github.com/tempoxyz/tempo/pull/4448
* fix(pool): exclude mined txs from expiry eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4425
* fix(consensus): accept deprecated proposal timing flags by @joshieDo in https://github.com/tempoxyz/tempo/pull/4465
* feat(payload): restore aggregate builder duration metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4432
* chore: bump alloy-evm by @klkvr in https://github.com/tempoxyz/tempo/pull/4433
* feat: follower fast-sync via the network identity by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4062
* ci(bench): tune e2e benchmark verdict noise by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4305
* ci(bench): update Slack user mapping by @decofe in https://github.com/tempoxyz/tempo/pull/4555
* fix: gate auth new account charge by @klkvr in https://github.com/tempoxyz/tempo/pull/4561
* feat(bench): report pool fetch builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4553
* bench: remove TPS quantiles from summary by @decofe in https://github.com/tempoxyz/tempo/pull/4571
* refactor(transaction-pool): avoid temporary eviction vec by @mattsse in https://github.com/tempoxyz/tempo/pull/4586
* fix: enforce secp256k1 feature propagation by @mattsse in https://github.com/tempoxyz/tempo/pull/4574
* perf: use direct BTree first-entry access by @mattsse in https://github.com/tempoxyz/tempo/pull/4587
* refactor(pool): split expiring nonce removal paths by @mattsse in https://github.com/tempoxyz/tempo/pull/4591
* fix(alloy): treat blank relay test env vars as absent by @mattsse in https://github.com/tempoxyz/tempo/pull/4593
* ci(bench): stream VM metrics during e2e by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4566
* perf(transaction-pool): cache AA pool counts by @figtracer in https://github.com/tempoxyz/tempo/pull/4554
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/4599
* ci: remove TPS percentile rows from bench Slack message by @decofe in https://github.com/tempoxyz/tempo/pull/4605
* feat(account-keychain): implement admin access keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4265
* docs(tip-1065): update from meta-TIP to independent TIP by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4191
* fix(bench): remove TPS percentile rows from e2e summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4608
* perf: cache AA replay hash by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4480
* docs: update README wordmark by @Slokh in https://github.com/tempoxyz/tempo/pull/4613
* ci(bench): revert e2e VM metric forwarding by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4614
* feat: wire bench valscope static reports by @joshieDo in https://github.com/tempoxyz/tempo/pull/4424
* ci(bench): run scheduled e2e benches for 600s by @decofe in https://github.com/tempoxyz/tempo/pull/4616
* perf(tip20): better reward handling by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4161
* perf: precalculate keccak slots for TIP-20 transfers at txpool entry by @joshieDo in https://github.com/tempoxyz/tempo/pull/3626
* feat(signature-verifier): add verifyAdmin by @legion2002 in https://github.com/tempoxyz/tempo/pull/4302
* fix(ci): use variable for ValScope report URL by @joshieDo in https://github.com/tempoxyz/tempo/pull/4634
* Bump tempo workspace version to 1.8.0 by @decofe in https://github.com/tempoxyz/tempo/pull/4650
* chore: release `tempo-alloy@1.8.0`, `tempo-contracts@1.8.0` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4219
* fix(Revert): "perf(builder): enable execution cache sharing" by @emmajam in https://github.com/tempoxyz/tempo/pull/4709
* fix(revert): "feat: enable builder prewarming by default" by @emmajam in https://github.com/tempoxyz/tempo/pull/4710
* ci(bench): enable builder cache & prewarming flags in bench-e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4736
* perf(transaction-pool): append AA transactions in one scan by @mattsse in https://github.com/tempoxyz/tempo/pull/4737
* Add observability requirements to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4722
* docs: clarify elastic proposal budget model by @joshieDo in https://github.com/tempoxyz/tempo/pull/4570
* feat(bench): support per-side feature flags by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4741
* Add Cyclops audit comment trigger by @legion2002 in https://github.com/tempoxyz/tempo/pull/4600
* fix(bench): run feature side first by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4751
* bench: gate ValScope summary behind flag by @decofe in https://github.com/tempoxyz/tempo/pull/4756
* bench: remove no-slack from manual dispatch inputs by @decofe in https://github.com/tempoxyz/tempo/pull/4782
* perf(transaction-pool): pre-warm nonce storage slots derivation off aa\_2d\_pool write locks by @i-m-aditya in https://github.com/tempoxyz/tempo/pull/4718
* feat(bench): add optional BAL to Tempo execution payloads by @decofe in https://github.com/tempoxyz/tempo/pull/4026
* perf(transaction-pool): avoid sorting expiring nonce best txs by @mattsse in https://github.com/tempoxyz/tempo/pull/4646
* perf: parallelize `Builder::finish` computations by @klkvr in https://github.com/tempoxyz/tempo/pull/4473
* bench-e2e: append side features to global features by @decofe in https://github.com/tempoxyz/tempo/pull/5137
* perf(pool): store transaction priority as u64 by @mattsse in https://github.com/tempoxyz/tempo/pull/5138
* ci: run Docker nightly build once daily by @decofe in https://github.com/tempoxyz/tempo/pull/5140
* perf(transaction-pool): reuse state update scratch buffers by @mattsse in https://github.com/tempoxyz/tempo/pull/4775
* fix: drop tx iter early by @mattsse in https://github.com/tempoxyz/tempo/pull/4726
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/5148
* perf(pool): use entry for expiring nonce inserts by @mattsse in https://github.com/tempoxyz/tempo/pull/5143
* feat(bench): add block size verdict metrics by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5136
* ci(bench): increase bench-e2e default TPS to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5145
* perf: cache commonware block encode size by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5135
* fix(consensus): avoid panic by mapping expired blocks to None by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5158
* ci(bench): include PR number in txgen bench metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5160
* chore: bump workspace version to 1.8.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5163
* ci(bench): update remaining e2e TPS defaults to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5165
* fix(bench): pass localnet signing secret in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5172
* ci: use foundry `master` in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5180
* fix(bench): detect armored age signing keys by @decofe in https://github.com/tempoxyz/tempo/pull/5177
* perf: use linear storage handler cache by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4455
* perf: use hybrid storage handler cache by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5038
* ci: log update-reth PR failures by @decofe in https://github.com/tempoxyz/tempo/pull/5218
* fix(follower): don't hard fail when consensus block is missing by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5154
* fix(tip-1059): discount based on gas limit by @klkvr in https://github.com/tempoxyz/tempo/pull/4500
* feat(txpool): support dynamic basefee by @klkvr in https://github.com/tempoxyz/tempo/pull/5243
* fix(localnet): pass consensus signing key secret by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5241
* chore: bump fixed-cache to 0.1.10 by @decofe in https://github.com/tempoxyz/tempo/pull/5245
* perf: avoid useless SSLOAD in 403 registry by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5239
* fix(bench): exclude warmup blocks from summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5253
* ci(bench): add TIP-20 2D nonce preset by @shekhirin in https://github.com/tempoxyz/tempo/pull/5236
* perf(builder): prewarm expiring nonce ring slots by @shekhirin in https://github.com/tempoxyz/tempo/pull/5144
* fix(follower/driver): always allow using the fallback by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5258
* fix(tempoup): use gh for release lookup and write logs to stderr by @grandizzy in https://github.com/tempoxyz/tempo/pull/5227
* fix(localnet): honor skip-build for tempo-xtask by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5268
* Allow rkrasiuk to trigger PR benches by @decofe in https://github.com/tempoxyz/tempo/pull/5273
* docs: add Rust formatting guidance by @decofe in https://github.com/tempoxyz/tempo/pull/5280
* perf(pool): reuse maintenance transaction snapshots by @mattsse in https://github.com/tempoxyz/tempo/pull/5284
* fix(ci): build binaries workflow without just by @decofe in https://github.com/tempoxyz/tempo/pull/5279
* fix(tempo): provide --secret for signing consensus smart contract args by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5276
* feat(consensus): register new peers as secondary nodes by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4623
* bench: reduce tip20 txgen valid window by @decofe in https://github.com/tempoxyz/tempo/pull/5275
* ci: fix precompiles coverage html artifact by @decofe in https://github.com/tempoxyz/tempo/pull/5290
* Add T7 hardfork scaffold by @decofe in https://github.com/tempoxyz/tempo/pull/5266
* ci(bench): support zero bloat in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5293
* fix(payload): offload prewarm receiver cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/5298
* perf(payload): pace builder budget with validation latency feedback by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5211
* perf(consensus): share commonware block clones by @mattsse in https://github.com/tempoxyz/tempo/pull/5307
* fix(ci): update stale Foundry Tempo locks first by @mattsse in https://github.com/tempoxyz/tempo/pull/5384
* fix(ci): ignore proc-macro-error2 advisory by @mattsse in https://github.com/tempoxyz/tempo/pull/5413
* Add metrics option to Derek bench workflows by @decofe in https://github.com/tempoxyz/tempo/pull/5412
* deps: update reth from main (2026-06-08) by @decofe in https://github.com/tempoxyz/tempo/pull/5220
* perf: use jemalloc for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4877
* perf: enable keccak cache for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4983
* perf: cache validated USD fee token by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4686
* perf(node): disable redundant payload state precache by @mattsse in https://github.com/tempoxyz/tempo/pull/5419
* chore(tips): update tempo-std verifier submodule by @mattsse in https://github.com/tempoxyz/tempo/pull/5420
* refactor(commonware-node): decode sealed blocks directly by @mattsse in https://github.com/tempoxyz/tempo/pull/5424
* chore(consensus): remove legacy immutable finalized blocks archive by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5234
* Use maxperf profile for benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/5415
* Revert "perf: cache validated USD fee token (#4686)" by @shekhirin in https://github.com/tempoxyz/tempo/pull/5437
* feat(pool): add best transaction size hints by @mattsse in https://github.com/tempoxyz/tempo/pull/5432
* fix(consensus): keep no legacy archive flag as noop by @decofe in https://github.com/tempoxyz/tempo/pull/5444
* Apply TIP-1059 discount to RPC transactions by @decofe in https://github.com/tempoxyz/tempo/pull/5422
* Revert "Apply TIP-1059 discount to RPC transactions" by @klkvr in https://github.com/tempoxyz/tempo/pull/5453
* docs(tip-1049): fix stale admin key docs by @legion2002 in https://github.com/tempoxyz/tempo/pull/5457
* feat(xtask): add shadow fork generation and bootstrap commands by @kamsz in https://github.com/tempoxyz/tempo/pull/5176
* docs(tip-1028): update 1028 docs to clarify that allowance is spent by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5462
* chore: gate evm dependencies by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5467
* chore: add workspace package metadata by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5472
* fix: add `tempo-chainspec` to gh action releases by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5492
* ci: limit CodSpeed microbenches to relevant crates by @decofe in https://github.com/tempoxyz/tempo/pull/5493
* ci: skip precompile forge tests for release metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5498
* refactor(primitives): move expiry check onto recovered subblock by @mattsse in https://github.com/tempoxyz/tempo/pull/5431
* fix: write changesets in `init-from-binary-dump` by @klkvr in https://github.com/tempoxyz/tempo/pull/5466
* perf: build bal in parallel by @klkvr in https://github.com/tempoxyz/tempo/pull/5301
* fix(transaction-pool): avoid eager transaction collection by @mattsse in https://github.com/tempoxyz/tempo/pull/5513
* chore(consensus): provide round to fetch proposal and log success by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5451
* perf(transaction-pool): avoid tx env clone during validation by @mattsse in https://github.com/tempoxyz/tempo/pull/5518
* chore: make tempo-consensus a module under tempo-evm by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3720
* fix(tip403): update `set_receive_policy` to reject when precompiles specified as recovery address by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5476
* chore(tip403): update `is_authorized_simple` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5517
* docs(tip1028): update interface to match implementation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5481
* chore: require verified-human review by @sds in https://github.com/tempoxyz/tempo/pull/5528
* fix(evm): reset collected fee per transaction by @legion2002 in https://github.com/tempoxyz/tempo/pull/5506
* chore(consensus): rename commonware-node to consensus by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5530
* chore(tip-1059): revert discount for pure payment settlement by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5499
* docs(tip1028): clarify receipt claim checks by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5480
* perf(pool): cache transaction validation reads by @mattsse in https://github.com/tempoxyz/tempo/pull/5522
* chore(tip403): remove unnecessary `set_receive_policy` check by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5526
* feat: include finalization in tempo snapshots  by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4482
* chore: update CODEOWNERS by @0xalpharush in https://github.com/tempoxyz/tempo/pull/5547
* chore: disable codeowners enforcement by VK by @sds in https://github.com/tempoxyz/tempo/pull/5549
* Add 0xrusowsky to crate CODEOWNERS by @decofe in https://github.com/tempoxyz/tempo/pull/5548
* Add jenpaff as tips codeowner by @decofe in https://github.com/tempoxyz/tempo/pull/5583
* Revert "perf(tip20): better reward handling" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5538
* perf(transaction-pool): allocate AA transaction before write lock by @mattsse in https://github.com/tempoxyz/tempo/pull/5546
* perf(tx-pool): remove eviction entries by lightweight order key by @mattsse in https://github.com/tempoxyz/tempo/pull/5585
* perf(primitives): avoid signature RLP length allocation by @mattsse in https://github.com/tempoxyz/tempo/pull/5553
* Add T6 timestamps by @jenpaff in https://github.com/tempoxyz/tempo/pull/5584
* docs(tips): add tooling prompt to TIP template by @emmajam in https://github.com/tempoxyz/tempo/pull/5592
* feat(chainspec): add T8 wiring by @legion2002 in https://github.com/tempoxyz/tempo/pull/5591
* ci: retry cosign docker signing by @decofe in https://github.com/tempoxyz/tempo/pull/5577
* chore(bench): raise builder classification floors by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5586
* perf(tx-pool): drop removed transactions at the end of the block update by @mattsse in https://github.com/tempoxyz/tempo/pull/5590
* refactor(consensus): make execution actor non-blocking by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5312
* Remove stale TIP-1059 and TIP-1065 T6 references by @decofe in https://github.com/tempoxyz/tempo/pull/5597
* test(tx-pool): validate regular eviction invariants by @mattsse in https://github.com/tempoxyz/tempo/pull/5593
* feat: TIP-1067 by @klkvr in https://github.com/tempoxyz/tempo/pull/5257
* perf(txpool): reduce map lookups when inserting AA 2D transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/5602
* ci: skip foundry precompile tests for SDK release bumps by @decofe in https://github.com/tempoxyz/tempo/pull/5610
* perf(txpool): cache active hardfork as atomic in validator by @mattsse in https://github.com/tempoxyz/tempo/pull/5603
* feat(tip-1075): disable TIP20 rewards by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5433
* chore: update cargo.toml to v1.8.2 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5619
* ci: upload bench metrics when valscope is enabled by @decofe in https://github.com/tempoxyz/tempo/pull/5527
* perf(tx-pool): share EVM and state reads across transaction validations by @mattsse in https://github.com/tempoxyz/tempo/pull/5572
* perf(txpool): resolve fee payer only when fee token changed by @mattsse in https://github.com/tempoxyz/tempo/pull/5621
* ci(release): open cargo bump PR after release by @jenpaff in https://github.com/tempoxyz/tempo/pull/5620
* refactor: simplify redundancies in tempo main.rs by @mattsse in https://github.com/tempoxyz/tempo/pull/5629
* refactor: convert tempo binary into a library by @mattsse in https://github.com/tempoxyz/tempo/pull/5631
* Make bench-e2e hardfork flags optional by @decofe in https://github.com/tempoxyz/tempo/pull/5613
* ci(bench): use existing recipients preset, multiple TIP-20 tokens by @shekhirin in https://github.com/tempoxyz/tempo/pull/5618
* feat: default builder cache sharing on by @decofe in https://github.com/tempoxyz/tempo/pull/5529
* ci(bench): make e2e txgen token count configurable by @decofe in https://github.com/tempoxyz/tempo/pull/5633
* feat(tip-1067): dynamic base fee by @dankrad in https://github.com/tempoxyz/tempo/pull/5153
* refactor: make tempo eth api builder generic by @mattsse in https://github.com/tempoxyz/tempo/pull/5634
* perf(txpool): reuse cached fee payer from tx env by @mattsse in https://github.com/tempoxyz/tempo/pull/5622
* test(amm): keep required liquidity burn check priced by @decofe in https://github.com/tempoxyz/tempo/pull/5617
* TIP-1075: Deprecate TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/5380
* perf: trim fee manager prewarm account touch by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5454
* ci: allow changelog fragments in SDK release skip by @decofe in https://github.com/tempoxyz/tempo/pull/5640
* chore: release `tempo-alloy@1.8.1`, `tempo-chainspec@1.8.2` and 2 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/5497
* perf(txpool): drop redundant mined-hash set in expired eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/5646
* perf(txpool): narrow TIP-20 Transfer decoding in pool maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/5645
* fix(cli): give faucet.enabled arg a unique clap id by @decofe in https://github.com/tempoxyz/tempo/pull/5655
* fix(bench): enable samply logs in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5656
* fix(rpc): pin simulate metadata block by @mattsse in https://github.com/tempoxyz/tempo/pull/5658
* perf(txpool): batch-drain new-transaction events in maintenance loop by @mattsse in https://github.com/tempoxyz/tempo/pull/5648
* perf(txpool): skip expiry untracking when nothing is tracked by @mattsse in https://github.com/tempoxyz/tempo/pull/5649
* deps: update reth from main (2026-06-15) by @decofe in https://github.com/tempoxyz/tempo/pull/5564
* ci: restore Foundry master checkout by @decofe in https://github.com/tempoxyz/tempo/pull/5785
* chore: bump reth by @decofe in https://github.com/tempoxyz/tempo/pull/5822
* Fix e2e existing recipient bloat token count by @decofe in https://github.com/tempoxyz/tempo/pull/5818
* feat(primitives): add AA signer recovery helper for expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/5664
* ci(bench): grant CAP\_SYS\_NICE to e2e benchmark process by @decofe in https://github.com/tempoxyz/tempo/pull/5784
* feat(pool): forward additional stateless/stateful validation hooks by @mattsse in https://github.com/tempoxyz/tempo/pull/5628
* feat(tempo): add programmatic node overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/5910
* ci(bench): use `tip20_existing_recipients` preset in comments by @shekhirin in https://github.com/tempoxyz/tempo/pull/5641
* fix(bench): run e2e samply under sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5932
* refactor(consensus): executor owns payload jobs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5625
* chore: default follow engine to be certified by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5845
* ci: remove Derek bench user allowlist by @decofe in https://github.com/tempoxyz/tempo/pull/5946
* ci(bench): clean e2e checkout workspace with sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5950
* fix: accept deprecated follow certify flag without value by @decofe in https://github.com/tempoxyz/tempo/pull/5964
* revert: ci(bench): sudo by @shekhirin in https://github.com/tempoxyz/tempo/pull/5970
* fix(cli): initialize tracing before running snapshot cmd by @Rjected in https://github.com/tempoxyz/tempo/pull/5982
* feat(tip-1060): impl `StorageCredits` precompile by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5228
* ci: fix reth update Amp retry loop by @decofe in https://github.com/tempoxyz/tempo/pull/6034
* perf(consensus): defer verify block drops by @mattsse in https://github.com/tempoxyz/tempo/pull/6012
* chore: bump MSRV to Rust 1.96 by @decofe in https://github.com/tempoxyz/tempo/pull/6035
* perf(evm): shrink payload tx iterator items by @mattsse in https://github.com/tempoxyz/tempo/pull/5998
* feat(evm): record sload and sstore actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/5423
* perf: defer state provider drop by @klkvr in https://github.com/tempoxyz/tempo/pull/6046
* ci: revert foundry checkout pin in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/6054
* fix(consensus): resubscribe follow upstream events by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6051
* deps: update reth from main (2026-06-17) by @decofe in https://github.com/tempoxyz/tempo/pull/5876
* chore(docker): bump rust from `64d9b7f` to `19817ea` by @dependabot\[bot] in https://github.com/tempoxyz/tempo/pull/6025
* chore(tip-1060): cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6052
* refactor: prewarm through evm by @klkvr in https://github.com/tempoxyz/tempo/pull/6085
* ci: print raw Amp output on failure, use Amp Neo by @decofe in https://github.com/tempoxyz/tempo/pull/6062
* ci(bench): retry bench chart pushes from fresh clones by @decofe in https://github.com/tempoxyz/tempo/pull/6144
* feat(precompiles): storage delta helpers by @shekhirin in https://github.com/tempoxyz/tempo/pull/5605
* deps: update reth from main (2026-06-18) by @decofe in https://github.com/tempoxyz/tempo/pull/6134
* ci(bench): scrape runner node exporter in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/6047
* perf(rpc): avoid cloning subblock pool transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/6176
* perf(txpool): optimize raw Tempo transaction recovery by @mattsse in https://github.com/tempoxyz/tempo/pull/6175
* tests: add T7 gas estimate expectation by @decofe in https://github.com/tempoxyz/tempo/pull/6194
* ci: reset bench e2e workspace by @decofe in https://github.com/tempoxyz/tempo/pull/6170
* perf(consensus): cache encoded execution blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/5421
* ci: add tracy setup to e2e benchmark workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5315
* chore(tempo-e2e): metrics refactors by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5659
* fix(consensus): load recovered parent blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6203
* chore: increase stale PR operations per run by @decofe in https://github.com/tempoxyz/tempo/pull/6205
* refactor(consensus): preserve recovered finalized blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6207
* perf(consensus): use recovered block lookups by @mattsse in https://github.com/tempoxyz/tempo/pull/6208
* chore: bump mozilla-actions/sccache-action from v0.0.9 to v0.0.10 by @laibe in https://github.com/tempoxyz/tempo/pull/5632
* style(precompiles): split storage helpers + add docs by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6212
* fix(bench): make block size metrics informational by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6198
* ci: ignore pending Review check in reth updater by @decofe in https://github.com/tempoxyz/tempo/pull/6214
* ci(bench): trim bench command comments before matching by @decofe in https://github.com/tempoxyz/tempo/pull/6215
* ci: fix Release PR post-merge failures by @decofe in https://github.com/tempoxyz/tempo/pull/6221
* ci(bench): revert Tracy and txgen CPU pinning by @decofe in https://github.com/tempoxyz/tempo/pull/6226
* chore(release): v1.9.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6220
* test(node): cover upcoming devnet hardforks by @mattsse in https://github.com/tempoxyz/tempo/pull/6217
* fix(cli): hide and silence snapshot skip-consensus overrides by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6228
* Add rkrasiuk bench Slack mapping by @decofe in https://github.com/tempoxyz/tempo/pull/6234
* feat(precompiles): do not record SINC/SDEC for zero storages by @shekhirin in https://github.com/tempoxyz/tempo/pull/6160
* Disable only TIP-1060 credit minting in fee hooks by @decofe in https://github.com/tempoxyz/tempo/pull/6248
* fix(serde): serialize sealed blocks as plain blocks by @decofe in https://github.com/tempoxyz/tempo/pull/6252
* Record e2e bench setup metadata by @decofe in https://github.com/tempoxyz/tempo/pull/6232
* ci(bench): allow bare tracy bench flag by @decofe in https://github.com/tempoxyz/tempo/pull/6242
* feat(alloy): add receive-policy and admin-key helpers by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6251
* ci: allow T7 and T8 bench hardforks by @decofe in https://github.com/tempoxyz/tempo/pull/6261
* feat: bundle consensus archive together with EL snapshot by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5789
* fix(tip-1060): non-creditable storage slots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6206
* fix(deps): update memmap2 to 0.9.11 by @mattsse in https://github.com/tempoxyz/tempo/pull/6270
* feat: avoid recreating periodic spending limit remaining field by @klkvr in https://github.com/tempoxyz/tempo/pull/6233
* fix(tip-1060): disable credit minting for fee distribution by @decofe in https://github.com/tempoxyz/tempo/pull/6237
* feat(tip-1064): maker storage credits on the DEX by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5305
* chore: fix bench bloat metadata forwarding by @decofe in https://github.com/tempoxyz/tempo/pull/6282
* docs(tip-1060): improve docs and style by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6281
* ci(bench): bump bench-e2e gas limit default by @decofe in https://github.com/tempoxyz/tempo/pull/6283
* chore: fix coverage bloat scope by @decofe in https://github.com/tempoxyz/tempo/pull/6284
* feat(tip-1066): add channel storage credits by @legion2002 in https://github.com/tempoxyz/tempo/pull/5935
* ci(bench): use feature binary for e2e regenesis by @decofe in https://github.com/tempoxyz/tempo/pull/6285
* TIP-1064: StablecoinDEX order storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4082
* ci(bench): display Tracy bench config as enabled by @decofe in https://github.com/tempoxyz/tempo/pull/6287
* chore(evm): expose `NonCreditableSlots` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6288
* perf: avoid disabled storage action allocation by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/6075
* fix(precompiles): update actions test for T6 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6294
* fix(tip-1060): keychain remaining sentinel by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6291
* test(precompile): add labels to action snapshots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6297
* style(tip-1060): clarity rename by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6280
* deps: update reth from main (2026-06-23) by @decofe in https://github.com/tempoxyz/tempo/pull/6211
* TIP-1060: contract storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4016
* ci(bench): support feature-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6292
* docs: update TIP rollout statuses by @decofe in https://github.com/tempoxyz/tempo/pull/6304
* fix(keychain): decode T7 periodic limit sentinel in reads by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6310
* test: fix invariant ghost nonce accounting by @decofe in https://github.com/tempoxyz/tempo/pull/6298
* Install macOS libusb dependency in tempoup by @parvahuja in https://github.com/tempoxyz/tempo/pull/6274
* ci(bench): use PR base branch for bench-e2e baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6305
* feat(builder): gas limit from CLI arguments and chain defaults by @decofe in https://github.com/tempoxyz/tempo/pull/6387
* feat(payload): thread skip-state-root into tempo builder by @decofe in https://github.com/tempoxyz/tempo/pull/6306
* Add bench general gas limit override by @decofe in https://github.com/tempoxyz/tempo/pull/6311
* ci(bench): update tip20 txgen fee token preset by @decofe in https://github.com/tempoxyz/tempo/pull/5959
* refactor: expose full `TempoBlockEnv` to precompiles by @klkvr in https://github.com/tempoxyz/tempo/pull/6394
* ci(bench): set explicit nonce for TIP-20 2D txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6393
* fix(bench): pass gas limits to localnet by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6391
* ci(bench): add TIP-20 protocol nonce txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6395
* feat(evm): make protocol fee manager generic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6279
* Update hardfork version from T6 to T7 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6400
* feat: expose `epoch_length` for precompiles by @decofe in https://github.com/tempoxyz/tempo/pull/6286
* Add T7 timestamps by @legion2002 in https://github.com/tempoxyz/tempo/pull/6396
* Track reverted transactions in payload builder by @decofe in https://github.com/tempoxyz/tempo/pull/6403
* feat: isolate `hardforks` into a crate without tempo deps by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6468
* ci(bench): disable txgen txpool drain wait by @decofe in https://github.com/tempoxyz/tempo/pull/6480
* chore: release `tempo-alloy@1.9.0`, `tempo-chainspec@1.9.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6484

</details>

## tempo-hardfork@1.9.0 (2026-06-25)

### Minor Changes

* Extracts Tempo hardfork definitions and activation schedules into a new `tempo-hardfork` crate for SDK reuse without chainspec dependencies.
* Updates `tempo-alloy` to depend on and re-export `tempo-hardfork` instead of `tempo-chainspec`. (by @DerekCofausper, [#6480](https://github.com/tempoxyz/tempo/pull/6480))

<details><summary>What's Changed</summary>

* ci(bench): remove bench metrics proxy by @decofe in https://github.com/tempoxyz/tempo/pull/4021
* ci(bench): use bench RPC secrets for replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4023
* ci(bench): Grafana summary URL by @decofe in https://github.com/tempoxyz/tempo/pull/4028
* ci(bench): bump bench-e2e gas limit to 1B by @decofe in https://github.com/tempoxyz/tempo/pull/4029
* ci(bench): improve bench-e2e GitHub reporting by @decofe in https://github.com/tempoxyz/tempo/pull/4032
* chore: bump alloy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4027
* Fix bench workflow issue permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4038
* Clarify TIP-1035 helper activation semantics by @decofe in https://github.com/tempoxyz/tempo/pull/4035
* perf(builder): boilerplate of prewarming for best transactions by @shekhirin in https://github.com/tempoxyz/tempo/pull/3865
* ci(bench): fix scheduled e2e benchmark workflow permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4047
* ci(bench): clean stale reth IPC before replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4048
* chore(tips): add tip naming pre-commit hook by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4020
* ci(bench): mask derived telemetry output in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4051
* feat(consensus): prunable blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3870
* fix(p2p): report proxy request and item counts by @mattsse in https://github.com/tempoxyz/tempo/pull/3948
* feat(primitives): use signature marker for sponsor requests by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4033
* ci: enable bench OTLP exports by default by @decofe in https://github.com/tempoxyz/tempo/pull/4050
* Fix bench e2e trace explore filters by @decofe in https://github.com/tempoxyz/tempo/pull/4052
* fix(rpc): improve fee token errors by @brendanjryan in https://github.com/tempoxyz/tempo/pull/3877
* ci(bench): label tempo replay bench telemetry by @decofe in https://github.com/tempoxyz/tempo/pull/4054
* fix(tip-1034): protect `TIP20EscrowChannel` from burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3989
* ci(bench): fix bench observability links and ids by @decofe in https://github.com/tempoxyz/tempo/pull/4055
* bench: enable payload builder sharing flags by default by @decofe in https://github.com/tempoxyz/tempo/pull/4053
* fix(tip-1033): surface tx `validator_fee` info to builder by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3991
* feat(builder): stop reason metric by @decofe in https://github.com/tempoxyz/tempo/pull/4060
* perf(benches): add in-memory tip20 execution microbenchmark by @Rjected in https://github.com/tempoxyz/tempo/pull/4043
* fix(tip-1034): enforce TIP-403 policy rules by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3994
* ci(bench): remove latency stddev from bench summaries by @decofe in https://github.com/tempoxyz/tempo/pull/4078
* bench: add manual CodSpeed workflow by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4081
* ci(bench): add gas throughput to e2e summary tables by @decofe in https://github.com/tempoxyz/tempo/pull/4084
* ci(bench): random-recipient preset for TIP-20 benches by @shekhirin in https://github.com/tempoxyz/tempo/pull/3975
* deps: update reth from main (2026-05-20) by @decofe in https://github.com/tempoxyz/tempo/pull/3986
* ci(bench): parameterize benchmark run pairs by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4083
* chore: default tips verification to T5 by @decofe in https://github.com/tempoxyz/tempo/pull/4087
* perf(txpool): precompute expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/4094
* perf(pool): use B256Map for transaction indexes by @mattsse in https://github.com/tempoxyz/tempo/pull/4092
* ci(bench): make bench-e2e preset a dropdown by @decofe in https://github.com/tempoxyz/tempo/pull/4098
* perf(builder): use execution cache from build arguments by @shekhirin in https://github.com/tempoxyz/tempo/pull/3602
* Rename invariant entrypoints for per-campaign metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4102
* test(stablecoin-dex): snapshot order gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4076
* perf(benches): enable asm keccak for tip20 execution bench by @Rjected in https://github.com/tempoxyz/tempo/pull/4068
* perf(benches): run tip20 execution through fixed execution cache by @Rjected in https://github.com/tempoxyz/tempo/pull/4071
* Enable continuous CodSpeed microbenchmarks on push and PR by @codspeed-hq\[bot] in https://github.com/tempoxyz/tempo/pull/4103
* chore: deny cast\_lossless clippy lint by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4077
* Fix bench summary compressed samples by @decofe in https://github.com/tempoxyz/tempo/pull/4106
* test: add TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4080
* fix(invariants): remove flaky coverage assertions from SignatureVerifier by @decofe in https://github.com/tempoxyz/tempo/pull/3993
* Update protocol version in TIP-1047 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3992
* docs(tip-1034): rename channel escrow to reserve by @brendanjryan in https://github.com/tempoxyz/tempo/pull/4110
* chore: reset main version to 1.7.0 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4120
* Rename TIP-20 channel escrow to reserve by @decofe in https://github.com/tempoxyz/tempo/pull/4113
* test: stabilize TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4125
* perf(transaction-pool): index expiring nonce eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4091
* perf: avoid marshal contention by @klkvr in https://github.com/tempoxyz/tempo/pull/4058
* chore: release `tempo-alloy@1.7.2`, `tempo-contracts@1.7.2` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4036
* Cache AA transaction signature hash by @decofe in https://github.com/tempoxyz/tempo/pull/4129
* refactor(node): use empty body storage by @mattsse in https://github.com/tempoxyz/tempo/pull/4128
* ci(bench): run CodSpeed on depot runner and filter benches by @decofe in https://github.com/tempoxyz/tempo/pull/4121
* ci(bench): disable txgen send retries by @decofe in https://github.com/tempoxyz/tempo/pull/4137
* feat(payload): split builder tx execution metrics by @joshieDo in https://github.com/tempoxyz/tempo/pull/4127
* Fix bench e2e Grafana dashboard URL by @decofe in https://github.com/tempoxyz/tempo/pull/4134
* feat(txgen): add existing recipient TIP20 preset by @onbjerg in https://github.com/tempoxyz/tempo/pull/4132
* perf(builder): implement prewarming by @shekhirin in https://github.com/tempoxyz/tempo/pull/3893
* ci: benchmark scheduled e2e against latest main by @decofe in https://github.com/tempoxyz/tempo/pull/4152
* ci(bench): enable prewarming in e2e bench by @decofe in https://github.com/tempoxyz/tempo/pull/4153
* feat: share execution cache in benches by @klkvr in https://github.com/tempoxyz/tempo/pull/4147
* feat(builder): increase transaction execution wait default by @decofe in https://github.com/tempoxyz/tempo/pull/4105
* chore: set workspace version to 1.7.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4160
* docs: remove TIP-1047 from T5 meta TIP by @decofe in https://github.com/tempoxyz/tempo/pull/4162
* feat(builder): separate state root metrics from builder finish by @decofe in https://github.com/tempoxyz/tempo/pull/4135
* ci: set weekend invariant timeout by @decofe in https://github.com/tempoxyz/tempo/pull/4025
* ci(bench): comparison hardfork labels by @decofe in https://github.com/tempoxyz/tempo/pull/4059
* docs(primitives): clarify transaction validity timestamps by @mattsse in https://github.com/tempoxyz/tempo/pull/4136
* update tip metadata  by @jenpaff in https://github.com/tempoxyz/tempo/pull/3778
* fix(txpool): resolve fee token from cached value by @decofe in https://github.com/tempoxyz/tempo/pull/4148
* docs(tip-1059): add discounted payment settlement by @malleshpai in https://github.com/tempoxyz/tempo/pull/4013
* TIP-1065: T6 Hardfork Meta TIP by @jenpaff in https://github.com/tempoxyz/tempo/pull/4167
* docs(tips): TIP-1028, Address-Level Receive Policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3791
* fix state hook precompile original info by @decofe in https://github.com/tempoxyz/tempo/pull/4171
* test: register precompile holders in TIP20 invariant by @decofe in https://github.com/tempoxyz/tempo/pull/4172
* Update cost implications for blocked transfers in TIP-20 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4173
* feat: encode the network identity into the chainspec by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4004
* perf(pool): clone cached tx env for payload building by @mattsse in https://github.com/tempoxyz/tempo/pull/4174
* perf(payload): use cached transaction lengths by @mattsse in https://github.com/tempoxyz/tempo/pull/4175
* perf(revm): cache tempo gas param overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/4182
* perf(transaction-pool): inline fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4183
* feat(alloy): add RelayTransport for sponsor/fee-payer support by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4010
* refactor(transaction-pool): use alloy primitive maps in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4178
* refactor(pool): reuse effective fee token helper by @mattsse in https://github.com/tempoxyz/tempo/pull/4181
* perf(transaction-pool): dispatch log decoding by topic by @mattsse in https://github.com/tempoxyz/tempo/pull/4179
* perf(transaction-pool): optimize expiry tracking cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/4177
* Downgrade tempo-alloy changelog to patch by @decofe in https://github.com/tempoxyz/tempo/pull/4188
* chore: release `tempo-alloy@1.7.3`, `tempo-contracts@1.7.3` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4184
* style: author typo by @decofe in https://github.com/tempoxyz/tempo/pull/4190
* docs(tip-1016): mark release as T4 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3709
* ci: reenable Foundry lint on build by @decofe in https://github.com/tempoxyz/tempo/pull/4154
* perf(transaction-pool): defer mined aa transaction drops by @mattsse in https://github.com/tempoxyz/tempo/pull/4185
* fix(transaction-pool): remove expiring nonce eviction entries in release by @mattsse in https://github.com/tempoxyz/tempo/pull/4189
* docs(tip-1034): explain close cumulative amount by @legion2002 in https://github.com/tempoxyz/tempo/pull/4199
* perf(transaction-pool): skip protocol nonce updates in aa pool by @mattsse in https://github.com/tempoxyz/tempo/pull/4187
* Use binary target for Foundry forge builds by @decofe in https://github.com/tempoxyz/tempo/pull/4207
* Restrict witness burning to admin keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4218
* feat(tip-1059): discount pure payment settlement by @0xKitsune in https://github.com/tempoxyz/tempo/pull/4139
* fix(tip-1034): validate signature encoding in payment lane by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4099
* chore: spawn txpool maintenace as blocking thread by @klkvr in https://github.com/tempoxyz/tempo/pull/4230
* feat(tip-1028): implement address-level receive policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3800
* perf(transaction-pool): gate keychain subject eviction checks by @mattsse in https://github.com/tempoxyz/tempo/pull/4252
* ci(bench): show derek command in e2e bench summary by @decofe in https://github.com/tempoxyz/tempo/pull/4263
* perf(builder): enable sparse trie sharing by default by @decofe in https://github.com/tempoxyz/tempo/pull/4195
* ci(bench): fix scheduled replay state scoping by @decofe in https://github.com/tempoxyz/tempo/pull/4259
* perf(bench): prefilter metric samples before parsing by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4208
* fix: protect self from blocked burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4264
* fix: ensure virtual channel payees use operators by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4258
* perf(transaction-pool): cache fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4253
* bench: TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/4158
* Allow tempoup to fall back to gh verification by @decofe in https://github.com/tempoxyz/tempo/pull/4014
* test: snapshot pre-T6 TIP20 memo transfer gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4226
* fix(txpool): keep paused txs on keychain spends by @mattsse in https://github.com/tempoxyz/tempo/pull/4279
* ci(bench): internal perf dashboard link in bench-e2e output by @decofe in https://github.com/tempoxyz/tempo/pull/4089
* ci(bench): handle quoted e2e node args by @decofe in https://github.com/tempoxyz/tempo/pull/4281
* fix: account for extra data when estimating block size by @klkvr in https://github.com/tempoxyz/tempo/pull/4289
* perf(transaction-pool): use entry api for fee balance cache by @mattsse in https://github.com/tempoxyz/tempo/pull/4254
* fix(txpool): use resolved fee token in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4272
* ci(bench): classify e2e run-pair benchmarks by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4124
* fix(txpool): refresh tracked fee balance top-ups by @mattsse in https://github.com/tempoxyz/tempo/pull/4297
* refactor(txpool): relax AMM liquidity provider borrow by @mattsse in https://github.com/tempoxyz/tempo/pull/4291
* fix(txpool): preserve sponsored keychain transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/4304
* fix(follower): add jittered linear backoff for follower reconnects by @decofe in https://github.com/tempoxyz/tempo/pull/4280
* bench: disable legacy marshal archive in e2e benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4307
* chore(consensus\_context): cleanup post-t4 activation by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4146
* test(tip-20): add T5 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4308
* fix(txpool): evict implicit fee txs by fee payer by @mattsse in https://github.com/tempoxyz/tempo/pull/4319
* ci(bench): support gas limit suffixes in bench comments by @decofe in https://github.com/tempoxyz/tempo/pull/4303
* docs(revm): clarify handler behavior for same-tx key auth by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4335
* docs(tip-1034): clarify operator trust assumptions by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4331
* docs: clarify access-key contract creation restriction by @legion2002 in https://github.com/tempoxyz/tempo/pull/4357
* tip: admin access keys by @jxom in https://github.com/tempoxyz/tempo/pull/3645
* Add threat model section to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4360
* refactor(txpool): update maintenance ordering by @mattsse in https://github.com/tempoxyz/tempo/pull/4312
* chore: bump reth and revm by @klkvr in https://github.com/tempoxyz/tempo/pull/4309
* refactor(transaction-pool): avoid expiring nonce hash copy by @mattsse in https://github.com/tempoxyz/tempo/pull/4364
* perf(pool): precompute fee balance slot during pool validation by @decofe in https://github.com/tempoxyz/tempo/pull/4358
* perf(tip-1034): cache domain separator by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4346
* refactor(transaction-pool): simplify expiring nonce eviction order by @mattsse in https://github.com/tempoxyz/tempo/pull/4365
* chore(tip-1034): resolve virtual payee on open/top-up checks by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4383
* perf(payload): use cached payment classification by @mattsse in https://github.com/tempoxyz/tempo/pull/4392
* perf(revm): do not compute unique tx identifier twice by @shekhirin in https://github.com/tempoxyz/tempo/pull/4391
* Enable T6 for invariant tests by @decofe in https://github.com/tempoxyz/tempo/pull/4404
* SIGP-262: Reject contradictory account keychain call scopes by @legion2002 in https://github.com/tempoxyz/tempo/pull/4359
* Fix existing recipients txgen env propagation by @decofe in https://github.com/tempoxyz/tempo/pull/4409
* fix(tip-1034): skip noop top-ups by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4317
* feat: add `FlipFailed` event to stablecoing dex by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4326
* feat(consensus): encrypt signing keys at rest by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4111
* perf(builder): enable execution cache sharing by @decofe in https://github.com/tempoxyz/tempo/pull/4266
* perf(payload): remove per-transaction builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4402
* feat: enable builder prewarming by default by @decofe in https://github.com/tempoxyz/tempo/pull/4423
* bench(evm): run TIP20 benches for current and latest hardforks by @shekhirin in https://github.com/tempoxyz/tempo/pull/4419
* ci(bench): remove e2e default local builder args by @decofe in https://github.com/tempoxyz/tempo/pull/4437
* ci(bench): update e2e regenesis and node arg compatibility by @decofe in https://github.com/tempoxyz/tempo/pull/4415
* docs(dex): clarify multi-hop policy 403 behavior by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4350
* feat(chainspec): schedule T5 activation times by @jenpaff in https://github.com/tempoxyz/tempo/pull/4410
* feat(builder): add elastic payload build budget by @joshieDo in https://github.com/tempoxyz/tempo/pull/4277
* fix(bench): quote PR bench args before shell by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4449
* fix: reject keychain-wrapped channel reserve vouchers by @legion2002 in https://github.com/tempoxyz/tempo/pull/4375
* docs: align payment classification TIPs by @legion2002 in https://github.com/tempoxyz/tempo/pull/4448
* fix(pool): exclude mined txs from expiry eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4425
* fix(consensus): accept deprecated proposal timing flags by @joshieDo in https://github.com/tempoxyz/tempo/pull/4465
* feat(payload): restore aggregate builder duration metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4432
* chore: bump alloy-evm by @klkvr in https://github.com/tempoxyz/tempo/pull/4433
* feat: follower fast-sync via the network identity by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4062
* ci(bench): tune e2e benchmark verdict noise by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4305
* ci(bench): update Slack user mapping by @decofe in https://github.com/tempoxyz/tempo/pull/4555
* fix: gate auth new account charge by @klkvr in https://github.com/tempoxyz/tempo/pull/4561
* feat(bench): report pool fetch builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4553
* bench: remove TPS quantiles from summary by @decofe in https://github.com/tempoxyz/tempo/pull/4571
* refactor(transaction-pool): avoid temporary eviction vec by @mattsse in https://github.com/tempoxyz/tempo/pull/4586
* fix: enforce secp256k1 feature propagation by @mattsse in https://github.com/tempoxyz/tempo/pull/4574
* perf: use direct BTree first-entry access by @mattsse in https://github.com/tempoxyz/tempo/pull/4587
* refactor(pool): split expiring nonce removal paths by @mattsse in https://github.com/tempoxyz/tempo/pull/4591
* fix(alloy): treat blank relay test env vars as absent by @mattsse in https://github.com/tempoxyz/tempo/pull/4593
* ci(bench): stream VM metrics during e2e by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4566
* perf(transaction-pool): cache AA pool counts by @figtracer in https://github.com/tempoxyz/tempo/pull/4554
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/4599
* ci: remove TPS percentile rows from bench Slack message by @decofe in https://github.com/tempoxyz/tempo/pull/4605
* feat(account-keychain): implement admin access keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4265
* docs(tip-1065): update from meta-TIP to independent TIP by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4191
* fix(bench): remove TPS percentile rows from e2e summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4608
* perf: cache AA replay hash by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4480
* docs: update README wordmark by @Slokh in https://github.com/tempoxyz/tempo/pull/4613
* ci(bench): revert e2e VM metric forwarding by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4614
* feat: wire bench valscope static reports by @joshieDo in https://github.com/tempoxyz/tempo/pull/4424
* ci(bench): run scheduled e2e benches for 600s by @decofe in https://github.com/tempoxyz/tempo/pull/4616
* perf(tip20): better reward handling by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4161
* perf: precalculate keccak slots for TIP-20 transfers at txpool entry by @joshieDo in https://github.com/tempoxyz/tempo/pull/3626
* feat(signature-verifier): add verifyAdmin by @legion2002 in https://github.com/tempoxyz/tempo/pull/4302
* fix(ci): use variable for ValScope report URL by @joshieDo in https://github.com/tempoxyz/tempo/pull/4634
* Bump tempo workspace version to 1.8.0 by @decofe in https://github.com/tempoxyz/tempo/pull/4650
* chore: release `tempo-alloy@1.8.0`, `tempo-contracts@1.8.0` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4219
* fix(Revert): "perf(builder): enable execution cache sharing" by @emmajam in https://github.com/tempoxyz/tempo/pull/4709
* fix(revert): "feat: enable builder prewarming by default" by @emmajam in https://github.com/tempoxyz/tempo/pull/4710
* ci(bench): enable builder cache & prewarming flags in bench-e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4736
* perf(transaction-pool): append AA transactions in one scan by @mattsse in https://github.com/tempoxyz/tempo/pull/4737
* Add observability requirements to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4722
* docs: clarify elastic proposal budget model by @joshieDo in https://github.com/tempoxyz/tempo/pull/4570
* feat(bench): support per-side feature flags by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4741
* Add Cyclops audit comment trigger by @legion2002 in https://github.com/tempoxyz/tempo/pull/4600
* fix(bench): run feature side first by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4751
* bench: gate ValScope summary behind flag by @decofe in https://github.com/tempoxyz/tempo/pull/4756
* bench: remove no-slack from manual dispatch inputs by @decofe in https://github.com/tempoxyz/tempo/pull/4782
* perf(transaction-pool): pre-warm nonce storage slots derivation off aa\_2d\_pool write locks by @i-m-aditya in https://github.com/tempoxyz/tempo/pull/4718
* feat(bench): add optional BAL to Tempo execution payloads by @decofe in https://github.com/tempoxyz/tempo/pull/4026
* perf(transaction-pool): avoid sorting expiring nonce best txs by @mattsse in https://github.com/tempoxyz/tempo/pull/4646
* perf: parallelize `Builder::finish` computations by @klkvr in https://github.com/tempoxyz/tempo/pull/4473
* bench-e2e: append side features to global features by @decofe in https://github.com/tempoxyz/tempo/pull/5137
* perf(pool): store transaction priority as u64 by @mattsse in https://github.com/tempoxyz/tempo/pull/5138
* ci: run Docker nightly build once daily by @decofe in https://github.com/tempoxyz/tempo/pull/5140
* perf(transaction-pool): reuse state update scratch buffers by @mattsse in https://github.com/tempoxyz/tempo/pull/4775
* fix: drop tx iter early by @mattsse in https://github.com/tempoxyz/tempo/pull/4726
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/5148
* perf(pool): use entry for expiring nonce inserts by @mattsse in https://github.com/tempoxyz/tempo/pull/5143
* feat(bench): add block size verdict metrics by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5136
* ci(bench): increase bench-e2e default TPS to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5145
* perf: cache commonware block encode size by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5135
* fix(consensus): avoid panic by mapping expired blocks to None by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5158
* ci(bench): include PR number in txgen bench metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5160
* chore: bump workspace version to 1.8.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5163
* ci(bench): update remaining e2e TPS defaults to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5165
* fix(bench): pass localnet signing secret in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5172
* ci: use foundry `master` in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5180
* fix(bench): detect armored age signing keys by @decofe in https://github.com/tempoxyz/tempo/pull/5177
* perf: use linear storage handler cache by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4455
* perf: use hybrid storage handler cache by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5038
* ci: log update-reth PR failures by @decofe in https://github.com/tempoxyz/tempo/pull/5218
* fix(follower): don't hard fail when consensus block is missing by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5154
* fix(tip-1059): discount based on gas limit by @klkvr in https://github.com/tempoxyz/tempo/pull/4500
* feat(txpool): support dynamic basefee by @klkvr in https://github.com/tempoxyz/tempo/pull/5243
* fix(localnet): pass consensus signing key secret by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5241
* chore: bump fixed-cache to 0.1.10 by @decofe in https://github.com/tempoxyz/tempo/pull/5245
* perf: avoid useless SSLOAD in 403 registry by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5239
* fix(bench): exclude warmup blocks from summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5253
* ci(bench): add TIP-20 2D nonce preset by @shekhirin in https://github.com/tempoxyz/tempo/pull/5236
* perf(builder): prewarm expiring nonce ring slots by @shekhirin in https://github.com/tempoxyz/tempo/pull/5144
* fix(follower/driver): always allow using the fallback by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5258
* fix(tempoup): use gh for release lookup and write logs to stderr by @grandizzy in https://github.com/tempoxyz/tempo/pull/5227
* fix(localnet): honor skip-build for tempo-xtask by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5268
* Allow rkrasiuk to trigger PR benches by @decofe in https://github.com/tempoxyz/tempo/pull/5273
* docs: add Rust formatting guidance by @decofe in https://github.com/tempoxyz/tempo/pull/5280
* perf(pool): reuse maintenance transaction snapshots by @mattsse in https://github.com/tempoxyz/tempo/pull/5284
* fix(ci): build binaries workflow without just by @decofe in https://github.com/tempoxyz/tempo/pull/5279
* fix(tempo): provide --secret for signing consensus smart contract args by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5276
* feat(consensus): register new peers as secondary nodes by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4623
* bench: reduce tip20 txgen valid window by @decofe in https://github.com/tempoxyz/tempo/pull/5275
* ci: fix precompiles coverage html artifact by @decofe in https://github.com/tempoxyz/tempo/pull/5290
* Add T7 hardfork scaffold by @decofe in https://github.com/tempoxyz/tempo/pull/5266
* ci(bench): support zero bloat in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5293
* fix(payload): offload prewarm receiver cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/5298
* perf(payload): pace builder budget with validation latency feedback by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5211
* perf(consensus): share commonware block clones by @mattsse in https://github.com/tempoxyz/tempo/pull/5307
* fix(ci): update stale Foundry Tempo locks first by @mattsse in https://github.com/tempoxyz/tempo/pull/5384
* fix(ci): ignore proc-macro-error2 advisory by @mattsse in https://github.com/tempoxyz/tempo/pull/5413
* Add metrics option to Derek bench workflows by @decofe in https://github.com/tempoxyz/tempo/pull/5412
* deps: update reth from main (2026-06-08) by @decofe in https://github.com/tempoxyz/tempo/pull/5220
* perf: use jemalloc for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4877
* perf: enable keccak cache for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4983
* perf: cache validated USD fee token by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4686
* perf(node): disable redundant payload state precache by @mattsse in https://github.com/tempoxyz/tempo/pull/5419
* chore(tips): update tempo-std verifier submodule by @mattsse in https://github.com/tempoxyz/tempo/pull/5420
* refactor(commonware-node): decode sealed blocks directly by @mattsse in https://github.com/tempoxyz/tempo/pull/5424
* chore(consensus): remove legacy immutable finalized blocks archive by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5234
* Use maxperf profile for benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/5415
* Revert "perf: cache validated USD fee token (#4686)" by @shekhirin in https://github.com/tempoxyz/tempo/pull/5437
* feat(pool): add best transaction size hints by @mattsse in https://github.com/tempoxyz/tempo/pull/5432
* fix(consensus): keep no legacy archive flag as noop by @decofe in https://github.com/tempoxyz/tempo/pull/5444
* Apply TIP-1059 discount to RPC transactions by @decofe in https://github.com/tempoxyz/tempo/pull/5422
* Revert "Apply TIP-1059 discount to RPC transactions" by @klkvr in https://github.com/tempoxyz/tempo/pull/5453
* docs(tip-1049): fix stale admin key docs by @legion2002 in https://github.com/tempoxyz/tempo/pull/5457
* feat(xtask): add shadow fork generation and bootstrap commands by @kamsz in https://github.com/tempoxyz/tempo/pull/5176
* docs(tip-1028): update 1028 docs to clarify that allowance is spent by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5462
* chore: gate evm dependencies by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5467
* chore: add workspace package metadata by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5472
* fix: add `tempo-chainspec` to gh action releases by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5492
* ci: limit CodSpeed microbenches to relevant crates by @decofe in https://github.com/tempoxyz/tempo/pull/5493
* ci: skip precompile forge tests for release metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5498
* refactor(primitives): move expiry check onto recovered subblock by @mattsse in https://github.com/tempoxyz/tempo/pull/5431
* fix: write changesets in `init-from-binary-dump` by @klkvr in https://github.com/tempoxyz/tempo/pull/5466
* perf: build bal in parallel by @klkvr in https://github.com/tempoxyz/tempo/pull/5301
* fix(transaction-pool): avoid eager transaction collection by @mattsse in https://github.com/tempoxyz/tempo/pull/5513
* chore(consensus): provide round to fetch proposal and log success by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5451
* perf(transaction-pool): avoid tx env clone during validation by @mattsse in https://github.com/tempoxyz/tempo/pull/5518
* chore: make tempo-consensus a module under tempo-evm by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3720
* fix(tip403): update `set_receive_policy` to reject when precompiles specified as recovery address by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5476
* chore(tip403): update `is_authorized_simple` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5517
* docs(tip1028): update interface to match implementation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5481
* chore: require verified-human review by @sds in https://github.com/tempoxyz/tempo/pull/5528
* fix(evm): reset collected fee per transaction by @legion2002 in https://github.com/tempoxyz/tempo/pull/5506
* chore(consensus): rename commonware-node to consensus by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5530
* chore(tip-1059): revert discount for pure payment settlement by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5499
* docs(tip1028): clarify receipt claim checks by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5480
* perf(pool): cache transaction validation reads by @mattsse in https://github.com/tempoxyz/tempo/pull/5522
* chore(tip403): remove unnecessary `set_receive_policy` check by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5526
* feat: include finalization in tempo snapshots  by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4482
* chore: update CODEOWNERS by @0xalpharush in https://github.com/tempoxyz/tempo/pull/5547
* chore: disable codeowners enforcement by VK by @sds in https://github.com/tempoxyz/tempo/pull/5549
* Add 0xrusowsky to crate CODEOWNERS by @decofe in https://github.com/tempoxyz/tempo/pull/5548
* Add jenpaff as tips codeowner by @decofe in https://github.com/tempoxyz/tempo/pull/5583
* Revert "perf(tip20): better reward handling" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5538
* perf(transaction-pool): allocate AA transaction before write lock by @mattsse in https://github.com/tempoxyz/tempo/pull/5546
* perf(tx-pool): remove eviction entries by lightweight order key by @mattsse in https://github.com/tempoxyz/tempo/pull/5585
* perf(primitives): avoid signature RLP length allocation by @mattsse in https://github.com/tempoxyz/tempo/pull/5553
* Add T6 timestamps by @jenpaff in https://github.com/tempoxyz/tempo/pull/5584
* docs(tips): add tooling prompt to TIP template by @emmajam in https://github.com/tempoxyz/tempo/pull/5592
* feat(chainspec): add T8 wiring by @legion2002 in https://github.com/tempoxyz/tempo/pull/5591
* ci: retry cosign docker signing by @decofe in https://github.com/tempoxyz/tempo/pull/5577
* chore(bench): raise builder classification floors by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5586
* perf(tx-pool): drop removed transactions at the end of the block update by @mattsse in https://github.com/tempoxyz/tempo/pull/5590
* refactor(consensus): make execution actor non-blocking by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5312
* Remove stale TIP-1059 and TIP-1065 T6 references by @decofe in https://github.com/tempoxyz/tempo/pull/5597
* test(tx-pool): validate regular eviction invariants by @mattsse in https://github.com/tempoxyz/tempo/pull/5593
* feat: TIP-1067 by @klkvr in https://github.com/tempoxyz/tempo/pull/5257
* perf(txpool): reduce map lookups when inserting AA 2D transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/5602
* ci: skip foundry precompile tests for SDK release bumps by @decofe in https://github.com/tempoxyz/tempo/pull/5610
* perf(txpool): cache active hardfork as atomic in validator by @mattsse in https://github.com/tempoxyz/tempo/pull/5603
* feat(tip-1075): disable TIP20 rewards by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5433
* chore: update cargo.toml to v1.8.2 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5619
* ci: upload bench metrics when valscope is enabled by @decofe in https://github.com/tempoxyz/tempo/pull/5527
* perf(tx-pool): share EVM and state reads across transaction validations by @mattsse in https://github.com/tempoxyz/tempo/pull/5572
* perf(txpool): resolve fee payer only when fee token changed by @mattsse in https://github.com/tempoxyz/tempo/pull/5621
* ci(release): open cargo bump PR after release by @jenpaff in https://github.com/tempoxyz/tempo/pull/5620
* refactor: simplify redundancies in tempo main.rs by @mattsse in https://github.com/tempoxyz/tempo/pull/5629
* refactor: convert tempo binary into a library by @mattsse in https://github.com/tempoxyz/tempo/pull/5631
* Make bench-e2e hardfork flags optional by @decofe in https://github.com/tempoxyz/tempo/pull/5613
* ci(bench): use existing recipients preset, multiple TIP-20 tokens by @shekhirin in https://github.com/tempoxyz/tempo/pull/5618
* feat: default builder cache sharing on by @decofe in https://github.com/tempoxyz/tempo/pull/5529
* ci(bench): make e2e txgen token count configurable by @decofe in https://github.com/tempoxyz/tempo/pull/5633
* feat(tip-1067): dynamic base fee by @dankrad in https://github.com/tempoxyz/tempo/pull/5153
* refactor: make tempo eth api builder generic by @mattsse in https://github.com/tempoxyz/tempo/pull/5634
* perf(txpool): reuse cached fee payer from tx env by @mattsse in https://github.com/tempoxyz/tempo/pull/5622
* test(amm): keep required liquidity burn check priced by @decofe in https://github.com/tempoxyz/tempo/pull/5617
* TIP-1075: Deprecate TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/5380
* perf: trim fee manager prewarm account touch by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5454
* ci: allow changelog fragments in SDK release skip by @decofe in https://github.com/tempoxyz/tempo/pull/5640
* chore: release `tempo-alloy@1.8.1`, `tempo-chainspec@1.8.2` and 2 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/5497
* perf(txpool): drop redundant mined-hash set in expired eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/5646
* perf(txpool): narrow TIP-20 Transfer decoding in pool maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/5645
* fix(cli): give faucet.enabled arg a unique clap id by @decofe in https://github.com/tempoxyz/tempo/pull/5655
* fix(bench): enable samply logs in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5656
* fix(rpc): pin simulate metadata block by @mattsse in https://github.com/tempoxyz/tempo/pull/5658
* perf(txpool): batch-drain new-transaction events in maintenance loop by @mattsse in https://github.com/tempoxyz/tempo/pull/5648
* perf(txpool): skip expiry untracking when nothing is tracked by @mattsse in https://github.com/tempoxyz/tempo/pull/5649
* deps: update reth from main (2026-06-15) by @decofe in https://github.com/tempoxyz/tempo/pull/5564
* ci: restore Foundry master checkout by @decofe in https://github.com/tempoxyz/tempo/pull/5785
* chore: bump reth by @decofe in https://github.com/tempoxyz/tempo/pull/5822
* Fix e2e existing recipient bloat token count by @decofe in https://github.com/tempoxyz/tempo/pull/5818
* feat(primitives): add AA signer recovery helper for expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/5664
* ci(bench): grant CAP\_SYS\_NICE to e2e benchmark process by @decofe in https://github.com/tempoxyz/tempo/pull/5784
* feat(pool): forward additional stateless/stateful validation hooks by @mattsse in https://github.com/tempoxyz/tempo/pull/5628
* feat(tempo): add programmatic node overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/5910
* ci(bench): use `tip20_existing_recipients` preset in comments by @shekhirin in https://github.com/tempoxyz/tempo/pull/5641
* fix(bench): run e2e samply under sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5932
* refactor(consensus): executor owns payload jobs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5625
* chore: default follow engine to be certified by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5845
* ci: remove Derek bench user allowlist by @decofe in https://github.com/tempoxyz/tempo/pull/5946
* ci(bench): clean e2e checkout workspace with sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5950
* fix: accept deprecated follow certify flag without value by @decofe in https://github.com/tempoxyz/tempo/pull/5964
* revert: ci(bench): sudo by @shekhirin in https://github.com/tempoxyz/tempo/pull/5970
* fix(cli): initialize tracing before running snapshot cmd by @Rjected in https://github.com/tempoxyz/tempo/pull/5982
* feat(tip-1060): impl `StorageCredits` precompile by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5228
* ci: fix reth update Amp retry loop by @decofe in https://github.com/tempoxyz/tempo/pull/6034
* perf(consensus): defer verify block drops by @mattsse in https://github.com/tempoxyz/tempo/pull/6012
* chore: bump MSRV to Rust 1.96 by @decofe in https://github.com/tempoxyz/tempo/pull/6035
* perf(evm): shrink payload tx iterator items by @mattsse in https://github.com/tempoxyz/tempo/pull/5998
* feat(evm): record sload and sstore actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/5423
* perf: defer state provider drop by @klkvr in https://github.com/tempoxyz/tempo/pull/6046
* ci: revert foundry checkout pin in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/6054
* fix(consensus): resubscribe follow upstream events by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6051
* deps: update reth from main (2026-06-17) by @decofe in https://github.com/tempoxyz/tempo/pull/5876
* chore(docker): bump rust from `64d9b7f` to `19817ea` by @dependabot\[bot] in https://github.com/tempoxyz/tempo/pull/6025
* chore(tip-1060): cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6052
* refactor: prewarm through evm by @klkvr in https://github.com/tempoxyz/tempo/pull/6085
* ci: print raw Amp output on failure, use Amp Neo by @decofe in https://github.com/tempoxyz/tempo/pull/6062
* ci(bench): retry bench chart pushes from fresh clones by @decofe in https://github.com/tempoxyz/tempo/pull/6144
* feat(precompiles): storage delta helpers by @shekhirin in https://github.com/tempoxyz/tempo/pull/5605
* deps: update reth from main (2026-06-18) by @decofe in https://github.com/tempoxyz/tempo/pull/6134
* ci(bench): scrape runner node exporter in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/6047
* perf(rpc): avoid cloning subblock pool transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/6176
* perf(txpool): optimize raw Tempo transaction recovery by @mattsse in https://github.com/tempoxyz/tempo/pull/6175
* tests: add T7 gas estimate expectation by @decofe in https://github.com/tempoxyz/tempo/pull/6194
* ci: reset bench e2e workspace by @decofe in https://github.com/tempoxyz/tempo/pull/6170
* perf(consensus): cache encoded execution blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/5421
* ci: add tracy setup to e2e benchmark workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5315
* chore(tempo-e2e): metrics refactors by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5659
* fix(consensus): load recovered parent blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6203
* chore: increase stale PR operations per run by @decofe in https://github.com/tempoxyz/tempo/pull/6205
* refactor(consensus): preserve recovered finalized blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6207
* perf(consensus): use recovered block lookups by @mattsse in https://github.com/tempoxyz/tempo/pull/6208
* chore: bump mozilla-actions/sccache-action from v0.0.9 to v0.0.10 by @laibe in https://github.com/tempoxyz/tempo/pull/5632
* style(precompiles): split storage helpers + add docs by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6212
* fix(bench): make block size metrics informational by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6198
* ci: ignore pending Review check in reth updater by @decofe in https://github.com/tempoxyz/tempo/pull/6214
* ci(bench): trim bench command comments before matching by @decofe in https://github.com/tempoxyz/tempo/pull/6215
* ci: fix Release PR post-merge failures by @decofe in https://github.com/tempoxyz/tempo/pull/6221
* ci(bench): revert Tracy and txgen CPU pinning by @decofe in https://github.com/tempoxyz/tempo/pull/6226
* chore(release): v1.9.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6220
* test(node): cover upcoming devnet hardforks by @mattsse in https://github.com/tempoxyz/tempo/pull/6217
* fix(cli): hide and silence snapshot skip-consensus overrides by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6228
* Add rkrasiuk bench Slack mapping by @decofe in https://github.com/tempoxyz/tempo/pull/6234
* feat(precompiles): do not record SINC/SDEC for zero storages by @shekhirin in https://github.com/tempoxyz/tempo/pull/6160
* Disable only TIP-1060 credit minting in fee hooks by @decofe in https://github.com/tempoxyz/tempo/pull/6248
* fix(serde): serialize sealed blocks as plain blocks by @decofe in https://github.com/tempoxyz/tempo/pull/6252
* Record e2e bench setup metadata by @decofe in https://github.com/tempoxyz/tempo/pull/6232
* ci(bench): allow bare tracy bench flag by @decofe in https://github.com/tempoxyz/tempo/pull/6242
* feat(alloy): add receive-policy and admin-key helpers by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6251
* ci: allow T7 and T8 bench hardforks by @decofe in https://github.com/tempoxyz/tempo/pull/6261
* feat: bundle consensus archive together with EL snapshot by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5789
* fix(tip-1060): non-creditable storage slots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6206
* fix(deps): update memmap2 to 0.9.11 by @mattsse in https://github.com/tempoxyz/tempo/pull/6270
* feat: avoid recreating periodic spending limit remaining field by @klkvr in https://github.com/tempoxyz/tempo/pull/6233
* fix(tip-1060): disable credit minting for fee distribution by @decofe in https://github.com/tempoxyz/tempo/pull/6237
* feat(tip-1064): maker storage credits on the DEX by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5305
* chore: fix bench bloat metadata forwarding by @decofe in https://github.com/tempoxyz/tempo/pull/6282
* docs(tip-1060): improve docs and style by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6281
* ci(bench): bump bench-e2e gas limit default by @decofe in https://github.com/tempoxyz/tempo/pull/6283
* chore: fix coverage bloat scope by @decofe in https://github.com/tempoxyz/tempo/pull/6284
* feat(tip-1066): add channel storage credits by @legion2002 in https://github.com/tempoxyz/tempo/pull/5935
* ci(bench): use feature binary for e2e regenesis by @decofe in https://github.com/tempoxyz/tempo/pull/6285
* TIP-1064: StablecoinDEX order storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4082
* ci(bench): display Tracy bench config as enabled by @decofe in https://github.com/tempoxyz/tempo/pull/6287
* chore(evm): expose `NonCreditableSlots` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6288
* perf: avoid disabled storage action allocation by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/6075
* fix(precompiles): update actions test for T6 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6294
* fix(tip-1060): keychain remaining sentinel by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6291
* test(precompile): add labels to action snapshots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6297
* style(tip-1060): clarity rename by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6280
* deps: update reth from main (2026-06-23) by @decofe in https://github.com/tempoxyz/tempo/pull/6211
* TIP-1060: contract storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4016
* ci(bench): support feature-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6292
* docs: update TIP rollout statuses by @decofe in https://github.com/tempoxyz/tempo/pull/6304
* fix(keychain): decode T7 periodic limit sentinel in reads by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6310
* test: fix invariant ghost nonce accounting by @decofe in https://github.com/tempoxyz/tempo/pull/6298
* Install macOS libusb dependency in tempoup by @parvahuja in https://github.com/tempoxyz/tempo/pull/6274
* ci(bench): use PR base branch for bench-e2e baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6305
* feat(builder): gas limit from CLI arguments and chain defaults by @decofe in https://github.com/tempoxyz/tempo/pull/6387
* feat(payload): thread skip-state-root into tempo builder by @decofe in https://github.com/tempoxyz/tempo/pull/6306
* Add bench general gas limit override by @decofe in https://github.com/tempoxyz/tempo/pull/6311
* ci(bench): update tip20 txgen fee token preset by @decofe in https://github.com/tempoxyz/tempo/pull/5959
* refactor: expose full `TempoBlockEnv` to precompiles by @klkvr in https://github.com/tempoxyz/tempo/pull/6394
* ci(bench): set explicit nonce for TIP-20 2D txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6393
* fix(bench): pass gas limits to localnet by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6391
* ci(bench): add TIP-20 protocol nonce txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6395
* feat(evm): make protocol fee manager generic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6279
* Update hardfork version from T6 to T7 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6400
* feat: expose `epoch_length` for precompiles by @decofe in https://github.com/tempoxyz/tempo/pull/6286
* Add T7 timestamps by @legion2002 in https://github.com/tempoxyz/tempo/pull/6396
* Track reverted transactions in payload builder by @decofe in https://github.com/tempoxyz/tempo/pull/6403
* feat: isolate `hardforks` into a crate without tempo deps by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6468
* ci(bench): disable txgen txpool drain wait by @decofe in https://github.com/tempoxyz/tempo/pull/6480
* chore: release `tempo-alloy@1.9.0`, `tempo-chainspec@1.9.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6484

</details>

## tempo-contracts@1.9.0 (2026-06-25)

### Minor Changes

* Extracts Tempo hardfork definitions and activation schedules into a new `tempo-hardfork` crate for SDK reuse without chainspec dependencies.
* Updates `tempo-alloy` to depend on and re-export `tempo-hardfork` instead of `tempo-chainspec`. (by @DerekCofausper, [#6480](https://github.com/tempoxyz/tempo/pull/6480))

<details><summary>What's Changed</summary>

* ci(bench): remove bench metrics proxy by @decofe in https://github.com/tempoxyz/tempo/pull/4021
* ci(bench): use bench RPC secrets for replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4023
* ci(bench): Grafana summary URL by @decofe in https://github.com/tempoxyz/tempo/pull/4028
* ci(bench): bump bench-e2e gas limit to 1B by @decofe in https://github.com/tempoxyz/tempo/pull/4029
* ci(bench): improve bench-e2e GitHub reporting by @decofe in https://github.com/tempoxyz/tempo/pull/4032
* chore: bump alloy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4027
* Fix bench workflow issue permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4038
* Clarify TIP-1035 helper activation semantics by @decofe in https://github.com/tempoxyz/tempo/pull/4035
* perf(builder): boilerplate of prewarming for best transactions by @shekhirin in https://github.com/tempoxyz/tempo/pull/3865
* ci(bench): fix scheduled e2e benchmark workflow permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4047
* ci(bench): clean stale reth IPC before replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4048
* chore(tips): add tip naming pre-commit hook by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4020
* ci(bench): mask derived telemetry output in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4051
* feat(consensus): prunable blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3870
* fix(p2p): report proxy request and item counts by @mattsse in https://github.com/tempoxyz/tempo/pull/3948
* feat(primitives): use signature marker for sponsor requests by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4033
* ci: enable bench OTLP exports by default by @decofe in https://github.com/tempoxyz/tempo/pull/4050
* Fix bench e2e trace explore filters by @decofe in https://github.com/tempoxyz/tempo/pull/4052
* fix(rpc): improve fee token errors by @brendanjryan in https://github.com/tempoxyz/tempo/pull/3877
* ci(bench): label tempo replay bench telemetry by @decofe in https://github.com/tempoxyz/tempo/pull/4054
* fix(tip-1034): protect `TIP20EscrowChannel` from burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3989
* ci(bench): fix bench observability links and ids by @decofe in https://github.com/tempoxyz/tempo/pull/4055
* bench: enable payload builder sharing flags by default by @decofe in https://github.com/tempoxyz/tempo/pull/4053
* fix(tip-1033): surface tx `validator_fee` info to builder by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3991
* feat(builder): stop reason metric by @decofe in https://github.com/tempoxyz/tempo/pull/4060
* perf(benches): add in-memory tip20 execution microbenchmark by @Rjected in https://github.com/tempoxyz/tempo/pull/4043
* fix(tip-1034): enforce TIP-403 policy rules by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3994
* ci(bench): remove latency stddev from bench summaries by @decofe in https://github.com/tempoxyz/tempo/pull/4078
* bench: add manual CodSpeed workflow by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4081
* ci(bench): add gas throughput to e2e summary tables by @decofe in https://github.com/tempoxyz/tempo/pull/4084
* ci(bench): random-recipient preset for TIP-20 benches by @shekhirin in https://github.com/tempoxyz/tempo/pull/3975
* deps: update reth from main (2026-05-20) by @decofe in https://github.com/tempoxyz/tempo/pull/3986
* ci(bench): parameterize benchmark run pairs by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4083
* chore: default tips verification to T5 by @decofe in https://github.com/tempoxyz/tempo/pull/4087
* perf(txpool): precompute expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/4094
* perf(pool): use B256Map for transaction indexes by @mattsse in https://github.com/tempoxyz/tempo/pull/4092
* ci(bench): make bench-e2e preset a dropdown by @decofe in https://github.com/tempoxyz/tempo/pull/4098
* perf(builder): use execution cache from build arguments by @shekhirin in https://github.com/tempoxyz/tempo/pull/3602
* Rename invariant entrypoints for per-campaign metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4102
* test(stablecoin-dex): snapshot order gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4076
* perf(benches): enable asm keccak for tip20 execution bench by @Rjected in https://github.com/tempoxyz/tempo/pull/4068
* perf(benches): run tip20 execution through fixed execution cache by @Rjected in https://github.com/tempoxyz/tempo/pull/4071
* Enable continuous CodSpeed microbenchmarks on push and PR by @codspeed-hq\[bot] in https://github.com/tempoxyz/tempo/pull/4103
* chore: deny cast\_lossless clippy lint by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4077
* Fix bench summary compressed samples by @decofe in https://github.com/tempoxyz/tempo/pull/4106
* test: add TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4080
* fix(invariants): remove flaky coverage assertions from SignatureVerifier by @decofe in https://github.com/tempoxyz/tempo/pull/3993
* Update protocol version in TIP-1047 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3992
* docs(tip-1034): rename channel escrow to reserve by @brendanjryan in https://github.com/tempoxyz/tempo/pull/4110
* chore: reset main version to 1.7.0 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4120
* Rename TIP-20 channel escrow to reserve by @decofe in https://github.com/tempoxyz/tempo/pull/4113
* test: stabilize TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4125
* perf(transaction-pool): index expiring nonce eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4091
* perf: avoid marshal contention by @klkvr in https://github.com/tempoxyz/tempo/pull/4058
* chore: release `tempo-alloy@1.7.2`, `tempo-contracts@1.7.2` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4036
* Cache AA transaction signature hash by @decofe in https://github.com/tempoxyz/tempo/pull/4129
* refactor(node): use empty body storage by @mattsse in https://github.com/tempoxyz/tempo/pull/4128
* ci(bench): run CodSpeed on depot runner and filter benches by @decofe in https://github.com/tempoxyz/tempo/pull/4121
* ci(bench): disable txgen send retries by @decofe in https://github.com/tempoxyz/tempo/pull/4137
* feat(payload): split builder tx execution metrics by @joshieDo in https://github.com/tempoxyz/tempo/pull/4127
* Fix bench e2e Grafana dashboard URL by @decofe in https://github.com/tempoxyz/tempo/pull/4134
* feat(txgen): add existing recipient TIP20 preset by @onbjerg in https://github.com/tempoxyz/tempo/pull/4132
* perf(builder): implement prewarming by @shekhirin in https://github.com/tempoxyz/tempo/pull/3893
* ci: benchmark scheduled e2e against latest main by @decofe in https://github.com/tempoxyz/tempo/pull/4152
* ci(bench): enable prewarming in e2e bench by @decofe in https://github.com/tempoxyz/tempo/pull/4153
* feat: share execution cache in benches by @klkvr in https://github.com/tempoxyz/tempo/pull/4147
* feat(builder): increase transaction execution wait default by @decofe in https://github.com/tempoxyz/tempo/pull/4105
* chore: set workspace version to 1.7.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4160
* docs: remove TIP-1047 from T5 meta TIP by @decofe in https://github.com/tempoxyz/tempo/pull/4162
* feat(builder): separate state root metrics from builder finish by @decofe in https://github.com/tempoxyz/tempo/pull/4135
* ci: set weekend invariant timeout by @decofe in https://github.com/tempoxyz/tempo/pull/4025
* ci(bench): comparison hardfork labels by @decofe in https://github.com/tempoxyz/tempo/pull/4059
* docs(primitives): clarify transaction validity timestamps by @mattsse in https://github.com/tempoxyz/tempo/pull/4136
* update tip metadata  by @jenpaff in https://github.com/tempoxyz/tempo/pull/3778
* fix(txpool): resolve fee token from cached value by @decofe in https://github.com/tempoxyz/tempo/pull/4148
* docs(tip-1059): add discounted payment settlement by @malleshpai in https://github.com/tempoxyz/tempo/pull/4013
* TIP-1065: T6 Hardfork Meta TIP by @jenpaff in https://github.com/tempoxyz/tempo/pull/4167
* docs(tips): TIP-1028, Address-Level Receive Policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3791
* fix state hook precompile original info by @decofe in https://github.com/tempoxyz/tempo/pull/4171
* test: register precompile holders in TIP20 invariant by @decofe in https://github.com/tempoxyz/tempo/pull/4172
* Update cost implications for blocked transfers in TIP-20 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4173
* feat: encode the network identity into the chainspec by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4004
* perf(pool): clone cached tx env for payload building by @mattsse in https://github.com/tempoxyz/tempo/pull/4174
* perf(payload): use cached transaction lengths by @mattsse in https://github.com/tempoxyz/tempo/pull/4175
* perf(revm): cache tempo gas param overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/4182
* perf(transaction-pool): inline fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4183
* feat(alloy): add RelayTransport for sponsor/fee-payer support by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4010
* refactor(transaction-pool): use alloy primitive maps in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4178
* refactor(pool): reuse effective fee token helper by @mattsse in https://github.com/tempoxyz/tempo/pull/4181
* perf(transaction-pool): dispatch log decoding by topic by @mattsse in https://github.com/tempoxyz/tempo/pull/4179
* perf(transaction-pool): optimize expiry tracking cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/4177
* Downgrade tempo-alloy changelog to patch by @decofe in https://github.com/tempoxyz/tempo/pull/4188
* chore: release `tempo-alloy@1.7.3`, `tempo-contracts@1.7.3` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4184
* style: author typo by @decofe in https://github.com/tempoxyz/tempo/pull/4190
* docs(tip-1016): mark release as T4 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3709
* ci: reenable Foundry lint on build by @decofe in https://github.com/tempoxyz/tempo/pull/4154
* perf(transaction-pool): defer mined aa transaction drops by @mattsse in https://github.com/tempoxyz/tempo/pull/4185
* fix(transaction-pool): remove expiring nonce eviction entries in release by @mattsse in https://github.com/tempoxyz/tempo/pull/4189
* docs(tip-1034): explain close cumulative amount by @legion2002 in https://github.com/tempoxyz/tempo/pull/4199
* perf(transaction-pool): skip protocol nonce updates in aa pool by @mattsse in https://github.com/tempoxyz/tempo/pull/4187
* Use binary target for Foundry forge builds by @decofe in https://github.com/tempoxyz/tempo/pull/4207
* Restrict witness burning to admin keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4218
* feat(tip-1059): discount pure payment settlement by @0xKitsune in https://github.com/tempoxyz/tempo/pull/4139
* fix(tip-1034): validate signature encoding in payment lane by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4099
* chore: spawn txpool maintenace as blocking thread by @klkvr in https://github.com/tempoxyz/tempo/pull/4230
* feat(tip-1028): implement address-level receive policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3800
* perf(transaction-pool): gate keychain subject eviction checks by @mattsse in https://github.com/tempoxyz/tempo/pull/4252
* ci(bench): show derek command in e2e bench summary by @decofe in https://github.com/tempoxyz/tempo/pull/4263
* perf(builder): enable sparse trie sharing by default by @decofe in https://github.com/tempoxyz/tempo/pull/4195
* ci(bench): fix scheduled replay state scoping by @decofe in https://github.com/tempoxyz/tempo/pull/4259
* perf(bench): prefilter metric samples before parsing by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4208
* fix: protect self from blocked burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4264
* fix: ensure virtual channel payees use operators by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4258
* perf(transaction-pool): cache fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4253
* bench: TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/4158
* Allow tempoup to fall back to gh verification by @decofe in https://github.com/tempoxyz/tempo/pull/4014
* test: snapshot pre-T6 TIP20 memo transfer gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4226
* fix(txpool): keep paused txs on keychain spends by @mattsse in https://github.com/tempoxyz/tempo/pull/4279
* ci(bench): internal perf dashboard link in bench-e2e output by @decofe in https://github.com/tempoxyz/tempo/pull/4089
* ci(bench): handle quoted e2e node args by @decofe in https://github.com/tempoxyz/tempo/pull/4281
* fix: account for extra data when estimating block size by @klkvr in https://github.com/tempoxyz/tempo/pull/4289
* perf(transaction-pool): use entry api for fee balance cache by @mattsse in https://github.com/tempoxyz/tempo/pull/4254
* fix(txpool): use resolved fee token in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4272
* ci(bench): classify e2e run-pair benchmarks by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4124
* fix(txpool): refresh tracked fee balance top-ups by @mattsse in https://github.com/tempoxyz/tempo/pull/4297
* refactor(txpool): relax AMM liquidity provider borrow by @mattsse in https://github.com/tempoxyz/tempo/pull/4291
* fix(txpool): preserve sponsored keychain transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/4304
* fix(follower): add jittered linear backoff for follower reconnects by @decofe in https://github.com/tempoxyz/tempo/pull/4280
* bench: disable legacy marshal archive in e2e benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4307
* chore(consensus\_context): cleanup post-t4 activation by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4146
* test(tip-20): add T5 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4308
* fix(txpool): evict implicit fee txs by fee payer by @mattsse in https://github.com/tempoxyz/tempo/pull/4319
* ci(bench): support gas limit suffixes in bench comments by @decofe in https://github.com/tempoxyz/tempo/pull/4303
* docs(revm): clarify handler behavior for same-tx key auth by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4335
* docs(tip-1034): clarify operator trust assumptions by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4331
* docs: clarify access-key contract creation restriction by @legion2002 in https://github.com/tempoxyz/tempo/pull/4357
* tip: admin access keys by @jxom in https://github.com/tempoxyz/tempo/pull/3645
* Add threat model section to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4360
* refactor(txpool): update maintenance ordering by @mattsse in https://github.com/tempoxyz/tempo/pull/4312
* chore: bump reth and revm by @klkvr in https://github.com/tempoxyz/tempo/pull/4309
* refactor(transaction-pool): avoid expiring nonce hash copy by @mattsse in https://github.com/tempoxyz/tempo/pull/4364
* perf(pool): precompute fee balance slot during pool validation by @decofe in https://github.com/tempoxyz/tempo/pull/4358
* perf(tip-1034): cache domain separator by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4346
* refactor(transaction-pool): simplify expiring nonce eviction order by @mattsse in https://github.com/tempoxyz/tempo/pull/4365
* chore(tip-1034): resolve virtual payee on open/top-up checks by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4383
* perf(payload): use cached payment classification by @mattsse in https://github.com/tempoxyz/tempo/pull/4392
* perf(revm): do not compute unique tx identifier twice by @shekhirin in https://github.com/tempoxyz/tempo/pull/4391
* Enable T6 for invariant tests by @decofe in https://github.com/tempoxyz/tempo/pull/4404
* SIGP-262: Reject contradictory account keychain call scopes by @legion2002 in https://github.com/tempoxyz/tempo/pull/4359
* Fix existing recipients txgen env propagation by @decofe in https://github.com/tempoxyz/tempo/pull/4409
* fix(tip-1034): skip noop top-ups by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4317
* feat: add `FlipFailed` event to stablecoing dex by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4326
* feat(consensus): encrypt signing keys at rest by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4111
* perf(builder): enable execution cache sharing by @decofe in https://github.com/tempoxyz/tempo/pull/4266
* perf(payload): remove per-transaction builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4402
* feat: enable builder prewarming by default by @decofe in https://github.com/tempoxyz/tempo/pull/4423
* bench(evm): run TIP20 benches for current and latest hardforks by @shekhirin in https://github.com/tempoxyz/tempo/pull/4419
* ci(bench): remove e2e default local builder args by @decofe in https://github.com/tempoxyz/tempo/pull/4437
* ci(bench): update e2e regenesis and node arg compatibility by @decofe in https://github.com/tempoxyz/tempo/pull/4415
* docs(dex): clarify multi-hop policy 403 behavior by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4350
* feat(chainspec): schedule T5 activation times by @jenpaff in https://github.com/tempoxyz/tempo/pull/4410
* feat(builder): add elastic payload build budget by @joshieDo in https://github.com/tempoxyz/tempo/pull/4277
* fix(bench): quote PR bench args before shell by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4449
* fix: reject keychain-wrapped channel reserve vouchers by @legion2002 in https://github.com/tempoxyz/tempo/pull/4375
* docs: align payment classification TIPs by @legion2002 in https://github.com/tempoxyz/tempo/pull/4448
* fix(pool): exclude mined txs from expiry eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4425
* fix(consensus): accept deprecated proposal timing flags by @joshieDo in https://github.com/tempoxyz/tempo/pull/4465
* feat(payload): restore aggregate builder duration metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4432
* chore: bump alloy-evm by @klkvr in https://github.com/tempoxyz/tempo/pull/4433
* feat: follower fast-sync via the network identity by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4062
* ci(bench): tune e2e benchmark verdict noise by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4305
* ci(bench): update Slack user mapping by @decofe in https://github.com/tempoxyz/tempo/pull/4555
* fix: gate auth new account charge by @klkvr in https://github.com/tempoxyz/tempo/pull/4561
* feat(bench): report pool fetch builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4553
* bench: remove TPS quantiles from summary by @decofe in https://github.com/tempoxyz/tempo/pull/4571
* refactor(transaction-pool): avoid temporary eviction vec by @mattsse in https://github.com/tempoxyz/tempo/pull/4586
* fix: enforce secp256k1 feature propagation by @mattsse in https://github.com/tempoxyz/tempo/pull/4574
* perf: use direct BTree first-entry access by @mattsse in https://github.com/tempoxyz/tempo/pull/4587
* refactor(pool): split expiring nonce removal paths by @mattsse in https://github.com/tempoxyz/tempo/pull/4591
* fix(alloy): treat blank relay test env vars as absent by @mattsse in https://github.com/tempoxyz/tempo/pull/4593
* ci(bench): stream VM metrics during e2e by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4566
* perf(transaction-pool): cache AA pool counts by @figtracer in https://github.com/tempoxyz/tempo/pull/4554
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/4599
* ci: remove TPS percentile rows from bench Slack message by @decofe in https://github.com/tempoxyz/tempo/pull/4605
* feat(account-keychain): implement admin access keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4265
* docs(tip-1065): update from meta-TIP to independent TIP by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4191
* fix(bench): remove TPS percentile rows from e2e summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4608
* perf: cache AA replay hash by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4480
* docs: update README wordmark by @Slokh in https://github.com/tempoxyz/tempo/pull/4613
* ci(bench): revert e2e VM metric forwarding by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4614
* feat: wire bench valscope static reports by @joshieDo in https://github.com/tempoxyz/tempo/pull/4424
* ci(bench): run scheduled e2e benches for 600s by @decofe in https://github.com/tempoxyz/tempo/pull/4616
* perf(tip20): better reward handling by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4161
* perf: precalculate keccak slots for TIP-20 transfers at txpool entry by @joshieDo in https://github.com/tempoxyz/tempo/pull/3626
* feat(signature-verifier): add verifyAdmin by @legion2002 in https://github.com/tempoxyz/tempo/pull/4302
* fix(ci): use variable for ValScope report URL by @joshieDo in https://github.com/tempoxyz/tempo/pull/4634
* Bump tempo workspace version to 1.8.0 by @decofe in https://github.com/tempoxyz/tempo/pull/4650
* chore: release `tempo-alloy@1.8.0`, `tempo-contracts@1.8.0` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4219
* fix(Revert): "perf(builder): enable execution cache sharing" by @emmajam in https://github.com/tempoxyz/tempo/pull/4709
* fix(revert): "feat: enable builder prewarming by default" by @emmajam in https://github.com/tempoxyz/tempo/pull/4710
* ci(bench): enable builder cache & prewarming flags in bench-e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4736
* perf(transaction-pool): append AA transactions in one scan by @mattsse in https://github.com/tempoxyz/tempo/pull/4737
* Add observability requirements to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4722
* docs: clarify elastic proposal budget model by @joshieDo in https://github.com/tempoxyz/tempo/pull/4570
* feat(bench): support per-side feature flags by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4741
* Add Cyclops audit comment trigger by @legion2002 in https://github.com/tempoxyz/tempo/pull/4600
* fix(bench): run feature side first by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4751
* bench: gate ValScope summary behind flag by @decofe in https://github.com/tempoxyz/tempo/pull/4756
* bench: remove no-slack from manual dispatch inputs by @decofe in https://github.com/tempoxyz/tempo/pull/4782
* perf(transaction-pool): pre-warm nonce storage slots derivation off aa\_2d\_pool write locks by @i-m-aditya in https://github.com/tempoxyz/tempo/pull/4718
* feat(bench): add optional BAL to Tempo execution payloads by @decofe in https://github.com/tempoxyz/tempo/pull/4026
* perf(transaction-pool): avoid sorting expiring nonce best txs by @mattsse in https://github.com/tempoxyz/tempo/pull/4646
* perf: parallelize `Builder::finish` computations by @klkvr in https://github.com/tempoxyz/tempo/pull/4473
* bench-e2e: append side features to global features by @decofe in https://github.com/tempoxyz/tempo/pull/5137
* perf(pool): store transaction priority as u64 by @mattsse in https://github.com/tempoxyz/tempo/pull/5138
* ci: run Docker nightly build once daily by @decofe in https://github.com/tempoxyz/tempo/pull/5140
* perf(transaction-pool): reuse state update scratch buffers by @mattsse in https://github.com/tempoxyz/tempo/pull/4775
* fix: drop tx iter early by @mattsse in https://github.com/tempoxyz/tempo/pull/4726
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/5148
* perf(pool): use entry for expiring nonce inserts by @mattsse in https://github.com/tempoxyz/tempo/pull/5143
* feat(bench): add block size verdict metrics by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5136
* ci(bench): increase bench-e2e default TPS to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5145
* perf: cache commonware block encode size by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5135
* fix(consensus): avoid panic by mapping expired blocks to None by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5158
* ci(bench): include PR number in txgen bench metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5160
* chore: bump workspace version to 1.8.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5163
* ci(bench): update remaining e2e TPS defaults to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5165
* fix(bench): pass localnet signing secret in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5172
* ci: use foundry `master` in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5180
* fix(bench): detect armored age signing keys by @decofe in https://github.com/tempoxyz/tempo/pull/5177
* perf: use linear storage handler cache by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4455
* perf: use hybrid storage handler cache by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5038
* ci: log update-reth PR failures by @decofe in https://github.com/tempoxyz/tempo/pull/5218
* fix(follower): don't hard fail when consensus block is missing by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5154
* fix(tip-1059): discount based on gas limit by @klkvr in https://github.com/tempoxyz/tempo/pull/4500
* feat(txpool): support dynamic basefee by @klkvr in https://github.com/tempoxyz/tempo/pull/5243
* fix(localnet): pass consensus signing key secret by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5241
* chore: bump fixed-cache to 0.1.10 by @decofe in https://github.com/tempoxyz/tempo/pull/5245
* perf: avoid useless SSLOAD in 403 registry by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5239
* fix(bench): exclude warmup blocks from summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5253
* ci(bench): add TIP-20 2D nonce preset by @shekhirin in https://github.com/tempoxyz/tempo/pull/5236
* perf(builder): prewarm expiring nonce ring slots by @shekhirin in https://github.com/tempoxyz/tempo/pull/5144
* fix(follower/driver): always allow using the fallback by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5258
* fix(tempoup): use gh for release lookup and write logs to stderr by @grandizzy in https://github.com/tempoxyz/tempo/pull/5227
* fix(localnet): honor skip-build for tempo-xtask by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5268
* Allow rkrasiuk to trigger PR benches by @decofe in https://github.com/tempoxyz/tempo/pull/5273
* docs: add Rust formatting guidance by @decofe in https://github.com/tempoxyz/tempo/pull/5280
* perf(pool): reuse maintenance transaction snapshots by @mattsse in https://github.com/tempoxyz/tempo/pull/5284
* fix(ci): build binaries workflow without just by @decofe in https://github.com/tempoxyz/tempo/pull/5279
* fix(tempo): provide --secret for signing consensus smart contract args by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5276
* feat(consensus): register new peers as secondary nodes by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4623
* bench: reduce tip20 txgen valid window by @decofe in https://github.com/tempoxyz/tempo/pull/5275
* ci: fix precompiles coverage html artifact by @decofe in https://github.com/tempoxyz/tempo/pull/5290
* Add T7 hardfork scaffold by @decofe in https://github.com/tempoxyz/tempo/pull/5266
* ci(bench): support zero bloat in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5293
* fix(payload): offload prewarm receiver cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/5298
* perf(payload): pace builder budget with validation latency feedback by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5211
* perf(consensus): share commonware block clones by @mattsse in https://github.com/tempoxyz/tempo/pull/5307
* fix(ci): update stale Foundry Tempo locks first by @mattsse in https://github.com/tempoxyz/tempo/pull/5384
* fix(ci): ignore proc-macro-error2 advisory by @mattsse in https://github.com/tempoxyz/tempo/pull/5413
* Add metrics option to Derek bench workflows by @decofe in https://github.com/tempoxyz/tempo/pull/5412
* deps: update reth from main (2026-06-08) by @decofe in https://github.com/tempoxyz/tempo/pull/5220
* perf: use jemalloc for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4877
* perf: enable keccak cache for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4983
* perf: cache validated USD fee token by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4686
* perf(node): disable redundant payload state precache by @mattsse in https://github.com/tempoxyz/tempo/pull/5419
* chore(tips): update tempo-std verifier submodule by @mattsse in https://github.com/tempoxyz/tempo/pull/5420
* refactor(commonware-node): decode sealed blocks directly by @mattsse in https://github.com/tempoxyz/tempo/pull/5424
* chore(consensus): remove legacy immutable finalized blocks archive by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5234
* Use maxperf profile for benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/5415
* Revert "perf: cache validated USD fee token (#4686)" by @shekhirin in https://github.com/tempoxyz/tempo/pull/5437
* feat(pool): add best transaction size hints by @mattsse in https://github.com/tempoxyz/tempo/pull/5432
* fix(consensus): keep no legacy archive flag as noop by @decofe in https://github.com/tempoxyz/tempo/pull/5444
* Apply TIP-1059 discount to RPC transactions by @decofe in https://github.com/tempoxyz/tempo/pull/5422
* Revert "Apply TIP-1059 discount to RPC transactions" by @klkvr in https://github.com/tempoxyz/tempo/pull/5453
* docs(tip-1049): fix stale admin key docs by @legion2002 in https://github.com/tempoxyz/tempo/pull/5457
* feat(xtask): add shadow fork generation and bootstrap commands by @kamsz in https://github.com/tempoxyz/tempo/pull/5176
* docs(tip-1028): update 1028 docs to clarify that allowance is spent by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5462
* chore: gate evm dependencies by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5467
* chore: add workspace package metadata by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5472
* fix: add `tempo-chainspec` to gh action releases by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5492
* ci: limit CodSpeed microbenches to relevant crates by @decofe in https://github.com/tempoxyz/tempo/pull/5493
* ci: skip precompile forge tests for release metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5498
* refactor(primitives): move expiry check onto recovered subblock by @mattsse in https://github.com/tempoxyz/tempo/pull/5431
* fix: write changesets in `init-from-binary-dump` by @klkvr in https://github.com/tempoxyz/tempo/pull/5466
* perf: build bal in parallel by @klkvr in https://github.com/tempoxyz/tempo/pull/5301
* fix(transaction-pool): avoid eager transaction collection by @mattsse in https://github.com/tempoxyz/tempo/pull/5513
* chore(consensus): provide round to fetch proposal and log success by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5451
* perf(transaction-pool): avoid tx env clone during validation by @mattsse in https://github.com/tempoxyz/tempo/pull/5518
* chore: make tempo-consensus a module under tempo-evm by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3720
* fix(tip403): update `set_receive_policy` to reject when precompiles specified as recovery address by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5476
* chore(tip403): update `is_authorized_simple` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5517
* docs(tip1028): update interface to match implementation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5481
* chore: require verified-human review by @sds in https://github.com/tempoxyz/tempo/pull/5528
* fix(evm): reset collected fee per transaction by @legion2002 in https://github.com/tempoxyz/tempo/pull/5506
* chore(consensus): rename commonware-node to consensus by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5530
* chore(tip-1059): revert discount for pure payment settlement by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5499
* docs(tip1028): clarify receipt claim checks by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5480
* perf(pool): cache transaction validation reads by @mattsse in https://github.com/tempoxyz/tempo/pull/5522
* chore(tip403): remove unnecessary `set_receive_policy` check by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5526
* feat: include finalization in tempo snapshots  by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4482
* chore: update CODEOWNERS by @0xalpharush in https://github.com/tempoxyz/tempo/pull/5547
* chore: disable codeowners enforcement by VK by @sds in https://github.com/tempoxyz/tempo/pull/5549
* Add 0xrusowsky to crate CODEOWNERS by @decofe in https://github.com/tempoxyz/tempo/pull/5548
* Add jenpaff as tips codeowner by @decofe in https://github.com/tempoxyz/tempo/pull/5583
* Revert "perf(tip20): better reward handling" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5538
* perf(transaction-pool): allocate AA transaction before write lock by @mattsse in https://github.com/tempoxyz/tempo/pull/5546
* perf(tx-pool): remove eviction entries by lightweight order key by @mattsse in https://github.com/tempoxyz/tempo/pull/5585
* perf(primitives): avoid signature RLP length allocation by @mattsse in https://github.com/tempoxyz/tempo/pull/5553
* Add T6 timestamps by @jenpaff in https://github.com/tempoxyz/tempo/pull/5584
* docs(tips): add tooling prompt to TIP template by @emmajam in https://github.com/tempoxyz/tempo/pull/5592
* feat(chainspec): add T8 wiring by @legion2002 in https://github.com/tempoxyz/tempo/pull/5591
* ci: retry cosign docker signing by @decofe in https://github.com/tempoxyz/tempo/pull/5577
* chore(bench): raise builder classification floors by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5586
* perf(tx-pool): drop removed transactions at the end of the block update by @mattsse in https://github.com/tempoxyz/tempo/pull/5590
* refactor(consensus): make execution actor non-blocking by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5312
* Remove stale TIP-1059 and TIP-1065 T6 references by @decofe in https://github.com/tempoxyz/tempo/pull/5597
* test(tx-pool): validate regular eviction invariants by @mattsse in https://github.com/tempoxyz/tempo/pull/5593
* feat: TIP-1067 by @klkvr in https://github.com/tempoxyz/tempo/pull/5257
* perf(txpool): reduce map lookups when inserting AA 2D transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/5602
* ci: skip foundry precompile tests for SDK release bumps by @decofe in https://github.com/tempoxyz/tempo/pull/5610
* perf(txpool): cache active hardfork as atomic in validator by @mattsse in https://github.com/tempoxyz/tempo/pull/5603
* feat(tip-1075): disable TIP20 rewards by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5433
* chore: update cargo.toml to v1.8.2 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5619
* ci: upload bench metrics when valscope is enabled by @decofe in https://github.com/tempoxyz/tempo/pull/5527
* perf(tx-pool): share EVM and state reads across transaction validations by @mattsse in https://github.com/tempoxyz/tempo/pull/5572
* perf(txpool): resolve fee payer only when fee token changed by @mattsse in https://github.com/tempoxyz/tempo/pull/5621
* ci(release): open cargo bump PR after release by @jenpaff in https://github.com/tempoxyz/tempo/pull/5620
* refactor: simplify redundancies in tempo main.rs by @mattsse in https://github.com/tempoxyz/tempo/pull/5629
* refactor: convert tempo binary into a library by @mattsse in https://github.com/tempoxyz/tempo/pull/5631
* Make bench-e2e hardfork flags optional by @decofe in https://github.com/tempoxyz/tempo/pull/5613
* ci(bench): use existing recipients preset, multiple TIP-20 tokens by @shekhirin in https://github.com/tempoxyz/tempo/pull/5618
* feat: default builder cache sharing on by @decofe in https://github.com/tempoxyz/tempo/pull/5529
* ci(bench): make e2e txgen token count configurable by @decofe in https://github.com/tempoxyz/tempo/pull/5633
* feat(tip-1067): dynamic base fee by @dankrad in https://github.com/tempoxyz/tempo/pull/5153
* refactor: make tempo eth api builder generic by @mattsse in https://github.com/tempoxyz/tempo/pull/5634
* perf(txpool): reuse cached fee payer from tx env by @mattsse in https://github.com/tempoxyz/tempo/pull/5622
* test(amm): keep required liquidity burn check priced by @decofe in https://github.com/tempoxyz/tempo/pull/5617
* TIP-1075: Deprecate TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/5380
* perf: trim fee manager prewarm account touch by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5454
* ci: allow changelog fragments in SDK release skip by @decofe in https://github.com/tempoxyz/tempo/pull/5640
* chore: release `tempo-alloy@1.8.1`, `tempo-chainspec@1.8.2` and 2 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/5497
* perf(txpool): drop redundant mined-hash set in expired eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/5646
* perf(txpool): narrow TIP-20 Transfer decoding in pool maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/5645
* fix(cli): give faucet.enabled arg a unique clap id by @decofe in https://github.com/tempoxyz/tempo/pull/5655
* fix(bench): enable samply logs in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5656
* fix(rpc): pin simulate metadata block by @mattsse in https://github.com/tempoxyz/tempo/pull/5658
* perf(txpool): batch-drain new-transaction events in maintenance loop by @mattsse in https://github.com/tempoxyz/tempo/pull/5648
* perf(txpool): skip expiry untracking when nothing is tracked by @mattsse in https://github.com/tempoxyz/tempo/pull/5649
* deps: update reth from main (2026-06-15) by @decofe in https://github.com/tempoxyz/tempo/pull/5564
* ci: restore Foundry master checkout by @decofe in https://github.com/tempoxyz/tempo/pull/5785
* chore: bump reth by @decofe in https://github.com/tempoxyz/tempo/pull/5822
* Fix e2e existing recipient bloat token count by @decofe in https://github.com/tempoxyz/tempo/pull/5818
* feat(primitives): add AA signer recovery helper for expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/5664
* ci(bench): grant CAP\_SYS\_NICE to e2e benchmark process by @decofe in https://github.com/tempoxyz/tempo/pull/5784
* feat(pool): forward additional stateless/stateful validation hooks by @mattsse in https://github.com/tempoxyz/tempo/pull/5628
* feat(tempo): add programmatic node overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/5910
* ci(bench): use `tip20_existing_recipients` preset in comments by @shekhirin in https://github.com/tempoxyz/tempo/pull/5641
* fix(bench): run e2e samply under sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5932
* refactor(consensus): executor owns payload jobs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5625
* chore: default follow engine to be certified by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5845
* ci: remove Derek bench user allowlist by @decofe in https://github.com/tempoxyz/tempo/pull/5946
* ci(bench): clean e2e checkout workspace with sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5950
* fix: accept deprecated follow certify flag without value by @decofe in https://github.com/tempoxyz/tempo/pull/5964
* revert: ci(bench): sudo by @shekhirin in https://github.com/tempoxyz/tempo/pull/5970
* fix(cli): initialize tracing before running snapshot cmd by @Rjected in https://github.com/tempoxyz/tempo/pull/5982
* feat(tip-1060): impl `StorageCredits` precompile by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5228
* ci: fix reth update Amp retry loop by @decofe in https://github.com/tempoxyz/tempo/pull/6034
* perf(consensus): defer verify block drops by @mattsse in https://github.com/tempoxyz/tempo/pull/6012
* chore: bump MSRV to Rust 1.96 by @decofe in https://github.com/tempoxyz/tempo/pull/6035
* perf(evm): shrink payload tx iterator items by @mattsse in https://github.com/tempoxyz/tempo/pull/5998
* feat(evm): record sload and sstore actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/5423
* perf: defer state provider drop by @klkvr in https://github.com/tempoxyz/tempo/pull/6046
* ci: revert foundry checkout pin in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/6054
* fix(consensus): resubscribe follow upstream events by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6051
* deps: update reth from main (2026-06-17) by @decofe in https://github.com/tempoxyz/tempo/pull/5876
* chore(docker): bump rust from `64d9b7f` to `19817ea` by @dependabot\[bot] in https://github.com/tempoxyz/tempo/pull/6025
* chore(tip-1060): cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6052
* refactor: prewarm through evm by @klkvr in https://github.com/tempoxyz/tempo/pull/6085
* ci: print raw Amp output on failure, use Amp Neo by @decofe in https://github.com/tempoxyz/tempo/pull/6062
* ci(bench): retry bench chart pushes from fresh clones by @decofe in https://github.com/tempoxyz/tempo/pull/6144
* feat(precompiles): storage delta helpers by @shekhirin in https://github.com/tempoxyz/tempo/pull/5605
* deps: update reth from main (2026-06-18) by @decofe in https://github.com/tempoxyz/tempo/pull/6134
* ci(bench): scrape runner node exporter in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/6047
* perf(rpc): avoid cloning subblock pool transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/6176
* perf(txpool): optimize raw Tempo transaction recovery by @mattsse in https://github.com/tempoxyz/tempo/pull/6175
* tests: add T7 gas estimate expectation by @decofe in https://github.com/tempoxyz/tempo/pull/6194
* ci: reset bench e2e workspace by @decofe in https://github.com/tempoxyz/tempo/pull/6170
* perf(consensus): cache encoded execution blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/5421
* ci: add tracy setup to e2e benchmark workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5315
* chore(tempo-e2e): metrics refactors by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5659
* fix(consensus): load recovered parent blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6203
* chore: increase stale PR operations per run by @decofe in https://github.com/tempoxyz/tempo/pull/6205
* refactor(consensus): preserve recovered finalized blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6207
* perf(consensus): use recovered block lookups by @mattsse in https://github.com/tempoxyz/tempo/pull/6208
* chore: bump mozilla-actions/sccache-action from v0.0.9 to v0.0.10 by @laibe in https://github.com/tempoxyz/tempo/pull/5632
* style(precompiles): split storage helpers + add docs by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6212
* fix(bench): make block size metrics informational by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6198
* ci: ignore pending Review check in reth updater by @decofe in https://github.com/tempoxyz/tempo/pull/6214
* ci(bench): trim bench command comments before matching by @decofe in https://github.com/tempoxyz/tempo/pull/6215
* ci: fix Release PR post-merge failures by @decofe in https://github.com/tempoxyz/tempo/pull/6221
* ci(bench): revert Tracy and txgen CPU pinning by @decofe in https://github.com/tempoxyz/tempo/pull/6226
* chore(release): v1.9.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6220
* test(node): cover upcoming devnet hardforks by @mattsse in https://github.com/tempoxyz/tempo/pull/6217
* fix(cli): hide and silence snapshot skip-consensus overrides by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6228
* Add rkrasiuk bench Slack mapping by @decofe in https://github.com/tempoxyz/tempo/pull/6234
* feat(precompiles): do not record SINC/SDEC for zero storages by @shekhirin in https://github.com/tempoxyz/tempo/pull/6160
* Disable only TIP-1060 credit minting in fee hooks by @decofe in https://github.com/tempoxyz/tempo/pull/6248
* fix(serde): serialize sealed blocks as plain blocks by @decofe in https://github.com/tempoxyz/tempo/pull/6252
* Record e2e bench setup metadata by @decofe in https://github.com/tempoxyz/tempo/pull/6232
* ci(bench): allow bare tracy bench flag by @decofe in https://github.com/tempoxyz/tempo/pull/6242
* feat(alloy): add receive-policy and admin-key helpers by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6251
* ci: allow T7 and T8 bench hardforks by @decofe in https://github.com/tempoxyz/tempo/pull/6261
* feat: bundle consensus archive together with EL snapshot by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5789
* fix(tip-1060): non-creditable storage slots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6206
* fix(deps): update memmap2 to 0.9.11 by @mattsse in https://github.com/tempoxyz/tempo/pull/6270
* feat: avoid recreating periodic spending limit remaining field by @klkvr in https://github.com/tempoxyz/tempo/pull/6233
* fix(tip-1060): disable credit minting for fee distribution by @decofe in https://github.com/tempoxyz/tempo/pull/6237
* feat(tip-1064): maker storage credits on the DEX by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5305
* chore: fix bench bloat metadata forwarding by @decofe in https://github.com/tempoxyz/tempo/pull/6282
* docs(tip-1060): improve docs and style by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6281
* ci(bench): bump bench-e2e gas limit default by @decofe in https://github.com/tempoxyz/tempo/pull/6283
* chore: fix coverage bloat scope by @decofe in https://github.com/tempoxyz/tempo/pull/6284
* feat(tip-1066): add channel storage credits by @legion2002 in https://github.com/tempoxyz/tempo/pull/5935
* ci(bench): use feature binary for e2e regenesis by @decofe in https://github.com/tempoxyz/tempo/pull/6285
* TIP-1064: StablecoinDEX order storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4082
* ci(bench): display Tracy bench config as enabled by @decofe in https://github.com/tempoxyz/tempo/pull/6287
* chore(evm): expose `NonCreditableSlots` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6288
* perf: avoid disabled storage action allocation by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/6075
* fix(precompiles): update actions test for T6 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6294
* fix(tip-1060): keychain remaining sentinel by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6291
* test(precompile): add labels to action snapshots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6297
* style(tip-1060): clarity rename by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6280
* deps: update reth from main (2026-06-23) by @decofe in https://github.com/tempoxyz/tempo/pull/6211
* TIP-1060: contract storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4016
* ci(bench): support feature-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6292
* docs: update TIP rollout statuses by @decofe in https://github.com/tempoxyz/tempo/pull/6304
* fix(keychain): decode T7 periodic limit sentinel in reads by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6310
* test: fix invariant ghost nonce accounting by @decofe in https://github.com/tempoxyz/tempo/pull/6298
* Install macOS libusb dependency in tempoup by @parvahuja in https://github.com/tempoxyz/tempo/pull/6274
* ci(bench): use PR base branch for bench-e2e baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6305
* feat(builder): gas limit from CLI arguments and chain defaults by @decofe in https://github.com/tempoxyz/tempo/pull/6387
* feat(payload): thread skip-state-root into tempo builder by @decofe in https://github.com/tempoxyz/tempo/pull/6306
* Add bench general gas limit override by @decofe in https://github.com/tempoxyz/tempo/pull/6311
* ci(bench): update tip20 txgen fee token preset by @decofe in https://github.com/tempoxyz/tempo/pull/5959
* refactor: expose full `TempoBlockEnv` to precompiles by @klkvr in https://github.com/tempoxyz/tempo/pull/6394
* ci(bench): set explicit nonce for TIP-20 2D txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6393
* fix(bench): pass gas limits to localnet by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6391
* ci(bench): add TIP-20 protocol nonce txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6395
* feat(evm): make protocol fee manager generic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6279
* Update hardfork version from T6 to T7 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6400
* feat: expose `epoch_length` for precompiles by @decofe in https://github.com/tempoxyz/tempo/pull/6286
* Add T7 timestamps by @legion2002 in https://github.com/tempoxyz/tempo/pull/6396
* Track reverted transactions in payload builder by @decofe in https://github.com/tempoxyz/tempo/pull/6403
* feat: isolate `hardforks` into a crate without tempo deps by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6468
* ci(bench): disable txgen txpool drain wait by @decofe in https://github.com/tempoxyz/tempo/pull/6480
* chore: release `tempo-alloy@1.9.0`, `tempo-chainspec@1.9.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6484

</details>

## tempo-chainspec@1.9.0 (2026-06-25)

### Minor Changes

* Extracts Tempo hardfork definitions and activation schedules into a new `tempo-hardfork` crate for SDK reuse without chainspec dependencies.
* Updates `tempo-alloy` to depend on and re-export `tempo-hardfork` instead of `tempo-chainspec`. (by @DerekCofausper, [#6480](https://github.com/tempoxyz/tempo/pull/6480))

<details><summary>What's Changed</summary>

* ci(bench): remove bench metrics proxy by @decofe in https://github.com/tempoxyz/tempo/pull/4021
* ci(bench): use bench RPC secrets for replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4023
* ci(bench): Grafana summary URL by @decofe in https://github.com/tempoxyz/tempo/pull/4028
* ci(bench): bump bench-e2e gas limit to 1B by @decofe in https://github.com/tempoxyz/tempo/pull/4029
* ci(bench): improve bench-e2e GitHub reporting by @decofe in https://github.com/tempoxyz/tempo/pull/4032
* chore: bump alloy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4027
* Fix bench workflow issue permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4038
* Clarify TIP-1035 helper activation semantics by @decofe in https://github.com/tempoxyz/tempo/pull/4035
* perf(builder): boilerplate of prewarming for best transactions by @shekhirin in https://github.com/tempoxyz/tempo/pull/3865
* ci(bench): fix scheduled e2e benchmark workflow permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4047
* ci(bench): clean stale reth IPC before replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4048
* chore(tips): add tip naming pre-commit hook by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4020
* ci(bench): mask derived telemetry output in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4051
* feat(consensus): prunable blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3870
* fix(p2p): report proxy request and item counts by @mattsse in https://github.com/tempoxyz/tempo/pull/3948
* feat(primitives): use signature marker for sponsor requests by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4033
* ci: enable bench OTLP exports by default by @decofe in https://github.com/tempoxyz/tempo/pull/4050
* Fix bench e2e trace explore filters by @decofe in https://github.com/tempoxyz/tempo/pull/4052
* fix(rpc): improve fee token errors by @brendanjryan in https://github.com/tempoxyz/tempo/pull/3877
* ci(bench): label tempo replay bench telemetry by @decofe in https://github.com/tempoxyz/tempo/pull/4054
* fix(tip-1034): protect `TIP20EscrowChannel` from burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3989
* ci(bench): fix bench observability links and ids by @decofe in https://github.com/tempoxyz/tempo/pull/4055
* bench: enable payload builder sharing flags by default by @decofe in https://github.com/tempoxyz/tempo/pull/4053
* fix(tip-1033): surface tx `validator_fee` info to builder by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3991
* feat(builder): stop reason metric by @decofe in https://github.com/tempoxyz/tempo/pull/4060
* perf(benches): add in-memory tip20 execution microbenchmark by @Rjected in https://github.com/tempoxyz/tempo/pull/4043
* fix(tip-1034): enforce TIP-403 policy rules by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3994
* ci(bench): remove latency stddev from bench summaries by @decofe in https://github.com/tempoxyz/tempo/pull/4078
* bench: add manual CodSpeed workflow by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4081
* ci(bench): add gas throughput to e2e summary tables by @decofe in https://github.com/tempoxyz/tempo/pull/4084
* ci(bench): random-recipient preset for TIP-20 benches by @shekhirin in https://github.com/tempoxyz/tempo/pull/3975
* deps: update reth from main (2026-05-20) by @decofe in https://github.com/tempoxyz/tempo/pull/3986
* ci(bench): parameterize benchmark run pairs by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4083
* chore: default tips verification to T5 by @decofe in https://github.com/tempoxyz/tempo/pull/4087
* perf(txpool): precompute expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/4094
* perf(pool): use B256Map for transaction indexes by @mattsse in https://github.com/tempoxyz/tempo/pull/4092
* ci(bench): make bench-e2e preset a dropdown by @decofe in https://github.com/tempoxyz/tempo/pull/4098
* perf(builder): use execution cache from build arguments by @shekhirin in https://github.com/tempoxyz/tempo/pull/3602
* Rename invariant entrypoints for per-campaign metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4102
* test(stablecoin-dex): snapshot order gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4076
* perf(benches): enable asm keccak for tip20 execution bench by @Rjected in https://github.com/tempoxyz/tempo/pull/4068
* perf(benches): run tip20 execution through fixed execution cache by @Rjected in https://github.com/tempoxyz/tempo/pull/4071
* Enable continuous CodSpeed microbenchmarks on push and PR by @codspeed-hq\[bot] in https://github.com/tempoxyz/tempo/pull/4103
* chore: deny cast\_lossless clippy lint by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4077
* Fix bench summary compressed samples by @decofe in https://github.com/tempoxyz/tempo/pull/4106
* test: add TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4080
* fix(invariants): remove flaky coverage assertions from SignatureVerifier by @decofe in https://github.com/tempoxyz/tempo/pull/3993
* Update protocol version in TIP-1047 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3992
* docs(tip-1034): rename channel escrow to reserve by @brendanjryan in https://github.com/tempoxyz/tempo/pull/4110
* chore: reset main version to 1.7.0 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4120
* Rename TIP-20 channel escrow to reserve by @decofe in https://github.com/tempoxyz/tempo/pull/4113
* test: stabilize TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4125
* perf(transaction-pool): index expiring nonce eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4091
* perf: avoid marshal contention by @klkvr in https://github.com/tempoxyz/tempo/pull/4058
* chore: release `tempo-alloy@1.7.2`, `tempo-contracts@1.7.2` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4036
* Cache AA transaction signature hash by @decofe in https://github.com/tempoxyz/tempo/pull/4129
* refactor(node): use empty body storage by @mattsse in https://github.com/tempoxyz/tempo/pull/4128
* ci(bench): run CodSpeed on depot runner and filter benches by @decofe in https://github.com/tempoxyz/tempo/pull/4121
* ci(bench): disable txgen send retries by @decofe in https://github.com/tempoxyz/tempo/pull/4137
* feat(payload): split builder tx execution metrics by @joshieDo in https://github.com/tempoxyz/tempo/pull/4127
* Fix bench e2e Grafana dashboard URL by @decofe in https://github.com/tempoxyz/tempo/pull/4134
* feat(txgen): add existing recipient TIP20 preset by @onbjerg in https://github.com/tempoxyz/tempo/pull/4132
* perf(builder): implement prewarming by @shekhirin in https://github.com/tempoxyz/tempo/pull/3893
* ci: benchmark scheduled e2e against latest main by @decofe in https://github.com/tempoxyz/tempo/pull/4152
* ci(bench): enable prewarming in e2e bench by @decofe in https://github.com/tempoxyz/tempo/pull/4153
* feat: share execution cache in benches by @klkvr in https://github.com/tempoxyz/tempo/pull/4147
* feat(builder): increase transaction execution wait default by @decofe in https://github.com/tempoxyz/tempo/pull/4105
* chore: set workspace version to 1.7.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4160
* docs: remove TIP-1047 from T5 meta TIP by @decofe in https://github.com/tempoxyz/tempo/pull/4162
* feat(builder): separate state root metrics from builder finish by @decofe in https://github.com/tempoxyz/tempo/pull/4135
* ci: set weekend invariant timeout by @decofe in https://github.com/tempoxyz/tempo/pull/4025
* ci(bench): comparison hardfork labels by @decofe in https://github.com/tempoxyz/tempo/pull/4059
* docs(primitives): clarify transaction validity timestamps by @mattsse in https://github.com/tempoxyz/tempo/pull/4136
* update tip metadata  by @jenpaff in https://github.com/tempoxyz/tempo/pull/3778
* fix(txpool): resolve fee token from cached value by @decofe in https://github.com/tempoxyz/tempo/pull/4148
* docs(tip-1059): add discounted payment settlement by @malleshpai in https://github.com/tempoxyz/tempo/pull/4013
* TIP-1065: T6 Hardfork Meta TIP by @jenpaff in https://github.com/tempoxyz/tempo/pull/4167
* docs(tips): TIP-1028, Address-Level Receive Policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3791
* fix state hook precompile original info by @decofe in https://github.com/tempoxyz/tempo/pull/4171
* test: register precompile holders in TIP20 invariant by @decofe in https://github.com/tempoxyz/tempo/pull/4172
* Update cost implications for blocked transfers in TIP-20 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4173
* feat: encode the network identity into the chainspec by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4004
* perf(pool): clone cached tx env for payload building by @mattsse in https://github.com/tempoxyz/tempo/pull/4174
* perf(payload): use cached transaction lengths by @mattsse in https://github.com/tempoxyz/tempo/pull/4175
* perf(revm): cache tempo gas param overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/4182
* perf(transaction-pool): inline fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4183
* feat(alloy): add RelayTransport for sponsor/fee-payer support by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4010
* refactor(transaction-pool): use alloy primitive maps in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4178
* refactor(pool): reuse effective fee token helper by @mattsse in https://github.com/tempoxyz/tempo/pull/4181
* perf(transaction-pool): dispatch log decoding by topic by @mattsse in https://github.com/tempoxyz/tempo/pull/4179
* perf(transaction-pool): optimize expiry tracking cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/4177
* Downgrade tempo-alloy changelog to patch by @decofe in https://github.com/tempoxyz/tempo/pull/4188
* chore: release `tempo-alloy@1.7.3`, `tempo-contracts@1.7.3` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4184
* style: author typo by @decofe in https://github.com/tempoxyz/tempo/pull/4190
* docs(tip-1016): mark release as T4 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3709
* ci: reenable Foundry lint on build by @decofe in https://github.com/tempoxyz/tempo/pull/4154
* perf(transaction-pool): defer mined aa transaction drops by @mattsse in https://github.com/tempoxyz/tempo/pull/4185
* fix(transaction-pool): remove expiring nonce eviction entries in release by @mattsse in https://github.com/tempoxyz/tempo/pull/4189
* docs(tip-1034): explain close cumulative amount by @legion2002 in https://github.com/tempoxyz/tempo/pull/4199
* perf(transaction-pool): skip protocol nonce updates in aa pool by @mattsse in https://github.com/tempoxyz/tempo/pull/4187
* Use binary target for Foundry forge builds by @decofe in https://github.com/tempoxyz/tempo/pull/4207
* Restrict witness burning to admin keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4218
* feat(tip-1059): discount pure payment settlement by @0xKitsune in https://github.com/tempoxyz/tempo/pull/4139
* fix(tip-1034): validate signature encoding in payment lane by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4099
* chore: spawn txpool maintenace as blocking thread by @klkvr in https://github.com/tempoxyz/tempo/pull/4230
* feat(tip-1028): implement address-level receive policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3800
* perf(transaction-pool): gate keychain subject eviction checks by @mattsse in https://github.com/tempoxyz/tempo/pull/4252
* ci(bench): show derek command in e2e bench summary by @decofe in https://github.com/tempoxyz/tempo/pull/4263
* perf(builder): enable sparse trie sharing by default by @decofe in https://github.com/tempoxyz/tempo/pull/4195
* ci(bench): fix scheduled replay state scoping by @decofe in https://github.com/tempoxyz/tempo/pull/4259
* perf(bench): prefilter metric samples before parsing by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4208
* fix: protect self from blocked burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4264
* fix: ensure virtual channel payees use operators by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4258
* perf(transaction-pool): cache fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4253
* bench: TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/4158
* Allow tempoup to fall back to gh verification by @decofe in https://github.com/tempoxyz/tempo/pull/4014
* test: snapshot pre-T6 TIP20 memo transfer gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4226
* fix(txpool): keep paused txs on keychain spends by @mattsse in https://github.com/tempoxyz/tempo/pull/4279
* ci(bench): internal perf dashboard link in bench-e2e output by @decofe in https://github.com/tempoxyz/tempo/pull/4089
* ci(bench): handle quoted e2e node args by @decofe in https://github.com/tempoxyz/tempo/pull/4281
* fix: account for extra data when estimating block size by @klkvr in https://github.com/tempoxyz/tempo/pull/4289
* perf(transaction-pool): use entry api for fee balance cache by @mattsse in https://github.com/tempoxyz/tempo/pull/4254
* fix(txpool): use resolved fee token in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4272
* ci(bench): classify e2e run-pair benchmarks by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4124
* fix(txpool): refresh tracked fee balance top-ups by @mattsse in https://github.com/tempoxyz/tempo/pull/4297
* refactor(txpool): relax AMM liquidity provider borrow by @mattsse in https://github.com/tempoxyz/tempo/pull/4291
* fix(txpool): preserve sponsored keychain transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/4304
* fix(follower): add jittered linear backoff for follower reconnects by @decofe in https://github.com/tempoxyz/tempo/pull/4280
* bench: disable legacy marshal archive in e2e benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4307
* chore(consensus\_context): cleanup post-t4 activation by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4146
* test(tip-20): add T5 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4308
* fix(txpool): evict implicit fee txs by fee payer by @mattsse in https://github.com/tempoxyz/tempo/pull/4319
* ci(bench): support gas limit suffixes in bench comments by @decofe in https://github.com/tempoxyz/tempo/pull/4303
* docs(revm): clarify handler behavior for same-tx key auth by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4335
* docs(tip-1034): clarify operator trust assumptions by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4331
* docs: clarify access-key contract creation restriction by @legion2002 in https://github.com/tempoxyz/tempo/pull/4357
* tip: admin access keys by @jxom in https://github.com/tempoxyz/tempo/pull/3645
* Add threat model section to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4360
* refactor(txpool): update maintenance ordering by @mattsse in https://github.com/tempoxyz/tempo/pull/4312
* chore: bump reth and revm by @klkvr in https://github.com/tempoxyz/tempo/pull/4309
* refactor(transaction-pool): avoid expiring nonce hash copy by @mattsse in https://github.com/tempoxyz/tempo/pull/4364
* perf(pool): precompute fee balance slot during pool validation by @decofe in https://github.com/tempoxyz/tempo/pull/4358
* perf(tip-1034): cache domain separator by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4346
* refactor(transaction-pool): simplify expiring nonce eviction order by @mattsse in https://github.com/tempoxyz/tempo/pull/4365
* chore(tip-1034): resolve virtual payee on open/top-up checks by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4383
* perf(payload): use cached payment classification by @mattsse in https://github.com/tempoxyz/tempo/pull/4392
* perf(revm): do not compute unique tx identifier twice by @shekhirin in https://github.com/tempoxyz/tempo/pull/4391
* Enable T6 for invariant tests by @decofe in https://github.com/tempoxyz/tempo/pull/4404
* SIGP-262: Reject contradictory account keychain call scopes by @legion2002 in https://github.com/tempoxyz/tempo/pull/4359
* Fix existing recipients txgen env propagation by @decofe in https://github.com/tempoxyz/tempo/pull/4409
* fix(tip-1034): skip noop top-ups by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4317
* feat: add `FlipFailed` event to stablecoing dex by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4326
* feat(consensus): encrypt signing keys at rest by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4111
* perf(builder): enable execution cache sharing by @decofe in https://github.com/tempoxyz/tempo/pull/4266
* perf(payload): remove per-transaction builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4402
* feat: enable builder prewarming by default by @decofe in https://github.com/tempoxyz/tempo/pull/4423
* bench(evm): run TIP20 benches for current and latest hardforks by @shekhirin in https://github.com/tempoxyz/tempo/pull/4419
* ci(bench): remove e2e default local builder args by @decofe in https://github.com/tempoxyz/tempo/pull/4437
* ci(bench): update e2e regenesis and node arg compatibility by @decofe in https://github.com/tempoxyz/tempo/pull/4415
* docs(dex): clarify multi-hop policy 403 behavior by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4350
* feat(chainspec): schedule T5 activation times by @jenpaff in https://github.com/tempoxyz/tempo/pull/4410
* feat(builder): add elastic payload build budget by @joshieDo in https://github.com/tempoxyz/tempo/pull/4277
* fix(bench): quote PR bench args before shell by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4449
* fix: reject keychain-wrapped channel reserve vouchers by @legion2002 in https://github.com/tempoxyz/tempo/pull/4375
* docs: align payment classification TIPs by @legion2002 in https://github.com/tempoxyz/tempo/pull/4448
* fix(pool): exclude mined txs from expiry eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4425
* fix(consensus): accept deprecated proposal timing flags by @joshieDo in https://github.com/tempoxyz/tempo/pull/4465
* feat(payload): restore aggregate builder duration metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4432
* chore: bump alloy-evm by @klkvr in https://github.com/tempoxyz/tempo/pull/4433
* feat: follower fast-sync via the network identity by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4062
* ci(bench): tune e2e benchmark verdict noise by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4305
* ci(bench): update Slack user mapping by @decofe in https://github.com/tempoxyz/tempo/pull/4555
* fix: gate auth new account charge by @klkvr in https://github.com/tempoxyz/tempo/pull/4561
* feat(bench): report pool fetch builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4553
* bench: remove TPS quantiles from summary by @decofe in https://github.com/tempoxyz/tempo/pull/4571
* refactor(transaction-pool): avoid temporary eviction vec by @mattsse in https://github.com/tempoxyz/tempo/pull/4586
* fix: enforce secp256k1 feature propagation by @mattsse in https://github.com/tempoxyz/tempo/pull/4574
* perf: use direct BTree first-entry access by @mattsse in https://github.com/tempoxyz/tempo/pull/4587
* refactor(pool): split expiring nonce removal paths by @mattsse in https://github.com/tempoxyz/tempo/pull/4591
* fix(alloy): treat blank relay test env vars as absent by @mattsse in https://github.com/tempoxyz/tempo/pull/4593
* ci(bench): stream VM metrics during e2e by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4566
* perf(transaction-pool): cache AA pool counts by @figtracer in https://github.com/tempoxyz/tempo/pull/4554
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/4599
* ci: remove TPS percentile rows from bench Slack message by @decofe in https://github.com/tempoxyz/tempo/pull/4605
* feat(account-keychain): implement admin access keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4265
* docs(tip-1065): update from meta-TIP to independent TIP by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4191
* fix(bench): remove TPS percentile rows from e2e summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4608
* perf: cache AA replay hash by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4480
* docs: update README wordmark by @Slokh in https://github.com/tempoxyz/tempo/pull/4613
* ci(bench): revert e2e VM metric forwarding by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4614
* feat: wire bench valscope static reports by @joshieDo in https://github.com/tempoxyz/tempo/pull/4424
* ci(bench): run scheduled e2e benches for 600s by @decofe in https://github.com/tempoxyz/tempo/pull/4616
* perf(tip20): better reward handling by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4161
* perf: precalculate keccak slots for TIP-20 transfers at txpool entry by @joshieDo in https://github.com/tempoxyz/tempo/pull/3626
* feat(signature-verifier): add verifyAdmin by @legion2002 in https://github.com/tempoxyz/tempo/pull/4302
* fix(ci): use variable for ValScope report URL by @joshieDo in https://github.com/tempoxyz/tempo/pull/4634
* Bump tempo workspace version to 1.8.0 by @decofe in https://github.com/tempoxyz/tempo/pull/4650
* chore: release `tempo-alloy@1.8.0`, `tempo-contracts@1.8.0` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4219
* fix(Revert): "perf(builder): enable execution cache sharing" by @emmajam in https://github.com/tempoxyz/tempo/pull/4709
* fix(revert): "feat: enable builder prewarming by default" by @emmajam in https://github.com/tempoxyz/tempo/pull/4710
* ci(bench): enable builder cache & prewarming flags in bench-e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4736
* perf(transaction-pool): append AA transactions in one scan by @mattsse in https://github.com/tempoxyz/tempo/pull/4737
* Add observability requirements to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4722
* docs: clarify elastic proposal budget model by @joshieDo in https://github.com/tempoxyz/tempo/pull/4570
* feat(bench): support per-side feature flags by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4741
* Add Cyclops audit comment trigger by @legion2002 in https://github.com/tempoxyz/tempo/pull/4600
* fix(bench): run feature side first by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4751
* bench: gate ValScope summary behind flag by @decofe in https://github.com/tempoxyz/tempo/pull/4756
* bench: remove no-slack from manual dispatch inputs by @decofe in https://github.com/tempoxyz/tempo/pull/4782
* perf(transaction-pool): pre-warm nonce storage slots derivation off aa\_2d\_pool write locks by @i-m-aditya in https://github.com/tempoxyz/tempo/pull/4718
* feat(bench): add optional BAL to Tempo execution payloads by @decofe in https://github.com/tempoxyz/tempo/pull/4026
* perf(transaction-pool): avoid sorting expiring nonce best txs by @mattsse in https://github.com/tempoxyz/tempo/pull/4646
* perf: parallelize `Builder::finish` computations by @klkvr in https://github.com/tempoxyz/tempo/pull/4473
* bench-e2e: append side features to global features by @decofe in https://github.com/tempoxyz/tempo/pull/5137
* perf(pool): store transaction priority as u64 by @mattsse in https://github.com/tempoxyz/tempo/pull/5138
* ci: run Docker nightly build once daily by @decofe in https://github.com/tempoxyz/tempo/pull/5140
* perf(transaction-pool): reuse state update scratch buffers by @mattsse in https://github.com/tempoxyz/tempo/pull/4775
* fix: drop tx iter early by @mattsse in https://github.com/tempoxyz/tempo/pull/4726
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/5148
* perf(pool): use entry for expiring nonce inserts by @mattsse in https://github.com/tempoxyz/tempo/pull/5143
* feat(bench): add block size verdict metrics by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5136
* ci(bench): increase bench-e2e default TPS to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5145
* perf: cache commonware block encode size by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5135
* fix(consensus): avoid panic by mapping expired blocks to None by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5158
* ci(bench): include PR number in txgen bench metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5160
* chore: bump workspace version to 1.8.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5163
* ci(bench): update remaining e2e TPS defaults to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5165
* fix(bench): pass localnet signing secret in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5172
* ci: use foundry `master` in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5180
* fix(bench): detect armored age signing keys by @decofe in https://github.com/tempoxyz/tempo/pull/5177
* perf: use linear storage handler cache by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4455
* perf: use hybrid storage handler cache by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5038
* ci: log update-reth PR failures by @decofe in https://github.com/tempoxyz/tempo/pull/5218
* fix(follower): don't hard fail when consensus block is missing by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5154
* fix(tip-1059): discount based on gas limit by @klkvr in https://github.com/tempoxyz/tempo/pull/4500
* feat(txpool): support dynamic basefee by @klkvr in https://github.com/tempoxyz/tempo/pull/5243
* fix(localnet): pass consensus signing key secret by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5241
* chore: bump fixed-cache to 0.1.10 by @decofe in https://github.com/tempoxyz/tempo/pull/5245
* perf: avoid useless SSLOAD in 403 registry by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5239
* fix(bench): exclude warmup blocks from summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5253
* ci(bench): add TIP-20 2D nonce preset by @shekhirin in https://github.com/tempoxyz/tempo/pull/5236
* perf(builder): prewarm expiring nonce ring slots by @shekhirin in https://github.com/tempoxyz/tempo/pull/5144
* fix(follower/driver): always allow using the fallback by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5258
* fix(tempoup): use gh for release lookup and write logs to stderr by @grandizzy in https://github.com/tempoxyz/tempo/pull/5227
* fix(localnet): honor skip-build for tempo-xtask by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5268
* Allow rkrasiuk to trigger PR benches by @decofe in https://github.com/tempoxyz/tempo/pull/5273
* docs: add Rust formatting guidance by @decofe in https://github.com/tempoxyz/tempo/pull/5280
* perf(pool): reuse maintenance transaction snapshots by @mattsse in https://github.com/tempoxyz/tempo/pull/5284
* fix(ci): build binaries workflow without just by @decofe in https://github.com/tempoxyz/tempo/pull/5279
* fix(tempo): provide --secret for signing consensus smart contract args by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5276
* feat(consensus): register new peers as secondary nodes by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4623
* bench: reduce tip20 txgen valid window by @decofe in https://github.com/tempoxyz/tempo/pull/5275
* ci: fix precompiles coverage html artifact by @decofe in https://github.com/tempoxyz/tempo/pull/5290
* Add T7 hardfork scaffold by @decofe in https://github.com/tempoxyz/tempo/pull/5266
* ci(bench): support zero bloat in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5293
* fix(payload): offload prewarm receiver cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/5298
* perf(payload): pace builder budget with validation latency feedback by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5211
* perf(consensus): share commonware block clones by @mattsse in https://github.com/tempoxyz/tempo/pull/5307
* fix(ci): update stale Foundry Tempo locks first by @mattsse in https://github.com/tempoxyz/tempo/pull/5384
* fix(ci): ignore proc-macro-error2 advisory by @mattsse in https://github.com/tempoxyz/tempo/pull/5413
* Add metrics option to Derek bench workflows by @decofe in https://github.com/tempoxyz/tempo/pull/5412
* deps: update reth from main (2026-06-08) by @decofe in https://github.com/tempoxyz/tempo/pull/5220
* perf: use jemalloc for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4877
* perf: enable keccak cache for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4983
* perf: cache validated USD fee token by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4686
* perf(node): disable redundant payload state precache by @mattsse in https://github.com/tempoxyz/tempo/pull/5419
* chore(tips): update tempo-std verifier submodule by @mattsse in https://github.com/tempoxyz/tempo/pull/5420
* refactor(commonware-node): decode sealed blocks directly by @mattsse in https://github.com/tempoxyz/tempo/pull/5424
* chore(consensus): remove legacy immutable finalized blocks archive by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5234
* Use maxperf profile for benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/5415
* Revert "perf: cache validated USD fee token (#4686)" by @shekhirin in https://github.com/tempoxyz/tempo/pull/5437
* feat(pool): add best transaction size hints by @mattsse in https://github.com/tempoxyz/tempo/pull/5432
* fix(consensus): keep no legacy archive flag as noop by @decofe in https://github.com/tempoxyz/tempo/pull/5444
* Apply TIP-1059 discount to RPC transactions by @decofe in https://github.com/tempoxyz/tempo/pull/5422
* Revert "Apply TIP-1059 discount to RPC transactions" by @klkvr in https://github.com/tempoxyz/tempo/pull/5453
* docs(tip-1049): fix stale admin key docs by @legion2002 in https://github.com/tempoxyz/tempo/pull/5457
* feat(xtask): add shadow fork generation and bootstrap commands by @kamsz in https://github.com/tempoxyz/tempo/pull/5176
* docs(tip-1028): update 1028 docs to clarify that allowance is spent by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5462
* chore: gate evm dependencies by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5467
* chore: add workspace package metadata by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5472
* fix: add `tempo-chainspec` to gh action releases by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5492
* ci: limit CodSpeed microbenches to relevant crates by @decofe in https://github.com/tempoxyz/tempo/pull/5493
* ci: skip precompile forge tests for release metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5498
* refactor(primitives): move expiry check onto recovered subblock by @mattsse in https://github.com/tempoxyz/tempo/pull/5431
* fix: write changesets in `init-from-binary-dump` by @klkvr in https://github.com/tempoxyz/tempo/pull/5466
* perf: build bal in parallel by @klkvr in https://github.com/tempoxyz/tempo/pull/5301
* fix(transaction-pool): avoid eager transaction collection by @mattsse in https://github.com/tempoxyz/tempo/pull/5513
* chore(consensus): provide round to fetch proposal and log success by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5451
* perf(transaction-pool): avoid tx env clone during validation by @mattsse in https://github.com/tempoxyz/tempo/pull/5518
* chore: make tempo-consensus a module under tempo-evm by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3720
* fix(tip403): update `set_receive_policy` to reject when precompiles specified as recovery address by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5476
* chore(tip403): update `is_authorized_simple` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5517
* docs(tip1028): update interface to match implementation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5481
* chore: require verified-human review by @sds in https://github.com/tempoxyz/tempo/pull/5528
* fix(evm): reset collected fee per transaction by @legion2002 in https://github.com/tempoxyz/tempo/pull/5506
* chore(consensus): rename commonware-node to consensus by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5530
* chore(tip-1059): revert discount for pure payment settlement by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5499
* docs(tip1028): clarify receipt claim checks by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5480
* perf(pool): cache transaction validation reads by @mattsse in https://github.com/tempoxyz/tempo/pull/5522
* chore(tip403): remove unnecessary `set_receive_policy` check by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5526
* feat: include finalization in tempo snapshots  by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4482
* chore: update CODEOWNERS by @0xalpharush in https://github.com/tempoxyz/tempo/pull/5547
* chore: disable codeowners enforcement by VK by @sds in https://github.com/tempoxyz/tempo/pull/5549
* Add 0xrusowsky to crate CODEOWNERS by @decofe in https://github.com/tempoxyz/tempo/pull/5548
* Add jenpaff as tips codeowner by @decofe in https://github.com/tempoxyz/tempo/pull/5583
* Revert "perf(tip20): better reward handling" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5538
* perf(transaction-pool): allocate AA transaction before write lock by @mattsse in https://github.com/tempoxyz/tempo/pull/5546
* perf(tx-pool): remove eviction entries by lightweight order key by @mattsse in https://github.com/tempoxyz/tempo/pull/5585
* perf(primitives): avoid signature RLP length allocation by @mattsse in https://github.com/tempoxyz/tempo/pull/5553
* Add T6 timestamps by @jenpaff in https://github.com/tempoxyz/tempo/pull/5584
* docs(tips): add tooling prompt to TIP template by @emmajam in https://github.com/tempoxyz/tempo/pull/5592
* feat(chainspec): add T8 wiring by @legion2002 in https://github.com/tempoxyz/tempo/pull/5591
* ci: retry cosign docker signing by @decofe in https://github.com/tempoxyz/tempo/pull/5577
* chore(bench): raise builder classification floors by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5586
* perf(tx-pool): drop removed transactions at the end of the block update by @mattsse in https://github.com/tempoxyz/tempo/pull/5590
* refactor(consensus): make execution actor non-blocking by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5312
* Remove stale TIP-1059 and TIP-1065 T6 references by @decofe in https://github.com/tempoxyz/tempo/pull/5597
* test(tx-pool): validate regular eviction invariants by @mattsse in https://github.com/tempoxyz/tempo/pull/5593
* feat: TIP-1067 by @klkvr in https://github.com/tempoxyz/tempo/pull/5257
* perf(txpool): reduce map lookups when inserting AA 2D transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/5602
* ci: skip foundry precompile tests for SDK release bumps by @decofe in https://github.com/tempoxyz/tempo/pull/5610
* perf(txpool): cache active hardfork as atomic in validator by @mattsse in https://github.com/tempoxyz/tempo/pull/5603
* feat(tip-1075): disable TIP20 rewards by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5433
* chore: update cargo.toml to v1.8.2 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5619
* ci: upload bench metrics when valscope is enabled by @decofe in https://github.com/tempoxyz/tempo/pull/5527
* perf(tx-pool): share EVM and state reads across transaction validations by @mattsse in https://github.com/tempoxyz/tempo/pull/5572
* perf(txpool): resolve fee payer only when fee token changed by @mattsse in https://github.com/tempoxyz/tempo/pull/5621
* ci(release): open cargo bump PR after release by @jenpaff in https://github.com/tempoxyz/tempo/pull/5620
* refactor: simplify redundancies in tempo main.rs by @mattsse in https://github.com/tempoxyz/tempo/pull/5629
* refactor: convert tempo binary into a library by @mattsse in https://github.com/tempoxyz/tempo/pull/5631
* Make bench-e2e hardfork flags optional by @decofe in https://github.com/tempoxyz/tempo/pull/5613
* ci(bench): use existing recipients preset, multiple TIP-20 tokens by @shekhirin in https://github.com/tempoxyz/tempo/pull/5618
* feat: default builder cache sharing on by @decofe in https://github.com/tempoxyz/tempo/pull/5529
* ci(bench): make e2e txgen token count configurable by @decofe in https://github.com/tempoxyz/tempo/pull/5633
* feat(tip-1067): dynamic base fee by @dankrad in https://github.com/tempoxyz/tempo/pull/5153
* refactor: make tempo eth api builder generic by @mattsse in https://github.com/tempoxyz/tempo/pull/5634
* perf(txpool): reuse cached fee payer from tx env by @mattsse in https://github.com/tempoxyz/tempo/pull/5622
* test(amm): keep required liquidity burn check priced by @decofe in https://github.com/tempoxyz/tempo/pull/5617
* TIP-1075: Deprecate TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/5380
* perf: trim fee manager prewarm account touch by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5454
* ci: allow changelog fragments in SDK release skip by @decofe in https://github.com/tempoxyz/tempo/pull/5640
* chore: release `tempo-alloy@1.8.1`, `tempo-chainspec@1.8.2` and 2 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/5497
* perf(txpool): drop redundant mined-hash set in expired eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/5646
* perf(txpool): narrow TIP-20 Transfer decoding in pool maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/5645
* fix(cli): give faucet.enabled arg a unique clap id by @decofe in https://github.com/tempoxyz/tempo/pull/5655
* fix(bench): enable samply logs in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5656
* fix(rpc): pin simulate metadata block by @mattsse in https://github.com/tempoxyz/tempo/pull/5658
* perf(txpool): batch-drain new-transaction events in maintenance loop by @mattsse in https://github.com/tempoxyz/tempo/pull/5648
* perf(txpool): skip expiry untracking when nothing is tracked by @mattsse in https://github.com/tempoxyz/tempo/pull/5649
* deps: update reth from main (2026-06-15) by @decofe in https://github.com/tempoxyz/tempo/pull/5564
* ci: restore Foundry master checkout by @decofe in https://github.com/tempoxyz/tempo/pull/5785
* chore: bump reth by @decofe in https://github.com/tempoxyz/tempo/pull/5822
* Fix e2e existing recipient bloat token count by @decofe in https://github.com/tempoxyz/tempo/pull/5818
* feat(primitives): add AA signer recovery helper for expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/5664
* ci(bench): grant CAP\_SYS\_NICE to e2e benchmark process by @decofe in https://github.com/tempoxyz/tempo/pull/5784
* feat(pool): forward additional stateless/stateful validation hooks by @mattsse in https://github.com/tempoxyz/tempo/pull/5628
* feat(tempo): add programmatic node overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/5910
* ci(bench): use `tip20_existing_recipients` preset in comments by @shekhirin in https://github.com/tempoxyz/tempo/pull/5641
* fix(bench): run e2e samply under sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5932
* refactor(consensus): executor owns payload jobs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5625
* chore: default follow engine to be certified by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5845
* ci: remove Derek bench user allowlist by @decofe in https://github.com/tempoxyz/tempo/pull/5946
* ci(bench): clean e2e checkout workspace with sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5950
* fix: accept deprecated follow certify flag without value by @decofe in https://github.com/tempoxyz/tempo/pull/5964
* revert: ci(bench): sudo by @shekhirin in https://github.com/tempoxyz/tempo/pull/5970
* fix(cli): initialize tracing before running snapshot cmd by @Rjected in https://github.com/tempoxyz/tempo/pull/5982
* feat(tip-1060): impl `StorageCredits` precompile by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5228
* ci: fix reth update Amp retry loop by @decofe in https://github.com/tempoxyz/tempo/pull/6034
* perf(consensus): defer verify block drops by @mattsse in https://github.com/tempoxyz/tempo/pull/6012
* chore: bump MSRV to Rust 1.96 by @decofe in https://github.com/tempoxyz/tempo/pull/6035
* perf(evm): shrink payload tx iterator items by @mattsse in https://github.com/tempoxyz/tempo/pull/5998
* feat(evm): record sload and sstore actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/5423
* perf: defer state provider drop by @klkvr in https://github.com/tempoxyz/tempo/pull/6046
* ci: revert foundry checkout pin in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/6054
* fix(consensus): resubscribe follow upstream events by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6051
* deps: update reth from main (2026-06-17) by @decofe in https://github.com/tempoxyz/tempo/pull/5876
* chore(docker): bump rust from `64d9b7f` to `19817ea` by @dependabot\[bot] in https://github.com/tempoxyz/tempo/pull/6025
* chore(tip-1060): cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6052
* refactor: prewarm through evm by @klkvr in https://github.com/tempoxyz/tempo/pull/6085
* ci: print raw Amp output on failure, use Amp Neo by @decofe in https://github.com/tempoxyz/tempo/pull/6062
* ci(bench): retry bench chart pushes from fresh clones by @decofe in https://github.com/tempoxyz/tempo/pull/6144
* feat(precompiles): storage delta helpers by @shekhirin in https://github.com/tempoxyz/tempo/pull/5605
* deps: update reth from main (2026-06-18) by @decofe in https://github.com/tempoxyz/tempo/pull/6134
* ci(bench): scrape runner node exporter in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/6047
* perf(rpc): avoid cloning subblock pool transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/6176
* perf(txpool): optimize raw Tempo transaction recovery by @mattsse in https://github.com/tempoxyz/tempo/pull/6175
* tests: add T7 gas estimate expectation by @decofe in https://github.com/tempoxyz/tempo/pull/6194
* ci: reset bench e2e workspace by @decofe in https://github.com/tempoxyz/tempo/pull/6170
* perf(consensus): cache encoded execution blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/5421
* ci: add tracy setup to e2e benchmark workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5315
* chore(tempo-e2e): metrics refactors by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5659
* fix(consensus): load recovered parent blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6203
* chore: increase stale PR operations per run by @decofe in https://github.com/tempoxyz/tempo/pull/6205
* refactor(consensus): preserve recovered finalized blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6207
* perf(consensus): use recovered block lookups by @mattsse in https://github.com/tempoxyz/tempo/pull/6208
* chore: bump mozilla-actions/sccache-action from v0.0.9 to v0.0.10 by @laibe in https://github.com/tempoxyz/tempo/pull/5632
* style(precompiles): split storage helpers + add docs by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6212
* fix(bench): make block size metrics informational by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6198
* ci: ignore pending Review check in reth updater by @decofe in https://github.com/tempoxyz/tempo/pull/6214
* ci(bench): trim bench command comments before matching by @decofe in https://github.com/tempoxyz/tempo/pull/6215
* ci: fix Release PR post-merge failures by @decofe in https://github.com/tempoxyz/tempo/pull/6221
* ci(bench): revert Tracy and txgen CPU pinning by @decofe in https://github.com/tempoxyz/tempo/pull/6226
* chore(release): v1.9.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6220
* test(node): cover upcoming devnet hardforks by @mattsse in https://github.com/tempoxyz/tempo/pull/6217
* fix(cli): hide and silence snapshot skip-consensus overrides by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6228
* Add rkrasiuk bench Slack mapping by @decofe in https://github.com/tempoxyz/tempo/pull/6234
* feat(precompiles): do not record SINC/SDEC for zero storages by @shekhirin in https://github.com/tempoxyz/tempo/pull/6160
* Disable only TIP-1060 credit minting in fee hooks by @decofe in https://github.com/tempoxyz/tempo/pull/6248
* fix(serde): serialize sealed blocks as plain blocks by @decofe in https://github.com/tempoxyz/tempo/pull/6252
* Record e2e bench setup metadata by @decofe in https://github.com/tempoxyz/tempo/pull/6232
* ci(bench): allow bare tracy bench flag by @decofe in https://github.com/tempoxyz/tempo/pull/6242
* feat(alloy): add receive-policy and admin-key helpers by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6251
* ci: allow T7 and T8 bench hardforks by @decofe in https://github.com/tempoxyz/tempo/pull/6261
* feat: bundle consensus archive together with EL snapshot by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5789
* fix(tip-1060): non-creditable storage slots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6206
* fix(deps): update memmap2 to 0.9.11 by @mattsse in https://github.com/tempoxyz/tempo/pull/6270
* feat: avoid recreating periodic spending limit remaining field by @klkvr in https://github.com/tempoxyz/tempo/pull/6233
* fix(tip-1060): disable credit minting for fee distribution by @decofe in https://github.com/tempoxyz/tempo/pull/6237
* feat(tip-1064): maker storage credits on the DEX by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5305
* chore: fix bench bloat metadata forwarding by @decofe in https://github.com/tempoxyz/tempo/pull/6282
* docs(tip-1060): improve docs and style by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6281
* ci(bench): bump bench-e2e gas limit default by @decofe in https://github.com/tempoxyz/tempo/pull/6283
* chore: fix coverage bloat scope by @decofe in https://github.com/tempoxyz/tempo/pull/6284
* feat(tip-1066): add channel storage credits by @legion2002 in https://github.com/tempoxyz/tempo/pull/5935
* ci(bench): use feature binary for e2e regenesis by @decofe in https://github.com/tempoxyz/tempo/pull/6285
* TIP-1064: StablecoinDEX order storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4082
* ci(bench): display Tracy bench config as enabled by @decofe in https://github.com/tempoxyz/tempo/pull/6287
* chore(evm): expose `NonCreditableSlots` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6288
* perf: avoid disabled storage action allocation by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/6075
* fix(precompiles): update actions test for T6 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6294
* fix(tip-1060): keychain remaining sentinel by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6291
* test(precompile): add labels to action snapshots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6297
* style(tip-1060): clarity rename by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6280
* deps: update reth from main (2026-06-23) by @decofe in https://github.com/tempoxyz/tempo/pull/6211
* TIP-1060: contract storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4016
* ci(bench): support feature-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6292
* docs: update TIP rollout statuses by @decofe in https://github.com/tempoxyz/tempo/pull/6304
* fix(keychain): decode T7 periodic limit sentinel in reads by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6310
* test: fix invariant ghost nonce accounting by @decofe in https://github.com/tempoxyz/tempo/pull/6298
* Install macOS libusb dependency in tempoup by @parvahuja in https://github.com/tempoxyz/tempo/pull/6274
* ci(bench): use PR base branch for bench-e2e baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6305
* feat(builder): gas limit from CLI arguments and chain defaults by @decofe in https://github.com/tempoxyz/tempo/pull/6387
* feat(payload): thread skip-state-root into tempo builder by @decofe in https://github.com/tempoxyz/tempo/pull/6306
* Add bench general gas limit override by @decofe in https://github.com/tempoxyz/tempo/pull/6311
* ci(bench): update tip20 txgen fee token preset by @decofe in https://github.com/tempoxyz/tempo/pull/5959
* refactor: expose full `TempoBlockEnv` to precompiles by @klkvr in https://github.com/tempoxyz/tempo/pull/6394
* ci(bench): set explicit nonce for TIP-20 2D txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6393
* fix(bench): pass gas limits to localnet by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6391
* ci(bench): add TIP-20 protocol nonce txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6395
* feat(evm): make protocol fee manager generic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6279
* Update hardfork version from T6 to T7 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6400
* feat: expose `epoch_length` for precompiles by @decofe in https://github.com/tempoxyz/tempo/pull/6286
* Add T7 timestamps by @legion2002 in https://github.com/tempoxyz/tempo/pull/6396
* Track reverted transactions in payload builder by @decofe in https://github.com/tempoxyz/tempo/pull/6403
* feat: isolate `hardforks` into a crate without tempo deps by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6468
* ci(bench): disable txgen txpool drain wait by @decofe in https://github.com/tempoxyz/tempo/pull/6480
* chore: release `tempo-alloy@1.9.0`, `tempo-chainspec@1.9.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6484

</details>

## tempo-alloy@1.9.0 (2026-06-25)

### Minor Changes

* Extracts Tempo hardfork definitions and activation schedules into a new `tempo-hardfork` crate for SDK reuse without chainspec dependencies.
* Updates `tempo-alloy` to depend on and re-export `tempo-hardfork` instead of `tempo-chainspec`. (by @DerekCofausper, [#6480](https://github.com/tempoxyz/tempo/pull/6480))

<details><summary>What's Changed</summary>

* ci(bench): remove bench metrics proxy by @decofe in https://github.com/tempoxyz/tempo/pull/4021
* ci(bench): use bench RPC secrets for replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4023
* ci(bench): Grafana summary URL by @decofe in https://github.com/tempoxyz/tempo/pull/4028
* ci(bench): bump bench-e2e gas limit to 1B by @decofe in https://github.com/tempoxyz/tempo/pull/4029
* ci(bench): improve bench-e2e GitHub reporting by @decofe in https://github.com/tempoxyz/tempo/pull/4032
* chore: bump alloy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4027
* Fix bench workflow issue permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4038
* Clarify TIP-1035 helper activation semantics by @decofe in https://github.com/tempoxyz/tempo/pull/4035
* perf(builder): boilerplate of prewarming for best transactions by @shekhirin in https://github.com/tempoxyz/tempo/pull/3865
* ci(bench): fix scheduled e2e benchmark workflow permissions by @decofe in https://github.com/tempoxyz/tempo/pull/4047
* ci(bench): clean stale reth IPC before replay benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4048
* chore(tips): add tip naming pre-commit hook by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4020
* ci(bench): mask derived telemetry output in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4051
* feat(consensus): prunable blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3870
* fix(p2p): report proxy request and item counts by @mattsse in https://github.com/tempoxyz/tempo/pull/3948
* feat(primitives): use signature marker for sponsor requests by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4033
* ci: enable bench OTLP exports by default by @decofe in https://github.com/tempoxyz/tempo/pull/4050
* Fix bench e2e trace explore filters by @decofe in https://github.com/tempoxyz/tempo/pull/4052
* fix(rpc): improve fee token errors by @brendanjryan in https://github.com/tempoxyz/tempo/pull/3877
* ci(bench): label tempo replay bench telemetry by @decofe in https://github.com/tempoxyz/tempo/pull/4054
* fix(tip-1034): protect `TIP20EscrowChannel` from burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3989
* ci(bench): fix bench observability links and ids by @decofe in https://github.com/tempoxyz/tempo/pull/4055
* bench: enable payload builder sharing flags by default by @decofe in https://github.com/tempoxyz/tempo/pull/4053
* fix(tip-1033): surface tx `validator_fee` info to builder by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3991
* feat(builder): stop reason metric by @decofe in https://github.com/tempoxyz/tempo/pull/4060
* perf(benches): add in-memory tip20 execution microbenchmark by @Rjected in https://github.com/tempoxyz/tempo/pull/4043
* fix(tip-1034): enforce TIP-403 policy rules by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/3994
* ci(bench): remove latency stddev from bench summaries by @decofe in https://github.com/tempoxyz/tempo/pull/4078
* bench: add manual CodSpeed workflow by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4081
* ci(bench): add gas throughput to e2e summary tables by @decofe in https://github.com/tempoxyz/tempo/pull/4084
* ci(bench): random-recipient preset for TIP-20 benches by @shekhirin in https://github.com/tempoxyz/tempo/pull/3975
* deps: update reth from main (2026-05-20) by @decofe in https://github.com/tempoxyz/tempo/pull/3986
* ci(bench): parameterize benchmark run pairs by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4083
* chore: default tips verification to T5 by @decofe in https://github.com/tempoxyz/tempo/pull/4087
* perf(txpool): precompute expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/4094
* perf(pool): use B256Map for transaction indexes by @mattsse in https://github.com/tempoxyz/tempo/pull/4092
* ci(bench): make bench-e2e preset a dropdown by @decofe in https://github.com/tempoxyz/tempo/pull/4098
* perf(builder): use execution cache from build arguments by @shekhirin in https://github.com/tempoxyz/tempo/pull/3602
* Rename invariant entrypoints for per-campaign metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4102
* test(stablecoin-dex): snapshot order gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4076
* perf(benches): enable asm keccak for tip20 execution bench by @Rjected in https://github.com/tempoxyz/tempo/pull/4068
* perf(benches): run tip20 execution through fixed execution cache by @Rjected in https://github.com/tempoxyz/tempo/pull/4071
* Enable continuous CodSpeed microbenchmarks on push and PR by @codspeed-hq\[bot] in https://github.com/tempoxyz/tempo/pull/4103
* chore: deny cast\_lossless clippy lint by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4077
* Fix bench summary compressed samples by @decofe in https://github.com/tempoxyz/tempo/pull/4106
* test: add TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4080
* fix(invariants): remove flaky coverage assertions from SignatureVerifier by @decofe in https://github.com/tempoxyz/tempo/pull/3993
* Update protocol version in TIP-1047 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3992
* docs(tip-1034): rename channel escrow to reserve by @brendanjryan in https://github.com/tempoxyz/tempo/pull/4110
* chore: reset main version to 1.7.0 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4120
* Rename TIP-20 channel escrow to reserve by @decofe in https://github.com/tempoxyz/tempo/pull/4113
* test: stabilize TIP20 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4125
* perf(transaction-pool): index expiring nonce eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4091
* perf: avoid marshal contention by @klkvr in https://github.com/tempoxyz/tempo/pull/4058
* chore: release `tempo-alloy@1.7.2`, `tempo-contracts@1.7.2` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4036
* Cache AA transaction signature hash by @decofe in https://github.com/tempoxyz/tempo/pull/4129
* refactor(node): use empty body storage by @mattsse in https://github.com/tempoxyz/tempo/pull/4128
* ci(bench): run CodSpeed on depot runner and filter benches by @decofe in https://github.com/tempoxyz/tempo/pull/4121
* ci(bench): disable txgen send retries by @decofe in https://github.com/tempoxyz/tempo/pull/4137
* feat(payload): split builder tx execution metrics by @joshieDo in https://github.com/tempoxyz/tempo/pull/4127
* Fix bench e2e Grafana dashboard URL by @decofe in https://github.com/tempoxyz/tempo/pull/4134
* feat(txgen): add existing recipient TIP20 preset by @onbjerg in https://github.com/tempoxyz/tempo/pull/4132
* perf(builder): implement prewarming by @shekhirin in https://github.com/tempoxyz/tempo/pull/3893
* ci: benchmark scheduled e2e against latest main by @decofe in https://github.com/tempoxyz/tempo/pull/4152
* ci(bench): enable prewarming in e2e bench by @decofe in https://github.com/tempoxyz/tempo/pull/4153
* feat: share execution cache in benches by @klkvr in https://github.com/tempoxyz/tempo/pull/4147
* feat(builder): increase transaction execution wait default by @decofe in https://github.com/tempoxyz/tempo/pull/4105
* chore: set workspace version to 1.7.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/4160
* docs: remove TIP-1047 from T5 meta TIP by @decofe in https://github.com/tempoxyz/tempo/pull/4162
* feat(builder): separate state root metrics from builder finish by @decofe in https://github.com/tempoxyz/tempo/pull/4135
* ci: set weekend invariant timeout by @decofe in https://github.com/tempoxyz/tempo/pull/4025
* ci(bench): comparison hardfork labels by @decofe in https://github.com/tempoxyz/tempo/pull/4059
* docs(primitives): clarify transaction validity timestamps by @mattsse in https://github.com/tempoxyz/tempo/pull/4136
* update tip metadata  by @jenpaff in https://github.com/tempoxyz/tempo/pull/3778
* fix(txpool): resolve fee token from cached value by @decofe in https://github.com/tempoxyz/tempo/pull/4148
* docs(tip-1059): add discounted payment settlement by @malleshpai in https://github.com/tempoxyz/tempo/pull/4013
* TIP-1065: T6 Hardfork Meta TIP by @jenpaff in https://github.com/tempoxyz/tempo/pull/4167
* docs(tips): TIP-1028, Address-Level Receive Policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3791
* fix state hook precompile original info by @decofe in https://github.com/tempoxyz/tempo/pull/4171
* test: register precompile holders in TIP20 invariant by @decofe in https://github.com/tempoxyz/tempo/pull/4172
* Update cost implications for blocked transfers in TIP-20 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4173
* feat: encode the network identity into the chainspec by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4004
* perf(pool): clone cached tx env for payload building by @mattsse in https://github.com/tempoxyz/tempo/pull/4174
* perf(payload): use cached transaction lengths by @mattsse in https://github.com/tempoxyz/tempo/pull/4175
* perf(revm): cache tempo gas param overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/4182
* perf(transaction-pool): inline fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4183
* feat(alloy): add RelayTransport for sponsor/fee-payer support by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4010
* refactor(transaction-pool): use alloy primitive maps in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4178
* refactor(pool): reuse effective fee token helper by @mattsse in https://github.com/tempoxyz/tempo/pull/4181
* perf(transaction-pool): dispatch log decoding by topic by @mattsse in https://github.com/tempoxyz/tempo/pull/4179
* perf(transaction-pool): optimize expiry tracking cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/4177
* Downgrade tempo-alloy changelog to patch by @decofe in https://github.com/tempoxyz/tempo/pull/4188
* chore: release `tempo-alloy@1.7.3`, `tempo-contracts@1.7.3` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4184
* style: author typo by @decofe in https://github.com/tempoxyz/tempo/pull/4190
* docs(tip-1016): mark release as T4 by @jenpaff in https://github.com/tempoxyz/tempo/pull/3709
* ci: reenable Foundry lint on build by @decofe in https://github.com/tempoxyz/tempo/pull/4154
* perf(transaction-pool): defer mined aa transaction drops by @mattsse in https://github.com/tempoxyz/tempo/pull/4185
* fix(transaction-pool): remove expiring nonce eviction entries in release by @mattsse in https://github.com/tempoxyz/tempo/pull/4189
* docs(tip-1034): explain close cumulative amount by @legion2002 in https://github.com/tempoxyz/tempo/pull/4199
* perf(transaction-pool): skip protocol nonce updates in aa pool by @mattsse in https://github.com/tempoxyz/tempo/pull/4187
* Use binary target for Foundry forge builds by @decofe in https://github.com/tempoxyz/tempo/pull/4207
* Restrict witness burning to admin keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4218
* feat(tip-1059): discount pure payment settlement by @0xKitsune in https://github.com/tempoxyz/tempo/pull/4139
* fix(tip-1034): validate signature encoding in payment lane by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4099
* chore: spawn txpool maintenace as blocking thread by @klkvr in https://github.com/tempoxyz/tempo/pull/4230
* feat(tip-1028): implement address-level receive policies by @0xKitsune in https://github.com/tempoxyz/tempo/pull/3800
* perf(transaction-pool): gate keychain subject eviction checks by @mattsse in https://github.com/tempoxyz/tempo/pull/4252
* ci(bench): show derek command in e2e bench summary by @decofe in https://github.com/tempoxyz/tempo/pull/4263
* perf(builder): enable sparse trie sharing by default by @decofe in https://github.com/tempoxyz/tempo/pull/4195
* ci(bench): fix scheduled replay state scoping by @decofe in https://github.com/tempoxyz/tempo/pull/4259
* perf(bench): prefilter metric samples before parsing by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4208
* fix: protect self from blocked burns by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4264
* fix: ensure virtual channel payees use operators by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4258
* perf(transaction-pool): cache fee token cost by @mattsse in https://github.com/tempoxyz/tempo/pull/4253
* bench: TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/4158
* Allow tempoup to fall back to gh verification by @decofe in https://github.com/tempoxyz/tempo/pull/4014
* test: snapshot pre-T6 TIP20 memo transfer gas by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4226
* fix(txpool): keep paused txs on keychain spends by @mattsse in https://github.com/tempoxyz/tempo/pull/4279
* ci(bench): internal perf dashboard link in bench-e2e output by @decofe in https://github.com/tempoxyz/tempo/pull/4089
* ci(bench): handle quoted e2e node args by @decofe in https://github.com/tempoxyz/tempo/pull/4281
* fix: account for extra data when estimating block size by @klkvr in https://github.com/tempoxyz/tempo/pull/4289
* perf(transaction-pool): use entry api for fee balance cache by @mattsse in https://github.com/tempoxyz/tempo/pull/4254
* fix(txpool): use resolved fee token in maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/4272
* ci(bench): classify e2e run-pair benchmarks by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4124
* fix(txpool): refresh tracked fee balance top-ups by @mattsse in https://github.com/tempoxyz/tempo/pull/4297
* refactor(txpool): relax AMM liquidity provider borrow by @mattsse in https://github.com/tempoxyz/tempo/pull/4291
* fix(txpool): preserve sponsored keychain transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/4304
* fix(follower): add jittered linear backoff for follower reconnects by @decofe in https://github.com/tempoxyz/tempo/pull/4280
* bench: disable legacy marshal archive in e2e benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/4307
* chore(consensus\_context): cleanup post-t4 activation by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4146
* test(tip-20): add T5 transfer gas snapshots by @decofe in https://github.com/tempoxyz/tempo/pull/4308
* fix(txpool): evict implicit fee txs by fee payer by @mattsse in https://github.com/tempoxyz/tempo/pull/4319
* ci(bench): support gas limit suffixes in bench comments by @decofe in https://github.com/tempoxyz/tempo/pull/4303
* docs(revm): clarify handler behavior for same-tx key auth by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4335
* docs(tip-1034): clarify operator trust assumptions by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4331
* docs: clarify access-key contract creation restriction by @legion2002 in https://github.com/tempoxyz/tempo/pull/4357
* tip: admin access keys by @jxom in https://github.com/tempoxyz/tempo/pull/3645
* Add threat model section to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4360
* refactor(txpool): update maintenance ordering by @mattsse in https://github.com/tempoxyz/tempo/pull/4312
* chore: bump reth and revm by @klkvr in https://github.com/tempoxyz/tempo/pull/4309
* refactor(transaction-pool): avoid expiring nonce hash copy by @mattsse in https://github.com/tempoxyz/tempo/pull/4364
* perf(pool): precompute fee balance slot during pool validation by @decofe in https://github.com/tempoxyz/tempo/pull/4358
* perf(tip-1034): cache domain separator by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4346
* refactor(transaction-pool): simplify expiring nonce eviction order by @mattsse in https://github.com/tempoxyz/tempo/pull/4365
* chore(tip-1034): resolve virtual payee on open/top-up checks by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4383
* perf(payload): use cached payment classification by @mattsse in https://github.com/tempoxyz/tempo/pull/4392
* perf(revm): do not compute unique tx identifier twice by @shekhirin in https://github.com/tempoxyz/tempo/pull/4391
* Enable T6 for invariant tests by @decofe in https://github.com/tempoxyz/tempo/pull/4404
* SIGP-262: Reject contradictory account keychain call scopes by @legion2002 in https://github.com/tempoxyz/tempo/pull/4359
* Fix existing recipients txgen env propagation by @decofe in https://github.com/tempoxyz/tempo/pull/4409
* fix(tip-1034): skip noop top-ups by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4317
* feat: add `FlipFailed` event to stablecoing dex by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4326
* feat(consensus): encrypt signing keys at rest by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4111
* perf(builder): enable execution cache sharing by @decofe in https://github.com/tempoxyz/tempo/pull/4266
* perf(payload): remove per-transaction builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4402
* feat: enable builder prewarming by default by @decofe in https://github.com/tempoxyz/tempo/pull/4423
* bench(evm): run TIP20 benches for current and latest hardforks by @shekhirin in https://github.com/tempoxyz/tempo/pull/4419
* ci(bench): remove e2e default local builder args by @decofe in https://github.com/tempoxyz/tempo/pull/4437
* ci(bench): update e2e regenesis and node arg compatibility by @decofe in https://github.com/tempoxyz/tempo/pull/4415
* docs(dex): clarify multi-hop policy 403 behavior by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4350
* feat(chainspec): schedule T5 activation times by @jenpaff in https://github.com/tempoxyz/tempo/pull/4410
* feat(builder): add elastic payload build budget by @joshieDo in https://github.com/tempoxyz/tempo/pull/4277
* fix(bench): quote PR bench args before shell by @0xalpharush in https://github.com/tempoxyz/tempo/pull/4449
* fix: reject keychain-wrapped channel reserve vouchers by @legion2002 in https://github.com/tempoxyz/tempo/pull/4375
* docs: align payment classification TIPs by @legion2002 in https://github.com/tempoxyz/tempo/pull/4448
* fix(pool): exclude mined txs from expiry eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/4425
* fix(consensus): accept deprecated proposal timing flags by @joshieDo in https://github.com/tempoxyz/tempo/pull/4465
* feat(payload): restore aggregate builder duration metrics by @decofe in https://github.com/tempoxyz/tempo/pull/4432
* chore: bump alloy-evm by @klkvr in https://github.com/tempoxyz/tempo/pull/4433
* feat: follower fast-sync via the network identity by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4062
* ci(bench): tune e2e benchmark verdict noise by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4305
* ci(bench): update Slack user mapping by @decofe in https://github.com/tempoxyz/tempo/pull/4555
* fix: gate auth new account charge by @klkvr in https://github.com/tempoxyz/tempo/pull/4561
* feat(bench): report pool fetch builder timing by @mattsse in https://github.com/tempoxyz/tempo/pull/4553
* bench: remove TPS quantiles from summary by @decofe in https://github.com/tempoxyz/tempo/pull/4571
* refactor(transaction-pool): avoid temporary eviction vec by @mattsse in https://github.com/tempoxyz/tempo/pull/4586
* fix: enforce secp256k1 feature propagation by @mattsse in https://github.com/tempoxyz/tempo/pull/4574
* perf: use direct BTree first-entry access by @mattsse in https://github.com/tempoxyz/tempo/pull/4587
* refactor(pool): split expiring nonce removal paths by @mattsse in https://github.com/tempoxyz/tempo/pull/4591
* fix(alloy): treat blank relay test env vars as absent by @mattsse in https://github.com/tempoxyz/tempo/pull/4593
* ci(bench): stream VM metrics during e2e by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4566
* perf(transaction-pool): cache AA pool counts by @figtracer in https://github.com/tempoxyz/tempo/pull/4554
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/4599
* ci: remove TPS percentile rows from bench Slack message by @decofe in https://github.com/tempoxyz/tempo/pull/4605
* feat(account-keychain): implement admin access keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/4265
* docs(tip-1065): update from meta-TIP to independent TIP by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4191
* fix(bench): remove TPS percentile rows from e2e summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4608
* perf: cache AA replay hash by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4480
* docs: update README wordmark by @Slokh in https://github.com/tempoxyz/tempo/pull/4613
* ci(bench): revert e2e VM metric forwarding by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4614
* feat: wire bench valscope static reports by @joshieDo in https://github.com/tempoxyz/tempo/pull/4424
* ci(bench): run scheduled e2e benches for 600s by @decofe in https://github.com/tempoxyz/tempo/pull/4616
* perf(tip20): better reward handling by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/4161
* perf: precalculate keccak slots for TIP-20 transfers at txpool entry by @joshieDo in https://github.com/tempoxyz/tempo/pull/3626
* feat(signature-verifier): add verifyAdmin by @legion2002 in https://github.com/tempoxyz/tempo/pull/4302
* fix(ci): use variable for ValScope report URL by @joshieDo in https://github.com/tempoxyz/tempo/pull/4634
* Bump tempo workspace version to 1.8.0 by @decofe in https://github.com/tempoxyz/tempo/pull/4650
* chore: release `tempo-alloy@1.8.0`, `tempo-contracts@1.8.0` and 1 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/4219
* fix(Revert): "perf(builder): enable execution cache sharing" by @emmajam in https://github.com/tempoxyz/tempo/pull/4709
* fix(revert): "feat: enable builder prewarming by default" by @emmajam in https://github.com/tempoxyz/tempo/pull/4710
* ci(bench): enable builder cache & prewarming flags in bench-e2e by @decofe in https://github.com/tempoxyz/tempo/pull/4736
* perf(transaction-pool): append AA transactions in one scan by @mattsse in https://github.com/tempoxyz/tempo/pull/4737
* Add observability requirements to TIP template by @decofe in https://github.com/tempoxyz/tempo/pull/4722
* docs: clarify elastic proposal budget model by @joshieDo in https://github.com/tempoxyz/tempo/pull/4570
* feat(bench): support per-side feature flags by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4741
* Add Cyclops audit comment trigger by @legion2002 in https://github.com/tempoxyz/tempo/pull/4600
* fix(bench): run feature side first by @mediocregopher in https://github.com/tempoxyz/tempo/pull/4751
* bench: gate ValScope summary behind flag by @decofe in https://github.com/tempoxyz/tempo/pull/4756
* bench: remove no-slack from manual dispatch inputs by @decofe in https://github.com/tempoxyz/tempo/pull/4782
* perf(transaction-pool): pre-warm nonce storage slots derivation off aa\_2d\_pool write locks by @i-m-aditya in https://github.com/tempoxyz/tempo/pull/4718
* feat(bench): add optional BAL to Tempo execution payloads by @decofe in https://github.com/tempoxyz/tempo/pull/4026
* perf(transaction-pool): avoid sorting expiring nonce best txs by @mattsse in https://github.com/tempoxyz/tempo/pull/4646
* perf: parallelize `Builder::finish` computations by @klkvr in https://github.com/tempoxyz/tempo/pull/4473
* bench-e2e: append side features to global features by @decofe in https://github.com/tempoxyz/tempo/pull/5137
* perf(pool): store transaction priority as u64 by @mattsse in https://github.com/tempoxyz/tempo/pull/5138
* ci: run Docker nightly build once daily by @decofe in https://github.com/tempoxyz/tempo/pull/5140
* perf(transaction-pool): reuse state update scratch buffers by @mattsse in https://github.com/tempoxyz/tempo/pull/4775
* fix: drop tx iter early by @mattsse in https://github.com/tempoxyz/tempo/pull/4726
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/5148
* perf(pool): use entry for expiring nonce inserts by @mattsse in https://github.com/tempoxyz/tempo/pull/5143
* feat(bench): add block size verdict metrics by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5136
* ci(bench): increase bench-e2e default TPS to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5145
* perf: cache commonware block encode size by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5135
* fix(consensus): avoid panic by mapping expired blocks to None by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5158
* ci(bench): include PR number in txgen bench metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5160
* chore: bump workspace version to 1.8.1 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5163
* ci(bench): update remaining e2e TPS defaults to 50k by @decofe in https://github.com/tempoxyz/tempo/pull/5165
* fix(bench): pass localnet signing secret in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5172
* ci: use foundry `master` in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5180
* fix(bench): detect armored age signing keys by @decofe in https://github.com/tempoxyz/tempo/pull/5177
* perf: use linear storage handler cache by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4455
* perf: use hybrid storage handler cache by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5038
* ci: log update-reth PR failures by @decofe in https://github.com/tempoxyz/tempo/pull/5218
* fix(follower): don't hard fail when consensus block is missing by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5154
* fix(tip-1059): discount based on gas limit by @klkvr in https://github.com/tempoxyz/tempo/pull/4500
* feat(txpool): support dynamic basefee by @klkvr in https://github.com/tempoxyz/tempo/pull/5243
* fix(localnet): pass consensus signing key secret by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5241
* chore: bump fixed-cache to 0.1.10 by @decofe in https://github.com/tempoxyz/tempo/pull/5245
* perf: avoid useless SSLOAD in 403 registry by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5239
* fix(bench): exclude warmup blocks from summary by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5253
* ci(bench): add TIP-20 2D nonce preset by @shekhirin in https://github.com/tempoxyz/tempo/pull/5236
* perf(builder): prewarm expiring nonce ring slots by @shekhirin in https://github.com/tempoxyz/tempo/pull/5144
* fix(follower/driver): always allow using the fallback by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5258
* fix(tempoup): use gh for release lookup and write logs to stderr by @grandizzy in https://github.com/tempoxyz/tempo/pull/5227
* fix(localnet): honor skip-build for tempo-xtask by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5268
* Allow rkrasiuk to trigger PR benches by @decofe in https://github.com/tempoxyz/tempo/pull/5273
* docs: add Rust formatting guidance by @decofe in https://github.com/tempoxyz/tempo/pull/5280
* perf(pool): reuse maintenance transaction snapshots by @mattsse in https://github.com/tempoxyz/tempo/pull/5284
* fix(ci): build binaries workflow without just by @decofe in https://github.com/tempoxyz/tempo/pull/5279
* fix(tempo): provide --secret for signing consensus smart contract args by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5276
* feat(consensus): register new peers as secondary nodes by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/4623
* bench: reduce tip20 txgen valid window by @decofe in https://github.com/tempoxyz/tempo/pull/5275
* ci: fix precompiles coverage html artifact by @decofe in https://github.com/tempoxyz/tempo/pull/5290
* Add T7 hardfork scaffold by @decofe in https://github.com/tempoxyz/tempo/pull/5266
* ci(bench): support zero bloat in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5293
* fix(payload): offload prewarm receiver cleanup by @mattsse in https://github.com/tempoxyz/tempo/pull/5298
* perf(payload): pace builder budget with validation latency feedback by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5211
* perf(consensus): share commonware block clones by @mattsse in https://github.com/tempoxyz/tempo/pull/5307
* fix(ci): update stale Foundry Tempo locks first by @mattsse in https://github.com/tempoxyz/tempo/pull/5384
* fix(ci): ignore proc-macro-error2 advisory by @mattsse in https://github.com/tempoxyz/tempo/pull/5413
* Add metrics option to Derek bench workflows by @decofe in https://github.com/tempoxyz/tempo/pull/5412
* deps: update reth from main (2026-06-08) by @decofe in https://github.com/tempoxyz/tempo/pull/5220
* perf: use jemalloc for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4877
* perf: enable keccak cache for tip20 benchmark by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4983
* perf: cache validated USD fee token by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/4686
* perf(node): disable redundant payload state precache by @mattsse in https://github.com/tempoxyz/tempo/pull/5419
* chore(tips): update tempo-std verifier submodule by @mattsse in https://github.com/tempoxyz/tempo/pull/5420
* refactor(commonware-node): decode sealed blocks directly by @mattsse in https://github.com/tempoxyz/tempo/pull/5424
* chore(consensus): remove legacy immutable finalized blocks archive by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5234
* Use maxperf profile for benchmarks by @decofe in https://github.com/tempoxyz/tempo/pull/5415
* Revert "perf: cache validated USD fee token (#4686)" by @shekhirin in https://github.com/tempoxyz/tempo/pull/5437
* feat(pool): add best transaction size hints by @mattsse in https://github.com/tempoxyz/tempo/pull/5432
* fix(consensus): keep no legacy archive flag as noop by @decofe in https://github.com/tempoxyz/tempo/pull/5444
* Apply TIP-1059 discount to RPC transactions by @decofe in https://github.com/tempoxyz/tempo/pull/5422
* Revert "Apply TIP-1059 discount to RPC transactions" by @klkvr in https://github.com/tempoxyz/tempo/pull/5453
* docs(tip-1049): fix stale admin key docs by @legion2002 in https://github.com/tempoxyz/tempo/pull/5457
* feat(xtask): add shadow fork generation and bootstrap commands by @kamsz in https://github.com/tempoxyz/tempo/pull/5176
* docs(tip-1028): update 1028 docs to clarify that allowance is spent by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5462
* chore: gate evm dependencies by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5467
* chore: add workspace package metadata by @DaniPopes in https://github.com/tempoxyz/tempo/pull/5472
* fix: add `tempo-chainspec` to gh action releases by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5492
* ci: limit CodSpeed microbenches to relevant crates by @decofe in https://github.com/tempoxyz/tempo/pull/5493
* ci: skip precompile forge tests for release metadata by @decofe in https://github.com/tempoxyz/tempo/pull/5498
* refactor(primitives): move expiry check onto recovered subblock by @mattsse in https://github.com/tempoxyz/tempo/pull/5431
* fix: write changesets in `init-from-binary-dump` by @klkvr in https://github.com/tempoxyz/tempo/pull/5466
* perf: build bal in parallel by @klkvr in https://github.com/tempoxyz/tempo/pull/5301
* fix(transaction-pool): avoid eager transaction collection by @mattsse in https://github.com/tempoxyz/tempo/pull/5513
* chore(consensus): provide round to fetch proposal and log success by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5451
* perf(transaction-pool): avoid tx env clone during validation by @mattsse in https://github.com/tempoxyz/tempo/pull/5518
* chore: make tempo-consensus a module under tempo-evm by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/3720
* fix(tip403): update `set_receive_policy` to reject when precompiles specified as recovery address by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5476
* chore(tip403): update `is_authorized_simple` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5517
* docs(tip1028): update interface to match implementation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5481
* chore: require verified-human review by @sds in https://github.com/tempoxyz/tempo/pull/5528
* fix(evm): reset collected fee per transaction by @legion2002 in https://github.com/tempoxyz/tempo/pull/5506
* chore(consensus): rename commonware-node to consensus by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5530
* chore(tip-1059): revert discount for pure payment settlement by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5499
* docs(tip1028): clarify receipt claim checks by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5480
* perf(pool): cache transaction validation reads by @mattsse in https://github.com/tempoxyz/tempo/pull/5522
* chore(tip403): remove unnecessary `set_receive_policy` check by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5526
* feat: include finalization in tempo snapshots  by @hamdiallam in https://github.com/tempoxyz/tempo/pull/4482
* chore: update CODEOWNERS by @0xalpharush in https://github.com/tempoxyz/tempo/pull/5547
* chore: disable codeowners enforcement by VK by @sds in https://github.com/tempoxyz/tempo/pull/5549
* Add 0xrusowsky to crate CODEOWNERS by @decofe in https://github.com/tempoxyz/tempo/pull/5548
* Add jenpaff as tips codeowner by @decofe in https://github.com/tempoxyz/tempo/pull/5583
* Revert "perf(tip20): better reward handling" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/5538
* perf(transaction-pool): allocate AA transaction before write lock by @mattsse in https://github.com/tempoxyz/tempo/pull/5546
* perf(tx-pool): remove eviction entries by lightweight order key by @mattsse in https://github.com/tempoxyz/tempo/pull/5585
* perf(primitives): avoid signature RLP length allocation by @mattsse in https://github.com/tempoxyz/tempo/pull/5553
* Add T6 timestamps by @jenpaff in https://github.com/tempoxyz/tempo/pull/5584
* docs(tips): add tooling prompt to TIP template by @emmajam in https://github.com/tempoxyz/tempo/pull/5592
* feat(chainspec): add T8 wiring by @legion2002 in https://github.com/tempoxyz/tempo/pull/5591
* ci: retry cosign docker signing by @decofe in https://github.com/tempoxyz/tempo/pull/5577
* chore(bench): raise builder classification floors by @mediocregopher in https://github.com/tempoxyz/tempo/pull/5586
* perf(tx-pool): drop removed transactions at the end of the block update by @mattsse in https://github.com/tempoxyz/tempo/pull/5590
* refactor(consensus): make execution actor non-blocking by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5312
* Remove stale TIP-1059 and TIP-1065 T6 references by @decofe in https://github.com/tempoxyz/tempo/pull/5597
* test(tx-pool): validate regular eviction invariants by @mattsse in https://github.com/tempoxyz/tempo/pull/5593
* feat: TIP-1067 by @klkvr in https://github.com/tempoxyz/tempo/pull/5257
* perf(txpool): reduce map lookups when inserting AA 2D transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/5602
* ci: skip foundry precompile tests for SDK release bumps by @decofe in https://github.com/tempoxyz/tempo/pull/5610
* perf(txpool): cache active hardfork as atomic in validator by @mattsse in https://github.com/tempoxyz/tempo/pull/5603
* feat(tip-1075): disable TIP20 rewards by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5433
* chore: update cargo.toml to v1.8.2 by @jenpaff in https://github.com/tempoxyz/tempo/pull/5619
* ci: upload bench metrics when valscope is enabled by @decofe in https://github.com/tempoxyz/tempo/pull/5527
* perf(tx-pool): share EVM and state reads across transaction validations by @mattsse in https://github.com/tempoxyz/tempo/pull/5572
* perf(txpool): resolve fee payer only when fee token changed by @mattsse in https://github.com/tempoxyz/tempo/pull/5621
* ci(release): open cargo bump PR after release by @jenpaff in https://github.com/tempoxyz/tempo/pull/5620
* refactor: simplify redundancies in tempo main.rs by @mattsse in https://github.com/tempoxyz/tempo/pull/5629
* refactor: convert tempo binary into a library by @mattsse in https://github.com/tempoxyz/tempo/pull/5631
* Make bench-e2e hardfork flags optional by @decofe in https://github.com/tempoxyz/tempo/pull/5613
* ci(bench): use existing recipients preset, multiple TIP-20 tokens by @shekhirin in https://github.com/tempoxyz/tempo/pull/5618
* feat: default builder cache sharing on by @decofe in https://github.com/tempoxyz/tempo/pull/5529
* ci(bench): make e2e txgen token count configurable by @decofe in https://github.com/tempoxyz/tempo/pull/5633
* feat(tip-1067): dynamic base fee by @dankrad in https://github.com/tempoxyz/tempo/pull/5153
* refactor: make tempo eth api builder generic by @mattsse in https://github.com/tempoxyz/tempo/pull/5634
* perf(txpool): reuse cached fee payer from tx env by @mattsse in https://github.com/tempoxyz/tempo/pull/5622
* test(amm): keep required liquidity burn check priced by @decofe in https://github.com/tempoxyz/tempo/pull/5617
* TIP-1075: Deprecate TIP-20 rewards by @decofe in https://github.com/tempoxyz/tempo/pull/5380
* perf: trim fee manager prewarm account touch by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/5454
* ci: allow changelog fragments in SDK release skip by @decofe in https://github.com/tempoxyz/tempo/pull/5640
* chore: release `tempo-alloy@1.8.1`, `tempo-chainspec@1.8.2` and 2 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/5497
* perf(txpool): drop redundant mined-hash set in expired eviction by @mattsse in https://github.com/tempoxyz/tempo/pull/5646
* perf(txpool): narrow TIP-20 Transfer decoding in pool maintenance by @mattsse in https://github.com/tempoxyz/tempo/pull/5645
* fix(cli): give faucet.enabled arg a unique clap id by @decofe in https://github.com/tempoxyz/tempo/pull/5655
* fix(bench): enable samply logs in e2e by @decofe in https://github.com/tempoxyz/tempo/pull/5656
* fix(rpc): pin simulate metadata block by @mattsse in https://github.com/tempoxyz/tempo/pull/5658
* perf(txpool): batch-drain new-transaction events in maintenance loop by @mattsse in https://github.com/tempoxyz/tempo/pull/5648
* perf(txpool): skip expiry untracking when nothing is tracked by @mattsse in https://github.com/tempoxyz/tempo/pull/5649
* deps: update reth from main (2026-06-15) by @decofe in https://github.com/tempoxyz/tempo/pull/5564
* ci: restore Foundry master checkout by @decofe in https://github.com/tempoxyz/tempo/pull/5785
* chore: bump reth by @decofe in https://github.com/tempoxyz/tempo/pull/5822
* Fix e2e existing recipient bloat token count by @decofe in https://github.com/tempoxyz/tempo/pull/5818
* feat(primitives): add AA signer recovery helper for expiring nonce hash by @mattsse in https://github.com/tempoxyz/tempo/pull/5664
* ci(bench): grant CAP\_SYS\_NICE to e2e benchmark process by @decofe in https://github.com/tempoxyz/tempo/pull/5784
* feat(pool): forward additional stateless/stateful validation hooks by @mattsse in https://github.com/tempoxyz/tempo/pull/5628
* feat(tempo): add programmatic node overrides by @mattsse in https://github.com/tempoxyz/tempo/pull/5910
* ci(bench): use `tip20_existing_recipients` preset in comments by @shekhirin in https://github.com/tempoxyz/tempo/pull/5641
* fix(bench): run e2e samply under sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5932
* refactor(consensus): executor owns payload jobs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5625
* chore: default follow engine to be certified by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5845
* ci: remove Derek bench user allowlist by @decofe in https://github.com/tempoxyz/tempo/pull/5946
* ci(bench): clean e2e checkout workspace with sudo by @decofe in https://github.com/tempoxyz/tempo/pull/5950
* fix: accept deprecated follow certify flag without value by @decofe in https://github.com/tempoxyz/tempo/pull/5964
* revert: ci(bench): sudo by @shekhirin in https://github.com/tempoxyz/tempo/pull/5970
* fix(cli): initialize tracing before running snapshot cmd by @Rjected in https://github.com/tempoxyz/tempo/pull/5982
* feat(tip-1060): impl `StorageCredits` precompile by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5228
* ci: fix reth update Amp retry loop by @decofe in https://github.com/tempoxyz/tempo/pull/6034
* perf(consensus): defer verify block drops by @mattsse in https://github.com/tempoxyz/tempo/pull/6012
* chore: bump MSRV to Rust 1.96 by @decofe in https://github.com/tempoxyz/tempo/pull/6035
* perf(evm): shrink payload tx iterator items by @mattsse in https://github.com/tempoxyz/tempo/pull/5998
* feat(evm): record sload and sstore actions by @shekhirin in https://github.com/tempoxyz/tempo/pull/5423
* perf: defer state provider drop by @klkvr in https://github.com/tempoxyz/tempo/pull/6046
* ci: revert foundry checkout pin in specs workflow by @decofe in https://github.com/tempoxyz/tempo/pull/6054
* fix(consensus): resubscribe follow upstream events by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6051
* deps: update reth from main (2026-06-17) by @decofe in https://github.com/tempoxyz/tempo/pull/5876
* chore(docker): bump rust from `64d9b7f` to `19817ea` by @dependabot\[bot] in https://github.com/tempoxyz/tempo/pull/6025
* chore(tip-1060): cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6052
* refactor: prewarm through evm by @klkvr in https://github.com/tempoxyz/tempo/pull/6085
* ci: print raw Amp output on failure, use Amp Neo by @decofe in https://github.com/tempoxyz/tempo/pull/6062
* ci(bench): retry bench chart pushes from fresh clones by @decofe in https://github.com/tempoxyz/tempo/pull/6144
* feat(precompiles): storage delta helpers by @shekhirin in https://github.com/tempoxyz/tempo/pull/5605
* deps: update reth from main (2026-06-18) by @decofe in https://github.com/tempoxyz/tempo/pull/6134
* ci(bench): scrape runner node exporter in bench e2e by @decofe in https://github.com/tempoxyz/tempo/pull/6047
* perf(rpc): avoid cloning subblock pool transactions by @mattsse in https://github.com/tempoxyz/tempo/pull/6176
* perf(txpool): optimize raw Tempo transaction recovery by @mattsse in https://github.com/tempoxyz/tempo/pull/6175
* tests: add T7 gas estimate expectation by @decofe in https://github.com/tempoxyz/tempo/pull/6194
* ci: reset bench e2e workspace by @decofe in https://github.com/tempoxyz/tempo/pull/6170
* perf(consensus): cache encoded execution blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/5421
* ci: add tracy setup to e2e benchmark workflow by @decofe in https://github.com/tempoxyz/tempo/pull/5315
* chore(tempo-e2e): metrics refactors by @hamdiallam in https://github.com/tempoxyz/tempo/pull/5659
* fix(consensus): load recovered parent blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6203
* chore: increase stale PR operations per run by @decofe in https://github.com/tempoxyz/tempo/pull/6205
* refactor(consensus): preserve recovered finalized blocks by @mattsse in https://github.com/tempoxyz/tempo/pull/6207
* perf(consensus): use recovered block lookups by @mattsse in https://github.com/tempoxyz/tempo/pull/6208
* chore: bump mozilla-actions/sccache-action from v0.0.9 to v0.0.10 by @laibe in https://github.com/tempoxyz/tempo/pull/5632
* style(precompiles): split storage helpers + add docs by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6212
* fix(bench): make block size metrics informational by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6198
* ci: ignore pending Review check in reth updater by @decofe in https://github.com/tempoxyz/tempo/pull/6214
* ci(bench): trim bench command comments before matching by @decofe in https://github.com/tempoxyz/tempo/pull/6215
* ci: fix Release PR post-merge failures by @decofe in https://github.com/tempoxyz/tempo/pull/6221
* ci(bench): revert Tracy and txgen CPU pinning by @decofe in https://github.com/tempoxyz/tempo/pull/6226
* chore(release): v1.9.1 by @legion2002 in https://github.com/tempoxyz/tempo/pull/6220
* test(node): cover upcoming devnet hardforks by @mattsse in https://github.com/tempoxyz/tempo/pull/6217
* fix(cli): hide and silence snapshot skip-consensus overrides by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/6228
* Add rkrasiuk bench Slack mapping by @decofe in https://github.com/tempoxyz/tempo/pull/6234
* feat(precompiles): do not record SINC/SDEC for zero storages by @shekhirin in https://github.com/tempoxyz/tempo/pull/6160
* Disable only TIP-1060 credit minting in fee hooks by @decofe in https://github.com/tempoxyz/tempo/pull/6248
* fix(serde): serialize sealed blocks as plain blocks by @decofe in https://github.com/tempoxyz/tempo/pull/6252
* Record e2e bench setup metadata by @decofe in https://github.com/tempoxyz/tempo/pull/6232
* ci(bench): allow bare tracy bench flag by @decofe in https://github.com/tempoxyz/tempo/pull/6242
* feat(alloy): add receive-policy and admin-key helpers by @stevencartavia in https://github.com/tempoxyz/tempo/pull/6251
* ci: allow T7 and T8 bench hardforks by @decofe in https://github.com/tempoxyz/tempo/pull/6261
* feat: bundle consensus archive together with EL snapshot by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/5789
* fix(tip-1060): non-creditable storage slots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6206
* fix(deps): update memmap2 to 0.9.11 by @mattsse in https://github.com/tempoxyz/tempo/pull/6270
* feat: avoid recreating periodic spending limit remaining field by @klkvr in https://github.com/tempoxyz/tempo/pull/6233
* fix(tip-1060): disable credit minting for fee distribution by @decofe in https://github.com/tempoxyz/tempo/pull/6237
* feat(tip-1064): maker storage credits on the DEX by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/5305
* chore: fix bench bloat metadata forwarding by @decofe in https://github.com/tempoxyz/tempo/pull/6282
* docs(tip-1060): improve docs and style by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6281
* ci(bench): bump bench-e2e gas limit default by @decofe in https://github.com/tempoxyz/tempo/pull/6283
* chore: fix coverage bloat scope by @decofe in https://github.com/tempoxyz/tempo/pull/6284
* feat(tip-1066): add channel storage credits by @legion2002 in https://github.com/tempoxyz/tempo/pull/5935
* ci(bench): use feature binary for e2e regenesis by @decofe in https://github.com/tempoxyz/tempo/pull/6285
* TIP-1064: StablecoinDEX order storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4082
* ci(bench): display Tracy bench config as enabled by @decofe in https://github.com/tempoxyz/tempo/pull/6287
* chore(evm): expose `NonCreditableSlots` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6288
* perf: avoid disabled storage action allocation by @tempoxyz-bot in https://github.com/tempoxyz/tempo/pull/6075
* fix(precompiles): update actions test for T6 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6294
* fix(tip-1060): keychain remaining sentinel by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6291
* test(precompile): add labels to action snapshots by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6297
* style(tip-1060): clarity rename by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6280
* deps: update reth from main (2026-06-23) by @decofe in https://github.com/tempoxyz/tempo/pull/6211
* TIP-1060: contract storage credits by @decofe in https://github.com/tempoxyz/tempo/pull/4016
* ci(bench): support feature-only e2e runs by @decofe in https://github.com/tempoxyz/tempo/pull/6292
* docs: update TIP rollout statuses by @decofe in https://github.com/tempoxyz/tempo/pull/6304
* fix(keychain): decode T7 periodic limit sentinel in reads by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6310
* test: fix invariant ghost nonce accounting by @decofe in https://github.com/tempoxyz/tempo/pull/6298
* Install macOS libusb dependency in tempoup by @parvahuja in https://github.com/tempoxyz/tempo/pull/6274
* ci(bench): use PR base branch for bench-e2e baseline by @decofe in https://github.com/tempoxyz/tempo/pull/6305
* feat(builder): gas limit from CLI arguments and chain defaults by @decofe in https://github.com/tempoxyz/tempo/pull/6387
* feat(payload): thread skip-state-root into tempo builder by @decofe in https://github.com/tempoxyz/tempo/pull/6306
* Add bench general gas limit override by @decofe in https://github.com/tempoxyz/tempo/pull/6311
* ci(bench): update tip20 txgen fee token preset by @decofe in https://github.com/tempoxyz/tempo/pull/5959
* refactor: expose full `TempoBlockEnv` to precompiles by @klkvr in https://github.com/tempoxyz/tempo/pull/6394
* ci(bench): set explicit nonce for TIP-20 2D txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6393
* fix(bench): pass gas limits to localnet by @mediocregopher in https://github.com/tempoxyz/tempo/pull/6391
* ci(bench): add TIP-20 protocol nonce txgen preset by @decofe in https://github.com/tempoxyz/tempo/pull/6395
* feat(evm): make protocol fee manager generic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/6279
* Update hardfork version from T6 to T7 by @0xalpharush in https://github.com/tempoxyz/tempo/pull/6400
* feat: expose `epoch_length` for precompiles by @decofe in https://github.com/tempoxyz/tempo/pull/6286
* Add T7 timestamps by @legion2002 in https://github.com/tempoxyz/tempo/pull/6396
* Track reverted transactions in payload builder by @decofe in https://github.com/tempoxyz/tempo/pull/6403
* feat: isolate `hardforks` into a crate without tempo deps by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/6468
* ci(bench): disable txgen txpool drain wait by @decofe in https://github.com/tempoxyz/tempo/pull/6480
* chore: release `tempo-alloy@1.9.0`, `tempo-chainspec@1.9.0` and 3 more by @tempoxyz-release-bot\[bot] in https://github.com/tempoxyz/tempo/pull/6484

</details>

## v1.10.0 — v1.10.0 (superseded by v1.10.1) (2026-06-29)

# Release v1.10.0

> \[!WARNING]
> **v1.10.0 is superseded by v1.10.1.** The v1.10.0 release was published without release assets after the release workflow failed the Cargo workspace-version check. Use [v1.10.1](https://github.com/tempoxyz/tempo/releases/tag/v1.10.1) for the T7 release artifacts.

> \[!IMPORTANT]
> **This release is required for the T7 network upgrade scheduled for testnet on July 2, 2026 16:00 CEST (`1783000800`) and mainnet on July 9, 2026 16:00 CEST (`1783605600`).** Node operators must update before activation or their nodes will fall out of sync. This release activates T7 support for dynamic base fees, storage credits, and reusable storage accounting across contract, DEX, and channel-reserve state, with the goal of lowering ordinary Tempo transaction costs and making repeated storage use cheaper.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

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

### Activation Times

| Network | Date | Timestamp |
|---------|------|-----------|
| Testnet | July 2, 2026 16:00 CEST | `1783000800` |
| Mainnet | July 9, 2026 16:00 CEST | `1783605600` |

### TIPs included with T7

The T7 network upgrade includes:

1. **[TIP-1060 Storage Credits](https://tips.sh/1060)**: Replaces one-time storage-clearing refunds with per-account storage credits that can offset later storage creations by the same account. Adds the `StorageCredits` precompile at `0x1060000000000000000000000000000000000000`.
2. **[TIP-1064 StablecoinDEX Order Storage Credits](https://tips.sh/1064)**: Adds maker-attributed reusable storage accounting for StablecoinDEX order records, so makers receive credit for reusable order storage they previously freed.
3. **[TIP-1067 Dynamic Base Fee](https://tips.sh/1067)**: Replaces the fixed base fee with a bounded EIP-1559-style controller capped at `12_000_000_000` attodollars per gas, floored at `600_000_000`, with a `10_000_000` gas target.
4. **TIP-1066 Channel Storage Credits**: Adds payer-scoped reusable storage credits for TIP-20 channel reserve state, including the `storageCredits(address)` channel-reserve view.

### Gas Cost and Benchmarking Highlights

| Area | T6 | T7 | Diff | Notes |
|------|----|----|------|-------|
| Base-fee ceiling (50k-gas transfer) | `$0.001` | cap `$0.0006` · floor `$0.00003` | cap `−40%` · floor `−97%` | The T7 cap is `12_000_000_000` attodollars per gas; the floor is `600_000_000`, 20x below the cap. |
| Observed transfer-like costs | avg `$0.0037857` · median `$0.0011855` (1k txs); avg `$0.0008975` · median `$0.0007657` (598 steady-state) | — | — | Removing state-creation-like txs (`gas_used >= 250k`) left 598 steady-state transfers; excluding two IQR outliers gives `$0.0008929` avg. T7's lower base-fee cap/floor reduces the per-gas component further for equivalent gas profiles. |
| Credited storage creation (SSTORE `0→x`) | `250,000` gas | `5,000` residual + `245,000` creditable | `−98%` | TIP-1060 splits the previous creation component into a `5,000` gas residual plus a `245,000` gas creditable portion. |
| Channel reserve gas | open-existing `1,055,229` · open-first `1,302,429` | open-existing `294,425` · open-first `791,625` | open-existing `−72.1%` · open-first `−39.2%` | Call-level numbers exclude separate approval gas; implicit approvals for MPP/DEX/FeeAMM improve user-total comparisons for flows that previously required explicit approvals. |

### Breaking Changes

* **Consensus-breaking hardfork**: T7 changes protocol state transition rules. Nodes that do not run this release before activation will reject or produce invalid blocks after the T7 timestamp.
* **Base fee is no longer fixed**: After T7, `baseFeePerGas` is computed from parent gas usage and clamped to the T7 floor/cap range. Wallets, fee estimators, transaction builders, tests, and monitoring that assume the T1 fixed base fee of `20_000_000_000` attodollars per gas must handle a changing base fee.
* **Storage gas and refund semantics changed**: T7 removes the legacy storage-clearing refund, splits the TIP-1000 SSTORE creation cost into a `5_000` gas residual plus a `245_000` gas creditable portion, and removes the EIP-3529 one-fifth refund cap for T7 refunds. Contracts and tests that depend on exact SSTORE gas/refund behavior should be revalidated.
* **TIP-20 reward mutators are disabled at T7**: `setRewardRecipient` and `distributeReward` become no-ops after T7. Integrators relying on new reward opt-ins or reward distributions must adjust their flows before activation.
* **New reserved precompile surface**: The `StorageCredits` system precompile becomes active at T7. Contracts and tooling should treat `0x1060000000000000000000000000000000000000` as reserved protocol space.
* **RPC, standby, follow nodes require certificates**: with the `tempo node --follow` flag nodes are now verifying finalization certificates before executing blocks against their local state. When tracking the official mainnet or testnet default RPCs operators will not see a change. If tracking their local validator, operators need to ensure that validator exposes websocket via `--ws`. For more info, see https://tempo.xyz/developers/docs/guide/node/rpc/ and https://tempo.xyz/developers/docs/guide/node/validator-failover/

***

## Operators

### What's Changed

* **T7 activation timestamps** ([#6396](https://github.com/tempoxyz/tempo/pull/6396)): Adds testnet and mainnet T7 timestamps to chainspec and genesis configuration.
* **Dynamic base fee** ([#5153](https://github.com/tempoxyz/tempo/pull/5153)): Seeds the T7 activation block at the lowered cap of `12_000_000_000` attodollars per gas, then adjusts each child block from parent gas usage with a floor of `600_000_000` and a `10_000_000` gas target.
* **Snapshot and recovery improvements** ([#5789](https://github.com/tempoxyz/tempo/pull/5789), [#6203](https://github.com/tempoxyz/tempo/pull/6203), [#6207](https://github.com/tempoxyz/tempo/pull/6207), [#6208](https://github.com/tempoxyz/tempo/pull/6208)): Bundles consensus finalized-block archives with execution snapshots and preserves recovered block handles through consensus lookup paths.
* **Consensus and payload performance** ([#5421](https://github.com/tempoxyz/tempo/pull/5421), [#5998](https://github.com/tempoxyz/tempo/pull/5998), [#6176](https://github.com/tempoxyz/tempo/pull/6176)): Caches encoded execution blocks, reduces payload transaction iterator cloning, and avoids cloning subblock pool transactions on the RPC path.
* **Payload builder configuration** ([#6387](https://github.com/tempoxyz/tempo/pull/6387), [#6306](https://github.com/tempoxyz/tempo/pull/6306)): Resolves builder gas limits from CLI arguments and chain defaults, and threads the skip-state-root benchmark setting through the Tempo payload builder.
* **Installer reliability** ([#6274](https://github.com/tempoxyz/tempo/pull/6274)): Installs the macOS `libusb` runtime dependency when required, verifies the installed binary before replacing backups, and adds installer regression tests.
* **Reth and dependency updates** ([#5876](https://github.com/tempoxyz/tempo/pull/5876), [#6134](https://github.com/tempoxyz/tempo/pull/6134), [#6211](https://github.com/tempoxyz/tempo/pull/6211), [#6270](https://github.com/tempoxyz/tempo/pull/6270)): Updates Reth from upstream main and refreshes selected runtime dependencies.

***

## Developers

### Compatible Tooling Versions

| Package | Version | Notes |
|---------|---------|-------|
| `tempo-alloy` | `1.10.0` | Includes SDK helpers for receive-policy/admin-key flows and T7-compatible ABI bindings. |
| `tempo-primitives` | `1.10.0` | Includes T7 hardfork, block, and base-fee primitives. |
| `tempo-contracts` | `1.10.0` | Includes `StorageCredits`, StablecoinDEX, and channel-reserve ABI updates. |
| `tempo-chainspec` | `1.10.0` | Includes T7 activation timestamps and dynamic base-fee constants. |

### T7 Protocol Changes

* **Storage credits precompile** ([#5228](https://github.com/tempoxyz/tempo/pull/5228), [#4016](https://github.com/tempoxyz/tempo/pull/4016)): Adds per-account persistent storage credit balances and transaction-local `Refund`, `Preserve`, and `Direct` creation modes. Refund mode remains the default so gas limits do not depend on credit balance at inclusion time.
* **Storage-credit safety fixes** ([#6206](https://github.com/tempoxyz/tempo/pull/6206), [#6233](https://github.com/tempoxyz/tempo/pull/6233), [#6237](https://github.com/tempoxyz/tempo/pull/6237), [#6310](https://github.com/tempoxyz/tempo/pull/6310)): Excludes fee/keychain bookkeeping slots from unbacked credit minting, avoids recreating exhausted periodic spending-limit slots, disables minting during fee distribution, and decodes the T7 zero-remaining sentinel consistently.
* **StablecoinDEX storage credits** ([#5305](https://github.com/tempoxyz/tempo/pull/5305), [#4082](https://github.com/tempoxyz/tempo/pull/4082)): Credits reusable order-record storage to the maker that owned the cleared order slot and exposes `storageCredits(address)` for DEX credit balances.
* **TIP-20 channel reserve storage credits** ([#5935](https://github.com/tempoxyz/tempo/pull/5935)): Credits terminal channel close/withdraw storage deletion to the channel payer and consumes payer-scoped credits on later channel opens.
* **TIP-20 rewards deprecation path** ([#5433](https://github.com/tempoxyz/tempo/pull/5433)): T7 disables new reward-recipient changes and reward distributions while preserving existing reward state for lazy checkpointing ahead of the later full-disable phase.
* **Dynamic base fee constants and validation** ([#5153](https://github.com/tempoxyz/tempo/pull/5153)): Adds T7 base-fee floor/cap constants, fixed `10_000_000` gas target, and block-header validation for the computed dynamic base fee.

### EVM, Transaction, and Fee Semantics

* **Generic protocol fee manager** ([#6279](https://github.com/tempoxyz/tempo/pull/6279)): Routes fee token resolution and pre/post-transaction fee collection through a generic `TempoFeeManager`, preserving current L1 behavior while allowing alternate fee managers for Tempo Zones.
* **Storage action recording** ([#5423](https://github.com/tempoxyz/tempo/pull/5423), [#5605](https://github.com/tempoxyz/tempo/pull/5605), [#6075](https://github.com/tempoxyz/tempo/pull/6075)): Adds SLOAD/SSTORE action recording and storage delta helpers while avoiding default allocations when recording is disabled.
* **Transaction pool and raw transaction recovery** ([#6175](https://github.com/tempoxyz/tempo/pull/6175)): Optimizes raw Tempo AA transaction recovery by threading the precomputed expiring nonce hash through sender recovery.
* **Precompile storage and block environment plumbing** ([#6286](https://github.com/tempoxyz/tempo/pull/6286), [#6394](https://github.com/tempoxyz/tempo/pull/6394)): Exposes epoch-length mapping and the full `TempoBlockEnv` to precompile storage providers.
* **Serde and RPC shape fixes** ([#6252](https://github.com/tempoxyz/tempo/pull/6252)): Serializes sealed blocks through the plain Tempo block shape for consensus RPC and execution data.

### Testing, Benchmarks, and Tooling

* Added T7 gas-estimation and hardfork matrix coverage for upcoming devnet hardforks ([#6194](https://github.com/tempoxyz/tempo/pull/6194), [#6217](https://github.com/tempoxyz/tempo/pull/6217)).
* Added storage-credit integration and gas snapshot coverage for StablecoinDEX and TIP-20 channel reserve flows ([#6297](https://github.com/tempoxyz/tempo/pull/6297), [#5935](https://github.com/tempoxyz/tempo/pull/5935), [#4082](https://github.com/tempoxyz/tempo/pull/4082)).
* Improved bench-e2e presets, comments, gas-limit controls, metadata, and T7/T8 hardfork support ([#5959](https://github.com/tempoxyz/tempo/pull/5959), [#6232](https://github.com/tempoxyz/tempo/pull/6232), [#6261](https://github.com/tempoxyz/tempo/pull/6261), [#6283](https://github.com/tempoxyz/tempo/pull/6283), [#6391](https://github.com/tempoxyz/tempo/pull/6391), [#6393](https://github.com/tempoxyz/tempo/pull/6393), [#6395](https://github.com/tempoxyz/tempo/pull/6395)).

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.9.1...v1.10.0

## v1.9.1 — Release v1.9.1 (2026-06-19)

This patch release updates the v1.9.x release line with follow-mode stability fixes, payload-builder latency fixes, Reth/Rust dependency updates, and transaction-pool/RPC improvements.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

Operators running v1.9.0 should upgrade to v1.9.1.

## What's Changed

* Fixed follower upstream event handling by making certified follow the default, keeping the deprecated certify flag accepted, and resubscribing after upstream event stream errors or termination ([#5845](https://github.com/tempoxyz/tempo/pull/5845), [#5964](https://github.com/tempoxyz/tempo/pull/5964), [#6051](https://github.com/tempoxyz/tempo/pull/6051)).
* Improved payload builder and consensus latency by keeping executor-owned payload jobs running to completion and deferring block/state provider drops off the response path ([#5625](https://github.com/tempoxyz/tempo/pull/5625), [#6012](https://github.com/tempoxyz/tempo/pull/6012), [#6046](https://github.com/tempoxyz/tempo/pull/6046)).
* Enabled builder cache sharing by default again, with `--engine.disable-execution-cache-sharing-with-builder` available as the opt-out flag ([#5529](https://github.com/tempoxyz/tempo/pull/5529)).
* Fixed snapshot manifest/download logging by initializing tracing before running snapshot commands ([#5982](https://github.com/tempoxyz/tempo/pull/5982)).
* Updated Reth/Alloy dependencies, the workspace MSRV and CI toolchains to Rust 1.96, and Rust Docker base images used by release builds ([#5564](https://github.com/tempoxyz/tempo/pull/5564), [#5822](https://github.com/tempoxyz/tempo/pull/5822), [#5876](https://github.com/tempoxyz/tempo/pull/5876), [#6035](https://github.com/tempoxyz/tempo/pull/6035), [#6025](https://github.com/tempoxyz/tempo/pull/6025)).
* Improved transaction-pool validation and maintenance performance by sharing EVM/state reads, caching active hardfork state, reducing AA insertion and fee-payer lookups, narrowing TIP-20 transfer decoding, and batching maintenance work ([#5572](https://github.com/tempoxyz/tempo/pull/5572), [#5602](https://github.com/tempoxyz/tempo/pull/5602), [#5603](https://github.com/tempoxyz/tempo/pull/5603), [#5621](https://github.com/tempoxyz/tempo/pull/5621), [#5622](https://github.com/tempoxyz/tempo/pull/5622), [#5645](https://github.com/tempoxyz/tempo/pull/5645), [#5646](https://github.com/tempoxyz/tempo/pull/5646), [#5648](https://github.com/tempoxyz/tempo/pull/5648), [#5649](https://github.com/tempoxyz/tempo/pull/5649)).
* Added developer/API improvements for programmatic node overrides, transaction-pool validation hooks, AA signer recovery, and consistent `tempo_simulateV1` metadata block selection ([#5910](https://github.com/tempoxyz/tempo/pull/5910), [#5628](https://github.com/tempoxyz/tempo/pull/5628), [#5664](https://github.com/tempoxyz/tempo/pull/5664), [#5658](https://github.com/tempoxyz/tempo/pull/5658)).
* Added future-fork implementation work for dynamic base fees, the `StorageCredits` precompile, and TIP-20 rewards deprecation behind later hardfork activation ([#5153](https://github.com/tempoxyz/tempo/pull/5153), [#5228](https://github.com/tempoxyz/tempo/pull/5228), [#5433](https://github.com/tempoxyz/tempo/pull/5433)).
* Bumped workspace and SDK crate versions to v1.9.1 ([#6040](https://github.com/tempoxyz/tempo/pull/6040), [#6089](https://github.com/tempoxyz/tempo/pull/6089)).

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.9.0...v1.9.1

## v1.9.0 — Release v1.9.0 (2026-06-15)

> \[!IMPORTANT]
> **This release is required for the T6 network upgrade scheduled for testnet on June 18, 2026 16:00 CEST (`1781791200`) and mainnet on June 23, 2026 16:00 CEST (`1782223200`).** Node operators must update before activation or their nodes will fall out of sync. This release activates T6 support for address-level receive policies and admin access keys, along with performance, stability, and operator tooling improvements.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

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

### Activation Times

| Network | Date | Timestamp |
|---------|------|-----------|
| Testnet | June 18, 2026 16:00 CEST | `1781791200` |
| Mainnet | June 23, 2026 16:00 CEST | `1782223200` |

### TIPs included with T6

The T6 network upgrade includes:

1. **[TIP-1028 Address-Level Receive Policies](https://tips.sh/1028)**: Lets receivers define which TIP-20 tokens and senders they accept, redirecting blocked transfers or mints to `ReceivePolicyGuard` for later recovery instead of reverting.
2. **[TIP-1049 Admin Access Keys](https://tips.sh/1049)**: Adds admin access keys for account key management and extends `SignatureVerifier` with stateful keychain/admin signature verification helpers.

***

## Operators

### What's Changed

* **Certified Follow Mode** ([#2551](https://github.com/tempoxyz/tempo/pull/2551)): Followers run a lightweight consensus engine that validates consensus certificates as a prerequisite to progressing execution state. Mainnet & Testnet nodes behind the public RPC will be switched over by setting `--follow.experimental.certify` and serving `consensus_` rpcs. The flag is available and will become the default in the next release.
* **Consensus finalized block storage pruning** ([#3870](https://github.com/tempoxyz/tempo/pull/3870), [#5234](https://github.com/tempoxyz/tempo/pull/5234)): The consensus layer now stores blocks as a persisted cache, pruning it as execution layer finalization watermark rises. This will be automatically pruned for new nodes, for operators running existing nodes may delete the legacy archive at `<consensus_storage>/engine-finalized_blocks-{freezer*,metadata,ordinal}`. Make sure to retain `<consensus_storage>/engine-finalized-blocks-prunable-{key,value}`!
* **Embedded Network Identities** ([#4004](https://github.com/tempoxyz/tempo/pull/4004)): The network keys for Mainnet and Tesnet are embedded in the binaries. Certified followers can jump past several epochs when verifying a certificate against this key instead of progressing boundary to boundary.
* **Improved snapshot bootstrapping** ([#4482](https://github.com/tempoxyz/tempo/pull/4482)): Tempo snapshots now include finalization data in the manifest and dump the finalization certificate for startup recovery when the finalizations archive is empty.
* **Consensus execution actor no longer blocks on every EL interaction** ([#5312](https://github.com/tempoxyz/tempo/pull/5312)): Queues forkchoice/new-payload work through the executor actor to improve consensus responsiveness.
* **Consensus signing key CLI fix** ([#5276](https://github.com/tempoxyz/tempo/pull/5276)): Adds `--secret` support for signing consensus smart contract arguments.

***

## Developers

### Compatible Tooling Versions

| Package | Version | Notes |
|---------|---------|-------|
| `tempo-alloy` | `1.9.0` | Includes T6 admin access key support in SDK transaction builders. |
| `tempo-primitives` | `1.9.0` | Includes T6 admin access key primitives and signature encoding improvements. |
| `tempo-contracts` | `1.9.0` | Includes T6 AccountKeychain and SignatureVerifier ABI updates. |
| `tempo-chainspec` | `1.9.0` | Includes T6 activation timestamps and hardfork configuration. |

### T6 Protocol Changes

* **Address-level receive policies** ([#3800](https://github.com/tempoxyz/tempo/pull/3800), [#5476](https://github.com/tempoxyz/tempo/pull/5476)): TIP-1028 extends TIP-403/TIP-20 so receivers can configure accepted tokens and senders. Blocked TIP-20 transfers and mints succeed by redirecting funds to `ReceivePolicyGuard`, where they can later be claimed by the originator or configured recovery authority. Recovery addresses may not be precompile addresses.
* **Admin access keys** ([#4265](https://github.com/tempoxyz/tempo/pull/4265)): TIP-1049 adds `authorizeAdminKey(...)`, `isAdminKey(...)`, admin key authorization events, and account-bound admin key permissions. Admin keys can manage other keys but must not carry spending limits, call scopes, or expiry.
* **Keychain signature verification** ([#4302](https://github.com/tempoxyz/tempo/pull/4302)): `SignatureVerifier` now exposes stateful keychain verification helpers, including `verifyKeychain(account, hash, signature)` and `verifyKeychainAdmin(account, hash, signature)`, for contracts that need to validate active access-key or root/admin signatures against AccountKeychain state.

### EVM, Transaction, and Fee Semantics

* **Per-transaction fee accounting fix** ([#5506](https://github.com/tempoxyz/tempo/pull/5506)): Resets collected-fee state for each transaction so stale fee collection cannot affect same-transaction key authorization/use paths.
* **Transaction validation caching** ([#5522](https://github.com/tempoxyz/tempo/pull/5522), [#5518](https://github.com/tempoxyz/tempo/pull/5518), [#5513](https://github.com/tempoxyz/tempo/pull/5513)): Validation now reuses state reads across EVM validation, AMM liquidity planning, and ETH account/code checks, while avoiding unnecessary transaction/env clones and eager batch allocation.
* **Signature encoding optimization** ([#5553](https://github.com/tempoxyz/tempo/pull/5553)): Signature RLP length calculation now avoids materializing an intermediate `Bytes` buffer.
* **Dynamic base fee support in txpool ordering** ([#5243](https://github.com/tempoxyz/tempo/pull/5243)): Transaction priority is no longer cached under a fixed-base-fee assumption; ordering indices are recomputed or reindexed when the base fee changes.

### Performance

* **Builder budget pacing** ([#5211](https://github.com/tempoxyz/tempo/pull/5211)): Payload building now reserves proposal-return time using recent local validation latency feedback instead of always mirroring projected builder work.
* **Parallelize builder computations** ([#4473](https://github.com/tempoxyz/tempo/pull/4473)): Refactors block building to offload transaction cloning and computation of transaction/receipt roots to a separate spawned task
* **Redundant builder precache disabled** ([#5419](https://github.com/tempoxyz/tempo/pull/5419)): Tempo nodes skip Reth’s basic parent-state pre-cache because the Tempo payload builder already uses the execution cache.
* **Execution/storage hot-path work** (#3626, #4455, #5038, #5239, #4480): precomputes TIP-20 keccak slots, improves storage handler caching, removes useless TIP-403 SLOADs, and caches AA replay hash.
* **Transaction pool iteration and eviction improvements** ([#5432](https://github.com/tempoxyz/tempo/pull/5432), [#5546](https://github.com/tempoxyz/tempo/pull/5546), [#5585](https://github.com/tempoxyz/tempo/pull/5585), [#5590](https://github.com/tempoxyz/tempo/pull/5590)): Adds best-transaction size hints, moves AA allocation out of write locks, removes eviction entries with lightweight order keys, and defers dropping removed transactions until after block update windows.

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.5.2...v1.9.0

## v1.8.2 — Release v1.8.2 (2026-06-08)

This patch release includes a fix for nodes running versions older than 1.8.2 in a `--minimal` configuration. The issue occurs when requesting historical blocks using the commonware marshal interface.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

## What’s Changed

* chore(1.8.2): avoid panic by mapping expired blocks to None in https://github.com/tempoxyz/tempo/pull/5214

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.8.1...v1.8.2

## v1.8.1 — Release v1.8.1 (2026-06-01)

> \[!IMPORTANT]
> **v1.8.1 is required for the T5 network upgrade scheduled for testnet and mainnet.**

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

Nodes running versions older than v1.8.0 will fall out of sync at the T5 activation timestamp. Nodes already running v1.8.0, must update to v1.8.1 for the latest operator defaults.

## Operators

### Performance

With v1.8.0 we enabled state caching for block builder by default. Some nodes experienced validation errors caused by reading stale state in our cache sharing implementation. The issue could be resolved with a restart, affected nodes did not have their databases corrupted.

This release reverts this performance improvement, we are currently testing a fix which will be published in a follow up release.

* **Builder prewarming**: Reverted builder prewarming being enabled by default ([#4710](https://github.com/tempoxyz/tempo/pull/4710)).
* **Cache sharing**: Reverted execution cache sharing between payload building and validation ([#4709](https://github.com/tempoxyz/tempo/pull/4709)).

***

## What’s Changed

* Reverted builder prewarming being enabled by default ([#4710](https://github.com/tempoxyz/tempo/pull/4710)).
* Reverted execution cache sharing for the payload builder ([#4709](https://github.com/tempoxyz/tempo/pull/4709)).
* Bumped the workspace version to v1.8.1 ([6ade8f1](https://github.com/tempoxyz/tempo/commit/6ade8f1a5c4fdf963ac8b6fa23551417951ed310)).

**Full Changelog**: [v1.8.0...v1.8.1](https://github.com/tempoxyz/tempo/compare/v1.8.0...v1.8.1)

## v1.8.0 — Release v1.8.0 (2026-05-28)

> \[!IMPORTANT]
> **This release is required for the T5 network upgrade scheduled for testnet and mainnet.** Node operators must update their nodes, otherwise your nodes will fall out of sync with the network.

T5 activates enshrined channel reserve for native MPP support (cutting gas by up to 72% vs legacy contract), stricter payment-lane classification, DEX improvements, implicit approvals, and TIP-20 metadata updates. This release also includes performance improvements that combined push throughput to 18K TPS, with an average block time of 500ms.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

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

### Activation Times

| Network | Date | Timestamp |
|---------|------|-----------|
| Testnet | June 3rd 2026 16:00 CEST | 1780495200 |
| Mainnet | June 9th 2026 16:00 CEST | 1781013600 |

### TIPs included with T5

The T5 network upgrade includes:

1. **[TIP-1034 TIP-20 Channel Reserve Precompile](https://tips.sh/1034)**: Enshrines channel reserve as a native precompile, cutting gas by up to 72% versus the legacy MPP contract.
2. **[TIP-1045 Payment Transaction Classification](https://tips.sh/1045)**: Formalizes payment-lane eligibility with an explicit consensus allow-list.
3. **[TIP-1030 Allow same-tick flip orders](https://tips.sh/1030)**: Allows flip orders to flip at the same tick for tighter two-sided markets.
4. **[TIP-1056 Keep the same order ID when flip orders flip](https://tips.sh/1056)**: Keeps `orderId` stable across flips.
5. **[TIP-1035 Implicit Approval List](https://tips.sh/1035)**: Lets approved protocol precompiles pull TIP-20 funds without prior allowances.
6. **[TIP-1033 Two-Hop FeeAMM Routing](https://tips.sh/1033)**: Adds a two-hop fallback route through a token's quote token.
7. **[TIP-1053 Witnesses in Key Authorizations](https://tips.sh/1053)**: Adds optional witnesses to key authorizations for challenge binding and revocation.
8. **[TIP-1026 Token Logo URI](https://tips.sh/1026)**: Adds optional onchain `logoURI` metadata for TIP-20 tokens.
9. **[TIP-1057 T5 Hardfork Meta TIP](https://tips.sh/1057)**: Bundles T5 storage correctness and hardfork-gated protocol hardening.

## Operators

### Consensus

* **Consensus signing keys encrypted at rest** ([#4111](https://github.com/tempoxyz/tempo/pull/4111)): Adds encrypted signing-key support and CLI flows for generating, encrypting, and showing validator verification keys. See docs on signing keys [here](https://docs.tempo.xyz/guide/node/validator-keys#generating-a-signing-key). We recommend all operators to migrate their signing keys to be encrypted as un-encrypted signing keys will be phased out in a future release.

### Performance

This release includes many improvements that combined push throughput to [18K TPS, with an average block time of 500ms](https://github.com/tempoxyz/tempo/actions/runs/26552492472):

* **Builder prewarming**: Block builder now prewarms transactions ahead of execution (#4423, #3893)
* **Elastic building budget**: Block time is now stable at ~500ms (#4277)
* **Cache sharing**: State and trie caches are now shared between payload building and validation ([#4266](https://github.com/tempoxyz/tempo/pull/4266), [#4195](https://github.com/tempoxyz/tempo/pull/4195))

***

## Developers

### Compatible tooling versions

| Package | Version | Notes |
|---------|---------|-------|
| tempo-alloy (Rust) | [1.7.3](https://github.com/tempoxyz/tempo/releases/tag/tempo-alloy%401.7.3) | T5-compatible transaction and provider helpers |
| tempo-primitives (Rust) | [1.7.3](https://github.com/tempoxyz/tempo/releases/tag/tempo-primitives%401.7.3) | T5 transaction and hardfork support |
| tempo-contracts (Rust) | [1.7.3](https://github.com/tempoxyz/tempo/releases/tag/tempo-contracts%401.7.3) | T5 precompile bindings |
| foundry (Foundry) | nightly | T5 hardfork-aware verification |

### New TIPs

* **[TIP-1034 TIP-20 Channel Reserve Precompile](https://tips.sh/1034)**: T5 enshrines the TIP-20 channel reserve as a native Tempo precompile, cutting gas by up to 72% versus the legacy stream channel contract. [MPP](https://mpp.dev/) migrates to the protocol-native channel reserve path for predictable gas behavior and payment-lane eligibility, see benchmarks:

| Operation | Legacy contract | Enshrined Reserve precompile | Gas Reduction |
|---|---:|---:|---:|
| Open channel, existing reserve balance | 1,055,229 | 294,425 | 72% |
| Open channel, first reserve balance | 1,302,429 | 791,625 | 39% |
| Close existing channel | 85,118 | 62,913 | 26% |
| Top up existing channel | 53,724 | 46,805 | 13% |
| Top up and cancel close request | 58,785 | 48,680 | 17% |

* **[TIP-1035 Implicit Approval List](https://tips.sh/1035)**: This removes an approval round trip for approved protocol flows such as DEX, FeeAMM, and MPP/channel reserve operations while keeping normal TIP-20 allowance semantics unchanged for other spenders.
* **[TIP-1045 Payment Transaction Classification](https://tips.sh/1045)**: T5 replaces broad prefix-based classification with an explicit payment call allow-list, including TIP-20 operations and channel reserve methods. Developers should treat payment-lane eligibility as call-shape dependent rather than assuming any TIP-20-looking transaction qualifies.
* **Stablecoin DEX improvements ([TIP-1030](https://tips.sh/1030), [TIP-1056](https://tips.sh/1056))**: Same-tick flip orders are now allowed, and flip orders keep the same `orderId` across flips. Indexers and market-making systems can treat `orderId` as a stable handle, and offchain systems can watch `FlipFailed` when an automatic flip cannot be placed.
* **[TIP-1033 Two-Hop FeeAMM Routing](https://tips.sh/1033)**: Fee conversion gains a two-hop fallback route, `userToken -> quoteToken -> validatorToken`. Integrations that reason about fee-token conversion should account for the fallback path instead of assuming conversion is limited to a direct pool.
* **[TIP-1053 Witnesses in Key Authorizations](https://tips.sh/1053)**: Key authorizations can include an optional witness for offchain challenge binding and revocation. Apps can bind login and key authorization into a single signed flow, and clients should handle burned witnesses invalidating previously signed but unsubmitted authorizations.
* **[TIP-1026 Token Logo URI](https://tips.sh/1026)**: TIP-20 tokens can expose an optional onchain `logoURI`. Wallets, explorers, and token-list tooling can use this metadata directly instead of relying only on offchain registries.

## What’s Changed

* **Alloy SDK relay support** ([#4010](https://github.com/tempoxyz/tempo/pull/4010)): Adds `RelayTransport` for sponsor and fee-payer flows.
* **[TIP-1057 T5 Hardfork Meta TIP](https://tips.sh/1057)**: T5 fixes fixed-size array packing in precompile storage codegen and clears stale tail slots when dynamic storage values shrink. Developers maintaining precompile storage layouts or codegen should make sure their assumptions match the T5 storage behavior.
* **Txpool reliability and performance**: Improves fee-token caching, payment classification caching, sponsored/keychain transaction handling, paused transaction handling, mined transaction eviction, and implicit-fee eviction.

**Full Changelog**: [v1.7.1...v1.8.0](https://github.com/tempoxyz/tempo/compare/v1.7.1...v1.8.0)

## v1.7.1 — Release v1.7.1 (2026-05-21)

Tempo v1.7.1 adds support for migrating validators to  minimal nodes, the better default for validators: lower disk requirements, faster rebuilds from snapshots. Migrating from archive v1 to minimal v2 reduces validator node size approximately as follows:

| Network | Before | After | Reduction |
| --- | ---: | ---: | ---: |
| Mainnet | 27 GB | 10 GB | 2.7x |
| Moderato Testnet | 1 TB | 100 GB | 10x |

This is not a network upgrade.

## New Features

### Validators

* Supports validator migration to minimal snapshots. Validators should migrate to the minimal snapshot profile by default when they do not need archive-style historical RPC data.
* `tempo download --minimal --force` downloads the minimal snapshot component set and replaces existing snapshot data in the datadir while preserving node identity/network files such as `discovery-secret` and `known-peers.json`. Note the expected downtime on mainnet: 10mins, testnet: 60mins.

See the [running a validator docs](https://docs.tempo.xyz/guide/node/validator-setup#running-the-validator) for more information on how to see if you’re running a minimal node and how to migrate, as well as the [Snapshots UI](https://snapshots.tempo.xyz/) for reference.

### RPC nodes

* Trustless RPC: Moderato Testnet now supports certificate checks when running RPC nodes. This increases security assumptions by reducing trust in the upstream RPC and will become the default in a follow-up release. Trustless RPC requires consensus finalization certificates from the upstream RPC, guaranteeing that the data they receive is backed by a validator quorum. Opt in by using `--follow.experimental.certify`; see the [`tempo rpc node` docs](https://docs.tempo.xyz/guide/node/rpc#trustless-rpc-nodes). Because trustless RPC nodes will have their certificate store prepopulated, this will allow better failover setups.

## What's Changed

* Finalized block storage in the consensus layer is now automatically pruned. To make sure node software can roll back to a previous release, in this release blocks will be written to both the new prunable and the old legacy storage. To opt out of the legacy storage entirely, use `--consensus.no-legacy-archive`. This double-write will be removed in a future release. (#3870)

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.7.0...v1.7.1

## tempo-primitives@1.7.0 (2026-05-18)

### Minor Changes

* Enshrined the stricter TIP-1045 payment classifier (`is_payment_v2`) at the T5 hardfork for consensus-level payment lane validation. Relaxed the v2 classifier to allow bounded `key_authorization` (RLP length ≤ 1024 bytes). (by @0xrusowsky, [#3844](https://github.com/tempoxyz/tempo/pull/3844))
* Moved TIP-20 and TIP-1022 virtual-address helpers (`is_tip20_prefix`, `is_virtual_address`, `decode_virtual_address`, `make_virtual_address`, `MasterId`, `UserTag`) from `tempo-precompiles` into a new `TempoAddressExt` trait on `Address` in `tempo-primitives`. Updated all consumers to use the new trait methods (`address.is_tip20()`, `address.is_virtual()`, `Address::new_virtual(...)`, etc.). (by @0xrusowsky, [#3637](https://github.com/tempoxyz/tempo/pull/3637))

## tempo-contracts@1.7.0 (2026-05-18)

### Minor Changes

* Added the TIP-20 channel escrow precompile with channel open, settle, top-up, close, request-close, and withdraw flows gated at T5. (by @legion2002, [#3704](https://github.com/tempoxyz/tempo/pull/3704))

### Patch Changes

* Enshrined the stricter TIP-1045 payment classifier (`is_payment_v2`) at the T5 hardfork for consensus-level payment lane validation. Relaxed the v2 classifier to allow bounded `key_authorization` (RLP length ≤ 1024 bytes). (by @0xrusowsky, [#3844](https://github.com/tempoxyz/tempo/pull/3844))

## tempo-chainspec@1.7.0 (2026-05-18)

### Patch Changes

* Published `tempo-chainspec` to crates.io as part of the SDK release pipeline. (by @decofe and @0xrusowsky, [#3658](https://github.com/tempoxyz/tempo/pull/3658))

## tempo-chainspec@1.5.3 (2026-05-18)

### Patch Changes

* Published `tempo-chainspec` to crates.io as part of the SDK release pipeline. (by @decofe and @0xrusowsky, [#3658](https://github.com/tempoxyz/tempo/pull/3658))

## tempo-alloy@1.7.0 (2026-05-18)

### Minor Changes

* Added the TIP-20 channel escrow precompile with channel open, settle, top-up, close, request-close, and withdraw flows gated at T5. (by @legion2002, [#3704](https://github.com/tempoxyz/tempo/pull/3704))
* Moved TIP-20 and TIP-1022 virtual-address helpers (`is_tip20_prefix`, `is_virtual_address`, `decode_virtual_address`, `make_virtual_address`, `MasterId`, `UserTag`) from `tempo-precompiles` into a new `TempoAddressExt` trait on `Address` in `tempo-primitives`. Updated all consumers to use the new trait methods (`address.is_tip20()`, `address.is_virtual()`, `Address::new_virtual(...)`, etc.). (by @0xrusowsky, [#3637](https://github.com/tempoxyz/tempo/pull/3637))
* Added `is_hardfork_active` helper to `TempoProviderExt` and re-exported `tempo-chainspec` as a non-optional dependency. Updated the crates.io publish pipeline to include `tempo-chainspec` as a published crate. (by @0xrusowsky, [#3655](https://github.com/tempoxyz/tempo/pull/3655))

## v1.7.0 — Release v1.7.0 — T4 Network Upgrade (2026-05-11)

> \[!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](https://docs.tempo.xyz/protocol/tips/tip-1031)** — 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](https://docs.tempo.xyz/protocol/tips/tip-1046)** — 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](https://github.com/tempoxyz/tempo/pull/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](https://github.com/tempoxyz/tempo/pull/3664)): Builds on the `--tempo.bootnodes-endpoint` flag and the curated peer lists [announced in v1.6.0](https://github.com/tempoxyz/tempo/releases/tag/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](https://github.com/tempoxyz/tempo/pull/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](https://github.com/tempoxyz/tempo/pull/3744)); treat future timestamps as transient ([#3721](https://github.com/tempoxyz/tempo/pull/3721)); race-condition fix in `fast_sync_after_full_dkg` between epoch-manager hints and gap repair ([#3700](https://github.com/tempoxyz/tempo/pull/3700)).
* **Supply-chain hardening for releases** ([#3804](https://github.com/tempoxyz/tempo/pull/3804), [#3536](https://github.com/tempoxyz/tempo/pull/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](https://github.com/tempoxyz/tempo/releases/tag/tempo-alloy%401.7.0) | Consensus-context block header support, nonce-key tx count helper |
| tempo-primitives (Rust) | [1.7.0](https://github.com/tempoxyz/tempo/releases/tag/tempo-primitives%401.7.0) | TIP-1031 `Context` field on `TempoHeader`, T4 hardfork constants |
| tempo-contracts (Rust) | [1.7.0](https://github.com/tempoxyz/tempo/releases/tag/tempo-contracts%401.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](https://github.com/tempoxyz/tempo/pull/3254), [#3092](https://github.com/tempoxyz/tempo/pull/3092))
* **Reth updated** to the latest upstream main snapshot as of May 5th 2026.
* **Commonware bumped** ([#3697](https://github.com/tempoxyz/tempo/pull/3697)) and application actor adapted accordingly.
* **Alloy SDK helpers**: nonce-key transaction count helper ([#3726](https://github.com/tempoxyz/tempo/pull/3726)); `is_active_hardfork` on provider ([#3655](https://github.com/tempoxyz/tempo/pull/3655)); `TempoAddressExt` helpers ([#3637](https://github.com/tempoxyz/tempo/pull/3637)); nonce filler cache controls ([#3634](https://github.com/tempoxyz/tempo/pull/3634)).
* **Precompile surface**: `Set<T>` overflow protection ([#3574](https://github.com/tempoxyz/tempo/pull/3574)); new `U96` storage primitive ([#3734](https://github.com/tempoxyz/tempo/pull/3734)).

**Full Changelog**: [v1.6.0...v1.7.0](https://github.com/tempoxyz/tempo/compare/v1.6.0...v1.7.0)

## v1.6.0 — Release v1.6.0 - T3 Network Upgrade (2026-04-16)

## Release v1.6.0 — T3 Network Upgrade

> \[!IMPORTANT]
> **This release is required for the T3 network upgrade scheduled for testnet and mainnet.** Node operators must update their nodes, otherwise your nodes will fall out of sync with the network. This release contains breaking changes for Developers, please read the release notes carefully and upgrade your SDK versions to the T3 compatible versions.

### Update Priority

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

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

### Activation Times

| Network | Date | Timestamp |
|---------|------|-----------|
| Moderato (testnet) | Apr 21st 2026 16:00 CEST | 1776780000 |
| Presto (mainnet) |  Apr 27th 2026 16:00 CEST | 1777298400 |

### TIPs included with T3

The T3 network upgrade implements five TIPs:

1. **[TIP-1011: Enhanced Access Key Permissions](https://docs.tempo.xyz/protocol/tips/tip-1011)** — Extends AccountKeychain with periodic TIP-20 spending limits, per-target and per-selector call scopes, and recipient-constrained token calls for TIP 20 selectors. Enables fine-grained key restrictions for delegated signing use cases.
2. **[TIP-1020: Signature Verification Precompile](https://docs.tempo.xyz/protocol/tips/tip-1020)** — New precompile that allows contracts to verify Tempo signature types (secp256k1, P256, WebAuthn) onchain, reusing the audited verification logic from transaction processing. Same gas schedule as transaction signatures (3k secp256k1, 8k P256/WebAuthn).
3. **[TIP-1022: Virtual Forwarding Addresses](https://docs.tempo.xyz/protocol/tips/tip-1022)** — Introduces virtual TIP-20 deposit addresses that auto-forward to a registered master wallet. Eliminates sweep transactions and avoids per-deposit-address state creation and state bloat.
4. **[TIP-1031: Consensus Context in Block Header](https://docs.tempo.xyz/protocol/tips/tip-1031)** — Encodes consensus metadata directly into Tempo block headers, making consensus context available to all nodes verifying the chain.
5. **[TIP-1038: T3 Hardfork Improvements](https://docs.tempo.xyz/protocol/tips/tip-1038)** — Meta TIP collecting audit-driven bug fixes and gas correctness changes.

### Operators

* **--consensus.enable-subblocks CLI flag removed**: The flag has been removed and subblocks are disabled. No action needed — subblocks will be reintroduced in a later release. ([#3510](https://github.com/tempoxyz/tempo/pull/3510))
* **ENR fork ID enforcement enabled by default**: --enforce-enr-fork-id is now true by default, filtering out discovered peers without a confirmed fork ID. ([#3594](https://github.com/tempoxyz/tempo/pull/3594))
* **Fetching bootnodes on startup**: --tempo.bootnodes-endpoint CLI flag was added, allowing to fetch bootnodes on startup from a predefined endpoint [#3582](https://github.com/tempoxyz/tempo/pull/3582)

#### Improved Peering & Discovery

We now publish curated, regularly-updated peer lists for our networks. To take advantage of faster and more reliable peer discovery,
add the following flag:

Mainnet: `--tempo.bootnodes-endpoint https://peers.tempo. xyz`
Testnet: `--tempo.bootnodes-endpoint https://testnet-peers.tempo. xyz`
This will become the default in an upcoming release.

### Developers

This release contains **breaking changes** for Developers, please upgrade your sdk versions to the T3 compatible versions:

| Package | Version | Notes |
|---------|---------|-------|
| tempo-alloy (Rust) | [1.6.0](https://github.com/tempoxyz/tempo/releases/tag/tempo-alloy%401.6.0) | Call-scopes, nonzero AA validity bounds, alloy 2.0.0 |
| tempo-primitives (Rust) | [1.6.0](https://github.com/tempoxyz/tempo/releases/tag/tempo-primitives%401.6.0) | NonZeroU64 validity bounds, stricter payment v2 criteria |
| tempo-contracts (Rust) | [1.6.0](https://github.com/tempoxyz/tempo/releases/tag/tempo-contracts%401.6.0) | T3 precompile bindings |
| tempo-go (Go) | [0.4.0](https://github.com/tempoxyz/tempo-go/releases/tag/v0.4.0) | CallScope/SelectorRule builders, T3 authorizeKey ABI, 192-bit nonce key support |
| foundry (Foundry) | [nightly](https://github.com/foundry-rs/foundry/releases/tag/nightly-a8ef5bfc5f3fa3506151ae2d1d27af4ba7e40558) | SignatureVerifier, AddressRegistry, cast keychain commands, T3 authorizeKey ABI |

**Breaking Changes**:

* **Scoped access key validation moved to pre-execution**: T3 call-scope matching is enforced at pre-execution rather than transaction validation, changing when scope violations surface. ([#3537](https://github.com/tempoxyz/tempo/pull/3537))
* **Nonzero AA validity bounds enforced**: AA transactions with zero valid\_before/valid\_after or zero key expiry are now rejected. ([#3500](https://github.com/tempoxyz/tempo/pull/3500), [#3501](https://github.com/tempoxyz/tempo/pull/3501))
* **Spending limit clamping for T3 refunds**: AccountKeychain spending limits are now clamped in T3 refund paths. ([#3483](https://github.com/tempoxyz/tempo/pull/3483))

### What's Changed

* **Reth bumped to latest** (b3f5e62 → 2026-04-12): [#3245](https://github.com/tempoxyz/tempo/pull/3245), [#3332](https://github.com/tempoxyz/tempo/pull/3332), [#3464](https://github.com/tempoxyz/tempo/pull/3464), [#3515](https://github.com/tempoxyz/tempo/pull/3515), [#3549](https://github.com/tempoxyz/tempo/pull/3549)
* **Performance**: Sparse trie state root in payload builder ([#3476](https://github.com/tempoxyz/tempo/pull/3476)), keccak cache enabled ([#3601](https://github.com/tempoxyz/tempo/pull/3601)), dual P256 signature verification backend ([#3339](https://github.com/tempoxyz/tempo/pull/3339))
* **RPC**: tempo\_simulateV1 with TIP-20 token metadata enrichment ([#3449](https://github.com/tempoxyz/tempo/pull/3449)), tempo\_forkSchedule endpoint ([#3434](https://github.com/tempoxyz/tempo/pull/3434)), operator\_peers API ([#3589](https://github.com/tempoxyz/tempo/pull/3589))
* **Networking**: --tempo.bootnodes-endpoint for dynamic bootnode fetching ([#3582](https://github.com/tempoxyz/tempo/pull/3582)), p2p-proxy subcommand integrated into main binary ([#2780](https://github.com/tempoxyz/tempo/pull/2780))
* **Node operations**: History pruning support for non-validator nodes ([#3511](https://github.com/tempoxyz/tempo/pull/3511)), reject history pruning on validators ([#3298](https://github.com/tempoxyz/tempo/pull/3298)), validator DKG role info in CLI ([#3538](https://github.com/tempoxyz/tempo/pull/3538))
* **Transaction pool**: Re-validate transactions on policy changes ([#3532](https://github.com/tempoxyz/tempo/pull/3532)), unified validation logic between pool and EVM ([#3463](https://github.com/tempoxyz/tempo/pull/3463)), improved AA transaction handling ([#3541](https://github.com/tempoxyz/tempo/pull/3541))
* **Alloy SDK**: Call-scopes support in keychain ([#3437](https://github.com/tempoxyz/tempo/pull/3437)), alloy bumped to 2.0.0 ([#3569](https://github.com/tempoxyz/tempo/pull/3569))

**Full Changelog**: [v1.5.0...v1.6.0](https://github.com/tempoxyz/tempo/compare/v1.5.0...v1.6.0)

## tempo-primitives@1.6.0 (2026-04-14)

### Minor Changes

* Store `TempoTransaction.valid_before` and `valid_after` as `Option<NonZeroU64>` so omitted validity bounds remain distinct from zero in RLP and serde handling. Reject zero-valued validity bounds when building AA transactions from `TempoTransactionRequest`. (by @legion2002, [#3501](https://github.com/tempoxyz/tempo/pull/3501))

### Patch Changes

* Bump alloy to 2.0.0, reth to rev `bfb7ab7`, and related dependencies (`reth-codecs` 0.2.0, `reth-primitives-traits` 0.2.0, `alloy-evm` 0.31.0, `revm-inspectors` 0.37.0). Adapt code for upstream API changes including the `TransactionBuilder`/`NetworkTransactionBuilder` trait split, new `BlockHeader` methods (`block_access_list_hash`, `slot_number`), the `slot_number` field on payload builder attributes, the `ExecutionWitnessMode` parameter on `witness`, and `PartialEq` on `TempoBlockEnv`. (by @0xrusowsky, @figtracer, @stevencartavia [#3569](https://github.com/tempoxyz/tempo/pull/3569))

## tempo-contracts@1.6.0 (2026-04-14)

## tempo-alloy@1.6.0 (2026-04-14)

### Patch Changes

* Store `TempoTransaction.valid_before` and `valid_after` as `Option<NonZeroU64>` so omitted validity bounds remain distinct from zero in RLP and serde handling. Reject zero-valued validity bounds when building AA transactions from `TempoTransactionRequest`. (by @legion2002, [#3501](https://github.com/tempoxyz/tempo/pull/3501))
* Bump alloy to 2.0.0, reth to rev `bfb7ab7`, and related dependencies (`reth-codecs` 0.2.0, `reth-primitives-traits` 0.2.0, `alloy-evm` 0.31.0, `revm-inspectors` 0.37.0). Adapt code for upstream API changes including the `TransactionBuilder`/`NetworkTransactionBuilder` trait split, new `BlockHeader` methods (`block_access_list_hash`, `slot_number`), the `slot_number` field on payload builder attributes, the `ExecutionWitnessMode` parameter on `witness`, and `PartialEq` on `TempoBlockEnv`. (by @0xrusowsky, @figtracer, @stevencartavia [#3569](https://github.com/tempoxyz/tempo/pull/3569))

## v1.5.3 — Release v1.5.3 (2026-04-09)

This patch release fixes the validator telemetry regression introduced in v1.5.2 and resolves a consensus edge case during epoch transitions. We recommend validators to upgrade to this release.

## Update Priority

This table provides priorities for which classes of users should update to this release.

| User Class | Priority |
| ------------- | ------------- |
| Validators | High |
| RPC Nodes | Medium |

**It is recommended for all node operators to upgrade. Validators that skipped v1.5.2 should move directly to v1.5.3.**

## What's Changed

* **Consensus epoch-transition fix**: Keeps scheme material for the previous two epochs so nodes can continue verifying late certificates from straggling peers during epoch transitions, avoiding incorrect Byzantine peer blocking. ([#3520](https://github.com/tempoxyz/tempo/pull/3520))
* **Telemetry / OTLP HTTPS fix**: Re-enables TLS for the OTLP HTTP exporter so HTTPS telemetry endpoints work again after the reth dependency update in v1.5.2. ([#3508](https://github.com/tempoxyz/tempo/pull/3508))

**Full Changelog**: [v1.5.2...v1.5.3](https://github.com/tempoxyz/tempo/compare/v1.5.2...v1.5.3)

## tempo-primitives@1.5.1 (2026-04-08)

## `tempo-primitives@1.5.1`

### Features

* Add `CallScope` and `SelectorRule` accessor methods (by @figtracer, [#3470](https://github.com/tempoxyz/tempo/pull/3470))
* Add call-scopes support to keychain (by @0xrusowsky, [#3437](https://github.com/tempoxyz/tempo/pull/3437))
* Implement TIP-1011 enhanced access key permissions (by @legion2002, [#3384](https://github.com/tempoxyz/tempo/pull/3384))

### Performance

* Dual P256 signature verification backend (by @0xrusowsky, [#3339](https://github.com/tempoxyz/tempo/pull/3339))

### Fixes

* Guard `normalize_p256_s` against out-of-range s values (by @decofe, [#3101](https://github.com/tempoxyz/tempo/pull/3101))

### Other

* Compact backwards compatibility tests for all types (by @decofe, [#3467](https://github.com/tempoxyz/tempo/pull/3467))
* Add `KeyAuthorization` builder pattern (by @decofe, [#3441](https://github.com/tempoxyz/tempo/pull/3441))

## tempo-contracts@1.5.1 (2026-04-08)

## `tempo-contracts@1.5.1`

### Features

* TIP-1022 virtual address support (by @0xrusowsky, [#3286](https://github.com/tempoxyz/tempo/pull/3286))
* TIP-1020 signature verification precompile (by @howydev, [#3277](https://github.com/tempoxyz/tempo/pull/3277))
* Implement TIP-1011 enhanced access key permissions (by @legion2002, [#3384](https://github.com/tempoxyz/tempo/pull/3384))

### Other

* Remove keychain call-scopes limits (by @0xrusowsky, [#3439](https://github.com/tempoxyz/tempo/pull/3439))
* Precompiles cleanup (by @0xrusowsky, [#3107](https://github.com/tempoxyz/tempo/pull/3107))

## tempo-alloy@1.5.1 (2026-04-08)

## `tempo-alloy@1.5.1`

### Features

* Add call-scopes support to keychain (by @0xrusowsky, [#3437](https://github.com/tempoxyz/tempo/pull/3437))
* Implement TIP-1011 enhanced access key permissions (by @legion2002, [#3384](https://github.com/tempoxyz/tempo/pull/3384))

### Fixes

* Revert `skip_serializing_if` on `TempoTransactionRequest` fields (by @decofe, [#3466](https://github.com/tempoxyz/tempo/pull/3466))

### Other

* Address keychain review feedback (by @decofe, [#3469](https://github.com/tempoxyz/tempo/pull/3469))
* Add `KeyAuthorization` builder pattern (by @decofe, [#3441](https://github.com/tempoxyz/tempo/pull/3441))
* Add `reth` flag back to `tempo-alloy` (by @0xrusowsky, [#3418](https://github.com/tempoxyz/tempo/pull/3418))
* Publish pipeline for tempo-alloy (by @0xrusowsky, [#3130](https://github.com/tempoxyz/tempo/pull/3130))

## `tempo-primitives@1.5.1`

### Features

* Add `CallScope` and `SelectorRule` accessor methods (by @figtracer, [#3470](https://github.com/tempoxyz/tempo/pull/3470))
* Add call-scopes support to keychain (by @0xrusowsky, [#3437](https://github.com/tempoxyz/tempo/pull/3437))
* Implement TIP-1011 enhanced access key permissions (by @legion2002, [#3384](https://github.com/tempoxyz/tempo/pull/3384))

### Performance

* Dual P256 signature verification backend (by @0xrusowsky, [#3339](https://github.com/tempoxyz/tempo/pull/3339))

### Fixes

* Guard `normalize_p256_s` against out-of-range s values (by @decofe, [#3101](https://github.com/tempoxyz/tempo/pull/3101))

### Other

* Compact backwards compatibility tests for all types (by @decofe, [#3467](https://github.com/tempoxyz/tempo/pull/3467))
* Add `KeyAuthorization` builder pattern (by @decofe, [#3441](https://github.com/tempoxyz/tempo/pull/3441))

## `tempo-contracts@1.5.1`

### Features

* TIP-1022 virtual address support (by @0xrusowsky, [#3286](https://github.com/tempoxyz/tempo/pull/3286))
* TIP-1020 signature verification precompile (by @howydev, [#3277](https://github.com/tempoxyz/tempo/pull/3277))
* Implement TIP-1011 enhanced access key permissions (by @legion2002, [#3384](https://github.com/tempoxyz/tempo/pull/3384))

### Other

* Remove keychain call-scopes limits (by @0xrusowsky, [#3439](https://github.com/tempoxyz/tempo/pull/3439))
* Precompiles cleanup (by @0xrusowsky, [#3107](https://github.com/tempoxyz/tempo/pull/3107))

## v1.5.2 — Release v1.5.2 (2026-04-08)

This is a maintenance release that updates the reth dependency and deprecates the `--consensus.fee-recipient` flag. The flag will be deprecated ~2 weeks, we ask validators to migrate the recipient to the validator contract before the flag is removed.

## Update Priority

This table provides priorities for which classes of users should update to this release.

| User Class | Priority |
| ------------- | ------------- |
| Validators | Not Recommended \* |
| RPC Nodes | Low |

\*Validators have reported issues with the telemetry endpoint, we ask validators to skip this release and wait for a patch.

## Upcoming Breaking Changes

### Validators

As part of the Validator Config v2 migration on Tempo testnet and mainnet, fee-recipient configuration will be migrated to the onchain validator configuration. This release includes the supporting node changes so proposers read the fee recipient from validator contract state. The `--consensus.fee-recipient` flag will be removed in about two weeks.

After migration, fee-recipient updates should be made through the validator contract. See: https://docs.tempo.xyz/guide/node/validator-config-v2

## What's Changed

* **Reth dependency update**: Pulls in the latest upstream reth fixes and improvements across payload building, trie and state handling, RPC behavior, and overall execution-path stability and performance.
* **Payload builder and consensus correctness**: Improves payload construction on non-canonical ancestors, aligns fee-recipient handling with the validator configuration changes, and tightens validation of end-of-block system transaction ordering.
* **RPC and operator ergonomics**: Adds the `tempo_forkSchedule` RPC endpoint and improves telemetry labeling and CLI behavior around telemetry URL configuration.
* **Validation and mempool hardening**: Strengthens transaction validation and pool rechecks with fixes for wildcard fee-token spending-limit handling, paused-token precedence, and P256 signature edge cases.

**Full Changelog**: [v1.5.1...v1.5.2](https://github.com/tempoxyz/tempo/compare/v1.5.1...v1.5.2)

## v1.5.1 — Release v1.5.1 (2026-03-29)

## Security Patch

Fixes a denial-of-service vulnerability in RPC endpoints that accept state overrides (e.g. `eth_call`, `debug_traceCall`). Crafted `stateOverride` payloads could cause unbounded memory allocation in storage decoding paths, crashing the node.

### Update Priority

This table provides priorities for which classes of users should update to this release.

| User Class | Priority |
|------------|----------|
| Validators | Low |
| RPC Nodes | Critical |

### Changes

* Bound dynamically-sized storage type lengths to prevent OOM on malicious input
* Reject tampered short-string storage slots with invalid length encoding
* Add clippy lint to prevent reintroduction of unbounded allocations in storage paths

All RPC node operators should upgrade immediately.

## v1.5.0 — Release v1.5.0 (2026-03-24)

## T2 Network Upgrade for Testnet (Moderato) and Mainnet (Presto)

> \[!IMPORTANT]
> **This release is required for the T2 network upgrade scheduled for testnet and mainnet.** Node operators must update their nodes, otherwise your nodes will fall out of sync with the network.

### Update Priority

This table provides priorities for which classes of users should update to this release.

| User Class | Priority |
|------------|----------|
| Validators | High |
| RPC Nodes | High |

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

### Activation Times

| Network | Date | Timestamp |
|---------|------|-----------|
| Moderato (testnet) | Thursday, Mar 26th 2026 16:00 CET | `1774537200` |
| Presto (mainnet) | Tuesday, Mar 31st 2026 16:00 CEST | `1774965600` |

### TIPs

The T2 network upgrade implements four TIPs:

1. [TIP-1015: Compound Transfer Policies](https://docs.tempo.xyz/protocol/tips/tip-1015) — Extends TIP-403 with compound policies that specify different authorization rules for senders, recipients, and mint recipients. Enables use cases like vendor credits, asymmetric compliance, and sender/recipient-specific restrictions.
2. [TIP-1017: Validator Config V2](https://docs.tempo.xyz/protocol/tips/tip-1017) — New precompile for managing consensus participants with self-service ingress/egress configuration and validator rotation.
3. [TIP-1036: T2 Hardfork Bug Fixes](https://docs.tempo.xyz/protocol/tips/tip-1036) — Meta TIP collecting 14 audit-driven bug fixes and security hardening changes, including: requiring `tx.origin` for AccountKeychain admin ops, rejecting self-sponsored fee payer signatures, enforcing token pause in DEX balance swaps, correcting built-in policy type data, nonce key gas repricing, and reserved liquidity transient storage guards.
4. [TIP-1004: Permit for TIP-20](https://docs.tempo.xyz/protocol/tips/tip-1004) — Adds EIP-2612 compatible permit() functionality to TIP-20 tokens, enabling gasless approvals via off-chain signatures. Allows single-transaction approve + action flows and token sweeps from addresses that have never transacted.

### Breaking Changes

Operators

* **ValidatorConfig V2 migration**: No action is needed from node operators, existing validators will be upgraded from v1 to v2. Self-service actions become active after the upgrade is complete.

Developers

* **AccountKeychain admin ops require `tx.origin`**: `authorizeKey`, `revokeKey`, and `updateSpendingLimit` now require direct owner calls — indirect contract-call paths are blocked post-T2. ([#3202](https://github.com/tempoxyz/tempo/pull/3202))
* **Self-sponsored fee payer signatures rejected**: AA transactions where the fee payer resolves to the sender are now rejected. ([#3200](https://github.com/tempoxyz/tempo/pull/3200))
* **Legacy invalid policy types rejected**: Policy types that were previously silently accepted are now rejected during validation. ([#3188](https://github.com/tempoxyz/tempo/pull/3188))

### What’s changed

**Reth bumped to latest** (`2a94eed`): [#3216](https://github.com/tempoxyz/tempo/pull/3216), [#3241](https://github.com/tempoxyz/tempo/pull/3241). This includes a new storage configuration, that new nodes will adopt.
**Consensus**: Validator CLI commands for add/rotate ([#2841](https://github.com/tempoxyz/tempo/pull/2841)), `--consensus.enable-subblocks` flag ([#3045](https://github.com/tempoxyz/tempo/pull/3045))
**Alloy SDK**: `NonceKeyFiller` for 2D nonce management ([#3022](https://github.com/tempoxyz/tempo/pull/3022)), account keychain provider helpers ([#3133](https://github.com/tempoxyz/tempo/pull/3133))
**tempoup**: Fixed install path to `~/.tempo/bin` and shell PATH configuration ([#3154](https://github.com/tempoxyz/tempo/pull/3154)), bash 3.3 compatibility ([#3174](https://github.com/tempoxyz/tempo/pull/3174))
**CLI extensions**: Introduced `tempo add` for CLI extensions ([#3042](https://github.com/tempoxyz/tempo/pull/3042))

**Full Changelog**: [v1.1.1...v1.5.0](https://github.com/tempoxyz/tempo/compare/v1.1.1...v1.5.0)

## v1.4.3 — Release v1.4.3 (2026-03-18)

This is a patch release fixing gas price oracle poisoning that caused inflated fee estimates for wallet transactions.

It is recommended for all node operators to upgrade.

## What's Changed

* Fixed gas price oracle returning inflated priority fees when high-gasPrice transactions dominated the sample window. The oracle now correctly signals zero demand for blocks without priority-fee-paying transactions, preventing stale prices from persisting across the sampling window (reth#23094)

Full Changelog: v1.4.2...v1.4.3

## v1.4.2 — Release v1.4.2 (2026-03-16)

This is a maintenance release with transaction pool hardening and contract type improvements.

**It is strongly recommended for all node operators to upgrade.**

## Changes

* Strict payment calldata validation in the transaction pool and block builder, rejecting malformed payment transactions earlier (#3099)

Full Changelog: https://github.com/tempoxyz/tempo/compare/v1.4.1...v1.4.2

## v1.4.1 — Release v1.4.1 (2026-03-12)

This release follows the T1C network upgrade (v1.4.0) with transaction pool fixes and DoS-hardening, consensus resilience improvements, payload builder enhancements, and new CLI tooling.

**It is strongly recommended for all node operators to upgrade.**

## What's Changed

* Fixed transaction pool eviction to respect priority and aggressively remove transactions when validator token preferences change (#3053, #3072)
* Inline key authorization state is now validated in the pool, rejecting transactions with revoked or expired keys (#3065)
* Nodes that lose DKG player state can now recover automatically (Commonware bump to 2026.3.0) (#2940, #3044)
* eth\_estimateGas is now hardfork-aware, returning correct estimates across fork boundaries (#2971)
* Fixed AA transaction roundtrip conversion in RPC and alloy Tempo tx identification (#3063, #3066)
* Added `--consensus.enable-subblocks` flag and Tempo CLI extension system (#3045, #3042)
* Added NonceKeyFiller for cached 2D nonce management in tempo-alloy (#3022)
* Payload builder instrumentation with per-phase timings and separate interrupt/wait deadlines (#3056, #2939)

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.4.0...v1.4.1

## v1.4.0 — Release v1.4.0 (2026-03-05)

> \[!IMPORTANT]
> **This release is required for the T1C network upgrade with the following activation times:**
>
> * Moderato: Monday, March 9th at 16:00 CET (unix timestamp: 1773068400)
> * Mainnet: Thursday, March 12th at 16:00 CET (unix timestamp: 1773327600)
>
> **Node operators must update before activation, otherwise nodes will fall out of sync with the network.**
>
> This release includes a breaking keychain-signature migration at T1C (only `V2` signatures and hashes accepted post T1C).

## Libraries & Tools

* **foundry**: use v1.6.0-t1c (`foundryup -n tempo -i v1.6.0-t1c`)
* **tempo-alloy**: pin the dependency to v1.4.0
* **pytempo**: use v0.3.1
* **tempo-go**: use 0.3.0
* **viem**: use 2.47.0

## Breaking Changes

### Operators

* **Mandatory node upgrade at T1C activation:** nodes that are not updated before activation will fall out of sync with the network.
* **Precompile fork boundary update:** precompiles switch from Prague to Osaka at T1C.

### Developers

* **Keychain signature migration from legacy to V2:** pre-T1C only legacy keychain signatures (`V1`) are accepted; post-T1C only keychain signatures `V2` (`type 0x04`) are accepted. Pre-T1C keys continue to be accessible, but signature type and hash calculations have changed.
* **KeyAuthorization wildcard removed post-T1C:** `chain_id=0` is no longer valid after activation; key authorizations must use the exact Tempo chain ID.

## What's Changed

* Added `t1c` hardfork support in chainspec/genesis and activation wiring ([#2860](https://github.com/tempoxyz/tempo/pull/2860)).
* Bumped precompile set from Prague to Osaka at T1C ([#2809](https://github.com/tempoxyz/tempo/pull/2809)).
* Added keychain signature V2 support and hardfork-aware validation gates ([#2867](https://github.com/tempoxyz/tempo/pull/2867)).
* Enforced strict post-T1C key authorization `chain_id` checks (no wildcard) ([#2871](https://github.com/tempoxyz/tempo/pull/2871)).
* Moved keychain and fee/reserve checks to the T1C boundary ([#2861](https://github.com/tempoxyz/tempo/pull/2861), [#2862](https://github.com/tempoxyz/tempo/pull/2862), [#2866](https://github.com/tempoxyz/tempo/pull/2866), [#2870](https://github.com/tempoxyz/tempo/pull/2870)).
* Improved txpool expiry/key tracking cleanup and paused-pool handling ([#2874](https://github.com/tempoxyz/tempo/pull/2874), [#2878](https://github.com/tempoxyz/tempo/pull/2878)).
* Added checkpoint-guarded atomic rollback protection for batched precompile state mutations ([#2879](https://github.com/tempoxyz/tempo/pull/2879)).
* Fixed fee-payer whitelist integration test coverage for T1C behavior ([#2875](https://github.com/tempoxyz/tempo/pull/2875)).

Full Changelog: https://github.com/tempoxyz/tempo/compare/v1.3.1...v1.4.0

## v1.3.1 (2026-02-22)

Some node operators reported issues during high load on Moderato testnet. It is recommended for testnet and mainnet node operators to upgrade.

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.3.0...v1.3.1

## v1.3.0 — Release v1.3.0 (2026-02-20)

This patch release includes security hardening for expiring nonce replay protection and keychain precompile gas handling activated with T1A/T1B network upgrade. **It is required for all node operators to upgrade.**

## What's Changed

* fix: harden expiring nonce replay protection: Strengthens replay protection for expiring nonce transactions by using a hash derivation that is invariant to fee payer changes.

* fix: update keychain precompile gas metering: Corrects gas accounting for keychain-authorized transactions to prevent double-charging, and ensures nonce is always properly incremented.

* fix(evm): reset initial\_gas in execution\_result and catch\_error: Fixes gas state handling in EVM error and result paths to ensure correct gas reporting.

* feat: raise per-transaction gas limit on testnet: Removal of EIP-7825's 16.7M per-transaction gas limit cap, raising it to Tempo's 30M cap

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.2.0...v1.3.0

## v1.2.0 — v1.2.0 (Mainnet-only) (2026-02-13)

**⚠️ Mainnet-only upgrade for node operators. Do not upgrade your testnet nodes.** This release fixes a validation bug on mainnet where transactions with gas limits above ~16.7M were incorrectly rejected, blocking large contract deployments. All node operators must upgrade to maintain network compatibility.

Nodes running older versions will reject blocks containing transactions with gas limits above 16.7M. Upgrading promptly avoids falling out of sync when validators raise the limit.

**Full Changelog**: [v1.1.4...v1.2.0](https://github.com/tempoxyz/tempo/compare/v1.1.4...v1.2.0)

## v1.1.4 (2026-02-12)

This patch release includes fixes for stablecoin DEX error handling, RPC gas estimation, transaction pool validation, and improved consensus peer management. We recommend all node operators upgrade.

## What's Changed

* **fix(stablecoin-dex): propagate system errors on `place_flip()`** by [@0xrusowsky](https://github.com/0xrusowsky) in [#2654](https://github.com/tempoxyz/tempo/pull/2654): System errors (like out-of-gas, arithmetic panics, or DB errors) from `place_flip()` calls were being silently swallowed. This fix ensures they are properly propagated.
* **fix(evm): use TIP\_FEE\_MANAGER\_ADDRESS as RPC simulation beneficiary** by [@0xrusowsky](https://github.com/0xrusowsky) in [#2672](https://github.com/tempoxyz/tempo/pull/2672): Amends the RPC gas estimation fix from v1.1.3 — `Address::ZERO` didn't work as the sentinel beneficiary because genesis maps `validatorTokens[Address::ZERO]` to a `"DONOTUSE"` token, triggering liquidity errors. This switches to `TIP_FEE_MANAGER_ADDRESS` which correctly falls back to the default fee token.
* **fix(txpool): mark system/fee payer sig errors as invalid txs** by [@fgimenez](https://github.com/fgimenez) in [#2652](https://github.com/tempoxyz/tempo/pull/2652): Transactions with invalid system or fee payer signatures were not being correctly marked as invalid in the pool. They are now properly rejected.
* **refactor(consensus): move peer tracking to self standing actor** by [@SuperFluffy](https://github.com/SuperFluffy) in [#2617](https://github.com/tempoxyz/tempo/pull/2617): Prepares peer management for TIP-1017 by moving it to a standalone actor that can track finalized blocks for peer set changes.
* **feat(storage): add block\_number() to PrecompileStorageProvider trait** by [@howydev](https://github.com/howydev) in [#2667](https://github.com/tempoxyz/tempo/pull/2667): Adds `block_number()` to the storage provider trait, needed by ValidatorConfigV2 to track `addedAtHeight`/`deactivatedAtHeight`.

**Full Changelog**: [v1.1.3...v1.1.4](https://github.com/tempoxyz/tempo/compare/v1.1.3...v1.1.4)

## v1.1.3 (2026-02-12)

This patch release includes several important fixes for gas estimation, transaction pool eviction, and account abstraction transaction handling, along with improved peer discovery and installer reliability. We recommend all node operators upgrade.

## What's Changed

* **fix(chainspec): set explicit tx\_gas\_limit\_cap for T0/Genesis to prevent EIP-7825 fallback** by [@gakonst](https://github.com/gakonst) in [#2649](https://github.com/tempoxyz/tempo/pull/2649): `eth_estimateGas` was broken on mainnet — returning `intrinsic gas too high` for all calls without an explicit gas limit. The root cause was that T0/Genesis returned `None` for `tx_gas_limit_cap()`, causing revm to fall back to EIP-7825's protocol default of 2²⁴ (~16.7M), which capped the binary search and triggered validation failures. This fix sets an explicit gas limit cap for T0/Genesis.
* **fix(evm): use default fee token for RPC gas estimation to avoid validator token mismatch** by [@fgimenez](https://github.com/fgimenez) in [#2588](https://github.com/tempoxyz/tempo/pull/2588): Gas estimation via RPC could fail when the validator's configured fee token differed from the caller's. This fix uses the default fee token for RPC gas estimation, ensuring consistent results regardless of validator configuration.
* **fix(alloy): preserve key\_authorization in build\_aa and route AA txs in SignableTxRequest** by [@fgimenez](https://github.com/fgimenez) in [#2598](https://github.com/tempoxyz/tempo/pull/2598): Account abstraction transactions could lose their `key_authorization` field during construction, causing them to be rejected. This fix preserves the field and correctly routes AA transactions through `SignableTxRequest`.
* **fix(txpool): cache key auth expiry for pool eviction** by [@fgimenez](https://github.com/fgimenez) in [#2637](https://github.com/tempoxyz/tempo/pull/2637): Transactions with expiring key authorizations were not being evicted from the pool after expiry. The transaction pool now caches and checks key auth expiry for proper eviction.
* **feat: enable discv5 by default** by [@Rjected](https://github.com/Rjected) in [#2634](https://github.com/tempoxyz/tempo/pull/2634): Discovery v5 is now enabled by default, improving peer discovery and network connectivity.
* **feat(p2p): add more default bootnodes for mainnet and testnet** by [@Zygimantass](https://github.com/Zygimantass) in [#2231](https://github.com/tempoxyz/tempo/pull/2231): Adds additional default boot nodes for both mainnet and testnet, improving initial peer connectivity.

**Full Changelog**: [v1.1.2...v1.1.3](https://github.com/tempoxyz/tempo/compare/v1.1.2...v1.1.3)

## v1.1.2 (2026-02-10)

This patch release includes a fix for an issue affecting follower nodes. If you're using `tempo --follow`, we recommend upgrading to this release.

## What's Changed

* fix: install default rustls crypto provider on startup by @gakonst in https://github.com/tempoxyz/tempo/pull/2606: A recent dependency upgrade (rustls 0.23+) removed the built-in default crypto provider, causing nodes to panic with no process-level CryptoProvider available when opening WebSocket connections. This release explicitly installs the ring crypto provider at startup.

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.1.1...v1.1.2

## v1.1.1 — v1.1.1 - T1 (Bach) Mainnet Network Upgrade (2026-02-10)

## v1.1.1 - T1 (Bach) Mainnet Network Upgrade

> \[!IMPORTANT]
> **This release is required for the Bach (T1) mainnet network upgrade scheduled for Thursday, Feb 12th 2026 16:00 CET.** Node operators must update their nodes, otherwise your nodes will fall out of sync with the network. This release focuses on mainnet-ready gas economics, expiring nonces, and security hardening from recent audits.

The Bach (T1) network upgrade implements three major TIPs:

* [TIP-1000: State Creation Cost Increase](https://docs.tempo.xyz/protocol/tips/tip-1000)
* [TIP-1009: Expiring Nonces](https://docs.tempo.xyz/protocol/tips/tip-1009)
* [TIP-1010: Mainnet Gas Parameters](https://docs.tempo.xyz/protocol/tips/tip-1010)

### Security & Bug Fixes

* Addresses security findings from audits hardening access keys, DEX, and transaction pool correctness: : [#2528](https://github.com/tempoxyz/tempo/pull/2528), [#2522](https://github.com/tempoxyz/tempo/pull/2522), [#2553](https://github.com/tempoxyz/tempo/pull/2553), [#2521](https://github.com/tempoxyz/tempo/pull/2521), [#2496](https://github.com/tempoxyz/tempo/pull/2496), [#2513](https://github.com/tempoxyz/tempo/pull/2513)
* Fixes `tempo download` defaulting to testnet, `tempoup` GPG verification for older versions, expiring nonce handling in `eth_fillTransaction`, and genesis nonce key gas charging: [#2587](https://github.com/tempoxyz/tempo/pull/2587), [#2557](https://github.com/tempoxyz/tempo/pull/2557), [#2491](https://github.com/tempoxyz/tempo/pull/2491), [#2573](https://github.com/tempoxyz/tempo/pull/2573)

**Full Changelog**: [v1.1.0...v1.1.1](https://github.com/tempoxyz/tempo/compare/v1.1.0...v1.1.1)

## v1.1.0 — v1.1.0 - T1 (Bach) Testnet Network Upgrade (2026-02-03)

> \[!IMPORTANT]
> **This release is required for the Bach (T1) network upgrade scheduled for Thursday, Feb 5th 2026 16:00 CET.** Node operators must update their nodes, otherwise your nodes will fall out of sync with the network. This release focuses on mainnet-ready gas economics, expiring nonces, and security hardening from recent audits.

The Bach (T1) network upgrade implements three major TIPs:

* [TIP-1000: State Creation Cost Increase](https://docs.tempo.xyz/protocol/tips/tip-1000)
* [TIP-1009: Expiring Nonces](https://docs.tempo.xyz/protocol/tips/tip-1009)
* [TIP-1010: Mainnet Gas Parameters](https://docs.tempo.xyz/protocol/tips/tip-1010)

This release includes breaking changes on the CLI, precompile interface, please read the release notes carefully.

***

## Network Upgrade Changes

### TIP-1000: State Creation Cost Increase

Tempo's high throughput makes it vulnerable to state growth attacks where adversaries could create terabytes of permanent state at low cost. [TIP-1000](https://docs.tempo.xyz/protocol/tips/tip-1000) increases state creation costs by 12.5x, making such attacks economically infeasible (~$50M to create 1TB of state). Transfers to new addresses now cost ~300k gas (was ~70k), and contract deployments cost 5-10x more.

| Operation | Before | After |
|-----------|--------|-------|
| New state element (SSTORE zero → non-zero) | 20,000 gas | 250,000 gas |
| Account creation (first nonce write) | 0 gas | 250,000 gas |
| Contract creation per byte | 200 gas | 1,000 gas |
| Contract creation base (keccak + codesize) | included | 500,000 gas |
| Transaction gas cap | 16M gas | 30M gas |

### TIP-1009: Expiring Nonces

Traditional sequential nonces create friction for gasless transactions and parallel submission. If transaction N fails, all subsequent transactions are blocked. Additionally, 2D nonces (nonce keys) can lead to permanent state bloat since unused nonce keys are stored forever. [TIP-1009](https://docs.tempo.xyz/protocol/tips/tip-1009) introduces expiring nonces: Transactions specify a `validBefore` timestamp (max 30s in future) instead of a sequential nonce. A fixed-size circular buffer (300k entries) automatically evicts expired entries, preventing state growth. This enables relayers to submit multiple transactions in parallel without complex nonce management, while eliminating the state bloat attack vector.

([#2121](https://github.com/tempoxyz/tempo/pull/2121)): Time-bounded replay protection using transaction hashes. Transactions use `nonceKey = uint256.max` with `validBefore` timestamp (max 30s in future). Enables gasless/meta-transactions and parallel submission.

### TIP-1010: Mainnet Gas Parameters

[TIP-1010](https://docs.tempo.xyz/protocol/tips/tip-1010) calibrates Tempo's mainnet gas parameters, balancing high throughput with sustainable fee levels. The base fee increase to 20 gwei maintains the target of ~0.1 cent per TIP-20 transfer while providing better spam protection. The 500M block gas limit ensures sufficient capacity for payment transactions.

([#2194](https://github.com/tempoxyz/tempo/pull/2194)):

| Parameter | Before | After |
|-----------|--------|-------|
| Base fee | 10 gwei | 20 gwei |
| Total block gas limit | - | 500M gas |
| General gas limit | - | 30M gas/block |

## New Features

* [Unified Telemetry Configuration](https://github.com/tempoxyz/tempo/pull/2172): New `--telemetry-url <URL>` flag configures metrics and logs export in a single option. Pushes both reth and consensus metrics with a `consensus_id` label for node identification. **We ask all validators to configure the `--telemetry-url` so we can support troubleshooting**.
* [Separate Consensus Storage Directory](https://github.com/tempoxyz/tempo/pull/2288): New `--consensus.datadir <PATH>` flag allows validators to store consensus data on a separate volume (e.g., AWS EBS) while keeping execution state on high-performance local disks. Migrate by copying `<datadir>/consensus` to the new location.
* [Validator Info CLI Command](https://github.com/tempoxyz/tempo/pull/2179): New `consensus validators-info` subcommand
* [Validator Health Dashboard](https://github.com/tempoxyz/tempo/pull/2267): New Grafana dashboard for validator monitoring
* [Fee Payer Signature Support](https://github.com/tempoxyz/tempo/pull/2283): `TempoTransactionRequest` supports `fee_payer_signature`
* [Expiring Nonce Setters](https://github.com/tempoxyz/tempo/pull/2266): Added `valid_before`/`valid_after` setters to `TempoTransactionRequest`

## Breaking Changes

### CLI Changes

* **Testnet Chain Name:** Testnet nodes must now use `--chain moderato`. The previous `andantino` chainspec has been removed. Update node startup scripts and systemd services accordingly ([#1876](https://github.com/tempoxyz/tempo/pull/1876), introduced in v1.0.0)

* **CLI Force Flag:** `--delete-signing-share` now requires `--force` flag to prevent accidental deletion of validator signing keys. Update any automation scripts that manage validator key lifecycle ([#2215](https://github.com/tempoxyz/tempo/pull/2215)).

### Precompile Interface Changes

* **Precompile Revert Behavior:** Precompiles now revert with a standard error (instead of returning a precompile-specific error) when calldata is less than 4 bytes (missing function selector). This aligns precompile behavior with regular Solidity contracts. Update `try/catch` blocks and test assertions that expected the old error type ([#2083](https://github.com/tempoxyz/tempo/pull/2083)).

* **ValidatorConfig Signature Change:** `changeValidatorStatus(address, bool)` now takes a `uint64 index` instead of address. This prevents front-running attacks where a malicious validator could rotate their address before deactivation. Callers must now look up the validator's index in the validator array ([#2188](https://github.com/tempoxyz/tempo/pull/2188)).

### Access Key / Keychain Changes

* **Keychain Signature Validation:** Signature type (secp256k1, secp256r1, etc.) must now match the `key_type` stored when the key was authorized. This closes a security gap where a key authorized for one curve could potentially be used with a different signature scheme. Transactions with mismatched types are rejected at the mempool level ([#2178](https://github.com/tempoxyz/tempo/pull/2178)).

### Gas Economics (T1 Network Upgrade)

* **2D Nonce Key Gas (TIP-1000):** Accessing an existing 2D nonce key now costs 5,000 gas (was 0). Update gas estimates for transactions using 2D nonces ([#2362](https://github.com/tempoxyz/tempo/pull/2362)).

* **Developer Action Required:** The gas cost changes in TIP-1000 and TIP-1010 (see tables above) require updating `gas_limit` values in your configuration, `estimateGas()` calls, and any hardcoded `gasPrice` or `maxFeePerGas` values in scripts and transaction builders.

## Security Fixes

* [Signature Type Validation](https://github.com/tempoxyz/tempo/pull/2178): Verifies signature type matches `key_type`, closing a security gap where authorized keys could potentially be used with a different signature scheme.
* [ValidatorConfig Front-running Fix](https://github.com/tempoxyz/tempo/pull/2188): Uses validator index instead of address in `changeValidatorStatus` to prevent malicious validators from evading deactivation by rotating addresses.
* [Transaction Pool DoS Hardening](https://github.com/tempoxyz/tempo/pull/2358): Multiple fixes to prevent eviction-based DoS attacks ([#2352](https://github.com/tempoxyz/tempo/pull/2352), [#2327](https://github.com/tempoxyz/tempo/pull/2327), [#2216](https://github.com/tempoxyz/tempo/pull/2216), [#2242](https://github.com/tempoxyz/tempo/pull/2242), [#2183](https://github.com/tempoxyz/tempo/pull/2183), [#2167](https://github.com/tempoxyz/tempo/pull/2167))
* [Checkpoint Revert on Key Authorization OOG](https://github.com/tempoxyz/tempo/pull/2329): Properly reverts state on out-of-gas during key authorization.
* [Reject Expired Access Keys](https://github.com/tempoxyz/tempo/pull/2223): Mempool rejects transactions with expired access keys.
* [Reject Paused TIP20 Tokens](https://github.com/tempoxyz/tempo/pull/2041): Prevents fee validation bypass using paused tokens.

**Full Changelog**: [v1.0.2...v1.1.0](https://github.com/tempoxyz/tempo/compare/v1.0.2...v1.1.0)

## v1.0.2 — v1.0.2 - the Presto release (2026-01-21)

This release updates Reth depdendency to `v1.10.1` and revm to `v34.0.0`, bringing improvements to snapshot syncing and validator performance.

## Highlights

### Improvements

* [Reth v1.10.1 Upgrade](https://github.com/paradigmxyz/reth/releases/tag/v1.10.1): Engine optimization for validator node sync performance: Explicitly requests head block download after backfill to prevent stalls ([reth#21150](https://github.com/paradigmxyz/reth/pull/21161))
* Resumable Snapshot Downloads: More reliable snapshot syncing with auto-retry support, improving sync reliability on unstable connections ([reth#21161](https://github.com/paradigmxyz/reth/pull/21150))
* [Revm v34.0.0](https://github.com/bluealloy/revm/releases/tag/v103): Latest EVM execution improvements and alloy-evm compatibility

### New Features

* New `consensus_getIdentityTransitionProof` RPC method (#1918): Retrieve identity transition proofs with DKG outcomes and BLS certificates for network identity changes. Supports querying from specific epochs and retrieving full history back to genesis.

### What's Changed

* feat: v1.0.1 release by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2165
* fix(specs): account for ceiling rounding in PlaceOrder fuzz test bound by @legion2002 in https://github.com/tempoxyz/tempo/pull/2146
* feat: add consensus\_getIdentityTransitionProof by @joshieDo in https://github.com/tempoxyz/tempo/pull/1918
* fix(test): use correct PRICE\_SCALE in StablecoinDEX fuzz test by @gakonst in https://github.com/tempoxyz/tempo/pull/2174
* feat: bump revm v34.0.0 by @rakita in https://github.com/tempoxyz/tempo/pull/1762
* chore: v1.0.2 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2182
* chore: bump reth to v1.10.1 by @rakita in https://github.com/tempoxyz/tempo/pull/2186
* chore: update reth to tmp branch by @klkvr in https://github.com/tempoxyz/tempo/pull/2193

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.0.1...v1.0.2

## v1.0.1 — v1.0.1 - the Presto release (2026-01-19)

This release fixes a bug in the syncing process and adds resumable downloads to snapshots (using `tempo download`).

## What's Changed

* Disable reexecute for now by @kamsz in https://github.com/tempoxyz/tempo/pull/2131
* feat(docs): add server-side tracking for AI crawlers by @snario in https://github.com/tempoxyz/tempo/pull/2129
* feat: tempo transaction Invariant tests by @legion2002 in https://github.com/tempoxyz/tempo/pull/2037
* fix: bump to gakonst fork by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2137
* feat(consensus): periodically send heartbeat FCU to EL by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2148
* test(tempo-revm): add property-based tests for tx, block, and handler modules by @fgimenez in https://github.com/tempoxyz/tempo/pull/2030
* fix(txpool): evict AA transactions when signing key is revoked by @fgimenez in https://github.com/tempoxyz/tempo/pull/2035
* chore(consensus): bump commonware to 374285d, use metric attributes by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2164

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.0.0...v1.0.1

## v1.0.0 — v1.0.0 - the Presto release (2026-01-16)

## What's Changed

* chore: rename bench.nu to tempo.nu by @shekhirin in https://github.com/tempoxyz/tempo/pull/1698
* feat(docs): add validator guide by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1559
* chore(llm): add amp tools for tempo.nu by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1704
* feat(docs): allegro moderato  by @jenpaff in https://github.com/tempoxyz/tempo/pull/1653
* Fix the Artemis Tempo link by @akegaviar in https://github.com/tempoxyz/tempo/pull/1584
* feat: implement PostHog custom event tracking for docs by @juandolealt in https://github.com/tempoxyz/tempo/pull/1687
* chore(deps): run cargo shear by @DaniPopes in https://github.com/tempoxyz/tempo/pull/1691
* feat(xtask): move generate-signing-key to consensus subcmd by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1551
* Add `stable` Docker tag for tag-triggered builds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1737
* fix: propagate features correctly by @klkvr in https://github.com/tempoxyz/tempo/pull/1731
* fix: clean-up 2d nonce pool tracker by @klkvr in https://github.com/tempoxyz/tempo/pull/1738
* chore: add RUSTSEC-2025-0137 to deny.toml by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1745
* feat!(consensus): remove all pre-allegretto logic by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1671
* Partition `cargo hack check` into 2 CI matrix jobs by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1748
* docs: add dRPC in Developer tools by @joshitzko in https://github.com/tempoxyz/tempo/pull/1747
* docs: add theta and path USD to fee token guide by @struong in https://github.com/tempoxyz/tempo/pull/1754
* docs: Tempo Transaction guide in nav by @struong in https://github.com/tempoxyz/tempo/pull/1756
* chore: bump commonware to 4a5fca0 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1678
* fix(stablecoin-exchange): use centralized price conversion functions  by @fgimenez in https://github.com/tempoxyz/tempo/pull/1763
* faucet fix by @malleshpai in https://github.com/tempoxyz/tempo/pull/1771
* fix(docs): correct safe deployer repo by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1728
* fix: catch slot collisions when using `base_slot` attrib by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1777
* fix: support UP/UV validation sigs to always accept UV=1 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1652
* refactor!(consensus): standardize dkg with upstream commonware by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1759
* chore!: bump commonware to v0.0.64 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1778
* feat!: remove hardfork logic by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1707
* feat(tip20): add getPendingRewards view function to query claimable rewards without state change by @fgimenez in https://github.com/tempoxyz/tempo/pull/1632
* fix(precompiles): reject zero public key in ValidatorConfig to prevent non-existent validators by @fgimenez in https://github.com/tempoxyz/tempo/pull/1630
* feat(consensus): backfill missing execution layer blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1781
* perf(orderbook): optimize tick bitmap traversal using word-level bit manipulation by @fgimenez in https://github.com/tempoxyz/tempo/pull/1622
* perf: remove redundant balance read in transfer by @legion2002 in https://github.com/tempoxyz/tempo/pull/1793
* fix(stablecoin-exchange): use consistent rounding for bid order cancel refunds by @fgimenez in https://github.com/tempoxyz/tempo/pull/1795
* fix(specs): update reference implementation of stablecoin DEX by @danrobinson in https://github.com/tempoxyz/tempo/pull/1796
* fix(rpc): mitigate subblock tx DoS via early validator filtering and increased channel capacity by @fgimenez in https://github.com/tempoxyz/tempo/pull/1628
* fix: add pause check to transfer\_fee\_pre\_tx by @legion2002 in https://github.com/tempoxyz/tempo/pull/1799
* fix: validator fee tracking by token by @legion2002 in https://github.com/tempoxyz/tempo/pull/1798
* fix: update auth checks when claiming rewards by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1800
* Bump commonware to d16c7481c72cf6f19b77e1435f1e5dd8e32a1aac by @kamsz in https://github.com/tempoxyz/tempo/pull/1804
* feat: increase min order amount for stable dex orders by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1802
* fix: add revert if policy doesn't exist by @legion2002 in https://github.com/tempoxyz/tempo/pull/1801
* docs: remove outdated pending swaps claim from burn function by @yongkangc in https://github.com/tempoxyz/tempo/pull/1810
* feat: add new MintWithValidatorToken event with  field by @howydev in https://github.com/tempoxyz/tempo/pull/1466
* fix(dex): have flip orders only draw from internal balances by @danrobinson in https://github.com/tempoxyz/tempo/pull/1806
* fix(specs): function to cancel stale order by @danrobinson in https://github.com/tempoxyz/tempo/pull/1794
* fix(executor): propagate fork choice update errors  by @fgimenez in https://github.com/tempoxyz/tempo/pull/1774
* docs(specs): change DEX pair storage layout to be order-sensitive by @danrobinson in https://github.com/tempoxyz/tempo/pull/1791
* fix(specs): check 403 policy on both tokens in stablecoin DEX by @danrobinson in https://github.com/tempoxyz/tempo/pull/1805
* chore: remove compact hack for mainnet by @legion2002 in https://github.com/tempoxyz/tempo/pull/1814
* fix: std `get_validator_token` to return the default token when unset by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1651
* fix: intrinsic gas checks in validator by @legion2002 in https://github.com/tempoxyz/tempo/pull/1666
* fix: incorrect permit2 bytecode by @howydev in https://github.com/tempoxyz/tempo/pull/1789
* chore(audit): misc comments from auditors by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1662
* Add info on supported platforms by @jenpaff in https://github.com/tempoxyz/tempo/pull/1837
* fix(dex): upcast to U256 before mulDiv in base\_to\_quote and quote\_to\_base by @fgimenez in https://github.com/tempoxyz/tempo/pull/1835
* fix: prevent index overflow in `VecHandler` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1631
* fix: ensure mutable TIP20Token calls point to initialized addresses by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1790
* docs(alloy): add tip20 example in crate docs by @onbjerg in https://github.com/tempoxyz/tempo/pull/1830
* fix: monitor pool creation by listening events + use token WL by @fgimenez in https://github.com/tempoxyz/tempo/pull/1820
* fix(dex): round up baseNeeded in exactOut for bids by @danrobinson in https://github.com/tempoxyz/tempo/pull/1823
* use a larger runner for docs generation by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1840
* feat: add re-dkg trigger methods to validator precompile by @joshieDo in https://github.com/tempoxyz/tempo/pull/1680
* feat!(consensus): fast sync by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1822
* feat(consensus): start at the latest finalized height, not at genesis by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1838
* fix: create address calculations + restrictions by @legion2002 in https://github.com/tempoxyz/tempo/pull/1792
* chore: remove TODOs, FIXMEs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1843
* feat: add full dkg mechanism  by @joshieDo in https://github.com/tempoxyz/tempo/pull/1821
* add missing article to tempo txn docs by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1850
* fix(docs): bump viem to 2.43.5 by @struong in https://github.com/tempoxyz/tempo/pull/1849
* feat(xtask): add genesis customization options by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1836
* fix: validate calls inside handler by @legion2002 in https://github.com/tempoxyz/tempo/pull/1845
* fix(revm): don't re-bump nonce on  CREATE revert with 2D nonces by @legion2002 in https://github.com/tempoxyz/tempo/pull/1851
* fix(precompiles-macros): account for last field `SLOTS` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1847
* feat!: change tip20 deployment scheme by @howydev in https://github.com/tempoxyz/tempo/pull/1819
* fix: properly check if an account is cold when loading its info by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1855
* feat(precompiles): impl `Index` and `IndexMut` traits by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1488
* perf(precompiles)!: use efficient packing strategy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1848
* fix: review fixes by @howydev in https://github.com/tempoxyz/tempo/pull/1859
* chore(docs): add AGENTS.md by @struong in https://github.com/tempoxyz/tempo/pull/1852
* feat(xtask): add get-dkg-outcome command by @kuyziss in https://github.com/tempoxyz/tempo/pull/1858
* refactor(consensus): surface the executor actor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1861
* docs: remove deadlink from nav by @malleshpai in https://github.com/tempoxyz/tempo/pull/1863
* fix: update `swap_exact_amount_out` to use saturating sub by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1867
* fix: remove unnecessary checks on `TIPFeeManager.burn()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1871
* fix: update min/max price in spec by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1869
* chore: bump msrv to 1.91 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1877
* docs: tempo.ts/wagmi -> wagmi/tempo by @tmm in https://github.com/tempoxyz/tempo/pull/1873
* feat(specs): remove `FeeSwap` event to align with precompile impl by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1880
* chore(test): add `validator_can_fast_sync_after_full_dkg` test by @joshieDo in https://github.com/tempoxyz/tempo/pull/1883
* ci: use Rust 1.91 in Docker by @shekhirin in https://github.com/tempoxyz/tempo/pull/1885
* docs: restore guide template by @struong in https://github.com/tempoxyz/tempo/pull/1887
* fix: emit event for tip20 default admin role initialization  by @howydev in https://github.com/tempoxyz/tempo/pull/1870
* fix!(precompiles): fix capitalization for pathusd name by @danrobinson in https://github.com/tempoxyz/tempo/pull/1893
* fix(dex): fix stablecoin DEX to round up without adding 1, and revert compensatory fixes by @danrobinson in https://github.com/tempoxyz/tempo/pull/1895
* fix(specs): update `isTIP20()` in `TempoUtils` to match `is_tip20` in precompiles by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1881
* fix(precompiles): remove usd check to align precompile with spec by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1872
* docs(precompiles): remove stale comment in `set_validator_token` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1875
* chore!(consensus): reindex p2p channels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1902
* chore(consensus): use recommended p2p defaults by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1901
* feat!(precompiles): remove `TIPFeeManager.get_fee_token_balance()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1874
* fix(subblock): \[build] drop txs above gas budget to prevent DOS by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1888
* feat(alloy): add runnable examples by @onbjerg in https://github.com/tempoxyz/tempo/pull/1832
* Add Moderato testnet support by @kamsz in https://github.com/tempoxyz/tempo/pull/1876
* feat!(precompiles): add public getters to `ValidatorConfig` precompile to match spec impl by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1878
* chore(feeAMM): align spec with rust implementation, remove unused custom errors by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1904
* chore(precompiles): remove `sqrt` from `FeeAMM.sol` spec, make `sqrt` private test helper, remove unused `SQRT_SCALE` constant by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1879
* chore(consensus): remove unused `--consensus.delete-sigining-share` by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1905
* fix(subblock): \[validation] drop txs above gas budget by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1899
* chore: bump alloy-chains with tempo moderato by @mattsse in https://github.com/tempoxyz/tempo/pull/1906
* feat: add `consensus_` namespace to RPC by @joshieDo in https://github.com/tempoxyz/tempo/pull/1868
* test(e2e): reactivate ignored subblocks test by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1862
* chore(precompiles): match against `SolCall` enum by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1890
* fix(consensus/p2p): enable private ip connections by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1911
* test(specs): always check event emission order regardless of isTempo by @onbjerg in https://github.com/tempoxyz/tempo/pull/1908
* feat: Add info note on fee atomicity by @gorried in https://github.com/tempoxyz/tempo/pull/1897
* chore!(consensus): bump commonware to latest main by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1882
* feat(consensus/p2p): allow switching to local defaults by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1915
* chore: ignore `lru` and `bincode` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1916
* feat!: consolidtate `OrderPlaced`, `FlipOrderPlaced` events by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1910
* chore!: rename stablecoin exchange to stablecoin dex by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1913
* chore(docs): bump vocs to 1.4.1 by @snario in https://github.com/tempoxyz/tempo/pull/1921
* warns ci on unformatted docs by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1922
* fix(spec): update dex reference implementation with escrow rounding up by @danrobinson in https://github.com/tempoxyz/tempo/pull/1903
* feat: add fuzz tests for fee amm + fee manager by @howydev in https://github.com/tempoxyz/tempo/pull/1552
* test(consensus): update `consensus` test coverage by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1894
* test(evm): expand test coverage for `evm` crate by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1892
* chore: fix genesis generation in Justfile and tempo.nu by @shekhirin in https://github.com/tempoxyz/tempo/pull/1931
* fix(feeAMM): handle zero amounts gracefully by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1936
* chore: bump commonware to latest main by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1928
* chore: version to v1.0.0-rc.1 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1939
* fix: initialize allocator by @shekhirin in https://github.com/tempoxyz/tempo/pull/1932
* feat(builder): add RLP block size metrics by @shekhirin in https://github.com/tempoxyz/tempo/pull/1866
* fix(revm)!: multicall gas calc by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1941
* chore(precompiles): add `FixedBytes` storage test by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1943
* fix(specs): update bestBidTick/bestAskTick when cancelling last order at best tick by @onbjerg in https://github.com/tempoxyz/tempo/pull/1934
* moderato docs by @jenpaff in https://github.com/tempoxyz/tempo/pull/1929
* feat(docs): add node versions by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1944
* chore: add `--max-concurrent-requests` flag to `tempo.nu bench` by @shekhirin in https://github.com/tempoxyz/tempo/pull/1942
* fix(docs): use tempoModerato instead of tempoTestnet by @struong in https://github.com/tempoxyz/tempo/pull/1949
* docs: stablecoin dex refs by @jxom in https://github.com/tempoxyz/tempo/pull/1945
* docs: cleaner testnet network upgrade info by @snario in https://github.com/tempoxyz/tempo/pull/1946
* chore(test): Testing coverage for revm handler by @rakita in https://github.com/tempoxyz/tempo/pull/1889
* test(precompiles): increase coverage for TIP20Factory by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1952
* fix(tip20): prevent cycles in quote token updates for `pathUSD` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1950
* test(primitives + payload): increase unit test coverage by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1920
* fix(txpool): respect size limit in get\_pooled\_transaction\_elements for AA2dPool by @mattsse in https://github.com/tempoxyz/tempo/pull/1954
* chore: add fuzz tests & solidity impl for AccountKeychain precompile by @legion2002 in https://github.com/tempoxyz/tempo/pull/1307
* docs: update foundry docs by @grandizzy in https://github.com/tempoxyz/tempo/pull/1955
* feat(chainspec/node): add follow defaults based on chainspec by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1958
* Fix node guide links by @snario in https://github.com/tempoxyz/tempo/pull/1886
* test(precompiles): add coverage for fee AMM and account keychain by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1947
* fix(genesis): make the validator address logic simpler by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1857
* chore(precompiles): add `fn is_initialized` to `StorageContract` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1957
* docs: links to moderato in readme by @snario in https://github.com/tempoxyz/tempo/pull/1963
* chore(docs): bump viem to 2.44.0 by @struong in https://github.com/tempoxyz/tempo/pull/1951
* fix(consensus): exit epochs after DKGs are concluded by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1960
* fix(consensus): prune state segments only after reading them first by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1966
* chore: bump rc to 3 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1968
* test(transaction-pool): improve test quality and coverage by @fgimenez in https://github.com/tempoxyz/tempo/pull/1930
* feat(snapshot): use moderato as default download url by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1969
* fix(docs): bump viem, wagmi to fix sponsored transaction guide by @struong in https://github.com/tempoxyz/tempo/pull/1972
* fix: revert 1950, re-enable snapshot execution tests by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1978
* fix(specs): cache order values before calling `_clearTickBit` by @onbjerg in https://github.com/tempoxyz/tempo/pull/1933
* fix(precompiles): array packing never spans slot boundary by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1964
* fix(tip20): require root tokens quote token to be `address(0)` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1980
* feat(rpc): remove dex\_, policy\_ and amm\_ RPC namespaces by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1991
* fix(rpc): disable local pending block by @mattsse in https://github.com/tempoxyz/tempo/pull/1982
* fix(precompiles): `FromWord` impl for `FixedBytes` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1967
* Move and update spec template from outdated docs repo by @dankrad in https://github.com/tempoxyz/tempo/pull/1912
* fix(revm): ensure that adjusted gas isn't above the gas limit before by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1987
* feat(genesis): add mainnet gas token support by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1988
* fix! : access keys from 7702 delegating accounts by @legion2002 in https://github.com/tempoxyz/tempo/pull/1990
* Revert "fix(revm): ensure that adjusted gas isn't above the gas limit before" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/2001
* feat(chainspec): add T0 hardfork with security fixes by @legion2002 in https://github.com/tempoxyz/tempo/pull/2002
* fix! : apply 1987 fixes with T0 hardfork gating by @legion2002 in https://github.com/tempoxyz/tempo/pull/2008
* chore: 1.0.0-rc.4 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1998
* fix(tempo.nu): ulimit unlimited is a bash-ism by @DaniPopes in https://github.com/tempoxyz/tempo/pull/2016
* chore(e2e): config to timeout and pass restart-after-snapshot test by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2013
* chore: simplify size functions by @DaniPopes in https://github.com/tempoxyz/tempo/pull/1965
* feat(ci): separate test building and running by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2015
* test: stablecoin DEX invariant tests by @grandizzy in https://github.com/tempoxyz/tempo/pull/1924
* fix(payload-builder): align timestamp validation with handler by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2017
* feat: `robots.txt` + gsc by @o-az in https://github.com/tempoxyz/tempo/pull/1919
* chore(primitives): cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2036
* test(primitives): ensure webauthn injection is not possible by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2038
* feat: FeeAMM & FeeManager invariant testing by @zerosnacks in https://github.com/tempoxyz/tempo/pull/2025
* refactor(revm): replace AccessKeyAuthorizationFailed with concrete error types by @rakita in https://github.com/tempoxyz/tempo/pull/2040
* feat(tips): TIP-1000: State Creation Cost Increase by @dankrad in https://github.com/tempoxyz/tempo/pull/2034
* feat(tempo-bench): use Secp256k1Signer for better signing performance by @mattsse in https://github.com/tempoxyz/tempo/pull/2052
* feat(tips): TIP-1003: client order IDs by @danrobinson in https://github.com/tempoxyz/tempo/pull/2023
* feat(tips): TIP-1002: prevent crossed orders by @danrobinson in https://github.com/tempoxyz/tempo/pull/2022
* docs: add TIP-1004 for permit() on TIP-20 by @danrobinson in https://github.com/tempoxyz/tempo/pull/2024
* docs: tweaks by @tmm in https://github.com/tempoxyz/tempo/pull/2019
* feat(tips): TIP-1005: fix ask swap rounding loss by @danrobinson in https://github.com/tempoxyz/tempo/pull/2029
* feat(tips): TIP-1001: place-only mode for next quote token by @danrobinson in https://github.com/tempoxyz/tempo/pull/2021
* docs: add dynamic SEO metadata to all pages by @juandolealt in https://github.com/tempoxyz/tempo/pull/2018
* refactor(executor): remove fill\_holes backfill logic by @joshieDo in https://github.com/tempoxyz/tempo/pull/2056
* chore: rc6 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2059
* chore: pin GitHub Actions to full-length commit SHAs by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2050
* chore(consensus): bump spammy log to trace by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2060
* fix(specs): remove incorrect TEMPO-AMM30 validator reserve assertion by @grandizzy in https://github.com/tempoxyz/tempo/pull/2061
* fix(docs): use checksummed address for Account Keychain precompile by @gakonst in https://github.com/tempoxyz/tempo/pull/2062
* fix(docs): use absolute URLs for og\:image by @gakonst in https://github.com/tempoxyz/tempo/pull/2058
* chore: add unit tests for 2 edge cases by @howydev in https://github.com/tempoxyz/tempo/pull/1994
* fix(precompiles): remove outdated order processing comment by @danrobinson in https://github.com/tempoxyz/tempo/pull/2020
* test(transaction-pool): add unit tests for access key validation by @fgimenez in https://github.com/tempoxyz/tempo/pull/2028
* chore: bump reth to v1.10.0 by @mattsse in https://github.com/tempoxyz/tempo/pull/2051
* refactor(transaction-pool): consolidate tests and remove low-value test coverage by @fgimenez in https://github.com/tempoxyz/tempo/pull/1971
* chore: update gitignore by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2078
* chore: bump commonware to v0.0.65 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2080
* docs: add TIPs overview page by @snario in https://github.com/tempoxyz/tempo/pull/2070
* feat(txpool): add configurable limit for AA authorization list size by @mattsse in https://github.com/tempoxyz/tempo/pull/2009
* feat(tips): TIP-1006: burnAt for TIP-20 tokens by @danrobinson in https://github.com/tempoxyz/tempo/pull/2033
* feat: encode full finalization/notarization in consensus namespace by @gakonst in https://github.com/tempoxyz/tempo/pull/2079
* ci: move flaky test into separate step by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2082
* chore: bump commonware to f966223 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2081
* chore(deny): ignore RUSTSEC-2026-0003 cmov timing advisory (ARM32 not targeted) by @fgimenez in https://github.com/tempoxyz/tempo/pull/2091
* refactor(revm): move 2D nonce gas calculation to intrinsic gas by @rakita in https://github.com/tempoxyz/tempo/pull/2053
* fix(revm): validate TIP20 token before balance lookup to prevent panic by @gakonst in https://github.com/tempoxyz/tempo/pull/2069
* txpool: reduce LAST\_SEEN\_TOKENS\_WINDOW from 100 to 10 by @gakonst in https://github.com/tempoxyz/tempo/pull/2095
* chore: optimize allocation in get\_pooled\_transaction\_elements by pre‑allocating capacity by @0xKarl98 in https://github.com/tempoxyz/tempo/pull/1766
* docs: add TIP-1007 specification for fee token introspection by @gakonst in https://github.com/tempoxyz/tempo/pull/2092
* docs: rename sub-blocks to subblocks by @danrobinson in https://github.com/tempoxyz/tempo/pull/2101
* chore: rc7 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2099
* feat(tempo-bench): add --faucet-url option to max\_tps command by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2104
* feat(cli): implement consensus subcommand as ExtSubCmd by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1839
* docs: add transfer memos guide by @juandolealt in https://github.com/tempoxyz/tempo/pull/1884
* chore(test): Test initial gas for simple tx and batch calls by @rakita in https://github.com/tempoxyz/tempo/pull/1992
* fix!: validate expiry is in the future when authorizing access keys by @legion2002 in https://github.com/tempoxyz/tempo/pull/1956
* fix(consensus): deduplicate metrics by attaching the epoch by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2093
* fix(ci): fix re-execute flaky snapshot download by @kuyziss in https://github.com/tempoxyz/tempo/pull/2084
* docs: add legacy Andantino explorer link to network upgrades page by @gakonst in https://github.com/tempoxyz/tempo/pull/2122
* feat: v1 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2125

## New Contributors

* @akegaviar made their first contribution in https://github.com/tempoxyz/tempo/pull/1584
* @juandolealt made their first contribution in https://github.com/tempoxyz/tempo/pull/1687
* @kamsz made their first contribution in https://github.com/tempoxyz/tempo/pull/1804
* @brendanjryan made their first contribution in https://github.com/tempoxyz/tempo/pull/1840
* @0xKarl98 made their first contribution in https://github.com/tempoxyz/tempo/pull/1766

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.8.1...v1.0.0

## v1.0.0-rc.7 — v1.0.0-rc.7 - Mainnet candidate (2026-01-16)

v1.0.0-rc.7 bumps the upstream Reth version for performance improvements and downgrades a few noisy logging messages to `trace`. This is not an urgent releases for both block producing and RPC nodes.

## What's Changed

* chore(consensus): bump spammy log to trace by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2060
* fix(specs): remove incorrect TEMPO-AMM30 validator reserve assertion by @grandizzy in https://github.com/tempoxyz/tempo/pull/2061
* fix(docs): use checksummed address for Account Keychain precompile by @gakonst in https://github.com/tempoxyz/tempo/pull/2062
* fix(docs): use absolute URLs for og\:image by @gakonst in https://github.com/tempoxyz/tempo/pull/2058
* chore: add unit tests for 2 edge cases by @howydev in https://github.com/tempoxyz/tempo/pull/1994
* fix(precompiles): remove outdated order processing comment by @danrobinson in https://github.com/tempoxyz/tempo/pull/2020
* test(transaction-pool): add unit tests for access key validation by @fgimenez in https://github.com/tempoxyz/tempo/pull/2028
* chore: bump reth to v1.10.0 by @mattsse in https://github.com/tempoxyz/tempo/pull/2051
* refactor(transaction-pool): consolidate tests and remove low-value test coverage by @fgimenez in https://github.com/tempoxyz/tempo/pull/1971
* chore: update gitignore by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2078
* chore: bump commonware to v0.0.65 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2080
* docs: add TIPs overview page by @snario in https://github.com/tempoxyz/tempo/pull/2070
* feat(txpool): add configurable limit for AA authorization list size by @mattsse in https://github.com/tempoxyz/tempo/pull/2009
* feat(tips): TIP-1006: burnAt for TIP-20 tokens by @danrobinson in https://github.com/tempoxyz/tempo/pull/2033
* feat: encode full finalization/notarization in consensus namespace by @gakonst in https://github.com/tempoxyz/tempo/pull/2079
* ci: move flaky test into separate step by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2082
* chore: bump commonware to f966223 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2081
* chore(deny): ignore RUSTSEC-2026-0003 cmov timing advisory (ARM32 not targeted) by @fgimenez in https://github.com/tempoxyz/tempo/pull/2091
* refactor(revm): move 2D nonce gas calculation to intrinsic gas by @rakita in https://github.com/tempoxyz/tempo/pull/2053
* fix(revm): validate TIP20 token before balance lookup to prevent panic by @gakonst in https://github.com/tempoxyz/tempo/pull/2069
* txpool: reduce LAST\_SEEN\_TOKENS\_WINDOW from 100 to 10 by @gakonst in https://github.com/tempoxyz/tempo/pull/2095
* chore: optimize allocation in get\_pooled\_transaction\_elements by pre‑allocating capacity by @0xKarl98 in https://github.com/tempoxyz/tempo/pull/1766
* docs: add TIP-1007 specification for fee token introspection by @gakonst in https://github.com/tempoxyz/tempo/pull/2092
* docs: rename sub-blocks to subblocks by @danrobinson in https://github.com/tempoxyz/tempo/pull/2101
* chore: rc7 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2099

## New Contributors

* @0xKarl98 made their first contribution in https://github.com/tempoxyz/tempo/pull/1766

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.0.0-rc.6...v1.0.0-rc.7

## v1.0.0-rc.6 — v1.0.0-rc.6 - Mainnet candidate (2026-01-14)

## Release v1.0.0-rc.6

`v1.0.0-rc.6` fixes a bug in the syncing process for block producing nodes. We recommend that Moderato block producers upgrade to this release whenever convenient.

## What's Changed

* test(primitives): ensure webauthn injection is not possible by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2038
* feat: FeeAMM & FeeManager invariant testing by @zerosnacks in https://github.com/tempoxyz/tempo/pull/2025
* refactor(revm): replace AccessKeyAuthorizationFailed with concrete error types by @rakita in https://github.com/tempoxyz/tempo/pull/2040
* feat(tips): TIP-1000: State Creation Cost Increase by @dankrad in https://github.com/tempoxyz/tempo/pull/2034
* feat(tempo-bench): use Secp256k1Signer for better signing performance by @mattsse in https://github.com/tempoxyz/tempo/pull/2052
* feat(tips): TIP-1003: client order IDs by @danrobinson in https://github.com/tempoxyz/tempo/pull/2023
* feat(tips): TIP-1002: prevent crossed orders by @danrobinson in https://github.com/tempoxyz/tempo/pull/2022
* docs: add TIP-1004 for permit() on TIP-20 by @danrobinson in https://github.com/tempoxyz/tempo/pull/2024
* docs: tweaks by @tmm in https://github.com/tempoxyz/tempo/pull/2019
* feat(tips): TIP-1005: fix ask swap rounding loss by @danrobinson in https://github.com/tempoxyz/tempo/pull/2029
* feat(tips): TIP-1001: place-only mode for next quote token by @danrobinson in https://github.com/tempoxyz/tempo/pull/2021
* docs: add dynamic SEO metadata to all pages by @juandolealt in https://github.com/tempoxyz/tempo/pull/2018
* refactor(executor): remove fill\_holes backfill logic by @joshieDo in https://github.com/tempoxyz/tempo/pull/2056
* chore: rc6 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2059
* chore: pin GitHub Actions to full-length commit SHAs by @Zygimantass in https://github.com/tempoxyz/tempo/pull/2050

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.0.0-rc.5...v1.0.0-rc.6

## v1.0.0-rc.5 — Release v1.0.0-rc.5 (2026-01-13)

This release is the next candidate for the Moderato and Mainnet networks.

## Highlights

### Fixes

* Payload builder timestamp validation: Aligned timestamp validation logic with the handler to prevent edge-case block rejections (#2017)
* Fixed ulimit unlimited bash-specific behavior in tempo.nu to improve cross-shell support (#2016)
* Fixed webauth signature validation (#2036)

**All RPC nodes operators should update their nodes as soon as possible**

### Improvements

* CI optimization: Separated test building and execution for faster CI feedback (#2015)
* E2E test stability: Configured timeouts and fixed the restart-after-snapshot test (#2013)
* Code cleanup: Simplified size functions (#1965)

## What's Changed

* fix(docs): bump viem, wagmi to fix sponsored transaction guide by @struong in https://github.com/tempoxyz/tempo/pull/1972
* fix: revert 1950, re-enable snapshot execution tests by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1978
* fix(specs): cache order values before calling `_clearTickBit` by @onbjerg in https://github.com/tempoxyz/tempo/pull/1933
* fix(precompiles): array packing never spans slot boundary by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1964
* fix(tip20): require root tokens quote token to be `address(0)` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1980
* feat(rpc): remove dex\_, policy\_ and amm\_ RPC namespaces by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1991
* fix(rpc): disable local pending block by @mattsse in https://github.com/tempoxyz/tempo/pull/1982
* fix(precompiles): `FromWord` impl for `FixedBytes` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1967
* Move and update spec template from outdated docs repo by @dankrad in https://github.com/tempoxyz/tempo/pull/1912
* fix(revm): ensure that adjusted gas isn't above the gas limit before by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1987
* feat(genesis): add mainnet gas token support by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1988
* fix! : access keys from 7702 delegating accounts by @legion2002 in https://github.com/tempoxyz/tempo/pull/1990
* Revert "fix(revm): ensure that adjusted gas isn't above the gas limit before" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/2001
* feat(chainspec): add T0 hardfork with security fixes by @legion2002 in https://github.com/tempoxyz/tempo/pull/2002
* fix! : apply 1987 fixes with T0 hardfork gating by @legion2002 in https://github.com/tempoxyz/tempo/pull/2008
* chore: 1.0.0-rc.4 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1998
* fix(tempo.nu): ulimit unlimited is a bash-ism by @DaniPopes in https://github.com/tempoxyz/tempo/pull/2016
* chore(e2e): config to timeout and pass restart-after-snapshot test by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2013
* chore: simplify size functions by @DaniPopes in https://github.com/tempoxyz/tempo/pull/1965
* feat(ci): separate test building and running by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/2015
* test: stablecoin DEX invariant tests by @grandizzy in https://github.com/tempoxyz/tempo/pull/1924
* fix(payload-builder): align timestamp validation with handler by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2017
* feat: `robots.txt` + gsc by @o-az in https://github.com/tempoxyz/tempo/pull/1919
* chore(primitives): cleanup by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/2036

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.0.0-rc.3...v1.0.0-rc.5

## v1.0.0-rc.3 — v1.0.0-rc.3 - Mainnet release candidate (2026-01-09)

This is another release candidate for the Moderato and Mainnet networks.

It contains bug fixes for:

* double metrics reporting from the consensus engine
* crash on startup when synced from snapshot
* default download URL for downloading snapshots on Moderato

We recommend that node operators and validators upgrade as soon as possible.

## What's Changed

* Fix node guide links by @snario in https://github.com/tempoxyz/tempo/pull/1886
* test(precompiles): add coverage for fee AMM and account keychain by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1947
* fix(genesis): make the validator address logic simpler by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1857
* chore(precompiles): add `fn is_initialized` to `StorageContract` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1957
* docs: links to moderato in readme by @snario in https://github.com/tempoxyz/tempo/pull/1963
* chore(docs): bump viem to 2.44.0 by @struong in https://github.com/tempoxyz/tempo/pull/1951
* fix(consensus): exit epochs after DKGs are concluded by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1960
* fix(consensus): prune state segments only after reading them first by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1966
* chore: bump rc to 3 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1968
* test(transaction-pool): improve test quality and coverage by @fgimenez in https://github.com/tempoxyz/tempo/pull/1930
* feat(snapshot): use moderato as default download url by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1969

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.0.0-rc.2...v1.0.0-rc.3

## v1.0.0-rc.2 — Release v1.0.0-rc.2 (2026-01-09)

This is the third release candidate for Moderato and Mainnet networks.

This release contains a fix that adds the default `--follow` URL depending on the chain you pick. We strongly recommend that node operators who are on the Moderato testnet upgrade as soon as possible.

## What's Changed

* chore(precompiles): add `FixedBytes` storage test by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1943
* fix(specs): update bestBidTick/bestAskTick when cancelling last order at best tick by @onbjerg in https://github.com/tempoxyz/tempo/pull/1934
* moderato docs by @jenpaff in https://github.com/tempoxyz/tempo/pull/1929
* feat(docs): add node versions by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1944
* chore: add `--max-concurrent-requests` flag to `tempo.nu bench` by @shekhirin in https://github.com/tempoxyz/tempo/pull/1942
* fix(docs): use tempoModerato instead of tempoTestnet by @struong in https://github.com/tempoxyz/tempo/pull/1949
* docs: stablecoin dex refs by @jxom in https://github.com/tempoxyz/tempo/pull/1945
* docs: cleaner testnet network upgrade info by @snario in https://github.com/tempoxyz/tempo/pull/1946
* chore(test): Testing coverage for revm handler by @rakita in https://github.com/tempoxyz/tempo/pull/1889
* test(precompiles): increase coverage for TIP20Factory by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1952
* fix(tip20): prevent cycles in quote token updates for `pathUSD` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1950
* test(primitives + payload): increase unit test coverage by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1920
* fix(txpool): respect size limit in get\_pooled\_transaction\_elements for AA2dPool by @mattsse in https://github.com/tempoxyz/tempo/pull/1954
* chore: add fuzz tests & solidity impl for AccountKeychain precompile by @legion2002 in https://github.com/tempoxyz/tempo/pull/1307
* docs: update foundry docs by @grandizzy in https://github.com/tempoxyz/tempo/pull/1955
* feat(chainspec/node): add follow defaults based on chainspec by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1958

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v1.0.0-rc.1...v1.0.0-rc.2

## v1.0.0-rc1 — v1.0.0-rc1 - Mainnet candidate (2026-01-09)

This release launches the Moderato testnet, replacing the original Andantino testnet (will be deprecated March 8th, 2025). Moderato closely mirrors the mainnet release candidate with improved infrastructure and reliability. `v1.0.0-rc.1` comes with major improvements on node operator UX, focuses on stabilization and bug fixes.

## Migration Required

If you were using the Tempo testnet before January 8th, 2025, see the Network Upgrades documentation for migration steps. Update RPC URL to https://rpc.moderato.tempo.xyz and Chain ID to 42431. See [our docs](https://docs.tempo.xyz/network-upgrades) for more detailed information.

**Node operators:** Please note the `--follow` flag currently defaults to the old Andantino RPC. Pass the Moderato URL explicitly until the next release:

```bash
--follow wss://rpc.moderato.tempo.xyz
```

## Breaking Changes

This release removes all previous hardfork logic and updates to the latest commonware version (PR #1928).

* **Consolidated DEX Events:** OrderPlaced and FlipOrderPlaced events are now consolidated into a single OrderPlaced event with isFlipOrder and flipTick fields. For regular orders, isFlipOrder is false and flipTick is 0.

* **Consistent Naming:** Stablecoin Exchange → Stablecoin DEX: All references to "stablecoin exchange" have been renamed to "stablecoin DEX" for consistency.

* **TIP20 Deployment Scheme:** Token addresses now include the deployer in the address calculation, preventing front-running attacks on token deployments (PR #1819).

* **TIPFeeManager API:** Removed get\_fee\_token\_balance() to prevent misleading balance queries. Use balanceOf on the TIP20 token directly (PR #1874).

## Features

This release brings major improvements for node operators and network security. Nodes can now near-instantly start syncing from the network tip (fast sync), dramatically reducing time-to-sync for new or recovering validators. Additionally, the network can now refresh its cryptographic identity when validators change (re-DKG), eliminating historical key material and strengthening security.

* **Fast Sync:** Validators will skip to the network tip without finalizing every block in between if they fell too many epochs behind. Security is maintained by verifying all network identities at epoch boundaries. This works without operator intervention (PR #1822).

* **Snapshot sync:** Validators can now join a network from a snapshot. If a trusted snapshot is provided at startup, the node will read the latest available network identity instead of syncing from genesis (PR #1838).

* **Re-DKG:** added a trigger to the validator-config precompile to generate a new network identity via the DKG mechanism. This invalidates historic threshold key shares and addresses the toxic waste problem (PR #1821, #1680).

* **Consensus RPC:** Added consensus\_ RPC namespace for querying finalization status and subscribing to consensus events (PR #1868).

* **TIP20 Pending Rewards:** Added getPendingRewards view function to query claimable rewards without state change (PR #1632).

* **Stablecoin DEX:** Increased minimum order amount for stablecoin DEX orders (PR #1802).

## Bug Fixes

This release includes security hardening (DOS prevention, gas calculation fixes) and correctness improvements for contract deployments and DEX operations.

* PR #1888+ PR #1899: Drop transactions above gas budget to prevent DOS attacks
* PR #1792: Fixed contract address calculations for CREATE operations; addresses now correctly match receipt contractAddress
* PR #1851: Fixed unnecessary protocol nonce bumping on CREATE revert when using 2D nonces
* PR #1941: Fixed multicall gas calculation in revm handler that was over-refunding gas
* PR #1936: Fixed FeeAMM to handle zero amounts gracefully
* PR #1903: Updated DEX reference implementation to round up escrow amounts
* PR #1932: Fixed allocator initialization

## Full Changelog

* chore: rename bench.nu to tempo.nu by @shekhirin in https://github.com/tempoxyz/tempo/pull/1698
* feat(docs): add validator guide by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1559
* chore(llm): add amp tools for tempo.nu by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1704
* feat(docs): allegro moderato  by @jenpaff in https://github.com/tempoxyz/tempo/pull/1653
* Fix the Artemis Tempo link by @akegaviar in https://github.com/tempoxyz/tempo/pull/1584
* feat: implement PostHog custom event tracking for docs by @juandolealt in https://github.com/tempoxyz/tempo/pull/1687
* chore(deps): run cargo shear by @DaniPopes in https://github.com/tempoxyz/tempo/pull/1691
* feat(xtask): move generate-signing-key to consensus subcmd by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1551
* Add `stable` Docker tag for tag-triggered builds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1737
* fix: propagate features correctly by @klkvr in https://github.com/tempoxyz/tempo/pull/1731
* fix: clean-up 2d nonce pool tracker by @klkvr in https://github.com/tempoxyz/tempo/pull/1738
* chore: add RUSTSEC-2025-0137 to deny.toml by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1745
* feat!(consensus): remove all pre-allegretto logic by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1671
* Partition `cargo hack check` into 2 CI matrix jobs by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1748
* docs: add dRPC in Developer tools by @joshitzko in https://github.com/tempoxyz/tempo/pull/1747
* docs: add theta and path USD to fee token guide by @struong in https://github.com/tempoxyz/tempo/pull/1754
* docs: Tempo Transaction guide in nav by @struong in https://github.com/tempoxyz/tempo/pull/1756
* chore: bump commonware to 4a5fca0 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1678
* fix(stablecoin-exchange): use centralized price conversion functions  by @fgimenez in https://github.com/tempoxyz/tempo/pull/1763
* faucet fix by @malleshpai in https://github.com/tempoxyz/tempo/pull/1771
* fix(docs): correct safe deployer repo by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1728
* fix: catch slot collisions when using `base_slot` attrib by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1777
* fix: support UP/UV validation sigs to always accept UV=1 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1652
* refactor!(consensus): standardize dkg with upstream commonware by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1759
* chore!: bump commonware to v0.0.64 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1778
* feat!: remove hardfork logic by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1707
* feat(tip20): add getPendingRewards view function to query claimable rewards without state change by @fgimenez in https://github.com/tempoxyz/tempo/pull/1632
* fix(precompiles): reject zero public key in ValidatorConfig to prevent non-existent validators by @fgimenez in https://github.com/tempoxyz/tempo/pull/1630
* feat(consensus): backfill missing execution layer blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1781
* perf(orderbook): optimize tick bitmap traversal using word-level bit manipulation by @fgimenez in https://github.com/tempoxyz/tempo/pull/1622
* perf: remove redundant balance read in transfer by @legion2002 in https://github.com/tempoxyz/tempo/pull/1793
* fix(stablecoin-exchange): use consistent rounding for bid order cancel refunds by @fgimenez in https://github.com/tempoxyz/tempo/pull/1795
* fix(specs): update reference implementation of stablecoin DEX by @danrobinson in https://github.com/tempoxyz/tempo/pull/1796
* fix(rpc): mitigate subblock tx DoS via early validator filtering and increased channel capacity by @fgimenez in https://github.com/tempoxyz/tempo/pull/1628
* fix: add pause check to transfer\_fee\_pre\_tx by @legion2002 in https://github.com/tempoxyz/tempo/pull/1799
* fix: validator fee tracking by token by @legion2002 in https://github.com/tempoxyz/tempo/pull/1798
* fix: update auth checks when claiming rewards by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1800
* Bump commonware to d16c7481c72cf6f19b77e1435f1e5dd8e32a1aac by @kamsz in https://github.com/tempoxyz/tempo/pull/1804
* feat: increase min order amount for stable dex orders by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1802
* fix: add revert if policy doesn't exist by @legion2002 in https://github.com/tempoxyz/tempo/pull/1801
* docs: remove outdated pending swaps claim from burn function by @yongkangc in https://github.com/tempoxyz/tempo/pull/1810
* feat: add new MintWithValidatorToken event with  field by @howydev in https://github.com/tempoxyz/tempo/pull/1466
* fix(dex): have flip orders only draw from internal balances by @danrobinson in https://github.com/tempoxyz/tempo/pull/1806
* fix(specs): function to cancel stale order by @danrobinson in https://github.com/tempoxyz/tempo/pull/1794
* fix(executor): propagate fork choice update errors  by @fgimenez in https://github.com/tempoxyz/tempo/pull/1774
* docs(specs): change DEX pair storage layout to be order-sensitive by @danrobinson in https://github.com/tempoxyz/tempo/pull/1791
* fix(specs): check 403 policy on both tokens in stablecoin DEX by @danrobinson in https://github.com/tempoxyz/tempo/pull/1805
* chore: remove compact hack for mainnet by @legion2002 in https://github.com/tempoxyz/tempo/pull/1814
* fix: std `get_validator_token` to return the default token when unset by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1651
* fix: intrinsic gas checks in validator by @legion2002 in https://github.com/tempoxyz/tempo/pull/1666
* fix: incorrect permit2 bytecode by @howydev in https://github.com/tempoxyz/tempo/pull/1789
* chore(audit): misc comments from auditors by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1662
* Add info on supported platforms by @jenpaff in https://github.com/tempoxyz/tempo/pull/1837
* fix(dex): upcast to U256 before mulDiv in base\_to\_quote and quote\_to\_base by @fgimenez in https://github.com/tempoxyz/tempo/pull/1835
* fix: prevent index overflow in `VecHandler` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1631
* fix: ensure mutable TIP20Token calls point to initialized addresses by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1790
* docs(alloy): add tip20 example in crate docs by @onbjerg in https://github.com/tempoxyz/tempo/pull/1830
* fix: monitor pool creation by listening events + use token WL by @fgimenez in https://github.com/tempoxyz/tempo/pull/1820
* fix(dex): round up baseNeeded in exactOut for bids by @danrobinson in https://github.com/tempoxyz/tempo/pull/1823
* use a larger runner for docs generation by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1840
* feat: add re-dkg trigger methods to validator precompile by @joshieDo in https://github.com/tempoxyz/tempo/pull/1680
* feat!(consensus): fast sync by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1822
* feat(consensus): start at the latest finalized height, not at genesis by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1838
* fix: create address calculations + restrictions by @legion2002 in https://github.com/tempoxyz/tempo/pull/1792
* chore: remove TODOs, FIXMEs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1843
* feat: add full dkg mechanism  by @joshieDo in https://github.com/tempoxyz/tempo/pull/1821
* add missing article to tempo txn docs by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1850
* fix(docs): bump viem to 2.43.5 by @struong in https://github.com/tempoxyz/tempo/pull/1849
* feat(xtask): add genesis customization options by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1836
* fix: validate calls inside handler by @legion2002 in https://github.com/tempoxyz/tempo/pull/1845
* fix(revm): don't re-bump nonce on  CREATE revert with 2D nonces by @legion2002 in https://github.com/tempoxyz/tempo/pull/1851
* fix(precompiles-macros): account for last field `SLOTS` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1847
* feat!: change tip20 deployment scheme by @howydev in https://github.com/tempoxyz/tempo/pull/1819
* fix: properly check if an account is cold when loading its info by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1855
* feat(precompiles): impl `Index` and `IndexMut` traits by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1488
* perf(precompiles)!: use efficient packing strategy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1848
* fix: review fixes by @howydev in https://github.com/tempoxyz/tempo/pull/1859
* chore(docs): add AGENTS.md by @struong in https://github.com/tempoxyz/tempo/pull/1852
* feat(xtask): add get-dkg-outcome command by @kuyziss in https://github.com/tempoxyz/tempo/pull/1858
* refactor(consensus): surface the executor actor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1861
* docs: remove deadlink from nav by @malleshpai in https://github.com/tempoxyz/tempo/pull/1863
* fix: update `swap_exact_amount_out` to use saturating sub by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1867
* fix: remove unnecessary checks on `TIPFeeManager.burn()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1871
* fix: update min/max price in spec by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1869
* chore: bump msrv to 1.91 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1877
* docs: tempo.ts/wagmi -> wagmi/tempo by @tmm in https://github.com/tempoxyz/tempo/pull/1873
* feat(specs): remove `FeeSwap` event to align with precompile impl by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1880
* chore(test): add `validator_can_fast_sync_after_full_dkg` test by @joshieDo in https://github.com/tempoxyz/tempo/pull/1883
* ci: use Rust 1.91 in Docker by @shekhirin in https://github.com/tempoxyz/tempo/pull/1885
* docs: restore guide template by @struong in https://github.com/tempoxyz/tempo/pull/1887
* fix: emit event for tip20 default admin role initialization  by @howydev in https://github.com/tempoxyz/tempo/pull/1870
* fix!(precompiles): fix capitalization for pathusd name by @danrobinson in https://github.com/tempoxyz/tempo/pull/1893
* fix(dex): fix stablecoin DEX to round up without adding 1, and revert compensatory fixes by @danrobinson in https://github.com/tempoxyz/tempo/pull/1895
* fix(specs): update `isTIP20()` in `TempoUtils` to match `is_tip20` in precompiles by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1881
* fix(precompiles): remove usd check to align precompile with spec by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1872
* docs(precompiles): remove stale comment in `set_validator_token` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1875
* chore!(consensus): reindex p2p channels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1902
* chore(consensus): use recommended p2p defaults by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1901
* feat!(precompiles): remove `TIPFeeManager.get_fee_token_balance()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1874
* fix(subblock): \[build] drop txs above gas budget to prevent DOS by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1888
* feat(alloy): add runnable examples by @onbjerg in https://github.com/tempoxyz/tempo/pull/1832
* Add Moderato testnet support by @kamsz in https://github.com/tempoxyz/tempo/pull/1876
* feat!(precompiles): add public getters to `ValidatorConfig` precompile to match spec impl by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1878
* chore(feeAMM): align spec with rust implementation, remove unused custom errors by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1904
* chore(precompiles): remove `sqrt` from `FeeAMM.sol` spec, make `sqrt` private test helper, remove unused `SQRT_SCALE` constant by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1879
* chore(consensus): remove unused `--consensus.delete-sigining-share` by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1905
* fix(subblock): \[validation] drop txs above gas budget by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1899
* chore: bump alloy-chains with tempo moderato by @mattsse in https://github.com/tempoxyz/tempo/pull/1906
* feat: add `consensus_` namespace to RPC by @joshieDo in https://github.com/tempoxyz/tempo/pull/1868
* test(e2e): reactivate ignored subblocks test by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1862
* chore(precompiles): match against `SolCall` enum by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1890
* fix(consensus/p2p): enable private ip connections by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1911
* test(specs): always check event emission order regardless of isTempo by @onbjerg in https://github.com/tempoxyz/tempo/pull/1908
* feat: Add info note on fee atomicity by @gorried in https://github.com/tempoxyz/tempo/pull/1897
* chore!(consensus): bump commonware to latest main by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1882
* feat(consensus/p2p): allow switching to local defaults by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1915
* chore: ignore `lru` and `bincode` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1916
* feat!: consolidtate `OrderPlaced`, `FlipOrderPlaced` events by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1910
* chore!: rename stablecoin exchange to stablecoin dex by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1913
* chore(docs): bump vocs to 1.4.1 by @snario in https://github.com/tempoxyz/tempo/pull/1921
* warns ci on unformatted docs by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1922
* fix(spec): update dex reference implementation with escrow rounding up by @danrobinson in https://github.com/tempoxyz/tempo/pull/1903
* feat: add fuzz tests for fee amm + fee manager by @howydev in https://github.com/tempoxyz/tempo/pull/1552
* test(consensus): update `consensus` test coverage by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1894
* test(evm): expand test coverage for `evm` crate by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1892
* chore: fix genesis generation in Justfile and tempo.nu by @shekhirin in https://github.com/tempoxyz/tempo/pull/1931
* fix(feeAMM): handle zero amounts gracefully by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1936
* chore: bump commonware to latest main by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1928

## New Contributors

* @akegaviar made their first contribution in https://github.com/tempoxyz/tempo/pull/1584
* @juandolealt made their first contribution in https://github.com/tempoxyz/tempo/pull/1687
* @kamsz made their first contribution in https://github.com/tempoxyz/tempo/pull/1804
* @brendanjryan made their first contribution in https://github.com/tempoxyz/tempo/pull/1840

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.8.1...v1.0.0-rc1

## v1.0.0-rc.1 — v1.0.0-rc.1 - Mainnet candidate (2026-01-08)

> \[!IMPORTANT]
> **DO NOT** run this binary version on Andantino testnet. This release is meant for the Moderato network, and will corrupt an Andantino node's database.

This is the release for the mainnet candidate and Moderato network. It contains removals of hardforks from the Andantino testnet, includes other security and performance improvements.

## What's Changed

* chore: rename bench.nu to tempo.nu by @shekhirin in https://github.com/tempoxyz/tempo/pull/1698
* feat(docs): add validator guide by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1559
* chore(llm): add amp tools for tempo.nu by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1704
* feat(docs): allegro moderato  by @jenpaff in https://github.com/tempoxyz/tempo/pull/1653
* Fix the Artemis Tempo link by @akegaviar in https://github.com/tempoxyz/tempo/pull/1584
* feat: implement PostHog custom event tracking for docs by @juandolealt in https://github.com/tempoxyz/tempo/pull/1687
* chore(deps): run cargo shear by @DaniPopes in https://github.com/tempoxyz/tempo/pull/1691
* feat(xtask): move generate-signing-key to consensus subcmd by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1551
* Add `stable` Docker tag for tag-triggered builds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1737
* fix: propagate features correctly by @klkvr in https://github.com/tempoxyz/tempo/pull/1731
* fix: clean-up 2d nonce pool tracker by @klkvr in https://github.com/tempoxyz/tempo/pull/1738
* chore: add RUSTSEC-2025-0137 to deny.toml by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1745
* feat!(consensus): remove all pre-allegretto logic by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1671
* Partition `cargo hack check` into 2 CI matrix jobs by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1748
* docs: add dRPC in Developer tools by @joshitzko in https://github.com/tempoxyz/tempo/pull/1747
* docs: add theta and path USD to fee token guide by @struong in https://github.com/tempoxyz/tempo/pull/1754
* docs: Tempo Transaction guide in nav by @struong in https://github.com/tempoxyz/tempo/pull/1756
* chore: bump commonware to 4a5fca0 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1678
* fix(stablecoin-exchange): use centralized price conversion functions  by @fgimenez in https://github.com/tempoxyz/tempo/pull/1763
* faucet fix by @malleshpai in https://github.com/tempoxyz/tempo/pull/1771
* fix(docs): correct safe deployer repo by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1728
* fix: catch slot collisions when using `base_slot` attrib by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1777
* fix: support UP/UV validation sigs to always accept UV=1 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1652
* refactor!(consensus): standardize dkg with upstream commonware by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1759
* chore!: bump commonware to v0.0.64 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1778
* feat!: remove hardfork logic by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1707
* feat(tip20): add getPendingRewards view function to query claimable rewards without state change by @fgimenez in https://github.com/tempoxyz/tempo/pull/1632
* fix(precompiles): reject zero public key in ValidatorConfig to prevent non-existent validators by @fgimenez in https://github.com/tempoxyz/tempo/pull/1630
* feat(consensus): backfill missing execution layer blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1781
* perf(orderbook): optimize tick bitmap traversal using word-level bit manipulation by @fgimenez in https://github.com/tempoxyz/tempo/pull/1622
* perf: remove redundant balance read in transfer by @legion2002 in https://github.com/tempoxyz/tempo/pull/1793
* fix(stablecoin-exchange): use consistent rounding for bid order cancel refunds by @fgimenez in https://github.com/tempoxyz/tempo/pull/1795
* fix(specs): update reference implementation of stablecoin DEX by @danrobinson in https://github.com/tempoxyz/tempo/pull/1796
* fix(rpc): mitigate subblock tx DoS via early validator filtering and increased channel capacity by @fgimenez in https://github.com/tempoxyz/tempo/pull/1628
* fix: add pause check to transfer\_fee\_pre\_tx by @legion2002 in https://github.com/tempoxyz/tempo/pull/1799
* fix: validator fee tracking by token by @legion2002 in https://github.com/tempoxyz/tempo/pull/1798
* fix: update auth checks when claiming rewards by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1800
* Bump commonware to d16c7481c72cf6f19b77e1435f1e5dd8e32a1aac by @kamsz in https://github.com/tempoxyz/tempo/pull/1804
* feat: increase min order amount for stable dex orders by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1802
* fix: add revert if policy doesn't exist by @legion2002 in https://github.com/tempoxyz/tempo/pull/1801
* docs: remove outdated pending swaps claim from burn function by @yongkangc in https://github.com/tempoxyz/tempo/pull/1810
* feat: add new MintWithValidatorToken event with  field by @howydev in https://github.com/tempoxyz/tempo/pull/1466
* fix(dex): have flip orders only draw from internal balances by @danrobinson in https://github.com/tempoxyz/tempo/pull/1806
* fix(specs): function to cancel stale order by @danrobinson in https://github.com/tempoxyz/tempo/pull/1794
* fix(executor): propagate fork choice update errors  by @fgimenez in https://github.com/tempoxyz/tempo/pull/1774
* docs(specs): change DEX pair storage layout to be order-sensitive by @danrobinson in https://github.com/tempoxyz/tempo/pull/1791
* fix(specs): check 403 policy on both tokens in stablecoin DEX by @danrobinson in https://github.com/tempoxyz/tempo/pull/1805
* chore: remove compact hack for mainnet by @legion2002 in https://github.com/tempoxyz/tempo/pull/1814
* fix: std `get_validator_token` to return the default token when unset by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1651
* fix: intrinsic gas checks in validator by @legion2002 in https://github.com/tempoxyz/tempo/pull/1666
* fix: incorrect permit2 bytecode by @howydev in https://github.com/tempoxyz/tempo/pull/1789
* chore(audit): misc comments from auditors by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1662
* Add info on supported platforms by @jenpaff in https://github.com/tempoxyz/tempo/pull/1837
* fix(dex): upcast to U256 before mulDiv in base\_to\_quote and quote\_to\_base by @fgimenez in https://github.com/tempoxyz/tempo/pull/1835
* fix: prevent index overflow in `VecHandler` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1631
* fix: ensure mutable TIP20Token calls point to initialized addresses by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1790
* docs(alloy): add tip20 example in crate docs by @onbjerg in https://github.com/tempoxyz/tempo/pull/1830
* fix: monitor pool creation by listening events + use token WL by @fgimenez in https://github.com/tempoxyz/tempo/pull/1820
* fix(dex): round up baseNeeded in exactOut for bids by @danrobinson in https://github.com/tempoxyz/tempo/pull/1823
* use a larger runner for docs generation by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1840
* feat: add re-dkg trigger methods to validator precompile by @joshieDo in https://github.com/tempoxyz/tempo/pull/1680
* feat!(consensus): fast sync by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1822
* feat(consensus): start at the latest finalized height, not at genesis by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1838
* fix: create address calculations + restrictions by @legion2002 in https://github.com/tempoxyz/tempo/pull/1792
* chore: remove TODOs, FIXMEs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1843
* feat: add full dkg mechanism  by @joshieDo in https://github.com/tempoxyz/tempo/pull/1821
* add missing article to tempo txn docs by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1850
* fix(docs): bump viem to 2.43.5 by @struong in https://github.com/tempoxyz/tempo/pull/1849
* feat(xtask): add genesis customization options by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1836
* fix: validate calls inside handler by @legion2002 in https://github.com/tempoxyz/tempo/pull/1845
* fix(revm): don't re-bump nonce on  CREATE revert with 2D nonces by @legion2002 in https://github.com/tempoxyz/tempo/pull/1851
* fix(precompiles-macros): account for last field `SLOTS` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1847
* feat!: change tip20 deployment scheme by @howydev in https://github.com/tempoxyz/tempo/pull/1819
* fix: properly check if an account is cold when loading its info by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1855
* feat(precompiles): impl `Index` and `IndexMut` traits by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1488
* perf(precompiles)!: use efficient packing strategy by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1848
* fix: review fixes by @howydev in https://github.com/tempoxyz/tempo/pull/1859
* chore(docs): add AGENTS.md by @struong in https://github.com/tempoxyz/tempo/pull/1852
* feat(xtask): add get-dkg-outcome command by @kuyziss in https://github.com/tempoxyz/tempo/pull/1858
* refactor(consensus): surface the executor actor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1861
* docs: remove deadlink from nav by @malleshpai in https://github.com/tempoxyz/tempo/pull/1863
* fix: update `swap_exact_amount_out` to use saturating sub by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1867
* fix: remove unnecessary checks on `TIPFeeManager.burn()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1871
* fix: update min/max price in spec by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1869
* chore: bump msrv to 1.91 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1877
* docs: tempo.ts/wagmi -> wagmi/tempo by @tmm in https://github.com/tempoxyz/tempo/pull/1873
* feat(specs): remove `FeeSwap` event to align with precompile impl by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1880
* chore(test): add `validator_can_fast_sync_after_full_dkg` test by @joshieDo in https://github.com/tempoxyz/tempo/pull/1883
* ci: use Rust 1.91 in Docker by @shekhirin in https://github.com/tempoxyz/tempo/pull/1885
* docs: restore guide template by @struong in https://github.com/tempoxyz/tempo/pull/1887
* fix: emit event for tip20 default admin role initialization  by @howydev in https://github.com/tempoxyz/tempo/pull/1870
* fix!(precompiles): fix capitalization for pathusd name by @danrobinson in https://github.com/tempoxyz/tempo/pull/1893
* fix(dex): fix stablecoin DEX to round up without adding 1, and revert compensatory fixes by @danrobinson in https://github.com/tempoxyz/tempo/pull/1895
* fix(specs): update `isTIP20()` in `TempoUtils` to match `is_tip20` in precompiles by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1881
* fix(precompiles): remove usd check to align precompile with spec by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1872
* docs(precompiles): remove stale comment in `set_validator_token` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1875
* chore!(consensus): reindex p2p channels by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1902
* chore(consensus): use recommended p2p defaults by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1901
* feat!(precompiles): remove `TIPFeeManager.get_fee_token_balance()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1874
* fix(subblock): \[build] drop txs above gas budget to prevent DOS by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1888
* feat(alloy): add runnable examples by @onbjerg in https://github.com/tempoxyz/tempo/pull/1832
* Add Moderato testnet support by @kamsz in https://github.com/tempoxyz/tempo/pull/1876
* feat!(precompiles): add public getters to `ValidatorConfig` precompile to match spec impl by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1878
* chore(feeAMM): align spec with rust implementation, remove unused custom errors by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1904
* chore(precompiles): remove `sqrt` from `FeeAMM.sol` spec, make `sqrt` private test helper, remove unused `SQRT_SCALE` constant by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1879
* chore(consensus): remove unused `--consensus.delete-sigining-share` by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1905
* fix(subblock): \[validation] drop txs above gas budget by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1899
* chore: bump alloy-chains with tempo moderato by @mattsse in https://github.com/tempoxyz/tempo/pull/1906
* feat: add `consensus_` namespace to RPC by @joshieDo in https://github.com/tempoxyz/tempo/pull/1868
* test(e2e): reactivate ignored subblocks test by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1862
* chore(precompiles): match against `SolCall` enum by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1890
* fix(consensus/p2p): enable private ip connections by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1911
* test(specs): always check event emission order regardless of isTempo by @onbjerg in https://github.com/tempoxyz/tempo/pull/1908
* feat: Add info note on fee atomicity by @gorried in https://github.com/tempoxyz/tempo/pull/1897
* chore!(consensus): bump commonware to latest main by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1882
* feat(consensus/p2p): allow switching to local defaults by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1915
* chore: ignore `lru` and `bincode` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1916
* feat!: consolidtate `OrderPlaced`, `FlipOrderPlaced` events by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1910
* chore!: rename stablecoin exchange to stablecoin dex by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1913
* chore(docs): bump vocs to 1.4.1 by @snario in https://github.com/tempoxyz/tempo/pull/1921
* warns ci on unformatted docs by @brendanjryan in https://github.com/tempoxyz/tempo/pull/1922
* fix(spec): update dex reference implementation with escrow rounding up by @danrobinson in https://github.com/tempoxyz/tempo/pull/1903
* feat: add fuzz tests for fee amm + fee manager by @howydev in https://github.com/tempoxyz/tempo/pull/1552
* test(consensus): update `consensus` test coverage by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1894
* test(evm): expand test coverage for `evm` crate by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1892
* chore: fix genesis generation in Justfile and tempo.nu by @shekhirin in https://github.com/tempoxyz/tempo/pull/1931
* fix(feeAMM): handle zero amounts gracefully by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1936
* chore: bump commonware to latest main by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1928
* chore: version to v1.0.0-rc.1 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1939
* fix: initialize allocator by @shekhirin in https://github.com/tempoxyz/tempo/pull/1932
* feat(builder): add RLP block size metrics by @shekhirin in https://github.com/tempoxyz/tempo/pull/1866
* fix(revm)!: multicall gas calc by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1941

## New Contributors

* @akegaviar made their first contribution in https://github.com/tempoxyz/tempo/pull/1584
* @juandolealt made their first contribution in https://github.com/tempoxyz/tempo/pull/1687
* @kamsz made their first contribution in https://github.com/tempoxyz/tempo/pull/1804
* @brendanjryan made their first contribution in https://github.com/tempoxyz/tempo/pull/1840

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.8.1...v1.0.0-rc.1

## v0.8.1 — Release v0.8.1 (2025-12-22)

## What's Changed

This release primarily contains fixes for various RPC endpoints

* chore: serialize `chainId` and `expiry` as hex in eth\_estimateGas by @legion2002 in https://github.com/tempoxyz/tempo/pull/1683
* fix: fill correct 2d nonce in `eth_fillTransaction` by @klkvr in https://github.com/tempoxyz/tempo/pull/1684
* fix: swap fillers by @klkvr in https://github.com/tempoxyz/tempo/pull/1699
* fix: correctly estimate 2d nonce gas by @klkvr in https://github.com/tempoxyz/tempo/pull/1700

All RPC nodes operators are encouraged to update their nodes as soon as possble

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.8.0...v0.8.1

## v0.8.0 — v0.8.0: Allegro Moderato scheduled for Dec 22nd (2025-12-22)

> \[!IMPORTANT]
> **This release is required for the Allegro Moderato hardfork scheduled for Dec 22nd 4pm CET.**. We ask node operators to upgrade to this release to follow the hard fork. This hardfork focus is on security and simplifications from our recent audits and internal reviews in the road to mainnet.

This release includes a [Reth upgrade](https://github.com/paradigmxyz/reth/releases/tag/untagged-e558a55ab46e0d26f90a) with improved performance.

The Allegro Moderato hardfork is primarily focused on removing system transactions and moving to immediate execution for both fee swaps and stablecoin DEX orders. This simplifies the architecture and improves efficiency. There are also important security fixes around spending limits and TIP20 validation. See all changes labelled [F-allegro-moderato](https://github.com/tempoxyz/tempo/pulls?q=is%3Aopen+is%3Apr+label%3AF-allegro-moderato)

Here's what's coming in this hardfork:

## Architectural changes

[Immediate Fee Swaps](https://github.com/tempoxyz/tempo/pull/1537) : Removes the end-of-block fee manager system transaction. Fee swaps now execute immediately during transaction execution, with fees accumulating in the FeeManager. Validators claim accumulated fees on-demand via `distributeFees()`. FeeSwap events are not emitted for immediate swaps.

[Immediate Stablecoin DEX Orders](https://github.com/tempoxyz/tempo/pull/1509): Orders are added to the active book immediately when `place()` or `place_flip()` is called, removing the need for the stablecoin DEX system transaction.

## Fixes

[Spending Limits Enforcement](https://github.com/tempoxyz/tempo/pull/1558) : Fixed spending limits to only apply to `tx.origin` spends, not contract transfers. This prevents failures when an EOA with access keys calls a contract that transfers tokens. Uses transient storage to pass `tx.origin` to precompiles.

[TIP20 Fee Application Scope](https://github.com/tempoxyz/tempo/pull/1337): Limited which TIP20 functions trigger fee rules.

[TIP20 Token Validation](https://github.com/tempoxyz/tempo/pull/1250): Validates `is_tip20` in `from_address` post-hardfork to ensure only valid TIP20 tokens are used.

[Fix `setFeeToken` to allow PathUSD](https://github.com/tempoxyz/tempo/pull/1208): Fixed the `setFeeToken()` function on the TIPFeeManager to allow PathUSD to be set as the fee token.

Gas schedule updates
[Gas Schedule & Nonces](https://github.com/tempoxyz/tempo/pull/1442): Fixed 2D nonce gas schedule
[Access Keys](https://github.com/tempoxyz/tempo/pull/1413) : Added gas schedule for access keys

## What's Changed

* feat: add local benchmarking setup with nushell script by @shekhirin in https://github.com/tempoxyz/tempo/pull/1502
* fix: expect errors in snippet by @struong in https://github.com/tempoxyz/tempo/pull/1524
* feat: --delete-signing-share to delete signing share on startup by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1527
* Update favicon, og-image by @achalvs in https://github.com/tempoxyz/tempo/pull/1382
* feat(builder): instrumented state provider by @shekhirin in https://github.com/tempoxyz/tempo/pull/1483
* chore: add fallback favicon by @o-az in https://github.com/tempoxyz/tempo/pull/1531
* fix: disallow precompile static calls by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1517
* feat: add `nonce` management guide by @gorried in https://github.com/tempoxyz/tempo/pull/1526
* fix(bench): bench.nu samply and node args escaping by @shekhirin in https://github.com/tempoxyz/tempo/pull/1529
* feat(cli): `--builder.disable-state-cache` by @shekhirin in https://github.com/tempoxyz/tempo/pull/1532
* ci: use all cores for snapshot re-execution by @shekhirin in https://github.com/tempoxyz/tempo/pull/1475
* feat: add `MetadataDatabase` by @joshieDo in https://github.com/tempoxyz/tempo/pull/1029
* fix: precompile CI by @legion2002 in https://github.com/tempoxyz/tempo/pull/1543
* chore: Cargo.toml patch reth deps, bench.nu debug profile  by @shekhirin in https://github.com/tempoxyz/tempo/pull/1545
* fix: make cursor work properly when query spans more than one orderbook by @Rjected in https://github.com/tempoxyz/tempo/pull/1223
* chore(storage): no need to load account for tload/tstore by @rakita in https://github.com/tempoxyz/tempo/pull/1467
* docs: filter out unsupported injected wallets by @struong in https://github.com/tempoxyz/tempo/pull/1538
* fix(precompiles): enforce TIP20 blacklist on internal balance operations in StablecoinExchange by @fgimenez in https://github.com/tempoxyz/tempo/pull/1289
* docs: point to Privy example by @struong in https://github.com/tempoxyz/tempo/pull/1560
* chore: trim dependencies by @klkvr in https://github.com/tempoxyz/tempo/pull/1547
* chore: introduce `reth` feature for `tempo-primitives` by @klkvr in https://github.com/tempoxyz/tempo/pull/1562
* feat(consensus): finalize DKG speculatively by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1477
* feat(precompiles): remove stablecoin dex system tx by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1509
* feat(fee-manager): remove fee manager system tx by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1537
* test: fix flaky `payment_lane_with_mixed_load` test by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1621
* perf(stablecoin-exchange): optimize LCA computation for multihop routing by @fgimenez in https://github.com/tempoxyz/tempo/pull/1618
* feat: add `ReadOnlyStorageProvider` to use precompiles anywhere by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1546
* fix(docs): modify cargo install dir by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1389
* chore(consensus): everything is private unless it needs to be public by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1633
* fix(precompiles): spending limits enforcement only for tx.origin spends by @legion2002 in https://github.com/tempoxyz/tempo/pull/1565
* fix: add spending limit checks by @legion2002 in https://github.com/tempoxyz/tempo/pull/1558
* fix(precompiles): prevent TIP20 transfers to zero addr by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1616
* fix: multicall3 error, and add sync tests against ethereum mainnet by @legion2002 in https://github.com/tempoxyz/tempo/pull/1629
* docs: For Wallet Developers guide by @struong in https://github.com/tempoxyz/tempo/pull/1624
* chore(cli): add default allegretto\_time to generate-genesis by @Rjected in https://github.com/tempoxyz/tempo/pull/1536
* fix(precompiles): limit functions that TIP20 fees apply to by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1549
* ci: pin solc v0.8.30 by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1639
* feat: add gas schedule for access keys  by @legion2002 in https://github.com/tempoxyz/tempo/pull/1413
* fix(precompiles): update `changeTransferPolicyId()` to validate policy existence by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1627
* deps: bump reth to 1.10.0-rc.2 by @mattsse in https://github.com/tempoxyz/tempo/pull/1535
* chore: bump vocs to 1.4.0 by @struong in https://github.com/tempoxyz/tempo/pull/1646
* ci: unpin solc version now that patch has been released by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1647
* chore(hardfork): add allegro moderato harfork time and bump package by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1649
* fix(test): add am hardfork to pregenerated genesis by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1664
* fix(stablecoin-exchange): consolidate rounding with explicit direction to favor protocol by @fgimenez in https://github.com/tempoxyz/tempo/pull/1583
* fix(revm): validate validator fee token preference to prevent user DoS by @fgimenez in https://github.com/tempoxyz/tempo/pull/1615
* test: prove storage layout slot allocation fix by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1654
* feat: refactor env variables to support devnet by @gorried in https://github.com/tempoxyz/tempo/pull/1673
* fix: ensure compiler errors when multi-slot types overflow in slot alloc by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1634
* fix: devnet wagmi config by @bpierre in https://github.com/tempoxyz/tempo/pull/1676
* docs: tabulate faucet options by @struong in https://github.com/tempoxyz/tempo/pull/1677

## New Contributors

* @achalvs made their first contribution in https://github.com/tempoxyz/tempo/pull/1382

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.7.5...v0.8.0

## v0.7.5 — Release v0.7.5 (2025-12-15)

The v0.7.5 release is non-state breaking. It contains performance and security improvements, and as such is recommended to upgrade to for node operators.

## What's Changed

* perf: avoid cloning txs vec by @klkvr in https://github.com/tempoxyz/tempo/pull/1451
* feat: pyroscope by @shekhirin in https://github.com/tempoxyz/tempo/pull/1454
* feat(precompiles)!: migrate to new API by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1177
* perf(pool): prepare `TempoTxEnv` on validation by @shekhirin in https://github.com/tempoxyz/tempo/pull/1461
* fix: address connector overflow by @struong in https://github.com/tempoxyz/tempo/pull/1460
* fix: validate deployed TIP20 tokens in tip\_fee\_manager and fix factory test by @fgimenez in https://github.com/tempoxyz/tempo/pull/1375
* fix(precompiles): check OOB in `Vec<T>::at(index)` by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1469
* perf: use clone into by @mattsse in https://github.com/tempoxyz/tempo/pull/1470
* fix: use address for keyId in keychain events by @klkvr in https://github.com/tempoxyz/tempo/pull/1416
* fix: use correct createX deployed bytecode by @howydev in https://github.com/tempoxyz/tempo/pull/1271
* feat(builder): normal/subblock transactions metrics by @shekhirin in https://github.com/tempoxyz/tempo/pull/1452
* fix: derive abi for `IAccountKeychain` by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1476
* fix: reorder transfer events for mint/burn with memo by @howydev in https://github.com/tempoxyz/tempo/pull/1479
* chore: update default genesis generator gas limit to 500mgas by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1480
* feat(tempo-bench): change default TIP-20 transfer weight to 1 by @shekhirin in https://github.com/tempoxyz/tempo/pull/1486
* chore: remove 4844 pool boilerplate by @mattsse in https://github.com/tempoxyz/tempo/pull/1500
* fix: P256 high s check by @legion2002 in https://github.com/tempoxyz/tempo/pull/1510
* perf: use secp256k1 for recovery by @mattsse in https://github.com/tempoxyz/tempo/pull/1484
* fix(consensus): DKGs with failed shares are still successful, on-chain DKG is source of truth by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1512
* fix(stablecoin-dex): propagate underflow/overflow errors by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1515

## New Contributors

* @0x00101010 made their first contribution in https://github.com/tempoxyz/tempo/pull/1450

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.7.4...v0.7.5

## v0.7.4 (2025-12-11)

This is a patch release for the Tempo node and it contains a patch for `trace_block` and `trace_transaction` RPC calls for certain blocks containing a system transaction.

## What's Changed

* chore(docs): improve README by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1318
* chore: enable the rewards guide in the sidebar by @gorried in https://github.com/tempoxyz/tempo/pull/1320
* docs: remove auth by @jxom in https://github.com/tempoxyz/tempo/pull/1285
* fix(`docs`): update outdated description of `TempoTransaction` on protocol page by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1323
* chore: update tempo.ts -> v0.10.2 by @gorried in https://github.com/tempoxyz/tempo/pull/1322
* perf: cache 2d nonce slot by @klkvr in https://github.com/tempoxyz/tempo/pull/1325
* docs: protocol paths; clean sidebar by @jxom in https://github.com/tempoxyz/tempo/pull/1324
* fix(docs): add stablecoin exchange case to fee waterfall by @danrobinson in https://github.com/tempoxyz/tempo/pull/1321
* Mmp/predeployed by @malleshpai in https://github.com/tempoxyz/tempo/pull/1317
* feat: add fee token selector card with receipt link by @gakonst in https://github.com/tempoxyz/tempo/pull/1319
* chore: fix deadlinks by @gorried in https://github.com/tempoxyz/tempo/pull/1335
* chore: rename Stablecoin Exchange to Stablecoin DEX in docs by @danrobinson in https://github.com/tempoxyz/tempo/pull/1328
* chore: some changes to wording by @danrobinson in https://github.com/tempoxyz/tempo/pull/1330
* Docs: Add tooling to generate better TypeScript SDK documentation by @gorried in https://github.com/tempoxyz/tempo/pull/1334
* feat: add feeamm tests by @howydev in https://github.com/tempoxyz/tempo/pull/1292
* docs: viem `Account` docs by @jxom in https://github.com/tempoxyz/tempo/pull/1339
* docs: cleaner user journey by @malleshpai in https://github.com/tempoxyz/tempo/pull/1336
* docs: point to upstream foundryup by @onbjerg in https://github.com/tempoxyz/tempo/pull/1341
* ci: deploy docs on merge by @mattsse in https://github.com/tempoxyz/tempo/pull/1296
* feat(consenus): don't eagerly canonicalize just-proposed blocks by @klkvr in https://github.com/tempoxyz/tempo/pull/1279
* deps: bump reth by @shekhirin in https://github.com/tempoxyz/tempo/pull/1348
* Update tempoup for public repo by @jenpaff in https://github.com/tempoxyz/tempo/pull/1347
* chore: fix CI checks by @bpierre in https://github.com/tempoxyz/tempo/pull/1345
* feat(tempo-bench): disable 1D nonces via cli arg by @shekhirin in https://github.com/tempoxyz/tempo/pull/1344
* fix(docs): change go get command by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1350
* fix(docs): use enablement by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1349
* fix(docs): remove rpc auth by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1351
* Support -i for install, return clear error when release version not found by @jenpaff in https://github.com/tempoxyz/tempo/pull/1354
* perf(pool): update 2D pool metrics only on state updates by @shekhirin in https://github.com/tempoxyz/tempo/pull/1355
* docs: add reference to reserved nonce keys by @joshieDo in https://github.com/tempoxyz/tempo/pull/1352
* docs: update foundry usage - add rpc url & wallet limitation by @grandizzy in https://github.com/tempoxyz/tempo/pull/1342
* docs: mention tempoup by @onbjerg in https://github.com/tempoxyz/tempo/pull/1358
* docs: cast https by @shekhirin in https://github.com/tempoxyz/tempo/pull/1360
* fix: validate 32byte memo by @struong in https://github.com/tempoxyz/tempo/pull/1362
* remove pics by @malleshpai in https://github.com/tempoxyz/tempo/pull/1359
* Fix IndexSupply cursor to point at tempo testnet by @gorried in https://github.com/tempoxyz/tempo/pull/1363
* Fixes faucet demo by @gorried in https://github.com/tempoxyz/tempo/pull/1366
* docs: fix old links by @shekhirin in https://github.com/tempoxyz/tempo/pull/1365
* docs: fix faucet link in accounts by @shekhirin in https://github.com/tempoxyz/tempo/pull/1368
* fix(xtask): initialize contracts with timestamp 0 by @klkvr in https://github.com/tempoxyz/tempo/pull/1356
* feat(docs): change explorer by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1370
* fix: change quickstart faucet demo by @gorried in https://github.com/tempoxyz/tempo/pull/1369
* fix: batch calls how it works section by @legion2002 in https://github.com/tempoxyz/tempo/pull/1364
* Remove private payments stub by @dankrad in https://github.com/tempoxyz/tempo/pull/1371
* Remove another stub and links by @dankrad in https://github.com/tempoxyz/tempo/pull/1372
* docs: update Privy copy by @struong in https://github.com/tempoxyz/tempo/pull/1374
* docs: nil is None in Rust by @DaniPopes in https://github.com/tempoxyz/tempo/pull/1377
* fix: external wallet connection demos, funding, and quickstart by @gorried in https://github.com/tempoxyz/tempo/pull/1376
* docs: point to tkhq/sdk/examples/with-tempo by @struong in https://github.com/tempoxyz/tempo/pull/1378
* chore(ci): enable merge\_group setting on CI by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1380
* feat: Add parallel support for browser wallets and passkey wallets in demos by @gorried in https://github.com/tempoxyz/tempo/pull/1384
* feat: add demo step for adding tokens to wallet by @gorried in https://github.com/tempoxyz/tempo/pull/1386
* docs(faucet): default alphausd by @tmm in https://github.com/tempoxyz/tempo/pull/1387
* fix(e2e): ensure write transaction finishes before exiting `TestingNode::stop_execution` by @joshieDo in https://github.com/tempoxyz/tempo/pull/1385
* Delete .DS\_Store by @ControlCplusControlV in https://github.com/tempoxyz/tempo/pull/1392
* chore: make fuzz CI optional by @legion2002 in https://github.com/tempoxyz/tempo/pull/1263
* fix(docs): updates to account  by @danrobinson in https://github.com/tempoxyz/tempo/pull/1361
* fix(docs): reword to reframe references to account abstraction by @danrobinson in https://github.com/tempoxyz/tempo/pull/1397
* chore: add tip20 roles tests by @howydev in https://github.com/tempoxyz/tempo/pull/1402
* fix: remove coowner of docs folder by @danrobinson in https://github.com/tempoxyz/tempo/pull/1401
* perf: avoid recreating a state provider during validation by @klkvr in https://github.com/tempoxyz/tempo/pull/1326
* fix(`compatibility`): repo clone fails on Windows because of invalid filename: `gen:specs.ts` by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1405
* fix: send proposal parent via a newPayload by @klkvr in https://github.com/tempoxyz/tempo/pull/1410
* feat(consensus): active dynamic validators at allegretto-time=0 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1249
* chore: fix flake.nix by @shekhirin in https://github.com/tempoxyz/tempo/pull/1390
* docs: updated Conduit, Quicknode and Range by @joshitzko in https://github.com/tempoxyz/tempo/pull/1391
* chore: upgrade docs `tempo.ts` to 0.10.5 by @gorried in https://github.com/tempoxyz/tempo/pull/1421
* docs: add `nonce` docs by @gorried in https://github.com/tempoxyz/tempo/pull/1423
* docs: fix duplicate account param in viem and wagmi actions by @gorried in https://github.com/tempoxyz/tempo/pull/1425
* chore: Justfile localnet genesis path by @shekhirin in https://github.com/tempoxyz/tempo/pull/1430
* chore: bump vocs by @tmm in https://github.com/tempoxyz/tempo/pull/1437
* feat(tempo-bench): ERC-20 tokens by @shekhirin in https://github.com/tempoxyz/tempo/pull/1432
* fix: set system tx gas for `inspect_one_system_call_with_caller` by @klkvr in https://github.com/tempoxyz/tempo/pull/1441
* chore: 0.7.4 tag by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1443

## New Contributors

* @bpierre made their first contribution in https://github.com/tempoxyz/tempo/pull/1345
* @grandizzy made their first contribution in https://github.com/tempoxyz/tempo/pull/1342
* @dankrad made their first contribution in https://github.com/tempoxyz/tempo/pull/1371
* @ControlCplusControlV made their first contribution in https://github.com/tempoxyz/tempo/pull/1392
* @joshitzko made their first contribution in https://github.com/tempoxyz/tempo/pull/1391

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.7.3...v0.7.4

## v0.7.3 — v0.7.3 - Public testnet launch (2025-12-09)

## What's Changed

* fix: update size fn for tempo transaction by @legion2002 in https://github.com/tempoxyz/tempo/pull/1298
* chore: allow skips in test-success by @gorried in https://github.com/tempoxyz/tempo/pull/1282
* chore: remove paths-ignore in test workflow by @gorried in https://github.com/tempoxyz/tempo/pull/1314
* chore: re-add `reward` and `fund` ts sdk entries by @gorried in https://github.com/tempoxyz/tempo/pull/1283
* chore(evm): add ExecutionResult to SystemTransactionFailed error by @Rjected in https://github.com/tempoxyz/tempo/pull/1241
* edits, links by @malleshpai in https://github.com/tempoxyz/tempo/pull/1284
* fix: topNav active link by @tmm in https://github.com/tempoxyz/tempo/pull/1305
* fix: skip 2d nonce filling for zero nonce key by @mattsse in https://github.com/tempoxyz/tempo/pull/1315
* docs: add block explorer to wallet add dialog by @snario in https://github.com/tempoxyz/tempo/pull/1311
* fix: bug where wallet UI doesn't show on connection-details page by @snario in https://github.com/tempoxyz/tempo/pull/1312
* docs: add ability to add testnet tokens with a button by @snario in https://github.com/tempoxyz/tempo/pull/1313
* chore: bump docs install to 0.7.2 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1308
* docs: add introductory text for what tempo is by @snario in https://github.com/tempoxyz/tempo/pull/1303
* chore: small docs fixes by @klkvr in https://github.com/tempoxyz/tempo/pull/1310
* chore: bump to 0.7.3 by @klkvr in https://github.com/tempoxyz/tempo/pull/1316

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.7.2...v0.7.3

## v0.7.2 — v0.7.2 - Public testnet launch (2025-12-08)

## What's Changed

* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/1170
* fix: await FCU on proposal by @klkvr in https://github.com/tempoxyz/tempo/pull/1181
* refactor: convert free functions to TempoTypedTransaction methods by @mattsse in https://github.com/tempoxyz/tempo/pull/1187
* feat(xtask): add subcmd to generate signing keys by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1180
* Revert "refactor(tempo-bench): remove filler generic and introduce BenchProvider (#1172)" by @shekhirin in https://github.com/tempoxyz/tempo/pull/1188
* feat(builder): gas used and gas/s metrics by @shekhirin in https://github.com/tempoxyz/tempo/pull/1190
* fix(tempo-bench): limit receipts retrieval concurrency by @shekhirin in https://github.com/tempoxyz/tempo/pull/1189
* feat(builder): block time metric by @shekhirin in https://github.com/tempoxyz/tempo/pull/1192
* ci: tag nightly manually via workflow input by @shekhirin in https://github.com/tempoxyz/tempo/pull/1197
* fix(builder): gas per second metric division by @shekhirin in https://github.com/tempoxyz/tempo/pull/1198
* fix: maintain the right pool by @klkvr in https://github.com/tempoxyz/tempo/pull/1199
* ci: default nightly attribute value by @shekhirin in https://github.com/tempoxyz/tempo/pull/1200
* feat(chainspec): add AllegroModerato hardfork by @fgimenez in https://github.com/tempoxyz/tempo/pull/1193
* chore(alloy): move crate docs into readme file by @onbjerg in https://github.com/tempoxyz/tempo/pull/1204
* feat(builder): gauge metrics, less verbose payload built log by @shekhirin in https://github.com/tempoxyz/tempo/pull/1201
* feat: `admin_validatorKey` by @klkvr in https://github.com/tempoxyz/tempo/pull/1205
* chore: migrate allegretto docs to tempo repo by @legion2002 in https://github.com/tempoxyz/tempo/pull/1209
* ci: remove bench workflows by @shekhirin in https://github.com/tempoxyz/tempo/pull/1194
* chore: add Nix flake by @shekhirin in https://github.com/tempoxyz/tempo/pull/1206
* chore: add test for subblock transactions failing to pay fees by @klkvr in https://github.com/tempoxyz/tempo/pull/1164
* feat: add tempoup installer script by @jenpaff in https://github.com/tempoxyz/tempo/pull/889
* chore: update docs `tempo.ts` -> v0.8.3 by @gorried in https://github.com/tempoxyz/tempo/pull/1212
* fix(fee-manager): fix `set_fee_token` post moderato by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1208
* fix: point docs at testnet, not devnet by @gorried in https://github.com/tempoxyz/tempo/pull/1215
* chore(docs): remove nested `docs/.github` by @struong in https://github.com/tempoxyz/tempo/pull/1214
* fix(docs): correct tip20\_factory initialize description to reflect actual bahavior by @fgimenez in https://github.com/tempoxyz/tempo/pull/1210
* Rename TxAA & references to TempoTransaction by @snario in https://github.com/tempoxyz/tempo/pull/1171
* refactor: support protocol nonces in 2d pool by @klkvr in https://github.com/tempoxyz/tempo/pull/1218
* feat: camelCase aaAuthList by @jxom in https://github.com/tempoxyz/tempo/pull/1224
* feat: camelCase aaAuthList by @jxom in https://github.com/tempoxyz/tempo/pull/1227
* feat: add guide for rewards by @gorried in https://github.com/tempoxyz/tempo/pull/1231
* fix!(stablecoin-exchange): set balance after `transfer_from` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1182
* chore: remove unused file by @o-az in https://github.com/tempoxyz/tempo/pull/1216
* deps: bump reth by @shekhirin in https://github.com/tempoxyz/tempo/pull/1247
* chore: add tempo-forge script to easily run fuzz tests by @legion2002 in https://github.com/tempoxyz/tempo/pull/1244
* feat: add reward docs to tempo sdk, and claude skill for syncing docs changes by @gorried in https://github.com/tempoxyz/tempo/pull/1255
* feat: `.gitattributes` by @o-az in https://github.com/tempoxyz/tempo/pull/1243
* feat: showcase relayer sponsor in guide by @struong in https://github.com/tempoxyz/tempo/pull/1219
* fix(faucet): use mint instead of transfer by @Rjected in https://github.com/tempoxyz/tempo/pull/1233
* fix(tip20-factory): check tokenIdCounter in isTIP20 by @fgimenez in https://github.com/tempoxyz/tempo/pull/1234
* chore: make cargo hack pass by @mattsse in https://github.com/tempoxyz/tempo/pull/1253
* fix: update Abis import snippet by @struong in https://github.com/tempoxyz/tempo/pull/1242
* feat: add sync docs claude command by @gorried in https://github.com/tempoxyz/tempo/pull/1259
* fix(tip20): skip quote token currency check for zero quote token post-AllegroModerato by @fgimenez in https://github.com/tempoxyz/tempo/pull/1246
* feat: tempo-foundry CI by @legion2002 in https://github.com/tempoxyz/tempo/pull/1217
* feat: improve `sync-tempo-ts-docs` claude command by @gorried in https://github.com/tempoxyz/tempo/pull/1262
* chore: guides and demos style cleanup by @gorried in https://github.com/tempoxyz/tempo/pull/1265
* ci: ignore tests for docs changes by @tmm in https://github.com/tempoxyz/tempo/pull/1268
* docs: landing page alignment by @snario in https://github.com/tempoxyz/tempo/pull/1264
* chore: remove unused error by @howydev in https://github.com/tempoxyz/tempo/pull/1266
* docs: add sections correctly by @snario in https://github.com/tempoxyz/tempo/pull/1272
* feat(bin): default txpool args by @shekhirin in https://github.com/tempoxyz/tempo/pull/1252
* feat(tip20): validate is\_tip20 in from\_address post-AllegroModerato by @fgimenez in https://github.com/tempoxyz/tempo/pull/1250
* chore(e2e): use `TestingNode` instead by @joshieDo in https://github.com/tempoxyz/tempo/pull/936
* feat: add eth config support by @mattsse in https://github.com/tempoxyz/tempo/pull/1202
* feat(ci): optimize builds by adding a bake file by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1261
* chore: update security in readme by @samczsun in https://github.com/tempoxyz/tempo/pull/1260
* feat: serialize `keyId` for keychain signatures by @klkvr in https://github.com/tempoxyz/tempo/pull/1275
* ci(pull\_request): ignore tests for docs changes by @tmm in https://github.com/tempoxyz/tempo/pull/1270
* test: update default `TempoHardfork` and patch tests by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1273
* feat(faucet): use random 2d nonce filler in faucet by @Rjected in https://github.com/tempoxyz/tempo/pull/1232
* fix: support foundry usage patterns with a hack by @klkvr in https://github.com/tempoxyz/tempo/pull/1245
* docs(tempo-bench): update help doc, add --faucet to quick start by @Rjected in https://github.com/tempoxyz/tempo/pull/1240
* fix: update `reserve_liquidity` calculation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1277
* fix: propagate `nonce_key` from `TempoTransactionRequest` to `TempoTxEnv` by @klkvr in https://github.com/tempoxyz/tempo/pull/1299
* perf: parallelize recovery by @shekhirin in https://github.com/tempoxyz/tempo/pull/1300
* chore: bump alloy-chains by @mattsse in https://github.com/tempoxyz/tempo/pull/1302
* fix: set 2d nonces on estimateGas by @klkvr in https://github.com/tempoxyz/tempo/pull/1304
* chore: launch prep, bump to 0.7.2 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1294

## New Contributors

* @jenpaff made their first contribution in https://github.com/tempoxyz/tempo/pull/889
* @struong made their first contribution in https://github.com/tempoxyz/tempo/pull/1214
* @snario made their first contribution in https://github.com/tempoxyz/tempo/pull/1171
* @o-az made their first contribution in https://github.com/tempoxyz/tempo/pull/1216
* @samczsun made their first contribution in https://github.com/tempoxyz/tempo/pull/1260

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.7.1...v0.7.2

## v0.7.1 — v0.7.1 - Allegretto hardfork patches (2025-12-02)

This is a patch release that contains fixes for OTLP tracing panics and P2P reliability.

## What's Changed

* fix(alloy): 2D nonce filler fill condition by @shekhirin in https://github.com/tempoxyz/tempo/pull/1163
* chore: port docs into tempo repo by @legion2002 in https://github.com/tempoxyz/tempo/pull/1148
* feat(tempo-bench): fill and sign transactions before sending by @shekhirin in https://github.com/tempoxyz/tempo/pull/1167
* feat(tempo-bench): send AA transactions and use 2D nonces by @shekhirin in https://github.com/tempoxyz/tempo/pull/1139
* refactor(tempo-bench): remove filler generic and introduce BenchProvider by @shekhirin in https://github.com/tempoxyz/tempo/pull/1172
* fix(genesis): create PathUSD through factory with address(0) as quote token by @fgimenez in https://github.com/tempoxyz/tempo/pull/1168
* fix(consensus): fill holes when forwarding finalized blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1173
* chore: add dedicated dev genesis by @mattsse in https://github.com/tempoxyz/tempo/pull/1179
* fix(consensus): replace `follows_from` tracing link with `parent` by @shekhirin in https://github.com/tempoxyz/tempo/pull/1178

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.7.0...v0.7.1

## v0.7.0 — v0.7.0 - Allegretto hardfork (2025-12-01)

This is a release that prepares the Andantino testnet for the Allegretto hardfork (timestamp: Wed Dec 3rd 2025 16:00:00 GMT+0000). Please upgrade your nodes before the date to make sure your nodes keep up-to-date.

## What's Changed

* fix(tempo-bench): place DEX orders at tick spacing by @shekhirin in https://github.com/tempoxyz/tempo/pull/1121
* feat: add allow-unregistered-handshakes cli flag by @laibe in https://github.com/tempoxyz/tempo/pull/1125
* fix(tempo-bench): clear txpool for all URLs and get start block from sent txs by @shekhirin in https://github.com/tempoxyz/tempo/pull/1123
* feat: re-broadcast built subblocks multiple times by @klkvr in https://github.com/tempoxyz/tempo/pull/1126
* feat: add nonce key support for tempo tx request by @mattsse in https://github.com/tempoxyz/tempo/pull/1122
* fix!: stablecoin exchange overflow error by @legion2002 in https://github.com/tempoxyz/tempo/pull/1124
* feat(precompiles): add missing FeeManager interface functions and pending fees validation by @fgimenez in https://github.com/tempoxyz/tempo/pull/1106
* feat(precompiles): simplify storage internals by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1105
* fix(tempo-sidercar): enable `alloy/provider-ws` feature by @shekhirin in https://github.com/tempoxyz/tempo/pull/1143
* fix(subblocks): don't rebroadcast subblocks to oursevles by @klkvr in https://github.com/tempoxyz/tempo/pull/1146
* feat(dkg): add metrics for shares, acks, and dealings by @fgimenez in https://github.com/tempoxyz/tempo/pull/1042
* feat(aa): allow recovered AA authorization lists by @mattsse in https://github.com/tempoxyz/tempo/pull/1150
* chore: more payload builder defaults by @klkvr in https://github.com/tempoxyz/tempo/pull/1147
* feat(tempo-bench): load-balance transactions between multiple URLs by @shekhirin in https://github.com/tempoxyz/tempo/pull/1141
* feat: fee AMM liqudiity tracker by @klkvr in https://github.com/tempoxyz/tempo/pull/1115
* feat(alloy): random 2d nonce filler by @shekhirin in https://github.com/tempoxyz/tempo/pull/1138
* feat: add `burnFrom` to TIP-20 by @danrobinson in https://github.com/tempoxyz/tempo/pull/1140
* feat!(stablecoin-exchange): create new dex pair on first order by @0xKitsune in https://github.com/tempoxyz/tempo/pull/985
* Revert "feat: add `burnFrom` to TIP-20" by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1155
* feat(alloy): configure random nonces on provider builder by @shekhirin in https://github.com/tempoxyz/tempo/pull/1158
* fix(consensus): reject proposals, DKG dealings from wrong dealers by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1134
* fix: add registry check on mint by @howydev in https://github.com/tempoxyz/tempo/pull/1156
* fix(mempool): ensure fee payer is not blacklisted by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1114
* fix(precompiles): account for `is_bid` in `quote_exact_in` calc by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/1130
* chore: add Allegretto time to Andantino by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1154
* fix: handle refunds in keychain contract by @klkvr in https://github.com/tempoxyz/tempo/pull/1166

## New Contributors

* @laibe made their first contribution in https://github.com/tempoxyz/tempo/pull/1125
* @danrobinson made their first contribution in https://github.com/tempoxyz/tempo/pull/1140

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.6.1...v0.7.0

## v0.5.3 — v0.5.3 - Andantino testnet patches (2025-11-24)

## What's Changed

* chore(e2e): tweak timeouts by @klkvr in https://github.com/tempoxyz/tempo/pull/1017
* feat(subblocks): propagate subblock feeRecipient to EVM by @klkvr in https://github.com/tempoxyz/tempo/pull/1018
* chore(deny): apply `MIT OR Apache-2.0` license to crates by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1024
* fix(consensus): retain old epoch information until full transition by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/1021
* chore(deny): `RUSTSEC-2024-0437` is no longer relevant by @zerosnacks in https://github.com/tempoxyz/tempo/pull/1025
* chore(e2e): bump `new_payload_wait_time` for subblocks test by @klkvr in https://github.com/tempoxyz/tempo/pull/1027
* fix: validate blocktime is not in the future by @klkvr in https://github.com/tempoxyz/tempo/pull/1001
* feat(precompiles): Update `LinkingUSD` to use default `TIP20` logic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/1015
* chore: bump to v0.5.3 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1036

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.5.2...v0.5.3

## v0.5.2 — v0.5.2 - Andantino testnet patches (2025-11-21)

## What's Changed

* fix(ci): build docker images on tag by @Zygimantass in https://github.com/tempoxyz/tempo/pull/979
* fix(sidecar): add graceful shutdowns by @Zygimantass in https://github.com/tempoxyz/tempo/pull/980
* feat(chainspec): add Allegretto hardfork by @fgimenez in https://github.com/tempoxyz/tempo/pull/976
* feat: expose `feePayer` on RPC receipt by @klkvr in https://github.com/tempoxyz/tempo/pull/984
* test(bench): Include DEX orders and swaps in `max_tps` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/959
* chore: forward common features by @mattsse in https://github.com/tempoxyz/tempo/pull/989
* fix(ci): remove snapshot directory, since snapshots are now built correctly by @Zygimantass in https://github.com/tempoxyz/tempo/pull/998
* chore(reth): bump reth version so tracing works correctly by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1000
* chore(ci): upload binaries to r2 bucket on release by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1002
* chore(reth): bump with txpool p2p fixes by @Zygimantass in https://github.com/tempoxyz/tempo/pull/1003

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.5.1...v0.5.2

## v0.5.1 — v0.5.1 - Andantino testnet patches (2025-11-20)

This is a patch release that prepares the Andantino testnet for the Moderato hardfork (timestamp: Mon Nov 24 2025 16:00:00 GMT+0000). Please upgrade your nodes before the date to make sure your nodes keep up-to-date.

This patch version also includes a fix for better RPC transaction inclusion.

## What's Changed

* fix(faucet): send transactions to node's rpc by @klkvr in https://github.com/tempoxyz/tempo/pull/974
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/977

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.5.0...v0.5.1

## v0.5.0 — v0.5.0 - Moderato hardfork on Andantino testnet (2025-11-19)

This is a release that prepares the Andantino testnet for the Moderato hardfork (timestamp: `Mon Nov 24 2025 16:00:00 GMT+0000`). Please upgrade your nodes before the date to make sure your nodes keep up-to-date.

## What's Changed

* feat: payload builder defaults by @klkvr in https://github.com/tempoxyz/tempo/pull/938
* fix: bump system tx gas limit to 250M by @mattsse in https://github.com/tempoxyz/tempo/pull/945
* fix!(stablecoin-exchange): align MIN/MAX\_PRICE with MIN/MAX\_TICK (Moderato+) by @fgimenez in https://github.com/tempoxyz/tempo/pull/944
* fix!(stablecoin-exchange): round up quote amounts (Moderato+) by @fgimenez in https://github.com/tempoxyz/tempo/pull/942
* fix!(orderbook): add price bounds validation to price\_to\_tick() by @fgimenez in https://github.com/tempoxyz/tempo/pull/939
* test(bench): Include DEX orders and swaps in `max_tps` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/770
* Revert "test(bench): Include DEX orders and swaps in `max_tps` (#770)" by @shekhirin in https://github.com/tempoxyz/tempo/pull/958
* feat(deps): replace simple-tqdm with indicatif 0.18 to avoid unmaintained number\_prefix by @fgimenez in https://github.com/tempoxyz/tempo/pull/954
* fix(consensus): certificate backfill by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/956
* fix: add delegateToDefaultV2 to prevent signature forgery by @fgimenez in https://github.com/tempoxyz/tempo/pull/948
* fix(reth): persistence by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/957
* fix(precompiles): disable scheduled TIP20 rewards   by @0xKitsune in https://github.com/tempoxyz/tempo/pull/953
* feat(precompiles): setup transient storage support by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/955
* chore: bump commonware dep by @fgimenez in https://github.com/tempoxyz/tempo/pull/964
* feat!(precompiles): return ABI-encoded UnknownFunctionSelector error (Moderato+) by @fgimenez in https://github.com/tempoxyz/tempo/pull/941
* fix: ensure executor task is aborted with application by @mattsse in https://github.com/tempoxyz/tempo/pull/967
* refactor: pull pagination types into `tempo-alloy` by @onbjerg in https://github.com/tempoxyz/tempo/pull/965
* chore: re-use EthBeaconConsensus::validate\_header by @klkvr in https://github.com/tempoxyz/tempo/pull/961
* chore: release 0.5.0 and add Moderato hardfork to Andantino by @Zygimantass in https://github.com/tempoxyz/tempo/pull/969

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.4.0...v0.5.0

## v0.4.0 — v0.4.0 - Andantino testnet patches (2025-11-19)

## What's Changed

* docs(tempo-alloy): add some crate docs by @onbjerg in https://github.com/tempoxyz/tempo/pull/828
* fix: use adantino as base for dev chain by @mattsse in https://github.com/tempoxyz/tempo/pull/837
* chore: only print tempo hardforks by @mattsse in https://github.com/tempoxyz/tempo/pull/841
* fix: validate `shared_gas_limit` by @klkvr in https://github.com/tempoxyz/tempo/pull/834
* feat: preparation for next hardfork by @klkvr in https://github.com/tempoxyz/tempo/pull/833
* fix: validate system transactions fields by @klkvr in https://github.com/tempoxyz/tempo/pull/836
* ci: add snapshot re-execution workflow by @mattsse in https://github.com/tempoxyz/tempo/pull/842
* feat(arbbot): add simple metrics by @Zygimantass in https://github.com/tempoxyz/tempo/pull/851
* refactor: unify codepaths for fee token operations by @klkvr in https://github.com/tempoxyz/tempo/pull/824
* chore: add licenses and basic layout readme by @zerosnacks in https://github.com/tempoxyz/tempo/pull/825
* fix: block withdrawals that would drain liquidity for current transaction by @klkvr in https://github.com/tempoxyz/tempo/pull/789
* chore: commonware to c26f028 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/861
* fix!: correct off-by-one in TIP20Factory quote token validation, gate behind Moderato by @fgimenez in https://github.com/tempoxyz/tempo/pull/863
* chore(`README`): fix link, add contributing section by @zerosnacks in https://github.com/tempoxyz/tempo/pull/873
* test: add selector coverage validation for all precompile dispatchers by @mattsse in https://github.com/tempoxyz/tempo/pull/727
* chore: disable backports into andantino by @Zygimantass in https://github.com/tempoxyz/tempo/pull/871
* nit(docs): change heading level for `Contributing` section by @zerosnacks in https://github.com/tempoxyz/tempo/pull/876
* feat(ci): add nushell support for benchmark binary by @kuyziss in https://github.com/tempoxyz/tempo/pull/880
* fix!(tip-fee-manager): prevent LinkingUSD from being set as user token by @fgimenez in https://github.com/tempoxyz/tempo/pull/847
* fix!(precompiles): add reward handling to TIP20 fee transfer functions by @fgimenez in https://github.com/tempoxyz/tempo/pull/855
* fix!(precompiles): emit ActiveKeyCountChanged event in Nonce precompile by @fgimenez in https://github.com/tempoxyz/tempo/pull/848
* feat!(precompiles): deprecate the FeeManager `mint()` function after the `Moderato` hardfork by @0xKitsune in https://github.com/tempoxyz/tempo/pull/867
* fix!(stablecoin-exchange): add missing book existence check to place\_flip by @fgimenez in https://github.com/tempoxyz/tempo/pull/845
* fix!(stablecoin-exchange): validate base token is TIP20 in createPair by @fgimenez in https://github.com/tempoxyz/tempo/pull/844
* fix: correctly track `non_shared_gas_left` by @klkvr in https://github.com/tempoxyz/tempo/pull/879
* fix!(stablecoin-exchange): check maxIn/maxOut only on final swap amount by @fgimenez in https://github.com/tempoxyz/tempo/pull/882
* chore(deps): bump to revm 33, latest Reth + fix zepter lint by @zerosnacks in https://github.com/tempoxyz/tempo/pull/878
* refactor(chainspec): add is\_moderato() helper method by @fgimenez in https://github.com/tempoxyz/tempo/pull/894
* feat(alloy): re-export `tempo-primitives` by @onbjerg in https://github.com/tempoxyz/tempo/pull/896
* fix!(stablecoin-exchange): correct unit conversions and avoid rounding in swap order fills by @fgimenez in https://github.com/tempoxyz/tempo/pull/890
* chore: bump to 0.4.0 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/899
* feat(docs): deploy rust docs to gh pages by @onbjerg in https://github.com/tempoxyz/tempo/pull/895
* feat: add `SpecId` to `TempoHardfork` conversion method by @zerosnacks in https://github.com/tempoxyz/tempo/pull/898
* feat: use cargo docs doc\_cfg by @mattsse in https://github.com/tempoxyz/tempo/pull/908
* fix(ci): use new `cargo docs` alias by @onbjerg in https://github.com/tempoxyz/tempo/pull/911
* fix(ci): docs deploy perms by @onbjerg in https://github.com/tempoxyz/tempo/pull/915
* fix(precompiles): update TIP20 default suppy cap by @0xKitsune in https://github.com/tempoxyz/tempo/pull/912
* fix(precompiles): update transfer event `from` to `Address::ZERO` on `mint_with_memo()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/913
* fix(precompiles): update `transfer_from_with_memo` to emit transfer event from `call.from` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/914
* fix: `FeeAMM` fixes by @klkvr in https://github.com/tempoxyz/tempo/pull/892
* fix: make ci pass by @klkvr in https://github.com/tempoxyz/tempo/pull/918
* fix!(tip20): remove token from registry when all streams cancelled (Moderato+) by @fgimenez in https://github.com/tempoxyz/tempo/pull/917
* fix(precompiles): add insufficient liquidity error to `swap_exact_amount_in` post `Moderato` hardfork by @0xKitsune in https://github.com/tempoxyz/tempo/pull/919
* fix: reject transactions without a fee token preference by @klkvr in https://github.com/tempoxyz/tempo/pull/916
* fix: set coinbase validator token to LinkingUSD by @klkvr in https://github.com/tempoxyz/tempo/pull/910
* test(e2e): implement validator restart and recovery test scenarios by @fgimenez in https://github.com/tempoxyz/tempo/pull/783
* feat(alloy): re-export `tempo-contracts` by @onbjerg in https://github.com/tempoxyz/tempo/pull/923
* fix(ci): nushell pinned version by @Zygimantass in https://github.com/tempoxyz/tempo/pull/925
* chore(ci): disable crate docs publish for now by @onbjerg in https://github.com/tempoxyz/tempo/pull/922
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/937

## New Contributors

* @kuyziss made their first contribution in https://github.com/tempoxyz/tempo/pull/880

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.3.0...v0.4.0

## v0.3.0 — v0.3.0 - Andantino testnet (2025-11-12)

## Andantino testnet launch

This is the second major release for the first persistent and public Tempo testnet.

All breaking changes will be released with a new major release version and the Andantino testnet is going to be upgraded through a hardfork.

## What's Changed

* feat: expose `timestampMillis` on RPC header by @klkvr in https://github.com/tempoxyz/tempo/pull/757
* fix(ci): build all binaries using Dockerfile by @Zygimantass in https://github.com/tempoxyz/tempo/pull/760
* feat!: (precompiles) add missing stablecoin exchange functions by @howydev in https://github.com/tempoxyz/tempo/pull/765
* fix!(contracts): update `StablecoinExchange` getPriceLevel to getTickLevel in interface/dispatch by @0xKitsune in https://github.com/tempoxyz/tempo/pull/767
* fix!(fee-manager): add min liquidity to `TIPFeeManager` dispatch by @0xKitsune in https://github.com/tempoxyz/tempo/pull/773
* fix!(linking-usd): disable rewards by @0xKitsune in https://github.com/tempoxyz/tempo/pull/774
* fix!: correct mapping slots by @onbjerg in https://github.com/tempoxyz/tempo/pull/761
* fix(consensus): relax starting conditions on height mismatch between execution, consensus layers by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/768
* fix(download/follow): change defaults to actual testnet values by @Zygimantass in https://github.com/tempoxyz/tempo/pull/777
* fix(transaction-pool): enable serde and reth-codec features in primitives dep by @fgimenez in https://github.com/tempoxyz/tempo/pull/779
* fix(genesis): add missing AlphaUSD-LinkingUSD liquidity pool and fix token order by @fgimenez in https://github.com/tempoxyz/tempo/pull/781
* feat(subblocks): forward transactions from RPC to subblocks service by @klkvr in https://github.com/tempoxyz/tempo/pull/780
* fix: update fee token checks to match latest spec by @klkvr in https://github.com/tempoxyz/tempo/pull/776
* chore: regenerate test genesis, fix tests, and enforce genesis consistency in CI by @fgimenez in https://github.com/tempoxyz/tempo/pull/791
* chore(revm): remove unused `transfer_token` function by @0xKitsune in https://github.com/tempoxyz/tempo/pull/807
* feat!: error on none zero tx.value by @rakita in https://github.com/tempoxyz/tempo/pull/759
* chore: add tempo binary features and porpagation by @mattsse in https://github.com/tempoxyz/tempo/pull/814
* fix: remove --fund-test-accounts flag from generate-genesis by @klkvr in https://github.com/tempoxyz/tempo/pull/813
* chore: bump revm patch by @mattsse in https://github.com/tempoxyz/tempo/pull/820
* chore: rm reth crate from workspace by @mattsse in https://github.com/tempoxyz/tempo/pull/819
* feat!(precompiles): storage primitives by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/669
* chore: release v0.3.0 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/830

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.2.0...v0.3.0

## v0.2.0 — v0.2.0 - Andantino testnet (2025-11-06)

# Andantino testnet launch

This is the release for the first persistent and public Tempo testnet.

All breaking changes will be released with a new major release version and the Andantino testnet is going to be upgraded through a hardfork.

## What's Changed

* chore: handler cleanup and revm bump by @legion2002 in https://github.com/tempoxyz/tempo/pull/503
* feat: `TempoTransactionRequest::calls` by @klkvr in https://github.com/tempoxyz/tempo/pull/518
* chore(precompiles): restructure precompiles by @0xKitsune in https://github.com/tempoxyz/tempo/pull/521
* chore: add missing txpool arg to `just localnet` by @shekhirin in https://github.com/tempoxyz/tempo/pull/511
* feat: add missing linkingUSD functions by @howydev in https://github.com/tempoxyz/tempo/pull/537
* feat: more missing linkingusd functions by @howydev in https://github.com/tempoxyz/tempo/pull/542
* fix: Intrinsic gas calculations for AA txs by @legion2002 in https://github.com/tempoxyz/tempo/pull/520
* feat: Add `dex_getOrders` endpoint and schema by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/546
* feat(node): Launch node with `TempoDex` RPC module by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/551
* feat(node): Add JSON serialize and deserialize identity test to `dex_getOrders` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/552
* feat(node): Add `dex_getOrderbooks` JSON-RPC endpoint and schema by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/553
* feat: add `books` function to `StablecoinExchange` public interface by @0xKitsune in https://github.com/tempoxyz/tempo/pull/547
* feat: add multi-hop trading support to stablecoin exchange by @fgimenez in https://github.com/tempoxyz/tempo/pull/533
* fix: init TIP403\_REGISTRY separately by @mattsse in https://github.com/tempoxyz/tempo/pull/557
* chore(tempo-bench): move genesis generator to xtask by @Zygimantass in https://github.com/tempoxyz/tempo/pull/513
* feat(precompiles): propagate errors through call context by @0xKitsune in https://github.com/tempoxyz/tempo/pull/558
* feat(consensus): on chain DKG by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/538
* refactor: install precompiles in `tempo-revm` by @onbjerg in https://github.com/tempoxyz/tempo/pull/566
* docs: optimism -> tempo on `TempoPoolBuilder` by @onbjerg in https://github.com/tempoxyz/tempo/pull/567
* feat(ci): docker builds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/539
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/572
* fix: tweak features and add cargo hack check by @klkvr in https://github.com/tempoxyz/tempo/pull/523
* fix(rpc): rm Vec from TempoDexApi params by @Rjected in https://github.com/tempoxyz/tempo/pull/574
* feat(precompiles): add logic to get stablecoin exchange orderbook keys by @0xKitsune in https://github.com/tempoxyz/tempo/pull/573
* chore: add test for a validator joining an already running network  by @klkvr in https://github.com/tempoxyz/tempo/pull/510
* feat(genesis): add `TRANSFER_ROLE` for linking USD during genesis generation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/576
* feat: generate abis for precompiles by @onbjerg in https://github.com/tempoxyz/tempo/pull/579
* fix(rpc): remove last\_filled\_at and created\_at from dex\_ interface by @Rjected in https://github.com/tempoxyz/tempo/pull/584
* fix(rpc): make Order response match precompile types by @Rjected in https://github.com/tempoxyz/tempo/pull/586
* feat: add tempo hardfork support by @fgimenez in https://github.com/tempoxyz/tempo/pull/556
* refactor(consensus): name execution driver -> application and use actor pattern by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/575
* chore(precompiles): remove permit from tip20 and linking\_usd by @legion2002 in https://github.com/tempoxyz/tempo/pull/580
* refactor: don't use re-exports by @onbjerg in https://github.com/tempoxyz/tempo/pull/568
* chore(precompiles): derive `From` for `sol!` errors by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/588
* chore: bump commonware by @klkvr in https://github.com/tempoxyz/tempo/pull/589
* feat: Add authorization list support for AA Tx Type by @legion2002 in https://github.com/tempoxyz/tempo/pull/555
* feat: support 2d nonces in EVM by @klkvr in https://github.com/tempoxyz/tempo/pull/592
* chore(ci): revert to depot runners by @Zygimantass in https://github.com/tempoxyz/tempo/pull/514
* feat(precompiles): TIP20 rewards by @0xKitsune in https://github.com/tempoxyz/tempo/pull/570
* fix(consensus): ensure boundary certs are gossiped for non-committee members by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/593
* feat(rpc): impl `dex_` namespace by @Rjected in https://github.com/tempoxyz/tempo/pull/578
* fix: enable missing features by @mattsse in https://github.com/tempoxyz/tempo/pull/605
* chore: spawn dex calls blocking by @mattsse in https://github.com/tempoxyz/tempo/pull/608
* chore(precompiles): use owned alloy primitives by @0xrusowsky in https://github.com/tempoxyz/tempo/pull/596
* fix: initialize nonce manager in genesis by @klkvr in https://github.com/tempoxyz/tempo/pull/609
* fix(consensus)\:use grandparent as finalized hash, only do backfill on init by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/607
* feat(xtask): populate Tempo hardfork activation times in genesis generator by @fgimenez in https://github.com/tempoxyz/tempo/pull/597
* chore: set `view` on `getStream` + `totalRewardPerSecond` by @jxom in https://github.com/tempoxyz/tempo/pull/610
* chore(ci): bump test machines to -16 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/613
* chore: bump commonware to v0.0.63 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/616
* fix(consensus): always send finalized tip to execution layer by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/618
* feat: add validator config precompile by @howydev in https://github.com/tempoxyz/tempo/pull/548
* fix: update `isPayment` check for AA transactions by @klkvr in https://github.com/tempoxyz/tempo/pull/624
* fix(consensus): update header validation to assert system tx addresses by @0xKitsune in https://github.com/tempoxyz/tempo/pull/625
* feat(precompiles): enforce dust limit check on DEX orders by @fgimenez in https://github.com/tempoxyz/tempo/pull/604
* chore: enable osaka in genesis generator by @0xKitsune in https://github.com/tempoxyz/tempo/pull/628
* fix: remove decimal calculation from min order amount by @0xKitsune in https://github.com/tempoxyz/tempo/pull/630
* chore: xtask -> tempo-xtask in Justfile by @shekhirin in https://github.com/tempoxyz/tempo/pull/633
* chore: reuse effective gas price impl by @mattsse in https://github.com/tempoxyz/tempo/pull/634
* feat(consensus): switch from discovery p2p to lookup p2p by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/636
* feat: pass extra data header field via payload builder attributes by @fgimenez in https://github.com/tempoxyz/tempo/pull/627
* fix(precompiles): update TIP20 rewards to reflect spec changes by @0xKitsune in https://github.com/tempoxyz/tempo/pull/637
* feat(precompiles)!: add tip20 error data by @tmm in https://github.com/tempoxyz/tempo/pull/606
* chore(ci): bump crate-checks job timeout by @klkvr in https://github.com/tempoxyz/tempo/pull/646
* fix: make interface definitions Solidity spec compliant and fix compatibility issue with `seconds` keyword by @zerosnacks in https://github.com/tempoxyz/tempo/pull/640
* fix(consensus): decode commmitment from quorum, not number of players by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/642
* chore: bump reth to 1e27e7349 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/638
* chore: pull out `TempoNetwork` into own crate by @onbjerg in https://github.com/tempoxyz/tempo/pull/656
* chore: rm redundant conversion by @mattsse in https://github.com/tempoxyz/tempo/pull/657
* feat(node): Add new endpoints and schema for JSON-RPC API by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/612
* fix(precompiles): fix storage offsets by @0xKitsune in https://github.com/tempoxyz/tempo/pull/648
* fix(tip20): change startReward secs parameter from uint128 to uint32 by @fgimenez in https://github.com/tempoxyz/tempo/pull/655
* fix(rewards-registry): offset array elements to prevent slot collision with length by @fgimenez in https://github.com/tempoxyz/tempo/pull/660
* deps: make reth and tempo deps optional in `tempo-alloy` by @onbjerg in https://github.com/tempoxyz/tempo/pull/658
* feat: impl `RecommendedFillers` for `TempoNetwork` by @onbjerg in https://github.com/tempoxyz/tempo/pull/661
* feat: validator shared blockspace by @klkvr in https://github.com/tempoxyz/tempo/pull/581
* feat(cli): add download defaults by @Zygimantass in https://github.com/tempoxyz/tempo/pull/664
* feat(cli): add follow flag and default follow URL by @Zygimantass in https://github.com/tempoxyz/tempo/pull/665
* chore(tests): connect execution nodes on e2e tests via reth p2p by @joshieDo in https://github.com/tempoxyz/tempo/pull/647
* chore(test): just ensure it had more than 0 pipeline runs by @joshieDo in https://github.com/tempoxyz/tempo/pull/676
* feat(chainspec): add andantino bootnodes by @Zygimantass in https://github.com/tempoxyz/tempo/pull/671
* fix(consensus): allow arbitrarily deep reorgs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/675
* feat(genesis): mint linkingUSD to all recepients by @shekhirin in https://github.com/tempoxyz/tempo/pull/672
* deps: no default features for tempo crates by @onbjerg in https://github.com/tempoxyz/tempo/pull/662
* feat: scale gasprice by 1e12 by @klkvr in https://github.com/tempoxyz/tempo/pull/663
* refactor: cleaner API for --follow by @klkvr in https://github.com/tempoxyz/tempo/pull/679
* fix: more precise block size control during block building by @klkvr in https://github.com/tempoxyz/tempo/pull/645
* chore!(precompiles): prevent setting supply cap to beyond u128 max by @Rjected in https://github.com/tempoxyz/tempo/pull/681
* chore!(precompiles): change to InvalidSupplyCap in u128 max check by @Rjected in https://github.com/tempoxyz/tempo/pull/682
* fix(precompiles): update `TIP20RewardsRegistry` address by @0xKitsune in https://github.com/tempoxyz/tempo/pull/688
* chore!(precompiles): update `TIP20Factory::create_token` to return `Address` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/685
* feat(precompile): Precompile gas checks for sstore/sload/log operations by @rakita in https://github.com/tempoxyz/tempo/pull/650
* docs: fix broken documentation links in commonware-reth-integration.md by @yongkangc in https://github.com/tempoxyz/tempo/pull/690
* feat(xtask): add devnet generator task by @Zygimantass in https://github.com/tempoxyz/tempo/pull/571
* chore(ci): add version check in release ci by @Zygimantass in https://github.com/tempoxyz/tempo/pull/695
* chore(ci): add vergen sha to docker build by @Zygimantass in https://github.com/tempoxyz/tempo/pull/694
* feat(block): execute rewards registry system tx at start of block by @fgimenez in https://github.com/tempoxyz/tempo/pull/654
* feat(precompiles): Update `TIP20` decimals, allow arbitrary currency strings by @0xKitsune in https://github.com/tempoxyz/tempo/pull/689
* fix(genesis): make sure the supplyCap conforms to the new changes by @Zygimantass in https://github.com/tempoxyz/tempo/pull/698
* chore: bump reth by @klkvr in https://github.com/tempoxyz/tempo/pull/699
* feat(precompiles): enforce TIP20 currency checks by @0xKitsune in https://github.com/tempoxyz/tempo/pull/691
* chore(precompiles): update error handling to use precompile `Result` type by @0xKitsune in https://github.com/tempoxyz/tempo/pull/692
* fix: missing rpc / abi generation for `TIP20_REWARDS_REGISTRY` and `VALIDATOR_CONFIG` precompiles by @zerosnacks in https://github.com/tempoxyz/tempo/pull/701
* fix(consensus): backfill correct height to execution layer by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/703
* fix: correctly calculate used gas by @klkvr in https://github.com/tempoxyz/tempo/pull/706
* test: add test for gettxsendernonce by @mattsse in https://github.com/tempoxyz/tempo/pull/693
* test(precompiles): add dispatch tests for stablecoin exchange by @fgimenez in https://github.com/tempoxyz/tempo/pull/702
* fix!(precompiles): updated instances of arithmetic to use checked math by @0xKitsune in https://github.com/tempoxyz/tempo/pull/704
* fix(precompiles): checked math conversions by @fgimenez in https://github.com/tempoxyz/tempo/pull/707
* fix(consensus): block only on finalized blocks by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/705
* fix!(`ITIP20Factory` precompile): add `quoteToken` to `TokenCreated` event per specification, add `isTIP20` view method per specification by @zerosnacks in https://github.com/tempoxyz/tempo/pull/711
* chore(ci): use beefier machines for docker builds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/709
* feat!(revm): add expanded fee token preference by @Rjected in https://github.com/tempoxyz/tempo/pull/687
* fix(consensus): ensure that finalized is always the forkchoice floor by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/714
* fix!(contracts): update `memo` in `TransferWithMemo` to be indexed by @0xKitsune in https://github.com/tempoxyz/tempo/pull/720
* test(tip20\_rewards\_registry): add unit tests for `TIP20RewardsRegistry` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/713
* feat(revm): preserve logs even on halt/revert by @rakita in https://github.com/tempoxyz/tempo/pull/718
* chore!: clean up unused Permit struct / permit / DOMAIN\_SEPARATOR in TIP20 interface definition by @zerosnacks in https://github.com/tempoxyz/tempo/pull/721
* feat!(genesis): set initial validator fee token to linking USD by @0xKitsune in https://github.com/tempoxyz/tempo/pull/717
* feat!: add missing view fns by @mattsse in https://github.com/tempoxyz/tempo/pull/723
* fix(rpc): return 42424242424242... for balance rpc by @Rjected in https://github.com/tempoxyz/tempo/pull/712
* fix: skip fee token validity for eth\_calls without fees by @klkvr in https://github.com/tempoxyz/tempo/pull/726
* feat!(precompiles): add activeOrderId and pendingOrderId dispatch handlers by @mattsse in https://github.com/tempoxyz/tempo/pull/730
* chore: rm consts from tip fee manager by @mattsse in https://github.com/tempoxyz/tempo/pull/731
* feat!\:add missing transfer\_from\_with\_memo to tip20 by @mattsse in https://github.com/tempoxyz/tempo/pull/732
* chore!(consensus): Migrate to `commonware-consensus` epoch helpers by @clabby in https://github.com/tempoxyz/tempo/pull/728
* feat: include fee transfer logs for reverting transactions by @klkvr in https://github.com/tempoxyz/tempo/pull/729
* feat(fee-manager): Add `mintWithValidatorToken` to `TIPFeeManager` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/725
* fix: add missing fn by @howydev in https://github.com/tempoxyz/tempo/pull/733
* fix(tip20): update quote token functions, variables and events to match spec by @0xKitsune in https://github.com/tempoxyz/tempo/pull/735
* fix(tests): patch flaky gas estimation test by @0xKitsune in https://github.com/tempoxyz/tempo/pull/736
* fix: add `userRewardInfo` to TIP20 dispatch by @0xKitsune in https://github.com/tempoxyz/tempo/pull/737
* fix: don't overwrite rewards update by @howydev in https://github.com/tempoxyz/tempo/pull/739
* fix!(precompiles): add `finalizeStreams` to dispatch for testing by @0xKitsune in https://github.com/tempoxyz/tempo/pull/740
* fix!(precompiles): add `nextStreamId` to `TIP20` dispatch by @0xKitsune in https://github.com/tempoxyz/tempo/pull/738
* fix!(precompiles): update `TIP20` interface to pass `timestamp` to `finalizeStreams` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/745
* chore!(contracts): remove `delegationMessage()` from TIPAccountRegistrar interface by @0xKitsune in https://github.com/tempoxyz/tempo/pull/741
* chore: dont clone AccountInfo in get\_account\_info fn by @rakita in https://github.com/tempoxyz/tempo/pull/742
* chore!(contracts): remove calculate liquidity from the public interface by @0xKitsune in https://github.com/tempoxyz/tempo/pull/749
* ci(Mergify): configuration update by @Zygimantass in https://github.com/tempoxyz/tempo/pull/750
* deps: bump reth by @shekhirin in https://github.com/tempoxyz/tempo/pull/752
* chore(ci): disable arm64 docker builds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/753
* chore!: rename receive\_role by @mattsse in https://github.com/tempoxyz/tempo/pull/747
* feat(node): add testnet chainspec by @Zygimantass in https://github.com/tempoxyz/tempo/pull/670
* feat!(linking-usd): Add `TRANSFER_ROLE` and `RECIEVE_WITH_MEMO_ROLE` to dispatch by @0xKitsune in https://github.com/tempoxyz/tempo/pull/756
* chore(cargo): bump version to 0.2.0 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/755
* feat: include fee token into RPC transaction receipts by @klkvr in https://github.com/tempoxyz/tempo/pull/754

## New Contributors

* @howydev made their first contribution in https://github.com/tempoxyz/tempo/pull/537
* @tmm made their first contribution in https://github.com/tempoxyz/tempo/pull/606
* @zerosnacks made their first contribution in https://github.com/tempoxyz/tempo/pull/640
* @yongkangc made their first contribution in https://github.com/tempoxyz/tempo/pull/690
* @clabby made their first contribution in https://github.com/tempoxyz/tempo/pull/728

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.1.3...v0.2.0

## v0.1.6 — v0.1.6 - Andante testnet patches (2025-10-30)

* fix(consensus)\:use grandparent as finalized hash, only do backfill on init (#601)
* chore(ci): revert to depot runners (#514)
* fix: send proposed block to reth

## v0.1.5 — v0.1.5 - Andante testnet patches (2025-10-30)

* fix: send proposed block to reth

## v0.1.4 (2025-10-30)

* fix: init TIP403\_REGISTRY separately (#557)

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.1.3...v0.1.4

## v0.1.3 — v0.1.3 - Andante testnet patches (2025-10-21)

## What's Changed

* fix(precompiles): handle insufficient balance error in withdraw by @fgimenez in https://github.com/tempoxyz/tempo/pull/502
* fix(precompiles): determine trade direction dynamically in quote swap functions by @fgimenez in https://github.com/tempoxyz/tempo/pull/501
* chore: temporarily use Github native CI by @Zygimantass in https://github.com/tempoxyz/tempo/pull/505
* fix(ci): ubuntu-latest-4 doesn't exist by @Zygimantass in https://github.com/tempoxyz/tempo/pull/506
* feat(dev): add localnet just target by @Zygimantass in https://github.com/tempoxyz/tempo/pull/472
* fix: handle `mintWithMemo` and `burnWithMemo` by @klkvr in https://github.com/tempoxyz/tempo/pull/509
* chore: refactor fee calc in deduct\_caller with helpers by @rakita in https://github.com/tempoxyz/tempo/pull/492

## New Contributors

* @rakita made their first contribution in https://github.com/tempoxyz/tempo/pull/492

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.1.2...v0.1.3

## v0.1.2 — v0.1.2 - Andante testnet patches (2025-10-19)

## What's Changed

* fix(precompiles): account for linking usd when transferring tokens by @0xKitsune in https://github.com/tempoxyz/tempo/pull/497
* fix(consensus): don't check block timestamp at consensus level by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/498
* fix(node): activate external feature for runtime by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/499

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.1.1...v0.1.2

## v0.1.1 — v0.1.1 - Andante testnet patches (2025-10-19)

* feat(precompiles): check if pair is already created in (#480)
* fix: dont generate Some(0) for option u64 (#495)
* feat(precompiles): emit order filled events (#496)
* chore(precompiles): update stable exchange swap function names (#493)
* chore(precompiles): update  to  (#494)

## What's Changed

* chore(precompiles): update `linkingToken` to `quoteToken` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/494
* chore(precompiles): update stable exchange swap function names by @0xKitsune in https://github.com/tempoxyz/tempo/pull/493
* feat(precompiles): emit order filled events by @0xKitsune in https://github.com/tempoxyz/tempo/pull/496
* fix: dont generate Some(0) for option u64 by @mattsse in https://github.com/tempoxyz/tempo/pull/495
* feat(precompiles): check if pair is already created in`StablecoinExchange::create_pair` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/480

**Full Changelog**: https://github.com/tempoxyz/tempo/compare/v0.1.0...v0.1.1

## v0.1.0 — v0.1.0 - Andante testnet (2025-10-17)

* test(e2e):  e2e tests (#489)
* fix(tempo): activate feature in binary (#487)
* fix(revm): webauthn gas calculation (#486)
* fix(e2e): comment out nondeterminism check (#485)
* feat: Account Abstraction Tx Type (#414)
* chore(security): pin deps in build workflow (#479)
* fix: don't fail for non-node commands (#484)

## What's Changed

* feat: update dependencies by @fgimenez in https://github.com/tempoxyz/tempo/pull/1
* ci: Add build job by @exdx in https://github.com/tempoxyz/tempo/pull/2
* feat: Add integration skeleton by @exdx in https://github.com/tempoxyz/tempo/pull/3
* feat: launch node from Cli::run by @fgimenez in https://github.com/tempoxyz/tempo/pull/4
* Merge cli changes by @exdx in https://github.com/tempoxyz/tempo/pull/5
* fix: Fill out State by @exdx in https://github.com/tempoxyz/tempo/pull/7
* node: Implement context by @exdx in https://github.com/tempoxyz/tempo/pull/9
* Use patched libp2p with hickory-resolver 2.5.2 by @romac in https://github.com/tempoxyz/tempo/pull/10
* Run consensus by @exdx in https://github.com/tempoxyz/tempo/pull/11
* reorg by @fgimenez in https://github.com/tempoxyz/tempo/pull/13
* chore: more reorg crates by @fgimenez in https://github.com/tempoxyz/tempo/pull/14
* feat: BlockHash as Value by @fgimenez in https://github.com/tempoxyz/tempo/pull/15
* feat(ci): add autobuilds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/16
* chore: restructure into workspace by @0xKitsune in https://github.com/tempoxyz/tempo/pull/23
* chore: move `crescendo` to `tempo-bench` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/24
* feat: add ansible and terraform for autodeploys by @Zygimantass in https://github.com/tempoxyz/tempo/pull/22
* fix(ci): only deploy on changes in main by @Zygimantass in https://github.com/tempoxyz/tempo/pull/27
* feat: support custom genesis files in chainspec by @Zygimantass in https://github.com/tempoxyz/tempo/pull/29
* feat(tempo-bench): multiple node targets by @transmissions11 in https://github.com/tempoxyz/tempo/pull/39
* feat: precompiled tokens by @transmissions11 in https://github.com/tempoxyz/tempo/pull/26
* feat: TIP4217 currency registry by @transmissions11 in https://github.com/tempoxyz/tempo/pull/45
* fix(precompiles): real sig check in permit, imports and other nits by @transmissions11 in https://github.com/tempoxyz/tempo/pull/46
* chore: update malachite to v0.5.0 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/42
* fix: emit errors with source chains by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/47
* feat: modify reth settings and add easier methods for setting up devnet by @Zygimantass in https://github.com/tempoxyz/tempo/pull/55
* ci: use depot runners instead of gha runners by @Zygimantass in https://github.com/tempoxyz/tempo/pull/54
* feat(tempo-bench): Expand `tempo-bench` benchmarking suite by @0xKitsune in https://github.com/tempoxyz/tempo/pull/40
* bench(precompile):  Add benchmarks for TIP403 precompile by @0xKitsune in https://github.com/tempoxyz/tempo/pull/53
* bench(precompile): Add benchmarks for TIP20 precompile by @0xKitsune in https://github.com/tempoxyz/tempo/pull/51
* chore(deps): Pin malachite to `0c5a67f` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/50
* fix: timeout proposals that take too long by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/58
* feat: `TempoNode` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/49
* fix: enable hardforks by @0xKitsune in https://github.com/tempoxyz/tempo/pull/63
* feat: implement `TempoEvm` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/67
* fix(tempo-bench): lower default generated genesis gas limit by @Zygimantass in https://github.com/tempoxyz/tempo/pull/64
* chore(deps): bump reth to `e1236c0` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/68
* feat: skip malachite if config is not specified by @Zygimantass in https://github.com/tempoxyz/tempo/pull/62
* feat: update ansible infra to support devmode by @Zygimantass in https://github.com/tempoxyz/tempo/pull/73
* feat: Implement `TIPFeeManager` within `TempoEvm`, enable paying in stables by @0xKitsune in https://github.com/tempoxyz/tempo/pull/70
* feat: create tempo-sidecar for following dev mode consensus by @Zygimantass in https://github.com/tempoxyz/tempo/pull/65
* chore: use uint! for consts by @mattsse in https://github.com/tempoxyz/tempo/pull/80
* fix: use `div_ceil` to calculate adjusted gas fee by @0xKitsune in https://github.com/tempoxyz/tempo/pull/83
* fix(evm): Update `transact_raw` to check gas fee via `tx.max_balance_spending()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/84
* feat: `TempoTransactionValidator` scaffolding by @0xKitsune in https://github.com/tempoxyz/tempo/pull/79
* feat: `TempoPoolBuilder` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/85
* feat: `TempoPooledTransaction` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/86
* chore: rm reth-primitives crate by @mattsse in https://github.com/tempoxyz/tempo/pull/88
* feat(tempo-bench): Update `generate-genesis` command to mint `TestUSD` for fees by @0xKitsune in https://github.com/tempoxyz/tempo/pull/77
* fix: specify beneficiary in `get_fee_token_balance()` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/92
* feat: Introduce `tempo-revm` and initial `TempoEvm` implementation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/96
* feat: `tempo-revm` and handler execution logic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/98
* fix: Update `generate-genesis` to set user fee token by @0xKitsune in https://github.com/tempoxyz/tempo/pull/102
* fix: ensure fee manager is loaded by @mattsse in https://github.com/tempoxyz/tempo/pull/101
* test: add add pending tx test by @mattsse in https://github.com/tempoxyz/tempo/pull/90
* feat(bench): use tip20 calls for tempo bench by @Zygimantass in https://github.com/tempoxyz/tempo/pull/103
* test(e2e): TIP20 transfer e2e test by @0xKitsune in https://github.com/tempoxyz/tempo/pull/104
* chore(evm): remove unused handler by @0xKitsune in https://github.com/tempoxyz/tempo/pull/105
* feat(tip403): change policy admin to be address instead of policy by @Zygimantass in https://github.com/tempoxyz/tempo/pull/99
* test(e2e): Test TIP20 transfer by @0xKitsune in https://github.com/tempoxyz/tempo/pull/109
* chore(ci): remove `e2e.yml`, use nextest by @0xKitsune in https://github.com/tempoxyz/tempo/pull/112
* chore: reduce deps by @mattsse in https://github.com/tempoxyz/tempo/pull/115
* feat: add faucet functionality by @Zygimantass in https://github.com/tempoxyz/tempo/pull/113
* test(e2e): TIP20 e2e tests by @0xKitsune in https://github.com/tempoxyz/tempo/pull/116
* feat: Implement `TempoChainSpec` and set static `baseFee` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/119
* feat(node): configure `minimal_protocol_basefee` when building pool by @0xKitsune in https://github.com/tempoxyz/tempo/pull/121
* test(e2e): test `eth_call`, `eth_trace_call`, `eth_get_logs` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/122
* feat(infra): prepare for adagio testnet by @Zygimantass in https://github.com/tempoxyz/tempo/pull/126
* feat(genesis): add base fee per gas to generated genesis by @Zygimantass in https://github.com/tempoxyz/tempo/pull/127
* feat(ops): add monitoring rules by @Zygimantass in https://github.com/tempoxyz/tempo/pull/81
* chore: replace tip20err macro with constructor calls by @mattsse in https://github.com/tempoxyz/tempo/pull/124
* feat: set Tempo base fee to non-zero static value by @0xKitsune in https://github.com/tempoxyz/tempo/pull/128
* feat: Implement `TempoTransactionValidator` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/125
* chore: remove unused functions by @0xKitsune in https://github.com/tempoxyz/tempo/pull/131
* chore: simplify EVM generics by @klkvr in https://github.com/tempoxyz/tempo/pull/133
* feat: refactor e2e tests to optionally run against persistent devnet by @0xKitsune in https://github.com/tempoxyz/tempo/pull/130
* feat: implement mint, burn, transferFrom with memo by @0xKitsune in https://github.com/tempoxyz/tempo/pull/132
* chore: simplify TempoTransactionValidator generics by @klkvr in https://github.com/tempoxyz/tempo/pull/134
* feat: TempoEthApi by @0xKitsune in https://github.com/tempoxyz/tempo/pull/135
* feat: `TempoEngineValidator` by @klkvr in https://github.com/tempoxyz/tempo/pull/140
* feat(genesis): predeploy multicall3 by @Zygimantass in https://github.com/tempoxyz/tempo/pull/120
* chore: make evm crate leaner by @mattsse in https://github.com/tempoxyz/tempo/pull/138
* test: fix flaky estimate test by @mattsse in https://github.com/tempoxyz/tempo/pull/144
* feat: Override `caller_gas_allowance` to return `feeToken` balance by @0xKitsune in https://github.com/tempoxyz/tempo/pull/137
* feat(genesis): add permit2 and createx preinstalls by @Zygimantass in https://github.com/tempoxyz/tempo/pull/143
* fix(genesis): don't use short option for --base-fee-per-gas by @Zygimantass in https://github.com/tempoxyz/tempo/pull/142
* chore: enable clippy workspace lints by @mattsse in https://github.com/tempoxyz/tempo/pull/145
* fix: ensure precompiles are not called via delegatecall by @klkvr in https://github.com/tempoxyz/tempo/pull/147
* test: precompile delegatecall by @0xKitsune in https://github.com/tempoxyz/tempo/pull/148
* feat: add default 7702 implementation predeploy by @0xKitsune in https://github.com/tempoxyz/tempo/pull/159
* feat: add default fee token by @0xKitsune in https://github.com/tempoxyz/tempo/pull/163
* chore: bump reth to main by @Zygimantass in https://github.com/tempoxyz/tempo/pull/164
* feat: `TempoConsensus` by @klkvr in https://github.com/tempoxyz/tempo/pull/162
* feat: get validator from `evm_env` when checking fee token by @0xKitsune in https://github.com/tempoxyz/tempo/pull/166
* chore: remove file, update gitignore by @0xKitsune in https://github.com/tempoxyz/tempo/pull/167
* fix(chainspec): adagio chainspec was missing baseFeePerGas by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/168
* feat: introduce `TempoPayloadBuilder` by @klkvr in https://github.com/tempoxyz/tempo/pull/173
* fix(chainspec): actually initialize adagio from hardcoded genesis by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/170
* feat: auto delegate to default 7702 impl by @0xKitsune in https://github.com/tempoxyz/tempo/pull/160
* fix: rm openssl by @mattsse in https://github.com/tempoxyz/tempo/pull/177
* ci: add deny.toml by @mattsse in https://github.com/tempoxyz/tempo/pull/178
* feat: add initial docs by @Zygimantass in https://github.com/tempoxyz/tempo/pull/179
* feat(scripts): add scripts to test Tempo feature sets by @0xKitsune in https://github.com/tempoxyz/tempo/pull/180
* feat: auto delegate to default 7702 impl in `TempoEvmHandler` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/184
* feat: `TipAccountRegistrar` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/171
* fix: check codehash empty instead bytecode by @mattsse in https://github.com/tempoxyz/tempo/pull/189
* feat: initial `TempoEvmConfig` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/188
* chore: bump reth deps by @fgimenez in https://github.com/tempoxyz/tempo/pull/191
* fix: use TempoEvmConfig instead of EthEvmConfig in tempo binary by @fgimenez in https://github.com/tempoxyz/tempo/pull/192
* feat: add node using commonware threshold simplex consensus by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/149
* feat: fix default suggested fee to 0 by @0xKitsune in https://github.com/tempoxyz/tempo/pull/198
* chore: fix missing feature by @mattsse in https://github.com/tempoxyz/tempo/pull/200
* chore: add unused\_crate\_dependencies lint and remove unused by @mattsse in https://github.com/tempoxyz/tempo/pull/201
* fix(commonware-node): remove malachite args by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/205
* fix(commonware-node): don't be fancy when shutting down by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/206
* feat: separate TIPFeeAMM from FeeManager by @fgimenez in https://github.com/tempoxyz/tempo/pull/190
* feat: emit newly created token address with `TokenCreated` event by @0xKitsune in https://github.com/tempoxyz/tempo/pull/203
* feat: introduce tempo fee tx type and envelope by @mattsse in https://github.com/tempoxyz/tempo/pull/215
* feat(bin): Replace reth with tempo specific version constants by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/219
* feat(bin): Add version information to `tempo-commonware` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/220
* feat: `TempoTxEnv` by @klkvr in https://github.com/tempoxyz/tempo/pull/221
* feat(commonware-node): serve consensus metrics by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/212
* feat(commonware-node): allow configuring timeouts by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/207
* feat: `TempoPayloadTypes` by @klkvr in https://github.com/tempoxyz/tempo/pull/224
* fix: configure envelope features by @mattsse in https://github.com/tempoxyz/tempo/pull/226
* chore(xtask): remove suggested option, suggest metrics endpoint by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/228
* feat: Add tempo primitives by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/223
* ci: add zepter support by @mattsse in https://github.com/tempoxyz/tempo/pull/230
* chore: update fee manager address by @0xKitsune in https://github.com/tempoxyz/tempo/pull/227
* fix(ci): disable autodeploy by @Zygimantass in https://github.com/tempoxyz/tempo/pull/211
* chore: remove vocs by @Zygimantass in https://github.com/tempoxyz/tempo/pull/238
* feat(commonware-node): define peers using DNS names by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/193
* chore(ci): build commonware binary by @Zygimantass in https://github.com/tempoxyz/tempo/pull/240
* fix(commonware-node): don't panic when printing resolved addresses by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/243
* feat(precompiles): `TIPFeeAMM` liquidity functions by @0xKitsune in https://github.com/tempoxyz/tempo/pull/225
* feat: integrate `TempoPrimitives` by @klkvr in https://github.com/tempoxyz/tempo/pull/246
* feat: support system transactions by @klkvr in https://github.com/tempoxyz/tempo/pull/250
* feat: move fee collection logic from handler to TipFeeManager precompile by @fgimenez in https://github.com/tempoxyz/tempo/pull/242
* feat: pass `beneficiary` to `TipFeeManager` via block env by @0xKitsune in https://github.com/tempoxyz/tempo/pull/252
* chore(commonware-node): request new payload without fork choice updated by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/248
* feat: invoke `TipFeeManager::executeBlock` at the end of the block by @klkvr in https://github.com/tempoxyz/tempo/pull/251
* refactor(test): use MnemonicBuilder::from\_phrase with TEST\_MNEMONIC const by @fgimenez in https://github.com/tempoxyz/tempo/pull/255
* fix(xtask): suggest running --instance starting at 1 by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/259
* chore: use error initiatilzer for feeamm errors by @mattsse in https://github.com/tempoxyz/tempo/pull/262
* feat(rpc): Add `TempoTransactionRequest` with `fee_token` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/258
* chore: bump alloy-evm by @klkvr in https://github.com/tempoxyz/tempo/pull/266
* refactor(commonware-node): run finalization in a separate task by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/267
* chore: rm redundant min by @mattsse in https://github.com/tempoxyz/tempo/pull/264
* chore: use hex! for TIP20\_TOKEN\_PREFIX by @mattsse in https://github.com/tempoxyz/tempo/pull/276
* refactor(commonware-node): remove generics from consensus block by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/270
* chore(commonware): bump to v0.0.62 and ack finalizations by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/280
* feat(precompiles): `TIPFeeAMM` swap logic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/233
* chore: simplify fee manager errors by @0xKitsune in https://github.com/tempoxyz/tempo/pull/283
* feat: check identical addresses for mint and burn by @0xKitsune in https://github.com/tempoxyz/tempo/pull/284
* feat(bench): refactor tx generator and initialize with real nonces instead of zeroes by @Zygimantass in https://github.com/tempoxyz/tempo/pull/269
* test(rpc): test estimate gas with different fee tokens by @0xKitsune in https://github.com/tempoxyz/tempo/pull/286
* fix: enforce different system transaction hashes by @klkvr in https://github.com/tempoxyz/tempo/pull/287
* feat(test): add fee AMM tests for liquidity operations by @fgimenez in https://github.com/tempoxyz/tempo/pull/265
* feat(genesis): generate multiple tokens and initialize pairwise liquidity by @Zygimantass in https://github.com/tempoxyz/tempo/pull/290
* chore: address #265 review comments by @fgimenez in https://github.com/tempoxyz/tempo/pull/291
* fix: insufficient funds for gas in fee-amm script by @fgimenez in https://github.com/tempoxyz/tempo/pull/293
* fix(revm): improve error handling in `TempoEvmHandler` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/292
* feat(faucet): enable multi-token faucet drops by @Zygimantass in https://github.com/tempoxyz/tempo/pull/294
* fix(genesis): only add initial liquidity against the validator token by @Zygimantass in https://github.com/tempoxyz/tempo/pull/295
* feat: arber PoC by @gakonst in https://github.com/tempoxyz/tempo/pull/296
* feat(commonware-node): forward latest finalized digest to execution layer by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/281
* fix(commonware-node): propose timed out payloads by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/300
* feat(test): port fee swap and rebalance swap tests from Solidity reference by @fgimenez in https://github.com/tempoxyz/tempo/pull/279
* chore: format by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/302
* feat(precompiles): simplify `TIPFeeAMM` fee math by @0xKitsune in https://github.com/tempoxyz/tempo/pull/297
* fix(precompiles): Update `rebalance_swap` insufficient funds check by @0xKitsune in https://github.com/tempoxyz/tempo/pull/308
* feat(observability): add FeeAMM monitor by @Zygimantass in https://github.com/tempoxyz/tempo/pull/311
* feat(arber): use arbitrary wallet options by @Zygimantass in https://github.com/tempoxyz/tempo/pull/312
* chore: remove sidecar by @Zygimantass in https://github.com/tempoxyz/tempo/pull/317
* chore: move monitor to sidecar by @Zygimantass in https://github.com/tempoxyz/tempo/pull/319
* feat(sidecar): move monitor as a sidecar subcommand by @Zygimantass in https://github.com/tempoxyz/tempo/pull/320
* feat(transaction-pool): add payment transaction classification with TIP20 prefix check by @fgimenez in https://github.com/tempoxyz/tempo/pull/299
* test: update auto delegation tests to use batch transfer by @0xKitsune in https://github.com/tempoxyz/tempo/pull/304
* fix(payload): check `is_osaka` when checking sealed blocksize by @0xKitsune in https://github.com/tempoxyz/tempo/pull/324
* feat: introduce consensus and execution validations for payment lanes by @klkvr in https://github.com/tempoxyz/tempo/pull/322
* feat: add test for feeToken transaction by @klkvr in https://github.com/tempoxyz/tempo/pull/325
* feat: tempo rpc header by @klkvr in https://github.com/tempoxyz/tempo/pull/326
* feat(payload): add lane ordering for payment transactions with gas tracking by @fgimenez in https://github.com/tempoxyz/tempo/pull/306
* feat: Add `TempoNetwork` that implements `alloy_network::Network` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/268
* feat(commonware-node): update forkchoice after propose, verify by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/305
* feat(commonware-node): catch execution layer up to consensus on start by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/307
* refactor(commonware-node): enforce execution driver invariants by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/314
* refactor(commonware-node): make execution driver cloneable and clean up handlers by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/316
* feat(commonware-node): add builder timeout when proposing new block by @0xKitsune in https://github.com/tempoxyz/tempo/pull/330
* feat: use sccache for cross builds by @Zygimantass in https://github.com/tempoxyz/tempo/pull/318
* feat(commonware-node): configure maximum p2p message size by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/334
* feat: Add `TempoPayloadBuilderAttributes` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/336
* feat(bench): add tx reporter by @Zygimantass in https://github.com/tempoxyz/tempo/pull/285
* feat(monitor): add token names to the metrics by @Zygimantass in https://github.com/tempoxyz/tempo/pull/313
* feat: `TempoPriorityOrdering` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/346
* feat(payload): metrics and logs by @shekhirin in https://github.com/tempoxyz/tempo/pull/339
* test: add Backfill sync integration test by @fgimenez in https://github.com/tempoxyz/tempo/pull/338
* test: add payment lane integration tests by @fgimenez in https://github.com/tempoxyz/tempo/pull/328
* feat(payload): Check for `interrupt` signal while building by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/348
* feat: `TIP20` fee transfer functions by @0xKitsune in https://github.com/tempoxyz/tempo/pull/354
* chore: remove `JournalStorageProvider` by @klkvr in https://github.com/tempoxyz/tempo/pull/352
* fix: add serde rename for feeToken field in eth\_estimateGas requests by @fgimenez in https://github.com/tempoxyz/tempo/pull/355
* chore(commonware-node): make most items crate-private by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/358
* chore: bump reth and fix breaking API changes by @fgimenez in https://github.com/tempoxyz/tempo/pull/359
* feat(precompiles): `system_transfer_from` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/357
* ci: auto-label PRs according to issues by @shekhirin in https://github.com/tempoxyz/tempo/pull/341
* chore(commonware): bump commonware to latest main by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/353
* chore(ci): add concurrency and cancel in progress flags by @Zygimantass in https://github.com/tempoxyz/tempo/pull/350
* chore: move infrastructure to infra repo by @Zygimantass in https://github.com/tempoxyz/tempo/pull/342
* feat(sidecar): add synthetic load generator by @Zygimantass in https://github.com/tempoxyz/tempo/pull/321
* feat(tempo-bench): Simplify `run-max-tps` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/347
* fix: map fee collection errors to transaction validation errors by @fgimenez in https://github.com/tempoxyz/tempo/pull/365
* feat(ci): add manual build with custom profiles by @Zygimantass in https://github.com/tempoxyz/tempo/pull/373
* feat(ci): add bench workflow by @Zygimantass in https://github.com/tempoxyz/tempo/pull/368
* perf: introduce and propagate `asm-keccak` feature by @shekhirin in https://github.com/tempoxyz/tempo/pull/370
* chore(ci): don't use cross and build in dev mode by default by @Zygimantass in https://github.com/tempoxyz/tempo/pull/375
* chore: fix bench doc by @Zygimantass in https://github.com/tempoxyz/tempo/pull/379
* docs: use legacy state root in tempo-bench by @shekhirin in https://github.com/tempoxyz/tempo/pull/377
* fix: `FeeManager` fixes by @klkvr in https://github.com/tempoxyz/tempo/pull/380
* feat(xtask): allow a seed when generating consensus configs by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/381
* test(e2e): `tempo-commonware` e2e tests by @0xKitsune in https://github.com/tempoxyz/tempo/pull/376
* test: add block building integration tests by @fgimenez in https://github.com/tempoxyz/tempo/pull/362
* deps: just use `alloy` meta crate in `precompiles` by @onbjerg in https://github.com/tempoxyz/tempo/pull/383
* deps: remove `reth-evm` as a dependency of `precompiles` by @onbjerg in https://github.com/tempoxyz/tempo/pull/384
* chore: remove unused clippy.toml by @DaniPopes in https://github.com/tempoxyz/tempo/pull/387
* chore: sync all package fields with workspace by @DaniPopes in https://github.com/tempoxyz/tempo/pull/386
* chore: bump reth by @fgimenez in https://github.com/tempoxyz/tempo/pull/389
* feat(ci): add consensus e2e tests to ci by @0xKitsune in https://github.com/tempoxyz/tempo/pull/388
* ci: misc, sync with reth by @DaniPopes in https://github.com/tempoxyz/tempo/pull/385
* refactor: `generalGasLimit` by @klkvr in https://github.com/tempoxyz/tempo/pull/367
* feat: native fee sponsoring by @klkvr in https://github.com/tempoxyz/tempo/pull/351
* feat: add error types for fee lane decoding in EVM operations by @fgimenez in https://github.com/tempoxyz/tempo/pull/360
* fix(ci): temporarily disable consensus in ci by @0xKitsune in https://github.com/tempoxyz/tempo/pull/392
* chore(ci): disable auto deploy by @Zygimantass in https://github.com/tempoxyz/tempo/pull/391
* feat: introduce TempoInvalidTransaction by @fgimenez in https://github.com/tempoxyz/tempo/pull/390
* feat: `TempoHeader` by @klkvr in https://github.com/tempoxyz/tempo/pull/372
* feat(arber): refactor to initialize with pool data by @Zygimantass in https://github.com/tempoxyz/tempo/pull/323
* chore: use alloy EIP712 utils by @klkvr in https://github.com/tempoxyz/tempo/pull/394
* chore: rm `#[rustfmt::skip]` by @onbjerg in https://github.com/tempoxyz/tempo/pull/396
* fix: use genesis header hash by @Rjected in https://github.com/tempoxyz/tempo/pull/401
* fix(tempo-bench): fix `generate-genesis` by setting beneficiary when updating validator token by @0xKitsune in https://github.com/tempoxyz/tempo/pull/400
* chore: remove malachite by @0xKitsune in https://github.com/tempoxyz/tempo/pull/364
* chore(precompiles): feature gate reth dependencies by @onbjerg in https://github.com/tempoxyz/tempo/pull/395
* refactor: unify validation logic by @klkvr in https://github.com/tempoxyz/tempo/pull/403
* chore: move all sol! invocations to contracts by @DaniPopes in https://github.com/tempoxyz/tempo/pull/398
* test: unify test node setup patterns across integration tests by @fgimenez in https://github.com/tempoxyz/tempo/pull/402
* feat(tempo-sidecar): simplify arb bot, use polling interval by @0xKitsune in https://github.com/tempoxyz/tempo/pull/405
* fix(precompiles): remove unnecessary check when rebalancing swap by @0xKitsune in https://github.com/tempoxyz/tempo/pull/406
* fix(node): forward proposal ancestors if missing by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/408
* fix: add magic byte to feePayer signature hash by @klkvr in https://github.com/tempoxyz/tempo/pull/409
* fix(commonware-node): don't block executor on backfill by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/411
* ci(test): run all tests without stopping on first failure by @fgimenez in https://github.com/tempoxyz/tempo/pull/422
* feat: TIP20 linking token by @0xKitsune in https://github.com/tempoxyz/tempo/pull/413
* feat(precompiles): ensure linking token is deployed when creating TIP20 tokens by @0xKitsune in https://github.com/tempoxyz/tempo/pull/424
* refactor: Replace custom `UnsupportedTxTypeEip4844` error by `UnsupportedTxType` error from `alloy` by @RomanHodulak in https://github.com/tempoxyz/tempo/pull/425
* feat: add `admin` arg to `LinkingUSD` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/427
* chore: use generic `ChainSpec` by @klkvr in https://github.com/tempoxyz/tempo/pull/428
* feat(precompiles): initial stablecoin dex precompile, interface and stub functions by @0xKitsune in https://github.com/tempoxyz/tempo/pull/429
* feat: generate `TempoTypedTransaction` via macro by @klkvr in https://github.com/tempoxyz/tempo/pull/431
* feat(precompiles): implement two-step linking token update by @fgimenez in https://github.com/tempoxyz/tempo/pull/430
* feat(precompiles): implement Order type for stablecoin DEX by @fgimenez in https://github.com/tempoxyz/tempo/pull/426
* chore: rm `address_is_token_address` by @onbjerg in https://github.com/tempoxyz/tempo/pull/435
* chore(primitives): remove deref of tempo header to eth header by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/436
* feat(contracts): add safe factory on genesis by @legion2002 in https://github.com/tempoxyz/tempo/pull/437
* feat: predeploy Arachnid CREATE2 factory by @klkvr in https://github.com/tempoxyz/tempo/pull/440
* feat(tempo-bench): add gas limit cli arg by @0xKitsune in https://github.com/tempoxyz/tempo/pull/444
* fix(tempo): make consensus config optional if passing `--dev` or `--no-consensus` by @0xKitsune in https://github.com/tempoxyz/tempo/pull/445
* doc(commonware-node): explain backfill from consensus to execution by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/443
* fix: update dockerfile to use renamed tempo binary by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/410
* feat(precompiles): implement place and placeFlip functions for stablecoin DEX by @fgimenez in https://github.com/tempoxyz/tempo/pull/439
* fix(bench): decrease single tx gas limit by 10x by @Zygimantass in https://github.com/tempoxyz/tempo/pull/448
* telemetry(node): prefix all consensus metrics by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/453
* fix(bench): update the examples by @Zygimantass in https://github.com/tempoxyz/tempo/pull/451
* chore(deps): update commonware by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/456
* chore(clippy): deny systemtime in precompiles by @Zygimantass in https://github.com/tempoxyz/tempo/pull/447
* test(precompiles): extract helper functions for TIP20 linking token tests by @fgimenez in https://github.com/tempoxyz/tempo/pull/452
* fix: correctly configure EVM during inspection by @klkvr in https://github.com/tempoxyz/tempo/pull/457
* feat(ci): nightly bench by @Zygimantass in https://github.com/tempoxyz/tempo/pull/432
* feat(precompiles): `StablecoinExchange` execution logic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/450
* feat(precompiles): update `LinkingUSD` transfer logic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/464
* fix(rpc): update `caller_gas_allowance` to divide by gas price by @0xKitsune in https://github.com/tempoxyz/tempo/pull/468
* feat: return precompile errors as reverts by @klkvr in https://github.com/tempoxyz/tempo/pull/473
* feat(precompiles): update `LinkingUSD` to allow transfers for auth roles by @0xKitsune in https://github.com/tempoxyz/tempo/pull/469
* test(stablecoin-exchange): add unit tests for bitmap bit\_index calculation by @fgimenez in https://github.com/tempoxyz/tempo/pull/466
* feat: add roundtrip tests for `TempoTxEnvelope` by @klkvr in https://github.com/tempoxyz/tempo/pull/475
* feat: add stablecoin DEX executeBlock system transaction by @fgimenez in https://github.com/tempoxyz/tempo/pull/465
* feat: `TempoHeader::timestamp_millis_part` by @klkvr in https://github.com/tempoxyz/tempo/pull/455
* chore(precompiles): simplify `StablecoinExchange` logic by @0xKitsune in https://github.com/tempoxyz/tempo/pull/470
* test(precompiles): update `StablecoinExchange` tests and patch implementation by @0xKitsune in https://github.com/tempoxyz/tempo/pull/476
* feat: hook up `StablecoinExchange#createToken` to `call` impl + other small tweaks by @jxom in https://github.com/tempoxyz/tempo/pull/478
* feat: add instruction to fetch millisecond timestamp by @klkvr in https://github.com/tempoxyz/tempo/pull/477
* feat(ci): add release flow \[INF-16] by @Zygimantass in https://github.com/tempoxyz/tempo/pull/463
* feat(test): add e2e tests with consensus and execution layers by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/433
* fix: don't use system time in Tip20 by @klkvr in https://github.com/tempoxyz/tempo/pull/482
* fix: don't fail for non-node commands by @klkvr in https://github.com/tempoxyz/tempo/pull/484
* chore(security): pin deps in build workflow by @jxom in https://github.com/tempoxyz/tempo/pull/479
* feat: Account Abstraction Tx Type by @legion2002 in https://github.com/tempoxyz/tempo/pull/414
* fix(e2e): comment out nondeterminism check by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/485
* fix(revm): webauthn gas calculation by @legion2002 in https://github.com/tempoxyz/tempo/pull/486
* fix(tempo): activate feature in binary by @SuperFluffy in https://github.com/tempoxyz/tempo/pull/487
* test(e2e): `StablecoinExchange` e2e tests by @0xKitsune in https://github.com/tempoxyz/tempo/pull/489

## New Contributors

* @exdx made their first contribution in https://github.com/tempoxyz/tempo/pull/2
* @romac made their first contribution in https://github.com/tempoxyz/tempo/pull/10
* @Zygimantass made their first contribution in https://github.com/tempoxyz/tempo/pull/16
* @transmissions11 made their first contribution in https://github.com/tempoxyz/tempo/pull/39
* @SuperFluffy made their first contribution in https://github.com/tempoxyz/tempo/pull/47
* @RomanHodulak made their first contribution in https://github.com/tempoxyz/tempo/pull/219
* @gakonst made their first contribution in https://github.com/tempoxyz/tempo/pull/296
* @shekhirin made their first contribution in https://github.com/tempoxyz/tempo/pull/339
* @onbjerg made their first contribution in https://github.com/tempoxyz/tempo/pull/383
* @DaniPopes made their first contribution in https://github.com/tempoxyz/tempo/pull/387
* @Rjected made their first contribution in https://github.com/tempoxyz/tempo/pull/401
* @legion2002 made their first contribution in https://github.com/tempoxyz/tempo/pull/437
* @jxom made their first contribution in https://github.com/tempoxyz/tempo/pull/478

**Full Changelog**: https://github.com/tempoxyz/tempo/commits/v0.1.0
