Releases: OffchainLabs/nitro
Arbitrum Nitro v3.1.0 Release Candidate 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.1.0-rc.1-2c1feee
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.1.0-rc.1-2c1feee-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release candidate adds support for ArbOS 31 and a new Anytrust filestore layout compared to v3.3.4-beta.1.
Configuration Changes
- The
--p2p.*
options were removed, as the P2P system doesn't do anything in nitro yet and was causing incompatibilities loading Arbitrum Classic blocks.
User-facing Improvements
- Add LOG opcodes to Stylus tracing: #2452
- Anytrust DAS filestore trie layout migrator and expiry: #2385
- Export redis-url for valnode: #2464
- Drop nitro p2p config options: #2462
ArbOS 31
- Stylus compilation version 2: #2425
- Separate cached from call cost: #2426
- Specify address when caching Stylus program: #2423
- Require program.version == params.Version when caching: #2435
- Add a minimum cost to Stylus return data: #2424
- ArbOS 31: #2461
Internal Highlights
- init: allow classic node exported data in db dir: #2454
- Snapshot downloading changes:
- Feed Client should log loud error when rate limited: #2458
- Fetch Published Machine to test compatibility: #2394
Full Changelog: v3.0.4-beta.1...v3.1.0-rc.1
Consensus v31
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0x260f5fa5c3176a856893642e149cf128b5a8de9f828afec8d11184415dd8dc69
This consensus release supports ArbOS 31:
- Stylus compilation version 2: #2425
- Separate cached from call cost: #2426
- Specify address when caching Stylus program: #2423
- Require program.version == params.Version when caching: #2435
- Add a minimum cost to Stylus return data: #2424
Full Changelog: consensus-v30...consensus-v31
Arbitrum Nitro v3.0.4 Beta 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.0.4-beta.1-dc84707
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.0.4-beta.1-dc84707-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release defaults to pebbledb over leveldb and supports automatically detecting the database type, and makes Anytrust DAS keysets easier to configure.
Configuration Changes
- If you're running a batch poster, non-default Anytrust DAS signermasks are no longer supported. The signermask must now be consecutive powers of two for each signer in the keyset. If this is not the case, a new keyset must be generated to be compatible with this version's batch poster. As part of this change, the signermask field in DAS keyset backends is now ignored and no longer required.
User-facing Improvements
- Make DAS backends and keyset easier to configure, fixes: NIT-2594: #2427
- Support auto-detection of database engine: #2447
- Add iostat system metrics: #2398
- Metric for any das.Aggregator Store errors: #2410
- Add GAS opcode to Stylus tracing, and after producing a fake EVM GAS opcode in a trace, add a POP afterwards: #2382
Internal Highlights
- Sequencer coordinator shouldn't want lockout if local blockchain is lagging too much behind transaction streamer: #2437
- Separate DAS keyset and batch fetching logic: #2429
- Build arbitrator.h on test-go-deps: #2438
- Update testnode pin: #2439
Full Changelog: v3.0.3...v3.0.4-beta.1
Arbitrum Nitro v3.0.3
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.0.3-3ecd01e
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.0.3-3ecd01e-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release fixes batch posting for Anytrust DAS chains, and fixes the optional Stylus program lazy recreation feature.
This release is identical to v3.0.3-rc.1.
User-facing Improvements
- Add option to disable posting new batches in dataposter (useful for clearing out current batches from mempool without posting more): #2395
- Split envvars with commas in them into a slice: #2407
- This allows for specifying e.g.
--validation.wasm.allowed-wasm-module-roots
as an environment variable instead of as a CLI option or JSON configuration option.
- This allows for specifying e.g.
- Adds additional metrics to the batch-posting path: #2369
Internal Highlights
- Remove sig from DAS writer iface, sign in client: #2433
- Fix lazy asm recreation: #2408
- Use persisted basefee in txProcessor hooks and ArbGasInfo precompile when basefee is lowered to 0: #2358
- Define a Filesystem Cache for BOLD Machine Hash Computations: #2391
- Work around duplicate response from CL: #2432
- Consensus/Execution split: simplifies ConsensusSequencer and ExecutionEngine interfaces: #2415
Full Changelog: v3.0.2...v3.0.3
Arbitrum Nitro v3.0.3 Release Candidate 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.0.3-rc.1-3ecd01e
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.0.3-rc.1-3ecd01e-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release fixes batch posting for Anytrust DAS chains, and fixes the optional Stylus program lazy recreation feature.
User-facing Improvements
- Add option to disable posting new batches in dataposter (useful for clearing out current batches from mempool without posting more): #2395
- Split envvars with commas in them into a slice: #2407
- This allows for specifying e.g.
--validation.wasm.allowed-wasm-module-roots
as an environment variable instead of as a CLI option or JSON configuration option.
- This allows for specifying e.g.
- Adds additional metrics to the batch-posting path: #2369
Internal Highlights
- Remove sig from DAS writer iface, sign in client: #2433
- Fix lazy asm recreation: #2408
- Use persisted basefee in txProcessor hooks and ArbGasInfo precompile when basefee is lowered to 0: #2358
- Define a Filesystem Cache for BOLD Machine Hash Computations: #2391
- Work around duplicate response from CL: #2432
- Consensus/Execution split: simplifies ConsensusSequencer and ExecutionEngine interfaces: #2415
Full Changelog: v3.0.2...v3.0.3-rc.1
Arbitrum Nitro v3.0.2
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.0.2-9efbc16
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.0.2-9efbc16-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release fixes a crash on startup in v3.0.1, along with fixing the consensus-v30 present in Docker for validators, and fixing an issue with the STOP opcode in the flatCallTracer.
Internal Highlights
- Re-download consensus v30 in Dockerfile: #2403
- Add nil check for the staker's DataPoster: #2404
- Improve error log when opening database: #2353
- Handle STOP opcode in flatCallTracer: #2402
Full Changelog: v3.0.1...v3.0.2
Arbitrum Nitro v3.0.1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.0.1-cf4b74e
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.0.1-cf4b74e-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
If you're running daserver committee members and/or mirrors you should update to at least this release to get an important fix to mirror eager syncing and also for batch store request chunking, see notes below.
What's Changed
This release rebuilds the wasmstore if missing on startup, and adds various configuration options.
Configuration Changes
--node.parent-chain.wallet.*
is no longer available. Keys for the batch poster and validator must now be specified with--node.batch-poster.parent-chain-wallet.*
and--node.staker.parent-chain-wallet.*
respectively.- The staker and batch poster must be run with different keys. Previously, this would produce unexpected errors as they tried to make transactions, but this will now produce a hard error on startup.
- The option for daserver
--data-availability.rest-aggregator.sync-to-storage.check-already-exists
has been removed because multiple batches can have the exact same data if they consist of only delayed messages. - The new AnyTrust option
--node.data-availability.rpc-aggregator.max-store-chunk-body-size
is the HTTP POST body size that the operator wants the chunk requests to stay under. Batch sizes are now no longer limited by HTTP limits due to chunking.
User-facing Improvements
- Add rebuilding of wasmstore as a part of node initialization: #2314
- Config option: rebuild-local-wasm: #2400
- Add batch poster dangerous config: AllowPostingFirstBatchWhenSequencerMessageCountMismatch: #2375
- Init: add option to download latest db snapshot: #2367
- Add prune-threads and prune-trie-clean-cache config option: #2389
- Add missing redis-url flag initialization for validation redis streams: #2396
Bug Fixes
- DAS l1SyncService should sync full not chunked payload: #2383
Internal Highlights
- Make sure fee > tip in validator wallet estimateGas: #2386
- Remove IterableStorageService from DAS: #2361
- Remove IPFS das factory logic and stubs: #2359
- Das batch store chunking: #2341
- Use an atomic bool for returnedResult: #2401
- Create a safety check that the batch poster and staker aren’t enabled with the same key: #2381
- Fix solgen paths with new foundry versions: #2387
Full Changelog: v3.0.0...v3.0.1
Arbitrum Nitro v3.0.1 Release Candidate 2
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.0.1-rc.2-cf4b74e
(or offchainlabs/nitro-node:v3.0.1-rc.2-cf4b74e-validator
for validators)
What's Changed
This release adds an option to disable the wasmstore eager backfill added in the last release candidate.
User-facing Improvements
- Config option: rebuild-local-wasm: #2400
Internal Highlights
- Use an atomic bool for returnedResult: #2401
Full Changelog: v3.0.1-rc.1...v3.0.1-rc.2
Arbitrum Nitro v3.0.1 Release Candidate 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.0.1-rc.1-be6fd2f
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.0.1-rc.1-be6fd2f-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release rebuilds the wasmstore if missing on startup, and adds various configuration options.
Configuration Changes
--node.parent-chain.wallet.*
is no longer available. Keys for the batch poster and validator must now be specified with--node.batch-poster.parent-chain-wallet.*
and--node.staker.parent-chain-wallet.*
respectively.- The staker and batch poster must be run with different keys. Previously, this would produce unexpected errors as they tried to make transactions, but this will now produce a hard error on startup.
User-facing Improvements
- Add rebuilding of wasmstore as a part of node initialization: #2314
- Add batch poster dangerous config: AllowPostingFirstBatchWhenSequencerMessageCountMismatch: #2375
- Init: add option to download latest db snapshot: #2367
- Add prune-threads and prune-trie-clean-cache config option: #2389
- Add missing redis-url flag initialization for validation redis streams: #2396
Internal Highlights
- DAS l1SyncService should sync full not chunked payload: #2383
- Make sure fee > tip in validator wallet estimateGas: #2386
- Remove IterableStorageService from DAS: #2361
- Remove IPFS das factory logic and stubs: #2359
- Das batch store chunking: #2341
- Create a safety check that the batch poster and staker aren’t enabled with the same key: #2381
- Fix solgen paths with new foundry versions: #2387
Full Changelog: v3.0.0...v3.0.1-rc.1
Consensus V30
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0xb0de9cb89e4d944ae6023a3b62276e54804c242fd8c4c2d8e6cc4450f5fa8b1b
This consensus release supports ArbOS 30, which includes Arbitrum Stylus and the RIP-7212 secp256r1 precompile. It's identical to consensus-v30-rc.2.
Full Changelog: consensus-v20...consensus-v30