What's Changed
- fix(terminal): kill floating, setup, and folder-workspace PTYs on tab close by @nwparker in #10810
- perf(terminal): coalesce per-keystroke input stamps + add typing-latency self-diagnostic by @nwparker in #10784
- fix(ssh): stop remote terminals fail-opening to local PTY by @nwparker in #10778
- fix(memory): clarify Resource Manager accounting by @nwparker in #10821
- perf(agent-status): scan Command Code transcripts backward from EOF by @nwparker in #10742
- fix(terminal): quarantine input after a replaced PTY endpoint (STA-2373) by @brennanb2025 in #10811
- perf(agent-status): keep the shared transcript reader's carry linear by @nwparker in #10777
- perf(ai-vault): keep the JSONL line carry linear by @nwparker in #10783
- perf(git): read both diff blobs concurrently by @nwparker in #10781
- perf(mobile-sync): memoize the agent-status projection per entry by @nwparker in #10787
- perf(startup): stop parsing qrcode and @linear/sdk at launch by @nwparker in #10788
- fix(codex): rank the Codex resume rescan by selected account, not settings insertion order by @brennanb2025 in #10801
- fix(sidebar): make worktree drag reorder follow the card, not the pointer by @nwparker in #10845
- fix(mobile): harden native chat send budgets, streams, and stop by @AmethystLiang in #10814
- perf(source-control): share one path collator across the projection by @nwparker in #10850
- lint: guard the two perf bug shapes we fixed repeatedly by @nwparker in #10851
- fix(agent-history): match non-ASCII workspace paths to Claude sessions by @nwparker in #10841
- fix(terminal): avoid flash while restoring parked terminals by @nwparker in #10871
- Fix diff notes overlapping following lines by @gatsby74 in #7803
- fix(terminal): clear search highlights when the find bar closes by @nwparker in #10872
- perf(cli): load only the handler group a command dispatches into by @nwparker in #10883
- perf(ssh): normalize watch event paths once per fs.changed batch by @nwparker in #10881
- feat(plugins): Orca plugin system — kernel, content packs, panels, workers, marketplace v0 (experimental) by @nwparker in #8549
- fix(tab-bar): keep tab menu items on one line and give every item an icon by @nwparker in #10882
- fix(remote): accelerate terminal recovery on resume/online by @bbingz in #8255
- fix(mobile): unblock iOS releases and prepare 0.0.36 by @nwparker in #10888
- fix(relay): back off overloaded assignments by @Jinwoo-H in #10894
- perf(agent-status): strip terminal control bytes by run, not per character by @nwparker in #10866
- perf(usage): yield with setImmediate, not a clamped setTimeout(0) by @nwparker in #10892
- fix(terminal): restore link hover after mouseleave by @nwparker in #10903
- fix(resource-manager): never destroy a session Orca cannot prove is idle (#8459) by @Jinwoo-H in #10893
- feat(usage): price Claude 5 family and GPT-5.6 token usage by @brennanb2025 in #10822
- fix(editor): save floating workspace markdown files by @OrcaWin in #10985
- fix(worktrees): resolve a two-host project by the worktree's own host (#10634) by @OrcaWin in #10986
- perf(runtime): remove timer clamps from cooperative yields by @nwparker in #10908
- Implement robust orchestration primitives and connected-server workers by @OrcaWin in #9925
- fix(gitlab): render item descriptions and comments with document markdown variant by @SilvaViniF in #9161
- ci: parallelize PR checks and accelerate Vite builds by @nwparker in #10989
- fix(terminals): negotiate explicit close intent for paired runtimes by @OrcaWin in #10129
- fix(cmd-j): focus the destination workspace's own terminal after a jump by @nwparker in #10695
- fix(jira): render issue description/comment images with lightbox by @lifefloating in #8938
- fix(hooks): drain POSIX hook stdin without PATH by @nolainjin in #10885
- fix(terminal): disarm stale TUI modes when a pane confirms return to shell by @akapug in #9608
- fix(release): restore the Windows inner-binary signature gate (#6487) by @nwparker in #10719
- fix(shortcuts): gate Cmd/Ctrl+N folder-workspace jumps on path status by @vansh2408 in #10748
- fix(pty): strip inherited Claude child-session stamps at spawn (silent transcript-persistence loss) by @akapug in #9961
- fix(sidebar): spin the worktree dot while Claude Code is thinking (#9040) by @nwparker in #10684
- fix(cmd-j): restore focus when issue match routing declines by @nwparker in #11010
- fix(markdown): render task continuations as text by @OrcaWin in #11008
- fix(dashboard): stop the agent icon shrinking on long card titles by @brennanb2025 in #11001
- fix(runtime): refuse SSH hosts in project setup instead of acting locally by @brennanb2025 in #10799
- fix(ci): mirror missing lint steps in PR workflow (#10601) by @hsusul in #10623
- fix(runtime): stop rejecting ui.set when Linear or Jira resume fields are present by @giraphant in #10715
- fix(terminal): release an abandoned synchronized-output frame on reveal (STA-2694) by @nwparker in #10907
- feat(updater): switch to validated local mac builds by @nwparker in #10889
- fix(browser): survive a transient Windows lock during cookie import by @nwparker in #10697
- fix(git-history): stop reading the option marker as the resolved ref name by @nwparker in #10906
- perf(relay): keep the PTY replay window as chunks, not a re-sliced string by @nwparker in #10900
- feat(terminal): add manual parking developer action by @nwparker in #11016
- fix(automations): bind agent terminal output before publishing, and launch SSH folder workspaces on their own host by @nwparker in #10818
- perf(store): index worktrees and tabs once per hydration loop by @nwparker in #10891
- perf(terminal): scan output frames by code unit, not per code point by @nwparker in #10915
- fix(panes): stop a stray touch hijacking a mouse divider drag by @brennanb2025 in #11013
- feat(dashboard): tint agent cards by state, show the project as an icon, name the chat by @brennanb2025 in #11012
- perf(terminal): measure stream byte length natively above a code-unit floor by @nwparker in #10916
- perf(cli): construct the runtime client only when a command needs it by @nwparker in #10919
- perf(git): overlap getBranchCompare's head-of-chain reads by @nwparker in #10895
- fix(terminal): stop answering mode-2031 toggles that the same chunk withdrew by @nwparker in #10817
- fix(mobile): deliver the notifications a reconnect missed, and never persist a watermark past them by @nwparker in #10816
- perf(editor): cut per-keystroke work on two rich-markdown paths by @nwparker in #10862
- fix(runtime): reclaim orca-runtime.json when it stops describing this runtime by @brennanb2025 in #10840
- fix(release): accept lowered telemetry declarations by @nwparker in #11019
- fix(ci): stabilize flaky terminal and SFTP tests by @brennanb2025 in #11018
- feat(skills): run skill updates in the background without a terminal by @brennanb2025 in #10843
- fix(codex): keep history, restarts, and account identity across an account switch by @brennanb2025 in #10770
- fix(e2e): launch plugins with real app identity by @nwparker in #11024
- fix(codex): drop the resume argv when session provenance is unverifiable by @brennanb2025 in #10805
- fix(runtime): drain pending session-tabs notify before a new subscriber joins by @brennanb2025 in #11022
- fix(new-workspace): center agent selection in create dialog by @nwparker in #11020
- fix(panes): stop a stray mouse hijacking a touch divider drag by @brennanb2025 in #11021
- ci(release): detach non-blocking E2E by @nwparker in #11031
- fix(file-explorer): commit inline rename on outside click and stop double-click rename flicker by @ye4241 in #10867
- fix(sidebar): stop worktree cycling from reopening collapsed groups by @jeongph in #10513
- fix(terminal): make copy work in the HTTP web client by @badaverse in #10534
- fix(browser): restore configured zoom after page reload by @luizeof in #10800
- fix(native-chat): auto-grow the composer input up to 8 lines by @zhigang1992 in #10848
- fix(workspace-space): bound traversal memory and serialize local disk scans by @AmethystLiang in #11026
- chore(quality): ratchet Oxlint, React Doctor, and Zustand performance by @nwparker in #11034
- fix(mobile): heal a stale input line before sending diff-review notes by @brennanb2025 in #11035
- fix(terminal): clear retained overlay for editor tabs by @nwparker in #11030
- fix(native-chat): keep known sessions loading until flush by @nwparker in #11032
- test(e2e): harden release latch and teardown coverage by @nwparker in #11036
- fix(skills): complete plugin-cache scans without false attention by @5Hyeons in #10865
- fix(codex): keep a host account switch inside the host lane by @brennanb2025 in #10992
- fix(relay): tolerate wall-clock skew in host-proof validation by @innocarpe in #10474
- fix(skills): require updater registration by @nwparker in #11051
New Contributors
- @lifefloating made their first contribution in #8938
- @nolainjin made their first contribution in #10885
- @akapug made their first contribution in #9608
- @vansh2408 made their first contribution in #10748
- @hsusul made their first contribution in #10623
- @giraphant made their first contribution in #10715
- @badaverse made their first contribution in #10534
- @luizeof made their first contribution in #10800
- @zhigang1992 made their first contribution in #10848
- @5Hyeons made their first contribution in #10865
Full Changelog: v1.4.159...v1.4.160-rc.3