What's Changed
- fix(native-chat): stop rendering a tool result whose call is outside the window by @brennanb2025 in #15653
- fix(grok): stop Orca's Grok hooks from costing anything outside Orca by @brennanb2025 in #16666
- fix(orchestration): enforce nested worker depth instead of an accidental fence by @brennanb2025 in #16668
- fix(relay): survivable mobile pairing recovery + desktop assign rate gate by @Jinwoo-H in #16659
- Improve automations table layout and column sizing by @AmethystLiang in #16667
- fix(agent-hooks): stop the Windows hook launcher spelling the AV-denied flag triple by @nwparker in #16576
- Shift+Tab to unindent lists and code blocks by @AmethystLiang in #16677
- Show all automation destination hosts, disable ineligible ones by @AmethystLiang in #16665
- test(agent-status): inventory legacy pane identity surfaces by @brennanb2025 in #16575
- fix(codex): preserve WSL account home trust by @brennanb2025 in #16496
- fix(pty): match the echo shapes a real tty actually produces by @nwparker in #16542
- fix(git): chunk bulk pathspec operations by command-line length, not file count by @nwparker in #16634
- i18n: Make skill install dialogs and errors translatable by @OrcaWin in #16682
- fix(browser): retire helpers with page owners by @Jinwoo-H in #16564
- fix(runtime): cancel pending driver timers on desktop reclaim by @brennanb2025 in #16337
- fix(terminal): bound WebGL context-loss retries on tab reveal by @brennanb2025 in #16338
- fix(cmd+j): always enable See more for soft preview hints by @AmethystLiang in #16661
- fix(codex): stop re-scanning all Codex session history on every launch (#16251) by @nwparker in #16593
- fix(memory): report the Windows number that predicts paging, not just resident pages (#16211) by @nwparker in #16589
- perf(source-control): stop re-running every git read on each file selection (#15036) by @nwparker in #16600
- fix(windows): keep windows-process-tree gyp paths absolute under pnpm by @nwparker in #16688
- feat(orchestration): surface nested worker depth and propagate it across hosts by @brennanb2025 in #16669
- fix(terminal): size the pre-Enter wait to what the host actually ingests (#15925) by @nwparker in #16586
- fix(agent-prompt): stop reporting delivered prompts as stalled (#16095) by @nwparker in #16590
- fix(codex): stop blocking the main thread on trust grants (#16441) by @nwparker in #16594
- fix(browser): bound the agent-browser daemon's life instead of hoping teardown runs (#16367) by @nwparker in #16588
- refactor(codex): make WSL account surfaces direct-home aware by @brennanb2025 in #16499
- fix(native-chat): anchor an unmatched chat echo where it was sent by @brennanb2025 in #16117
- fix(workspace-cleanup): show git status for every row by @brennanb2025 in #16690
- fix(mobile): reset recycled paragraph layout before reuse by @brennanb2025 in #16692
- Reset stale terminal modes after dead TUI replay by @Jinwoo-H in #16379
- fix(codex): launch WSL accounts from direct homes by @brennanb2025 in #16504
- Prevent duplicate file renames when input unmounts after Enter by @AmethystLiang in #16719
- refactor(codex): remove WSL runtime mirror machinery by @brennanb2025 in #16505
- fix(remote): gate empty session inventory on host authority by @Jinwoo-H in #16546
- fix(crash-reporting): stop discarding the whole module list on POSIX dumps by @nwparker in #16687
- fix(agents): submit-retry Enter for codex composer by @AmethystLiang in #16689
- fix(editor): constrain image previews before load instead of laying out at natural size by @nwparker in #16686
- Revert "fix(codex): launch WSL accounts from direct homes" and "refactor(codex): remove WSL runtime mirror machinery" (#16504, #16505) by @AmethystLiang in #16722
- fix(agent-hooks): deliver hook events that fire while Orca is restarting (STA-5329) by @brennanb2025 in #16685
- fix(terminal): route Enter to focused split pane by @brennanb2025 in #16705
- fix(worktrees): resolve id: worktree selectors by path equivalence (#16243) by @LesleyMurfin in #16494
- fix(ai-vault): stop a whole opencode.db failure reading as one skipped transcript by @nwparker in #16587
- feat(orcad): items 2–7 — degradation, natives, daemon, ops, deploy by @nwparker in #16398
- fix(cursor): emit Cursor-contract JSON from managed hooks by @brennanb2025 in #15651
- Suppress default quit on window-all-closed in DNS probe by @AmethystLiang in #16683
- Open target=_blank links and unnamed popups in new Orca tabs by @AmethystLiang in #16720
- Add terminal unavailability exports to parity test by @AmethystLiang in #16810
- feat(diagnostics): name the code driving a React commit cascade by @AmethystLiang in #16730
- fix(workspace-cleanup): color review pills by PR/MR state by @brennanb2025 in #16726
- fix(agent-hooks): stop the Windows hook launcher spelling the AV-denied flag pair (STA-5237) by @brennanb2025 in #16739
- fix(windows): stop a wedged process-table reader retaining a callback per cooldown by @brennanb2025 in #16696
- Fix concurrent daemon spawn recovery after disconnect by @brennanb2025 in #16818
- fix(agent-hooks): post posix payloads as json by @xianjianlf2 in #11292
- Normalize project catalog rows defensively by @AmethystLiang in #16826
- fix(codex): heal WSL hooks before typed launches by @brennanb2025 in #16535
- Always enable Tasks button and provider shortcuts by @AmethystLiang in #16838
- Allow select-all shortcuts in quick command dialogs by @AmethystLiang in #16851
- Allow drag to reorder tabs on floating workspace by @AmethystLiang in #16828
- fix(macos): opt out of press-and-hold so held keys repeat (#14746) by @nwparker in #15589
- feat(browser-preview): render remote HTML docs locally over an orca-preview scheme (STA-5557) by @Jinwoo-H in #16679
- fix(routing): resolve unstamped local worktrees to the local host (STA-5683) by @brennanb2025 in #16841
- test(pty): pin terminal query-reply order; align one renderer call site by @brennanb2025 in #16862
- Fix STA-5661: prevent rolldown const-folding of bridged exports by @AmethystLiang in #16869
- fix(mobile): report composing state from accessory backspace by @nwparker in #16757
- Fix worktree identity collisions across hosts by @nwparker in #16691
- fix(orchestration): prevent slow worker-start stalls by @brennanb2025 in #16300
- fix(native-chat): separate image attachment paths from following prompt text (STA-4993) by @brennanb2025 in #15820
- Fix terminal reads that flatten composer drafts into output by @brennanb2025 in #16711
- fix(ai-vault): index Cline sessions by @brennanb2025 in #16814
- test(main): isolate deferred worktree watcher setup by @brennanb2025 in #16836
- fix(source-control): allow an empty AI-generated PR description in Create PR by @nwparker in #16873
- feat(settings): name the agents the Chat UI supports by @brennanb2025 in #16830
- fix(orchestration): route @agent messages by resolved identity, not terminal title by @brennanb2025 in #16237
- fix(mobile): honor host worktree create retention by @brennanb2025 in #16342
- test(terminal): pin that Hangul is two cells under every unicode provider by @nwparker in #15477
- fix(terminal): compose iPadOS Hangul by holding the syllable in the renderer (#13345) by @nwparker in #15480
- Speed up PR CI with path skips, native caches, and fewer shards by @nwparker in #16863
- Add coverage for skill lock release and fix WebRTC test flakiness by @AmethystLiang in #16846
- Refactor lower max-lines modules by @nwparker in #16760
- Split port scanning and terminal helpers by @nwparker in #16765
- revert: feat(browser-preview): render remote HTML docs locally over an orca-preview scheme (#16679) by @AmethystLiang in #16892
- Split Hermes cron run history by @nwparker in #16766
- fix(orchestration): settle worker release without web layout state by @brennanb2025 in #16842
- Extract speech lifecycle and editor animation modules by @nwparker in #16767
- Split Jira issue workspace presentation by @nwparker in #16769
- Support nested toggles as editable blocks with recursion guards by @AmethystLiang in #16861
- Add copy buttons to check run details sections by @AmethystLiang in #16884
- Split Linear issue service by operation by @nwparker in #16770
- Update Android download links to 0.0.46 by @AmethystLiang in #16899
- Split onboarding flow controller by @nwparker in #16774
- Extract terminal output scheduler subsystems by @nwparker in #16775
- Extract daemon launch path helpers by @nwparker in #16777
- Extract local PTY launch helpers by @nwparker in #16778
- Extract mobile host and browser helpers by @nwparker in #16779
- Extract GitLab dialog presentation parts by @nwparker in #16780
- fix(fork-sync): address runtime repos by main worktree id, not repo id by @nwparker in #16876
- Extract CDP auxiliary commands by @nwparker in #16781
- Prime native caches before PR test fanout by @nwparker in #16918
- test(editor): cover check run details copy actions by @AmethystLiang in #16925
- fix(mobile): stop held accessory keys after release under latency by @brennanb2025 in #14219
- Add parent worktree selection when creating workspace by @AmethystLiang in #15420
- ci(e2e): trigger the Docker-SSH lane from SSH source and forbid unclaimed specs by @nwparker in #16746
- fix(remote-workspace): restore a wire field the snapshot normalizer silently dropped by @nwparker in #16747
- fix(remote-workspace): host silence must not delete a local row it was never told about by @nwparker in #16748
- fix(terminal): don't seed or resume while the execution host hasn't answered by @nwparker in #16750
- fix(ssh): a reattach may bind a pane but never create one by @nwparker in #16751
- fix(terminal): a close the host never heard must survive the reconnect by @nwparker in #16752
- fix(ssh): a relay that reports a PTY absent must authorise a fresh spawn by @nwparker in #16763
- fix(terminal): stop declaring direct-SSH hidden output lost when the host is merely slow by @nwparker in #16941
- fix(remote): re-probe host status after a shared-control reconnect by @nwparker in #16942
- Display host on automation details and dialog by @AmethystLiang in #16823
- fix(claude-usage): bill 1-hour cache writes at 2x base input by @nwparker in #16878
- Run Node 26 compatibility daily instead of per PR by @nwparker in #16946
- fix(i18n): use 工作树 consistently for parent worktree strings in zh locale by @AmethystLiang in #16954
- fix(window): stop will-navigate from blocking the lazy-chunk recovery reload by @nwparker in #16944
- fix(react): break three drivers of the React #185 commit cascade by @nwparker in #16940
- feat(browser-preview): reland remote HTML document previews (STA-5758) by @Jinwoo-H in #16920
- fix(browser-preview): require explicit preview capabilities (STA-5758) by @Jinwoo-H in #16921
- feat(mobile): add causal network diagnostics by @Jinwoo-H in #16837
- fix(release): stabilize native builds across CI platforms by @Jinwoo-H in #16947
- fix(github): bound PR-refresh alias fan-out and hosted-review cache growth by @nwparker in #16943
- fix(ssh): never claim authority over host tabs this client could not place by @nwparker in #16956
- refactor(runtime-status): fold the reconnect re-probe into the refresh action by @nwparker in #16968
- refactor(terminal): collapse the five inline remote-execution-host PTY idioms into isRemoteExecutionHostPtyId by @nwparker in #16967
- Rename orphan task action by @AmethystLiang in #16976
- fix(terminal): a restarted relay must not hand a new tab a dead PTY's exit by @nwparker in #16970
- fix(session): defer session writes suppressed by a direct-SSH apply instead of dropping them by @nwparker in #16969
- fix(browser-preview): enforce canonical runtime grants by @Jinwoo-H in #16975
- feat(terminal): weight-layer forensics for the bold-collapse bug (STA-4042) by @brennanb2025 in #16868
- fix(release): recover immutable patch validation gates by @Jinwoo-H in #16984
- style: format codebase by @AmethystLiang in #16935
- fix(release): trust Linux floor workspace by @Jinwoo-H in #16988
- test(release): bound Windows skill budget fixture by @Jinwoo-H in #16992
- fix(pty): stop fish printing a test error when codex is absent (#16893) by @erishforG in #16923
- fix(gitlab): paginate TaskPage issues beyond 50 by @bbingz in #13538
- docs(headless-server): fix package list, extraction perms, and ldd command by @nwparker in #17002
- docs(env-recipes): warn that snapshotting a started runtime bakes its identity by @nwparker in #17001
- feat(editor): add "Open anyway" for oversized rich Markdown files (#16964) by @nwparker in #16971
- fix(terminal): stop park-verdict oscillation remounting a pane at commit cadence (#15136) by @nwparker in #17009
- fix(ssh): replay an undelivered remote PTY stop on the next handshake (#12447 item 1) by @nwparker in #17011
- fix(pty): key buffered pre-attach PTY exits on the incarnation, not a sequence fence by @nwparker in #17010
- fix(relay): stop advertising an agent session for a pane whose tab is gone (#12447) by @nwparker in #17012
- Change artifact link button wording by @AmethystLiang in #17037
Full Changelog: v1.4.191...v1.4.192