BookMend ยท changelog

Every release, dated.

Same rule as the audits: checkable. This list comes straight from the code history.

Aug 17, 2026
BookMend live: static audit page + CF Pages Function (engine port, parity with millions-shell detectors)
Aug 17, 2026
Fix false unbooked-payout: resolve ledger refs against known ids (longest-first), not regex guessing; add 50-scenario live simulation battery (50/50 + 6 edge cases pass)
Aug 17, 2026
Panel fixes: trust section, sample-audit button, honest scoping (no 'every'), solo-voice CTA w/ $499 anchor, merchant-language templates+errors, corrected Shopify/QBO export paths, date-range guidance, fixed results headline grammar
Aug 19, 2026
Hostile-input round 2: binary/xlsx detection (was returning false clean reports), EU semicolon auto-delimiter (was producing false findings); battery now 50 scenarios + 6 edges + 15 hostile, all passing
Aug 19, 2026
Auto-generated Repair Pack: every finding now carries deterministic correction steps (void-lists w/ exact transaction ids, correcting journal entries w/ dates+amounts+memos); repairStepCount in summary; battery extended
Aug 19, 2026
Round-2 panel fixes: brand header+favicon, promise-first h1, button CTA w/ dynamic audit-total subject, 3-step what-happens list, trust strip, visible repair steps per finding, severity context line, unified first-person voice, humanized dates, zero-amount finding guards, per-file error messages, OG tags, mobile flex fixes
Aug 19, 2026
Security hardening (CSP/HSTS/frame-deny headers, 405 on GET, 413 fast-reject >4.5MB w/ friendly message) + Tim's clarity rewrites (tip + bookkeeper box)
Aug 19, 2026
Full self-serve monetization: /api/checkout (Stripe sessions, auto-activates on secret) + /api/repair (payment-verified full pack) + server-side paywall masking (ids/dates masked, repair steps withheld until paid; sample fingerprint stays transparent); shared engine lib; CTA rewired to instant unlock + poll + download
Aug 19, 2026
Round-3 de-slop + UX: em-dash purge, jargon out, popup-blocker fallback link, 10-min poll timeout, masking explainer, checkout try/catch, sample-link loading state, amber sample-unlock notice

โ† Back to the audit