Hyperia 0.12.7 is released: an agentic terminal for agents and humans Hyperia 0.12.7, an agentic terminal for agents and humans, has been released with Stream Deck Plus support, a first-class MCP client, shell integration, and agent focus features. The update includes code-signed builds for Windows and macOS, structured extraction using JSON-schema, and improved pane management. This release marks the first under the Hyperia-Terminal name, distinguishing the terminal app from its hyperia-sidecar backend. Releases: DeepBlueDynamics/hyperia 0.12.7 The first release under the Hyperia-Terminal name β€” the terminal app, now named distinctly from its hyperia-sidecar backend. Same application, updates in place app identity unchanged, so existing installs auto-update . Windows is code-signed Azure Trusted Signing , macOS is signed + notarized , Linux ships as AppImage + deb. Highlights πŸŽ›οΈ Stream Deck Plus support β€” a new companion daemon tools/deck-mcp turns a Stream Deck Plus into a physical control surface: focus/split/new-tab your panes from the touch strip and dials, switch apps from the keys. ⌨️ β€” a first-class MCP client for scripts and lightweight agents: curated verbs hyperia CLI status , run , split , focus , open , cd , … , a doctor health check, and a guide . Build standalone with yarn build:cli . 🐚 Shell integration β€” panes report live working directory and running app, with safe cd from the picker and agents. 🎯 Agent focus that moves the pane β€” terminal focus and the CLI / Stream Deck now switch to the owning tab and focus the terminal, entirely in-window β€” no OS-window stealing. 🧠 Maximus structured extraction β€” tool-result extraction uses JSON-schema structured output, reliable across models. Terminal & panes - Pane focus fix: terminal focus selects the pane's tab and focuses it; consent requests switch to the target pane so the prompt is visible. - Panes/tabs are addressed by name or id only β€” the positional a/b/c labels are gone they confused agents . - Web panes show load status in the label 404 / Unreachable / page title / host instead of a placeholder; split + remount fixes. - Picker: cd via the shell-state dispatcher, recent-path filtering. Identity & consent - New tool cleanly separates request access identity who you are from access consent to act on a pane . - Consent panel is a contained card; consent-wait timing fixed; secret-redaction hardening. Windows polish - Taskbar/window/tray icon fixes: AppUserModelId set before window creation, tray uses icon.ico , explicit window.setIcon , PNGβ†’ nativeImage decode. Build & CI - Windows signing degrades gracefully to unsigned with a loud warning if Azure Trusted Signing is unavailable, so an outage never blocks the macOS/Linux release. fail-fast: false + resilient release gate β€” one platform failing no longer drops the others. Downloads Windows: Hyperia-Terminal-0.12.7-x64.exe signed macOS: Hyperia-Terminal-0.12.7-mac-x64.dmg Β· …-mac-arm64.dmg signed + notarized Linux: Hyperia-Terminal-0.12.7-x86 64.AppImage Β· Hyperia-Terminal-0.12.7-amd64.deb Nightly Build unsigned Automated unsigned nightly build from canary 2b4acd59aeaaa09085a2bd4b55890f908cd6da07 . These installers are not code-signed . Expect OS security prompts: Windows β€” SmartScreen warning; choose More info β†’ Run anyway . macOS β€” Gatekeeper block; right-click β†’ Open , or run xattr -dr com.apple.quarantine /Applications/Hyperia.app . For signed, notarized releases use the tagged versions on the Releases page. 0.11.1 v0.11.1 Hyperia v0.11.1 β€” containerized sidecar deployment Topology A + use… 0.10.32 This release provides certificate signing for Mac and Windows as well as native Mac chip support for newer OSs. Lots of new fixes, including colored tabs, shell pickers, Stickys notes and more. v0.10.9 β€” Local model reliability + LAN-reachable sidecar Co-developed live with Antigravity Gemini 3.5 Flash over a shared workspace pane. Highlights Local model reliability β€” structured JSON + parallel candidates + "none" tool sentinel OllamaProvider::stream now constrains Ollama's output to a strict JSON schema thought + optional tool call + optional reply via Ollama's format field, and runs N=3 parallel candidate generations at different temperatures 0.2 / 0.7 / 0.9 . The first candidate whose JSON validates against the active tool schema wins; the rest are aborted via tokio::select to free GPU memory. A "none" sentinel was added as a valid tool call.name value, so when the model has nothing to call it must explicitly select "none" instead of inventing a tool name. Validation + event emission both short-circuit when name == "none" , so the agent loop only sees real tool calls. Commits 5ae64a2a for the structured + parallel core, b2ab8e65 for the "none" sentinel refinement. Why it matters: in v0.10.8, small local models gemma4:e2b, etc. routinely freelanced β€” inventing google:search , refusing to acknowledge prior conversation context, or emitting tool-call-shaped prose without firing a real call. Schema-constrained decoding eliminates the freelance path. Parallel sampling at varied temperatures gives at least one candidate room to thread the needle on hard prompts. The "none" sentinel closes the remaining gap where the model wanted to reply but felt obligated to put something in tool call.name . Implementation scope is contained to provider.rs . agent.rs and api.rs are unchanged β€” the structured response is translated back into the same ProviderEvent stream TextDelta / ToolCallStart / ToolCallDelta / ToolCallEnd / MessageStop the agent loop already consumes. Other fixes since v0.10.8 - --bind