Files
alkstore/CHANGELOG.md
T

46 lines
2.1 KiB
Markdown

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