v0.12.3

Vexa-ai/vexav0.12.3Jul 13, 2026by DmitriyG228

Upgrading?

AI Summary

The first witnessed release featuring a working setup wizard, gateway edge protection, install runs that use published artifacts, Apple Silicon support, and the governance system.

Key Highlights

  • First witnessed release with live transcript on a fresh self-host deploy.
  • Setup wizard now ends with a working bot.
  • Gateway edge protection with per-IP throttle and auto-ban.
  • Install runs the artifacts we proved (pulls published images).
  • Governance system made real with value-gate and witness-gate.

New Features

  • Gateway edge protection (throttling/banning)
  • Governance system (validation ladder)
  • Install artifact verification (no local build shadowing)

Full Release Notes

Vexa **v0.12.3** — the first release to pass a live human witness. Same delivery machinery as
0.12.1, now with a batch of real features and the witness fixes that batch's own release pass
surfaced. Proven on what we name; the gaps are named too.

## Witnessed value

A human joined a real Google Meet on a fresh self-host deploy of these published images, admitted
the bot, and spoke — and the **live transcript rendered in the terminal, speaker-attributed, and
sustained** through continuous speech (local CPU whisper). That is the core promise, witnessed —
not inferred from green CI. *(Owner witness, 2026-07-13.)*

## What's in it

- **Setup wizard now ends with a working bot** (#504) — the documented UI STT path actually spawns
  a transcribing bot; the top fresh-install complaint (#502).
- **Gateway edge protection** (#555) — per-IP throttle, auto-ban, static blocklist; **on by default**
  with generous limits. Opt out with `GUARD_ENABLED=false`.
- **Install runs the artifacts we proved** (#569/#572) — `make all` now **pulls** the published,
  release-validated images (services, workers, agent, bot) instead of building from source; no more
  local build shadowing a published `:v012`. `make dev` is the from-source contributor path.
- **Apple Silicon** (#558) — arm64 images published (best-effort; not yet CI-validated — see below).
- **Governance made real** (#559/#563) — the validation ladder, the per-PR autonomous value leg
  (`pr-value`), and the two human choke points (merge card + release witness). This release is the
  first run of that witness in anger.

### The witness fixes (this batch's release pass caught its own bugs)

- **#586** — live transcript stream was blank on lite: agent-api couldn't reach meeting-api to
  authorize the SSE feed (missing `VEXA_MEETING_API_URL`). Fixed; and CPU STT default → `small`.
- **#587** — REST transcript timestamps were corrupted to the year 2083 (double-counted epoch).
- **#588** — `validate-lite` now **guards** the #586 class: it subscribes to the live stream as the
  owner and fails if it 403s. The machine now catches what the human caught here.
- **#590** — the bot build no longer hard-fails when HuggingFace rate-limits CI; it retries then
  degrades gracefully (the diarization model is fetched at runtime instead).

## Validated on — coverage statement (proven on what we name)

Machine legs, all green against the **published** `:v0.12.3` images ([run](https://github.com/Vexa-ai/vexa/actions/runs/29289738161)):

- **Google Meet — WORKS, witnessed.** Join → capture → CPU STT → speaker-attributed live transcript,
  rendered end to end by a human. Deployment: lite (self-host compose).
- **Every documented install path** — compose · lite · Kubernetes/helm come up and pass the product
  FSM; 0.10 API backward-compat green; real bot spawn green; every image proven to match its name.
- **Fresh machine** — these images were pulled onto a from-nothing cloud VM and the digest verified
  against Docker Hub (the install-truth path, #572).

### Honestly unclaimed / experimental — do not rely on these yet

- **Jitsi (#543) — EXPERIMENTAL.** The join path works, but the bot gets stuck at admission on real
  rooms and never becomes visible/transcribes. Tracked in **#592**. Ships as experimental.
- **Microsoft Teams — KNOWN BROKEN.** The bot joins and is admitted, then self-leaves within ~0.1s
  (a post-admission fault evicts it) — no transcript. Tracked in **#593**.
- **Autonomous audio→words proof** — not yet a CI leg (#560); transcription correctness is
  witness-proven this release, not machine-proven.
- **arm64** — published best-effort; no CI leg executes an arm64 image yet.
- **Hosted STT under load** — the internal fallback token is capacity-saturated (ops item); this
  release's transcript was witnessed on self-hosted CPU whisper.

## Pointers

`:v012` moves to `v0.12.3` on all images. `:latest` unchanged. `vexaai/vexa-bot:{dev,latest}`
untouched (0.10 line). v0.12.2 was validated and promoted internally but **failed its witness and
was never released** — v0.12.3 supersedes it.

Related Repositories