Skip to content

Releases: ethereum-optimism/optimism

op-node, op-batcher, op-proposer v1.5.1 - Sepolia Ecotone Release

09 Feb 21:28
c934019
Compare
Choose a tag to compare

❗ Ecotone Sepolia Upgrade

This is a mandatory release for node operators on the Sepolia Superchain.
The Ecotone protocol upgrade will activate on Wed Feb 21 17:00:00 UTC 2024 on Sepolia OP Chains.

New Beacon Endpoint

It is required for Sepolia operators to configure a Beacon endpoint for op-node, because soon after the Ecotone activation, batch transactions will be sent as 4844 blobs, and blobs can only be retrieved from Beacon nodes. If you're using Lighthouse, make sure to use at least the finalized version v4.6.0 because the latest rc contains a bug in its blob_sidecars http endpoint.

The op-node provides a new configuration flag & env var for configuring the Beacon endpoint: --l1.beacon and $OP_NODE_L1_BEACON

Mainnet node operators are strongly encouraged to already get their Beacon node infra set up so that they will be ready to enable their Beacon endpoints once Ecotone activates on Mainnet. The Activation date for Mainnet will be communicated at a later date.

✨ Features

The upstream op-geth dependency is updated to v1.101308.0, which is based on upstream geth v1.13.8. This implies a change of the underlying logging framework to slog (#8917).

🐞 Bug Fixes

This release now adheres to the spec and lets op-node call the correctly-versioned methods on the EL client (#9253).

Receipts are now validated before entering the cache, fixing a bug that required restarts of op-node that got stuck during synching (#9417).

Partial Changelog

Full Changelog (monorepo): v1.5.0...v1.5.1

🚢 Docker Images

https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.5.1
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.5.1
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.5.1

op-node v1.5.1-rc.1 - Engine API version fix

05 Feb 19:47
c0d0db9
Compare
Choose a tag to compare

⚗️ This is a release candidate of the upcoming v1.5.1 release to unblock node operators using EL clients different from op-geth. It uses the correct Engine API call versions depending on the active fork.

We will conduct more internal testing before we promote this to the official latest release.

Please read the release notes of v1.5.0 for more background on Ecotone and required configuration changes for node operators.

What's Changed - op-node

Full Changelog (monorepo): op-node/v1.5.0...op-node/v1.5.1-rc.1

op-node, op-batcher, op-proposer v1.5.0 - mainnet Delta & goerli Ecotone

01 Feb 12:05
6de6b5f
Compare
Choose a tag to compare

❗Delta & Ecotone Upgrades

This is a mandatory release for node operators on Mainnet and Goerli. It includes two protocol upgrade activations

  • Delta activates on Mainnet at Thu Feb 22 00:00:00 UTC 2024
  • Ecotone activates on Goerli at Tue Feb 6 17:00:00 UTC 2024

❗ Known issue with alternative execution layer clients (like op-reth)

This release always uses the V3 methods of the Engine API when calling out to the EL client. This breaks with the upstream EL spec, which requires to use the correctly-versioned methods depending on the active fork.

The fix (#9253) is already available in the release candidate op-node/v1.5.1-rc.1. In the meantime, this release is guaranteed to work with op-geth/v1.101305.3. Note that only release from v1.5.0 contain the mainnet Delta and Goerli Ecotone activation times, so if you're running a node on these networks, you must upgrade to at least op-node/v1.5.0. On other networks, you can still use op-node/v1.4.3.

New Beacon Endpoint

It is required for Goerli operators to configure a Beacon endpoint for op-node, because soon after the Ecotone activation, batch transactions will be sent as 4844 blobs, and blobs can only be retrieved from Beacon nodes. If you're using Lighthouse, make sure to use at least the finalized version v4.6.0 because the latest rc contains a bug in its blob_sidecars http endpoint.

The op-node provides a new configuration flag & env var for configuring the Beacon endpoint: --l1.beacon and $OP_NODE_L1_BEACON

Mainnet and Sepolia node operators are strongly encouraged to already get their Beacon node infra set up so that they will be ready to enable their Beacon endpoints once Ecotone activates on Sepolia and Mainnet. Activation dates for these networks will be communicated at a later date.

✨ Features

  • Full Ecotone/4844/Cancun support.
  • ⚡ Experimental Snap Sync support in trusted environments.
  • Improved shutdown behavior of op-batcher

Partial Changelog

Affecting op-node

Affecting op-batcher & op-proposer

Ecotone/4844 specific

New Contributors (to monorepo)

Full Monorepo Changelog: v1.4.3...v1.5.0

🚢 Docker Images

https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.5.0
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.5.0
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.5.0

op-contracts v1.2.0 - Adding SuperchainConfig with extended pause functionality

23 Feb 11:21
856c08b
Compare
Choose a tag to compare

This release provides an updated version of all L1 contracts.
L2 contracts are not modified, and the op-contracts/v1.0.0 release remains the correct version for L2 contracts.

The full set of L1 contracts included in this release is:

  • AddressManager: Latest (this has no version)
  • L1CrossDomainMessenger: 2.2.0
  • L1ERC721Bridge: 2.0.0
  • L1StandardBridge: 2.0.0
  • L2OutputOracle: 1.7.0
  • OptimismMintableERC20Factory: 1.8.0
  • OptimismPortal: 2.4.0
  • SystemConfig: 1.11.0
  • SuperchainConfig: 1.1.0
  • ProtocolVersions: 1.0.0

✨ Features

This release introducing a Superchain-wide pause mechanism that can enhance protection across multiple fronts, by including it on the L1CrossDomainMessenger and withdrawals for ERC-20 and ERC-721 tokens, which are additional security critical code paths that protect user assets.

A new SuperchainConfig contract has been introduced, see the specification here.

TheOptimismMintableERC20TokenFactory is being updated with two improvements:

  1. Support for deploying a token with a custom number of decimals (PRs here and here ).
  2. Using CREATE2 to ensure that tokens with different properties do not have the same addresses on different OP Chains. (PRs here and here).

🐞 Bug Fixes

The OptimismPortal and L1CrossDomainMessenger are updated to fix an issue (which would only occur during an upgrade), resulting in some values being unnecessarily reset to their defaults after an upgrade.

op-contracts v1.3.0 - Multi-Chain Prep (MCP) L1

13 Mar 22:17
e6ef3a9
Compare
Choose a tag to compare

This release enables atomic, cross-chain upgrades and mitigates potential exploitation risks during emergency, multi-chain upgrades by transitioning chain-specific deployment configuration variables from immutables into storage. It also extends SystemConfig to contain the addresses of the network’s contracts.

Governance post: https://gov.optimism.io/t/upgrade-proposal-6-multi-chain-prep-mcp-l1/7677

The full set of L1 contracts included in this release is:

  • AddressManager: Latest (this has no version) (No change from prior version)
  • L1CrossDomainMessenger: 2.3.0
  • L1ERC721Bridge: 2.1.0
  • L1StandardBridge: 2.1.0
  • L2OutputOracle: 1.8.0
  • OptimismMintableERC20Factory: 1.9.0
  • OptimismPortal: 2.5.0
  • SystemConfig: 1.12.0
  • SuperchainConfig: 1.1.0 (No change from prior version)
  • ProtocolVersions: 1.0.0 (No change from prior version)

Contracts Changed

The following contracts would be changed as part of this upgrade. Each contract links to the pull request where the changes were made, and the bullet points corresponds to the immutable variables moved into state (in format {type} {varName}):

  1. OptimismPortal (#8629)
    • L2OutputOracle l2Oracle
    • SystemConfig systemConfig
  2. L1CrossDomainMessenger (#8631)
    • OptimismPortal portal
    • CrossDomainMessenger otherMessenger
  3. L1StandardBridge (#8632)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  4. L1ERC721Bridge (#8633)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  5. OptimismMintableERC20Factory (#8700)
    • address bridge
  6. L2OutputOracle (#8720)
    • uint256 submissionInterval
    • uint256 l2BlockTime
    • address challenger
    • address proposer
    • uint256 finalizationPeriodSeconds
  7. SystemConfig (#8772)

Partial Changelog

  • contracts-bedrock: Move broadcast modifier to inner deploy func by @maurelian in #9130
  • contracts-bedrock: delete unused sync() method by @tynes in #9100
  • feat: MCP L1 by @tynes in #9058

Full Changelog: op-contracts/v1.2.0...op-contracts/v1.3.0

Release op-contracts v1.3.0-rc.1 - Multi-Chain Prep (MCP) L1

15 Feb 12:08
e6ef3a9
Compare
Choose a tag to compare

This release enables atomic, cross-chain upgrades and mitigates potential exploitation risks during emergency, multi-chain upgrades by transitioning chain-specific deployment configuration variables from immutables into storage. It also extends SystemConfig to contain the addresses of the network’s contracts.

Governance post: https://gov.optimism.io/t/upgrade-proposal-6-multi-chain-prep-mcp-l1/7677

Contracts Changed

The following contracts would be changed as part of this upgrade. Each contract links to the pull request where the changes were made, and the bullet points corresponds to the immutable variables moved into state (in format {type} {varName}):

  1. OptimismPortal (#8629)
    • L2OutputOracle l2Oracle
    • SystemConfig systemConfig
  2. L1CrossDomainMessenger (#8631)
    • OptimismPortal portal
    • CrossDomainMessenger otherMessenger
  3. L1StandardBridge (#8632)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  4. L1ERC721Bridge (#8633)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  5. OptimismMintableERC20Factory (#8700)
    • address bridge
  6. L2OutputOracle (#8720)
    • uint256 submissionInterval
    • uint256 l2BlockTime
    • address challenger
    • address proposer
    • uint256 finalizationPeriodSeconds
  7. SystemConfig (#8772)

Partial Changelog

  • contracts-bedrock: Move broadcast modifier to inner deploy func by @maurelian in #9130
  • contracts-bedrock: delete unused sync() method by @tynes in #9100
  • feat: MCP L1 by @tynes in #9058

Full Changelog: op-contracts/v1.2.0-rc.1...op-contracts/v1.3.0-rc.1

op-node, op-batcher, op-proposer v1.4.3

26 Jan 10:03
28c3596
Compare
Choose a tag to compare

❗ This is a strongly recommended update of op-node. It brings back an important receipts validation check to the op-node, which was disabled since December '23 when the trustrpc option was set to true. There have been numerous reports of L1 rpc endpoints returning incomplete receipt lists, which could lead to localized chain splits without receipts validation. With this release, trustrpc can again safely be set to true.

Also improves some logging in the transaction manager (used by op-batcher & op-proposer).

Partial Changelog

Affecting op-batcher & op-proposer

Affecting op-node

Full Monorepo Changelog: v1.4.2...op-batcher/v1.4.3

🚢 Docker Images

https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.4.3
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.4.3
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.4.3

Release op-batcher & op-proposer v1.4.2

12 Jan 01:58
306b47d
Compare
Choose a tag to compare

⬆️ This is a recommended release for the op-batcher & the op-proposer.

It switches the compressor type to shadow by default on the batcher, adds an optional active sequencer follow mode on the batcher & proposer, & includes several bugfixes to the transaction manger.

Partial Changelog

Full Changelog: op-batcher/v1.3.0...op-batcher/v1.4.2

Docker Images

https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.4.2
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.4.2

Release op-node v1.4.2

12 Jan 02:06
f2229b8
Compare
Choose a tag to compare

✨ This is a minor release and upgrading is optional for the op-node.

This release contains two breaking changes:

  1. If trustrpc is set to true, the op-node will not validate receipts. This will be changed back to the old behavior in v1.4.3
  2. The RPC Alt Sync method is removed. There is a P2P based mechanism which is enabled by default.

What's Changed

Full Changelog: op-node/v1.4.0...op-node/v1.4.2

Docker Images

https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.4.2

Release op-node & op-batcher v1.4.0

11 Dec 23:22
Compare
Choose a tag to compare

❗ This is a mandatory release for Optimism Sepolia & Goerli and upgrading is required before 2023-12-20. This includes all features required for the Delta Network Upgade which will be activating at 1703116800 Thu Dec 21 00:00:00 UTC 2023 for Goerli & at 1703203200 Fri Dec 22 00:00:00 UTC 2023 for Sepolia.

This version also includes mainnet Canyon as in https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.3.2. This release is ready to run on mainnet.

Important Changes

  • Span Batches is added to this version of op-node & op-batcher. It will automatically activate on the op-node with the Delta network upgrade timestamp. It can be activated on the batcher by setting the --batch-type flag to 1.
  • The --engine-sync flag is being deprecated.
  • The op-node now supports dencun headers

Partial Changelog

New Contributors

Full Changelog: op-node/v1.3.2...op-node/v1.4.0