v0.9.5 — Release candidate
Pre-releaselsm-db v0.9.5 — Release candidate
Doc polish, last call before 1.0. v0.9.5 is the RC. No behaviour, no API, no
test change — just a documentation review pass that caught a few stale snippets
and one inaccurate claim. The engine is feature-complete, hardened, API-frozen,
and soak-tested; what stands between it and 1.0 is the Definition-of-Done audit
and the release cut.
What is lsm-db?
A log-structured merge-tree storage engine for Rust — the write path that powers
RocksDB, LevelDB, Cassandra, and ScyllaDB, packaged as a small, audited library.
It is the storage layer the portfolio's database crates (txn-db, Hive DB) build
on, so the durability and read/write contract is implemented and tested once.
What's new in 0.9.5
A documentation review of the full doc set found and fixed:
- Three stale install snippets in
docs/API.mdthat still showed old versions
(0.2,0.4,0.5) — now0.9. - A "Tier 3 — extension traits / comparators (planned)" line in the tiered-API
section that contradicted the recorded decision to leave a pluggable comparator
out of the 1.0 surface. The section now states plainly that there is no Tier-3
seam: keys are ordered lexicographically and the engine is concrete (encode
keys to sort when a custom order is needed, as withsled/redb).
Nothing else changed — the code, tests, benchmarks, and on-disk format are
identical to 0.9.0.
Breaking changes
None. Documentation only.
Verification
Green on Windows x86_64 and Linux (WSL2), Rust stable and MSRV 1.87; macOS via the
CI matrix:
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test
cargo test --all-features
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features
cargo +1.87 clippy --all-targets --all-features -- -D warnings
cargo +1.87 test --all-features
RUSTFLAGS="--cfg loom" cargo test --test loom_lsm
cargo deny check
cargo auditAll green. The test suite is unchanged from 0.9.0.
What's next
- 1.0.0 — Stable. Definition-of-Done audit, the final release note, and
publication. The engine is feature-complete, hardened, API-frozen, and
soak-tested; 1.0 re-affirms the frozen public surface and the 1.x-frozen
on-disk format and cuts the release.
Installation
[dependencies]
lsm-db = "0.9"
# Crash-safe writes and/or bloom-filtered point reads:
lsm-db = { version = "0.9", features = ["durability", "bloom"] }MSRV: Rust 1.87 (2024 edition).
Documentation
Full diff: v0.9.0...v0.9.5.
Changelog: CHANGELOG.md.