Releases: OffchainLabs/nitro
Arbitrum Nitro v3.4.0-rc.2
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.4.0-rc.2-d896e9c
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 offchain-labs/nitro-node:v3.4.0-rc.2-d896e9c-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
User-facing Improvements
- Update google-cloud-storage parameters and object retention setting: #2794
- Enable the geth trie prefetcher to improve sequencer performance: #2877
- Revert wasmer upgrade: #2878
Internal Highlights
- Create ADR-0001 Avoid primative constraint types: #2812
Full Changelog: v3.4.0-rc.1...v3.4.0-rc.2
Arbitrum Nitro v3.4.0-rc.1
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.4.0-rc.1-dc53b51
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 offchain-labs/nitro-node:v3.4.0-rc.1-dc53b51-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
Configuration Changes
--node.inbox-reader.hard-reorg
has been removed
User-facing Improvements
- Add redis sentinel support: #2738
- Update go-ethereum fork to v1.14.3: #2806
- Add support for standard genesis.json format: #2761
- Start node only after the block containing rollup creation tx has been finalized (if supported): #2582
- Set ensure-rollup-deployment to false in testnode: #2831
- Pebble config: Enable no-sync mode and increase level sizes to improve performance: #2800
- Add flag to disable DAS chunked stores: #2796
- Remove HardReorg config from InboxReader: #2542
- Add metrics for how many Stylus calls and gas used: #2852
- Fix flatcalltracer: #2867
- Merge wasmer 4.3.7: #2741
- Create a metric for local block execution time: #2871
- Fix
--execution.rpc.gas-cap=0
to again mean infinite gas: #2873
Internal Highlights
- Fix StopOnly followed by StopAndWait: #2815
- Refactor: using maps.Clone: #2729
- Don’t print redis errors when sequencer coordinator enabled node is syncing: #2558
- Fix das store related error logging: #2795
- Modify the batch poster to support the delay buffer feature: #2758
- Add missing precompiles comments based on interfaces: #2685
- Deduplicate arbitrator RustBytes types: #2830
- Remove probably leftover println: #2829
- Add bold stake token to sepolia chain info: #2828
- Fix the delayed sequencer missing messages in tests: #2651
- Add prestateTracer system_tests: #2553
- Bump default message pruner min batches left to 1k: #2843
- Use pre-bold instead of develop as the exception branch used to check submodule pin for nitro-contracts: #2846
- Test ArbOS11 to ArbOS32 upgrade: #2837
- BlockValidator is added twice to LatestStakedNotifiers in pre-BOLD case: #2844
- Include tx compression level in calldata units cache: #2849
- Consolidate ArbOS version constants into a single file: #2848
- Get rid of receiver methods on aliased cgo types: #2840
- Stylus benchmark: #2827
- Filter transaction: #2807
- Fall back to the confirmed state if the agreed state is nil: #2854
- Prevent calling arbtrace_* against nitro with
latest
as block number: #2845 - Remove most occurences of log.Crit: #2864
- Allow waiting for a minimum amount of time since parent assertion was created to post a new assertion: #2825
- Store last message pruned in database: #2838
- Update BoLD Submodule and Add Newly Supported Flags to BoLD Staker: #2835
- On-demand module compile: #2739
- Bump golang.org/x/crypto from 0.24.0 to 0.31.0: #2847
- Fix arbitrator-ci: #2872
Full Changelog: v3.3.0...v3.4.0-rc.1
Arbitrum Nitro v3.3.2
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.3.2-9d70997
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 offchain-labs/nitro-node:v3.3.2-9d70997-validator
which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
This release fixes an issue with flatcalltracer
What's Changed
- Pull in flatcalltracer fix in #2866
Full Changelog: v3.3.1...v3.3.2
Arbitrum Nitro v3.3.2-rc.1
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.3.2-rc.1-9d70997
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.2-rc.1-9d70997-validator
which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
This release fixes an issue with flatcalltracer
What's Changed
- Pull in flatcalltracer fix in #2866
Full Changelog: v3.3.1...v3.3.2-rc.1
Arbitrum Nitro v3.3.1
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.3.1-e326369
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.1-e326369-validator
which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
This release includes a fix for a tracing regression introduced in v3.2.1
Internal Highlights
- update geth: cherry-pick tracing fix: #2865
Full Changelog: v3.3.0...v3.3.1
Arbitrum Nitro v3.3.1 Release Candidate 1
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.3.1-rc.1-e326369
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.1-rc.1-e326369-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
This release includes a fix for a tracing regression introduced in v3.2.1
Internal Highlights
*update geth: cherry-pick tracing fix: #2865
Full Changelog: v3.3.0-rc.4...v3.3.1-rc.1
Arbitrum Nitro v3.3.0
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.3.0-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-5b5e179-validator
which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
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-timeout
andcheck-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
- Support the Arbitrum BoLD Challenge Protocol in Nitro: #2362
- Fix nitro-node validator docker image graceful shutdown: #2780
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
- 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
- Revert accidental change to tipReceipient: OffchainLabs/go-ethereum#386
- Include tx compression level in calldata units cache: #2849
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