OpenHuman v0.63.11
187 commits — 52 features, 90 fixes, 45 refactors, docs and CI. This release carries everything merged to main since v0.63.9, including the kernel restructure, ElevenLabs Voice Agents, and a large reliability pass across memory, inference and voice.
Note on the previous notes: an earlier version of this page listed only the two release-promotion PRs. That was an artefact of how
releaseis updated, not a description of the release. The full contents are below.
Highlights
Voice
- ElevenLabs Voice Agents — core RPC, realtime session, and local-agent relay handler (#5407)
- Send the relay identity token where the backend can read it (#5428)
- Stop the Piper voice id leaking into non-Piper TTS providers (#5367)
- Repair the execute bit on extracted Piper binaries (#5216), handle U16 sample format in the fallback capture path (#4537)
Memory & embeddings
- Warn before the embedding budget silently stops memory (#5402)
- Stop a signed-in user's embeddings failing, and unstick the parked queue (#5427)
- Classify Ollama-unavailable embed failures actionably (#5398)
- Drain the coding-session backlog across bounded passes (#5368)
- Canonicalize memory identifiers symmetrically (#5275); stop paging on caller ingest-payload schema errors (#5280)
Inference & model routing
- Route Codex OAuth chat to the subscription backend (#5371)
- Error on a misconfigured vision model instead of substituting (#5262); route vision at vision-capable models (#5253)
- Explain background-role provider fallback and verify BYOK keys (#5254)
- Route local AI through TinyAgents RPC (#5240); local model reliability —
/api/tagsfallback and real Ollama model ids (#5219)
Flows
- Surface bounded loops from the tinyflows engine (#5366)
- Accept declared workflow inputs on every run path (#5304)
- Per-item fan-out — run an array of flow work concurrently (#5302)
- Canvas visual refresh — kind tiles, elevation, step numbers (#5303)
Agent & chat
- Send user image attachments as image blocks, not text (#5370)
- Preserve chat context across a Quick/Reasoning switch (#5401)
- Name a thread in three words (#5412)
- Name the chat-template rejection instead of blaming model/temperature (#5309)
- Filesystem-offload convention for worker artifacts on long-horizon tasks (#5217)
Kernel restructure
- Collapse 124 flat domains into 31 gate-aligned families (#5328) — pure moves, byte-identical wire surface
- Kernelize openhuman: cut the workflow dependency floor 418 → 280 crates (#5314)
- Realign
DomainGroupwith the family directories (#5332) and guard three unenforced consumers (#5364) - Gate the macOS Contacts cohort behind
contacts(#5365); host capability adapters and config seam (#5396)
Media, mascot & config
- Error instead of false success on the generation poll timeout (#5411)
- Accept PNG/GIF/JPEG/WebP custom avatars with file upload (#5420)
- Surface a user notice when a corrupt
config.tomlis reset (#5340); stop transientactive_user.tomlread faults from resetting the profile (#5337)
Channels & sessions
- Stop a missing edit route from looking like a deleted message (#5283)
- Keep the
/auth/me401 classifiable as session expiry rather than a hard logout (#5311) - Stop out-of-credits background scouts paging Sentry (#5310)
Contributors
Thank you to everyone who shipped this release:
| Contributor | Commits |
|---|---|
| Steven Enamakel | 50 |
| Cyrus Gray | 45 |
| Mega Mind | 31 |
| YellowSnnowmann | 28 |
| mysma-9403 | 6 |
| CodeGhost21 | 6 |
| Sam | 3 |
| github-actions[bot] | 7 |