We understand selling. The software does the running. My accountContactDocs

Changelog

Fifty-five releases, every one with a date on it.

For software you install on the site that takes your money, the release history is the trust. This is the short version — the full list ships inside the plugin as BUILD-INFO.txt, including the caveats, which is the half most changelogs leave out.

VersionWhat changedDate
0.55.4The sidebar says the product, and the rest of it translates.2026-08-18
0.55.3A nonce is only as good as the page it came in on.2026-08-17
0.55.2Three features nobody could reach, and two suites that could not pass.2026-08-17
0.55.1Rename: everything carries the product name.2026-08-02
0.55.0Plan definitions, and the seven things never gated, named in code.2026-08-02
0.54.1Outcome tracking charts across a course of treatment.2026-08-02
0.54.0The admin copilot: plan, approve, undo, audited.2026-08-02
0.53.0The booking assistant, with claims verified against tool returns.2026-08-02
0.50.0The morning brief — read-only, no model, no API key needed.2026-08-02
0.48.0Two-way WhatsApp: confirm, cancel, move, claim, stop.2026-08-02
0.44.0The no-show system — confirm-or-release and risk-adaptive deposits.2026-08-01
0.40.0Importers for Amelia, LatePoint, BookingPress and Bookly.2026-08-01
0.34.0Shared gateway handoff; the accent moves to a value that passes AA.2026-08-01
0.33.0Three TypeErrors shipped that lint and php -l both passed.2026-08-01
0.31.0Packages, memberships and gift cards.2026-08-01
0.4.80Reconstructed history: 42 archived builds, each dated from its zip.2026-07-26

Versions before 0.4.76 are whole-version snapshots reconstructed from archived build zips — this repository was put under version control after the fact, and each commit is one archived build dated from its file. BUILD-INFO.txt is the better changelog for anything that old.

Two we are not proud of

The ones worth reading.

0.33.0 — three TypeErrors

Shipped past both a linter and php -l, because a local variable shadowed the translation helper for a whole function. Neither tool proves that calling a function does not throw. That release is why a JavaScript smoke suite now runs every render path against a hand-rolled DOM stub.

0.34.0 — the accent changed

The original orange failed WCAG AA on white. It was replaced rather than argued about, and accessibility went on the list of things that are never behind a paywall. A contrast failure is a defect, not a preference.

Kavita — free until you hire somebodyStart free
Our first plugin: Kavita — bookings and appointmentsTake a look