Overview
Important
This is a recommended release for all op-challenger operators, and a strongly recommended one for operators still on v1.10.0 or earlier, because it also contains the eMudhra certificate authority fixes from v1.10.1. It contains a fix for resolved games holding back op_challenger_highest_acted_l1_block, quieter logging while the local node catches up, corrected CLI output for super-root games, and the bundled kona-host v1.9.0.
Breaking changes
-
list-gamesandlist-claimsoutput renamed (#23265). The L2 sequence number and root claim are now labelled correctly for every game type; for super-root games they are an L2 timestamp and a super root, not a block number and an output root. Scripts must switch:list-games --sort-by l2BlockNum(OP_CHALLENGER_SORT_BY) becomesl2SequenceNum; the old value now fails withinvalid sort-by value.list-games --format json:l2BlockNumberbecomesl2SequenceNumber, andoutputRootbecomesrootClaim.list-claims --format json:l2StartBlockbecomesl2StartSequenceNumber, andl2BlockNumberbecomesl2EndSequenceNumber.
The old JSON keys are gone, not kept as aliases. Text output headings change from
L2 Block/Output RoottoL2 Sequence/Root Claim. -
run-tracerejects--runentries it cannot execute (#23222). A--runentry whose game type is notcannon,cannon-konaorsuper-cannon-konanow fails at startup, listing the valid types. Before, such runs never executed a VM and logged setup failures every interval. Remove them before upgrading: one bad entry stops every run in the process. -
The bundled kona-host refuses to start with an unusable dependency set file (#23276). When a dependency set file is configured with
--depset-configor its--cannon-kona-depset-config/--super-cannon-kona-depset-configvariants, kona-host now exits with an error if the file is missing, unreadable or doesn't parse, instead of serving an empty dependency set. A dependency set whoseoverrideMessageExpiryWindowis above 604800 seconds (7 days) is also rejected. Operators who set one of these flags must check the file before upgrading; operators relying on--networkare unaffected.
Other changes
Bug fixes
- Resolved games whose prestate can no longer be validated, for example because the node no longer has safe-head history for old games, are no longer retried with an
Invalid prestateerror on every scheduling pass. Such a game no longer holdsop_challenger_highest_acted_l1_blockback, which kept no-L1-progress alerts firing while active games were progressing, and is no longer counted inop_challenger_tracked_games{status="in_progress"}. In-progress games still require a valid prestate (#23535)
Logging
- On super-root games, a node that has not yet processed the game's L1 head now logs
Local node not sufficiently up to dateat WARN, naming the endpoint that is behind and its current L1 block, instead ofFailed to calculate all required movesat ERROR once per game per L1 block. The challenger still skips the game and retries on the next L1 block (#23020)
CLI tools
game-proposal-outputsnow checkssuper-cannon-konaandsuper-permissionedgames againstsuperroot_atTimestampfrom--superroot-rpc, and reports whether the node has processed past the game's L1 head. Before, it compared them withoptimism_outputAtBlockat what is actually a timestamp, so the results were meaningless.--rollup-rpcis now needed only for output-root games. JSON records for super-root games addtimestamp,superRootandnodeSynced(#23242)create-gameaccepts--game-typeas a number or a name such ascannonorsuper-cannon-kona, and rejects anything else before sending a transaction; a name used to parse silently as 0 and create a cannon game. Super-root game types now require a non-zero--l2-chain-id(#23243)list-gamesshows-instead of0for the claim count ofsuper-permissionedgames, whose claims it never fetched (#23237)
Bundled kona-host
The image now bundles kona-host v1.9.0, up from the kona-host v1.7.0 code in v1.10.x. See the kona-host v1.8.0 and kona-host v1.9.0 release notes. For op-challenger operators:
- kona-host reads the beacon slot duration from
SLOT_DURATION_MSin the beacon node's/eth/v1/config/spec, falling back toSECONDS_PER_SLOT, so it keeps fetching blobs from consensus clients that no longer serveSECONDS_PER_SLOT(#23138) - rustls is updated to 0.23.46 for RUSTSEC-2026-0349, a low-severity post-quantum key-exchange downgrade on kona-host's TLS connections to L1, L2 and beacon RPCs (#23433)
- An I/O error on a preimage pipe no longer closes the pipe's file descriptor (#23038)
isSystemTxon Bedrock system deposits fetched over JSON RPC is now decoded as a boolean, so proofs over Bedrock-era blocks expect a current op-reth or op-geth endpoint (#22946)
Security
- Includes the eMudhra certificate authority fixes (CVE-2026-111943) first released in v1.10.1: op-challenger and cannon are built with Go 1.26.10, whose
crypto/x509rejects the compromised eMudhra intermediates; the bundled kona-host'srustls-webpki0.103.16 (RUSTSEC-2026-0382) andwebpki-roots1.0.10 (RUSTSEC-2026-0381) reject them and drop the eMudhra roots; and the image's CA trust store (ca-certificates-bundle20260909-r3) no longer includes the emSign Root CA G3, C1 and C3 roots (#23546, #23567, #23566)
Full Changelog: op-challenger/v1.10.1...op-challenger/v1.11.0
🚢 Docker Image: