# Changelog All notable changes to this crate are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this crate adheres to [Semantic Versioning](https://semver.org/). ## [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_version` watcher 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. [0.1.0]: https://git.alk.dev/alkdev/alkstore/releases/tag/v0.1.0 [ADR-016]: docs/architecture/decisions/016-deployment-honesty.md [ADR-017]: docs/architecture/decisions/017-contract-versioning.md [ADR-025]: docs/architecture/decisions/025-log-facade.md