github taikoxyz/taiko-mono taiko-alethia-client-rs-v2.2.0
taiko-alethia-client-rs: v2.2.0

pre-release5 hours ago

taiko-alethia-client-rs v2.2.0

This release prepares the Rust Alethia client for the Unzen Mainnet upgrade and includes important CLI, execution-engine compatibility, checkpoint sync, event sync, proposer, and preconfirmation reliability improvements.

Unzen Mainnet activation

Taiko Mainnet activates Unzen at Unix timestamp 1786021200, corresponding to 2026-08-06 13:00:00 UTC.

Upgrade Rust client, proposer, driver, and preconfirmation deployments before the activation time.

Unzen compatibility

  • Update the embedded Alethia-Reth chainspec dependency with the Mainnet activation timestamp.
  • Encode Unzen headerDifficulty as a decimal JSON number in engine_newPayloadV2, matching taiko-geth and alethia-reth wire expectations.
  • Restore the hash-relevant Unzen header difficulty from Engine API payload envelopes.
  • Validate Unzen header-difficulty presence on whitelist preconfirmation envelopes.

CLI changes

Removed

  • Remove the preconfirmation-driver subcommand and its permissionless preconfirmation runtime. Use whitelist-preconfirmation-driver for the supported preconfirmation path in this release.
  • Remove --preconf.rpc.addr / PRECONF_RPC_ADDR.

Deprecated and ignored

  • --p2p.discovery.addr / P2P_DISCOVERY_ADDR
  • --p2p.disable-discovery / P2P_DISABLE_DISCOVERY

The deprecated discovery flags are hidden but still parse so deployments can migrate without an immediate startup failure. Discv5 discovery has been removed; configured bootnodes are dialed directly and may use ENR, enode, or multiaddr formats.

Proposer changes

  • Restore forced-inclusion inputs so the proposer requests all pending forced inclusions.
  • Keep the proposer process running after mined transaction reverts or tx-manager execution-reverted errors.
  • Build manifest timestamps from the L1 head and stagger timestamps across multi-block manifests.
  • Use the manifest gas limit when selecting transaction-pool content instead of the previous 10M cap.
  • Delay missed proposer ticks instead of replaying a burst after a slow confirmation.

Driver and checkpoint sync

  • Recover from checkpoint-sync handoff when custom L1-origin mappings are missing instead of entering a restart loop.
  • Use a proof-finalized checkpoint target and treat the checkpoint endpoint as an untrusted block-body source.
  • Verify the target by block hash and retry transient checkpoint failures.
  • Accept VALID or SYNCING during checkpoint import while keeping invalid payloads fatal.
  • Enforce strict VALID statuses for normal payload insertion and verify the canonical readback hash after promotion.
  • Bound retries for deterministic payload rejections while continuing to retry transient or canonically unproven failures.

Event-sync reliability

  • Reconnect and replay after scanner lag instead of silently skipping dropped proposal ranges.
  • Identify reorged-out proposal logs through canonical block-hash mismatches.
  • Recover from reorged-out logs without blocking event sync indefinitely.
  • Reject oversized manifest length fields and trailing bytes after manifest RLP.
  • Decode legacy transactions in preconfirmation transaction lists.
  • Degrade undecodable derivation-source blobs to the default payload instead of terminating derivation.

Preconfirmation and observability

  • Bind queued preconfirmations to their authenticated parent hash and reject stale submissions before engine injection.
  • Prevent stale cached envelopes from advancing local status or being served to peers.
  • Restore the Go-compatible highestUnsafeL2PayloadBlockID status field.
  • Report the execution head from /status when the unsafe counter lags it.
  • Add periodic preconfirmation peer-status logging.
  • Add the client version metric to the Prometheus endpoint.

Full changelog: taiko-alethia-client-rs-v2.1.0...taiko-alethia-client-rs-v2.2.0

Don't miss a new taiko-mono release

NewReleases is sending notifications on new releases.