Releases: ethereum-optimism/optimism
Release op-node, op-batcher, op-proposer v1.1.3
This is a minor release and upgrading is optional.
User Facing Changes
- The default network timeout in the batcher & proposer has been increased to 10s
- We have added flag to select the new sepolia test network (
--network=sepolia
). - P2P Peer Scoring is now enabled by default on the op-node.
Breaking Change Notice: The default address for the metrics, rpc, & pprof servers will be changing from 0.0.0.0 to 127.0.01 in a future release for the op-node, the op-batcher, & the op-proposer.
Partial Changelog
- op-geth: Update to latest op-geth with upstream 1.12.0 changes by @ajsutton in #6155
- op-node: safer genesis script by @tynes in #6456
- txmgr: Increase default network timeout to 10s by @ajsutton in #6464
- op-node: add sepolia config by @tynes in #6461
- op-node: Enable peer scoring by default. by @ajsutton in #6539
- op-node: New Sepolia config by @trianglesphere in #6758
New Contributors
- @zqhxuyuan made their first contribution in #6417
Full Changelog: v1.1.2...op-node/v1.1.3
Docker Images
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.3
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.1.3
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.1.3
Release op-node,batcher,proposer v1.1.2
This is a minor release and upgrading is optional.
User Facing Changes
- Overwrite bootnodes if
--p2p.bootnodes
is provided in the op-node. - Updates to P2P scoring
- Adds
admin_sequencerActive
RPC method to the op-node
Docker Images:
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.2
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.1.2
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.1.2
Partial Change Log
- op-service: Log a warning when an RPC request has to be retried by @ajsutton in #6070
- op-node: Add peer score diffs to increment and decay application scores by @ajsutton in #6068
- fix: overwrite bootnodes if --p2p.bootnodes provided by @keroro520 in #6060
- op-node: log shutdown before releasing client waitgroup by @protolambda in #6101
- go: update to urfave v2, merge endpoint-monitor and op-heartbeat into main go module by @protolambda in #6098
- op-node: Add application specific peer scores for p2p alt-sync by @ajsutton in #6069
- require fee increase & gas re-estimation for retried transactions by @roberto-bayardo in #6031
- op-node: Add metrics for p2p sync application scores by @ajsutton in #6115
- fix(docs/op-stack): Changes related to the move from hardhat to foundry by @qbzzt in #6147
- op-node: Persist synchroniser state by @ajsutton in #6105
- op-node: Add
admin_sequencerActive
RPC method by @ajsutton in #6190 - op-node: Reduce weight and cap for p2p sync error responses. by @ajsutton in #6252
- op-node: Set DialBackoff when dialing op-geth by @trianglesphere in #6304
- Add Base Mainnet chain ID and contracts by @wilsoncusack in #6315
New Contributors
- @0x00101010 made their first contribution in #6097
- @LiveDuo made their first contribution in #6167
- @cspannos made their first contribution in #6179
- @pengin7384 made their first contribution in #6165
- @wilsoncusack made their first contribution in #6315
- @Kelvyne made their first contribution in #6324
Full Changelog: op-node/v1.1.1...v1.1.2
Release op-node, op-batcher, op-proposer v1.1.1
This is a minor release and upgrading is optional.
User Facing Changes
- Fix incompatibility with Erigon when using
--rpc-kind=erigon
by usingerigon_getBlockReceiptsByBlockHash
rather thaneth_getBlockReceipts
- Adds additional metrics to op-batcher for pending L2 transaction data size.
- Detect method not supported responses from Alchemy to enable automatic fallback for receipt fetching modes.
- Upgrade go-libp2p-pubsub to resolve a rare race condition in FirstSeenCache.
Docker Images:
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.1
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.1.1
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.1.1
Partial Changelog
- contracts-bedrock: simplify hh config for mainnet by @tynes in #5857
- feat(ctb): Copy goerli Lib_AddressManager deployment to bedrock by @maurelian in #5853
- op-e2e: Fix bug in TestWithdrawals by @jyellick in #5931
- op-node: support erigon_getBlockReceiptsByBlockHash by @protolambda in #5935
- op-batcher: Add metrics for pending L2 transaction data size by @trianglesphere in #5865
- docs(readme): Cleanup the readme post-bedrock by @refcell in #5934
- op-geth: Pull in latest op-geth changes (v1.101106.0-rc.2) by @ajsutton in #5938
- cleanup: delete l2geth-exporter by @tynes in #5932
- op-node: TestChannelBankInterleaved by @trianglesphere in #5936
- contracts-bedrock: deploy time checks by @tynes in #5711
- fix(docs): Update contracts directory references by @refcell in #5966
- deps: bump forge-std to the latest release by @tynes in #5978
- contracts-bedrock: add withdrawal network and make withdrawal minimum configurable by @dapperscene6 in #5886
- fix UUID related compile failure by @roberto-bayardo in #5995
- op-chain-ops: delete migration code by @tynes in #5996
- make extradata configurable for the genesis block generator by @roberto-bayardo in #5974
- op-batcher: Fix intermittency in TestChannelBuilder_PendingFrames_TotalFrames by @ajsutton in #5989
- op-node: Require peer scoring params to be valid if set by @ajsutton in #5991
- op-node: fix chain ID/hash check errors by @protolambda in #6004
- Support non-legacy L2 deployments with optional governance by @roberto-bayardo in #5986
- devnet: unify tooling for how to bring up devnet by @tynes in #6010
- contracts-bedrock: Convert Echidna tests to Forge invariants for ResourceMetering by @Ratimon in #5985
- unify genesis factories by @roberto-bayardo in #6013
- op-node: Fix TestMultiPeerSync flakiness by @ajsutton in #6002
- op-node: handle -32600 receipts err code, and always fallback to err msg by @protolambda in #6019
- op-node: Use single option for peer scoring level by @ajsutton in #6001
- contracts-bedrock: delete multisig package for upgrade by @tynes in #6018
- op-node: Upgrade go-libp2p-pubsub to resolve panic in FirstSeenCache. by @ajsutton in #6032
- contracts-bedrock: tightly pack creation timestamp by @tynes in #6020
New Contributors
- @jyellick made their first contribution in #5931
- @nitantchhajed made their first contribution in #5962
- @dapperscene6 made their first contribution in #5886
Full Changelog: op-node/v1.1.0...op-node/v1.1.1
@eth-optimism/indexer@0.6.0
- #5741 : Adds support for Dai token
Bedrock Mainnet: op-node, op-batcher, op-proposer v1.1.0
This is the mainnet release for Optimism Bedrock.
It contains the baked in mainnet config (i.e. --network=mainnet
).
Docker Images:
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.0
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.1.0
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.1.0
op-contracts/v1.0.0: Bedrock Contracts Release
This is the official release of the smart contracts used in the Bedrock upgrade on OP Mainnet. The set of L1 contracts released by this version is:
- AddressManager: Latest (this has no version)
- L1CrossDomainMessenger: 1.4.0
- L1ERC721Bridge: 1.1.1
- L1StandardBridge: 1.1.0
- L2OutputOracle: 1.3.0
- OptimismMintableERC20Factory: 1.1.0
- OptimismPortal: 1.6.0
- SystemConfig: 1.3.0
Release op-node, op-batcher, op-proposer v1.0.9
This is a minor release and upgrading is optional.
User Facing Changes
- Adds a flag to the batcher
--compressor
which selects the kind of compressor to use. Currently defaults to aratio
compressor which is the previous compressor. Users can switch to ashadow
compressor which continually flushes in a shadow compressor to better estimate the actual compression ratio.
🚢 Docker images are available on GCR
Partial Changelog
- [op-batcher] Add Compressor abstraction, and new implementation with shadow compression by @mdehoog in #5455
- op-node: Remove ConnGater and ConnMngr constructors from p2p config by @ajsutton in #5733
- op-node: Modify p2p unsafe sync rate limits by @trianglesphere in #5684
- op-node: Add extended peer store to store scores by @ajsutton in #5746
Full Changelog: v1.0.8...v1.0.9
Release op-node, op-batcher, op-proposer v1.0.8
This is a minor release and upgrading is optional.
User Facing Changes
- Environment Variables with the
OP_COMPONENT
prefix that do not match known flags will be warned about at startup. This will not prevent the node from starting.
🚢 Docker images are available on GCR
What's Changed
- op-stack: Validate prefixed Environment Variables by @trianglesphere in #5625
- feat(op-node): Stub Mainnet Chain Config by @refcell in #5646
- feat(pops): Dispute Game Factory by @refcell in #5650
- feat: Add devxpod as codeowners for various packages by @roninjin10 in #5628
- ci: Fix proxyd build by @mslipper in #5665
- op-node: Add metrics recording the time spent waiting for L1 requests by @ajsutton in #5657
- ci: Release job by @mslipper in #5666
- fix(proxyd): use correct context for auth by @felipe-op in #5654
- message-utils: use BigNumber by @tynes in #5668
- ci: Update tag regex to recognize proxyd by @mslipper in #5667
- Add 4-26 transaction delays post-mortem by @mslipper in #5663
- refactor(proxyd): prevent direct access to backend state struct in consensus poller by @felipe-op in #5664
- fix(proxyd): eth2 block tags {safe, finalized} should be valid tag values and avoid cache by @felipe-op in #5656
- feat(sdk): Update
message-utils
to mimicMigrateWithdrawalGasLimit
by @clabby in #5658 - op-node: Don't invoke p2p unsafe sync for old L2 blocks by @trianglesphere in #5626
- feat(ctb): SafeCall send function to call with zero calldata bytes by @refcell in #5675
- feat(pops): Bond Manager by @refcell in #5649
- feat(migration): Mimic
xdm.baseGas
inmigrate.go
by @clabby in #5648 - feat(proxyd): add limit to consensus block lag by @felipe-op in #5652
- feat(proxyd): moar consensus metrics by @felipe-op in #5674
- Use strings package to check for a prefix by @trianglesphere in #5653
- feat(contracts-periphery): create Faucet contract by @tremarkley in #5595
- op-program: Update goerli verification script to handle long safe head stalls by @ajsutton in #5686
- build(deps): bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible by @dependabot in #5691
- fault-detector: contract address override for custom op-chains by @hamdiallam in #5692
- op-program: Remove println by @trianglesphere in #5689
- feat(ctp): add changeset for new faucet contract by @tremarkley in #5688
- fault-detector: add readme for custom op-chains (+ bugfix) by @hamdiallam in #5701
- op-chain-ops: better comments by @tynes in #5699
- Remove unused config for final-migration-rehearsal network by @maurelian in #5700
- fix(op-node): Remove Deprecated Public rpc.Api Field by @refcell in #5712
- feat(proxyd): prevent banning out-of-sync backend by @felipe-op in #5694
Full Changelog: v1.0.7...v1.0.8
Release op-node, op-batcher, op-proposer v1.0.7
This is a minor release and upgrading is optional. There are no user facing changes or known bugs fixed in this release.
🚢 Docker images are available on GCR
What's Changed
- maint: update README to fix Optimism wording by @smartcontracts in #5575
- feat(ctb): Use named vars for reused config addresses by @maurelian in #5577
- op-program: Ensure go routines all complete cleanly by @ajsutton in #5574
- fix(spec): Update
IAttestationDisputeGame
spec by @clabby in #5583 - Update docker files to use golang:1.19.9 and alpine3.16 by @ajsutton in #5585
- op-geth: Update for 1.11.6 changes by @ajsutton in #5514
- op-e2e: Add FPP test for empty blocks by @Inphi in #5573
- op-chain-ops: check-migration-quick by @tynes in #5589
- Update differential testing script to geth 1.11.6 by @trianglesphere in #5588
- fix: Markdown base link by @refcell in #5591
- op-e2e: Fix flaky TestVerifyL2OutputRootEmptyBlock by @Inphi in #5592
- op-program: Re-add caching wrapper to oracles. by @ajsutton in #5587
- ops-bedrock: Remove unused OFFLINE_GAS_ESTIMATOR envar by @Inphi in #5593
- feat: Introduce a new op-challenger service for PoPs by @refcell in #5568
- op-program: Allow new named chains to be added without the op-geth config by @ajsutton in #5596
- feat(contracts-bedrock): Gnosis Safe Tx Hash Validation by @refcell in #5553
- sdk: deposit eth task delete dead code by @tynes in #5600
- proxyd: re-write block tags to enforce consensus by @felipe-op in #5586
- proxyd: externalize configs by @felipe-op in #5594
- op-proposer,txmgr: Cleanup flags by @trianglesphere in #5584
- proxyd/fix: error rate tolerance by @felipe-op in #5606
- ci: Add go.mod and go.sum to rebuild all patterns by @ajsutton in #5598
- op-program: Improve logging to differentiate between L1 and L2 fetch errors by @ajsutton in #5599
- fix: Re-export json in typescript deploy-configs by @refcell in #5607
- feat(pops): Challenger Config Logic by @refcell in #5602
- feat(pops): Challenger Metrics by @refcell in #5604
- fix(op-proposer): Make Info and Up Fields Unexported by @refcell in #5610
- fix(op-batcher): Unexport Metrics Fields by @refcell in #5612
- op-e2e: wait for observed seq reorg in TestMissingBatchE2E by @Inphi in #5614
- ci: Add proxyd GCR docker deployment by @mslipper in #5615
- op-program: Setup CI job to periodically verify goerli outputs by @ajsutton in #5576
- ci: Change bedrock link checker to run nightly instead of on every PR by @ajsutton in #5597
- proxyd/fix: rewrite should support BlockNumberOrHash by @felipe-op in #5618
- proxyd: skip peer count config per backend by @felipe-op in #5619
- proxyd/nit: adjust log level by @felipe-op in #5620
- feat(pops): Main Challenger Binary Logic by @refcell in #5617
- feat(ctb): Fix proxy.sol change admin interface by @maurelian in #5621
- feat(op-service): Refactor Service Utilities by @refcell in #5622
- feat(sdk): Add a bedrock warning by @roninjin10 in #5627
- feat(pops): Refactor Challenger for Testability by @refcell in #5624
- ci: Exclude explorer.optimism.io from link checker. by @ajsutton in #5632
- ci: Increase timeout for op-program verifying goerli. by @ajsutton in #5631
- Add Base Goerli chain ID and addresses to JS SDK by @mdehoog in #5623
- fix(op-proposer): Missing CheckRequired Invocation by @refcell in #5635
- feat(pops): Clobbered pops/dispute-game-contracts, seaport-style by @refcell in #5630
- fix(ctb): Remove unused mainnet artifact by @maurelian in #5642
- feat(pops): Dispute Game Contract Interfaces by @refcell in #5643
- feat(pops): Flag Tests for the Challenger by @refcell in #5634
Full Changelog: v1.0.6...v1.0.7
op-node, op-batcher, op-proposer v1.0.6
This is a minor release and upgrading is optional
What's Changed
- The batcher now supports multiple pending transactions.
- It can be configured with
OP_BATCHER_MAX_PENDING_TX
- The default is to have a single pending transaction.
- It can be configured with
- The batcher better handles properly closing L1 channels on L2 reorgs
POLL_INTERVAL
in the batcher & proposer is no longer a required flagOP_BATCHER_SUB_SAFETY_MARGIN
is no longer a required flag & defaults to 10.- The
beta-1
config has been removed from the op-node.
Partial Change Log
- [op-batcher] Add support for multiple batcher transactions per L1 block by @mdehoog in #5398
- fix(op-chain-ops): Compute local output root with op-node exported function by @refcell in #5533
- op-batcher,proposer: Default previously required flags by @trianglesphere in #5510
- op-node: Remove beta-1 config by @ajsutton in #5535
- devnet: Delete unused flags by @trianglesphere in #5537
- op-batcher: Properly drain state on L2 reorgs by @trianglesphere in #5536
- fix: deposited tx type RLP encoding specs by @merklefruit in #5559
New Contributors
- @merklefruit made their first contribution in #5559
Full Changelog: v1.0.5...op-node/v1.0.6
Docker Images
🚢 Docker images are available on GCR