Skip to content

Releases: OffchainLabs/nitro

Arbitrum Nitro v2.4.0 Release Candidate 1

28 May 03:48
v2.4.0-rc.1
3deb9ca
Compare
Choose a tag to compare

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

24 May 04:26
v2.4.0-beta.1
620dde1
Compare
Choose a tag to compare
Pre-release

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
    • Disable LLVM support in JIT build in docker: #2280
    • Error early when missing asm: #2288
    • Seperate wasm asm database: #2292
    • Stylus cache tag: #2315
    • Fix lastUpdateTimeOffset -> ArbitrumStartTime: #2308
    • Use saturating math for hoursSinceArbitrum: #2310
  • 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

21 May 00:48
consensus-v30-rc.2
f461346
Compare
Choose a tag to compare
Pre-release

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

20 May 17:47
v2.3.4
b4cc111
Compare
Choose a tag to compare

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 debug
    • 0 is info
    • 4 is warn
    • 8 is error
    • 12 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

06 May 19:40
consensus-v30-rc.1
c8d8df7
Compare
Choose a tag to compare
Pre-release

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

02 May 18:43
v2.3.4-rc.5
b4cc111
Compare
Choose a tag to compare

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)

Internal Highlights

Full Changelog: v2.3.4-rc.4...v2.3.4-rc.5

Arbitrum Nitro v2.3.4 Release Candidate 4

28 Apr 21:21
v2.3.4-rc.4
82988d5
Compare
Choose a tag to compare

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 debug
    • 0 is info
    • 4 is warn
    • 8 is error
    • 12 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

25 Apr 00:46
v2.3.4-rc.3
fb101a8
Compare
Choose a tag to compare

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.

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

01 Apr 22:18
v2.3.4-rc.2
c84507b
Compare
Choose a tag to compare

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

26 Mar 18:31
v2.3.3
6a1c1a7
Compare
Choose a tag to compare

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