0.2.0 - 2026-10-22
Added
- Vendored SNKV v0.8.2 and recorded provenance in lib/snkv.upstream.
- Reproducible vendoring via scripts/update-snkv.sh.
- Low-level config mapping and full_mutex for OCaml 5 domains.
- Error codes from SNKV are propagated to the high-level result API.
- Refcounted handle lifetimes for stores, column families, and iterators.
- New test modules for basic operations, config, TTL, iterators, encryption, errors, and lifetimes.
- doc/compatibility.md and CHANGELOG.md.
Changed
- None filenames open an in-memory database instead of an empty path.
- Encrypted stores now require an explicit filename.
- checkpoint returns (log, ckpt) instead of mutating references.
- Txn.with_transaction rolls back on exceptions.
- C buffers are released with snkv_free.
- High-level open applies the full Config record through kvstore_open_v2.
Fixed
- Missing or incorrect error mapping (Busy, ReadOnly, AuthFailed, NotFound).
- Use-after-free risks around handle finalizers and CF/iterator lifetimes.
0.1.1