Remove low-value rendering, dependency-owned and script tests together with orphaned test scaffolding and obsolete wrappers. Keep state-driven visual coverage and release screenshot workflows.
Preserve incoming message origins on preparation failures, refresh tool presentation fixtures, and move shared SSH import coverage out of the iOS host test bundle to avoid duplicate static types.
Relocate the host icon input manifest, remove the heuristic AppStrings checker, and simplify localization CI.
An adversarial audit of the three test targets rejected most pruning
candidates: 110 of 183 proposed findings either cited files that do not
exist, mistook architectural guards for tautologies, or treated tests
that drive distinct production branches as duplicates.
Delete tests that pinned no behavior beyond a fixture literal, an
initializer assignment, or an assertion that could not fail, and drop
the unused pluralForms helper. Merge the remaining duplicates into
parameterized tests so each branch keeps its own assertion and failure
localization.
Split command execution into run, output, stdin, cancel and list tools for the assistant and MCP. Preserve bounded output tails and use conversation-scoped handles and secret storage with AgentKit 1.20.0.
Add the built-in ssh-exec skill with timestamped log redirection and text/secret stdin workflows. Expand long tool output without adjacent copy controls, update localized presentation, and refresh regression coverage and the website tool name.
BREAKING CHANGE: Replace ssh_exec and ssh_wait with ssh_exec_run and ssh_exec_output. Move stdin to ssh_exec_stdin and remove execution timeout and cwd arguments. Use run_in_background to control foreground execution.
Drop assertions that could not fail in a meaningful way or that only
restated copy already validated by Scripts/check-localization.py.
- Screenshot suites asserted arbitrary PNG byte counts, which AGENTS.md
forbids; the opt-in Attachment.record exports stay.
- AgentSkillTests compared a snapshot revision with itself.
- MetricsCPUUsageTests asserted point.cpu, an alias of cpuUsage.utilization
already pinned by the sibling assertion in that test.
- TerminalTransportTests locked enum declaration order and localized
display names; symbol distinctness now compares against allCases.count
instead of a magic 4.
- AppLanguageTests transcribed catalogs that check-localization.py already
enforces for coverage, format arguments, plurals and spacing. Locale
routing, migration and fallback tests remain, with the Chinese fallback
checks rewritten as relationships rather than literal copy.
Make AI, MCP, Metrics, and Wake-on-LAN free while retaining iCloud sync as a Pro feature. Limit free accounts to three saved hosts and preserve excess hosts with remote-operation locks.
Gate host creation, import, and runtime access; preserve stable host admission across persistence and sync. Add upgrade states on macOS and iOS, open the paywall from locked Wake actions, and use wrench icons for MCP.
Include regression coverage, opt-in UI review fixtures, localized copy, and the updated pricing website revision.
Extract multiplexer dialect and resumable terminal engine registries while preserving session and checkpoint compatibility.
Share local-network and theme policies, add regression coverage, and update discovery actions to Cancel and Rescan with localized Telnet copy.
Add extensible remote session backends, safe ownership and restore handling, and pane-scoped shell integration over the existing SSH connection.
Keep iOS workspaces in memory and rebuild expired Activity targets on demand. Integrate session selection into Connection Journey with consistent controls, cancellation behavior, and localized counts.
Localize German, French, and Korean demo content and capture workflows. Preserve real software keyboards and invariant numeric parsing during captures. Sort language choices by code and update the published documentation and marketing asset submodules.