Releases: OffchainLabs/nitro
Arbitrum Nitro v2.4.0 Release Candidate 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.4.0-rc.1-3deb9ca
This Docker image specifies new 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, you should instead use the image offchainlabs/nitro-node:v2.4.0-rc.1-3deb9ca-validator
What's Changed
This release fixes some miscellaneous issues compared to the last beta release.
User-facing Improvements
- feat(das): add support to configure http body limit: #2321
Internal Highlights
- Allow 0x prefix for allowed-wasm-module-roots flag: #2338
- Implement tracing and CPU profiling of long running block creations: #2305
- Create streams in redis client, poll on it in redis-server: #2303
Full Changelog: v2.4.0-beta.1...v2.4.0-rc.1
Arbitrum Nitro v2.4.0 Beta 1
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.4.0-beta.1-620dde1
This beta release does not include support for validators without separately running a split validation server. The full release will contain a -validator
docker image variant with support for this, or you can build the nitro-node-validator
docker image target locally from the release's commit.
What's Changed
This release merges in Arbitrum Stylus to prepare for ArbOS 30.
User-facing Improvements
- Change log-level cli opt to take a string: #2279
- Add option for websocket message size limit: #2266
- Add pebble config options: #2245
- Optionally skip tls verification when making requests to secure signer from Dataposter: #2307
- Improve blocks re-execution and make it compatible with --init.then-quit: #2222
Configuration Changes
--log-level
now accepts "crit", "error", "warn", "debug", "info", and "trace" as arguments instead of numbers
Internal Highlights
- Arbitrum Stylus: #2242
- Backward compat validation docker: #2275
- Support pre-stylus wasm module roots for validation: #2319
- block_validator: fail but dont segfault if no validator: #2330
- Fix off-by-one in data poster nonce check: #2326
- Arbitrum APIBackend's GetTransaction should return false when tx is not found (fixes
eth_getTransactionByHash
when the transaction is not found): #2336 - Unified writer interface for Data Availability providers: #2157
- Adds blocks' hashes to the sequencer's feed: #2240
- Compare computed block hash with hash provided through input feed: #2289
- More descriptive jit machine accept() errors: #2290
- Merge in upstream go-ethereum v1.13.12: #2291
- Fix signed saturating math functions: #2306
- Fix zero bid in data poster: #2297
- Assume stake is elevated if currentRequiredStake reverts: #2293
- Improve error messages for syncing nitro nodes with a beacon chain client lacking old enough blobs for sync: #2286
- fix: CleanCacheSize from hashdb.Config expects a value defined in bytes: #2312
- Adds apt-get update to wasm-libs-builder: #2325
- Gracefully shutdown consumer on interrupts: #2309
Full Changelog: v2.3.4...v2.4.0-beta.1
Consensus V30 Release Candidate 2
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0xb0de9cb89e4d944ae6023a3b62276e54804c242fd8c4c2d8e6cc4450f5fa8b1b
This is a release candidate of a consensus release for ArbOS 30, which makes some internal preventative fixes.
Full Changelog: consensus-v30-rc.1...consensus-v30-rc.2
Arbitrum Nitro v2.3.4
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.4-b4cc111
What's Changed
This release lays the groundwork for ArbOS 30. It merges in new upstream go-ethereum versions, improves block validation, and improves EIP-4844 batch posting support (though known issues remain in this version fixed in master).
User-facing Improvements
- Set default --execution.sequencer.max-revert-gas-reject=0 to improve sequencer reliability: #2213
- eth_syncing: improve fields and naming: #2224
- Pull in geth fix for stopping the flat call tracer: #2258
- Add support for Redis streams to Nitro's block validation: #2241
Configuration Changes
--log-level
has new temporary values. In the next release, these will be reverted and you'll be able to use strings to set these:-8
is trace-4
is debug0
is info4
is warn8
is error12
is crit
- For alerting, note that error logs will now have a level field of "error" instead of "eror".
Internal Highlights
- Execution service 4: execution->consensus interface: #1535
- syncProgressMap: bug fix: #2209
- Validate preimages in both JIT and Arbitrator: #2208
- Don't wait on the prefetcher to complete before producing the next block: #2216
- Add metrics to track L1 price in batch poster: #2173
- Track pricing data in sequencer and batch poster. Add option to decline incoming transactions during extreme l1 pricing conditions: #2180
- Don't increment the gas used metric in the prefetcher: #2214
- Do not log 'error applying transaction' errors when the block is being created for the prefetcher: #2215
- Reduce maximum EIP-4844 batch size slightly: #2220
- Fix data poster noop storage check in batch poster: #2225
- Avoid deadlocking sender account w/ diff type txs: #2234
- Merge upstream go-ethereum v1.13.5: #2251 #2259 and #2230
- Improve preimage validation in JIT and Arbitrator: #2217
- Use metrics namespaces when opening databases: #2229
- Add a check to make sure we don't allow accidentally downgrading ArbOS: #2236
- Merge v1.13.6: #2237
- Fix data poster creating nonce gap: #2261
- Multi exec server: #2267
- Fix eth_feeHistory gasUsedRatio: OffchainLabs/go-ethereum#313
- Implement reading all wasm module roots in machine locator: #2254
- Fix requested block ahead of current block check: OffchainLabs/go-ethereum#312
- Fix pebble metrics registration: OffchainLabs/go-ethereum#314
Full Changelog: v2.3.3...v2.3.4
Consensus V30 Release Candidate 1
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0x8805d035d5fdb8bb4450f306d9ab82633e2b6316260529cdcaf1b3702afbd5d5
This is a release candidate of a consensus release for ArbOS 30, including Arbitrum Stylus support and the secp256r1 precompile.
Full Changelog: consensus-v20...consensus-v30-rc.1
Arbitrum Nitro v2.3.4 Release Candidate 5
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.4-rc.5-b4cc111
What's Changed
This release prepares support for Arbitrum Stylus block validation compared to the previous release candidate.
Configuration Changes
This PR undoes the configuration changes in release candidate 3 and removes the --node.block-validator.execution-server-config.*
config block.
Pending ArbOS 30 Improvements (work in progress)
- Add Precompile for secp256r1 conditionally based on ArbOS version: OffchainLabs/go-ethereum#303
- Clean up retryable escrow accounts: #2257
Internal Highlights
- Multi exec server: #2267
- Merge upstream go-ethereum v1.13.11: #2251 and #2259
- Fix eth_feeHistory gasUsedRatio: OffchainLabs/go-ethereum#313
- Implement reading all wasm module roots in machine locator: #2254
- Fix requested block ahead of current block check: OffchainLabs/go-ethereum#312
- Fix pebble metrics registration: OffchainLabs/go-ethereum#314
Full Changelog: v2.3.4-rc.4...v2.3.4-rc.5
Arbitrum Nitro v2.3.4 Release Candidate 4
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.4-rc.4-82988d5
What's Changed
This release improves EIP-4844 batch posting and merges in a new go-ethereum version compared to the previous release candidate.
Configuration Changes
--log-level
has new values:-8
is trace-4
is debug0
is info4
is warn8
is error12
is crit
- For alerting, note that error logs will now have a level field of "error" instead of "eror".
Internal Highlights
- Add a check to make sure we don't allow accidentally downgrading ArbOS: #2236
- Merge v1.13.6: #2237
- Fix data poster creating nonce gap: #2261
Full Changelog: v2.3.4-rc.3...v2.3.4-rc.4
Arbitrum Nitro v2.3.4 Release Candidate 3
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.4-rc.3-fb101a8
What's Changed
This release improves EIP-4844 batch posting and adds support for Redis streams as a block validation work queue compared to the previous release candidate.
Configuration Changes
- If any config options in
--node.block-validator.validation-server.*
are set, they must be copied (not moved) to--node.block-validator.execution-server-config.*
.- E.g. if
--node.block-validator.validation-server.url http://localhost:1234
was set, you must also set--node.block-validator.execution-server-config.url http://localhost:1234
on this new version.
- E.g. if
User-facing Improvements
- eth_syncing: improve fields and naming: #2224
- Pull in geth fix for stopping the flat call tracer: #2258
- Add support for Redis streams to Nitro's block validation: #2241
Internal Highlights
- Reduce maximum EIP-4844 batch size slightly: #2220
- Fix data poster noop storage check in batch poster: #2225
- Avoid deadlocking sender account w/ diff type txs: #2234
- Merge upstream go-ethereum v1.13.5: #2230
- Improve preimage validation in JIT and Arbitrator: #2217
- Use metrics namespaces when opening databases: #2229
Full Changelog: v2.3.4-rc.2...v2.3.4-rc.3
Arbitrum Nitro v2.3.4 Release Candidate 2
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.4-rc.2-c84507b
Note that release candidate 1 was never fully released in favor of this release candidate which has an additional PR.
What's Changed
This release improves sequencer reliability and node performance, in addition to adding metrics for chain pricing data.
User-facing Improvements
- Set default --execution.sequencer.max-revert-gas-reject=0 to improve sequencer reliability: #2213
Internal Highlights
- Execution service 4: execution->consensus interface: #1535
- syncProgressMap: bug fix: #2209
- Validate preimages in both JIT and Arbitrator: #2208
- Don't wait on the prefetcher to complete before producing the next block: #2216
- Add metrics to track L1 price in batch poster: #2173
- Track pricing data in sequencer and batch poster. Add option to decline incoming transactions during extreme l1 pricing conditions: #2180
- Don't increment the gas used metric in the prefetcher: #2214
- Do not log 'error applying transaction' errors when the block is being created for the prefetcher: #2215
Full Changelog: v2.3.3...v2.3.4-rc.2
Arbitrum Nitro v2.3.3
This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.3-6a1c1a7
What's Changed
This release improves EIP-4844 support. It's a recommended upgrade for any L2 batch posters, along with anyone having inbox reader issues reading blob batches. It also improves batch poster support for parent chains which have unknown transaction types.
Internal Highlights
- Improve error logging when blob client fails to read blobs from beacon-URL: #2193
- Fix MaxFeeBidMultipleBips to respect rbf minimums: #2199
- Add backup blob client: #2170
- Use raw JSON RPCs to look for batch reverts: #2202
- Add metrics for L2 gas pricing: #2204
- Verify that --chain.info-json is compatible with deployed chain config and detect conflicts between node options and deployed chain config: #2165
- Add badgerdb memory options: #2194
Full Changelog: v2.3.2...v2.3.3