Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.2.0] — 2026-04-21

Changed — opam packaging

Added — Batch.pfcount_cluster

Changed — Transaction folded into Batch

Added — Batch.watch (read-modify-write CAS)

Added — Phase 7 (batch + cluster-aware commands)

Changed — router

[0.1.0] — 2026-04-20

First public release. The repo's been incubating for a few weeks across Phases 0–5; this tag freezes a working surface and ships it to opam under the 0.x umbrella (API may evolve through 0.x; 1.0 waits for the deeper audit in ROADMAP Phase 12).

Highlights of what's in 0.1.0 (full per-phase detail below):

Added — typed sorted-set wrappers

The leaderboard example surfaced this gap; the wrappers below replace the Client.custom calls that example was using. docs-first audit done against valkey.io for every command — each .mli quotes the upstream syntax + version + reply shape.

Score parsing handles both RESP3 Double and Bulk_string shapes (different commands and server versions emit different encodings).

examples/09-leaderboard/ is now typed end-to-end (no Client.custom left).

Added — Phase 5 (examples)

Changed

Known gaps surfaced by examples

Added — Phase 4 (documentation)

Added — Phase 3 (CI/CD + coverage)

Added — Phase 2 (testing rigour + audit)

Changed — Phase 2

Added — Phase 1 (command surface completion)

Added — Phase 0 (core)