Releases: ethereum-optimism/optimism
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
Release op-node, op-batcher, op-proposer v1.0.5
This is a minor release and upgrading is optional.
What's Changed
This release includes small fixes for the op-stack.
- op-node: Reader/Writer API for marshaling code by @trianglesphere in #5460
- op-e2e: Extract system test helpers by @ajsutton in #5488
- docs: remove outdated reset comment by @sam-iamm in #5494
- op-e2e: Add test for L2 txns using too much gas by @trianglesphere in #5496
New Contributors
- @sam-iamm made their first contribution in #5494
- @tremarkley made their first contribution in #5502
Full Changelog: v1.0.4...v1.0.5
🚢 Docker images are available on GCR
Release op-node,op-batcher,op-proposer v1.0.4
This is a recommended release for Optimism Goerli
Changes
This release includes several important changes.
- Fixes a panic in the batcher on nil access
- Fixes a bug where the op-node could enter a reset loop & syncing would stall.
- Improves the ability of the op-node to finalize blocks while syncing. This is important because op-geth does not store the safe head & reverts it to the finalized head on restarts. This would cause problems if op-geth was restarted while op-node was still syncing
- Uses normal (non-batched) RPC calls when
batchSize == 1
- Logging improvements
- Includes a fix to how P2P config options are applied
- Adds more metrics to the transaction manager
- Adds the ability to view all metrics in the
op-batcher
and theop-proposer
.- Run
op-batcher doc metrics
to view - Run
op-proposer doc metrics
to view - Note: This has previously worked with the
op-node
with the same command (op-node doc metrics
)
- Run
Partial Changelog
- txmgr: Fee metrics by @trianglesphere in #5409
- feat(ctb): Add local network with non-live test option by @maurelian in #5359
- op-proposer: Log on reverted transaction by @trianglesphere in #5405
- op-service/metrics: Add subsystem to event metrics by @trianglesphere in #5407
- [op-batcher] Bug: panics on nil access by @mdehoog in #5417
- [op-node] Add support for non-batched RPC calls when batchSize == 1 by @mdehoog in #5426
- op-batcher: Add Channel Bytes Counters by @Inphi in #5404
- op-node: finalize while syncing by @protolambda in #5424
- [op-node] Add support for non-batched RPC calls when batchSize == 1 (flaky test fixed) by @mdehoog in #5434
- op-node: Fix reset loop by @trianglesphere in #5421
- op-node/doc: Document op-batcher & op-proposer metrics by @trianglesphere in #5406
- op-node: L1BlockInfo MarshalBinary&UnmarshalBinary migrated to writer… by @Nickqiaoo in #5400
- op-node: fix Gossip mesh parameter CLI overrides [sherlock issue fix] by @protolambda in #5456
- fix: error log content in start.go by @nolanxyg in #5454
New Contributors
- @Nickqiaoo made their first contribution in #5400
- @nolanxyg made their first contribution in #5454
Full Changelog: v1.0.3...v1.0.4
🚢 Docker images are available on GCR
Release op-node, op-batcher, op-proposer v1.0.3
This is a minor release for Optimism Goerli and upgrading is optional.
This release primarily includes additional metrics & small bugfixes.
Partial Changelog
- op-node/p2p: Remove support for legacy gossip signing hashes by @ajsutton in #5226
- op-node: P2P req-resp alt sync method support by @protolambda in #5180
- txmgr: add more tx metrics by @shrimalmadhur in #5331
- op-batcher: Shutdown pprof and metrics after main loop returns by @sebastianst in #5345
- txmgr: Add more metrics by @trianglesphere in #5322
- op-batcher: Sanity check block for non-empty transactions by @Inphi in #5362
- op-wheel: add --allow-gaps flag to engine block building commands by @protolambda in #5368
- op-node: Log when reading channels by @trianglesphere in #5376
- op-node: Add channel_input_bytes metric by @Inphi in #5385
Full Changelog: v1.0.2...v1.0.3
🚢 Docker images are available on GCR
Release op-node, op-batcher, op-proposer v1.0.2
What's Changed
This is a recommended release for the op-batcher and op-proposer. This is a minor release for the op-node.
network-timeout
or$PREFIX_NETWORK_TIMEOUT
txmgr.send-timeout
or$PREFIX_TXMGR_TX_SEND_TIMEOUT
txmgr.receipt-query-interval
or$PREFIX_TXMGR_RECEIPT_QUERY_INTERVAL
New Flags in #5286
txmgr.not-in-mempool-timeout
or$PREFIX_TXMGR_TX_NOT_IN_MEMPOOL_TIMEOUT
- Meaning of the flag is a timeout for how long the tx manager will wait before aborting if the transaction does not make it to the mempool.
Batcher Defaults changed in #5306
- ReceiptQueryInterval is now 12s by default (was 30s)
- ResubmissionInterval is now 48s by default (was 30s)
New Flags in #5230
l1.rpc-rate-limit
: configure op-node to rate-limit requests to the L1 RPCl1.rpc-max-batch-size
: configure op-node to limit L1 RPC batch requests size (receipts may be fetched in batches, also seel1.rpckind
)l1.http-poll-interval
: configure op-node to poll L1 RPC at different interval (only applicable when using an HTTP based RPC provider)
Relevant PRs
- op-batcher: enable graceful shutdown, closing current channel by @BrianBland in #5105
- txmgr: Initialize signer and more in the tx manager proper by @trianglesphere in #5258
- txmgr: Configure timeouts better by @trianglesphere in #5283
- contracts-bedrock: delete dead SystemConfig code by @tynes in #5279
- opnode: fix comment by @s7v7nislands in #5298
- fix: sys config error message correction by @Karthik-Gupta in #5302
- txmgr: Restructure internals and add TxNotInMempoolTimeout by @trianglesphere in #5286
- op-node: Include heads in L2 reorg log entry by @Inphi in #5315
- op-service/txmgr : add tx manager metrics by @shrimalmadhur in #5295
New Contributors
- @BrianBland made their first contribution in #5105
- @Karthik-Gupta made their first contribution in #5302
Full Changelog: op-node/v1.0.1...v1.0.2
Release op-node v1.0.1
This is a recommended release for Optimism Goerli
Changes
- P2P-Metrics added #5204
- RPC poll-time fix and rate-limit functionality and New Flags in #5230
l1.rpc-rate-limit
: configure op-node to rate-limit requests to the L1 RPCl1.rpc-max-batch-size
: configure op-node to limit L1 RPC batch requests size (receipts may be fetched in batches, also seel1.rpckind
)l1.http-poll-interval
: configure op-node to poll L1 RPC at different interval (only applicable when using an HTTP based RPC provider)
- RPC receipt fetching now resets back to the preferred methods automatically, after temporarily falling back to available methods upon an RPC error that indicates the method is not available. #5231
- RPC hardening of block and header fetching: #5231
- Logger now is log-format by default if it does not detect a terminal (i.e. running in docker) (#5085)
- Can specify
terminal
,logfmt
,json
.text
meansterminal
if it detects a terminal other it meanslogfmt
color
still defaults to true if it detects a terminal. Only relevant forterminal
logging.
- Can specify
- Increase finality (on L2) speed with few batches (#5061)
- Lots of logging improvements.
🚢 Docker images are available on GCR
Release op-proposer v1.0.1
This finalizes op-proposer v1.0.0-rc.2
- Better handling of underpriced transaction in Tx Manager (#5141)
- Lots of logging improvements
- Increased timeouts for sending transactions (#5142)
- Logger now is log-format by default if it does not detect a terminal (i.e. running in docker) (#5085)
- Can specify
terminal
,logfmt
,json
.text
meansterminal
if it detects a terminal other it meanslogfmt
color
still defaults to true if it detects a terminal. Only relevant forterminal
logging.
- Can specify
Release op-batcher v1.0.1
This finalizes the op-batcher v1.0.1-rc.5 release.
- Lots of logging improvements
- Increased timeouts for sending transactions (#5142)
- Logger now is log-format by default if it does not detect a terminal (i.e. running in docker) (#5085)
- Can specify
terminal
,logfmt
,json
.text
meansterminal
if it detects a terminal other it meanslogfmt
color
still defaults to true if it detects a terminal. Only relevant forterminal
logging.
- Can specify
- Increase finality (on L2) speed with few batches (#5061)
- Better detection of L1 reorgs in the op-node(#5047)
- Now publishes the new block hash on p2p (#5055)