Releases: ethereum-optimism/optimism
op-challenger/v1.3.1 - L1 Pectra Readiness
Overview
This is a minor release of op-challenger includes support for the Pectra hard fork on L1. It is a required upgrade for all users prior to Pectra activating on the L1 chain.
What's Changed
- Support for Pectra on L1
- Fail immediately if the vm bin or server options (e.g.
--cannon-server
and--cannon-bin
) specify a file that does not exist.
Full Changelog: op-challenger/v1.3.0...op-challenger/v1.3.1
🚢 Docker Image:
op-node v1.11.0 - L1 Pectra Readiness
L1 Pectra Readiness Release
❗ All node operators must upgrade to this release by the time their chain's L1 activates Pectra.
❗ This release contains a breaking addition to the rollup.json
config file for op-node. See below for details if your op-node is configured with a rollup.json
file, and not via the network flag that loads the chain config from the embedded superchain-registry.
🐞 This release contains a known bug that prevents it from loading the default bootnodes, if none are provided (#14373). This is already addressed in op-node/v1.11.1-rc.1
, which will be finalized coming Monday. In the meantime, you can already test it should you run into peering issues.
L1 Pectra Readiness
This release prepares the OP Stack to handle L1 chains activating Pectra. In particular, the op-geth dependency is updated to v1.101500.0
, which contains a subset of the upstream go-ethereum v1.15.0 changes, in particular support for the new SetCode
transaction type 4 (#13958). Also see our docs for more background information regarding the upcoming Ethereum Pectra activation.
- Corresponding op-geth release: v1.101500.0
- Chain operators: also make sure to use the latest op-batcher release v1.11.1, which is aware of the changing calldata costs with L1 Prague activation.
- Fault-proof-enabled chains: update your op-challenger to v1.3.1.
Derivation Consolidation Fix (#14179)
This release also contains a critical bug-fix to derivation that caused nodes to accept Holocene blocks by sequencer gossip on Holocene-activated networks even if the local configuration didn't contain the Holocene activation timestamp. Misconfigured nodes will now reject such blocks and cause a chain split during derivation, instead of silently following a chain with a wrong local configuration.
Breaking rollup.Config
addition
This fix made it necessary to get the execution layer Optimism EIP1559 chain config (type params.OptimismConfig
in op-geth), until now only relevant to the execution layer, into the rollup.Config
of op-node. This is automatically being taken care of for chains that have their config in the superchain-registry. However, if you're configuring your op-node with a rollup.json
, you need to add the new chain_op_config
field. Unless your chain deviates from the default values, this should be:
"chain_op_config": {
"eip1559Elasticity": 6,
"eip1559Denominator": 50,
"eip1559DenominatorCanyon": 250
}
If your op-node shows the error the method debug_chainConfig does not exist/is not available
at startup, it means it couldn't load the additional configuration from the embedded superchain-registry of via the custom op-geth debug_chainConfig
rpc. You then need to add this to your rollup.json
. See #14179 for details.
Superchain-Registry Update
A recent superchain-registry is included in this release, via an update of the op-geth dependency (#14301). Going forward, the superchain-registry is updated only via op-geth, which bundles it. It isn't a separate Go module any more (#13997).
What's Changed
- Updates to work with upstream geth v1.14.12 changes by @roberto-bayardo in #13002
- op-node/rollup/derive: Reorganize
baseBatchStage
by @sebastianst in #13866 - op-node: Fix stop sequencer deadlock in op-conductor deployments by @0xVasconcelos in #13806
- chore: Refactor code to use SR2 bindings by @mslipper in #13997
- op-service: add
RequestsHash
toRPCHeader
by @geoknee in #14022 - op-node: update interop optimistic block system deposit tx sender address by @protolambda in #14023
- op-node: change default L1 cache size to 900 by @sebastianst in #14045
- Update op-geth dependency to upstream pre-v1.15.0 master merge & ignore SetCode batcher txs by @sebastianst in #13958
- op-node: Use withdrawals-root for replacement block attrs by @Inphi in #14102
- op-node,op-service: Add Timeout Flag for L2 Engine by @pengin7384 in #13853
- feat: use v4 engine APIs when Isthmus enabled by @meyer9 in #13976
- go.mod: Update op-geth dependency by @Inphi in #14187
- op-node/rollup/attributes: Add missing EIP1559Params consolidation checks by @sebastianst in #14179
- node: Ignore No-Op Unsafe Reset Requests by @axelKingsley in #14256
- Add bootnodes ran by UL by @trianglesphere in #14279
- op-node: fix p2p NAT option by @protolambda in #14280
- Update op-geth dependency to add uni-mainnet config by @sebastianst in #14301
New Contributors
- @janjakubnanista made their first contribution in #13822
- @leruaa made their first contribution in #13780
- @piguagua made their first contribution in #13781
- @pinglanlu made their first contribution in #13807
- @0xVasconcelos made their first contribution in #13806
- @MaxweLL22-22 made their first contribution in #13990
- @JosepBove made their first contribution in #14017
- @hashcashier made their first contribution in #13986
- @prateek105 made their first contribution in #14043
- @vdrg made their first contribution in #14050
- @piersy made their first contribution in #14036
- @fxfactorial made their first contribution in #14188
Full Changelog: op-node/v1.10.3...op-node/v1.11.0
🚢 Docker Image https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.11.0
op-batcher/v1.11.1
This is an optional release which introduces:
- Minor changes into batcher metrics and logging, and
- Shortens the default duration to check the active sequencer. It has been lowered from 2min to 5 seconds, to avoid DA throttling being applied too late in case of a switch in sequencer.
What's Changed
- op-batcher: handle errors more gracefully on shutdown by @geoknee in #14111
- op-service/txmgr: fix
pending_txs
metric by @geoknee in #14168 - op-batcher: Lower default active seq check duration to 5s by @sebastianst in #14213
- op-batcher: add channel_queue_length gauge metric by @geoknee in #14212
Full Changelog: op-batcher/v1.11.0...op-batcher/v1.11.1
🚢 Docker Image https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.11.1
op-batcher/v1.11.0
❗ This release contains important maintenance fixes and stability improvements. It is recommended for all operators and should be applied before Pectra activates on L1.
This release adds support for the Ethereum Pectra hardfork activating on L1. Namely, it allows the batcher to accurately compute the optimal data-availability type to use (blobs vs calldata) even if EIP-7623 is active.
What's Changed
- op-batcher: Fix concurrent map write by @mslipper in #13527
- op-batcher: remove unecessary mutex by @geoknee in #13569
- txmgr: Add custom publish error message handling by @sebastianst in #13856
- op-batcher: handle EIP-7623 in DA switching calculation by @geoknee in #13870
Full Changelog: op-batcher/v1.10.0...op-batcher/v1.11.0-rc.1
🚢 Docker Image https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.11.0
op-node/v1.10.3
ℹ️ This is an optional upgrade of op-node.
❗ However, it is strongly recommended for low-throughput chains that have typical safe head increases more than 3h apart.
L1 cache size
This release of op-node adds a new optional flag --l1.cache-size
(env var OP_NODE_L1_CACHE_SIZE
) to configure the L1 cache size. If not set (=0), a default of 2/3 the sequencing window is used. Also, the default limit of 1000 got removed, which was too low to hold more than ~3h of L1 data.
It is strongly recommended for low-throughput chains to upgrade to this release and leave this value unset. If you were observing the op-node to stall right before it was increasing the safe head, that was caused by long durations between safe head increases leading to a cold cache, which caused all L1 data to be fetched again.
OTOH if you run a node for a high throughput chain, you may want to explicitly reduce the cache, e.g. to the old value of 1000. Otherwise you may observe an increase of op-node memory consumption. 2GB used to be enough with an L1 cache of size 1000, it may need to be increased to 4-8 GB with the new default of 2400 (2/3 seq window = 2/3 * 60 * 12 * 5).
op-node changelog
- fix: First Time JWT Generation Bug by @axelKingsley in #13431
- [op-node/withdrawals] Cleanup, and support multiple withdrawal events in a single receipt by @mdehoog in #13568
- op-node/rollup/derive: add info logging by @sebastianst in #13753
- op-node,op-service: Make L1 cache size configurable by @sebastianst in #13772
- go: update SCR dependency to add Soneium Mainnet chain config by @sebastianst in #13784
Full Changelog: op-node/v1.10.2...op-node/v1.10.3
🚢 Docker Image https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.10.3
op-deployer/v0.0.11
Adds support for Holocene deployments.
L1: op-contracts/v1.8.0-rc.4
L2: op-contracts/v1.7.0-beta.1+l2-contracts
Using other contract tags will fail.
Changelog
op-deployer/v0.0.10
Changelog
- 2cbfd44 Fix typos (#13521)
- ca88943 ci: geth --netrestrict to local docker ips (#13555)
- 7dc282d clear some unused XXXScript (#13730)
- 4cd07f5 op-deployer: Add support for dumping calldata (#13680)
- 0d705b1 op-deployer: Add v1.8.0 mainnet support (#13737)
- d11d649 op-deployer: Remove unused Isthmus code path (#13668)
- 9d41b8c op-deployer: Update proof params JSON to match deploy config (#13616)
op-contracts/v1.8.0
Overview
This release is suitable for the L1 contracts as part of the Holocene network upgrade.
Full Contract Set
A chain using this contracts release must be using the following contracts at the specified semvers.
The following contracts are updated in this release:
- MIPS: 1.2.1
- SystemConfig: 2.3.0
- FaultDisputeGame: 1.3.1
- PermissionedDisputeGame: 1.3.1
And the core protocol contracts are unchanged from the prior release of op-contracts/v1.6.0:
- AddressManager: Latest (this has no version)
- AnchorStateRegistry.sol: 2.0.0
- DelayedWETH.sol: 1.1.0
- DeputyGuardianModule.sol: 2.0.0
- DisputeGameFactory: 1.0.0
- L1CrossDomainMessenger: 2.3.0
- L1ERC721Bridge: 2.1.0
- L1StandardBridge: 2.1.0
- LivenessGuard: 1.0.0
- LivenessModule: 1.2.0
- OptimismMintableERC20Factory: 1.9.0
- OptimismPortal: 3.10.0
- PreimageOracle.sol: 1.1.2
- ProtocolVersions: 1.0.0
- SuperchainConfig: 1.1.0
In addition to the above configuration Fault Proofs release, another L2OutputOracle configuration is supported by this release. When using this set of contracts, the full set of semvers is:
- AddressManager: Latest (this has no version)
- DeputyGuardianModule.sol: 2.0.0
- L1CrossDomainMessenger: 2.3.0
- L1ERC721Bridge: 2.1.0
- L1StandardBridge: 2.1.0
- L2OutputOracle: 1.8.0
- LivenessGuard: 1.0.0
- LivenessModule: 1.2.0
- OptimismMintableERC20Factory: 1.9.0
- OptimismPortal: 2.5.0
- ProtocolVersions: 1.0.0
- SuperchainConfig: 1.1.0
- SystemConfig: 2.3.0
Additional Information
There is no finalized v1.7.0
release. The release candidate for v1.7.0
was for generating L2 genesis.
op-deployer/v0.0.9
Changelog
- 38ac5e4 feat(op-deployer): add support for http locator (#13464)
- 403ae81 fix: Adding more global overrides to apply test. (#13297)
- 3fc04bc op-deployer: Add manage command for interop dependencies (#13394)
- eabf704 op-deployer: Add more FP deploy scripts (#13325)
- 4d30eea op-deployer: Add support for additional dispute games (#13346)
- 63140ba op-deployer: Bootstrap superchain command (#13294)
- 4d5d7ad op-deployer: Default gov token to disabled (#13378)
- 0d99a87 op-deployer: Fix superchain proxy admin addr method (#13361)
- 0067de0 op-deployer: Holocene deployment support (#13483)
- 12862e7 op-deployer: Remove unsued disputegame bootstrap flags (#13369)
- d6106dd op-deployer: Support output files in bootstrap (#13302)
- 39877f6 op-e2e: Fix Cannon tests (#13395)
- 6823d67 op-e2e: Nuke allocs (#13364)
op-node/v1.10.2 - Holocene Mainnet Superchain
✨🔴 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-geth 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
.
What's Changed (op-node)
- op-node: Fix panic after closing P2P by @mslipper in #13106
- op-node: update readme by @protolambda in #13164
- op-signer, op-node: Integrate op-node with op-signer for block payload signing by @mininny in #12325
- Prepare Holocene Mainnet release by @sebastianst in #13334
- op-supervisor,op-node: introduce follow/managed interop mode by @protolambda in #13285
- superchain: update registry dependency by @geoknee in #13383
Full Changelog: op-node/v1.10.1...op-node/v1.10.2
🚢 Docker Image https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.10.2