Releases: OffchainLabs/nitro
Release list
Arbitrum Nitro v3.11.1
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.11.1-8512b8c
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.11.1-8512b8c-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
v3.11.1 - 2026-06-29
Fixed
Arbitrum Nitro v3.11.0
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.11.0-a618155
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.11.0-a618155-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
v3.11.0 - 2026-06-22
Added
- ArbOS60 supported.
- Add
--execution.legacy-zero-base-fee-untilrestores the pre-v3.7 behavior of treating headers withArbOSFormatVersion <= 40andBaseFee == 0for affected chains. - Add
--execution.transaction-filtering.enablereplaces--execution.address-filter.enable. - Sequencer reports filtered regular transactions to the filtering-report service via FilteringReportRPCClient.
- Unified replay binary (
cmd/unified-replay/) combining MEL message extraction and block production into a single WASM-compilable program. GetEndParentChainBlockHashhost I/O opcode for MEL proving.melwavmiopackage providing WASM imports and native stubs for MEL.- Extended
GlobalStateto 4 bytes32 slots with backward-compatible hashing. - Makefile targets
build-unified-replay-envandbuild-unified-wasm-bin. - Sign outbound webhook payloads from
cmd/filtering-reportwith an Ed25519 leaf certificate issued by an internal CA, so receivers verify the signature against the CA root and rotate keys transparently. - Add
scripts/rust-val-entry.shDocker entrypoint script that launches a single Rust validation server alongside the nitro node. - Add
nitro-node-rust-validatorDocker target. - Support for ArbOS 61.
- Add per-worker slowdown on consecutive retryable HTTP errors from the external endpoint to avoid hammering a degraded service and consuming max receive count quota unnecessarily.
- Download the consensus-v61-rc.1 replay machine in the Docker build.
Changed
S3SyncManagernow includesfilterSetIDin the successful hash-list load log line so operators can correlate it with theFilterSetIDreported on filtered tx reports.- Replace
sha3/digestkeccak withtiny-keccakacrossproverandcaller-env. --node.transaction-streamer.shutdown-on-blockhash-mismatchnow defaults totrue: on a feed-vs-local block hash mismatch the node refuses to persist or rebroadcast the result and shuts down gracefully.- Update README.md with support policy.
- Update CONTRIBUTING.md with the new development process.
- Reduced GC frequency for in replay binary (for wasm targets).
- Use Option for interface vars that can be empty.
Fixed
- Skip extra header columns in iostat parsing.
- Improve locking mechanism in backlogSizeInBytes().
- Reduce log spam during node sync.
ExecuteNextMsgnow throttlesaccumulator not founderrors via an ephemeral error handler. - Iterator leak in
deleteWasmEntries: defer is now late-bound so the post-flush iterator is released. - Allow retrying
--init.urlafter a prior init created thewasm/subdirectory but did not complete chain initialization. - Fixed initialization of redis-validator.
- Re-run genesis assertion validation on startup while the chain head is still at genesis, so a previously failed validation is not silently skipped on subsequent restarts.
- Canonicalize NaN values returned by soft-float library functions so WAVM and JIT produce identical results when floating-point operations yield NaN.
- Fixed honest-validator self-challenge bug in BoLD where a slow catchup goroutine could downgrade
latestAgreedAssertion - ArbOS 61: skip multi-gas refund when no constraints are configured.
- ArbOS 61: use block basefee for the SingleDim refund override.
- ArbOS 61: account for EVM SSTORE refunds in the multi-gas refund.
- Stylus pre-VM OOG: when
contract.BurnGas(callCost)drains the call frame before WASM runs, attribute the residual toWasmComputationsoreceipt.MultiGasUsed.SingleGas()matchesreceipt.GasUsed. - Updated
log.*calls to use slog key/value pairs. - Address filter now records the L1 destination of
ArbSys.withdrawEth/ArbSys.sendTxToL1via a newReasonToL1, closing a gap where L2→L1 withdrawals to a filtered address were not caught. - Fix invalid Prometheus metric names in filtering-report and transaction-filterer components; hyphens in geth metric paths survive the
/→_translation and produce names that violate the Prometheus spec. - Removed legacy validator (was included but not working since wasmer upgrade).
- Removed unnecessary tokens from consensus machine downloads in Dockerfile.
- pin nitro-testnode master branch.
- Sequencer no longer rejects clean transactions following a filtered one in the same block.
PreTxFilternow operates on a fresh per-txaddressCheckerStateinstead of inheriting the previous tx's filter state. - Do not combine multi-gas refunds with EVM refunds.
Internal
- stylus-raw-deploycode - a small utility that helps deploy stylus contracts for testing.
- Make
validationcrate no-std friendly. - Remove JIT wrappers for wasi and wavmio.
- Fix inner call and pushcontract address filter recording
cmd/filtering-reportforwarder now emits an info log on successful report forwarding and includes the SQS message body in the existing forward-failure error log.- NIT-5012: fail fast when delayed-sequencing filtering is active but
transaction-filterer-rpc-client.urlis unset, and pin thetransaction-filtererbinary to serve only thetransactionfiltererRPC namespace. - Make
GuestPtrfield private with checked addition (panics on overflow instead of silent wraparound). - Remove JIT wrappers for arbcrypto and arbcompress.
- Address-filter S3 hash list now expects the upstream
latest.jsonschema - Address-filter
HashStorenow supportshashing_scheme: "sha256-rawbytesinput" - Optional
--execution.transaction-filtering.address-filter.s3.max-file-size-mbflag - The transaction prechecker now reports address-filtered transactions to the filtering-report service.
- Send non-retryable HTTP errors to an optional poison queue for manual inspection or reprocessing.
- Include transaction-filterer binary in nitro-node and nitro-node-stripped Docker images.
- Report filtered delayed transactions to filtering-report service with structured FilteredTxReport.
- Add script to generate large
filtered-addresses-hashed-list.jsontest fixtures. - Refactor filtering report test infrastructure: rename
CheckReportBlockNumberAndParentBlockHashtoCheckCommonReportFieldswith additional common assertions and updateSetupFilteringReportto return the RPC stack. - Remove
-A static_mut_refsfromclippyinvocation in CI (we do not use mutable statics anymore). - Add forge version validation to
scripts/check-build.sh. - Cache hash keys for MultiGasFees substorage.
- Add FilterSetID field to FilteredAddressRecord and expose it through the AddressChecker and StateDB interfaces so callers can stamp each record with the active filter set id.
EnableETHCallFilternow scopes toeth_estimateGasonly; no longer gates prechecker filtering.- Set default
EnableETHCallFilterto false. - Skip prechecker transaction-filter dry-run on sequencer nodes.
Arbitrum Nitro v3.11.0-rc.3
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.11.0-rc.3-7b9e49b
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\
v3.11.0-rc.3 - 2026-06-08
Changed
- Replace
sha3/digestkeccak withtiny-keccakacrossproverandcaller-env.
Fixed
- Fix invalid Prometheus metric names in filtering-report and transaction-filterer components; hyphens in geth metric paths survive the
/→_translation and produce names that violate the Prometheus spec. - Removed legacy validator (was included but not working since wasmer upgrade).
- Removed unnecessary tokens from consensus machine downloads in Dockerfile.
Internal
- NIT-5012: fail fast when delayed-sequencing filtering is active but
transaction-filterer-rpc-client.urlis unset, and pin thetransaction-filtererbinary to serve only thetransactionfiltererRPC namespace. - Make
GuestPtrfield private with checked addition (panics on overflow instead of silent wraparound). - Remove JIT wrappers for arbcrypto and arbcompress.
Arbitrum Nitro v3.11.0-rc.2
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.11.0-rc.2-b4e3c3e
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\
Important for any chains that previously upgraded to ArbOS51 with consensus_v51:
- Validator should use configuration option
--node.block-validator.pending-upgrade-module-root=""to avoid performing unnecessary work trying to validateconsensus_v51.1.
v3.11.0-rc.2 - 2026-06-05
Configuration
- Add
--execution.legacy-zero-base-fee-untilrestores the pre-v3.7 behavior of treating headers withArbOSFormatVersion <= 40andBaseFee == 0for affected chains. - Add
--execution.transaction-filtering.enablereplaces--execution.address-filter.enable. --node.transaction-streamer.shutdown-on-blockhash-mismatchnow defaults totrue: on a feed-vs-local block hash mismatch the node refuses to persist or rebroadcast the result and shuts down gracefully.
Added
- ArbOS60 supported.
- Unified replay binary (
cmd/unified-replay/) combining MEL message extraction and block production into a single WASM-compilable program. - Extended
GlobalStateto 4 bytes32 slots with backward-compatible hashing. - Makefile targets
build-unified-replay-envandbuild-unified-wasm-bin. - Add
scripts/rust-val-entry.shDocker entrypoint script that launches a single Rust validation server alongside the nitro node. - Add
nitro-node-rust-validatorDocker target. - Support for ArbOS 61.
- Add per-worker slowdown on consecutive retryable HTTP errors from the external endpoint to avoid hammering a degraded service and consuming max receive count quota unnecessarily.
- Download the consensus-v61-rc.1 replay machine in the Docker build.
Changed
- Update CONTRIBUTING.md with the new development process.
- Reduced GC frequency for in replay binary (for wasm targets).
- Use Option for interface vars that can be empty.
- Update README.md with support policy.
Fixed
- Skip extra header columns in iostat parsing.
- Improve locking mechanism in backlogSizeInBytes().
- Reduce log spam during node sync.
ExecuteNextMsgnow throttlesaccumulator not founderrors via an ephemeral error handler. - Iterator leak in
deleteWasmEntries: defer is now late-bound so the post-flush iterator is released. - Allow retrying
--init.urlafter a prior init created thewasm/subdirectory but did not complete chain initialization. - Fixed initialization of redis-validator.
- Re-run genesis assertion validation on startup while the chain head is still at genesis, so a previously failed validation is not silently skipped on subsequent restarts.
- Canonicalize NaN values returned by soft-float library functions so WAVM and JIT produce identical results when floating-point operations yield NaN.
- fix docker build to work in both nitro-private and public nitro.
- Fixed honest-validator self-challenge bug in BoLD where a slow catchup goroutine could downgrade
latestAgreedAssertion - ArbOS 61: skip multi-gas refund when no constraints are configured.
- ArbOS 61: use block basefee for the SingleDim refund override.
- ArbOS 61: account for EVM SSTORE refunds in the multi-gas refund.
- Stylus pre-VM OOG: when
contract.BurnGas(callCost)drains the call frame before WASM runs, attribute the residual toWasmComputationsoreceipt.MultiGasUsed.SingleGas()matchesreceipt.GasUsed. - pin nitro-testnode master branch.
- Do not combine multi-gas refunds with EVM refunds.
Internal
- Address-filter S3 hash list now expects the upstream
latest.jsonschema - Sequencer reports filtered regular transactions to the filtering-report service via FilteringReportRPCClient.
- Address-filter
HashStorenow supportshashing_scheme: "sha256-rawbytesinput" - Optional
--execution.transaction-filtering.address-filter.s3.max-file-size-mbflag - The transaction prechecker now reports address-filtered transactions to the filtering-report service.
- Send non-retryable HTTP errors to an optional poison queue for manual inspection or reprocessing.
- Include transaction-filterer binary in nitro-node and nitro-node-stripped Docker images.
- Report filtered delayed transactions to filtering-report service with structured FilteredTxReport.
- Add script to generate large
filtered-addresses-hashed-list.jsontest fixtures. - Refactor filtering report test infrastructure: rename
CheckReportBlockNumberAndParentBlockHashtoCheckCommonReportFieldswith additional common assertions and updateSetupFilteringReportto return the RPC stack. - Remove
-A static_mut_refsfromclippyinvocation in CI (we do not use mutable statics anymore). - Add forge version validation to
scripts/check-build.sh. - Cache hash keys for MultiGasFees substorage.
- Add FilterSetID field to FilteredAddressRecord and expose it through the AddressChecker and StateDB interfaces so callers can stamp each record with the active filter set id.
EnableETHCallFilternow scopes toeth_estimateGasonly; no longer gates prechecker filtering.- Set default
EnableETHCallFilterto false. - Skip prechecker transaction-filter dry-run on sequencer nodes.
- Sign outbound webhook payloads from
cmd/filtering-reportwith an Ed25519 leaf certificate issued by an internal CA, so receivers verify the signature against the CA root and rotate keys transparently. GetEndParentChainBlockHashhost I/O opcode for MEL proving.melwavmiopackage providing WASM imports and native stubs for MEL.- Sequencer no longer rejects clean transactions following a filtered one in the same block.
PreTxFilternow operates on a fresh per-txaddressCheckerStateinstead of inheriting the previous tx's filter state.
Arbitrum Nitro Consensus v61
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97
This is a consensus release for ArbOS v61
Full Changelog: consensus-v60-rc.5...consensus-v61
Arbitrum Nitro Consensus v61-rc.2
This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on
WAVM Module Root: 0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97
This is a consensus release for ArbOS v61 RC 2
Full Changelog: OffchainLabs/nitro-private@consensus-v60-rc.5...consensus-v61-rc.2
Arbitrum Nitro v3.10.2
Important Note: Once a database is run with v3.10.x, the database cannot be used with v3.9.9.
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.10.2-db30ef0
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\
Special note: On Monday, May 18, 2026 at 17:00 UTC, ArbOS 60 will activate on the Arbitrum Sepolia chain. Arbitrum Sepolia node operators must upgrade to Nitro v3.10 ahead of this activation to continue syncing the chain. This is not a required upgrade for Arbitrum One at this time, the date for Arbitrum One ArboOS upgrade has not been set yet.
Sepolia validators can use block-validator.pending-upgrade-module root="0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57" to validate against the planned arbos-60 upgrade
Important for any chains still on ArbOS40:
- Any chain running ArbOS40 can upgrade non-validator nodes to latest version.
- Any chain running ArbOS40, upgrading validators to Nitro v3.10.x needs to update module root to Consensus v60-rc.4 at the same time. Do NOT perform ArbOS upgrade to ArbOS60, only ArbOS5x.
- If a chain is on ArbOS40 and has already upgraded validators to v3.10.x, the module root should be updated to Consensus v60-rc.4 as soon as possible. Do NOT perform ArbOS upgrade to ArbOS60, only ArbOS5x.
v3.10.2 - 2026-06-02
Configuration
- Add
--execution.transaction-filtering.enablemaster switch (defaultfalse), replaces--execution.address-filter.enable.
Fixed
- Improve BoLD assertion poster logs.
- Fixed initialization of redis-validator.
Added
- NIT-4804: address-filter now supports
hashing_scheme: "sha256-rawbytesinput"
Changed
EnableETHCallFilternow scopes toeth_estimateGasonly; no longer gates prechecker filtering.- Skip prechecker transaction-filter dry-run on sequencer nodes.
Internal
- Cache hash keys for MultiGasFees substorage.
Arbitrum Nitro v3.10.1
Important Note: Once a database is run with v3.10.x, the database cannot be used with v3.9.9.
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.10.1-d7f07be
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\
Special note: On Monday, May 18, 2026 at 17:00 UTC, ArbOS 60 will activate on the Arbitrum Sepolia chain. Arbitrum Sepolia node operators must upgrade to Nitro v3.10 ahead of this activation to continue syncing the chain. This is not a required upgrade for Arbitrum One at this time, the date for Arbitrum One ArboOS upgrade has not been set yet.
Sepolia validators can use block-validator.pending-upgrade-module root="0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57" to validate against the planned arbos-60 upgrade
Important for any chains still on ArbOS40:
- Any chain running ArbOS40 can upgrade non-validator nodes to latest version.
- Any chain running ArbOS40, upgrading validators to Nitro v3.10.x needs to update module root to Consensus v60-rc.4 at the same time. Do NOT perform ArbOS upgrade
- If a chain is on ArbOS40 and has already upgraded validators to v3.10.x, the module root should be updated to Consensus v60-rc.4 as soon as possible. Do NOT perform ArbOS upgrade
Important for any chains that previously upgraded to ArbOS51 with consensus_v51:
- Validator should use configuration option
--node.block-validator.pending-upgrade-module-root=""to avoid performing unnecessary work trying to validateconsensus_v51.1.
v3.10.1 - 2026-05-12
Configuration
- Add
--execution.legacy-zero-base-fee-until <unix-ts>opt-in compatibility flag (default 0 = disabled). When set, restores the pre-v3.7 behavior of treating headers withArbOSFormatVersion <= 40andBaseFee == 0as non-arbitrum, for blocks with timestamp strictly less than the given value.
Added
- Include transaction-filterer binary in nitro-node and nitro-node-stripped Docker images.
Changed
- Set default
EnableETHCallFilterto false. - Update address-filter S3 hash list format
- Ensure genesis block is appropriately validated
Fixed
- Resolve BoLD Staking Bug That Attempts Self-Challenge
Arbitrum Nitro v3.10.0
Important Note: v3.10.0 should not be used to run staking validator
Important Note: Once a database is run with v3.10.0, the database cannot be used with v3.9.9.
Important Note: Please add this option to nodes running v3.10:
execution.transaction-filtering.enable-ethcall-filter=false
The default doesn't make anything behave incorrectly, but it does a lot of unnecessary work for the sequencer and for precheckers/forwarders.
We will fix the default on future versions.
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.10.0-b1cf6db
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\
Special note: On Monday, May 18, 2026 at 17:00 UTC, ArbOS 60-rc.5 will activate on the Arbitrum Sepolia chain. Arbitrum Sepolia node operators must upgrade to Nitro v3.10 ahead of this activation to continue syncing the chain. This is not a required upgrade for Arbitrum One at this time, the date for Arbitrum One ArboOS upgrade has not been set yet.
Sepolia validators can use block-validator.pending-upgrade-module root="0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57" to validate against the planned arbos-60 upgrade
Special note 2: Nitro 3.10.0 is an important release containing stability improvements and security fixes, and we recommend teams adopt it as soon as possible.
Important for any chains still on ArbOS40:
- Any chain running ArbOS40 can upgrade non-validator nodes to latest version.
- Any chain running ArbOS40, upgrading validators to Nitro v3.10.x needs to update module root to Consensus v60-rc.4 at the same time. Do NOT perform ArbOS upgrade
- If a chain is on ArbOS40 and has already upgraded validators to v3.10.x, the module root should be updated to Consensus v60-rc.4 as soon as possible. Do NOT perform ArbOS upgrade
Important for any chains that previously upgraded to ArbOS51 with consensus_v51:
- Validator should use configuration option
--node.block-validator.pending-upgrade-module-root=""to avoid performing unnecessary work trying to validateconsensus_v51.1.
v3.10.0 - 2026-05-05
Configuration
- Add
--execution.disable-arbowner-ethcallflag to disable ArbOwner precompile calls outside on-chain execution. [PR] - Add
--stylus-target.native-stack-sizeconfig to set the initial Wasmer coroutine stack size for Stylus execution. [PR] - Add
--execution.disable-arbowner-ethcallflag to disable ArbOwner precompile calls outside on-chain execution. [PR] - Add
--stylus-target.native-stack-sizeconfig to set the initial Wasmer coroutine stack size for Stylus execution. [PR] - Add
--execution.stylus-target.allow-fallbackflag: if true, fall back to an alternative compiler when compilation of a Stylus program fails (default: true). [PR] - Adds --execution.sequencer.transaction-filtering.disable-delayed-sequencing-filter to enable/disable filtering when sequencing delayed messages. [PR]
- Added
--node.block-validator.validation-spawning-allowed-timeouts(default3): maximum number of timeout errors allowed per validation before treating it as fatal. Timeout errors have their own counter, separate from--node.block-validator.validation-spawning-allowed-attempts. [PR] - The new
--node.batch-poster.compression-levelsflag allows operators to specify different compression strategies based. [PR]backlog: The minimum backlog size (in number of batches) at which this configuration applies. First entry must be zero. [PR]level: The initial compression level applied to messages when they are added to a batch once the backlog reaches or exceeds the configured threshold. [PR]recompression-level: The recompression level to use for already compressed batches when the backlog meets or exceeds the threshold. [PR]- Example configuration:. [PR]
- Validation rules:. [PR]
- The
backlogvalues must be in strictly ascending order. [PR] - Both level and recompression-level must be weakly descending (non-increasing) across entries. [PR]
- recompression-level must be greater than or equal to level within each entry (recompression should be at least as good as initial compression). [PR]
- All levels must be in valid range: 0-11. [PR]
- Add
--execution.address-filter.enableflag to enable/disable address filtering. [PR] - Add
--execution.address-filter.poll-intervalflag to set the polling interval for the s3 syncer, e.g. 5m. [PR] - Add
--execution.address-filter.cache-sizeflag to set the LRU cache size for address lookups (default: 10000). [PR] - Add
--execution.address-filter.s3.*group of flags to configure S3 access:. [PR]- Add
--execution.address-filter.s3.bucketflag to specify the S3 bucket name for the hashed address list. [PR] - Add
--execution.address-filter.s3.regionflag to specify the AWS region. [PR] - Add
--execution.address-filter.s3.object-keyflag to specify the S3 object key for the hashed address list. [PR] - Add
--execution.address-filter.s3.access-keyflag to specify the AWS access key. [PR] - Add
--execution.address-filter.s3.secret-keyflag to specify the AWS secret key. [PR] - Add
--execution.address-filter.s3.chunk-size-mbflag to set S3 multipart download part size in MB (default: 32). [PR] - Add
--execution.address-filter.s3.concurrencyflag to set S3 multipart download concurrency (default: 10). [PR] - Add
--execution.address-filter.s3.max-retriesflag to set maximum retries for S3 part body download (default: 5). [PR]
- Add
- The
- Init config must not have
emptyset to true whengenesis-json-fileis provided. [PR] - Add
execution.sequencer.event-filter.pathto configure sequencer-side event-based transaction filtering via a JSON rules file. [PR] - Added
--execution.address-filter.s3.endpointfor S3-compatible services (MinIO, localstack). [PR] - Add
--node.data-availability.rest-aggregator.connection-waithow long to wait for initial anytrust DA connection until it errors (re-attempts every 1 second) (to be deprecated, useda.anytrust*instead). [PR] - Add
--node.da.anytrust.rest-aggregator.connection-waithow long to wait for initial anytrust DA connection until it errors (re-attempts every 1 second). [PR] - Add
--anytrust.rest-aggregator.connection-waithow long to wait for initial anytrust DA connection until it errors (re-attempts every 1 second). [PR] - Add address-filter.address-checker-worker-count to configure the number of address checker workers. [PR]
- Add address-filter.address-checker-queue-size to configure the address checker queue capacity. [PR]
cmd/daserver->cmd/anytrustservercmd/datool->cmd/anytrusttool--node.data-availability.*->--node.da.anytrust.*--node.batch-poster.das-retention-period->--node.batch-poster.anytrust-retention-period--node.data-availability.rpc-aggregator.das-rpc-client.*->--node.data-availability.rpc-aggregator.rpc-client.*--node.batch-poster.max-size->--node.batch-poster.max-calldata-batch-size--node.da-provider.*->--node.da.external-provider.*anytrusttool--das-retention-period->--anytrust-retention-periodanytrusttool--das-rpc-client.*->--rpc-client.*daprovider--anytrust.parent-chain.node-url->--parent-chain-node-urldaprovider--anytrust.parent-chain.connection-attempts->--parent-chain-connection-attemptsdaprovider`...
Arbitrum Nitro v3.10.0-rc.10
Release candidates should not be run in general
This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.10.0-rc.10-b1cf6db
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
Important for any chains still on ArbOS40:
- 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.10.0-rc.10-b1cf6db-validator which has the extra script /usr/local/bin/split-val-entry.sh as the default entrypoint (no need to override the default entrypoint). This will run both
v3.10.0andv3.7.6validator workers for you. - If you are using a split validator, you do not want to use
-validatorimage, you need to run a validator worker onv3.7.6as well as a worker forv3.10.0
Important for any chains that previously upgraded to ArbOS51 with consensus_v51
- Validator should use configuration option
--node.block-validator.pending-upgrade-module-root=""to avoid performing unnecessary work trying to validateconsensus_v51.1.