Skip to content

v0.9.5 — Release candidate

Pre-release
Pre-release

Choose a tag to compare

@jamesgober jamesgober released this 08 Jun 14:53
· 1 commit to main since this release

lsm-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.md that still showed old versions
    (0.2, 0.4, 0.5) — now 0.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 with sled / 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 audit

All 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.