Caution
Mandatory upgrade for operators of Mode, Metal, and Zora using the built-in --network configs. The previously embedded registry data set keep_karst_upgrade_gas=true for these chains, but their sequencers activated Karst with false — an op-node on v1.19.2 or earlier can derive a different post-Karst gas limit and halt safe-head progression. This release syncs the embedded configs to the canonical behavior (#21674), so explicit overrides are no longer needed. OP Mainnet is unaffected (true remains correct). Recommended for all other operators.
Breaking / behavior changes
- Strict registry decoding (#21648): unknown keys in superchain-registry TOML now fail loudly at startup instead of being silently dropped. No change with the embedded registry, but custom registry data carrying unmodeled keys will no longer load.
- Sequencer stop race fixed (#21690): a sequencer action armed before
Stop()can no longer fire afterwards; a stopped sequencer previously could rebuild on a stale cached head and reorg the EL back onto it. - Go API move (#21650):
LoadOPStackRollupConfigmoved fromop-node/rolluptoop-node/superchain. Downstream Go importers must update their import path; no operator-facing change.
What's Changed in op-node/v1.19.3
- fix(op-node): sync Karst gas compatibility configs by @teddyknox in #21674
- op-node: ignore stale sequencer action after Stop by @joshklop in #21690
- op-node: move rollup-config loading into op-node/superchain by @sebastianst in #21650
- superchain: reject unknown keys when decoding registry configs by @sebastianst in #21648
- test(op-service/eth): fix flaky FuzzDetectNonBijectivity on non-encoded blob[0] bits by @geoknee in #21647
- ci: retire Go fuzz CI jobs by @geoknee in #21639
Full Changelog: op-node/v1.19.2...op-node/v1.19.3
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.19.3