Skip to content

Releases: OffchainLabs/nitro

v2.2.1-beta.3

24 Dec 18:54
v2.2.1-beta.3
8f55e38
Compare
Choose a tag to compare
v2.2.1-beta.3 Pre-release
Pre-release

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.1-beta.3-8f55e38

What's Changed

This release fixes an issue serving the feed compared to the last beta release.

Internal highlights

  • Fix Broadcaster BroadcastMessages sequence numbers: #2054
  • Fix race conditions in backlog.reset(): #2053

Full Changelog: v2.2.1-beta.2...v2.2.1-beta.3

v2.2.1-beta.2

23 Dec 22:54
v2.2.1-beta.2
63bcedc
Compare
Choose a tag to compare
v2.2.1-beta.2 Pre-release
Pre-release

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.1-beta.2-63bcedc

What's Changed

This release fixes a memory leak in the relay compared to the last beta release.

Internal highlights

  • Fix memory leak in relay: #2052
  • Fix enabling pprof on the relay: #2051

Full Changelog: v2.2.1-beta.1...v2.2.1-beta.2

Arbitrum Nitro v2.2.1 Beta 1

23 Dec 04:48
v2.2.1-beta.1
f546581
Compare
Choose a tag to compare
Pre-release

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.1-beta.1-f546581

What's Changed

This release improves feed reliability and batch poster reliability when using redundant batch posters.

Internal highlights

  • Only lock redis in the batch poster when posting the batch: #2044
  • Always broadcast feed, even when the node isn't the sequencer: #2045
  • Increase TxStreamer feed queue size: #2040
  • Add a metric for steps taken in arbitrator validation: #2033
  • Update failed to create machine locator error to a warning: #2042

Full Changelog: v2.2.0...v2.2.1-beta.1

Arbitrum Nitro v2.2.0

19 Dec 00:47
v2.2.0
f7dc9de
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-f7dc9de

This release will be required for the Arbitrum Sepolia testnet, and should the ArbOS 11 Arbitrum DAO vote pass, this release will be required for the Arbitrum One and Arbitrum Nova mainnets mid-January. Exact details on the timelines will be released soon.

Archive Nodes

This release has issues with database compaction on archive nodes. It's highly recommended to upgrade to v2.2.1.

ArbOS 11

This release adds support for ArbOS 11, which includes EVM Shanghai support and the PUSH0 opcode. The Arbitrum DAO forum proposal documents the full extent of the upgrade. This release will be a required upgrade for any Arbitrum networks that chose to adopt ArbOS 11.

What's Changed

This release adds support for ArbOS 11, significantly improves batch poster performance, and continues splitting the execution and consensus parts of the node.

Configuration Changes

  • The --node.caching.*, --node.forwarder.*, --node.forwarding-target, --node.parent-chain-reader.*, --node.rpc.*, --node.tx-lookup-limit, --node.sequencer.*, --node.tx-pre-checker.*, and --node.recording-database flags have all been moved from --node.* to --execution.*. E.g. --node.caching.archive is now --execution.caching.archive.
  • If you were running a sequencer with --node.sequencer.enable, you must now specify both --execution.sequencer.enable and --node.sequencer.
  • The --node.archive flag was deprecated for a while as it was being moved, and it has now been removed in favor of --execution.caching.archive.
  • If you're running your node outside of docker and haven't downloaded the WASM machine files necessary for validation, you may need to add --validation.wasm.enable-wasmroots-check=false to your config.

User-facing Improvements

  • Finalize ArbOS 11 in the node software: #2008
  • Add --dev flag to easily start up a local L2-only dev chain: #1914
  • Configuration changes for Orbit chains:
    • Change default sequencer MaxBlockSpeed to 250ms: #1927
    • Increase the default BatchPosterConfig MaxSize for DAS chains to ~1MB: #1982
  • Add support for consensus v10.3 to Dockerfile: #1971
  • Implement external signer for dataposter: #1919, #1923, and #1924
  • Create access lists for batchposter transactions to reduce storage access cost: #1905 and #1907
  • Add secondary feed support to go relay: #1908, #1944, and #1958
  • Add backup transaction forwarding URLs: #1975 and #1985

Internal Highlights

  • Refactor the sequencer feed relay backlog system: #1930
    • Add back in metric for latest confirmed sequence number: #2022
  • Merge in upstream go-ethereum v1.12.2: #1973
  • Execution service 3: initial execution-node, interface+implementation: #1537
  • Retry common RPC connection errors by default: #2013
  • Disable feed output compression by default: #2024
  • Ensure sequencer backlog is populated before any clients connect: #2025
  • Recognize batch poster backlog from the data poster: #2026
  • Increase default data poster MaxMempoolTransactions: #2023
  • Fix data poster time RLP encoding: #2014 and #2030
  • Modify fee allocation for data poster mempool txs: #2031
  • Use a moving average to determine messages per batch: #2032
  • Use normal gas estimation when possible in the batch poster: #1986
  • Check that on-chain WASM module root is compatible with node: #2006
  • Change default PrerecordedBlocks to number of CPUs * 2: #2010
    • This should significantly reduce the memory usage of the validator
  • Resolve configuration issue with datool: #1963
  • Retain new feed messages when cache is cleared: #1945
  • Cache ArbOS storage keys: #1767
  • Sequence delayed initially when starting without coordinator: #1952
  • Use new DataPoster storage encoding by default: #1954
  • Improve "execution reverted" error matching: #1955 and #2012
  • Fix retryable gas estimation when overriding gas price to zero: #1929
  • Add --log-type option for daserver to allow for JSON logging: #1925
  • Prevent double v in reported version: #1942
  • Fix typo and let potuz have a nitro PR: #1910
  • Make “error posting batch” error just a warning unless it happens continuously: #1965
  • Fix the check for duplicate sequencerBatches in inbox_reader: #1970
  • Don't re-request parent block if same block as previous block: #1977
  • Rpcclient: retry delay: #1957
  • Bump fastcache pin to latest master: #1984 (pulls in OffchainLabs/fastcache#1)
  • Fix FloatToBig overflowing on values greater than an int64: #2011
  • Add argv[0]="js" to Go in jit runtime: #2007
  • Fix missing ArgLogLimit in L1 RPC client: #2034

Full Changelog: https://github.com/OffchainLabs/nitro/compare/v2.1.3..v2.2.0

Arbitrum Nitro v2.2.0 Release Candidate 2

18 Dec 17:46
v2.2.0-rc.2
06269e0
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-rc.2-06269e0

What's Changed

This release reduces error logs in the batch poster and better picks fees to post at compared to the previous release candidate.

Internal highlights

  • Modify fee allocation for data poster mempool txs: #2031
  • Use a moving average to determine messages per batch: #2032

Full Changelog: v2.2.0-rc.1...v2.2.0-rc.2

Arbitrum Nitro v2.2.0 Release Candidate 1

16 Dec 19:26
v2.2.0-rc.1
3e36ab5
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-rc.1-3e36ab5

What's Changed

This release fixes data poster compatibility with older versions compared to the previous beta release.

Internal highlights

  • Fix queued transaction time encoding: #2030

Full Changelog: v2.2.0-beta.1...v2.2.0-rc.1

Arbitrum Nitro v2.2.0 Beta 1

16 Dec 06:37
v2.2.0-beta.1
3221e11
Compare
Choose a tag to compare
Pre-release

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-beta.1-3221e11

What's Changed

This release improves sequencer feed relay and data poster performance during periods of high data throughput compared to the last alpha release.

Internal highlights

  • Refactor the sequencer feed relay backlog system: #1930
    • Add back in metric for latest confirmed sequence number: #2022
  • Disable feed output compression by default: #2024
  • Ensure sequencer backlog is populated before any clients connect: #2025
  • Recognize batch poster backlog from the data poster: #2026
  • Increase default data poster MaxMempoolTransactions: #2023
  • Add argv[0]="js" to Go in jit runtime: #2007

Full Changelog: v2.2.0-alpha.7...v2.2.0-beta.1

Arbitrum Nitro v2.2.0 Alpha 7

13 Dec 00:16
v2.2.0-alpha.7
acba239
Compare
Choose a tag to compare
Pre-release

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-alpha.7-acba239

What's Changed

This release finalizes ArbOS 11, improves validator reliability, and fixes replace by fee in the data poster compared to the last alpha release.

User-facing improvements

  • Finalize ArbOS 11 in the node software: #2008
  • Check that on-chain WASM module root is compatible with node: #2006
  • Retry common RPC connection errors by default: #2013
  • Add support for nethermind's version of "execution reverted": #2012

Internal highlights

  • Fix data poster time RLP encoding: #2014
  • Change default PrerecordedBlocks to number of CPUs * 2: #2010
    • This should significantly reduce the memory usage of the validator
  • Validate execution node config at startup and update --dev flag parameter: #2015
  • Fix FloatToBig overflowing on values greater than an int64: #2011

Full Changelog: v2.2.0-alpha.6...v2.2.0-alpha.7

Arbitrum Nitro v2.2.0 Alpha 6

10 Dec 22:20
v2.2.0-alpha.6
138b198
Compare
Choose a tag to compare
Pre-release

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-alpha.6-138b198

What's Changed

This release fixes batch posting for L3 chains, replace by fee for validators, and external signer support compared to the last alpha release.

User-facing improvements

  • Use chain info if only given one chain info: #1998
  • Fix, improve, and test external signer support
    • Fix Validator when using external signer to use correct From address, don't require wallet for validator if external signer is enabled: #2000
    • Add e2e test for external signer, fix access list for external signer, don't require account for sequencer if batchposter with external signer is enabled: #1999
  • Make the formula to calculate max fee cap configurable and add time based factor to default formula: #1993

Internal highlights

  • Don't use access lists for L3 batch posting: #2003
  • Always initialize staker wallet: #1997
  • Clear out the channel when resetting feed timers: #2001
  • Prioritize reading messages from primary feeds over secondaries: #1978
  • Enable data availability if chaininfo dac is enabled: #1996
  • Validate that sequencer MaxTxDataSize and batch poster MaxSize are below sequencer inbox requirements: #1990
    • Fix sequencer Inbox MaxDataSize retrieval: #2004
  • Nicer log message when no blocks have been validated yet: #2002
  • Fix chain parameter default: #1994
  • Use field name instead of variable name in warning message: #1995

Full Changelog: v2.2.0-alpha.5...v2.2.0-alpha.6

Consensus V11

10 Dec 21:54
consensus-v11
df93361
Compare
Choose a tag to compare

This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on

WAVM Module Root: 0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a

This contains the following consensus changes from consensus v10:

1. EVM Shanghai support (including the PUSH0 opcode)

Recent versions of go-ethereum already includes support for the changes to the EVM made in the Shanghai L1 upgrade, but we need to enable them for Arbitrum chains. Instead of using a time based activation, it’s better to activate support based on the ArbOS version, which makes sure that even if the upgrade is delayed, Shanghai support will take effect uniformly and without causing divergences with out of date node software.

PRs:

2. Retryable fixes

Retryable fees previously always used the network fee account, instead of also using the infrastructure fee account. The infrastructure fee account should be paid fees from the basefee, and the network fee account should be paid any surplus fees when the gas price is elevated. That was correctly implemented for normal transactions, but retryables only dealt with the network fee account. Retryable redemption also reported an incorrect gas usage in the block header. This matters to Arbitrum Nova, where the infrastructure fee account pays out some fees to the Data Availability Committee members, but the network fee account does not.

PRs:

3. Fix the chain owner list returned by precompile

This change doesn’t affect the actual chain owner set, but the list being returned by the ArbOwnerPublic precompile was incorrect for Arbitrum Nova due to an internal ArbOS issue. To be clear, this does not affect who was able to make chain owner actions. As intended, only the DAO is able to make chain owner actions on Arbitrum One and Arbitrum Nova. This change only affects the list of chain owners presented by the ArbOwnerPublic precompile.

PRs:

4. Fix some precompile methods taking up all gas when reverting

Some precompile methods such as ArbSys’s arbBlockHash method took up all gas when reverting. That meant that if a transaction called arbBlockHash with an out-of-range block number, it’d use up all the gas when reverting.

PR:

5. Create missing precompile methods to view some L1 pricing parameters

The L1RewardReceipient and L1RewardRate were previously not exposed via precompiles. This change adds methods to get them to ArbGasInfo so that the current chain configuration can be easily checked.

PR:

6. Fix the possibility of a staticcall from the owner to ArbOwner emitting a log

This shouldn’t matter in practice, but it was theoretically for a staticcall from the chain owner to the ArbOwner precompile to emit a log. In the EVM, staticcalls should never be able to emit logs. This PR fixes the Arbitrum precompile logic to disallow emitting logs in staticcall contexts.

PR:

7. Fix default L1 pricing params

This shouldn’t matter for Arbitrum One and Arbitrum Nova, because these parameters were already corrected in AIP-7. However, it’s included in ArbOS version 11 so that any Arbitrum Orbit chains automatically get the correct parameters.

PR:

Full Changelog: consensus-v10...consensus-v11