Skip to main content

Node v0.22.5 release notes

For the complete documentation index, see llms.txt
  • Version: v0.22.5
  • Date: April 24, 2026
  • Environment: All public networks

High-level summary

Node v0.22.5 is a node-only patch release. It adds an optional transaction-pool filter so operators can cap the per-transaction gas cost their node accepts, and includes two cNIGHT observation query optimisations that materially reduce db-sync load. The devnet bundled chain spec is reset to runtime version 0.22.0 to match Mainnet.

There is no runtime upgrade in this release. Operators only need to update the node binary.


Audience

This release note is relevant for users who:

  • Run Midnight node infrastructure on any public network and want the cNIGHT observation performance improvements
  • Run devnet nodes that rely on the bundled chain spec, which now targets runtime 0.22.0 to align with Mainnet

DApp developers and toolkit users do not need to take any action for this release.


What changed (Summary of updates)

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

  • Added transaction pool gas cost filtering via --max-tx-gas-cost CLI argument and MAX_TX_GAS_COST environment variable.
  • Cached multi_asset.id lookups for cNIGHT observation queries to reduce db-sync join complexity.
  • Added primary-key range bounding for cNIGHT observation queries to allow PostgreSQL to prune rows before running expensive joins.
  • Reset the devnet bundled chain spec to target runtime version 0.22.0 to match Mainnet.

New features

Below are the new features introduced in this release.

Transaction pool gas cost filtering

Node v0.22.5 adds a --max-tx-gas-cost CLI argument and a MAX_TX_GAS_COST environment variable. The node rejects Midnight transactions whose estimated gas cost exceeds the configured limit at the pool gateway level, before they enter the transaction pool. The CLI argument takes precedence over the environment variable when both are set.

Leaving the flag unset preserves the previous unbounded behavior, so this change is non-breaking for existing deployments.


New features requiring configuration updates

No new features require configuration updates.


Improvements

This release includes two targeted performance improvements for cNIGHT observation queries and a devnet chain spec alignment fix.

  • Cached multi_asset.id lookups for cNIGHT observation queries, eliminating repeated JOIN multi_asset clauses across registration, deregistration, asset create/spend, and candidate token paths. This materially reduces query complexity on busy db-sync deployments.
  • Added primary-key range bounding for cNIGHT observation queries. Coarse tx, tx_out, and ma_tx_out id bounds are pre-queried for the requested block range, enabling PostgreSQL to prune rows before doing expensive joins. The same tx.id bounding also covers tx_in-keyed spend and deregistration queries.
  • Reset the devnet bundled chain spec to target runtime version 0.22.0, matching Mainnet.

Breaking changes

This release includes no breaking changes.


Known issues

Issue: Initial sync performance

Description: Initial sync from genesis can still be slower than desired on some operator setups. The cNIGHT db-sync query optimisations in this release improve sync times, but the team plans further sync performance work for a later release.

Workaround: No workaround is available at this time. Track issue #1298 for progress.