Skip to main content

Node v0.22.0 release notes

For the complete documentation index, see llms.txt
  • Version: v0.22.0
  • Date: March 16, 2026
  • Environment: All public networks

High-level summary

Node v0.22.0 is a major release that upgrades to Ledger 8.0.2 and introduces important governance, reliability, and operational improvements. It adds per-account governance transaction throttling, strengthens runtime safety checks, and expands genesis construction and verification tooling for production network operations.

This release also changes ledger storage layout to v2, which requires a fresh sync from genesis or a compatible snapshot.


Audience

This release note is relevant for users who:

  • Run Midnight node infrastructure or validator operations
  • Manage governance and system-parameter workflows
  • Integrate with Node RPC APIs and chain operations
  • Use the Midnight toolkit for transaction and intent workflows

What changed (Summary of updates)

The updates below describe the key changes introduced in this release.

  • Upgraded runtime ledger integration from v7 to v8.0.2
  • Added per-account signed transaction throttling for governance members
  • Added governance system-transaction gating for safer privileged operations
  • Added --filter-deploy-txs to filter Op::Deploy and Op::Maintain transactions
  • Added genesis construction and verification tooling for launch and migration workflows
  • Added memory headroom monitoring and peer reputation/unban RPC endpoints
  • Enabled ledger storage layout v2 for improved write-cost behavior
  • Improved determinism, observability, and toolkit resilience across node operations

New features

Below are the new features introduced in this release.

Ledger 8.0.2 integration

Node v0.22.0 upgrades to Ledger 8.0.2 through a runtime upgrade. This introduces new ledger behavior and fixes while aligning node and toolkit flows with the latest ledger APIs.

Per-account transaction throttling

A new throttle mechanism limits signed transaction throughput per governance member account over a rolling window. This reduces risk of governance-path abuse while preserving normal inherent and unsigned flow handling.

Governance and genesis tooling updates

This release adds stronger governance controls around system transaction dispatch and expands tooling for genesis construction and verification, including scripts and verification commands used during network launch and environment setup.

Operational features for node operators

Node operators gain new controls and diagnostics, including:

  • --filter-deploy-txs for permissioned deployment phases
  • Memory headroom monitoring with graceful shutdown behavior
  • Peer reputation and unban RPC endpoints for network troubleshooting

New features requiring configuration updates

  • Ledger storage layout v2: Existing on-disk chain data from older versions is incompatible.
  • Deploy transaction filtering: Use --filter-deploy-txs where permissioned contract deployment policy requires it.
  • Memory headroom monitoring: Enable with --memory-threshold <MiB> when needed.

Improvements

This release includes reliability and performance improvements across runtime behavior, query paths, toolkit workflows, and release engineering.

  • Validation cache now uses both TTL (60s) and TimeToIdle (TTI) to evict stale entries on relay nodes
  • Block production is deterministic, while sync remains non-deterministic for historical blocks
  • UTXO ordering overrides are available for historical blocks on QANet, Preview, and Preprod
  • Transaction processing now uses a deterministic-iteration collection instead of HashMap
  • Ledger operations now include additional per-step timing logs
  • Mainchain follower operations now expose metrics through the observed_async_trait macro
  • Genesis queries are faster with a composite index on ma_tx_out (tx_out_id, ident)
  • Offline subcommands now derive genesis state from the chain spec instead of hardcoded defaults

Breaking changes

Below are the breaking changes and required actions for operators and integrators.

Ledger upgrade from 7 to 8.0.2

What changed: Runtime ledger integration moved from v7 to v8.0.2.

What breaks: Nodes not upgraded before runtime activation may stop importing or producing blocks.

Required actions:

  • Upgrade node binaries to v0.22.0 before runtime activation.
  • Validate runtime upgrade rollout and monitor upgrade state closely.

Ledger storage layout v2

What changed: Ledger storage layout switched to v2.

What breaks: Existing chain data directories from previous releases are incompatible.

Required actions:

  1. Stop the node.
  2. Remove old chain data.
  3. Resync from genesis or use a v2-compatible snapshot.

Toolkit API behavior adjustments

What changed: WalletSeed no longer provides a Default implementation. Untagged decoding is used for contract-address and coin-public inputs.

What breaks: Tooling or scripts relying on implicit wallet seed defaults or tagged-only decoding assumptions.

Required actions:

  • Provide explicit wallet seed values where required.
  • Update affected CLI and automation inputs accordingly.

Known issues

No known issues at release time.