Skip to content

op-node v1.19.6

Choose a tag to compare

@sebastianst sebastianst released this 08 Sep 15:58
· 15 commits to develop since this release
Immutable release. Only release title and notes can be modified.
b60a1a6

Overview

Important

This is a required release for World Chain operators running the built-in --chain configs, and a strongly recommended one for everyone else. It contains World Chain Karst activations, a security dependency update, transaction-decoding hardening and one breaking flag removal.

Breaking changes

  • cross_unsafe_l2 removed from optimism_syncStatus (#22555). The cross-unsafe head byte-for-byte mirrored the unsafe head and is gone from the RPC response and from eth.SyncStatus. Dashboards, alerts and tooling reading cross_unsafe_l2 must switch to unsafe_l2; Go JSON clients tolerate the absent field. The message-safety level named cross-unsafe is a different, live concept and is unchanged.

Chain configuration changes

  • New World Chain Karst activation times (#22624). The embedded superchain registry gains:

    • sepolia/worldchainkarst_time = 1788868800 (Tue 8 Sep 2026 12:00:00 UTC)
    • mainnet/worldchainkarst_time = 1789992000 (Mon 21 Sep 2026 12:00:00 UTC)

    A World Chain node on an earlier release, running the built-in --network config rather than an explicit rollup config, will not activate Karst and will diverge from the chain. No other chain's activation times change in this release.

What's Changed

Derivation

  • Holocene span batch prefix checks now validate the contents of batch elements that overlap the safe chain, so a batch spanning an interop deposits-only block replacement can no longer splice an invalidated lineage onto the canonical chain. (#22215)

Sequencer

  • Stopping the sequencer no longer hangs. Stop waited for the L2 head to reach the last sealed block, which never arrives if the sequencer has not sealed since start or if a reset rewound past that block; it now waits only while a block is genuinely outstanding. This affects admin_stopSequencer, node shutdown, and — with no deadline of its own — op-conductor's leadership handoff (#22458)

Features

  • The AltDA Keccak input-size limit is now configurable per chain through da_max_input_size in the rollup config's AltDA section, and op-batcher validates its maximum frame size against the same limit. Omitting the field keeps the previous fixed limit of 130,672 bytes (#22496)

Security

  • Dependency updates for advisories in modules linked into op-node: golang.org/x/crypto to v0.56.0, golang.org/x/mod to v0.40.0, the Go toolchain directive, and the Pion STUN/DTLS stack (github.com/pion/stun and github.com/pion/dtls to v3), together with the op-geth bump to v1.101702.3-rc.7 that moves its NAT/STUN path onto Pion v3 (#22750, #22425, #22424, #22180, #22181, #22069, #22694)

Full Changelog: op-node/v1.19.5...op-node/v1.19.6

🚢 Docker Image: