Skip to content

Midnight Indexer 4.3.0

Choose a tag to compare

@cosmir17 cosmir17 released this 30 Apr 23:21
v4.3.0
cf55cb9

Midnight Indexer 4.3.0 Release Notes

Compatibility note: This release pairs with node 1.0.0 and ships as part of the Midnight 1.1 bundle (May release). Refer to MNF advisories for current deployment recommendations. Operators currently on node 0.22.x should follow the 4.0.x maintenance line (latest: 4.0.2) instead.

  • Release date: 2026-04-30
  • Release type: Bundle component, Midnight 1.1
  • Git tag: v4.3.0
  • Tree hash: cc0edf48419bdb942ea8e4bb0aecbb90e71ae9c5
  • Environment: Development line, ships to public networks once the Midnight 1.1 bundle is promoted (currently exercised on QAET secondary against node 0.22.2; formal QA against node 1.0.0 happens before promotion)

High-level summary

Development-line release on the node 1.0.0 / ledger 8.1 track, the indexer side of the Midnight 1.1 bundle. Three new features (SPO indexer in standalone SQLite mode, CLI --version without config, dust generation dtime updates in the subscription stream) and three bug fixes (in-memory pub/sub drain task lifecycle, dust subscription input validation, /api/v3 and /api/v4 redirect loop). No GraphQL schema breaking changes.

Dependencies

This release is part of Midnight Release 1.1:

  • Bundle tracking issue: midnightntwrk/midnight-engineering#1
  • Paired ledger: 8.1
  • Paired node: 1.0.0 (supports 0.22.x as well)
  • Sibling release: indexer 4.0.x maintenance line continues to ship for operators still on node 0.22.x (latest: 4.0.2)

Docker Images

Five images publish at this tag (per .github/workflows/build-indexer-images.yaml at v4.3.0):

  • midnightntwrk/chain-indexer:4.3.0
  • midnightntwrk/indexer-api:4.3.0
  • midnightntwrk/wallet-indexer:4.3.0
  • midnightntwrk/indexer-standalone:4.3.0
  • midnightntwrk/spo-indexer:4.3.0

Audience

These release notes are intended for:

  • Operators running the Midnight Indexer against node 1.0+
  • Developers integrating against the Indexer API (queries and subscriptions)
  • QA and release managers tracking bundle component versions for the May release

(Operators on node 0.22.x should track the 4.0.x maintenance line, not this release.)

What changed

Change Type PR
SPO indexer in standalone SQLite mode New feature #979
--version flag works without config New feature #1083
DustGenerationDtimeUpdate in dustGenerations subscription New feature #1080
In-memory pub/sub drain tasks survive lag Bug fix #1063
Dust subscription input validation tightened Bug fix #1090
Infinite redirect loop on unknown /api/v3 and /api/v4 paths Bug fix #1093

New features

SPO indexer in standalone SQLite mode (#979)

indexer-standalone (the single-binary, SQLite-backed deployment) now bundles the SPO indexer alongside the existing chain-indexer / indexer-api / wallet-indexer paths. Previously SPO indexing required the cloud topology (separate spo-indexer binary against PostgreSQL plus NATS). Standalone operators can now produce SPO data without the cloud-mode dependency stack. External community contribution from hlolli.

--version without config (#1083)

indexer --version (and the per-binary CLIs) now print version output without requiring a valid configuration file. Aligns with standard CLI conventions and removes an unnecessary failure mode in environments where config has not yet been mounted (debugging, CI inspection, container introspection).

DustGenerationDtimeUpdate in dustGenerations subscription (#1080)

The dustGenerations GraphQL subscription now emits DustGenerationDtimeUpdate events alongside the existing dust-generation events. Wallet integrators get the dtime-advance signal directly through the subscription stream instead of needing to poll for it.

New features requiring configuration updates

None.

Improvements

None in this release. (Performance work continues on subsequent releases; perf entries in 4.1.0 introduced DataLoader batching across several lookups.)

Deprecations

None.

Breaking changes

None. This is a drop-in upgrade for operators already on the indexer 4.x.y development line. The Indexer API GraphQL schema is unchanged at v4.

Known issues

No new known issues introduced by this release. The broader audit-finding work-in-progress (subscription guardrails per SSE #196, CI/CD hardening, etc.) is tracked under separate tickets and is not specific to 4.3.0.

Fixed defect list

The following defects were fixed in Indexer 4.3.0:

Defect / PR Description
#1063 Standalone-mode in-memory broadcast pub/sub drain tasks could exit after a lag event, leaving subscribers without further messages. Drain tasks now stay alive across lag.
#1090 Dust subscription accepted overly permissive input. Validation tightened against malformed input on the dust subscription path.
#1093 Unknown paths under /api/v3 and /api/v4 triggered an infinite redirect loop. Redirect handling no longer loops on unknown sub-paths under each API version prefix.

Links and references

(Per-PR links are embedded in the What changed and Fixed defect tables above.)