Skip to content

Releases: ethereum-optimism/op-geth

v1.101500.0 - L1 Pectra Readiness

11 Feb 21:38
9111c8f
Compare
Choose a tag to compare

L1 Pectra Readiness

❗ All node operators must upgrade to this release by the time their chain's L1 activates Pectra.
❗ If you run a full node, don't directly upgrade to this release, but start up once with version v1.101411.8. See its release notes for more details. Archival nodes don't need to follow this upgrade path.

Corresponding op-node release: v1.11.0

This release prepares the OP Stack to handle L1 chains activating Pectra. It includes all changes from the go-ethereum upstream release 1.14.11 and a subset of changes from the 1.15.0 release, all commits on master up to f0e8a3e fix README.md (ethereum/go-ethereum#31076). In particular, support for the new SetCode transaction type 4 is included.

The superchain-registry bindings are also updated to pull in new chain configurations. It is not included as a Go module any more, but instead bundled inside the repo since this release. Downstream dependencies like the Optimism monorepo also use the bundled configurations of op-geth going forward.

What's Changed

New Contributors

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101500.0

Full Changelog: v1.101411.5...v1.101500.0

v1.101411.8 - upgrade path to v1.101500.0

10 Feb 16:59
Compare
Choose a tag to compare

This release contains a fix to the upstream journaling code (b79c44a) to ensure no critical state is lost when upgrading full nodes and the journal is thrown away due to a journal format update. Any full node operator who intends to upgrade their v1.101411.x op-geth node to v1.101500.0 should first restart their node once with this release. When you run this release and shut it down again, search the shutdown logs for a message

Persisting dirty state to disk

and its buffer_layers argument. It should be lower than 128. If that's the case, you can safely go on to upgrade to v1.101500.0.

As steps:

  • You're running v1.101411.x
  • Start up v1.101411.8 once, let it run for a while, shut down.
  • Check shutdown logs for Persisting dirty state to disk message, check that buffer_layers argument is <128
  • You're good to upgrade to v1.101500.0

The background is that updating the upstream geth dependencies between v1.101411.x and v1.101500.0, there were two journal format updates in the underlying geth versions from v1.14.11 to v1.15.0. This causes the journal do be dropped at startup of the new release v1.101500.0. A full node should be able to recover from this, but we suspect a bug in geth (ethereum/go-ethereum#31131) means that more than 128 layers are part of the journal, so when it's thrown away at startup, the node may be missing critical state and needs to heal its state.

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.8

Full Changelog: v1.101411.6...v1.101411.8

v1.101411.6 - P2P Fix

30 Jan 13:36
Compare
Choose a tag to compare

❗ All node operators are strongly recommended to upgrade to this release. It contains an urgent security fix (CVE-2025-24883). This fix is the only difference to the prior release v1.101411.5.

Also upgrade your L1 go-ethereum nodes to v1.14.13, which contains the same fix.

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.6

Full Changelog: v1.101411.5...v1.101411.6

v1.101411.5

24 Jan 11:28
82acd5a
Compare
Choose a tag to compare

What's Changed

  • Isthmus: re-introduce withdrawals root in block header by @vdamle in #451
  • beacon: add nil check for AccessEvents receiver before invocation by @vdamle in #453
  • go: update SCR dependency to include Soneium Mainnet by @sebastianst in #465

Full Changelog: v1.101411.4...v1.101411.5

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.5

v1.101411.4 - Holocene Mainnet Superchain

17 Dec 14:35
efa05b1
Compare
Choose a tag to compare

✨🔴 Holocene Mainnet Superchain Release

This release contains the Holocene activation timestamp for the Mainnet Superchain, on

  • Thu 09 Jan 2025 18:00:01 UTC
  • unix timestamp 1736445601

The corresponding op-node release can be found here.

OP Mainnet Approval

The OP Mainnet Holocene activation is still subject to approval by the governance process on Optimism Upgrade Proposal #11. In the unlike event of a veto by Dec 25, we will publish a new release with the OP Mainnet Holocene activation disabled. The Holocene activation can also be disabled for this release by setting the override flag --override.holocene (or the corresponding env var) to a far-future timestamp, e.g. --override.holocene 2736445601.

Database Rewind panic fix (#446)

This release also contains a fix that again enables op-geth to properly rewind its database in case of a missed Holocene activation and subsequent configuration fix. Without this fix, before attempting to rewind the database to one block before the activation block, a panic would occur:

panic: invalid eip-1559 params in extradata

If you see this after correcting a Holocene timestamp, upgrading to this release should help.

What's Changed

  • core: fix call to post-validation evm message hook by @protolambda in #437
  • op-batcher: exit building loop early if there's not enough DA capacity by @roberto-bayardo in #439
  • chore: fix some problematic function names in comment by @mountcount in #438
  • core: make isForkTimestampIncompatible return false when either fork is post genesis by @geoknee in #447
  • Isthmus: withdrawals root in block header by @protolambda in #383
  • Prepare Holocene mainnet release by @sebastianst in #448
  • Revert "Isthmus: withdrawals root in block header" by @protolambda in #449
  • core: Move blockchain head verification after possible rewind by @sebastianst in #446
  • superchain: update superchain registry dependency by @geoknee in #450

New Contributors

Full Changelog: v1.101411.3...v1.101411.4

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.4

v1.101411.3

03 Dec 21:18
717daa1
Compare
Choose a tag to compare

What's Changed

  • miner: fix config unmarshalling by @denis-pingin in #433
  • Update superchain-registry dependency to include Unichain Sepolia holocene_time by @geoknee in #436

New Contributors

Full Changelog: v1.101411.2...v1.101411.3

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.3

v1.101411.2 - Sepolia Holocene

19 Nov 18:36
3dd9b02
Compare
Choose a tag to compare

Sepolia Holocene Release

❗ All node operators of Sepolia chains that follow the Sepolia Superchain must upgrade to this release of op-geth and op-node v1.10.0.

The Sepolia Superchain activates Holocene on Tue Nov 26 15:00:00 UTC 2024 (unix ts 1732633200). This comprises op, base, mode, metal, and zora.

What's Changed

  • core/types/rollup.go: add unscaled version of EstimatedL1Size and rename EstimatedDASize by @roberto-bayardo in #424
  • interop: experimental sequencer executing message check support by @protolambda in #372
  • interop: Ingress Filtering for Interop Enabled Mempool by @axelKingsley in #422
  • miner: remove tcount adding after miner.commitTransaction by @islishude in #419
  • miner/payload_builder_test.go: fix name of payload building test by @roberto-bayardo in #423
  • Prepare Holocene devnet & testnet release by @sebastianst in #429
  • Update superchain-registry to include metal-sepolia by @sebastianst in #431

New Contributors

Full Changelog: v1.101411.1...v1.101411.2

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.2

v1.101411.1

11 Nov 12:23
4539f2d
Compare
Choose a tag to compare

❗ It is strongly recommended for all chain operators to upgrade to this release.

Batcher Sequencer Throttling (#421)

This release contains a new batcher-driven sequencer-throttling control loop. This is to avoid sudden spikes in L1 DA-usage consuming too much available gas and causing a backlog in batcher transactions. The batcher can throttle the sequencer’s data throughput instantly when it sees too much batcher data built up.

See the op-stack v1.9.5 release notes for more background information and configuration details.

What's Changed

New Contributors

Full Changelog: v1.101411.0...v1.101411.1

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.1

v1.101411.0 - upstream geth v1.14.11 merge

21 Oct 15:12
d5a9661
Compare
Choose a tag to compare

This release contains the upstream go-ethereum changes until v1.14.11 (#396).

What's Changed

  • core/vm: evm options to ignore max-bytecode-size and support caller overriding by @protolambda in #366
  • fork.yaml: document pathdb journal change by @protolambda in #369
  • internal/sequencerapi,miner: move conditional rate limiter to the rpc layer instead of miner by @hamdiallam in #377
  • Holocene: handle Holocene l1 attributes in l1 data fee computation by @roberto-bayardo in #384
  • fix: Only apply effective gas limit when building new blocks by @BrianBland in #394
  • Revert "Holocene: handle Holocene l1 attributes... by @roberto-bayardo in #393
  • Update op-geth depdency to 1.14.11 base by @0x00101010 in #396

New Contributors

Full Changelog: v1.101408.0...v1.101411.0

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.0

v1.101408.0 - Optimistic Granite Mainnet release

29 Aug 16:24
5c2e758
Compare
Choose a tag to compare

✨🔴 Optimistic Granite Mainnet Release

❗ Mainnet operators are required to update to this release to follow the chain post-Granite. This release contains an optimistic Granite Mainnet activation time of Wed 11 Sep 2024 16:00:01 UTC.

The corresponding monorepo op-node release is op-node/v1.9.1.

Optimism Governance Voting Cycle 26

The Granite activation contained in this release is still subject to approval during the currently ongoing Optimism Governance voting cycle 26, see the Governance Proposal of the Granite Protocol Upgrade. The reflection voting period ended on Aug 28 while the veto period ends on Sept 4, 19:00 UTC.

In the unlikely event that the veto period ends in a veto, we will publish a Veto Release. The granite activation can also be disabled by setting the override.granite configuration flag to a date in the far future, e.g. --override.granite 2281580442. Always confirm in startup logs that overrides have been applied correctly.

State Scheme Highlights

Per recently introduced changes from upstream geth (from the upstream Asteria release):

  • The default state trie representation is changed from hash mode to path mode (i.e. --state.scheme flipped from hash to path). Users running full nodes must specify --state.scheme=hash if they're currently using hash-based db. Otherwise, op-geth will assume a path state scheme and will fail to follow the chain. Archive nodes do not need to specify --state.scheme as they will continue to run on hash mode.
  • That said, it's recommended that full nodes switch to the path-based state scheme as it's much more performant. The main advantage is built-in, online historical state pruning; no more runaway state growth. This will require a re-sync if the existing database uses the hash scheme.

What's Changed

New Contributors

Full Changelog: v1.101315.3...v1.101408.0

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101408.0