Changelog
View SourceAll notable changes to this project are documented here.
0.2.0 - 2026-07-27
- Added per-environment
:sync,:no_meta_sync, and:no_syncdurability modes, plusLeanLmdb.sync/1for explicit forced checkpoints. - Added opt-in experimental
fixed_map: truesupport forMDB_FIXEDMAPwhile continuing to rejectWRITE_MAP,MAP_ASYNC, andNO_LOCK. - Added comprehensive configurable Benchee workloads with JSON and interactive HTML reports.
0.1.0 - 2026-07-27
Initial release.
- Shared, canonical-path LMDB environments and immutable named-database handles.
- Raw binary CRUD with stable missing/error results.
- Atomic cross-database batches and compare-and-swap conflict results.
- Bounded prefix/range scans with opaque process-local continuation tokens.
- Multi-BEAM coordination and stale-reader diagnostics.
- RustlerPrecompiled bootstrap for seven NIF 2.16 targets, with checksummed download-by-default installation and packaged Rust source fallback.
- Source fallback retains Rustler/heed test-support builds, ExDoc API documentation, and an offline release QA gate.
- Manual-only, draft-first release automation validated and published all seven
archives at the
v0.1.0GitHub release; the package pins their SHA-256 values inchecksum-Elixir.LeanLmdb.Native.exs.
Known constraints: LMDB permits one writer per environment; map growth is not automatic; scans do not retain a cross-page snapshot; values are copied rather than exposed zero-copy; only local filesystems are supported; Windows is limited to the x86-64 precompiled target; NIF hot upgrade with live resources is unsupported.