v0.12.15 — the truthful-failure & reliability release
Absorbs the v0.12.13 and v0.12.14 candidate batches (tagged, validated, superseded before witness per the two-phase flow) — 27 accounted values, storm-validated in production.
Fixed — a meeting now tells the truth about how it ended
- A bot that never joined is not a "completed" meeting (#807 / #824). Never-admitted bots resolve
failed/join_failure; over-capacity meetings whose bot pods never schedule reconcilerequested → failedinstead of hanging. - Typed join-failure taxonomy (#806 / #827). Zoom/Teams admission verdicts are typed — permanent failures (denial, lobby-timeout, signed-out) stop being retried as if transient.
- Config preflight catches STT misconfig where you set it (#511 / #823 / #832). A wrong STT URL or an exhausted token now probes RED (the preflight transcribes real audio) instead of surfacing minutes later as an empty transcript.
/bots/statusanswers from the query, not the whole account (#803 / #825). No more hauling every meeting's data blob into memory.browser_session+ unknown platforms refused typed at intake (#816 / #829). A typed 422 before any DB write — no orphan meeting rows.- Every webhook delivery outcome is reported (#815 / #817). Non-delivery was silent; now it's recorded.
- POST /bots derives native_meeting_id or refuses typed 422 (#794). No orphan meetings on malformed input.
Wiring — segments carry who spoke
- Teams speaker name hints wired to the transcriber (#498 / #789).
- Zoom
createZoomSpeakerswired (#538 / #787). - (Value bullets corrected to wiring-accurate per #814.)
Also in this release
- Configurable default bot name (#621) · authenticated session lifecycle (#724/#725 → #790) · record-always capture boundary (#830 → #831) · fail-fast control-plane reachability gate (#530 → #781) · probe
timeoutSeconds=5across app services (#802 → #804) · deprecated 0.10 dashboard bounded off-by-default home (#813 → #828) · compose first-runmake allBROWSER_IMAGE fix (#812 → #818) · shared-meetings UNION-split query + indexes (#800 → #801) · gmeet i18n-safe signed-out lobby detection (#788) · msteams leave fallbacks (#782) · adm-zip advisory closed (#793) · governance (#786, #799, #833).
Witnessed
Signed receipt: releases/v0.12.15/witness.json. Witness basis: the delivered production deployment (helm rev 92) + a comprehensive storm validation (auth wall, tenant isolation, typed refusals, max-bots cap race-safety, capacity back-pressure, Redis/gateway chaos, over-capacity reconciliation) run on the same image. Prod value at scale: 8 completed meetings carrying the segments_captured transcript-delivery marker since cutover.