Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
587 commits
Select commit Hold shift + click to select a range
6f59048
op-acceptance-tests: strengthen ZK proposer anchor assertion (#22168)
Inphi Jul 31, 2026
2172a4c
Update release docs: add op-reth v2.4.1 (#22169)
mintlify[bot] Jul 31, 2026
ebfa948
op-deployer: fix missing Superchain Deployment after prepare (#22082)
0xiamflux Jul 31, 2026
7ce2229
contracts-bedrock: clarify L2 contract release docs (#22170)
claude[bot] Jul 31, 2026
05a87c1
kona-sp1-proposer: publish Docker images (#22172)
Inphi Jul 31, 2026
9b9e459
docs: merge the standard-bridge token tutorials into "Create an L2 to…
claude[bot] Aug 1, 2026
91b246d
docs: App Developers + Chain Operators tab skeletons and index pages …
claude[bot] Aug 1, 2026
66f99e1
ops: detect malformed TODO issue references in todo-checker (#22119)
claude[bot] Aug 2, 2026
0646078
docs: OP Mainnet keep-and-grow tab index page and skeleton (IA slice …
claude[bot] Aug 2, 2026
b6eb77b
docs: subgroup Chain Operators Tutorials and Protocol Information, di…
claude[bot] Aug 2, 2026
50aac65
op-e2e: remove unused generated bindings (#22165)
claude[bot] Aug 2, 2026
0083be2
docs: normalize leading-slash nav slugs to bare style (IA slice 7) (#…
claude[bot] Aug 2, 2026
65e01cb
docs: remove retired Google Sheets fee calculators (#22059)
claude[bot] Aug 2, 2026
316a185
docs: unify tools namespace, delist empty stubs, archive snap-sync (I…
claude[bot] Aug 2, 2026
6e1b901
op-deployer: Revert on game config mismatches instead of promoting th…
0xiamflux Aug 3, 2026
6db4e41
op-node: add follow source reorg observability (#22106)
jelias2 Aug 3, 2026
9e9f296
op-conductor: route raft logs through application logger (#22194)
Kemperino Aug 3, 2026
1f26161
Update release docs: prepend August 3, 2026 GitHub releases (#22206)
mintlify[bot] Aug 3, 2026
05fbf96
ci: run the rust nightly bump as a weekly scheduled workflow (#21567)
einar-oplabs Aug 3, 2026
c826e36
op-deployer: continue prepared chain deployments (#21974)
lumoswiz Aug 3, 2026
b0ea948
kona-proof: sample field elements in test_roots_of_unity (#22201)
einar-oplabs Aug 3, 2026
3683dc9
op-acceptance-tests: run ZK dispute game tests in parallel (#22208)
claude[bot] Aug 3, 2026
4d77ed8
kona: constrain prestate artifact directories (#22204)
Inphi Aug 3, 2026
a1a4a2e
op-reth: recover proof history gaps on startup (#22177)
joshklop Aug 3, 2026
df4ff99
kona-protocol: support extended transaction envelopes in L2BlockInfo …
karlb Aug 4, 2026
22d060f
ci: cache forge build artifacts in contracts-bedrock-build (#22199)
einar-oplabs Aug 4, 2026
0f48d6b
op-core/fees: exclude PostExec from DA footprint (#22219)
sebastianst Aug 4, 2026
d66ae9a
docs/ai: CI local-validation recipe + rust tool-config discovery (#22…
sebastianst Aug 4, 2026
aac573e
op-devstack: clear proxy upstreams before stopping the owning process…
claude[bot] Aug 4, 2026
a71116c
op-service: let target node cap gas estimation (#22217)
joshklop Aug 4, 2026
b46611b
op-devstack: let acceptance suites select the sequencer EL binary (#2…
op-will Aug 4, 2026
b281c33
op-acceptance-tests: use NewMinimalNoFaultProofs in interop smoke tes…
op-will Aug 4, 2026
bef2a1d
kona-sp1-proposer: defend challenged games with SP1 super-aggregation…
digorithm Aug 4, 2026
fc86487
op-service: make sources the OP-aware eth client (#21908)
sebastianst Aug 5, 2026
d363078
op-acceptance-tests: unskip CL/EL divergence test on kona (#22246)
joshklop Aug 5, 2026
58e7bb2
op-acceptance-tests: enforce multi EL sync on kona (#22249)
joshklop Aug 5, 2026
2ed31f2
op-core,op-node,kona: validate PostExec after span decomposition (#22…
nonsense Aug 5, 2026
cd560bf
ci: make apko images canonical, disable docker builds (#22257)
falcorocks Aug 5, 2026
cc632b4
op-node: add direct-call build methods to engine controller (#22238)
sebastianst Aug 5, 2026
239c2e5
ci: bump circleci-utils orb to 1.0.30 (#22224)
einar-oplabs Aug 5, 2026
6889baa
ci: retry transient go module and apt downloads (#22200)
einar-oplabs Aug 5, 2026
0eb8cf8
op-deployer: fix superchainconfig resolution in InitLiveStrategy (#22…
0xiamflux Aug 5, 2026
3f866cb
op-reth: relax op-proofs command (#22256)
alessandromazza98 Aug 5, 2026
54de466
op-dispute-mon: introduce typed monitor lanes (#22225)
wwared Aug 5, 2026
4bd953e
op-batcher: load L2 blocks as execution payloads (#21911)
sebastianst Aug 5, 2026
8d87500
op-deployer: make SP1 verifier OPCM release-owned (#22218)
Inphi Aug 5, 2026
dcc3e56
op-reth: report both gas senses to the payload commit hook (#22261)
op-will Aug 5, 2026
7fb1126
ci: page protocol-oncall on go-tests-full develop failures (#22212)
claude[bot] Aug 6, 2026
4b73ed6
rust: bump upstream reth pin (#22285)
bitwiseguy Aug 6, 2026
bb8a0b2
op-reth: use RUST_BINARY_PATH_OP_RETH for e2e test binaries (#22233)
einar-oplabs Aug 6, 2026
a422f69
op-dispute-mon: normalize fault bond snapshots (#22226)
wwared Aug 6, 2026
365f9e2
op-node: remove TODOs referencing #12490 (#22292)
claude[bot] Aug 6, 2026
943ea9d
apko: add busybox and apk-tools to all images (#22287)
falcorocks Aug 6, 2026
c549972
docs: regenerate op-reth CLI reference at v2.4.1 via new gen-op-reth-…
claude[bot] Aug 6, 2026
10aad7b
op-core,op-service,op-chain-ops: receipt wrapping constructor and cod…
sebastianst Aug 6, 2026
eb6fcb2
docs: resolve blobs title collision, add prestate cross-link, share s…
claude[bot] Aug 6, 2026
75ffca5
ci: build superchain bundle in go-release (#22290)
maurelian Aug 6, 2026
4ef4910
kona-sp1-proposer: fast finality mode (prove without waiting for a ch…
digorithm Aug 6, 2026
20b5123
docs: add fault proofs reference page (#21838)
claude[bot] Aug 6, 2026
c927bcf
docs: correct op-batcher throttling disable flag in batcher guide (#2…
claude[bot] Aug 6, 2026
de03760
kona-sp1-proposer: rename super root RPC configuration (#22308)
wwared Aug 6, 2026
a896f43
docs: correct kona-node supervisor and conductor flag facts (#22310)
claude[bot] Aug 6, 2026
141a37a
docs: use "Optimism", name op-reth in the EL example, and fix the Sol…
claude[bot] Aug 6, 2026
46b7492
docs: correct kona-node actor list and extension mechanism on mechani…
claude[bot] Aug 6, 2026
4154ac5
docs: disambiguate colliding frontmatter page titles (#22314)
claude[bot] Aug 6, 2026
b3a8593
docs: add the "Choose how to run your chain" fork page (#22312)
claude[bot] Aug 7, 2026
19f5545
ci: shard test jobs by historical timing and widen parallelism (#22202)
einar-oplabs Aug 7, 2026
9973ff3
op-node: register l2.follow.source.rpc-timeout flag (#22297)
jelias2 Aug 7, 2026
20818c5
sdm: isolate refund production behind a test-only fixture (#22289)
nonsense Aug 7, 2026
4c3d0d3
op-node: run sequencer on its own goroutine (#22241)
sebastianst Aug 7, 2026
67be0c7
kona-sp1-proposer,op-devstack: resolve the metrics port in the propos…
maurelian Aug 7, 2026
d5b949d
docs: retire the stale imported op-reth OP Stack run page (#22316)
claude[bot] Aug 7, 2026
86718c1
docs: fix unreachable /op-stack root, dead in-tree links, and mis-arc…
claude[bot] Aug 7, 2026
47301cb
docs: replace the notices Archive sidebar group with an archive index…
claude[bot] Aug 7, 2026
18ff411
justfile: Scope build-rust-release cargo flags with explicit -p (#22340)
claude[bot] Aug 9, 2026
31fb928
justfile: Auto-select the native or Docker kona prestate build (#22341)
claude[bot] Aug 10, 2026
5f0dee7
ci: front-load mise tool installs in the setup pipeline (#22322)
einar-oplabs Aug 10, 2026
ab4abcb
ci: wire repo-local dependency-review exception config (#22350)
falcorocks Aug 10, 2026
596ef52
ci: run dependency review for merge groups (#22363)
joshklop Aug 10, 2026
733efca
op-deployer: estimate broadcast gas against the target chain (Glamste…
joshklop Aug 10, 2026
0a072d5
op-deployer: PCD record implementations and game mode (#22337)
0xiamflux Aug 11, 2026
606f890
op-node: drop the sequencer run-loop's fired-deadline guard (#22360)
sebastianst Aug 11, 2026
17c8870
op-alloy: make execution payload envelopes complete (#22304)
joshklop Aug 11, 2026
bfcf378
op-deployer: select the release SP1 verifier for ZK-enabled apply (#2…
Inphi Aug 11, 2026
f08ac67
alloy-op-evm,kona: harden deposit gas accounting against upstream cha…
sebastianst Aug 11, 2026
a034389
acceptance: support newer L1 forks (#21920)
joshklop Aug 11, 2026
9886eb3
kona-engine: reuse inserted block info (#22306)
joshklop Aug 11, 2026
5dcba67
kona-node: simplify gossip (#22305)
joshklop Aug 11, 2026
4447e2b
mise: fix missing rust 1.95.0 warning (#22386)
pauldowman Aug 11, 2026
a449ab8
ci: build op-reth and Kona image binaries once (#22384)
joshklop Aug 12, 2026
f863ff4
op-acceptance-tests: restore op-rbuilder guard around kona proof chec…
claude[bot] Aug 12, 2026
6dd11c1
ci: use dev profile for PR image builds and never cancel develop buil…
falcorocks Aug 12, 2026
d316915
ci: bump factory pin so tag builds reuse the develop cache (#22398)
falcorocks Aug 12, 2026
2a6b701
op-dispute-mon: extract and forecast ZK games (#22227)
wwared Aug 12, 2026
3b25891
op-deployer: add end-to-end tests for the PCD pipeline (#22356)
lumoswiz Aug 12, 2026
8c22874
op-devstack: Wait for the destination chain before sending executing …
ajsutton Aug 12, 2026
6456cd0
op-acceptance-tests: enable ZK dispute-game withdrawal (#22394)
wwared Aug 12, 2026
cba37e8
contracts-bedrock: Bind the SystemConfig chain ID in the standard val…
ajsutton Aug 12, 2026
3d72c1a
op-dispute-mon: normalize ZK bond accounting (#22228)
wwared Aug 12, 2026
b15448f
kona-sp1: expand super-root acceptance coverage (#22392)
wwared Aug 12, 2026
283bb45
contracts-bedrock: Check registered dispute game implementation ident…
ajsutton Aug 13, 2026
6eef20d
kona-registry: Default chains with no interop config to a self-only d…
ajsutton Aug 13, 2026
ef695a3
contracts-bedrock: Bind the dispute game AnchorStateRegistry to the p…
ajsutton Aug 13, 2026
bb59e7e
kona-sp1-proposer: prefix environment variables (#22411)
wwared Aug 13, 2026
e120125
security: Update module github.com/klauspost/compress to v1.18.7 [SEC…
oplabs-renovate[bot] Aug 13, 2026
ed6082c
security: Update Rust crate rkyv to v0.8.17 [SECURITY] (#22254)
oplabs-renovate[bot] Aug 13, 2026
cc48342
op-revm,op-reth: report zero DA footprint on PostExec receipts (#22220)
nonsense Aug 13, 2026
e9e2ad9
op-acceptance-tests: note recovery mode requires singular batches (#2…
claude[bot] Aug 13, 2026
38e7aa8
alloy-op-evm,kona: apply SDM post-exec refunds exactly once (#22399)
nonsense Aug 13, 2026
44eb954
contracts-bedrock: Reject msg.value in SuperPermissionedDisputeGame i…
ajsutton Aug 13, 2026
a15fe1f
security: Update module github.com/pion/stun/v3 to v3.1.5 [SECURITY] …
oplabs-renovate[bot] Aug 13, 2026
97a3f56
op-deployer: isolate apply subtest deadlines (#22389)
wwared Aug 13, 2026
fbc15ce
alloy-op-evm: synthesize post-exec tx result on replay paths (#22374)
einar-oplabs Aug 13, 2026
725c0a2
ci: avoid SIGPIPE in super-aggregation vkey gate (#22415)
claude[bot] Aug 13, 2026
952b758
kona-sp1-proposer: Implement fallover for superroot RPCs (#22416)
Inphi Aug 13, 2026
f45a5cc
op-supernode: Resume chains whose invalidation triggered no rewind (#…
ajsutton Aug 13, 2026
34b664f
ops: remove vestigial docker files, scripts, and dead bake target (#2…
einar-oplabs Aug 13, 2026
4fe8cb6
txmgr: stabilize queued failure ordering (#22388)
wwared Aug 13, 2026
c15e4a3
kona-tests: fix local action test recipe (#22338)
wwared Aug 14, 2026
30f5d58
ci: bump apko factory pin to restore version stamping (#22426)
falcorocks Aug 14, 2026
cc86829
mise: Add protoc (#22423)
ajsutton Aug 14, 2026
e1b8883
rust: Fix cargo-deny sources and advisories (#22422)
ajsutton Aug 14, 2026
630e797
docs: Note that Upgrade 20 clears the SystemConfig overhead value (#2…
ajsutton Aug 14, 2026
75a5660
op-reth: add subblocks CLI flag aliases (#22431)
bitwiseguy Aug 14, 2026
cfff7bd
docs: add subblocks notice (#22383)
ZakAyesh Aug 14, 2026
83c9de8
op-acceptance-tests: cover ZK challenger recovery paths (#22430)
Inphi Aug 14, 2026
00c3d3e
docs: migrate flashblocks -> subblocks (#22417)
bitwiseguy Aug 14, 2026
9d4b891
op-dispute-mon: enable ZK monitoring end to end (#22229)
wwared Aug 14, 2026
0ac57b8
ci: give each release tag its own apko concurrency group (#22433)
claude[bot] Aug 17, 2026
cf1804b
circleci: Run rust CI and prestate publishing on develop (#22421)
ajsutton Aug 17, 2026
2fbc176
circleci: Add slack context to rust-nightly-bump (#22438)
ajsutton Aug 17, 2026
1d839a5
ci-base-clang: Drop redundant protobuf apt packages (#22439)
ajsutton Aug 17, 2026
24c58a7
security: Update module golang.org/x/mod to v0.40.0 [SECURITY] (#22425)
oplabs-renovate[bot] Aug 17, 2026
611e847
security: Update go toolchain directive [SECURITY] (#22424)
oplabs-renovate[bot] Aug 17, 2026
4f196aa
ci: skip merge queue test suites for docs-only changes (#22434)
bitwiseguy Aug 17, 2026
dbaf2ae
kona-sp1: remove addressed CI TODOs (#22449)
Inphi Aug 18, 2026
c298fee
opcm: Remove setInteropDisputeGames (#22457)
ajsutton Aug 18, 2026
066ed98
op-stack-rust: strip package-metadata note from release binaries (#22…
falcorocks Aug 18, 2026
6998f9e
security: Update module golang.org/x/image to v0.45.0 [SECURITY] (#22…
oplabs-renovate[bot] Aug 18, 2026
d15bd5f
security: Update module github.com/pion/stun/v2 to v3 [SECURITY] (#22…
oplabs-renovate[bot] Aug 18, 2026
06680e2
security: Update module github.com/pion/dtls/v2 to v3 [SECURITY] (#22…
oplabs-renovate[bot] Aug 18, 2026
6ed9909
kona-sp1: update SP1 to v6.4.0 (#22456)
wwared Aug 18, 2026
fa02792
op-dispute-mon: monitor fault game refund recipients (#22450)
Inphi Aug 18, 2026
8742687
contracts-bedrock: correct readMem @return NatSpec (#22443)
riba2534 Aug 18, 2026
a588228
docs: add StandardValidator reviewer agent (#22420)
claude[bot] Aug 18, 2026
c38228b
deps: bump h2 to 0.4.16 to fix RUSTSEC-2026-0258 (#22462)
claude[bot] Aug 18, 2026
a3de6ab
security: Update module github.com/pion/stun to v2 [SECURITY] (#22180)
oplabs-renovate[bot] Aug 18, 2026
4f997c1
op-node: clarify sequencer field names (#22469)
claude[bot] Aug 18, 2026
71b5fe0
acceptance: test Glamsterdam L1 transition (#21921)
joshklop Aug 18, 2026
6747572
ci: switch Rust CI base image to the Wolfi runner image (#22459)
falcorocks Aug 18, 2026
7bf321b
docs/ai: state the cross-implementation parity rule (#22461)
sebastianst Aug 18, 2026
a52b5ff
circleci: Target the previous day's nightly in the rust bump (#22480)
ajsutton Aug 18, 2026
ca36572
op-devstack: sequence ConnectP2P dials to avoid simultaneous-connect …
claude[bot] Aug 18, 2026
c9f4021
kona-derive: Key the system config lookup by L2 block hash (#22465)
sebastianst Aug 18, 2026
c29cd6d
circleci: Drop unused host clang installs from Docker-only kona jobs …
ajsutton Aug 18, 2026
30eefea
op-node: don't let sequencer Stop wait for a block that will never ar…
sebastianst Aug 18, 2026
2806582
ci: bump rust nightly pin to nightly-2026-08-18 (#22482)
opgitgovernance Aug 18, 2026
9da7897
ci: Remove unused ci-base-clang docker image (#22479)
ajsutton Aug 19, 2026
42bd1e0
circleci: Install apt packages from the Ubuntu CDN, not the EC2 mirro…
ajsutton Aug 19, 2026
510f850
op-batcher: fix the data races in TestBatchSubmitter_ThrottlingEndpoi…
palango Aug 19, 2026
6dca645
kona-sp1: add proposer L1 query ports (#22476)
Inphi Aug 19, 2026
fd2f8f1
op-devstack: fix L1 HTTP poll interval interpreted as nanoseconds (#2…
pochenai Aug 19, 2026
487d5ab
op-devstack: remove SKIP_P2P_CONNECTION_CHECK escape hatch (#22490)
claude[bot] Aug 19, 2026
5869f1f
kona-sp1: add proposer superroot and execution ports (#22483)
Inphi Aug 19, 2026
599d4ff
op-devstack: Remove FlakyOnOpReth test helper (#22502)
ajsutton Aug 19, 2026
3233dd8
op-node,kona: validate span batch overlap content against the safe ch…
karlfloersch Aug 19, 2026
93d10d7
security: Roll up Rust dependency fixes (#22500)
falcorocks Aug 19, 2026
464067d
kona-node: load L1 configs from genesis files (#22493)
joshklop Aug 19, 2026
a8eb83c
op-supernode: add formally verified Dafny model (#22507)
karlfloersch Aug 19, 2026
d98081e
rust-supernode: Add minimal CLI skeleton (#22504)
ajsutton Aug 19, 2026
e872662
kona-sp1: decompose proposer game synchronization (#22497)
digorithm Aug 19, 2026
a97530e
lokahi: Rename rust-supernode and publish the container image (#22509)
ajsutton Aug 19, 2026
c0f213a
contributing,ci: flag breaking changes for release notes (#22510)
joshklop Aug 19, 2026
3f89cb6
op-e2e: mark TestSequencerFailover_ConductorRPC as flaky (#22515)
joshklop Aug 19, 2026
905e9cc
op-reth: add CLI surface snapshot test, remove unsupported --minimal …
claude[bot] Aug 19, 2026
cd39278
docs: Add Cantina Upgrade 20 security review (#22559)
ajsutton Aug 20, 2026
a864f6f
op-alt-da: make input size limit configurable (#22496)
fakedev9999 Aug 20, 2026
8b72343
kona-sp1: pin proposer sync reads to L1 block hash (#22549)
digorithm Aug 20, 2026
0d07b9b
claude: Add go-code-reviewer agent (#22561)
ajsutton Aug 20, 2026
d38bd8f
contracts-bedrock: Validate dispute game configs in OPCM migrate (#22…
ajsutton Aug 20, 2026
670c518
kona-safedb: Port op-node SafeDB to Rust (#21522)
einar-oplabs Aug 20, 2026
206ce84
Update release docs: op-reth v2.4.2 and op-contracts v8.0.0-rc.3 (#22…
mintlify[bot] Aug 20, 2026
e92bda1
op-rbuilder,rollup-boost: remove vendored builders and flashblocks pr…
nonsense Aug 20, 2026
1693568
kona-node: always reset the engine on a pipeline reset (#22551)
sebastianst Aug 20, 2026
9e4981e
docs: require a local review-agent pass before opening a PR (#22572)
sebastianst Aug 20, 2026
16f7667
op-challenger: support ZK challenges in move command (#22575)
Inphi Aug 20, 2026
4f5f974
op-node,op-service,op-devstack!: remove cross-unsafe chain-head notio…
sebastianst Aug 20, 2026
d6706d4
docs: require agents to watch CI after pushing to a PR (#22574)
sebastianst Aug 20, 2026
faf98b3
kona-sp1-proposer: avoid CPU prover setup in network mode (#22588)
Inphi Aug 20, 2026
a8eab11
kona-sp1: Fix misleading guest warning (#22592)
Inphi Aug 21, 2026
e9b809f
kona-sp1-proposer: default proof strategies to auction (#22593)
Inphi Aug 21, 2026
43e7a0a
claude: add opt-in watch-reviews skill with org-member trust boundary…
sebastianst Aug 21, 2026
ca40d43
kona-engine: skip unsafe-head staleness check for seals atomic with t…
einar-oplabs Aug 21, 2026
775912b
interop: State the message expiry check as a subtraction (#22609)
ajsutton Aug 21, 2026
7c35c5c
Update release docs: op-node v1.19.5, kona-node v1.6.4, op-batcher v1…
mintlify[bot] Aug 21, 2026
b89af48
kona-node: deserialize beacon blobs into boxed values (#22517)
joshklop Aug 21, 2026
49e36c0
docs,agents: add the deletion-reviewer agent and its review guide (#2…
sebastianst Aug 21, 2026
96ffbb2
superchain: update registry pin for World Chain Karst activations (#2…
sbvegan Aug 21, 2026
a1c96f7
kona-node: Serve the system config lookup from imported blocks (#22466)
sebastianst Aug 21, 2026
6085f00
kona-host: harden online preimage fetching (#22604)
wwared Aug 21, 2026
e982ee6
kona-sp1: retain admitted proof request ownership (#22627)
digorithm Aug 21, 2026
052a3da
kona-protocol: Add a hash-keyed L2BlockInfo lookup for the reset walk…
sebastianst Aug 22, 2026
7ca2da1
kona!: remove op-supervisor-era interop legacy (#22552)
sebastianst Aug 22, 2026
07bc020
docs: extend the deletion review guide with build-metadata fallout (#…
sebastianst Aug 22, 2026
8f3cd3e
kona-interop: consolidate message validity rules (#22565)
claude[bot] Aug 23, 2026
4331ba5
release-notes: add skill for drafting house-style release notes (#22548)
geoknee Aug 23, 2026
ddff705
ci: bump rust nightly pin to nightly-2026-08-22 (#22650)
opgitgovernance Aug 23, 2026
4f5a6ec
op-deployer: set the default genesis time offset to 3H (#22512)
0xiamflux Aug 24, 2026
9104d73
docs: add node101 to OP Stack RPC directory (#22556)
girginomer10 Aug 24, 2026
d41f9e6
alloy-op-evm: regression-test dropped-tx SDM policy-touch rollback (#…
nonsense Aug 24, 2026
fabfc38
kona-node-service: support multiple chains in the L1 watcher (#22567)
claude[bot] Aug 25, 2026
382a79a
kona-gossip: Allowlist gossip subscription topics (#22661)
ajsutton Aug 26, 2026
68b0094
kona: make proof replay warnings actionable (#22623)
Inphi Aug 26, 2026
e199d0f
op-services: Update op-geth to v1.101702.3-rc.7 (#22694)
geoknee Aug 28, 2026
40ce66b
mise: Update bun to 1.4.0 (#22697)
ajsutton Aug 28, 2026
2258ea5
Update release docs: add proxyd v4.31.0 and v4.32.0 (#22695)
mintlify[bot] Aug 28, 2026
fc4ddf6
kona-sp1: raise SPN auction defaults so requests draw bids (#22640)
pauldowman Aug 31, 2026
6ea100a
contracts-bedrock: Super ZK Dispute Game Internal Review Remediations…
0xarktos Aug 31, 2026
19214e8
op-challenger: read interop game inputs status from superroot_atTimes…
pauldowman Aug 31, 2026
3caf10d
op-service: move PathFlag to a leaf package so oppprof is importable …
geoknee Sep 1, 2026
fda11cc
claude,docs: Add create-pr skill and consolidate PR guidance (#22608)
ajsutton Sep 1, 2026
7774a2d
ci: bump circleci-utils orb to 1.0.31 (stale-PR close-timing fix) (#2…
claude[bot] Sep 1, 2026
22e6fa4
docs: add SolidRPC to RPC directory (#22710)
DamianFigiel Sep 1, 2026
7103e9d
CODEOWNERS,public-docs: add monorepo-reviewers as co-owner of public …
claude[bot] Sep 1, 2026
1657fbe
kona-sp1: retain proving progress across retries (#22717)
digorithm Sep 1, 2026
f34bce2
op-challenger: fix interop vm runner picking an unusable game L1 head…
pauldowman Sep 1, 2026
9f70758
contracts-bedrock: Add missing StandardValidator assertions (#22471)
ajsutton Sep 1, 2026
9fa9979
derive: reserve Lagoon upgrade gas independently of the dependency se…
sebastianst Sep 2, 2026
98469b6
public-docs: fix high severity dependency alerts (#22733)
falcorocks Sep 2, 2026
cf871a7
rust: remove vulnerable libp2p paths (#22714)
falcorocks Sep 2, 2026
4d15b82
rust: allow the libp2p git source in cargo-deny (#22737)
claude[bot] Sep 2, 2026
a73fb22
op-core,op-node,op-batcher,op-service: shrink the set of packages emb…
sebastianst Sep 2, 2026
17e94f9
kona-sp1-proposer: right-size SPN submission parameters (#22741)
wwared Sep 2, 2026
4a44e56
kona-client: Skip consolidation when interop is inactive (#22730)
ajsutton Sep 2, 2026
fb4aada
kona/tests/proofs: migrate action tests to the interop client program…
OptimismBot Sep 2, 2026
5c631b7
op-challenger: record a stuck VM run as a timeout, not a setup failur…
OptimismBot Sep 3, 2026
3ac1beb
docs: Correct the Kona interop prestate type (#22746)
ajsutton Sep 3, 2026
d31eb17
public-docs: drop unused wallet connector dependency subtree (#22736)
falcorocks Sep 3, 2026
eea9542
security: Update module golang.org/x/crypto to v0.56.0 [SECURITY] (#2…
oplabs-renovate[bot] Sep 3, 2026
a8a3b81
kona-genesis: Add the genesis offset to the block number from a times…
ajsutton Sep 3, 2026
35f8fb9
docs: update flashblocks spec links to subblocks (#22755)
bitwiseguy Sep 3, 2026
29bec1e
kona-sp1-proposer: raise range split ceiling to 128 (#22762)
wwared Sep 3, 2026
e907fe5
kona-sp1: extract observable proposer cycle (#22503)
Inphi Sep 3, 2026
6a8e9c2
kona-sp1: make proposer task IDs nonzero (#22769)
Inphi Sep 3, 2026
5e4de61
justfile: refactor `release-notes` to add `release-paths` which can b…
pauldowman Sep 3, 2026
9cefc2f
docs: correct stale statuses in the op-geth decoupling doc and add do…
geoknee Sep 4, 2026
85f7c13
op-alloy,op-reth,kona: reject non-canonical transaction encodings (#2…
nonsense Sep 4, 2026
c6f3918
gitignore: ignore all rust target* dirs (#22779)
sebastianst Sep 4, 2026
b60a1a6
ci,contracts-bedrock: fail fast on unreachable apt indexes and drop t…
claude[bot] Sep 4, 2026
006e0eb
Merge upstream op-reth/v2.4.3
Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .circleci/AGENTS.md
1 change: 1 addition & 0 deletions .circleci/CLAUDE.md
215 changes: 54 additions & 161 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ parameters:
default_docker_image:
type: string
default: cimg/base:2026.03
# Pinned ci-base-clang image (cimg/base + clang/llvm-dev/libclang-dev + protobuf-compiler) for Rust jobs.
# Pinned Wolfi Rust base image (clang/libclang, mold, sccache, Go, Rust) for Rust jobs.
# Provenance is verified by .github/workflows/security.yml.
rust_base_image:
type: string
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-base-clang@sha256:873a6709dd48d7706b0baee139300f18ab7babf4a66f982b2383fe51ce2e5489
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/nexus/circleci-runner-wolfi@sha256:f79d7c422cf320f67bbd9dbe3f36ed2755bf800d7065e4fbb63a034c3ff56914
base_image:
type: string
default: default
Expand Down Expand Up @@ -65,6 +65,9 @@ parameters:
rust_e2e_dispatch:
type: boolean
default: false
rust_nightly_bump_dispatch:
type: boolean
default: false
l2_fork_test_dispatch:
type: boolean
default: false
Expand All @@ -84,20 +87,24 @@ parameters:

orbs:
continuation: circleci/continuation@2.0.1
utils: ethereum-optimism/circleci-utils@1.0.31

jobs:
# --------------------------------------------------------------------------
# This job prepares the dynamic continuation pipeline in 6 steps:
# This job prepares the dynamic continuation pipeline in 7 steps:
#
# 1. Install yq (YAML processor for merging configs)
# 1. Install the mise toolset (front-loads the shared mise cache; provides
# yq for merging configs)
# 2. Store string pipeline params → /tmp/pipeline-parameters.json
# 3. Store boolean pipeline params → /tmp/pipeline-parameters.json
# 4. Detect file-tree changes → /tmp/pipeline-parameters.json
# 5. Decision tree: read the JSON, enable c-run_* workflow flags, strip
# intermediate params, write final JSON
# 5. Routing policy (compute-workflow-conditions.sh): read the JSON, enable
# c-run_* workflow flags, strip intermediate params, write final JSON
# 6. Merge continuation YAML configs → /tmp/merged-config.yml
# 7. Call CircleCI continuation API with merged config + JSON params
#
# The routing data (schedules, dispatch flags, change patterns, passthrough
# params) is declarative in routing.yml; the scripts only hold the logic.
# The result: only workflows whose c-run_* flag is true will execute.
# --------------------------------------------------------------------------
prepare-continuation-config:
Expand All @@ -107,16 +114,28 @@ jobs:
BASE_REVISION: develop
steps:
- checkout
# yq is used by the "Merge continuation configs" step to deep-merge YAML files.
# Keep version in sync with mise.toml.
# Front-loads the mise toolset for the whole pipeline: this job always
# completes before the continuation pipeline exists, so on a cold cache
# (mise.toml change or eviction) it is the only job that cold-installs —
# every continuation job restores the cache saved here. During an
# upstream outage (GitHub rate limits, missing release attestations) the
# blast radius is this one job instead of every job on every PR.
# Also provides yq (pinned in mise.toml) for the merge/routing scripts.
#
# This must remain a full, unfiltered `mise install`: the orb saves
# /data/mise-data under a write-once key, so narrowing the install here
# (e.g. to just yq) would freeze an incomplete toolset for every
# continuation job and silently force them all to cold-install forever.
- utils/install-mise:
enable_mise_cache: true
# mise shims re-resolve the tool on every invocation, which the yq/jq
# loops in the routing scripts below pay hundreds of times (~9s of
# overhead measured). Putting the resolved tool bin directories ahead
# of the shims makes those calls direct.
- run:
name: Install yq
name: Put mise tool bin paths on PATH
command: |
YQ_VERSION="4.44.5"
wget -qO /usr/local/bin/yq \
"https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64"
chmod +x /usr/local/bin/yq
echo "yq version: $(yq --version)"
echo "export PATH=\"$(mise bin-paths | paste -sd: -):\$PATH\"" >> "$BASH_ENV"
# Validates the decision tree logic against known scenarios.
# Fails fast if a refactor breaks expected workflow activation.
- run:
Expand All @@ -141,8 +160,8 @@ jobs:
# Same as above but for booleans. Separate step because CircleCI renders
# boolean pipeline params as 0/1 in environment blocks — the "bool" mode
# normalizes them to JSON true/false.
# These dispatch flags are consumed only by the decision tree below;
# they do NOT reach continuation configs.
# These dispatch flags are consumed only by the routing policy
# (compute-workflow-conditions.sh); they do NOT reach continuation configs.
- run:
name: Store boolean pipeline parameters in JSON file
command: .circleci/scripts/collect-params.sh bool
Expand All @@ -159,167 +178,34 @@ jobs:
c-heavy_fuzz_dispatch: << pipeline.parameters.heavy_fuzz_dispatch >>
c-rust_ci_dispatch: << pipeline.parameters.rust_ci_dispatch >>
c-rust_e2e_dispatch: << pipeline.parameters.rust_e2e_dispatch >>
c-rust_nightly_bump_dispatch: << pipeline.parameters.rust_nightly_bump_dispatch >>
c-l2_fork_test_dispatch: << pipeline.parameters.l2_fork_test_dispatch >>
# Each env var value is a POSIX Extended Regular Expression (ERE, like grep -E).
# Matched line-by-line against `git diff --name-only origin/develop...HEAD`.
# Result: the c-* key is set to true/false in the JSON.
# Change-detection patterns live in routing.yml (change_patterns.any and
# change_patterns.all). Each is a POSIX ERE matched line-by-line against
# `git diff --name-only origin/develop...HEAD`; collect-params.sh writes
# the resulting c-<name> boolean into the JSON.
#
# Test a pattern locally:
# git diff --name-only origin/develop...HEAD | grep -E "^your/pattern/"
#
# When to add: you need path-based workflow gating. Also add a corresponding
# is_true/run call in the decision tree below.
- run:
name: Detect file tree changes and store in JSON file
command: .circleci/scripts/collect-params.sh detect
environment:
c-contracts_changed: "^(packages/contracts-bedrock|op-core/forks|op-core/nuts|\\.circleci|\\.github|ops/check-changed)/|^(package\\.json|mise\\.toml)$"
c-docs_changes_detected: "^docs/public-docs/"
c-rust_changes_detected: "^(rust|op-e2e|\\.circleci)/"
# Safer "docs-only" detection: true iff EVERY changed file is under docs/public-docs/.
# Using an inclusion (all-match) check instead of an exclusion of known code categories
# makes the fast path safe-by-default — any path not enumerated by the patterns above
# still falls through to the full main workflow.
- run:
name: Detect docs-only changes (all-match)
command: .circleci/scripts/collect-params.sh detect_all
environment:
c-only_docs_changes: "^docs/public-docs/"
# Decision tree: determines which workflows to enable based on trigger, branch, and params.
#
# Helpers (defined in workflow-helpers.sh):
# run foo → sets c-run_foo: true in JSON (maps 1:1 to
# "when: << pipeline.parameters.c-run_foo >>" in a continuation config)
# is_true x → checks if c-x is true in JSON (set by earlier steps)
# param x → reads raw value of c-x from JSON
# finalize → strips intermediate params, keeps only the listed whitelist + all c-run_* flags
#
# How to add a new workflow:
# 1. Add "c-run_your_workflow: {type: boolean, default: false}" in the relevant continuation config
# 2. Add "run your_workflow" in the appropriate branch below
# Routing policy: enables the c-run_* workflow flags based on trigger,
# branch, schedule, and the detected params. The workflow lists are data
# in routing.yml; the conditions live in compute-workflow-conditions.sh.
# Each c-run_<name> maps 1:1 to "when: << pipeline.parameters.c-run_<name> >>"
# in a continuation config under .circleci/continue/.
- run:
name: Compute workflow conditions from pipeline parameters and store in JSON file
environment:
BRANCH: << pipeline.git.branch >>
TRIGGER_SOURCE: << pipeline.trigger_source >>
TAG: << pipeline.git.tag >>
SCHEDULE_NAME: << pipeline.schedule.name >>
command: |
set -euo pipefail
source .circleci/scripts/workflow-helpers.sh
init_json

case "${TRIGGER_SOURCE}" in

# Scheduled pipelines: map schedule name → workflows
scheduled_pipeline)
case "${SCHEDULE_NAME}" in
build_four_hours) run scheduled_todo_issues scheduled_cannon_full_tests ;;
build_daily) run scheduled_preimage_reproducibility scheduled_stale_check scheduled_heavy_fuzz_tests ;;
build_weekly) run scheduled_weekly_tests scheduled_kona_link_checker ;;
esac
;;

# Webhook (push events)
webhook)
# --- Tag push ---
if [[ -n "${TAG}" ]]; then
run release

# =========================================================
# Three mutually exclusive lifecycle stages:
# =========================================================

# 1. PR (feature branch push)
# Runs on every push to a feature branch.
# Path-based gating: only changed areas are tested.
# Docs-only changes skip main/release entirely.
# ---------------------------------------------------------
elif [[ "${BRANCH}" != "develop" && ! "${BRANCH}" =~ ^gh-readonly-queue/ ]]; then
if is_true only_docs_changes; then
run ci_gate_skip
run contracts_feature_tests_short
run rust_ci_gate_short
run rust_e2e_gate_skip
else
run main
run release
if is_true contracts_changed; then
run contracts_feature_tests
else
run contracts_feature_tests_short
fi
if is_true rust_changes_detected; then
run rust_ci
run rust_e2e_ci
else
run rust_ci_gate_short
run rust_e2e_gate_skip
fi
fi

# 2. Merge queue (pre-merge validation)
# Runs when GitHub merge queue picks up the PR.
# Full contract tests, path-gated rust/docs.
# ---------------------------------------------------------
elif [[ "${BRANCH}" =~ ^gh-readonly-queue/ ]]; then
run main
run release
run contracts_feature_tests
if is_true rust_changes_detected; then
run rust_ci
run rust_e2e_ci
else
run rust_ci_gate_short
run rust_e2e_gate_skip
fi

# 3. After merge (develop push)
# Runs after the merge queue completes and pushes to develop.
# Adds expensive post-merge jobs: fault proofs, kontrol, prestate publishing.
# ---------------------------------------------------------
elif [[ "${BRANCH}" == "develop" ]]; then
run main
run release
run publish_contract_artifacts
run develop_fault_proofs
run develop_kontrol_tests
run contracts_feature_tests
if is_true rust_changes_detected; then
run rust_ci
run rust_e2e_ci
run kona_publish_prestates
else
run rust_ci_gate_short
run rust_e2e_gate_skip
fi
fi
;;

# API triggers: dispatch flags select workflows
api)
run release
if is_true main_dispatch && [[ "$(param github-event-type)" == "__not_set__" ]]; then
run main contracts_feature_tests
fi
if is_true fault_proofs_dispatch; then run develop_fault_proofs; fi
if is_true kontrol_dispatch; then run develop_kontrol_tests; fi
if is_true cannon_full_test_dispatch; then run scheduled_cannon_full_tests; fi
if is_true reproducibility_dispatch; then run scheduled_preimage_reproducibility; fi
if is_true stale_check_dispatch; then run scheduled_stale_check; fi
if is_true heavy_fuzz_dispatch; then run scheduled_heavy_fuzz_tests; fi
if is_true publish_contract_artifacts_dispatch; then run publish_contract_artifacts; fi
if is_true l2_fork_test_dispatch; then run l2_fork_test; fi
if is_true rust_ci_dispatch; then run rust_ci; fi
if is_true rust_e2e_dispatch; then run rust_e2e_ci; fi
if [[ "$(param github-event-type)" == "pull_request" && "$(param github-event-action)" == "labeled" ]]; then
run close_issue
fi
;;
esac

# Params to forward to continuation configs (everything else is stripped)
finalize "c-default_docker_image,c-rust_base_image,c-base_image,c-github-event-base64,c-go-cache-version,c-publish_contract_artifacts_ref"
command: .circleci/scripts/compute-workflow-conditions.sh
# Deep-merges the 3 continuation YAML configs (main, rust-ci, rust-e2e)
# into /tmp/merged-config.yml using yq. Later files win on key conflicts.
# explode(.) resolves YAML anchors/aliases so the output is self-contained.
Expand All @@ -341,14 +227,21 @@ workflows:
when:
equal: ["", << pipeline.git.tag >>]
jobs:
- prepare-continuation-config
- prepare-continuation-config:
# MISE_GITHUB_TOKEN: authenticated GitHub API quota for mise's tool
# downloads (5,000 req/h per token vs 60/h/IP anonymous).
context:
- circleci-repo-readonly-authenticated-github-token

setup-tag:
when:
not:
equal: ["", << pipeline.git.tag >>]
jobs:
- prepare-continuation-config:
# MISE_GITHUB_TOKEN, as in the setup workflow above.
context:
- circleci-repo-readonly-authenticated-github-token
filters:
tags:
only: /.*/
Expand Down
11 changes: 4 additions & 7 deletions .circleci/continue/helpers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,7 @@ commands:
name: Configure Rust binary paths (sysgo)
command: |
ROOT_DIR="$(pwd)"
BIN_DIR="$ROOT_DIR/.circleci-cache/rust-binaries"
echo "export RUST_BINARY_PATH_KONA_NODE=$ROOT_DIR/rust/target/release/kona-node" >> "$BASH_ENV"
echo "export RUST_BINARY_PATH_OP_RBUILDER=$BIN_DIR/op-rbuilder" >> "$BASH_ENV"
echo "export RUST_BINARY_PATH_ROLLUP_BOOST=$BIN_DIR/rollup-boost" >> "$BASH_ENV"

rust-prepare:
parameters:
Expand All @@ -101,13 +98,13 @@ commands:
- run:
name: Ensure clang available
command: 'command -v clang >/dev/null 2>&1 || { echo "ERROR: clang is required but was not found in PATH" >&2; exit 1; }'
# protoc + libprotobuf-dev well-known types (sp1-sdk prost/tonic build
# dep) are preinstalled in ci-base-clang, so just assert their presence.
# protoc (sp1-sdk prost/tonic build dep) bundles the well-known type
# includes it resolves, so its presence on PATH is enough to assert.
- run:
name: Ensure protobuf compiler available
command: |
if ! command -v protoc >/dev/null 2>&1 || [ ! -f /usr/include/google/protobuf/empty.proto ]; then
echo "ERROR: protoc and the protobuf well-known type includes are required but were not found in PATH (expected in the ci-base-clang image)" >&2
if ! command -v protoc >/dev/null 2>&1; then
echo "ERROR: protoc is required but was not found in PATH" >&2
exit 1
fi
protoc --version
Expand Down
Loading
Loading