Skip to content

v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Jul 18:38

LeanLmdb 0.3.0 adds three opt-in capabilities while preserving raw binary behavior and durable defaults:

  • configurable read_ahead: false (MDB_NORDAHEAD) with compatibility and benchmark reporting;
  • versioned Elixir value codecs, transparent CRUD/scans/batches, deterministic logical CAS, raw migration access, and the bounded safe LeanLmdb.Codecs.ErlangTerm; and
  • a supervised bounded FIFO LeanLmdb.BatchWriter with producer-side encoding, overload control, group commit, commit-only flush, forced sync, graceful stop, and conservative unknown-worker-outcome semantics with no automatic retry.

Cross-feature tests cover every durability mode, read-ahead, codecs, independent BatchWriters in multiple BEAM OS processes, worker death before/during/after commit, and explicit relaxed-mode checkpoints. Benchmarks now label BatchWriter acknowledgment boundaries and report codec sizes, queue high-water marks, dispatch reasons, and p50/p95/p99 without machine-dependent CI thresholds.

Every attached NIF 2.16 archive was built from commit 44060a9094828951a6b5fef5133f0978c399133b and directly smoke-tested on its matching runtime before atomic publication. The seven SHA-256 values are pinned by checksum-Elixir.LeanLmdb.Native.exs in the follow-up source commit.