Changelog
A reverse-chronological record of every shipped change that touches
business-logic code or user-facing behaviour. Each entry is its own page —
authored by the developer (with the docs-update skill’s
help) and reviewed in the same PR as the code change.
Entries live under docs/app/changelog/entries/
as one file each, so two branches adding entries never touch the same file.
See the docs-automation spec
for how entries are maintained, and the covers: / owns: convention
for how /business-logic/ pages declare which code they document.
executeQuery now retries deadlocked statements up to 3 times with backoff, so concurrent approve-manually requests no longer surface a 500.
TUN-817PR #868Removed the transitional dual-tag so the website tags only the unified GA4 property, retiring the legacy property and GTM container.
TUN-801Server-side GA4 purchase events now capture the real GA client_id/session_id client-side so purchases join the member's web session.
PR #765The 2FA passcode SMS appends an Apple domain-bound code line so iOS autofill pins to the exact current passcode instead of a stale one.
TNBUGS-1732The /book page now reports the member's Convergence discount tier to GA4, so app-driven bookings can be measured by tier.
TUN-798PR #753Tunn3l joins FuseMetrix and Convergence as a booking-system integration, and the per-vendor connector tables are consolidated into one set discriminated by a vendor column.
TUN-661PR #744role_id 11 and 12 are now always required to enable 2FA, independent of instructor currency — previously they were never prompted.
PR #686Removed a dead dialing-code lookup so the 2FA SMS recipient number is built directly from the stored members.country value.
TNBUGS-1729PR #664Fixes a concurrency race that left members without an earned parent skill, via serialised locking, sequential UIs, and a reconciliation cron.
TNBUGS-1728PR #648The API now applies schema/data changes through a tracked, forward-only migration runner with CI and deploy-time guardrails.
PR #650Tooling that keeps business-logic docs in sync with code — the docs-update skill, a frontmatter convention, and deterministic drift safety nets.