Skip to content

Midnight Indexer 4.3.3-rc.3

Pre-release
Pre-release

Choose a tag to compare

@cosmir17 cosmir17 released this 29 May 16:11
v4.3.3-rc.3
c1406af

Midnight Indexer 4.3.3-rc.3 Release Notes

Release date: 2026-05-29

Release type: Pre-release (development line)

Git tag: v4.3.3-rc.3

Tree hash: 45a08a986c7190e344a9519eb2c6e94881ab6bfa

Environment: All public networks (mainnet, preprod, preview, devnet, qanet)

Note: this release candidate pairs with node 1.0.0 and ledger 8.1.0 and is the fast-follow patch on the Midnight 1.1 indexer line. Refer to MNF advisories for current deployment recommendations.

Summary

Release candidate on top of 4.3.3-rc.2. Adds per-tree end indexes to the Block GraphQL type so clients can read a chain-aligned upper bound without walking transactions, and renames the dust nullifier byte fields with a LeBytes suffix so their constant-length little-endian encoding is explicit. Both surfaces are @ beta. Also aligns the node test fixtures to the node 1.0.0 release tag.

Dependencies

Both the node 1.0.0 and ledger 8.1.0 moves on this line are rc → release tag alignments (node from 1.0.0-rc.3, ledger from 8.1.0-rc.1) with no functional change for the indexer.

Docker Images

  • midnightntwrk/chain-indexer:4.3.3-rc.3
  • midnightntwrk/indexer-api:4.3.3-rc.3
  • midnightntwrk/wallet-indexer:4.3.3-rc.3
  • midnightntwrk/indexer-standalone:4.3.3-rc.3
  • midnightntwrk/spo-indexer:4.3.3-rc.3

Audience

  • Operators running an indexer on public networks (paired with node 1.0.0).
  • Testnet and devnet administrators.
  • DApp and wallet developers integrating against the indexer GraphQL API, in particular consumers of the dustNullifierTransactions subscription and the Block *EndIndex fields.
  • QA and release managers.

What Changed

Change Type PR
Add per-tree end indexes to Block New feature #1197
Rename dust nullifier byte fields with LeBytes suffix Improvement (@ beta) #1199

New Features

Per-tree end indexes on Block (#1197)

Adds zswapEndIndex, dustCommitmentEndIndex (@beta), and dustGenerationEndIndex (@beta) to the Block type. Clients get a chain-aligned upper bound for dustGenerations and the zswap / dust-commitment merkle update queries directly from block(offset), without walking back through transactions to find a RegularTransaction (the only variant that carries these on the transaction level). The values are the chain's per-tree first_free as of each block, monotonic non-decreasing.

Improvements

  • Renamed the dust nullifier byte fields and prefix argument on the dustNullifierTransactions subscription with a LeBytes suffix (#1199) so the constant-length little-endian encoding is explicit in the name: nullifiernullifierLeBytes, commitmentcommitmentLeBytes, nullifierPrefixesnullifierLeBytesPrefixes. These are @beta fields introduced in 4.3.2, the wire contract is unchanged (still raw little-endian bytes), and the only consumer (the wallet team) has been notified. The shielded nullifier surface is unchanged.

Breaking Changes or Required Actions

None for stable API consumers. The dust nullifier fields renamed in #1199 are @beta (no stability guarantee) and were only introduced in 4.3.2, so the rename is within the in-flight caveat rather than a stable-API break.

Links and References

(Per-PR links are embedded in the What Changed and Breaking Changes sections above.)