Releases: OffchainLabs/nitro
Arbitrum Nitro v2.2.5
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.5-a20a1c7
It is identical to v2.2.5-rc.1 aside from the updated version tag.
What's Changed
This release fixes retryable gas estimation, and makes a number of improvements preparing for ArbOS 20 and EIP-4844.
User-facing Improvements
- Add an option to support multiple block validation RPCs: #2071
- Handle INVALID opcode in the flatCallTracer: OffchainLabs/go-ethereum#289
- Add option to save arbitrum blobs to disk when they are fetched: #2145
Internal Highlights
- Fix retryable gas estimation: OffchainLabs/go-ethereum#290
- Error if reading authenticated batch with unknown header bits: #2147
- Gate 4844 Batch Posting on ArbOS 20: #2136
- Rename force-post-4844-blobs opt ignore-blob-price: #2144
- Move Prefetch flag from sequencer to execution node: #2137
- Add a flag to enable re-execution of a range of historic blocks: #2107
- Add P2P options: #2124
- Produce better error messages when failing to read the delayed inbox: #2135
- Error on rpc daserver configured without bls key: #2150
Full Changelog: v2.2.4...v2.2.5
Arbitrum Nitro v2.2.5 Release Candidate 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.5-rc.1-a20a1c7
What's Changed
This release fixes retryable gas estimation, and makes a number of improvements preparing for ArbOS 20 and EIP-4844.
User-facing Improvements
- Add an option to support multiple block validation RPCs: #2071
- Handle INVALID opcode in the flatCallTracer: OffchainLabs/go-ethereum#289
- Add option to save arbitrum blobs to disk when they are fetched: #2145
Internal Highlights
- Fix retryable gas estimation: OffchainLabs/go-ethereum#290
- Error if reading authenticated batch with unknown header bits: #2147
- Gate 4844 Batch Posting on ArbOS 20: #2136
- Rename force-post-4844-blobs opt ignore-blob-price: #2144
- Move Prefetch flag from sequencer to execution node: #2137
- Add a flag to enable re-execution of a range of historic blocks: #2107
- Add P2P options: #2124
- Produce better error messages when failing to read the delayed inbox: #2135
- Error on rpc daserver configured without bls key: #2150
Full Changelog: v2.2.4...v2.2.5-rc.1
Consensus V20
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4
This consensus release supports ArbOS 20, which includes support for EIP-4844 based blob batch posting to L1 and support for Cancun execution layer changes on Arbitrum chains, such as EIP-5656 MCOPY and EIP-1153 TSTORE. For more details, see the ArbOS 20 Arbitrum DAO proposal: https://forum.arbitrum.foundation/t/aip-arbos-version-20-atlas/20957
Full Changelog: consensus-v11...consensus-v20
v2.2.4
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.4-8517340
What's Changed
This release fixes an issue querying Arbitrum Classic transactions and uses the current timestamp as block.timestamp for gas estimation by default.
User-facing Improvements
- Use current timestamp for "pending" block tag instead of last block timestamp, e.g. in eth_estimateGas: OffchainLabs/go-ethereum#286
- Add an option for the inbox reader to only read safe or finalized L1 blocks: #2080
- Add a CLI option for the RPC “finalized” and "safe" block to wait for the block validator to complete: #2086
Internal Highlights
- Fix ArbitrumLegacyTxData decoding: OffchainLabs/go-ethereum#288
- Pull in geth changes to parse ABI errors: #2121
Full Changelog: v2.2.3...v2.2.4
Arbitrum Nitro v2.2.3
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.3-17468a8
What's Changed
This release improves L3 support and fixes other miscellaneous issues.
Incompatibility with older parent chain RPCs
If you get an error similar to the following on startup:
ERROR[...] failed to get on-chain WASM module root err="execution reverted: NO_FUNC_SIG"
That likely indicates that your parent chain execution client does not support the input
field for calldata for eth_call and eth_estimateGas and needs updated. Previously, this JSON field was called data
.
User-facing Improvements
- Add option to recreate missing states in archive node: #2114
- Fix getL1Confirmations on L3s: #2068
- Pause nitro node block validator validation when memory is running low: #2017
- Add support for consensus v11.1 to Dockerfile: #2091
Pending ArbOS Version 20 Improvements (work in progress)
- 4844 inbox reader: #2092 and #2115
- 4844 batch posting support: #2095
- Disable EIP-4844 batch posting by default for now: #2110
- Support and test ArbOS 20 for development: #2108
- Add missing L1 pricing getters to ArbGasInfo in ArbOS 20: #2109
- Add ArbOS precompile method to get scheduled upgrade: #2112 and #2125
Internal Highlights
- Update go-ethereum to include upstream 1.13.3: #2083 and #2104
- Fix LookupNodeChildren for L3s: #2106
- Fix delayed sequencer finality not recognizing Arbitrum: #2085
- In delayed sequencer, check accumulator against safe block hash: #2105
- Handle long sequencer URLs and fix fetching the list of live sequencers in the sequencer coordinator manager: #2067
- Stop execution node after everything else: #2049
- Prefetch state needed for future block executions by executing them in parallel against old state: #2089
- Add a check that the database chain id matches the config: #2078
- Pass From field from dataposter to external signer: #2037
- Add metrics for relay backlog size and backlog size in bytes: #2048
- Add a metric for memory used by the replay binary WASM in JIT: #2043
- Add option to disable batch poster access lists: #2077
- Log error data when available: #2120
- Add loglevel for ephemeral errors, make data poster nonce ahead of on-chain error an ephemeral error: #2020
- Add context to fatal error messages while connecting to feed: #2082
- Hide error when getting latest confirmed block: #2063
- Add WAVM KZG preimage proof: #2064
Full Changelog: v2.2.2...v2.2.3
Arbitrum Nitro v2.2.3 Beta 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.3-beta.1-3f67f04
What's Changed
This release improves L3 support and fixes other miscellaneous issues.
Incompatibility with older parent chain RPCs
If you get an error similar to the following on startup:
ERROR[...] failed to get on-chain WASM module root err="execution reverted: NO_FUNC_SIG"
That likely indicates that your parent chain execution client does not support the input
field for calldata for eth_call and eth_estimateGas and needs updated. Previously, this field was data
.
User-facing Improvements
- Fix getL1Confirmations on L3s: #2068
- Pause nitro node block validator validation when memory is running low: #2017
- Add support for consensus v11.1 to Dockerfile: #2091
Internal Highlights
- Update go-ethereum to include upstream 1.13: #2083
- Fix LookupNodeChildren for L3s: #2106
- Fix delayed sequencer finality not recognizing Arbitrum: #2085
- Handle long sequencer URLs and fix fetching the list of live sequencers in the sequencer coordinator manager: #2067
- Stop execution node after everything else: #2049
- Add a check that the database chain id matches the config: #2078
- Pass From field from dataposter to external signer: #2037
- Add metrics for relay backlog size and backlog size in bytes: #2048
- Add a metric for memory used by the replay binary WASM in JIT: #2043
- Add option to disable batch poster access lists: #2077
- Add loglevel for ephemeral errors, make data poster nonce ahead of on-chain error an ephemeral error: #2020
- Add context to fatal error messages while connecting to feed: #2082
- Hide error when getting latest confirmed block: #2063
- Add WAVM KZG preimage proof: #2064
Full Changelog: v2.2.2...v2.2.3-beta.1
Consensus V11.1
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: 0x68e4fe5023f792d4ef584796c84d710303a5e12ea02d6e37e2b5e9c4332507c4
This backports the following change from consensus v10.3 to consensus v11:
- Make contract size limit configurable: OffchainLabs/go-ethereum#255
Full Changelog: consensus-v11...consensus-v11.1
Arbitrum Nitro v2.2.2
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.2-8f33fea
What's Changed
This release fixes broken NodeInterface precompile methods, and a sequencer panic on shutdown if the sequencer coordinator is enabled but a backup sequencer isn't available.
User-facing Improvements
- Fix broken NodeInterface methods: #2059
Internal Highlights
- Fix sequencer forwarder panic on lack of targets: https://github.com/OffchainLabs/nitro/pzull/2058
- Allow the TxForwarder to be empty: #2060
Full Changelog: v2.2.1...v2.2.2
Arbitrum Nitro v2.2.1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.1-6932d66
What's Changed
This release fixes a database compaction issue affecting archive nodes, and fixes a memory leak in the relay.
User-facing Improvements
- Always broadcast feed, even when the node isn't the sequencer: #2045
- Fix Broadcaster BroadcastMessages sequence numbers: #2054
Internal Highlights
- Fix memory leak in relay: #2052
- Downgrade goleveldb fixing database compaction: #2055
- Increase TxStreamer feed queue size: #2040
- Fix race conditions in feed backlog.reset(): #2053
- Only lock redis in the batch poster when posting the batch: #2044
- Update failed to create machine locator error to a warning: #2042
- Fix enabling pprof on the relay: #2051
- Add a metric for steps taken in arbitrator validation: #2033
Full Changelog: v2.2.0...v2.2.1
v2.2.1-beta.3
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