2.7 KiB
Changelog
All notable changes to this crate are documented here. The format is based on Keep a Changelog, and this crate adheres to Semantic Versioning.
0.1.0 - 2026-10-11
Initial crates.io release of the alkstore family: one reactive store contract (the pinned contract v1 surface) with three engine implementations.
The core crate (alkstore) defines the unified trait surface —
notify/listen with transactional wake discipline, streams with
per-consumer offsets and consumer-invoked trim_to, queues with
visibility-timeout claims, backoff, dead-lettering and the opt-in
retention sweep, TTL named locks, the outbox helper
(outbox_enqueue_tx + run_once), the @every scheduler, and the
caller-held TxHandle seam (drop = rollback) — plus the value types,
error taxonomy, and the naming / reserved-namespace contract. No
runtime capability surface: engine identity is compile-time, and the
deployment honesty lives in the engine crates' postures plus the
documented deployment matrix (ADR-016).
Three engines ship the same contract v1 surface:
alkstore-sqlite— single-host, file-backed, over rusqlite and the forked honker-core substrate carried in-tree (bridged sync/async seam,data_versionwatcher wake).alkstore-postgres— multi-host native, natively async over tokio-postgres + deadpool-postgres with a dedicated non-pooled LISTEN connection per LISTEN-ing process.alkstore-mem— honest-ephemeral in-process state: full contract v1, no durability, never fleet-valid; the wasm32-compile-clean family member.
Engine diagnostics route through the tracing facade
(ADR-025) — silent by default: the engine crates carry no
subscriber, and a consuming binary opts into diagnostics by wiring a
tracing-subscriber env-filter (e.g. RUST_LOG=warn for
degraded-operation events, RUST_LOG=error for unrecoverable-loss
events). Core never emits; the contract's failure reporting stays the
typed error taxonomy. All engine events are secret-free by the
standing rule — no DSN, password, or credential material.
All three engines run the same contract-suite rows
(alkstore-contract-suite) against their own factory — three engines,
one pinned contract. The contract version is the core crate's semver
(ADR-017); this 0.1.0 release closes the pre-release contract-change
window, and ADR-017 §2's class-1 amendment events terminate at it.