Node v0.18.0 release notes
For the complete documentation index, see llms.txt
- Version: v0.18.0
- Date: December 15, 2025
- Environment: Preview
High-level summary
This release introduces the new tokenomics model with unshielded transactions in addition to the existing shielded transactions and DUST-based fees instead of tDUST. The Midnight generator has been re-engineered into the Midnight toolkit with expanded capabilities. Upgrades to Partner Chains v1.8.0. The breaking changes in this release require chain reset and affects Preview developers and stake pool operators.
Audience
This release note is critical for users who:
- Run a node on Preview.
- Use the Midnight generator (now Midnight toolkit).
- Operate stake pools or maintain infrastructure.
- Work with the NIGHT token or deploy contracts.
Summary of updates
The updates below describe the key changes introduced in this release.
- Introduced unshielded transactions alongside existing shielded transactions
- Implemented new DUST fee mechanism generated from the NIGHT token
- Upgraded to Partner Chains v1.8.0
- Added Federated Authority Observation capabilities
- Reduced session length from 2 hours to 30 minutes (1200 slots → 300 slots) for improved stability
- Implemented state forking for ephemeral environments
- Enhanced security with non-root Docker container users
- Multiple critical bug fixes for DUST generation and registration
New features
Below are the new features introduced in this release.
Unshielded transactions
Midnight now supports unshielded transactions in addition to the existing shielded transactions. This provides developers with flexibility to choose the appropriate transaction type for their use case.
DUST fee mechanism
Transaction fees are now paid using DUST, which is generated from the NIGHT token through the cNIGHT observation system. This tokenomics model creates a sustainable fee economy where NIGHT holders can generate DUST for paying transaction costs.
Midnight toolkit
The Midnight generator has been re-engineered into the Midnight toolkit, a command-line tool for developers. The new toolkit allows you to:
- Send Unshielded tokens.
- Send Shielded + Unshielded tokens between contract calls.
- Sync with local and remote networks.
- Calculate DUST fee.
- Execute compiled contracts.
- Pre-generate and send 100s of transactions (performance testing).
- Add support for node runtime forks.
- Fetch and print wallet state and DUST balance.
- Maintain contracts (updating authority + verifier keys).
Federated Authority Observation
Introduces observability of the federation authorised to produce Midnight blocks.
State forking for ephemeral environments
Enables snapshot and restore capabilities for node state. This allows developers to create ephemeral test environments that can be quickly spun up from specific chain states.
New features requiring configuration updates
Below are the features requiring user action.
Session length reduction
Sessions reduced from 2 hours (1200 slots) to 30 minutes (300 slots).
Required updates:
- Update monitoring and automation scripts that depend on session timing.
- Adjust stake pool operator workflows for shorter session cycles.
Network ID convention change
Network IDs now follow Polkadot standard with midnight_ prefix.
Required updates:
- Update chain specifications and configuration files to use new format.
- Chain spec now uses
idfield for network identification.
Improvements
Below are the improvements introduced in this release.
- Enhanced DUST registration error handling.
- Improved UTXO ordering and capacity management.
- Added JSON output for wallet state.
- Added flexible transaction command flags.
- Indexing status is now output to
stderrwhen syncing, separating it from data output onstdout.
Breaking changes
The following changes are critical and will break previous functionality.
Non-root Docker containers
What changed: Docker images now run as non-root appuser instead of root.
What breaks: Volume mounts without proper permissions will fail, scripts assuming root access will break.
Required actions:
- Review security configurations with new non-root container requirements.
- Set
RESTORE_OWNERenvironment variable if needed for automated ownership correction.
NetworkId type change
What changed: NetworkId changed from enum to String type.
What breaks: Any code that pattern matches on NetworkId enum variants will fail to compile.
Required actions:
- Update all
NetworkIdreferences to treat asString. - Replace
enumpattern matching with string comparisons.
Known issues
Cost model integration incomplete.
Description: The cost model integration is still in early stages and requires significant fine-tuning. Without proper cost limiting, blocks can become too full and cause network instability.
Workaround: Limit transactions to 1 per block until the next version is available. This can be configured by sending an extrinsic of the Midnight pallets' setMnTxWeight to 1,000,000,000,000 using governance. This temporary limitation ensures network stability while cost model optimization continues.
Links and references
- Artifacts: Midnight node.
- Midnight toolkit: CLI toolkit usage guide.
- Midnight Node: Node operator guide.
- GitHub release: Midnight Node-0.18.0 release.
- DUST: DUST architecture overview.
- Community support: Join the discussion on Discord.
- Known issues board: Midnight Node GitHub issues.