> ## Documentation Index
> Fetch the complete documentation index at: https://loyalty-interchange.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Release notes and product updates for the Loyalty Interchange Protocol

<Update label="0.1.2" description="2026-07-19">
  ## Write-freeze / maintenance mode

  Operators can now freeze LIP writes during a cutover window — independent of
  the BFF. When frozen, every `/lip/v1` write returns a stable
  `503 write_frozen` (RFC 9457) with a `Retry-After` header, while reads and
  `/health` stay available.

  * **Startup:** `lip serve --write-freeze` or `LIP_WRITE_FREEZE=true`.
  * **Runtime:** `POST /admin/api/v1/maintenance {"write_frozen": true|false}`
    (admin key + CSRF); `GET` returns the current state.
  * `GET /health` reports `write_frozen` for canary checks.

  ## `lip cloud-verify`

  A new CLI command runs doctor, conformance, and optional member-balance
  expectations against a deployed Cloud/staging host, so a cutover can be gated
  on a green run.
</Update>

<Update label="0.1.1" description="2026-07-18">
  ## Idempotent replay fix

  A retry that reuses the idempotency key with a regenerated `request_id` /
  `occurred_at` now returns the original result — the provider compares the
  business payload and echoes the retry's `request_id` on the replayed
  response. Reusing a key with a different payload still returns
  `409 idempotency_conflict`. Idempotency entries stored before 0.1.1 keep
  working under a pinned replay (dual-check).
</Update>

<Update label="0.1.0" description="2026-07-18">
  ## First public release

  LIP 0.1.0 is published to npm under the [`@loyalty-interchange`](https://www.npmjs.com/org/loyalty-interchange) scope with build provenance. Run the sandbox without cloning:

  ```bash theme={null}
  npx @loyalty-interchange/cli serve
  ```

  **Protocol & program model**

  * Initial LIP core and foodservice profile.
  * Program, tier, reward, account-summary, and cursor-based ledger read models.
  * Configurable earning policies for minimum spend, channels, exclusions, and rounding.
  * Annual tier qualification windows, tier multipliers, and original-rate refund attribution.
  * Earned-date point lots with FIFO consumption, reversal restoration, expiring balance buckets, and source-linked expiration ledger entries.

  **Engine & storage**

  * Deterministic reference engine with versioned snapshots and program-fingerprint validation.
  * Pluggable state-store contract and a durable SQLite implementation.
  * Seeded foodservice reference platform with restart-safe local and Docker state.

  **API, SDK & tooling**

  * HTTP reference server and black-box conformance suite.
  * Generated and idiomatic TypeScript clients for the account experience operations.
  * TypeScript schema package with JSON Schema Draft 2020-12 validation.

  **Admin**

  * Authenticated read-only Admin API and a responsive Admin application for program, member, tier, expiration, ledger, and developer inspection.
</Update>
