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