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.
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