# Changelog

All notable changes to `klieo-memory-sqlite` are documented here.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [2.0.0] — 2026-06-08

### Breaking changes

- `MemorySqlite` is now `#[non_exhaustive]`. Adopters constructing the
  struct via literal syntax outside the crate must switch to the
  factory methods (`MemorySqlite::open` or `MemorySqlite::new`).
  Reading fields and pattern-matching with `..` continue to work.

  Migration:

  ```rust
  // Before (1.x):
  let mem = MemorySqlite { short_term, long_term, episodic };

  // After (2.x):
  let mem = MemorySqlite::open(path).await?;
  ```

  Rationale: wired-bundle structs need additive fields as the framework
  grows. `#[non_exhaustive]` per ADR-041 +
  `feedback_rust_public_api_hardening`.

## [1.1.0] — 2026-06-05

### Added

- `MemorySqlite::open(path)` capability default per ADR-036 — wraps
  `Arc::new(DummyEmbedder)` so adopters can stand up a SQLite-backed
  memory with a single path argument. README + `lib.rs` rustdoc now
  lead with `open`; the full `MemorySqlite::new(path, embedder)`
  constructor is retained as the "Advanced wiring — custom embedder"
  path.

### Notes

- Coordinated with `klieo-memory-qdrant` 1.2.0 (`MemoryQdrant::connect`)
  and `klieo-memory-graph-rag` 0.2.0 (`GraphAwareLongTerm::builder`)
  as the ADR-036 PR 1 capability-default cluster.

## [1.0.0] — 2026-06-04

### Notes

- Stability promotion to 1.0 as part of the klieo workspace 1.0.0 cut.
  See umbrella `klieo` CHANGELOG and ADR-036 for cross-crate context.

[Unreleased]: https://github.com/mohrimic/klieo/compare/klieo-memory-sqlite-v1.1.0...HEAD
[1.1.0]: https://github.com/mohrimic/klieo/releases/tag/klieo-memory-sqlite-v1.1.0
[1.0.0]: https://github.com/mohrimic/klieo/releases/tag/klieo-memory-sqlite-v1.0.0
