Skip to main content

Ledger 8.0.2 release notes

For the complete documentation index, see llms.txt
  • Version: v8.0.2
  • Date: 12 March 2026
  • Environment: Preview, Preprod

High-level summary

Ledger 8.0.2 introduces fixes to Merkle tree canonicity and DUST change computation during registration. It also adds new capabilities such as the with_genesis_settings constructor for ledger state, native Arm proof server builds, and a last block time context variable.

This release also includes bug fixes for logging, sequencing-check iteration determinism, and divide-by-zero handling in dust.rs (panic changed to error).


Audience

This release note is relevant for developers who build applications using the Ledger WASM bindings.


What changed (Summary of updates)

This release combines behavior-level corrections with developer-facing improvements. The updates below highlight fixes that improve determinism and transaction correctness.

  • Fixed DUST change computation for DUST spent during registration (breaking behavior change)
  • Fixed Merkle tree canonicity (breaking behavior change)
  • Added last block time context variable
  • Added with_genesis_settings ledger state constructor for initial parameters and pool allocations
  • Added native Arm proof server build support
  • Logged non-proof-erased transaction hashes
  • Resolved non-determinism and out-of-spec iteration order in sequencing checks
  • Removed accidental structured logging of full ledger state in some code paths
  • Changed divide-by-zero in dust.rs from panic to error

New features

Below are the new features introduced in this release.

Last block time context variable

blockContext now exposes lastBlockTime.

LedgerState::with_genesis_settings constructor

This constructor creates a new ledger state with explicit genesis parameterization, including network ID, initial parameters, and system-controlled pools:

  • The locked pool, representing funds locked on Midnight while circulating as cNIGHT on Cardano
  • The reserve pool, representing funds allocated for protocol participation rewards
  • The treasury pool, representing funds reserved for governance-controlled strategic use

New features requiring configuration updates

No configuration updates are required for this release.


Deprecations

None in this release.


Breaking changes

Below are the breaking changes and required actions for developers.

Last block time context variable

blockContext includes an additional field, lastBlockTime.

Required actions: None

Transaction behavior changes

This release includes behavior-level breaking changes without direct API signature changes, including Merkle tree canonicity and DUST registration change calculation fixes.

Required actions: None


Fixed defect list

The following defects were fixed in Ledger 8.0.2:

Defect numberDescription
PM-20776Fixed reference handling after spend of NIGHT inputs during registration
PM-21748Logged and emitted non-proof-erased transaction hashes instead of misleading proof-erased variants
PR-161Fixed Merkle tree canonicity
PR-182Used BTreeMap in as_indexed
PM-21978Changed divide-by-zero from panic to error