The Stability & Flow Upgrade
This release is packed with quality-of-life polish and reliability fixes across chat, voice, auth, and integrations—plus a few big building blocks for the agent runtime. Enjoy the smoother ride 🎉
Highlights
Chat experience & UI polish ✨
Chat gets a noticeably cleaner feel: scheduled morning briefings now stay grouped (headings + bodies in the same bubble), approval prompts are easier to read with an opaque warning surface, and GFM markdown tables render correctly in agent output. We also fixed edge-case UI issues like the sidebar composer footer being reachable even on short windows, and improved attachment fallback parsing so FILE markers don’t leak into reconstructed messages.
(#3851, #3790, #3857, #3863, #3795) — Thank you @sanil-23, @discolotus, @YOMXXX, @hgunduzoglu, and @rsd-darshan!
Voice & audio reliability 🎙️
Voice setup and hands-free flows are sturdier: push-to-talk commands are properly allowlisted again, local Whisper/Piper providers can’t be enabled until installation is truly complete (with polling + better progress states), and lapsed-session TTS 401s are now correctly treated as session expiry instead of noisy hard errors.
(#3842, #3861, #3750) — Thank you @oxoxDev and @YOMXXX!
Auth, sessions, and fewer dead-ends 🔐
Sign-in and session handling got smarter: transient /auth/me hiccups no longer prevent session persistence, legacy /auth web callbacks are accepted and rewritten safely for HashRouter, and OpenRouter OAuth now uses the loopback listener’s actual bound port (fixing the “port 3000 busy” case). Multiple 401 paths (integrations + voice) now drive the user into a clean re-login flow instead of failing silently.
(#3746, #3800, #3904, #3749) — Thank you @samrusani, @NgoQuocViet2001, @ly-wang19, and @oxoxDev!
Providers, inference & routing upgrades ⚡
A bunch of provider-facing improvements landed: OpenAI-compatible HTTP timeouts are now configurable (so long reasoning turns don’t get chopped), Gemini tool-call history correctly preserves thought_signature, and user-misconfig errors like /models 404s now get classified at the source with actionable hints. We also added new provider options—ModelScope as a built-in hosted provider, and OMLX as a named local provider with endpoint+key credentials.
(#3864, #3770, #3769, #3773, #3862) — Thank you @hgunduzoglu, @oxoxDev, @yrk111222, and @hliebscher!
Agents: orchestration, subagents, and context headroom 🤖
The agent runtime got major upgrades: an event-driven subconscious trigger pipeline introduces a long-lived orchestrator session, tool-output compaction reduces context bloat (with reversible recovery), and subagents are now async + reusable by default (with lifecycle tools). We also improved failure behavior—agent cascades now stop on the first permanent inference failure with a clearer root cause, and local-context overflow errors are caught pre-dispatch with concrete guidance.
(#3650, #3869, #3887, #3779, #3771) — Thank you @senamakel, @sanil-23, and @oxoxDev!
Memory & sync performance (and correctness) 🧠
Memory got both faster and more correct: semantic recall is query-sensitive again, episodic relevance avoids an O(n²) hot path, and chunk scoring dedup now uses cheaper HashSets. The memory tree sealing path is more concurrent, and source sync (GitHub) and calendar fan-out use bounded concurrency for better throughput. On the sync side, Composio incremental sync is now centralized behind a generic orchestrator (with providers migrated across Notion/GitHub/Linear/ClickUp/Gmail/Slack and cap math moved into a single source of truth).
(#3608, #3782, #3638, #3416, #3434, #3472, #3852, #3860, #3873, #3874, #3924, #3937) — Thank you @michaelk1957, @mysma-9403, and @sanil-23!
Skills, toolchains, and Windows/Linux shell quality 🧰
Skills management is sharper: uninstalling a skill mid-session now retracts it from the live catalog, built-in catalog entries correctly show as Installed, and community skill downloads now resolve via each entry’s sourceUrl (with clearer failure for portal-only sources). On Windows, you can optionally suppress console window flashes when spawning shell commands; on Linux, AppImage builds now sanitize absolute RPATHs and hard-guard bundling of libxdo to prevent launch-time crashes.
(#3745, #3656, #3844, #3747, #3776) — Thank you @obchain, @YonganZhang, and @oxoxDev!
Notifications, cron, billing, and “expected error” hygiene 🧾
Cron and billing paths now behave more sanely: scheduled jobs won’t post failed/empty runs into chat, morning-brief task fetch is scoped to a 24h recency window (extended to Todoist, with fixed stale slugs), and credit prompts are properly gated per selected chat-mode tier (so BYO users don’t get “buy credits” nudges incorrectly). A lot of Sentry noise was also reduced by correctly classifying expected user-state events (billing-state cron floods, disk-full floods, provider exhaustion transient aggregates, OpenAI OAuth token_expired, and credential context preservation).
(#3789, #3872, #3923, #3775, #3913, #3911, #3663, #3803, #3674) — Thank you @sanil-23, @oxoxDev, @Zhang, and @CodeGhost21!
Agent World & Tiny Place expansion 🌍
Agent World continues to grow: TinyPlace now has a dedicated World page with the Pixi city renderer and more reads routed through GraphQL to reduce fan-out. There’s also a curated, agent-friendly TinyPlace tool surface plus a dedicated tinyplace specialist subagent, improved feed sorting, and clearer messaging UX when encrypted DM setup isn’t complete.
(#3867, #3879, #3876, #3868, #3919) — Thank you @senamakel and @Felyx-Fu!
Desktop navigation, feedback, channels, and onboarding 🧭
Navigation and core UX got tuned up: chat threads now have stable /chat/:threadId routes and provider webviews are decoupled from thread routing; onboarding walkthrough targets were updated for the modern UI; and a full in-app Feedback board landed (now presented as “Share Feedback” in a tidy sidebar footer). We also fixed Discord & Telegram messaging end-to-end on desktop, plus small but important UI correctness fixes like routine “Next run” labels near the hour boundary and “Clear App Data” scoping to the active user only.
(#3896, #3944, #3834, #3945, #3794, #3758) — Thank you @senamakel, @YellowSnnowmann, and @obchain!
Internationalization & compatibility fixes 🌐
i18n got a solid round of love: the memory Sync Audit panel is now fully localized, AI routing workload labels/descriptions/hints are localized (with full German coverage), and placeholder substitution bugs like {providerName} rendering literally are fixed across multiple surfaces. We also improved legacy compatibility: older RPC method names are handled via aliases, and settings diagnostics panels now call the canonical openhuman.* RPC methods consistently (including AgentBox and Tool Policy diagnostics).
(#3706, #3870, #3792, #3655, #3875, #3926, #3927, #3928, #3930) — Thank you @obchain, @hliebscher, @sanil-23, @Zhang, @YOMXXX, @hgunduzoglu, and @oxoxDev!
Build, CI, CLI, and operational hardening 🛠️
Under the hood, CI is leaner and more reliable: PR CI now has a stable final gate and smart path-based skipping, legacy workflows were pruned, and cancellation now reliably terminates long Rust/Tauri subprocesses. On the CLI/runtime side, SIGPIPE is restored to default on Unix (no more broken-pipe panics), Windows stderr broken-pipe panics are guarded surgically, and there’s a new harness cache audit script for safe live JSON-RPC cache diagnostics.
(#3878, #3934, #3935, #3942, #3657, #3772, #3895) — Thank you @senamakel, @Zhang, and @oxoxDev!
Messaging, settings, and edge-case correctness ✅
A set of sharp edge cases are now handled more gracefully: managed embeddings in local sessions now prompt for sign-in (with localized guidance), LM Studio embedding misconfigurations report the served model names to help you pick the right ID, and settings panels no longer break due to calling unregistered RPC methods. We also improved empty-response UX copy so managed-route users aren’t told to “check local provider” when that option doesn’t exist.
(#3858, #3841, #3415) — Thank you @YOMXXX, @sanil-23, and @CodeGhost21!
Additional highlights 🔗
A few more focused contributions round out this release with targeted fixes and improvements that are worth calling out. (#3640, #3774) — Thank you @mysma-9403 and @oxoxDev!
New Contributors
- Thank you @hliebscher — added the OMLX local provider and helped localize AI routing workload UI. (#3862, #3870)
- Thank you @hgunduzoglu — improved chat layout on short windows, made compatible-provider timeouts configurable, and fixed settings panels calling the correct canonical RPC methods. (#3863, #3864, #3926, #3927)
- Thank you @ly-wang19 — fixed OpenRouter OAuth callback URLs to respect the loopback listener’s bound port. (#3904)
- Thank you @yrk111222 — added built-in ModelScope provider support. (#3773)
- Thank you @discolotus — improved the approval prompt visuals for better readability and contrast. (#3790)
Hope you’ll join our Discord—there are exclusive roles and contributor rewards waiting for you!
Contributor Credits
Huge thanks to everyone who contributed to this release: @CodeGhost21, @rsd-darshan, @Felyx-Fu, @github-actions[bot], @hliebscher, @hgunduzoglu, @ly-wang19, @michaelk1957, @mysma-9403, @NgoQuocViet2001, @obchain, @oxoxDev, @yrk111222, @samrusani, @sanil-23, @senamakel, @discolotus, @YellowSnnowmann, @YOMXXX, and @Zhang.