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-costCLI argument andMAX_TX_GAS_COSTenvironment variable. - Cached
multi_asset.idlookups 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.idlookups for cNIGHT observation queries, eliminating repeatedJOIN multi_assetclauses 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, andma_tx_outid bounds are pre-queried for the requested block range, enabling PostgreSQL to prune rows before doing expensive joins. The sametx.idbounding also coverstx_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.
Links and references
- GitHub release: Midnight Node v0.22.5
- Node operator guide: Run a node
- Node repository: Midnight Node