Changelog

What’s new.

Every release, in plain terms — from the v1.0 launch to v2.7.2, and what’s staged next.

v2.7.3
Pointer scrolling & selection fixes
September 13, 2026
Fixed
~ Fixes unwanted upward scrolling when moving the pointer in fullscreen terminal apps, including over Mosh.
~ Ordinary clicks clear native text selections correctly, while holding Shift extends them — including in Native pointer mode
~ Overlapping mouse buttons, Command-click links, and pointer-mode changes no longer leave a drag stuck on Mac
v2.7.2
Notification & Live Activity fixes
September 2026
A focused reliability patch for agent notifications, the approvals inbox, and Live Activities.
Fixed
+ Codex command notifications now show the command that needs your approval
+ The Inbox keeps Approve / Deny bound to the request on screen, even if another arrives mid-review, and no longer traps the iPhone keyboard
+ Status Only Live Activities keep their Review Request link without revealing command details
+ Live Activities re-register themselves if the relay loses track of one, and delivery health reflects real update tokens
v2.7.1
Seven features go free
August 17, 2026
The free tier grows. If you already own Pro, nothing changes for you.
Changed
+ iCloud sync, the Face ID App Lock, Secure-Enclave key generation, custom font import, themed app icons, custom theme import & share, and paired light/dark themes are now free for everyone
+ Termoire Pro remains the agent suite — Chat, diff, repo browser, usage rings, approvals, Live Activity, background push, Fleet, Automations, on-device AI, Apple Watch — plus SFTP, port forwarding, voice dictation, and session recording
Fixed
+ Permission prompts fire only on an explicit feature gesture, and every denial state is informational — recovery lives in Settings → Credentials & Privacy
+ The paywall shows a named plan list with Retry instead of a dead end if the App Store returns no products
+ Auto-renewal terms and the Privacy Policy / Terms of Use links appear on every purchase surface; the yearly plan shows its approximate monthly price
v2.7.0
One notification system
July 20, 2026
An agent moment arrives once — bell banner, Live Activity, or push — and answering it on one device clears it everywhere.
Changed
+ Notifications are one system: an agent event is delivered once across the bell banner, Live Activity, and push, and tapping it opens the exact tab it came from
+ Answering an approval on one device clears it on every other device
Fixed
+ The floating D-pad works on every tab, its configured corner keys act, and the panel is a deterministic, directly manipulable control
+ Ghostty terminal surfaces apply the selected theme again
+ Agent Activity haptics stay present through real work
+ Mosh predictive echo follows Mosh's four prediction policies on every terminal engine
v2.6.0
Dictation, Settings & discovery
July 16, 2026
A broad quality wave across dictation, Settings, agents, sessions, and transport recovery.
Added
+ A durable, local-first dictation workspace for the terminal and Chat — history, retained audio you control, and an honest on-device / Apple-service mode indicator
+ Native, task-oriented Settings on Mac and iOS, organized into short category subscreens
+ Portable themes — import, share, and pair light/dark themes, with explicit iCloud sync contracts
+ Richer agent awareness: multi-device notifications, per-host push signing, and delivery controls
+ Unified session and multiplexer navigation, plus durable native Chat attachments
+ Remote development discovery and one-tap web preview of published dev servers
+ Explicit Tailscale SSH and transport-recovery tools, and lifecycle-safe keep-awake controls
+ Claude Code remaining rate limit — the 5-hour and weekly windows in the usage rings
Fixed
+ Remote terminal input and authoritative output converge safely, and unsupported or stale approval actions fail closed
+ Dictation audio failures are recoverable, Bluetooth microphones stay available, and dictation-driven resizes no longer abort Ghostty
+ Typing assistance is no longer one global compromise — terminal and Chat each get the right behavior
+ App-wide Face ID / Touch ID no longer loops authentication prompts; iCloud sync works on macOS
+ Codex rate-limit windows use their reported durations; large diffs stay usable at phone widths
v2.5.0
Correctness & security
July 12, 2026
A large correctness-and-security pass over the 2.x line — roughly 120 fixes, each with a regression test, plus a security audit.
Changed
+ Upload, the SFTP file browser, “Open chat” from Recent Projects, and the Live Activity now correctly require Termoire Pro — matching what the paywall advertises. Anything already in progress is never interrupted.
Fixed
+ macOS — the recurring crash when opening a second window (⌘N) is gone, now guarded by a multi-window smoke test
+ Approve / Deny appears only for a real permission prompt — a bare bell, an idle nudge, or a “finished” event no longer offer buttons that would type a stray y/n into the live session
+ Mosh resume restores the real screen (using the live grid size) and no longer re-runs your per-host startup command into the resumed shell
+ SFTP & uploads — a stalled transfer can be cancelled, a failed upload never leaves or replaces a file with a truncated copy, and the browser shows honest failure states
+ Predictive echo keeps typed password characters hidden, and stale predictions don't linger after a reconnect
+ Paste is bracketed on every surface, so a multi-line paste no longer executes line-by-line
+ Scrollback search returns the newest matches; Fleet, widgets, and the Watch mark stale sessions as stale instead of showing hours-old state as live
+ iCloud preferences merge correctly across devices instead of a stale device overwriting a newer value
Security
+ SFTP downloads reject server-controlled path traversal in filenames
+ Saved passwords honor the biometric gate even over iCloud Keychain sync, including newly saved passwords
+ macOS terminal copies are marked concealed so clipboard-history managers don't persist scrollback that may contain secrets
+ App Lock defers deep links and Shortcuts/Intents that arrive while locked, and replays them on unlock
v2.4.0 – 2.4.1
Tailscale & speech privacy
July 10, 2026
Tailscale host import, Mac dictation, and an on-device-only speech mode. (2.4.1 is the buildable release of the same content.)
Added
+ Import from Tailscale — paste a tailnet API token and add any machine on your tailnet in one tap, with the MagicDNS name, port, and display name prefilled; tailnet hosts show a TAILNET badge
+ macOS voice dictation for the terminal and the chat composer, with the same staged-review flow as iOS (Pro)
+ “Never send speech to Apple” — force on-device speech recognition, with an honest “not available on this device/language” instead of a silent fallback to Apple's servers
+ A per-event-type notification matrix — set Alert / Silent / Off for permission prompts, questions, idle nudges, task progress, and session lifecycle
+ Mac Ghostty parity — predictive echo, link affordances (⌘-click to open), and VoiceOver terminal-grid navigation
Fixed
+ The iOS app target now builds in CI on every change, so platform-fenced code can't slip through again (the 2.4.0 tag predated the fix)
v2.3.0
15 agent CLIs, cost & Watch
July 10, 2026
The agent layer grows to fifteen CLIs with honest capability tiers, usage-based cost tracking, and an Apple Watch companion.
Agents
+ Fifteen agent CLIs — Claude Code, Codex, OpenCode, Gemini, Factory Droid, Grok, Qwen, Copilot, Cursor, Kimi, pi, Oh My Pi, Amp, Goose, and Crush — each on an honest tier (full remote approve/deny, notify-only, or read-only)
+ Reply to your agent from Chat, dictate replies, and optionally have replies read aloud — all on-device (Pro)
+ Apple Watch companion — glanceable agent status and Approve/Deny from the wrist while your phone is reachable (Pro)
+ Chat renders agent markdown — headers, code, lists, blockquotes, and tables
Added
+ Usage-based cost tracking — per-session cost from each CLI's own token usage against a bundled models.dev price table; unknown models show tokens only, never a guessed dollar
+ Ghostty on the Mac — the premium Metal engine now renders natively on macOS, with SwiftTerm as the automatic fallback
+ The Mac tool cluster — the SFTP browser, snippets, repo browser, and localhost preview, with the same Pro gates as iOS
+ A 7-day free trial on Termoire Pro
Fixed
+ A wrong password or rejected key now says so instantly instead of stalling ~15–20s into a false “Connection timed out”
+ A dead Mosh resume offers a fresh New Session instead of retrying forever
+ A chat reply can never execute at a bare shell prompt — an unproven destination types the reply for you to confirm, not send
Changed
+ Agent notifications are quieted to what matters — a banner only when the agent actually needs you; “submitted”, “finished”, and idle nudges update the inbox silently (toggle in Settings)
v2.2.0
Multi-CLI agents
July 7, 2026
First-class support for Codex CLI, OpenCode, and Gemini CLI alongside Claude Code.
Agents
+ Codex CLI, OpenCode, and Gemini CLI join the agent layer, with per-CLI capabilities stated honestly rather than faked
+ Remote approve/deny for Codex and OpenCode; Gemini is notifications-only (its hooks can't grant a pending permission, so those pushes say “answer in the terminal”)
+ Multi-provider usage — Codex reports real server-side 5-hour and weekly rate-limit percentages, the first true rate rings in the app
+ Multi-provider Chat — Codex, OpenCode, and Gemini sessions render as native chat through the same turn builder
Added
+ A per-CLI hook install checklist — every config patch is marker-scoped and coexists with your other tools' hooks; uninstall cleans every surface by construction
v2.1.0
Remote approve/deny & Fleet
July 7, 2026
Answer a blocked agent from your phone, a rebuilt Fleet board, and more SSH key formats.
Agents
+ Remote approve / deny — a host-side permission hook blocks the agent and long-polls the relay; you approve or deny from the notification, inbox, or Fleet, sealed end-to-end (the relay never reads the decision). Lock-screen Approve/Deny are real background actions. There is no auto-approve — every answer is a manual tap.
+ Fleet view, rebuilt — live terminal thumbnails on every row (iPhone, iPad, and Mac), inline search, status filter chips, and per-row actions
+ Richer host hooks distinguish a real permission prompt from a merely idle agent and show per-tool subtitles
+ A visible attach flow — stage images from Photos, Camera, Files, or Paste in a review sheet before uploading over SFTP
Added
+ More SSH key formats — ECDSA P-384 / P-521, aes256-cbc-encrypted OpenSSH keys, and PEM / PKCS#8 containers
+ Biometric-gated saved passwords, and whole-app lock on the Mac
+ Manual tab rename, persisted across relaunch
Fixed
+ An iPad Mosh reconnect regression on notification-tap resume, and automations can no longer fire on a “needs you” event
v2.0.0
Agents, Eternal Terminal & Pro
July 6, 2026
A major release — a whole AI-agent control layer, the Eternal Terminal transport, SFTP and port forwarding, on-device AI, and the groundwork for Termoire Pro.
Agents
+ Agent Chat view — read an agent's session as native chat, tailed live from the host
+ Automations — rules that react to agent-attention events, always shown with a 5-second cancel and never an auto-approve (Pro)
+ Session recording to a standard asciinema cast; input is not recorded by default (Pro)
+ Live Activity + Dynamic Island for the active agent turn — Working, Needs you, Done
+ Send to Agent — paste a git diff, a file, or the last error straight into the agent's prompt as one bracketed, un-submitted paste (Pro)
+ On-device AI (Apple Foundation Models) — natural-language → command, explain & fix the last error, AI commit messages, session naming, and away summaries; nothing leaves the device (Pro)
+ Home & lock-screen widgets — Quick Connect (free) and Agent Status (Pro)
+ App Intents, App Shortcuts, and cross-device Handoff
Connect
+ Eternal Terminal (ET) — a new per-host transport that bootstraps over SSH, then survives socket drops and IP changes by re-attaching the same session and replaying exactly the gap (free; a first-party clean-room Swift implementation)
+ SFTP file browser with upload / download / mkdir / rename / delete (Pro)
+ SSH & ET port forwarding — local (-L) and remote (-R) TCP forwards (Pro)
+ QR pairing — scan a host as an ssh:// URI, or share one as a QR code (never passwords or keys)
+ Git diff viewer and a read-only repo browser over a dedicated SSH channel
+ Localhost browser preview — forward a remote dev-server port and open it in an in-app browser
Manage
+ Secure-Enclave SSH keys — a non-extractable P-256 key with an optional, per-signature Face ID binding (Pro)
+ Settings reorganized into a short list of category subscreens
Terminal
+ Voice dictation with Apple's on-device speech recognition
+ Stage Manager / multi-window on iPad, including dragging a tab out into its own window
Fixed
+ Mosh cold-start resume no longer orphans a live session; SSH config import edge cases; stalled SSH handshakes now honor the deadline
v1.1.1
Mosh reconnect fix
July 4, 2026
A focused fix so a dropped Mosh session survives an app restart.
Fixed
+ Mosh sessions are no longer abandoned on reconnect — after iOS terminates a backgrounded app, resume now waits out a cold network path and keeps the session (showing Reconnect) instead of dropping you into a fresh shell, unless the server has genuinely exited
v1.1.0
AI agents & keyboard
June 30, 2026
Drive CLI coding agents from the soft keyboard, a roomier terminal, and low-latency typing on slow links.
Added
+ AI-agent shortcut keys on the keyboard bar — a compact cluster with esc esc (interrupt), ⇧Tab (mode cycle), and / — for driving CLI coding agents by touch
+ Predictive local echo (Ghostty) — typed characters paint instantly as a dim ghost of your text before the remote echoes, hiding latency on slow or cellular links
+ Agent alerts — a remote bell or desktop-style notification (e.g. when a coding agent finishes a turn or needs you) shows an in-app banner tagged with the host; toggle in Settings
+ Hide the software keyboard from a ribbon key while keeping the session live — tap the terminal to bring it back
+ Collapse the extra-keys ribbon to reclaim its full height for the terminal; a hardware keyboard auto-hides it, and the collapsed state persists
+ Software-keyboard backspace auto-repeat, plus press-and-hold repeat for the ribbon arrow keys (mode-aware for vim/htop) and the native delete key
Fixed
+ Full-screen TUI overlays (e.g. an agent's picker) no longer render above the visible area after a Mosh resume — the repaint now uses the live grid size
+ iOS on-screen keyboard typing now reliably reaches the terminal
+ Corrected the decoding of two Mosh host-state messages (window resize and input acknowledgement)
+ Predictive echo holds steady on slow, lossy links instead of flickering, predicts backspace, and keeps no-echo password prompts protected
Security
+ Mosh datagram length padding — outbound packets are padded to fixed-size buckets so an on-path observer can't read keystroke or screen activity from packet sizes
v1.0.2
Rotation fix
June 28, 2026
A small follow-up — the extra-keys ribbon now re-anchors after a rotation.
Fixed
+ Extra-keys ribbon stays anchored above the keyboard after a device rotation — it no longer ends up partly behind it
v1.0.1
Stability & input
June 28, 2026
Fast-follow bug-fix release — hardware-keyboard input parity and terminal-rendering fixes.
Fixed
+ iPhone — the terminal no longer goes blank after a portrait→landscape rotation; iPhone now uses one consistent layout in both orientations (split view stays iPad-only)
+ Fixed a crash when rotating to landscape with the keyboard up
+ macOS — Shift+Tab now sends back-tab instead of moving app focus
+ Hardware-keyboard chords reach the terminal reliably across iPad, Mac, and the SwiftTerm fallback — Ctrl-letter chords, Shift+Tab, arrow keys (including modifier forms), Tab, single keys, and Escape (which no longer dismisses the keyboard)
+ Matched cursor-key behavior between the Ghostty and SwiftTerm engines via a shared key encoder
+ Landscape rotation no longer blanks the Ghostty surface
+ iPhone text no longer garbles on keyboard show/hide
+ Full-screen TUI bottom rows and mode line stay clear of the keyboard ribbon
+ Defensive fixes for intermittent loss of keyboard input on tab switch / reconnect
Changed
+ Single-character input is delivered as an (unbracketed) keypress rather than bracketed paste, so single-key TUI actions behave correctly
v1.0.0
Initial release
First release
The first public build — a working, hardened SSH terminal.
Connect
+ Real SSH — PTY + shell, password and Ed25519 key auth, live resize
+ Mosh — roaming sessions that survive Wi-Fi/cellular changes and resume after restart; per-host SSH, Mosh, or auto
+ Connect deadlines, TCP keepalive and an SSH-level dead-peer probe, and a reconnect affordance on every dead end
+ Host-key trust-on-first-use with loud changed-key warnings
+ Per-host gating of OSC 52 remote clipboard writes
Terminal
+ Metal-rendered terminal (Ghostty engine, SwiftTerm fallback) with 27 palettes and live font-size control
+ Concurrent tabs with ⌘T / ⌘W / ⌘K / ⌘1–9 shortcuts
+ Themed keyboard accessory row — esc, sticky ctrl, arrows, ^C, paste
+ Snippets with {{placeholder}} prompts from a searchable palette
Manage
+ Grouped, searchable hosts with recents, tags, and per-host accent
+ Ed25519 key generation and import (paste / Files) in the Keychain with SHA256 fingerprints
+ Corrupt host libraries are quarantined, never silently reset
Platform
+ Universal — iPhone navigation stack, iPad split view, and a Mac build
+ Dynamic Type scaling for chrome fonts
+ Privacy manifest and export-compliance in place; collects no data
Planned
Not yet built
No committed targets
Follow-ups we’re exploring — not yet scheduled.
Next
~ Background Apple Watch delivery — approve/deny from the wrist while your phone is away
~ macOS home & lock-screen widgets

App Store version 2.7.2 · build 1308 · bundle app.termoire.Termoire · category Developer Tools.