Skip to content

OpenVoiceUI v2026.7.15

Choose a tag to compare

@MCERQUA MCERQUA released this 15 Jul 05:01
0ca279b

OpenVoiceUI v2026.7.15

First release since v2026.6.9 (5 weeks). ~150 commits. Tag: v2026.7.15 @ 0ca279b.
Draft — publish after deployment verification.

Highlights: a security-hardening pass (incl. today's F-5/F-6/F-7 fixes), a real Hume Octave
voice provider, the full Suno stems + voice-cloning suite, the per-tenant Canvas Styles
design system, a rebuilt admin panel, and the desktop/canvas overhaul.

🔒 Security

  • F-5 — upload stored XSS (#382): /uploads/ now serves non-media (html/svg/js) as
    text/plain attachments with nosniff + a locked CSP, so user/agent uploads can never
    execute in-origin and steal the Clerk session.
  • F-6 — OAuth callback CSRF (#382): OAuth state now carries a single-use,
    server-persisted, 10-min-TTL nonce, verified on callback before the code exchange.
  • F-7 — auth fail-open (#382): when CANVAS_REQUIRE_AUTH=true but Clerk is
    unconfigured, the app now fails closed for the whole surface (was: admin-only), so a
    broken key mount can't serve the app unauthenticated.
  • Phase-0 hardening: exact public allowlist, Deepgram-token gate, admin WS-proxy lockdown,
    canvas lock guards; server-side admin authz + /api/plugins lockdown + CSRF origin guard;
    admin/vault carve-out from the X-Agent-Key bypass; client-visible system-string leaks
    neutralized to neutral codes.
  • Dependency security bumps: pillow ≥12.3.0 (#369), websockets 16.1 (#365),
    docker ≥7.2.0 (#364), pypdf ≥6.14.2 (#363), flask-cors 6.0.5 (#339).

🎙️ Voice & TTS

  • Real Hume Octave provider (#381) — acting-direction TTS + designed custom voices.
  • xAI Grok Realtime adapter (additive, opt-in voice provider).
  • Greeting overhaul (#371#373): persona profiles get a fresh, angle-rotated greeting
    every wake (no canned line), with spoken-length safety caps; Kyle character restored on
    tts-v4; profile-configurable bit style + preserved ellipses (#379/#380).
  • Graceful silence: pure NO_REPLY/ANNOUNCE_SKIP/REPLY_SKIP treated as a system
    response, not an empty-final apology (#370); busy-session bare-final now queues instead of
    poisoning the session.
  • Latency + reliability: provider singletons + transitive fallback + hung-provider
    skip-ahead; double-TTS guard on short replies; continuous-STT startup fix (#367);
    per-turn track-list caching.

🎵 Suno

  • Full suite: advanced stem-split, generate-persona, voice-cloning flow, file-upload, and
    |voice tag routing through the popup/player/notify flow (#374#377); models bumped to
    V5_5.
  • Durability: never lose task ids (merge-preserve + suno-task-log.jsonl), stem self-heal,
    stem_result fetch+persist — a paid result can never be lost (#378).

🎨 Canvas & Desktop

  • Canvas Styles — per-tenant design-system picker (flagship + ~15 Fable-authored
    presets, clone/customize), style-aware serve injection, per-turn style directive + page
    lint, authoring playbook.
  • Desktop/canvas overhaul: nested Start Menu flyouts, real recent-pages, recycle bin that
    actually archives, global cross-tenant icon library (reuse-before-generate) + 192px
    thumbnails, wallpaper resize-safety, Mike-approved icon-grid layout (stamp bumped so the
    fleet re-seeds).
  • Character Stage plugin v1.1.0 — multi-character lip-sync to any audio.

🛠️ Admin

  • Rebuilt admin panel (WO-1.x–5.x): Service Catalog + framework-generic config, Voice
    TTS/STT + Wake tabs with a live fallback-chain editor, sessions viewer, update/rollback
    panel, health matrix, marketplace surfaces.

🔌 Gateway, Subagents & Infra

  • Subagent completion loop: orphan continuation + proactive push with durable host-visible
    receipts; supervised persistent-WS reader (auto-reconnect after gateway blips).
  • Gateway identifies as openvoiceui/backend (no transport-label leak); transcripts record
    which gateway (openclaw/hermes) handled each turn; uploads ledger with full URLs.
  • Books/usage instrumentation: provider-call receipts (Resemble/Deepgram/Groq/Suno/fal/HF/
    Gemini/Supertonic) to the ledger for JamFlow Watch.

Deploy: jambot/openvoiceui:latest rebuilt from 0ca279b and rolled to the tenant fleet
(openclaw/voice sessions preserved; per-tenant health gate).