Releases: OffchainLabs/nitro
Arbitrum Nitro v2.0.9
This release will be required by December 14th for testnets and December 15th for mainnets. It is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.0.9-51f9452
What's Changed
This release contains support for consensus v10, and adds support for running a validator without archive mode, along with various fixes and improvements.
User-facing Improvements
- Validation on non-archive node: #1207
- Add option to download genesis state archive using IPFS url: #1270
- Set new TxLookupLimit default value to better target 1 year: #1351
- Add logging to file option: #1319
- Add support for geth's DebugAPI: #1353
- IPFS Backend for daserver: #1337
Internal Highlights
- Resequence removed messages when a reorg occurs: #1243
- Merge in upstream geth v1.10.25: #1275
- Track l1 gas receipts: #1304
- Handle feed reorgs: #1230
- JIT validator preimages protocol: #1219
- Immediately try to post another batch if we just posted one: #1318
- Don't send feed cache if requested seqnum is too old: #1349
- Include failed connect register in metric counting: #1329
- Do not connect to feed until node caught up to L1: #1348
- Optimize arbitrator some more: #1309
- Fix config fetching lambdas: #1371
Full Changelog: v2.0.8...v2.0.9
Arbitrum Nitro v2.0.9 Release Candidate 1
What's Changed
This release contains support for consensus v10, and adds support for running a validator without archive mode, along with various fixes and improvements.
User-facing Improvements
- Validation on non-archive node: #1207
- Add option to download genesis state archive using IPFS url: #1270
- Set new TxLookupLimit default value to better target 1 year: #1351
- Add logging to file option: #1319
- Add support for geth's DebugAPI: #1353
- IPFS Backend for daserver: #1337
Internal Highlights
- Resequence removed messages when a reorg occurs: #1243
- Merge in upstream geth v1.10.25: #1275
- Track l1 gas receipts: #1304
- Handle feed reorgs: #1230
- JIT validator preimages protocol: #1219
- Immediately try to post another batch if we just posted one: #1318
- Don't send feed cache if requested seqnum is too old: #1349
- Include failed connect register in metric counting: #1329
- Do not connect to feed until node caught up to L1: #1348
- Optimize arbitrator some more: #1309
- Fix config fetching lambdas: #1371
Full Changelog: v2.0.8...v2.0.9-rc.1
Consensus V10
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0x6b94a7fc388fd8ef3def759297828dc311761e88d8179c7ee8d3887dc554f3c3
This contains the following consensus changes from consensus v9:
- Track l1 gas receipts: #1304
Full Changelog: consensus-v9...consensus-v10
Arbitrum Nitro v2.0.8
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.0.8-5b9fe9c
What's Changed
This release contains support for consensus v9, which will be required by November 8th to allow for future validators without archive nodes, along with various fixes and improvements.
User-facing Improvements
- Tx Tips in L2 (will be enabled at a future point in time after discussion with community): #1253
- Include block number in blockhash for empty L1 blocks: #1229
- Continue running L2 nitro node when L1 is unavailable by including gas cost in batch posting report message when parsing (requires relay upgrade): #1214
- Fix L1 block number being one too high: #1250
- Add arbtrace_* calls forwarding: #1188
- Add livenessprobe to feed: #1235
- Replace panics on startup with nicer exits: #1224
- [Instrumentation] Add Pprof Support to Nitro: #1233
- Use batchposter address for gascap adjustment (fixes gas cap handling with data gas): #1256
- Add consensus v9 WASM machine to docker: #1282
- Log an error when an unsupported ArbOS upgrade is scheduled: #1284
- Deploy token bridge with test node using sdk: #1189
Internal Highlights
- Deterministic statedb in record/replay: #1213
- Instead of panicking, make a fatal error when node is out of date: #1200
- Timeout sequencer requests if they have been sitting in queue too long: #1203
- Ensure we don't exceed MaxDecompressedLen in batch poster: #1239
- Always try to post the next transaction in the batch poster: #1260
- Handle unexpected relay input on connect: #1201
- Coordinator sign asymmetric: #1136
- Don't accept ArbitrumLegacyTxType in decodeTyped: #1269
- Error when the L1 client returns bad transaction data instead of panicking: #1216
- Add nonce cache to sequencer: #1175
- Initialize validator wallet early (fixes startup logs): #1202
- Add support for database format versions: #1225
- Generally saturate and log a warning instead of erroring on overflow: #1245
- Improve logging when feed goes down: #1240
- Add extra metric to measure rate new connections are made: #1267
- Fix full challenge tests: #1274
Config Changes
- The sequencer redis signing options have been changed in #1136
Full Changelog: v2.0.7...v2.0.8
Consensus V9
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0xd1842bfbe047322b3f3b3635b5fe62eb611557784d17ac1d2b1ce9c170af6544
Note that consensus v8 was skipped, as this release includes support for ArbOS versions 8 and 9.
This contains the following consensus changes from consensus v7.1:
- Include block number in blockhash for empty L1 blocks (in ArbOS version 8): #1229
- Fix L1 block number being one too high (in ArbOS version 8): #1250
- Enable transaction tips in L2 (in ArbOS version 9): #1253
Full Changelog: consensus-v7.1...consensus-v9
Consensus V7.1
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0x2b20e1490d1b06299b222f3239b0ae07e750d8f3b4dedd19f500a815c1548bbc
This contains the following consensus changes from consensus v7:
- Deterministic statedb in record/replay: #1213
Full Changelog: consensus-v7...consensus-v7.1
Arbitrum Nitro v2.0.7
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.0.7-10b845c
What's Changed
This release contains various validator improvements and fixes, along with IPC RPC support for easy local RPC access.
User-facing Improvements
- Allow for an EOA validator wallet (has config changes): #1161
- Allow validator smart contract wallet to be specified: #1151
- Validator shouldn't require deprecated parameter: #1181
- Improve validator logging around invalid assertions and whitelisting: #1196
- Add ipc rpc support: #1156
- Fix jit validator shutdown cancellation: #1179
- Testnode updates and fixes: #1164
Internal Highlights
- Jit path: #1192
- Orderly sequencer shutdown: #1163
- Don't assume validator succeeded: #1195
- Ensure feed ping gets sent regardless of other traffic: #1159
- No live sequencer log should be error: #1169
- Add sequencer backlog gauge metric: #1168
- Life cycle controlled by node: #1166
Config Changes
- Validators using a smart contract wallet (the previous behavior) will now need to specify
--node.validator.use-smart-contract-wallet
as the new default is to use an EOA wallet.
Full Changelog: v2.0.6...v2.0.7
Arbitrum Nitro v2.0.6
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.0.6-92bc70d
What's Changed
This release fixes Prometheus metrics, and fixes the JIT validator in docker networking.
User-facing Improvements
Internal Highlights
Full Changelog: v2.0.5...v2.0.6
Arbitrum Nitro v2.0.5
What's Changed
This release provides a number of improvements to the sequencer and validator systems as well as adding support for consensus v7. It also contains a number of minor bug fixes and an extension of the hot config reloading mechanism.
User-facing Improvements
- Use JIT validator by default: #1113
- use cranelift by default: #1124
- Have sequencer sign each feed message and nodes validate signatures: #986
- more hot reloadable config options and on-config-reload hook: #1057
- Add consensus v7 WASM machine to docker: #1131
- Smart
arbdebug
interval: #1101
Internal Highlights
- Add modular data poster to allow batch poster to queue up txs: #877
- simple redis lock for batch poster: #958
- Recover latest state if missing in transaction streamer: #1106
- Add basic feed metrics for server and client: #1118
- Allow enabling sequencer without delayed sequencer: #1116
- Refactor sync monitor component: #980
- log when StopWaiter takes too long to stop: #1095
Full Changelog: v2.0.4...v2.0.5
Consensus V7
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0x53dd4b9a3d807a8cbb4d58fbfc6a0857c3846d46956848cae0a1cc7eca2bb5a8
This contains the following consensus changes from consensus v6:
- Use two's complement in StorageBackedBigInt: #1112
Full Changelog: consensus-v6...consensus-v7