Overview
This is a patch release of op-challenger containing new features and bug fixes. It is an optional but recommended upgrade for all users.
Note: ZK dispute games and super dispute games (interop) are not yet live in production. Changes to those code paths in this release are preparation for future functionality and do not affect operators today.
What's Changed
Features
- New
game-proposal-outputssubcommand for fetching proposal output roots, replacing the old shell-script workflow (#21542) --format jsonoutput for thelist-claimsandlist-gamessubcommands (#21329)- Prestate configuration (
--cannon-prestate/--prestates-url) and--cannon-serverare no longer required when only permissioned game types are configured — the absolute prestate is never loaded for permissioned games (#21270, #21681) - Super ZK Dispute Game support (game type 10) — preparation for future functionality (#21011)
Bug fixes
- Tear down the whole VM process group when
--vm-timeoutis hit, preventing orphaned VM processes from lingering after a timeout (#21268)
Super dispute games (not yet in production)
- Removed op-supervisor support for super games; op-supernode is now the only supported super-root source (#20850)
- op-challenger no longer handles super permissioned games (#21099)
superroot_atTimestampnow treats CurrentL1 as the L1 block being processed (#20687)
Other
- Rebuilt on Go 1.26.4 to pick up CVE fixes in the toolchain and image (#21452)
- op-dispute-mon: new
anchor_state_l2_sequence_numbermetric to monitor anchor state freshness (#21209) - op-program has been removed from the monorepo; shared code moved to op-service/kzg and op-preimage (#21271, #21253, #21215)
- Dependency cleanups and locked-dependency enforcement in Docker builds (#21241, #21225, #20988)
Full Changelog: op-challenger/v1.9.3...op-challenger/v1.9.4
🚢 Docker Image: