Releases: OffchainLabs/nitro
Arbitrum Nitro v3.3.0 Release Candidate 4
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.3.0-rc.4-5b5e179
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.3.0-rc.4-5b5e179-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release fixes a rare sequencer issue around ArbOS configuration changes compared to the last release candidate.
Internal Highlights
- Include tx compression level in calldata units cache: #2849
Full Changelog: v3.3.0-rc.3...v3.3.0-rc.4
Arbitrum Nitro v3.3.0 Release Candidate 3
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.3.0-rc.3-0bd1e2a
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.3.0-rc.3-0bd1e2a-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release fixes block validation compared to the last release candidate.
Internal Highlights
- Revert accidental change to tipReceipient: OffchainLabs/go-ethereum#386
Full Changelog: v3.3.0-rc.2...v3.3.0-rc.3
Arbitrum Nitro v3.3.0 Release Candidate 2
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.3.0-rc.2-d07d7a4
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.3.0-rc.2-d07d7a4-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release adds BoLD fraud proof support compared to the last release candidate.
User-facing Improvements
- Support the Arbitrum BoLD Challenge Protocol in Nitro: #2362
- Fix nitro-node validator docker image graceful shutdown: #2780
Internal Highlights
- Merge in upstream go-ethereum v1.14.2: #2552
- Explicitly create zombies for geth v1.14.2: #2732
- Update config description for batch poster max batch size: #2790
- Make golangci-lint 1.62.0 happy: #2785
- Bump google.golang.org/grpc from 1.64.0 to 1.64.1: #2726
- Blocks ReExecution should require --init.then-quit: #2792
- Get rid of the hardcoded list of chains in config_arbitrum.go (geth) instead use arbitrum_chain_info.json (nitro): #2658
- Remove gobwas/ws handshake extensions race condition workaround : #2793
- Move ArbOS upgrade handling to a bit later in block production: #2791
- Update AEP link: #2813
Full Changelog: v3.3.0-rc.1...v3.3.0-rc.2
Arbitrum Nitro v3.3.0 Release Candidate 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.3.0-rc.1-a81da40
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.3.0-rc.1-a81da40-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release makes miscellaneous improvements to the batch poster, Stylus execution, block validation, and merges in upstream go-ethereum v1.14.0.
Configuration Changes
--execution.caching.stylus-lru-cache
has been replaced by--execution.caching.stylus-lru-cache-capacity
which is now measured in megabytes.--blocks-reexecutor.blocks-per-thread
has been renamed to--blocks-reexecutor.min-blocks-per-thread
--chain.info-ipfs-url
and--chain.info-ipfs-download-path
have been removed, however, they were already nonfunctional in previous releases.--node.block-validator.redis-validation-client-config.producer-config.*
no longer has theenable-reproduce
, check-pending-interval,
keepalive-timeoutand
check-pending-items` config options.--validation.arbitrator.redis-validation-server-config.consumer-config.keepalive-timeout
has been removed.
User-facing Improvements
- Allow external-signer for batch-poster with DA: #2669
- Make timeout configurable for block validator jit execution: #2698
- Sort storage_flush_cache to make Stylus tracing deterministic: #2693
- Support multiple producers in redis streams for stateless block validators: #2581
- Support google cloud storage as das: #2643
- Document the fact OCL does not support google cloud storage: #2727
- Create a build diagnostic tool V1: #2733
- Support seamless switchover redis for sequencer coordinator: #2526
- This has not been tested in a real chain setup yet, and may be unstable to use.
- PeriodToAllowPostingBatchWithOnlyBatchPostingReport config: #2657
Internal Highlights
- Merge in go-ethereum v1.14.0: #2517
- RPC posting gas hook refactor: #2774
- Init-reorg: fix logic: #2681
- Improve stability of getNodeCreationBlock for L3s: #2682
- Be more precise when selecting firstMsg in the batch poster: #2646
- Fix CaptureHostIO when slices are bigger than 2^16: #2704
- Stylus LRU cache with bytes capacity instead of number of entries capacity : #2595
- Stylus cache improvements: #2712
- Add dangerous batch poster options to cli: #2776
- Do not use SetFinalizer to remove entries from preimageResolvers to free memory sooner from block validators: #2752
- Use MessageCommitMode when executing future head block messages: #2705
- Gives preference to IPv4 when connecting to Sequencer's feed: #2650
- Jit prover should accept InputJSON format and execute a full block: #2730
- Adjusts benchbin's args to have the same names as prover's args: #2724
- Add Gas and Ink types in rust: #2736
- Improve BlocksReExecutor implementation: #2714
- Add flags and other info for nitro --dev: #2751
- Redis streams: Attempt to clear from PEL again after successfull deletion of Lower: #2755
- Fix inbox reading window after a reorg: #2673
- Use Golang version 1.23: #2711
- Update aws-sdk-go-v2: #2720
- Log from batch poster for which das backends are using chunked vs legacy store: #2747
- Log the DAS public key on startup: #2717
- Remove brotli build dir in make clean: #2703
- Fix spurious refund error log to just be debug: #2617
- Fix spurious "failed to re-send transaction" error logs: #2627
- Validation Inputs wiring: #2604
- DAS RPC Client Metrics: #2549
- Remove arbutil's L1Interface and use *ethclient.Client instead: #2641
- Adjusts log levels for some logs: #2719
- Remove IPFS support: #2636
- Fix memory leak when getting stylus cache metrics: #2734
- Add buildspec.yml for AWS CodeBuild: #2645
- Allow builds without Docker inside of Docker for cbrotli-wasm: #2748
Full Changelog: v3.2.1...v3.3.0-rc.1
Arbitrum Nitro v3.2.1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.2.1-d81324d
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.2.1-d81324d-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release adds support for ArbOS 32 for validators.
Internal Highlights
- Add support for consensus v32 to Docker: #2697
Full Changelog: v3.2.0...v3.2.1
Arbitrum Nitro v3.2.0
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.2.0-f847be0
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.2.0-f847be0-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
The hash in the Docker image tag is different than this commit hash because the published commit was squashed.
What's Changed
This release contains security fixes activated by a new upgrade, ArbOS 32. The Arbitrum Security council is planning to execute an emergency action in order to activate ArbOS 32 in the coming days which is why the version upgrade is required. A binary of the release has been provided ahead of time to allow for more time to upgrade, and the source code will be made available some time before the upgrade action is taken.
If you encounter the error "cpu flags not supported on local cpu", your CPU may be missing support for standard x86 extensions. This can be resolved by adding the --execution.stylus-target.amd64=x86_64-linux-unknown+sse4.2
flag to disable use of these extensions.
User-facing Improvements
- Add support for ArbOS 32
- Add custom native tracer for cargo stylus replay: #2560
- Allow force rebuilding of local wasm store: #2606
- Support rebuilding of wasm store on init: #2618
- Remove wasm database after downloading snapshot: #2607
Internal Highlights
- Geth: pull in change to bubble up snapshot db errors: #2662
- Support cross-compilation of stylus programs: #2605
- Update default Stylus x86 architecture: #2614
- Fix setupFastConfirmation not getting called: #2668
- Only warn on potentially incompatible WASM module roots: #2663
- Redis consumer: workers and buffers: #2622
- Block_validator: introduce recording-iter-limit: #2637
- Disable preimage validation in JIT: #2620
- Close opened files explicitly instead of relying on the GC: #2628
- Fix: deploy both erc20 based and eth based templates: #2664
- Populate stylus target cache before rebuilding wasm store: #2612
- Add safety check that min basefee must be positive for gas estimation: #2621
- Creates validator wallet through Staker's DataPoster: #2573
- Small changes to database conversion: #2591
- Resolve parent chain block by hash when resolving delayed messages: #2649
- Lower a couple of info logs down to debug: #2603
- Add Mac OSX environment variables: #2624
Full Changelog: v3.1.2...v3.2.0
Arbitrum Nitro Consensus v32
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39
This consensus release supports ArbOS 32.
Full Changelog: consensus-v31...consensus-v32
Arbitrum Nitro v3.2.0 Binary Release
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.2.0-f847be0
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.2.0-f847be0-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release contains security fixes activated by a new upgrade, ArbOS 32. The Arbitrum Security council is planning to execute an emergency action in order to activate ArbOS 32 in the coming days which is why the version upgrade is required. A binary of the release has been provided ahead of time to allow for more time to upgrade, and the source code will be made available some time before the upgrade action is taken.
User-facing Improvements
- Add support for ArbOS 32
- Add custom native tracer for cargo stylus replay: #2560
- Allow force rebuilding of local wasm store: #2606
- Support rebuilding of wasm store on init: #2618
- Remove wasm database after downloading snapshot: #2607
Internal Highlights
- Geth: pull in change to bubble up snapshot db errors: #2662
- Support cross-compilation of stylus programs: #2605
- Update default Stylus x86 architecture: #2614
- Fix setupFastConfirmation not getting called: #2668
- Only warn on potentially incompatible WASM module roots: #2663
- Redis consumer: workers and buffers: #2622
- Block_validator: introduce recording-iter-limit: #2637
- Disable preimage validation in JIT: #2620
- Close opened files explicitly instead of relying on the GC: #2628
- Fix: deploy both erc20 based and eth based templates: #2664
- Populate stylus target cache before rebuilding wasm store: #2612
- Add safety check that min basefee must be positive for gas estimation: #2621
- Creates validator wallet through Staker's DataPoster: #2573
- Small changes to database conversion: #2591
- Resolve parent chain block by hash when resolving delayed messages: #2649
- Lower a couple of info logs down to debug: #2603
- Add Mac OSX environment variables: #2624
Arbitrum Nitro Consensus v32 Binary Release
WAVM Module Root: 0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39
This consensus release supports ArbOS 32.
Arbitrum Nitro v3.1.3 Release Candidate 2
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v3.1.3-rc.2-4483e77
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.3-rc.2-4483e77-validator
which has the extra script /usr/local/bin/split-val-entry.sh
as the entrypoint.
What's Changed
This release adds a native tracer for Stylus calls, and contains numerous stability improvements, including a fix for a database corruption and invalid state issue in go-ethereum.
User-facing Improvements
- Add custom native tracer for cargo stylus replay: #2560
- Allow force rebuilding of local wasm store: #2606
- Support rebuilding of wasm store on init: #2618
- Remove wasm database after downloading snapshot: #2607
Internal Highlights
- Geth: pull in change to bubble up snapshot db errors: #2662
- Support cross-compilation of stylus programs: #2605
- Update default Stylus x86 architecture: #2614
- Fix setupFastConfirmation not getting called: #2668
- Only warn on potentially incompatible WASM module roots: #2663
- Redis consumer: workers and buffers: #2622
- Block_validator: introduce recording-iter-limit: #2637
- Disable preimage validation in JIT: #2620
- Close opened files explicitly instead of relying on the GC: #2628
- Fix: deploy both erc20 based and eth based templates: #2664
- Populate stylus target cache before rebuilding wasm store: #2612
- Add safety check that min basefee must be positive for gas estimation: #2621
- Creates validator wallet through Staker's DataPoster: #2573
- Small changes to database conversion: #2591
- Resolve parent chain block by hash when resolving delayed messages: #2649
- Lower a couple of info logs down to debug: #2603
- Add Mac OSX environment variables: #2624
Full Changelog: v3.1.2...v3.1.3-rc.2