Changelog (from commits)
Derived from git log on main (857 commits at time of writing). This page summarizes recent code changes; it is regenerated, not hand-maintained.
git log --oneline -30 # recent history
git log --pretty='%h %ad %s' --date=short -100 | grep -iE 'feat|fix|perf|ops'
Recent highlights (2026-09-02 → 2026-09-08)
- Reports export fixed (
b99e9576) — filtered exports stream completely, - Tenant isolation + accessibility closed (
18b628c6,6fd966f3) — - Contacts (
c4aaf2b5,ee7ea6c8,2f6cb7bc) — directory query - Performance (
334c9012,40c7ab4a,0c64df29,c0b16df5) — deferred - Auth hardening (
6b6b87c2) — immediate session revocation, CSRF cookie - Redis fail-fast (
3c152cab) — loud failure on unreachable self-hosted - Demand generation (
ad48b124,9f6f913a,4e590098) — page-level - Negotiation guards (
58544ce2,a29ed376) — dollar amounts required on - Trust ledger (
e24c73a3) — open-lien interior proven on IOLTA ledger. - Ops recovery (
7f7d6162,d0ff6ae2) — encrypted daily DB backups with - Analytics (
7a6829d3,80b912eb,99310125) —event_idstamping on - Deploy (
ab993950,b63722db) — migration-smoke diagnostic, verified - AI kernel (
92e38546,f9beda22) — fail-closed agent kernel on
no silent truncation.
fail-closed tenancy, measured axe pass over authenticated rooms.
validation, readable merge/filter selections, keyboard-accessible links.
case quick-actions, on-demand dashboard controls, CSS motion-lite shim on marketing pages, on-demand intake chat.
on portal pages.
Redis instead of silent degradation.
citations with deterministic page match, DemandVersion backfill via BullMQ/cron dispatch.
money events; $0 acceptances no longer unlock Settlement.
verified offsite restore; object-media backup.
sign-up/conversion, GA4 via GTM, first-touch click IDs on inquiries.
hostssh standalone entrypoint.
harvest; wall-timeout helper typecheck.
Reading the history
- Prefixes:
feat(feature),fix,perf,ops,docs,test,chore. - Most recent commits are
docs(...)release-evidence entries — process noise - Regenerate this page after each release; never rewrite history to make it
Scopes in parentheses name the area (reports, contacts, auth, …).
for changelog purposes; filter to feat|fix|perf|ops for product signal.
read better.