0.10.6

Vexa-ai/vexa0.10.6May 3, 2026by DmitriyG228

Upgrading?

AI Summary

This release focuses on stabilizing the audio recording pipeline by unifying platform-specific logic and fixing critical memory leaks. It also includes Helm chart hardening for production deployments and enhanced observability capabilities.

Key Highlights

  • Pack M (chunk-leak fix) resolves the v0.10.5.2 24-minute recording crash class by fixing splice-on-upload and cap=10 issues.
  • Pack U (audio pipeline unification) consolidates ~2300 lines of platform duplication into a single module driving GMeet, Teams, and Zoom.
  • Pack U.5 enables crash-safe server-side master generation, ensuring recordings are playable even if the bot process is terminated.
  • Pack H hardens Helm charts with atomic upgrades and zero max unavailable replicas to prevent ship-time outages.
  • Pack D-3 and Pack O/T introduce HTTP Range audio playback and detailed bot resource monitoring.

Breaking Changes

  • Pack H changes Helm chart configuration (maxUnavailable: 0, replicaCount: 2), which may require updated values files for successful upgrades.
  • Pack U.7 implements a defensive guard preventing late-chunk POSTs, potentially altering behavior for clients relying on the previous race condition.

New Features

  • Server-side master finalizer for crash-safe recording generation.
  • Unified audio pipeline supporting GMeet, Teams, and Zoom Web.
  • Dashboard pagination deduplication (#304).
  • Bot stdout structured JSON logging to meetings.data.bot_logs.
  • Bot resource (CPU/Memory) sampling and storage in meetings.data.bot_resources.
  • Hallucination corpus restoration with three-layer defense.

Full Release Notes

**Major release** — Pack U structural fix for the audio recording pipeline + Pack M chunk-accumulation memory leak fix + Pack H helm chart hardening.

## Highlights

- **Pack M (chunk-leak fix)** — closes the v0.10.5.2 24-min recording crash class. Splice-on-upload + cap=10 across all 3 platforms.
- **Pack U.5 (server-side master finalizer)** — recordings built server-side from chunks already in MinIO. Crash-safe for the first time: SIGKILL'd / OOM'd / evicted bots produce playable masters.
- **Pack U.1-U.4 (audio pipeline unification)** — single `services/audio-pipeline.ts` module driving GMeet (MediaRecorder), Teams (MediaRecorder), Zoom Web (PulseAudio). ~2300 LOC of platform duplication deleted.
- **Pack U.7 (master-path race fix)** — chunk-write defensive guard prevents late-chunk POSTs from stomping the server-built master path.
- **Pack D-3 (audio playback streams from bucket)** — dashboard `<audio src>` binds to MinIO presigned URL with native HTTP Range. Sub-second seek, no full-file pre-download.
- **Pack H (helm chart hardening)** — `maxUnavailable: 0` rolling updates, `replicaCount: 2` for stateless services, `helm upgrade --atomic --wait`. Closes the v0.10.5.2 ship-time outage class.
- **Pack O / Pack T (observability)** — bot stdout structured JSON drained to `meetings.data.bot_logs`; bot resource (cgroup memory + cpu) sampled at 30s and stored on `meetings.data.bot_resources`.
- **Pack FM-274 (hallucination corpus restored)** — three-layer defense: corpus files present, `.gitignore` exception, fail-loud build.
- **Pack C (user-stop classifier)** — DELETE during awaiting_admission → `completed`, not `failed`.
- **#304 (dashboard pagination dedupe)** — closes duplicate-rows class.

## Validation

- 25+ cells real-meeting matrix (compose + helm + lite × gmeet + teams + zoom) — Pack U.7 race fix verified live.
- Audit (categories 1-7): clean. 1 MAJOR (callbacks.py:318) deferred to #306.
- 22 v0.10.6 + 3 Pack U.7 static-grep checks GREEN on all 3 modes.

## Deferred

- #305 — Zoom audio quality lower than GMeet/Teams (PulseAudio signal-chain artifact)
- #306 — callbacks.py:318 broad-except narrow

## Images

All published to DockerHub with tags `:0.10.6`, `:latest`, `:dev`:

- `vexaai/admin-api:0.10.6`
- `vexaai/api-gateway:0.10.6`
- `vexaai/dashboard:0.10.6`
- `vexaai/mcp:0.10.6`
- `vexaai/meeting-api:0.10.6`
- `vexaai/runtime-api:0.10.6`
- `vexaai/tts-service:0.10.6`
- `vexaai/vexa-bot:0.10.6`
- `vexaai/vexa-lite:0.10.6`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Related Repositories