Releases: OffchainLabs/nitro
Arbitrum Nitro v3.5.0-rc.3
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.5.0-rc.3-4d43771
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.5.0-rc.3-4d43771-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
Various timeboost related changes
Internal Highlights
- Mark
timeboost
options as dangerous since timeboost is a work in progress: #2928 - Fix reading of pending ExpressLane messages from redis: #2926
Full Changelog: v3.5.0-rc.2...v3.5.0-rc.3
Arbitrum Nitro v3.5.0-rc.2
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.5.0-rc.2-fcb4018
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.5.0-rc.2-fcb4018-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
Prevent leaking classic redirect URL in error message, and various timeboost miscellaneous updates.
User-facing Improvements
- Avoids leaking execution.rpc.classic-redirect URL: #2908
Internal Highlights
- Express lane timeboost auctioneer rpc forwarding and sequencer coordinator: #2903
- chainInfo supports track-block-metadata-from: #2917
- Timeboost: Don't store or publish to feed blockMetadata of blocks lower than TrackBlockMetadataFrom config: #2918
- allow sequencer to collect metadata without timeboost: #2919
- Add small sleep in BoLD when chain is behind: #2909
- Add block-metadata to sepolia chain-info: #2920
Full Changelog: v3.5.0-rc.1...v3.5.0-rc.2
Arbitrum Nitro v3.5.0-rc.1
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.5.0-rc.1-1d9c68d
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.5.0-rc.1-1d9c68d-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
This Nitro release adds support for Timeboost, a novel transaction ordering policy for Arbitrum chains. This includes changes to both the sequencer to add an express lane for time-advantaged transaction inclusion and a new process for managing the second price, sealed bid auction for the rights to use said express lane.
To read more about how Timeboost works, the goals behind TImeboost, and how to use it, please visit our Gentle Introduction docs here
Also added a fix for flatCallTracer that was present in v3.3.2
, but wasn't included in v3.4.0
User-facing Improvements
- fix for flatcalltracer originally just on v3.3.x branch: #2902
- Implement Express Lane Timeboost: #2561
- Skip AutoDeposit if Staked, Use Latest Data for Auto-Operations: OffchainLabs/bold#722
Internal Highlights
- fix some problematic method name and typos in comment: #2810
- Add mock external signer binary: #2842
- fix typos in
validator/server_jit/spawner.go
: #2634 - Upgrade actions/upload-artifact in CI: #2884
- Add the installation of the cbindgen binary: #2888
- Add cbindgen to both workflows: #2890
- Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1: #2771
- Bump golang.org/x/net from 0.26.0 to 0.33.0: #2891
- add retryable expiry system tests: #2799
- chore: fix some function names in comment: #2886
- More benchmarks in stylus_benchmark: #2870
- geth-pin update: performance and metrics improvements: #2895
- Flush triedb during maintenance: #2892
- Update BoLD Submodule to Include Contracts v3.0.0: #2901
- Attempt to Reduce Flakiness of BoLD Virtual Block System Tests: #2905
- database maintenance api: #2897
- TransactionStreamer should only fetch block metadata when necessary: #2910
Full Changelog: v3.4.0...v3.5.0-rc.1
Arbitrum Nitro v3.4.0
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.4.0-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 offchainlabs/nitro-node:v3.4.0-d896e9c-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
What's Changed
Flatcalltracer issues have been fixed, various performance improvements have been implemented, and it is now possible to initialize chain with a genesis.json
file.
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
- Create a metric for local block execution time: #2871
- Fix
--execution.rpc.gas-cap=0
to again mean infinite gas: #2873 - Update google-cloud-storage parameters and object retention setting: #2794
- Enable the geth trie prefetcher to improve sequencer performance: #2877
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
- Create ADR-0001 Avoid primative constraint types: #2812
Full Changelog: v3.3.0...v3.4.0
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