46 lines
2.1 KiB
Markdown
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 |