Skip to main content

Ledger v8.1.0 release notes

For the complete documentation index, see llms.txt
  • Version: v8.1.0
  • Date: May 13, 2026

High-level summary​

Ledger 8.1.0 is a minor release that delivers significant storage layer improvements and enhanced wallet functionality. The release includes critical fixes to the storage-core subsystem addressing race conditions, deadlocks, and memory management issues. It also exposes finer-grained control mechanisms and event contents through WASM bindings for wallet developers.

Audience​

This release note is most relevant for:

  • Node operators who benefit from improved storage stability and the new incremental garbage collector.
  • Developers using the ledger WASM bindings for wallet integrations.
  • DApp developers consuming ledger events through the WASM interface.

Summary of updates​

  • Added incremental garbage collector running in a time-bounded way in storage-core.
  • Allowed ParityDB to use an existing instance and share backends through generic Deref.
  • Fixed race condition in force_as_arc that could cause deadlocks.
  • Fixed panic in Sp serialization with mixed promoted and unpromoted keys.
  • Fixed Sp::into_tracked behavior.
  • Removed pending Update from memory before cache_insert_new_key in get().
  • Fixed lock ordering in force_as_arc to prevent deadlock.
  • Exposed finer-grained control and event contents for the wallet in WASM bindings.

New features​

Below is a detailed breakdown of the new capabilities introduced in this release.

Incremental garbage collector​

A new incremental garbage collector in storage-core runs in a time-bounded way, preventing storage bloat without blocking the main processing loop. Databases must support a new scan operation to use this feature.

Shared ParityDB backend​

ParityDB can now use an existing instance and share backends through generic Deref, reducing resource consumption when multiple components access the same database.

Enhanced wallet WASM bindings​

The WASM bindings now expose finer-grained control mechanisms and event contents for wallet integrations, giving wallet developers more flexibility in how they interact with the ledger state.


Breaking changes​

No breaking changes are introduced in v8.1.0.


Bug fixes and quality improvements​

The following bug fixes and quality improvements are included in this release.

Race condition in force_as_arc​

Fixed a race condition in force_as_arc that could cause deadlocks under concurrent access. This also resolves the lock ordering violation that could trigger the same deadlock from a different code path.

Sp serialization panic​

Fixed a panic in Sp serialization that occurred when mixing promoted and unpromoted keys, preventing node crashes during state serialization.

Sp::into_tracked behavior​

Corrected the behavior of Sp::into_tracked to produce accurate tracking state.

Memory leak in get()​

Pending Update entries are now removed from memory before cache_insert_new_key in get(), fixing a memory leak that could accumulate over time.


Known issues​

No critical known issues were identified at release time.