Releases: OffchainLabs/nitro
Arbitrum v2.0.0 Nitro Beta 3
This release adds support for consensus v3 which further improves L1 pricing.
User-facing Improvements
- Cap l1 cost amortization: #798
- Add per batch cost: #790
- Setup goerli rollup testnet defaults: #787
- Make gasprice opcode return the basefee: #794
- Re-enable unsafe retryable entrypoints: #772
- Make
gasprice
opcode return 0 foreth_call
's with a zero gas price: #799 - Syncing fallback storage service redesign: #745
- Consistently use NoTicketWithID() Solidity error in ArbRetryableTx: #822
Internal Highlights
- Fix internal transaction start block inputs use: #793
- Das merkle accumulator: #739
- Initialize by upgrading: #780
- Add affordances to migrate from classic contracts: #747
- Improve block-local gas rate limiting: #801
- Fix validator if genesis was imported from classic: #816
- Sequencer coordinator: reconnect to chosen if initial connection fails: #797
- Http server timeouts: #814
- Download consensus v3 WAVM machine in Dockerfile: #824
Full Changelog: v2.0.0-beta.2...v2.0.0-beta.3
Consensus V3.1
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0x588762be2f364be15d323df2aa60ffff60f2b14103b34823b6f7319acd1ae7a3
This contains the following consensus changes from consensus v3:
- Fallback query for dastree hashes: #827
Consensus V3
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0x53c288a0ca7100c0f2db8ab19508763a51c7fd1be125d376d940a65378acaee7
This contains the following consensus changes from consensus v2.1:
Arbitrum v2.0.0 Nitro Beta 2
This release requires a resync because of database schema changes. It adds support for a new Goerli testnet and consensus v2 which will be rolled out to Arbitrum Nova soon.
User-facing Improvements
- Update devnet chain configs and rename mainnet anytrust to Arbitrum Nova: #783
- Make the ArbSys precompile
getStorageGasAvailable
methodview
: #749 - Add retries for upstream L1 connection for daserver: #742
- Auto fetch DAS mirror list without needing restart: #743
- Allow watchtower validators to run without a key: #750
- Fix GetL1GasPriceEstimate precompile: #776
- Improve retryable autoredeem gas checks: #773
Internal Highlights
- Update L1 pricing formula: #754
- Add geth metrics server to daserver: #741
- Fix sequencer reorgs caused by delayed messages (database schema changes): #736
- Check for gas limit overflow when parsing unsigned user tx: #768
- Fix segment decompression in wrapped brotli: #771
- Initialize the network fee account for new chains as the chain owner: #777
Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2
Consensus V2.1
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0x9d68e40c47e3b87a8a7e6368cc52915720a6484bb2f47ceabad7e573e3a11232
This contains the following consensus changes from consensus v1.1:
- Update L1 pricing formula: #754
- Improve retryable autoredeem gas checks: #773
- Check for gas limit overflow when parsing unsigned user tx: #768
- Fix GetL1GasPriceEstimate precompile: #776
- Initialize the network fee account for new chains as the chain owner: #777
- Fix segment decompression in wrapped brotli: #771
Consensus V1.1
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0x60516d8bf441f449f301d7bc8901d50acf0baa8b453e8e406f6c9475feac8c8c
This contains the following consensus changes from consensus v1:
- Make ArbSys precompile
getStorageGasAvailable
methodview
: #749
Arbitrum v2.0.0 Nitro Beta 1
This release breaks compatibility with the old devnet and adds support for a new anytrust network.
User-facing Improvements
- Add a new node interface method for splitting gas estimation results into their component parts: #648
- Add extra fields to tracing to track transfers done outside of EVM execution: #664
- Add an isSpent method to the outbox: #720
Internal Highlights
- At-cost L1 gas pricing: #585
- Wasm testsuite: #586
- feat: efficient merkleprooflib saves 100s gas: #624
- Change retryable refund calculation: #654
- Remove old ArbOS versions and their behaviors: #683
- Genesisblock in chainconfig and arbos-state: #691
- Add new anytrust chain config defaults: #721
Full Changelog: v2.0.0-alpha.5...v2.0.0-beta.1
Consensus V2
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0xee16b2358c81be2b9feb8486f052e74f18b8a790e4e77b4dc9e4f34d71d3b4c0
This contains the following consensus changes from consensus v1:
- Fix L1 pricing updates when a batch posting report arrives with the current timestamp: #728
Consensus V1 Release Candidate 1
This release signifies a consensus version, and is not necessarily a good version to run a node on
WAVM Module Root: 0xbb9d58e9527566138b682f3a207c0976d5359837f6e330f4017434cca983ff41
This is the first release candidate for the first finalized state transition version, breaking compatibility with the existing devnet consensus.
Arbitrum v2.0.0 Nitro Alpha 5
This release adds a number of AnyTrust improvements and features.
- Replace Retrieve API method which required passing a Data Availablity Certificate as the argument, with GetByHash which only needs the data hash.
- REST server option for
daserver
for serving GetByHash requests, additional to the existing RPC server. - New storage modes! In addition to local disk file mode, there are now S3 and local disk database storage modes, see options starting with --data-availability.local-file-storage, --data-availablility.s3-storage, and --data-availability.local-db-storage
- In-memory caching mode, see --data-availability.local-cache
- Documentation in daserver-instructions updated with samples for how to run
daserver
as both a mirror and as a committee member. - REST and RPC health checks for
daserver
. daserver
can fall back to fetching from REST endpoints if it is missing a data hash, see the options under --data-availability.rest-aggregator. If it is able to retrieve from a REST endpoint, then it stores it locally. --data-availability.rest-aggregator.online-url-list allows fetching from a URL which contains a list of URLs, which can reference other lists so multiple parties can maintain mirror lists.