Releases: OffchainLabs/nitro
Arbitrum Nitro v2.2.0 Release Candidate 1
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
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
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
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
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
Arbitrum Nitro v2.2.0 Alpha 5
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-alpha.5-09d45c1
What's Changed
This release adds backup transaction forwarding and feed URLs, improves batch poster reliability especially for L3 chains, and fixes a go-ethereum triedb issue compared to the last alpha release.
User-facing improvements
- Add backup transaction forwarding URLs: #1975
- Add backup transaction submission RPC URLs to arb1 chain information: #1985
- Add backup feed URLs to chain information: #1958
- Increase the default BatchPosterConfig MaxSize for DAS chains to ~1MB: #1982
Internal highlights
- Use normal gas estimation when possible in the batch poster: #1986
- Pull in go-ethereum fixes: #1987
- Pulls in OffchainLabs/go-ethereum#270 and OffchainLabs/go-ethereum#272
- Merge in upstream go-ethereum v1.12.2: #1973
- Don't re-request parent block if same block as previous block: #1977
- Allow orbit chains to add additional transaction validity checks: #1956
- Fix retryable scheduling gas usage: #1980
- Rpcclient: retry delay: #1957
- Bump fastcache pin to latest master: #1984
- Pulls in OffchainLabs/fastcache#1
Full Changelog: v2.2.0-alpha.4...v2.2.0-alpha.5
Arbitrum Nitro v2.2.0 Alpha 4
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-alpha.4-7d5ee32
What's Changed
This release fixes retryable transaction processing, which was broken in https://github.com/OffchainLabs/nitro/releases/tag/v2.2.0-alpha.2 and https://github.com/OffchainLabs/nitro/releases/tag/v2.2.0-alpha.3. If either of those versions were used, you should restore with a database backup taken before either alpha release was used.
User-facing improvements
- Resolve configuration issue with datool: #1963
- Fix processing retryable transactions and add regression test for the empty retryable escrow account: #1976
Internal highlights
- Fix unit test race conditions: #1974
- Sequence delayed initially when starting without coordinator: #1952
- Fix the check for duplicate sequencerBatches in inbox_reader: #1970
Full Changelog: v2.2.0-alpha.3...v2.2.0-alpha.4
Arbitrum Nitro v2.2.0 Alpha 3
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-alpha.3-4b5133e
Warning
This release does not process retryable transactions correctly. Alpha 4 will fix this issue.
What's Changed
This release fixes an issue introduced in [v2.2.0-alpha.1]
(https://github.com/OffchainLabs/nitro/releases/tag/v2.2.0-alpha.1).
User-facing improvements
- Fix issue introduced in v2.2.0-alpha.1 that caused sequencer feed to be ignored: #1972
Full Changelog: v2.2.0-alpha.2...v2.2.0-alpha.3
Arbitrum Nitro v2.2.0 Alpha 2
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.0-alpha.2-0230f42
Warning
This release does not process retryable transactions correctly. Alpha 4 will fix this issue.
What's Changed
This release finishes support for custom chains with custom smart contract size limits compared to the last alpha release.
User-facing Improvements
- Add support for consensus v10.3 to Dockerfile: #1971
Internal Highlights
- Merge in upstream go-ethereum v1.12.1: #1903
- Make “error posting batch” error just a warning unless it happens continuously: #1965
Full Changelog: v2.2.0-alpha.1...v2.2.0-alpha.2
Consensus V10.3
This release signifies a consensus version, and is not necessarily a good version to run a node on
This release is backwards compatible and not required except for use in custom chains that set a custom maximum smart contract code size limit.
WAVM Module Root: 0xf559b6d4fa869472dabce70fe1c15221bdda837533dfd891916836975b434dec
This contains the following consensus change from consensus v10.2:
- Make contract size limit configurable: OffchainLabs/go-ethereum#255
Full Changelog: consensus-v10.2...consensus-v10.3