github Vexa-ai/vexa v0.12.4
Vexa v0.12.4 — The Reliability Release

5 hours ago

Meeting infrastructure you can leave running: this release closes the failure modes behind our worst incidents, and where things still break, it makes Vexa break honestly.

🎉 New platform — Jitsi joins the lineup. Vexa now sends bots to Google Meet, Microsoft Teams, Zoom, and Jitsi. Jitsi support arrived recently and this release makes it solid: bots correctly handle real members-only lobbies (#597).

If you self-host transcription, reliability is the product. A bot that silently drops out of a meeting, a recording that reports "saved" but downloads as zero bytes, a dashboard that shows green while every request fails — these don't just annoy, they cost you the meeting, and you can't get it back. v0.12.4 is focused entirely on making Vexa dependable: bots that stay seated, data that survives crashes, and a system that tells you the truth when something is wrong.

Bots that stay in the meeting

  • Microsoft Teams: a bot that got admitted no longer hangs up on itself a fraction of a second later. A background component failing to load used to be fatal; now it's survivable and the bot stays and keeps transcribing (#599).
  • Jitsi: joining a members-only room now correctly waits in the lobby instead of silently getting stuck in a broken state (#597).
  • Google Meet: a bot can no longer freeze forever on an unhealthy display (#608), and self-hosters can tune speaker-stream latency with ordinary environment variables (#609).

Your recordings and transcripts survive

  • Recordings download complete. A recording the API confirmed as uploaded now downloads byte-for-byte, even if the bot crashed mid-meeting (#611).
  • No more silent transcript loss. We closed a class of failure where the pipeline quietly froze for hours while health checks stayed green and transcripts were lost — it now reports real health and bounds its memory (#606).

It fails honestly, not silently

  • Won't boot broken. A deploy missing a required secret now refuses to start with one clear error naming the missing key, instead of coming up "healthy" and then failing every request (#605).
  • Honest errors under load. When auth is down, callers get an honest "try again shortly" (503) instead of a misleading "invalid key" (401). Valid keys keep authenticating even when the system is busy — closing the mass sign-in failures some users hit in early July (#601).

Steady under pressure

  • Database stays responsive during busy hours: transcript polling no longer holds a connection open while it waits (#602), and a brief Redis blip heals itself in seconds instead of needing a manual restart (#603).
  • No duplicate billing. Each webhook event now carries a stable ID across retries and replays, so receivers can ignore duplicate deliveries (#604, #519).
  • Guardrails baked in. New automated checks block any change that would exceed the database's connection limit (#610) or quietly alter its schema (#612).

Proven on

The Teams (#599) and Jitsi (#597) fixes were witnessed live — a real bot joining a real meeting and staying seated. The config-safety refusal (#605) was confirmed on the actual published image. Everything else is proven by named automated tests, not assumed — we say what we saw, not a bare "it works." Full per-value witness receipt: releases/v0.12.4/witness.json.

Upgrade: self-hostable today via the published :v0.12.4 images (stable :v012 now points here) — you run the exact build we validated.

Don't miss a new vexa release

NewReleases is sending notifications on new releases.