v0.12.26
parruda/swarmv0.12.26Aug 31, 2026by DmitriyG228
Upgrading?
AI Summary
Improves Zoom integration with per-participant speaker attribution and better admission, while enhancing meeting tracking with typed join failures and support for text-only STT responses.
Key Highlights
- Per-participant speaker attribution in Zoom transcripts
- Better admission for Zoom meetings
- Dismissal of in-meeting popups during calls
- Typed reasons for join failures
- Text-only STT responses now reach transcripts
New Features
- Per-participant speaker attribution
- Better Zoom admission
- Dismiss Zoom popups
- Typed join failure reasons
- Text-only STT support
- Voxtral / JSON-only transcription backends
Full Release Notes
## v0.12.26 ### Zoom - **Per-participant speaker attribution (#1018, @jbschooley).** Zoom transcripts are named per participant with a self-correcting vote, replacing the mixed-lane guess. Maintainer hardening on top: the deaf-capture guard restored on the per-track branch, typed observations on the Zoom lane, and the page-side name resolver extracted into a tested module with a Speaker A/B fallback and a self-exclusion backstop. - **Better admission (@jbschooley).** Browser-signal hardening lets the bot into Zoom meetings that previously refused it. - **In-meeting popups are dismissed during the call (@jbschooley)** — the mic advisory, the AI-Companion notice and the hardware-acceleration toast no longer sit over the meeting or the recording. > **Known limit — the Zoom bot joins as a web client, so not every Zoom meeting can be recorded.** Some Zoom accounts and meetings block automated browser clients outright; the bot is refused at the door there, ends as `failed` with reason `zoom_requires_rtms`, and no transcript is produced. This is a platform policy on the host's side, not a fault in the bot — those meetings need Zoom's Realtime Media Streams path, which this release does not ship ([#706](https://github.com/Vexa-ai/vexa/issues/706)). Meetings that do admit a web client are unaffected. ### Meetings - **Join failures name themselves (#1075).** A failed join now records a typed reason, the stage it failed at, whether the cause was ours or the platform's, and how long it took — instead of one opaque `failed`. Visible on the meeting record and through the API. - **Text-only custom STT responses reach the transcript (#1148).** OpenAI-compatible endpoints that return only `text` no longer have their output discarded for missing timestamps. - **Voxtral / JSON-only transcription backends (#1342, @Cantfirmed).** ### Deployment - **Noble base image for the bot, lite and full (#1011, @jbschooley).** - **`DEFAULT_BOT_NAME` is honoured without rebuilding the terminal (#1258).** ### Fixed - The probe's live-view listener re-sends its subscribe until acked (#1354) — it raced meeting-row creation and a refused subscribe was permanent. - The full bot image builds again on the new base: `awscli` is no longer in the noble archive, so AWS CLI v2 installs from the vendor package. --- **Images:** `vexaai/vexa-lite:v0.12.26` and the compose set (`v012-runtime`, `v012-meeting-api`, `v012-gateway`, `v012-admin-api`, `v012-agent-api`, `v012-agent-worker`, `v012-mcp`, `v012-terminal`, `vexa-bot`), published from the reviewed candidate packet `releases/v0.12.26/candidate-images.json` and validated by [run 33421145816](https://github.com/Vexa-ai/vexa/actions/runs/33421145816). **In production:** this release is what vexa.ai runs, pinned as channel entry `0.12.23-estate-20260829-seq12` on 2026-08-31 and re-verified against the cluster after the pin.
Related Repositories
maybe-finance/maybe★ 54,215
The personal finance app for everyone
huginn/huginn★ 50,087
Create agents that monitor and act on your behalf. Your agents are standing by!
discourse/discourse★ 48,003
A platform for community discussion. Free, open, simple.
chatwoot/chatwoot★ 38,072
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬