Skip to content

Arbitrum Nitro v3.3.0 Release Candidate 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@PlasmaPower PlasmaPower released this 08 Nov 04:26
· 70 commits to master since this release
v3.3.0-rc.1
a81da40

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 the enable-reproduce, check-pending-interval, keepalive-timeoutandcheck-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