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_arcthat could cause deadlocks. - Fixed panic in
Spserialization with mixed promoted and unpromoted keys. - Fixed
Sp::into_trackedbehavior. - Removed pending
Updatefrom memory beforecache_insert_new_keyinget(). - Fixed lock ordering in
force_as_arcto 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.
Links and references
- GitHub: Midnight Ledger repository
- Release: Ledger 8.1.0 on GitHub