What's Changed
- fix(agent-status): keep Codex's hidden title-thread prompt off the sidebar heading by @nwparker in #33746
- test: remove redundant browser, runtime and secret registry coverage by @OrcaWin in #33767
- test: remove redundant configuration, shortcut and recovery coverage by @OrcaWin in #33770
- fix(runtime): keyboard tab switches tell a paired server which tab this desktop shows by @nwparker in #33761
- fix(agent-resume): resume Claude sessions at their own effort level by @Jinwoo-H in #33765
- test: remove 29 low-value renderer suites by @OrcaWin in #33772
- feat(connector): wire contract between Orca and the cloud connector service (inert) by @Jinwoo-H in #33670
- fix(wsl): keep a UNC drive-folder project's worktrees under their saved names by @nwparker in #33706
- refactor(cloud): share push's database layer as a package by @Jinwoo-H in #33714
- refactor(renderer): group agent-status records and reducers by @nwparker in #33665
- feat(connector): connector service skeleton that checks auth-service tokens by @Jinwoo-H in #33723
- feat(tools): resize the PTY mid-capture with --resize-at by @nwparker in #33781
- feat(connector): inbox with held long poll, two confirmations and expiry, on connector tokens by @Jinwoo-H in #33734
- fix(codex): resume a thread with the permissions it was last given, not Orca's launch flag by @nwparker in #33460
- Prevent retained chat panes from jumping before anchors resolve by @AmethystLiang in #33788
- fix(agent-resume): keep a background agent launch's flags when it is resumed by @Jinwoo-H in #33776
- test: remove low-value predicates, inventories and helper echoes by @OrcaWin in #33778
- Fix native chat hover colors for live theme changes by @AmethystLiang in #33791
- perf(daemon): skip drain-waiter filter when none are pending by @ctolkien in #30996
- build(deps): bump vite 8.3.5, oxlint 1.89.0, oxlint-tsgolint 7.0.2005 by @OrcaWin in #33794
- test: remove low-value inventories, passthroughs and redundant cases by @OrcaWin in #33796
- fix(agent-awake): warn once while the Linux lid sleep assertion keeps failing by @brynnclaw in #24839
- fix(computer-use): probe Linux editables via get_editable_text_iface by @innocarpe in #10586
- fix(updater): probe latest-linux-arm64.yml on Linux arm64 by @fettpl in #18339
- test: remove low-value renderer predicates and wrapper suites by @OrcaWin in #33811
- refactor: colocate task page composition hooks by @nwparker in #33808
- perf(lint): skip JS plugin rules on files that cannot match (lint:js-plugins 17s → 4s) by @OrcaWin in #33813
- fix(computer-use): send correct named keys and hotkey letters on Linux by @AlgoraAndrew in #22494
- Unify terminal starts under one host operation by @brennanb2025 in #32076
- fix(worktrees): an unqualified id two hosts share resolves to nothing, not the first copy by @nwparker in #33818
- fix(native-chat): end a start at once on agent answers that can never succeed by @brennanb2025 in #33685
- fix(native): pin node-pty cfset*speed with legacy baud codes for glibc 2.42+ by @OrcaWin in #33803
- Give native chats a fresh automatic name after /clear by @brennanb2025 in #32287
- fix(agents): re-list a host's terminal agents when contact returns by @nwparker in #33816
- perf(devex): parallel pnpm lint (169s → 50s), capped typecheck threads, fresh shard timings by @OrcaWin in #33817
- fix(chat-rename): skip invisible legacy tab names during rename migration by @brennanb2025 in #33678
- Revert "fix(native-chat): preserve Claude approval choices across model changes" by @AmethystLiang in #33823
- Stop workers from taking over the Run they work for by @brennanb2025 in #29008
- perf(mobile): a streaming reply re-renders only the rows that changed by @brennanb2025 in #23840
- perf(build): cap Rolldown threads (−24% build CPU); don't block pnpm dev on the pairing web build by @OrcaWin in #33828
- fix(native-chat): remove misleading usage-limit Continue action by @AmethystLiang in #33392
- Fix Codex goal Stop and selected model settings by @brennanb2025 in #33631
- test(vitest): run-scoped temp dir, removed on exit, so test fixtures stop leaking into /tmp by @OrcaWin in #33834
- fix(terminal): repaint local TUIs over the hidden-output loss banner by @nwparker in #33835
- fix(daemon): give each macOS resolver health probe a unique clientId by @nwparker in #33833
- perf(wsl): relay orcad sockets through bash instead of a Node bridge by @nwparker in #33820
- perf(orcad): retire an idle session scanner after a minute on host servers by @nwparker in #33845
- perf(dev): −1.2 GB idle RSS per pnpm dev instance (Rolldown threads + mimalloc purge) by @OrcaWin in #33836
- test(vitest): stop orphaned node-runtime workers when Vitest is killed (150s+ → 53ms) by @OrcaWin in #33848
- fix(preflight): detect Grok CLI installed only in ~/.grok/bin by @brynnclaw in #25324
- fix(terminal): answer queries in output a paused paired view discards by @nwparker in #33783
- fix(terminal): a pane moved to a new tab stays moved on paired servers by @nwparker in #33027
- fix(wsl-host): tie each WSL host record to its pairing key (R31) by @nwparker in #29832
- test: remove low-value renderer suites and redundant shared cases by @OrcaWin in #33819
- fix(terminal): typing held for a starting agent still arms recovery when its connect hangs by @nwparker in #33865
- fix(agent-awake): warn once and back off when the sleep assertion keeps failing by @nwparker in #33841
- perf(daemon): cap the terminal daemon's young generation (−51 MB idle, −75 MB after bursts) by @OrcaWin in #33837
- perf(terminal): relax idle agent inspection for local POSIX shell panes (−46 MB daemon, −75% idle CPU) by @OrcaWin in #33829
- perf(build): keep bundled scripts one-byte in V8 (−24 MB idle) by @OrcaWin in #33786
- perf(editor): stop Monaco's TS/JS worker when no TS/JS file is open (−38 MB V8) by @OrcaWin in #33810
- fix(runtime): stop a crash-zeroed server list from blocking every server save by @nwparker in #33864
- fix(terminal): don't rewrite live bytes a renderer hydration seed already painted by @nwparker in #33880
- test: remove low-value renderer helper and presentation tests by @OrcaWin in #33876
- feat(serve): keep macOS serve out of the Dock and opt in to the GPU on Linux by @nwparker in #33878
- refactor: colocate task page list presentation rules by @nwparker in #33830
- fix(build): pin the native SwiftPM build system for the computer-use universal binary by @eatmoreduck in #21146
- fix(ssh): refuse a second Orca server from a host cloned with the same machine-id by @nwparker in #33775
- perf(ci): shorten preflight's serial tail (~24s median), parallel ratchets, allow 2–10 unit shards by @OrcaWin in #33887
- fix(github): send issue bodies to gh over stdin instead of argv by @innocarpe in #25215
- fix(open-in): strip AppImage runtime env from editors launched from Orca on Linux by @SamuelAdigos in #31675
- fix(automations): step schedule scans by calendar day so DST changes don't skip dates by @ImcLiuQian in #19086
- fix(orchestration): keep the transcript handle open when a forward page fills by @kaznowski in #32894
- fix(browser): accept an empty --value in fill and select commands by @2sumtech in #16030
- fix(telemetry): send only an errno code, not the raw error message, in agent_hook_install_failed by @brynnclaw in #25287
- fix(notifications): use the real macOS default sound for the System notification option by @Ethereal49 in #26321
- fix(shell): resolve VS Code CLI from standard app installs when
codeis not on PATH by @bbingz in #14010 - fix(build): keep index.js source map aligned with the bootstrap banner by @nwparker in #33899
- docs: stop promising cross-worktree split panes and Shift-Enter split in Jump Palette by @nwparker in #33902
- refactor: colocate task page PR presentation rules by @nwparker in #33890
- fix(drops): keep remote drops out of git and say why drops or file opens fail by @nwparker in #33831
- perf(lint): one ast-grep scan for the lint gate and the flaky-test ratchet (11s → 6s) by @OrcaWin in #33903
- fix(diff): keep the collapsed section's header in view in View all diff by @innocarpe in #24466
- fix(process-table): pin macOS ps to en_US.UTF-8 so lstart and argv parse under any locale by @nwparker in #33898
- fix(editor): reload open tabs on external changes when Windows paths are spelled differently by @VXNCXNX in #14812
- fix(memory): resource panel shows Activity Monitor's footprint on macOS and counts the terminal daemon by @OrcaWin in #33901
- fix(wsl-host): keep the bridge port across app restarts so the host isn't re-paired by @nwparker in #33109
- fix(cli): show orphaned state in human-readable terminal list/show output by @nwparker in #33910
- test(wsl): cover the bash bridge's argv, backpressure, fallbacks and cleanup by @nwparker in #33907
- fix(terminal): keep find-bar highlights when navigating with Cmd+G / Cmd+Shift+G by @AntonioKL in #18844
- fix(ai-vault): delete a server-hosted session on the server that owns it by @nwparker in #33906
- docs(settings): describe the GitHub integration as the local gh CLI login, not OAuth by @eatmoreduck in #26609
- refactor(task-page): colocate cross-provider composition owners by @nwparker in #33913
- fix(automations): advance cron and hourly schedules past a DST fall-back hour by @eatmoreduck in #20179
- test(layout): stop rebuilding the runtime and RPC registry per test by @nwparker in #33919
- fix(native-chat): say why Claude refused to start a chat, including Full access as root by @nwparker in #33812
- fix(persistence): clear canonical worktree activeWorkspaceKey when worktree session owner is removed by @audichuang in #6255
- fix(settings): open the deep-linked setup when one host holds two setups of a project by @AnddyAgudelo in #12176
- test(layout): load the runtime graph once before the layout capability tests by @nwparker in #33923
- refactor(mobile): colocate native chat composer and drafts by @nwparker in #33922
- perf(orcad): keep SSH hosts on the 10-minute scanner idle, give WSL hosts 3 by @nwparker in #33897
- fix(windows): mark PowerShell startup command boundaries with OSC 133 C/D by @hwantage in #18182
- test(layout): drop the warm-up that calls a helper #33919 removed by @nwparker in #33934
- test(startup): stop paying the ready graph's cold transform inside the first test by @nwparker in #33925
- fix(repos): prune each restored folder owner once its own host answers by @nwparker in #33863
- fix(ssh): move through the remote folder browser with the arrow keys by @nwparker in #33914
- fix(computer-use): send the plain chord for uppercase hotkey letters on Windows by @jespo2021 in #27642
- fix(runtime-environments): every window sees a server saved from the CLI by @nwparker in #33930
- feat(ssh): per-host Reconnect on launch toggle by @nwparker in #33935
- fix(persistence): a paired server's workspaces keep their saved tabs across desktop restarts by @nwparker in #33926
- fix(session): show a toast when Force Reload is vetoed by a failed shutdown checkpoint by @nwparker in #33941
- feat(open-in): open SSH workspaces in Cursor and Zed by @nwparker in #33877
- fix(cli): reject empty --terminal/--from handles instead of falling back to defaults by @Cunninger in #16745
- fix(terminal): release replay guards when a pane's xterm is disposed instead of certifying a wedge by @dansolombrino in #31095
- fix(terminal): skip an escape tail an abandoned hidden-output restore would print by @nwparker in #33905
- fix(terminal): return chat tab to terminal when a confirmed shell foreground follows agent exit by @zhangxaochen in #30614
- docs: use full
stablyai/orca/orcacask name and warn that bareorcais Plotly by @innocarpe in #14777 - fix(windows): prefix cmd /c batch lines with @ so spaced launcher paths survive quote stripping by @thsvkd in #13501
- fix(ssh): say why SSH failed when Connect never reaches the host by @nwparker in #33928
- fix(i18n): reject duplicate keys in localization catalogs by @nwparker in #33950
- fix(codex): skip the Codex hook under a Claude background job by @stakost in #24641
- fix(agent-status): show Claude/Codex panes waiting on the folder-trust dialog by @nwparker in #33804
- fix(runtime): recognize hand-typed native Claude at its startup dialogs by @nwparker in #33826
- fix(session-tabs): retire terminal rows the host closed, and offer Close Pane on a closed remote terminal by @nwparker in #33949
- Continue remote CLI conversations in Chat UI on paired servers by @nwparker in #33954
- fix(daemon): warn when terminals inherit a zero RLIMIT_RTTIME by @JacobHonore in #29762
- test(daemon): use platform-native daemon endpoints and cwds in Windows-sensitive tests by @innocarpe in #18289
- fix(terminal): send a composing cursor chord once, not twice by @ethznn in #17624
- fix(session): clear an emptied field on a runtime partition this window loaded by @nwparker in #33972
- test(e2e): wait for the catalog failure past a slow conversion by @nwparker in #33960
- fix(orchestration): teach workers to acknowledge and drain mail batches by @1aifanatic in #26768
- fix(terminal): adopt another client's terminal under its own tab instead of a second one by @nwparker in #33978
- fix(windows): skip watcher-process auth when closing file watchers during worktree removal by @1aifanatic in #26765
- fix(terminal): keep a pinned reading position anchored through scrollback trimming by @Meapri in #23334
- fix(window): stop "Object has been destroyed" crash from stale renderer-reply IPC after window close by @cis2042 in #21581
- fix(watcher): treat FSEvents rescan-required errors as overflow so folder watches keep running by @jun-planfit in #31439
- fix(renderer): move side effects out of React state updaters by @nwparker in #33989
- fix(ssh): say why an SSH host failed in the Add project host picker by @nwparker in #33992
- fix(ai-vault): resume a server session whose workspace was deleted; show remote hit previews by @nwparker in #33965
- fix(terminal): split link-routing dialog context out of the component module so Fast Refresh doesn't crash terminals by @a-rookie-of-C-language in #29740
- fix(orchestration): keep a settled worker report when startup fails late by @1aifanatic in #26762
- fix(dashboard): close the agent terminal dialog on Cmd/Ctrl+W without closing the tab behind it by @tvrmsmith in #19758
- fix(ssh): expand %d, ${NAME} and other tokens in ssh -G IdentityFile paths by @nwparker in #33981
- fix(i18n): localize Commit & Sync, Rebase, and Create PR hints in the source control dropdown by @smwbev in #14127
- fix(lifecycle): keep UI listener failures from vetoing the shutdown checkpoint by @denis-sj in #21029
- docs(orca-cli): correct terminal split --direction semantics by @kaynansc in #9038
- fix(sidebar): stop the workspace details scroll area from clipping field focus rings by @OriginalByteMe in #31816
- Remove obsolete reference documentation by @AmethystLiang in #34008
- fix(i18n): localize PR merge/close confirmations and merge method labels by @abruption in #28568
- fix(tab-group): resolve tab drag targets from the real cursor position by @grboy6770 in #27930
- fix(terminal): treat macOS '??' tty as no terminal in spawn-file and tmux readers by @aashish254 in #23251
- fix(pty): feed the runtime once for in-process panes behind a degraded daemon by @Muriano in #33119
- fix(appearance): make match-terminal sidebar text inherit the terminal foreground by @SavenkoSy in #29157
- fix(shortcuts): cycle floating workspace tabs on Ctrl+Tab when the floating panel is focused by @nikolas-sapa in #33223
- docs(cli): document terminal read --screen and realign terminal help usage by @webdevtodayjason in #15893
- fix(relay): retire a pooled Postgres connection that turned slow or lossy by @Jinwoo-H in #33900
- Show chat-only workspaces as active before the first message by @brennanb2025 in #33815
- fix(native-chat): send launch prompts and worker tasks through the retrying start by @brennanb2025 in #33832
- feat(connector): Slack edge: signed ingress, owner-only routing, thread starts, post queue and agent replies (PR 5a) by @Jinwoo-H in #33779
- Ask before Codex workspace edits and apply permissions to fresh turns by @brennanb2025 in #31299
- feat(connector): cloud-assigned hello revisions, stale requests refused with 409, contract size caps, snapshot turn ids by @Jinwoo-H in #33821
- fix(session-history): list a chat once under its writer when pi and omp share a sessions folder by @AmoabaKelvin in #33647
- feat(relay): log the director's TCP retransmits per runtime window by @Jinwoo-H in #34027
- fix(usage): write usage cache snapshots and sidecars with owner-only (0600) permissions by @ka2umaz in #31027
- fix(mobile): an unreachable host shows why instead of an endless spinner by @AmoabaKelvin in #33689
- fix(github-project): order number-field groups by numeric value, not by label by @pucedoteth in #19397
- fix(terminal): let focus-follows-mouse move focus between the floating and main workspaces by @oha-4 in #29914
- fix(pi): keep the chat open when pi sends an event over 8 MiB by @AmoabaKelvin in #33651
- fix(claude-accounts): restart System default sessions on the outgoing login when switching by @Jinwoo-H in #33793
- fix(terminal): strip inherited CLAUDECODE, CLAUDE_CODE_EXECPATH and CLAUDE_CODE_ENTRYPOINT from spawned PTY env by @Baek-Seunghyun in #10188
- fix(terminal): answer terminal queries while a phone watches at desktop size by @AmoabaKelvin in #33674
- fix(workspace): keep the active workspace key in sync with the active worktree by @PannenetsF in #14475
- fix(mobile): unmount history rows once the web chat returns to its live tail by @AmoabaKelvin in #33664
- feat(connector): Slack answer buttons: the owner answers the agent's approval or question from the thread (PR 5b) by @Jinwoo-H in #33856
- fix(project): name the folder's project id when setup-existing-folder identity mismatches by @shahidbeig-a11y in #23551
- fix(linux): declare ALSA and GBM runtime dependencies in deb/rpm packages by @nwparker in #34036
- fix(agent-dashboard): keep the drawer's dismissal Escape out of the focused terminal by @nwparker in #34037
- fix(board): truncate workspace status labels without splitting emoji by @nwparker in #34035
- feat(connector-contract): conversations from Slack, Discord or Linear; machines list the sources they take; replies name a messageId by @Jinwoo-H in #33862
- fix(ssh): show Move anyway on a host card whose move saved state refuses by @nwparker in #33961
- feat(connector): the desktop holds the Orca Cloud connector poll, with relay-style connector tokens by @Jinwoo-H in #33852
- fix(ssh): lead an SSH connect failure with what to do about it by @nwparker in #33990
- fix(i18n): correct native-chat subagent and tool-run summary strings in zh/ja/ko/fr by @beduldul in #33561
- fix(linear): make new-project dialog pickers wheel-scrollable by @GagaKor in #16413
- fix(resources): End stops tab-less terminals that main is connected to by @Jinwoo-H in #34040
- fix(mobile): send terminal controls in key order with live typing by @AmoabaKelvin in #33724
- test: remove 57 low-value cases and standalone browser probes by @OrcaWin in #33889
- fix(forge): skip PR refreshes for a WSL host that is off, and say so (E9 C) by @nwparker in #33840
- fix(native-chat): pass session-reported slash commands through to the session by @nwparker in #34048
- fix(wsl-host): boot only the focused WSL host, and keep a stopped one down (E9 A) by @nwparker in #33838
- feat(mobile): copy button on each code block in chat by @AmoabaKelvin in #34039
- fix(perf): preserve TS worker idle deadlines and boot guard diagnostics by @OrcaWin in #34055
- fix(ssh): make Move anyway the next step when saved items refuse a host's move by @nwparker in #34041
- fix(packaging): ship agent-browser skill catalog with desktop builds by @zerone0x in #17714
- fix(i18n): correct wrong-sense Simplified Chinese UI strings by @shichen35 in #29321
- fix(mobile): open page sheets above an already-open keyboard by @AmoabaKelvin in #33760
- fix(native-chat): render math and center standalone equations by @xinzhoulvxinda in #31546
- fix(cli): target the calling terminal's folder workspace, not its parent by @AmoabaKelvin in #33703
- fix(opencode): allow model picks when discovery is unavailable by @brennanb2025 in #31985
- Prevent macOS port scans from accumulating stuck processes by @brennanb2025 in #32045
- fix(native-chat): make the Chat UI ⇄ terminal shortcut a remappable keybinding by @SamuelAdigos in #31679
- fix(worktree): track explicit remote-only branch by @Pr1p in #31645
- Keep workspace labels independent of automatic branch names by @brennanb2025 in #32919
- fix(mobile): ask before closing other tabs, sharing desktop's confirm by @AmoabaKelvin in #33704
- fix(native-chat): keep damaged chats readable without granting agent actions by @brennanb2025 in #31931
- refactor(agent-hooks): launch the WSL hook relay through the process host by @nwparker in #34051
- fix(orchestration): let a sleeping chat's background commands send as it by @Jinwoo-H in #34049
- fix(runtime): share one lazy load of the session-tabs apply modules across refreshes by @nwparker in #33939
- refactor(store): colocate agent-status action composition by @nwparker in #34045
- fix(notifications): workspace mark as read clears the chat alert on the phone by @AmoabaKelvin in #33713
- fix(mobile): keep chat-agent create when the capability check spans a lan-to-relay switch by @AmoabaKelvin in #33697
- fix(wsl-host): a runtime-call reconnect never boots a distro that stopped meanwhile (E9 follow-up) by @nwparker in #34050
- fix(i18n): translate crash report, notification settings and tour copy by @nwparker in #34066
- perf(memory): read macOS footprints with a bundled helper instead of top by @OrcaWin in #34053
- fix(claude): keep a user-set async flag on Orca-managed hooks across reinstalls by @1aifanatic in #26736
- Continue a chat after the terminal agent exits by @brennanb2025 in #33759
- fix(windows): stop recursive deletes from retry-storming when a file is held open by @OrcaWin in #33722
- fix(orchestration): preserve task reset lineage per Run by @brennanb2025 in #28823
- fix(updater): pin stable fallback before downloading by @OrcaWin in #34076
- fix(ci): unblock main: split over-long files and pin scanner test file times by @Jinwoo-H in #34072
- perf(wsl-host): start booting only the focused WSL host early at launch (E9, replaces #33141) by @nwparker in #33924
- perf(renderer): keep modal blur with independent source regions by @OrcaWin in #33799
- test(daemon): import fresh daemon-init modules one at a time by @nwparker in #34085
- fix(skills): classify rejected cloud requests as transport, not filesystem by @L4XB in #20848
- fix(sidebar): let repository labels use available sidebar width by @aran159 in #28342
- fix(usage): price GPT-6.1 Sol in Codex cost estimates by @tianlrz in #29707
- perf(wsl-host): focus connects without first probing WSL when no bridge exists yet by @nwparker in #33110
- fix(runtime-environments): drop a recipe VM's rows and session partition when cleanup forgets its server by @nwparker in #34101
- fix(automations): settle a run on the agent's own done when its screen never reads idle by @nwparker in #34096
- test: remove 140 low-value cases and 49 suites by @OrcaWin in #34062
- fix(omp): stop finished subagents holding the pane on working and name child rows by @kiendle in #29263
- fix(terminal): save a woken terminal's first history as a full snapshot by @nwparker in #34060
- fix(main): share one window listener across overlapping requests to stop MaxListeners warnings by @nwparker in #33102
- fix(browser): delete a removed server's browser folder on the next start, not while loaded by @nwparker in #33280
- chore(process-host): drop the WSL hook relay launcher from the direct-import baseline by @nwparker in #34078
- fix(wsl-host): a clean watch or holder exit also opens the settle window (E9 follow-up) by @nwparker in #34063
- fix(wsl-host): no-boot connects stay quiet, and liveness recovery never boots (E9 follow-up) by @nwparker in #34093
- test: import mocked-module graphs one at a time after vi.mock by @nwparker in #34103
- feat(mobile): open PDFs from the file browser in Quick Look or the system viewer by @AmoabaKelvin in #33771
- chore(native-chat): delete the orphaned duplicate structured chat pane menu by @Jinwoo-H in #34086
- fix(terminal): keep legacy bash prompt dispatch out of OSC 133 command start after a DEBUG trap change by @mkjung in #29165
- perf(bench): measure startup memory and cold SSH latency by @OrcaWin in #33912
- fix(runtime): a restored host pane resumes its agent from the hook store, never replays the launch by @nwparker in #34054
- fix(mobile): recover terminal input lease on attach and preserve picked file names by @zhangxaochen in #32987
- fix(codex): show live usage on the active account row, including System default by @moonrailgun in #20842
- refactor(connector): shared core with Slack as its first adapter by @Jinwoo-H in #34088
- Stop hidden chats re-rendering on every tab change by @brennanb2025 in #34020
- fix(mobile): show the diff when tapping a changed file from a session by @AmoabaKelvin in #34073
- test: remove 68 low-value cases and 18 suites by @OrcaWin in #34112
- fix(terminal): a WSL bridge pane whose distro went away keeps its tab and cold-restores by @nwparker in #34095
- fix(browser): keep annotate session alive across iframe loads by @Brant-lzh in #24032
- fix(terminal): keep a brand-new remote pane's typing for the terminal it creates by @nwparker in #33859
- test(relay): wait for the relay to see the phone leave before the closed-basis confirm by @Jinwoo-H in #34117
- fix(orcad): use the app's bundled agent-browser driver for orca serve by @nwparker in #34111
- refactor(mobile): group native chat options and queued editing by @nwparker in #34074
- feat(connector): Slack-started agents can reply in their thread (orca connector reply, local only) by @Jinwoo-H in #33855
- fix(terminal): a background tab whose process exits closes as a process exit, not a user close by @nwparker in #34083
- feat(connector): Discord adapter on the shared connector core by @Jinwoo-H in #34100
- Unify Source Control action permissions and card layout by @brennanb2025 in #30449
- feat(wsl-host): start a WSL host's distro when one of its automations comes due (E9 B) by @nwparker in #33839
- test(connector): freeze the shipped connector schema and test upgrades from it by @Jinwoo-H in #34115
- test: remove 30 low-value cases and seven suites by @OrcaWin in #34120
- test(terminal): a pinned parked tab's process exit asks first, then closes as a pty-exit by @nwparker in #34121
- fix(ssh): move enabled SSH automations to the host's Orca server by @nwparker in #34044
- fix(connector): one turn id from the host's stamp everywhere by @Jinwoo-H in #33909
- feat(orchestration): add a Settings switch to turn worker heartbeats off by @brennanb2025 in #34070
- fix(wsl-host): a cold wake that loses orcad recovers by itself instead of leaving a dead pane by @nwparker in #33147
- fix(files): open host files outside workspaces for any client with terminal access by @nwparker in #33958
- fix(mobile): resume history sessions with desktop's resume and host rules by @AmoabaKelvin in #33943
- fix(terminal): keep ConPTY's viewport top through a width change by @nwparker in #34061
- refactor(connector): the desktop takes Discord and Linear conversations as well as Slack by @Jinwoo-H in #33927
- Keep cookie import visibly available before skill setup by @brennanb2025 in #34097
- Linux cookie import says when secret-tool is missing instead of blaming the keyring by @brennanb2025 in #34099
- test: extract WSL host connector fixture to restore lint by @OrcaWin in #34132
- Size tabs to titles and preserve floating panel drag space by @AmethystLiang in #34025
- test: remove 81 low-value cases and 12 suites by @OrcaWin in #34130
- fix(agents): launch Claude Agent Teams as plain orca on Orca servers by @nwparker in #34116
- fix(ssh): Stop and remove keeps an SSH host's managed server removed across reload and restart by @nwparker in #34107
- fix(web): a TUI copy the browser refuses offers a Copy button by @nwparker in #34135
- fix(editor): let desktop edit host files outside workspaces by @nwparker in #34119
- fix(runtime-environments): keep session partitions of saved servers the listing hides by @nwparker in #34134
- fix(session-tabs): keep the server's per-device tab pick on the tab the desktop shows by @nwparker in #34082
- fix(source-control): avoid Antigravity prompt limits on Windows by @nwparker in #34148
- fix(rate-limits): show agy's own error when the Antigravity usage read fails by @Jinwoo-H in #34106
- fix(antigravity): save an agy account whose credential has no id_token by @thefrikidude in #33580
- Refine lint performance and safe process execution by @OrcaWin in #34147
- fix(agent-status): keep Antigravity panes working until invoke_subagent helpers finish by @Jinwoo-H in #34128
- fix(mobile): match history sessions and scope paths with desktop's rules by @AmoabaKelvin in #33955
- test: load real modules before timed waits, and ratchet in-test vi.importActual by @nwparker in #34151
- test: remove 47 low-value cases and 13 suites by @OrcaWin in #34136
- Compact worktree project and host pickers with stacked details by @nwparker in #34098
- refactor: group shared remote runtime clients and capabilities by @nwparker in #34133
- Revert benchmark-only startup loading study (#33912) by @OrcaWin in #34162
- test: remove 294 low-value cases and 12 suites by @OrcaWin in #34156
- fix(connector): the Discord gateway sends queued posts, so its replies don't wait for the API to wake by @Jinwoo-H in #34131
- refactor(mobile): share agent child-row text and favicon domains with desktop by @AmoabaKelvin in #33962
- fix(mobile): show chat images stored on the host as thumbnails by @AmoabaKelvin in #33731
- feat(connector): each Slack app verified with its own signing secret at its own URL by @Jinwoo-H in #34125
- test: remove 368 low-value cases and 4 suites by @OrcaWin in #34157
- refactor(mobile): organize native chat prompts and permissions by @nwparker in #34189
- fix(source-control): fit local argv prompts to Windows and Linux limits by @bbingz in #34123
- build: serialize bundled guides one markdown line at a time by @brennanb2025 in #33712
- Restored floating editors share file edits with ordinary tabs by @brennanb2025 in #33617
- fix(native-chat): keep successful launches usable when tab lists lag by @brennanb2025 in #33620
- Honor browser preferences and modifiers for HTML preview links by @brennanb2025 in #33622
- fix(terminal): a slept pane wakes in its own folder, with its prompt on a fresh row by @nwparker in #34172
- Keep chat thinking before its answer across history loads by @brennanb2025 in #33628
- Codex restarts keep the configured command before a session is recorded by @brennanb2025 in #33629
- fix(agent-hooks): the WSL hook relay stays down while its distro is stopped (E9) by @nwparker in #34195
- perf(wsl): return orcad's startup compile memory with a malloc mmap threshold by @nwparker in #34187
- Keep same-machine folders with matching Git remotes in separate projects by @brennanb2025 in #32272
- fix(native-chat): keep the model an agent actually runs, not its startup report by @AmoabaKelvin in #32006
- fix(mobile): use desktop's merge gating and PR link rules in the PR panel by @AmoabaKelvin in #33982
- AI fix actions use the + menu's agent picker and remember chat or terminal by @brennanb2025 in #31310
- feat(orchestration): let users choose the worker heartbeat interval by @brennanb2025 in #34071
- fix: restore main typecheck after concurrent merges by @brennanb2025 in #34202
- test(accounts): cover the workspace-folder fallback for account-restart resume cwd by @nwparker in #34203
- fix(terminal): a WSL bridge pane that lost its distro keeps its session across a relaunch by @nwparker in #34200
- fix(wsl-host): uninstall and startup release WSL holders; a partial Remove keeps the host pending by @nwparker in #33843
- fix(mobile): prepare Create PR and the commit button with desktop's rules by @AmoabaKelvin in #34011
- fix(mobile): use desktop's check rules and fix-checks prompt in the PR panel by @AmoabaKelvin in #34014
- fix(terminal): copy from pi on a remote host reaches the viewer's clipboard by @nwparker in #34102
- fix(mobile): build chat approval and question cards with desktop's rules by @AmoabaKelvin in #33967
- fix(mobile): use desktop's setup config and trust rules when creating workspaces by @AmoabaKelvin in #33942
- fix(mobile): use desktop's PR lanes and status-dot rollup in the workspace list by @AmoabaKelvin in #33966
- fix(terminal): scope account restart metadata to its execution host by @nwparker in #34214
- refactor(shared): group native chat task-list evidence by @nwparker in #34226
- chore(terminal): log the WSL bridge exit verdict and how long the probe took by @nwparker in #34220
- fix(window): pump hidden-window frames from the renderer on Windows background launches by @nwparker in #34197
- fix(mobile): list Source Control changes with desktop's sections, order and row rules by @AmoabaKelvin in #34017
- fix(wsl): background file reads and watches never start a stopped WSL distro (E9) by @nwparker in #34222
- test: remove 262 low-value cases and 31 suites by @OrcaWin in #34161
- fix(mobile): use desktop's sort, colour, count, agent-row and delete rules in the workspace list by @AmoabaKelvin in #33995
- fix(mobile): use desktop's terminal paste, key and query-reply rules by @AmoabaKelvin in #33957
- fix(mobile): use desktop's terminal width, contrast and selection rules by @AmoabaKelvin in #33959
- fix(terminal): one tab agent icon rule for desktop and mobile by @AmoabaKelvin in #33963
- fix(mobile): answer multi-question asks like desktop and clear Claude's wait on phone answers by @AmoabaKelvin in #33968
- fix(terminal): closing a kept host-loss tab after a relaunch ends its history by @nwparker in #34205
- Share Cmd+J palette matching utilities by @AmethystLiang in #34252
- fix(browser): make orca set media --reduced-motion apply and reject unknown values by @AmoabaKelvin in #34253
- fix(runtime): keep terminal.send under the file-length limit by @brennanb2025 in #34256
- Stop opening a Google sign-in page every hour when agy is signed out by @Jinwoo-H in #34165
- Antigravity: show usage for a login Orca can't identify instead of "account changed" by @Jinwoo-H in #34159
- Antigravity: show a login with no quota as unavailable, not "Refresh failed" by @Jinwoo-H in #34163
- fix(wsl): close a WSL host's loopback listener once it idles out or its distro stops by @nwparker in #34046
- fix(browser): let Grab page element pick and track elements inside open shadow roots by @AmoabaKelvin in #34265
- fix(agents): keep OMP session titles when a turn finishes by @AmoabaKelvin in #34266
- fix(browser): paste the local clipboard into streamed browser pages by @AmoabaKelvin in #34269
- refactor(shared): organize native chat ask input owners by @nwparker in #34251
- fix(scripts): resolve pnpm when npx or npm run exports npm's own CLI by @nwparker in #34271
- fix(mobile): keep a renamed tab's name on mobile after the host restarts by @clayphi in #33743
- Reuse chat history snapshots across readers by @brennanb2025 in #34215
- fix(browser): scroll off-screen elements into view before agent clicks by @AmoabaKelvin in #34262
- test: remove 128 low-value cases and 22 suites by @OrcaWin in #34206
- fix(wsl): background Git and the roots catalog never start a stopped WSL distro (E9) by @nwparker in #34231
- fix(file-explorer): offer permanent delete when moving to Trash fails by @noripto in #33956
- fix(test): carry Error objects across the node-runtime vitest pool IPC by @maxmilian in #30079
- fix(wsl): keep a user's GLIBC_TUNABLES and delegate the launch-env wrapper by @nwparker in #34248
- fix(mobile): compare branches and show diffs with desktop's base-ref and whitespace settings by @AmoabaKelvin in #34038
- fix(mobile): open terminal urls and file paths with desktop's link detection by @AmoabaKelvin in #33964
- fix(app-icon): restore the sharp bundle icon on the Dock for packaged Classic macOS builds by @nwparker in #34094
- fix(i18n): use the product name "Finder" in Japanese reveal/open labels by @hiro0218 in #30081
- fix(browser): open target=_blank file links from a local page in an Orca tab by @nwparker in #34057
- fix(session-history): close other row action menus when opening one by @umi008 in #31801
- fix(i18n): resolve plugin-pack plurals with the pack's declared locale by @smwbev in #12505
- fix(mobile): show Retry on a stuck terminal tab while other tab recovery polls by @AmoabaKelvin in #34277
- fix(updater): apply the app-configured proxy to update checks by @nwparker in #34276
- fix(browser): focus newly opened image tabs by @hwantage in #34127
- fix(wsl): reap the bash stdio relay's cats before it exits by @nwparker in #34260
- test: remove 338 low-value cases and 28 suites by @OrcaWin in #34234
- fix(orchestration): stop calling unobserved worker input "submitted" by @innocarpe in #21453
- test: remove 56 low-value cases and five suites by @OrcaWin in #34268
- refactor: group repository source-control AI settings by @nwparker in #34278
- fix(opencode): give OpenCode 2 a private server only when another data dir holds the service port by @nwparker in #33784
- fix(browser): pass orca wait's --timeout through to agent-browser by @AmoabaKelvin in #34283
- fix(automations): show why a hook-review-blocked automation fails, keep it running, and stop stuck-tab pile-up by @nwparker in #33638
- fix(terminal): refuse non-finite mouse coordinates so scroll never sends NaN to the PTY by @Meapri in #23330
- test: remove 53 low-value cases and 8 suites by @OrcaWin in #34264
- fix(browser): deliver agent clicks and keys to pages that loaded while their pane was hidden by @AmoabaKelvin in #34291
- fix(agents): recognise OMP and Pi tabs from their rebranded session titles by @AmoabaKelvin in #34292
- fix(updater): skip IPC when the main window is destroyed by @innocarpe in #11567
- fix(browser): copy and cut from streamed browser pages to the local clipboard by @AmoabaKelvin in #34290
- feat: drag to reorder queued messages on desktop and phone by @brennanb2025 in #34026
- Keep Claude approval choices across model changes without freezing delivery by @brennanb2025 in #34031
- fix(browser): type text that starts with a dash literally instead of as an agent-browser option by @AmoabaKelvin in #34289
- refactor(shared): group native chat visual contracts by @nwparker in #34296
- fix(agents): stop showing a permission prompt for Pi/OMP sessions named "action required" by @AmoabaKelvin in #34294
- refactor: group shared native chat shell environment policy by @nwparker in #34301
- perf(native-chat): stop unrelated host status flips from rerendering every chat by @nwparker in #34300
- fix(wsl): close a WSL host channel with stdin EOF before killing wsl.exe by @nwparker in #34307
- fix(repos): remove a paired-server project while its server is unreachable by @nwparker in #34079
- test: remove 30 low-value cases and 11 suites by @OrcaWin in #34288
- docs(codex): explain wrapper scripts that force CODEX_HOME by @nwparker in #34319
- fix(wsl): say why a silent WSL guest command failed by @nwparker in #34304
- fix(ssh): keep the IME confirmation Enter from submitting the port-forward dialog by @nwparker in #34315
- docs: restore AGENTS.md reference docs under docs/agents-md-refs by @OrcaWin in #34322
- refactor: group shared native chat scope cache by @nwparker in #34314
- perf(native-chat): load the chat host and agent adapters on first use by @OrcaWin in #34318
- test: remove 53 low-value cases and eight suites by @OrcaWin in #34302
- ci(windows): rehearse the orcad template reseal over SignPath-signed binaries by @nwparker in #34316
- fix(orcad): materialize the app's agent-browser driver into the local slot by @nwparker in #34150
- feat(wsl): let an idle WSL distro stop once its server idle-exits by @nwparker in #33084
- perf(mobile): stop chat redraws per keystroke and page-wide row scans per scroll frame by @AmoabaKelvin in #34323
- ci: split busy hours in the runner demand report instead of failing by @OrcaWin in #34324
- ci: run the macOS computer-use smoke only for macOS-relevant changes by @OrcaWin in #34325
- test(wsl): make the bash relay reap test deterministic by @nwparker in #34329
- test: remove 20 low-value cases and a presentation suite by @OrcaWin in #34333
- fix(github): enqueue a merge-queue PR when the repo disables auto-merge by @innocarpe in #24327
- refactor: group shared native chat composer input by @nwparker in #34328
- Cookie import adds cookies without signing you out of sites by @brennanb2025 in #34113
- fix(test): stop Vitest failing green unit shards with EISDIR on directory stack frames by @OrcaWin in #34335
- test: disable commit/tag signing in release fixture repos by @Gldywn in #11793
- ci: retry transient 5xx responses in the runner demand report by @OrcaWin in #34337
- test(native-chat): close queued-message journal DB before fixture cleanup by @toodeceptive in #25478
- refactor: group repository settings composition by @nwparker in #34347
- ci(adhoc): start the 12-vCPU Mac packaging jobs after template qualification by @OrcaWin in #34327
- fix(scripts): scope the flaky-test ratchet to check:changed's --base merge base by @eatmoreduck in #33782
- test: remove 32 low-value cases and five suites by @OrcaWin in #34346
- fix(i18n): translate native notification copy and wait for i18n before the startup prompt by @nwparker in #34348
- ci: run the node-server Windows x64 lane on the free hosted windows-2022 runner by @OrcaWin in #34350
- fix(i18n): localize titles, bodies, and action labels for every contextual tour step by @5Hyeons in #12713
- test(wsl): hand the reap test's fake cat its real stdin by @nwparker in #34352
- fix(startup): load local worktrees before terminal restoration by @nwparker in #34331
- test: remove 17 low-value cases and six suites by @OrcaWin in #34359
- fix(projects): register a folder once when two adds race on a server by @nwparker in #34303
- fix(workspace-board): paired hosts keep their own custom status columns by @nwparker in #34362
- perf(test): read locale catalogs in the worker instead of inlining 11 MB per i18n import by @OrcaWin in #34361
- test: remove 66 low-value cases and four suites by @OrcaWin in #34370
- Revert "perf(test): read locale catalogs in the worker (#34361)" by @OrcaWin in #34371
- fix(wsl): start no running-distro read inside the stop settle window by @nwparker in #34372
- test: remove 35 low-value permission and search cases by @OrcaWin in #34375
- test: remove 44 low-value settings cases and four suites by @OrcaWin in #34379
- feat(quit): add Quit and Stop All Sessions to the app menu and tray by @seijikohara in #32153
- fix(wsl): re-read a settled exit only from a probe started after the window by @nwparker in #34374
- fix(kiro): support list-form agent hooks written by kiro-cli agent upgrade by @nwparker in #34385
- refactor: group shared native-chat session options by @nwparker in #34356
- test: remove 48 low-value cases and four suites by @OrcaWin in #34386
- fix(orchestration): resolve worker-start new-child/new-top-level targets without requiring a managed caller worktree by @nwparker in #34388
- docs: fix typos in the PR template by @ttrweb in #29692
- test: remove 18 low-value settings cases and an auth-warning suite by @OrcaWin in #34394
- fix(agent-dashboard): restore focus to the opener when the drawer closes by @nwparker in #34398
- refactor(mobile): group native chat tool transcript modules by @nwparker in #34399
- fix(terminal): highlight the active IME conversion range in the preedit by @akiya3 in #27903
- fix(mac): declare Contacts, Calendars and Reminders permissions for terminal tools by @nwparker in #34401
- fix(i18n): localize sidebar copy and correct Japanese mistranslations by @kojikojikojikoji in #28921
- test: remove 70 low-value cases and four suites by @OrcaWin in #34400
- fix(i18n): localize hosted review creation errors by @seijikohara in #33368
- refactor(mobile): group native chat visual and media modules by @nwparker in #34402
- fix(orchestration): trigger the orchestration skill for dispatched workers and stop heartbeat loops before worker_done by @nwparker in #34404
- docs(hibernation): describe per-pane reclaim and per-tab foreground protection by @bercedev in #33983
- docs(contributing): list the native toolchain and system libraries a first pnpm install needs by @younghwan91 in #31592
- test: remove 49 low-value summary, host-label and copy cases by @OrcaWin in #34407
- fix(terminal): detect Codex footer when shortcut help sits under the status row by @v01dstar in #24338
- fix(orchestration): drop the subshell wrapper from typed setup commands so zsh-autopair can't corrupt them by @mmarabel in #22537
- test: remove mock replays and redundant copy tests by @OrcaWin in #34411
- fix(editor): only let a line-start
<details>interrupt a paragraph by @fbartho in #19800 - fix(native-chat): show Codex compaction markers in transcripts by @erishforG in #14765
- fix(jcode): append Orca hooks to user-defined hook arrays in config.toml by @TheophileDiot in #33999
- fix(renderer): keep render-phase guards in state so discarded renders revert them by @nwparker in #34414
- refactor(renderer): group Jira task creation and summary modules by @nwparker in #34413
- fix(acp): add exit code/signal to ACP agent exit reason and file stderr as a log detail by @anmol0b in #33190
- docs(cli): document that terminal send --text writes control bytes verbatim by @bbingz in #14037
- fix(browser): keep annotation badges when a page updates its URL fragment while scrolling by @AmoabaKelvin in #34267
- fix(windows): probe fnm's real default alias dir for Node fallback by @iFwu in #11359
- fix(mobile): build the Source Control action sheet from desktop's menu rows by @AmoabaKelvin in #34047
- test: remove wrapper replay and catalog inventory suites by @OrcaWin in #34417
- fix(browser): keep the Annotate pick armed when a page rewrites its URL fragment by @AmoabaKelvin in #34423
- refactor(mobile): group native chat message presentation by @nwparker in #34424
- fix(browser): stop malformed localhost pages from freezing the new tab page probe by @AmoabaKelvin in #34427
- test: remove 81 wrapper replay and inventory tests by @OrcaWin in #34426
- refactor(mobile): group native chat row and turn presentation by @nwparker in #34430
- fix(native-chat): list an idle Claude chat's / commands from the account it will start on by @AmoabaKelvin in #34429
- test: remove 61 low-value runtime tests and five suites by @OrcaWin in #34431
- fix(mobile): use desktop's rules for chat tool rows, pending echoes and session option picks by @AmoabaKelvin in #33977
- test: remove 18 low-value runtime file and Jira tests by @OrcaWin in #34436
- refactor(pty): group IPC test harness and provider fixtures by @nwparker in #34440
- test: remove 25 low-value tests and redundant parity suite by @OrcaWin in #34443
- fix(mobile): use desktop's rules for queued messages, turn status, Stop and the chat composer by @AmoabaKelvin in #34000
- test: remove 20 low-value CLI and runtime tests by @OrcaWin in #34445
- test: remove 22 low-value CLI tests by @OrcaWin in #34448
- refactor: group Claude structured session lifecycle owners by @nwparker in #34449
- test: remove 47 low-value CLI and runtime tests by @OrcaWin in #34451
- feat(mobile): copy button on shell command rows in chat by @AmoabaKelvin in #34432
- fix(mermaid): keep flowchart labels readable on custom node fills by @AmoabaKelvin in #34452
- test: remove 43 low-value AppImage and CLI tests by @OrcaWin in #34465
- fix(native-chat): resolve /D:/ chat file links to the drive in Windows workspaces by @bbingz in #34367
- fix(scripts): read NUL-delimited Git paths so ratchets see non-ASCII test files by @blueDaydreaming725 in #34397
- fix(terminal): keep account-switch restarts of hidden Claude panes out of the live cap by @thefrikidude in #34403
- test(daemon): pin the sqlite3 prompt in the #13767 exec-replaced shell repro by @nwparker in #34468
- fix(i18n): translate the Claude account labels in switch toasts and dialogs by @nwparker in #34470
- test(e2e): skip contributor git hooks and signing when seeding fixture repos by @younghwan91 in #31591
- test(e2e): update four stale e2e specs to match intentional product changes by @SimonSQLML in #30115
- refactor: group shared native chat appearance settings by @nwparker in #34469
- test: remove 49 low-value renderer sync tests by @OrcaWin in #34473
- fix(mobile): show files named like constructor as plain text instead of failing diffs by @AmoabaKelvin in #34475
- Extract conversation switch foundations without activating them by @brennanb2025 in #34384
- fix(native-chat): resting chat skill checks share one capped Codex process per account by @brennanb2025 in https://github.com/stablyai/orca/pull/34349
- feat(mobile): light and dark themes with desktop's palettes by @AmoabaKelvin in https://github.com/stablyai/orca/pull/34217
- fix(notifications): keep Windows notification history clicks working after the banner times out by @Jurassic-Knights in https://github.com/stablyai/orca/pull/33649
- fix(mobile): leave Agent Session History when you resume a session from it by @AmoabaKelvin in https://github.com/stablyai/orca/pull/34485
- test: remove 64 low-value file, terminal and language tests by @OrcaWin in https://github.com/stablyai/orca/pull/34482
- refactor(shared): group native chat notice presentation by @nwparker in https://github.com/stablyai/orca/pull/34481
- test: remove 69 low-value syntax, script, policy and chat tests by @OrcaWin in https://github.com/stablyai/orca/pull/34497
- perf(notebook): skip re-rendering unchanged cell outputs while typing by @OrcaWin in https://github.com/stablyai/orca/pull/34334
- refactor: group shared native-chat empty-state copy by @nwparker in https://github.com/stablyai/orca/pull/34503
- Revert "Size tabs to titles and preserve floating panel drag space" by @AmethystLiang in https://github.com/stablyai/orca/pull/34506
- test: remove 47 low-value tests and three redundant suites by @OrcaWin in https://github.com/stablyai/orca/pull/34505
- Change wording from 'low value' to 'negative value' by @nwparker in https://github.com/stablyai/orca/pull/34507
- fix(orchestration): settled workers stop reading resting slash lists by @brennanb2025 in https://github.com/stablyai/orca/pull/34342
- fix(windows): delete again succeeds after a held file is released by @brennanb2025 in https://github.com/stablyai/orca/pull/34058
- Warn before closing an active native chat by @brennanb2025 in https://github.com/stablyai/orca/pull/34236
- Show an unacknowledged Claude message once after reopening by @brennanb2025 in https://github.com/stablyai/orca/pull/34355
- test: remove duplicate real-time WSL hook relay stop-settle test by @OrcaWin in https://github.com/stablyai/orca/pull/34510
- fix: finish admitted terminal prompts after sender disconnects by @brennanb2025 in https://github.com/stablyai/orca/pull/34373
- fix(editor): Copy Remote URL links to the code the workspace is on, with the selected line range by @sojiro-o in https://github.com/stablyai/orca/pull/33597
- test: remove 134 redundant tests by @OrcaWin in https://github.com/stablyai/orca/pull/34511
- fix(ports): attribute listeners through workspace symlinks by @Zrzzzz in https://github.com/stablyai/orca/pull/33730
- Skip command history when stopping ordinary chat replies by @brennanb2025 in https://github.com/stablyai/orca/pull/34320
- fix: keep startup prompts usable during agent restore by @brennanb2025 in https://github.com/stablyai/orca/pull/30978
- test(native-chat): cover mixed drops through question submission by @brennanb2025 in https://github.com/stablyai/orca/pull/33632
- refactor: group shared native-chat upgrade-tip audience by @nwparker in https://github.com/stablyai/orca/pull/34509
- fix(codex): keep the Codex app's bundled plugins in Orca-managed homes by @nwparker in https://github.com/stablyai/orca/pull/33621
- fix(ssh): start a stopped managed server whose recycled PID hid it on hosts without ps by @nwparker in https://github.com/stablyai/orca/pull/34519
- fix(gitlab): preserve MR pagination when totals are missing by @brennanb2025 in https://github.com/stablyai/orca/pull/34171
- fix(tasks): let Linear section headers collapse and expand by @brennanb2025 in https://github.com/stablyai/orca/pull/34173
- Correct GitLab MR checks for failed and manual pipelines by @brennanb2025 in https://github.com/stablyai/orca/pull/34176
- Keep working GitLab hosts when another login fails by @brennanb2025 in https://github.com/stablyai/orca/pull/34184
- fix(github-project): show linked PRs and sub-issue progress by @brennanb2025 in https://github.com/stablyai/orca/pull/34185
- fix(tasks): keep preset highlights in sync with filters by @brennanb2025 in https://github.com/stablyai/orca/pull/34216
- test: remove 150 low-value tests by @OrcaWin in https://github.com/stablyai/orca/pull/34520
- fix(automations): keep a desktop automation's dispatch token off a runtime host's create by @nwparker in https://github.com/stablyai/orca/pull/34525
- Native chat tabs can hand off work from their right-click menu by @brennanb2025 in https://github.com/stablyai/orca/pull/34504
- Withhold virtual review tabs from mobile sessions by @AmethystLiang in https://github.com/stablyai/orca/pull/34254
- Stop host status changes from rebuilding the sidebar workspace list by @brennanb2025 in https://github.com/stablyai/orca/pull/34500
- test: remove 260 low-value tests by @OrcaWin in https://github.com/stablyai/orca/pull/34535
- fix(chat): open chat name settings from naming failures by @AmethystLiang in https://github.com/stablyai/orca/pull/34533
- build(runtime): use Node 24 for the server, preserve older host compatibility by @OrcaWin in https://github.com/stablyai/orca/pull/34177
- feat(wsl): note why an idle distro stays held, and fail the holder's scan closed by @nwparker in https://github.com/stablyai/orca/pull/34534
- test: remove 113 low-value tests by @OrcaWin in https://github.com/stablyai/orca/pull/34541
- feat(editor): VS Code markdown highlighting and sticky headings in source mode by @nwparker in https://github.com/stablyai/orca/pull/34537
- Lint: flag store selectors that subscribe to the whole host-status map by @brennanb2025 in https://github.com/stablyai/orca/pull/34517
- test(wsl): stop the bash bridge flood test re-concatenating every chunk by @OrcaWin in https://github.com/stablyai/orca/pull/34524
- feat(browser): install Chrome extensions from the Web Store into Orca's browser by @AmoabaKelvin in https://github.com/stablyai/orca/pull/30940
- ci(node-server): run PR and scheduled qualification on free hosted runners by @OrcaWin in https://github.com/stablyai/orca/pull/34560
- fix(sidebar): remove Claude subagent-view eye indicator by @OrcaWin in https://github.com/stablyai/orca/pull/34558
- feat(mobile): support the iPhone Duo folded and unfolded, with controls in its side status bar by @AmoabaKelvin in https://github.com/stablyai/orca/pull/34484
- refactor(shared): group native chat transcript work-run owners by @nwparker in https://github.com/stablyai/orca/pull/34528
- ci: run off-critical-path PR jobs on free GitHub-hosted runners by @OrcaWin in https://github.com/stablyai/orca/pull/34566
- Show Orca publishing guidance only when the host has it on by @Jinwoo-H in https://github.com/stablyai/orca/pull/34547
- Make context and tab menus compact and native-style by @nwparker in https://github.com/stablyai/orca/pull/34543
- fix(updater): accept the supervised serve's other spelling of its profile path by @nwparker in https://github.com/stablyai/orca/pull/34570
- ci: stop publishing the pnpm store from GitHub-hosted runners by @OrcaWin in https://github.com/stablyai/orca/pull/34588
- ci: warm GitHub-hosted runner caches and drop the serve-switch installer cache by @OrcaWin in https://github.com/stablyai/orca/pull/34576
- test(wsl): find the chat lane's claude on the guest PATH, with a Windows-side decoy by @nwparker in https://github.com/stablyai/orca/pull/34551
- refactor: group native chat context usage by @nwparker in https://github.com/stablyai/orca/pull/34595
- test(wsl-host): native chat on a WSL host through the fake transport, including a stopped distro by @nwparker in https://github.com/stablyai/orca/pull/34573
- ci: run hourly and daily dev builds on free hosted runners by @OrcaWin in https://github.com/stablyai/orca/pull/34585
- fix(cli): help lists only the flags each command actually takes by @nwparker in https://github.com/stablyai/orca/pull/34598
- test: remove 269 low-value cases and 26 suites by @OrcaWin in https://github.com/stablyai/orca/pull/34584
- ci: move secondary, scheduled and contract workflows to GitHub-hosted runners by @OrcaWin in https://github.com/stablyai/orca/pull/34568
- fix(i18n): localize browser history copy by @AmethystLiang in https://github.com/stablyai/orca/pull/34609
- feat(wsl): internal distro allowlist that keeps WSL execs out of other distros on shared test boxes by @nwparker in https://github.com/stablyai/orca/pull/34539
- ci: run mobile main tests on hosted ubuntu-24.04-arm by @OrcaWin in https://github.com/stablyai/orca/pull/34611
- fix(plugins): reject locale ids Intl cannot parse by @smwbev in https://github.com/stablyai/orca/pull/12533
- fix(wsl): refuse Windows drive folders on a WSL host, offer Add on this computer by @nwparker in https://github.com/stablyai/orca/pull/34530
- fix(source-control): decode Kimi generated text by selected format by @brennanb2025 in https://github.com/stablyai/orca/pull/34237
- test: remove two load-dependent CI flakes (docker Git budget, catch-up deadline) by @nwparker in https://github.com/stablyai/orca/pull/34613
- test(wsl-host): type into the WSL host terminal only after its shell prompt by @nwparker in https://github.com/stablyai/orca/pull/34607
- ci: sweep caches on idle non-main branches by @OrcaWin in https://github.com/stablyai/orca/pull/34605
- chore(wsl): require the allowlist check in any file that hand-builds a wsl.exe exec by @nwparker in https://github.com/stablyai/orca/pull/34615
- fix(i18n): localize the rest of the source control dropdown by @smwbev in https://github.com/stablyai/orca/pull/34145
- refactor: group session launch failure timestamp by @nwparker in https://github.com/stablyai/orca/pull/34602
- test: remove 76 low-value cases and three suites by @OrcaWin in https://github.com/stablyai/orca/pull/34612
- fix(i18n): truncate Session History scope labels in narrow sidebar by @OrcaWin in https://github.com/stablyai/orca/pull/34597
- fix(skills): force English git messages in copied POSIX skill install commands by @OrcaWin in https://github.com/stablyai/orca/pull/34599
- fix(i18n): localize GitHub project view errors and states by @OrcaWin in https://github.com/stablyai/orca/pull/34621
- fix(native-chat): list OMP skills in the / menu as /skill: by @pandudpn in https://github.com/stablyai/orca/pull/31999
- perf(wsl): stop the idle profile-state writer thread on WSL hosts by @nwparker in https://github.com/stablyai/orca/pull/34545
- test(e2e): fake WSL connector reports a stopped distro as distro-stopped, as production does by @nwparker in https://github.com/stablyai/orca/pull/34624
- ci: keep Git compatibility on Blacksmith by @OrcaWin in https://github.com/stablyai/orca/pull/34625
- refactor: group native chat turn presentation by @nwparker in https://github.com/stablyai/orca/pull/34629
- feat(plugins): allow language packs to declare a native display name by @bbingz in https://github.com/stablyai/orca/pull/13140
- Fix default-agent action sizing for translated labels by @gentslava in https://github.com/stablyai/orca/pull/34460
- fix(i18n): distinguish Korean workspace and worktree labels by @hjKim1597 in https://github.com/stablyai/orca/pull/24769
- fix(i18n): improve Korean disabled-state labels by @RyuWoong in https://github.com/stablyai/orca/pull/34155
- fix(i18n): use whole count sentences instead of appending English 's' in JSX by @OrcaWin in https://github.com/stablyai/orca/pull/34622
- fix(i18n): interpolate the settings-search empty-state query instead of concatenating translated fragments by @selenehyun in https://github.com/stablyai/orca/pull/19693
- fix(integrations): stop treating any "already" failure as a successful issue/MR close or reopen by @zanmlakar in https://github.com/stablyai/orca/pull/28777
- fix(i18n): localize keyboard shortcut titles, groups, and filters by @OrcaWin in https://github.com/stablyai/orca/pull/34610
- fix(i18n): localize desktop Setup terminal titles by @abruption in https://github.com/stablyai/orca/pull/28602
- fix(i18n): localize source control count and force-push tooltips by @OrcaWin in https://github.com/stablyai/orca/pull/34639
- fix(i18n): translate 229 missing Simplified Chinese UI strings by @Aboysky in https://github.com/stablyai/orca/pull/34478
- refactor: group native chat live presentation by @nwparker in https://github.com/stablyai/orca/pull/34638
- test: remove 19 low-value cases and three suites by @OrcaWin in https://github.com/stablyai/orca/pull/34628
- fix(i18n): select whole count sentences at twelve more call sites by @smwbev in https://github.com/stablyai/orca/pull/27974
- fix(i18n): localize editor context menu, diagnostics upload dialog and slash-command descriptions by @OrcaWin in https://github.com/stablyai/orca/pull/34641
- fix(sidebar): open retained agent rows whose exact pane still has a live PTY by @xiayuqin1 in https://github.com/stablyai/orca/pull/20804
- fix(i18n): render revised UI copy and fail on fallback drift by @OrcaWin in https://github.com/stablyai/orca/pull/34642
- ci: narrow churny cache keys and move PR-local cache saves to main by @OrcaWin in https://github.com/stablyai/orca/pull/34600
- ci: keep hourly and daily macOS builds on Blacksmith by @OrcaWin in https://github.com/stablyai/orca/pull/34640
- fix(i18n): translate the main-process startup and recovery dialogs by @OrcaWin in https://github.com/stablyai/orca/pull/34608
- fix(i18n): give each reused localization key its own sentence by @OrcaWin in https://github.com/stablyai/orca/pull/34648
- fix(runtime): re-list a repo's worktrees when repo.update changes visibility by @younghwan91 in https://github.com/stablyai/orca/pull/32783
- fix(daemon): read the PTY process table without blocking on terminal kill and resize by @nwparker in https://github.com/stablyai/orca/pull/34603
- fix(wsl): keep the revision conflict when its listener throws, and drop a stale backoff bypass by @nwparker in https://github.com/stablyai/orca/pull/34645
- fix(wsl-host): chat and text generation never run a Windows-side agent CLI on a WSL host by @nwparker in https://github.com/stablyai/orca/pull/34590
- test: remove 45 low-value cases and two suites by @OrcaWin in https://github.com/stablyai/orca/pull/34646
- fix: dismiss chat naming error card before opening settings by @AmethystLiang in https://github.com/stablyai/orca/pull/34655
- fix(i18n): translate missing ko/ja/es/fr/pt UI strings by @OrcaWin in https://github.com/stablyai/orca/pull/34643
- fix(i18n): standardize Simplified Chinese product terminology by @ansonlotiniat in https://github.com/stablyai/orca/pull/15464
- fix(wsl): background repo probes, PR refresh and worktree scans never start a stopped distro (E9) by @nwparker in https://github.com/stablyai/orca/pull/34632
- fix(daemon): roll the daemon-side terminal fixes since v1.4.241 into a fresh v53 daemon by @Jinwoo-H in https://github.com/stablyai/orca/pull/34627
- chore(ratchet): gate event-loop-blocking calls in the daemon, PTY and orcad code by @nwparker in https://github.com/stablyai/orca/pull/34614
- test(pty): scope the group-reap test's ps to its own PTY by @nwparker in https://github.com/stablyai/orca/pull/34669
- fix(runtime): accept Muse's composer when the voice-input label is absent by @j33pia in https://github.com/stablyai/orca/pull/25695
- test(native-chat): name the stalled step in the live-history watcher test by @nwparker in https://github.com/stablyai/orca/pull/34663
- test(orcad): wait on the launcher stub's markers instead of fixed 5 s windows by @nwparker in https://github.com/stablyai/orca/pull/34656
- test(sqlite): fix Node 26 node-next-compat SQLite failures by @OrcaWin in https://github.com/stablyai/orca/pull/34661
- ci: run relay integration on a free hosted runner by @OrcaWin in https://github.com/stablyai/orca/pull/34666
- test(wsl): prove Codex and Grok chat inside the distro in the real-WSL lane by @OrcaWin in https://github.com/stablyai/orca/pull/34620
- test: remove 70 low-value test cases by @OrcaWin in https://github.com/stablyai/orca/pull/34665
- ci: split the layout oracle window scenarios across two shards by @OrcaWin in https://github.com/stablyai/orca/pull/34671
- ci: seed hosted Linux packaging and mobile bundle caches on main, and stop PR-local saves by @OrcaWin in https://github.com/stablyai/orca/pull/34672
- ci(mac): fail the packaging step when overlapped notarization throws by @OrcaWin in https://github.com/stablyai/orca/pull/34658
- ci(adhoc): package Mac architectures on 6-vCPU runners by @OrcaWin in https://github.com/stablyai/orca/pull/34673
- ci: run operation-count performance contracts on hosted runners by @OrcaWin in https://github.com/stablyai/orca/pull/34668
- refactor: group native chat text presentation by @nwparker in https://github.com/stablyai/orca/pull/34647
- ci: restore main's Vitest transform cache in PR unit shards by @OrcaWin in https://github.com/stablyai/orca/pull/34512
- fix(dsh): pin --backend=dsh when resuming DSH sessions by @jutaz in https://github.com/stablyai/orca/pull/27949
- perf(editor): reuse model owner keys in closed-tab cleanup by @nwparker in https://github.com/stablyai/orca/pull/34691
- test: remove 49 low-value test cases by @OrcaWin in https://github.com/stablyai/orca/pull/34678
- docs: record which CI jobs stay on Blacksmith and why by @OrcaWin in https://github.com/stablyai/orca/pull/34685
- feat(terminal): seed MacPorts /opt/local into the packaged macOS PATH when port is installed by @hyein-cbio in https://github.com/stablyai/orca/pull/20146
- chore(i18n): gate unreferenced catalog keys in the extraction check and retire 1,644 of them by @smwbev in https://github.com/stablyai/orca/pull/22056
- fix(cli): strip terminal control sequences from Linear text in CLI output by @SamuelAdigos in https://github.com/stablyai/orca/pull/31677
- perf(editor): stop rank-only worktree patches and full-state copies from driving owner sweeps by @nwparker in https://github.com/stablyai/orca/pull/34705
- Revert "Keep same-machine folders with matching Git remotes in separate projects (#32272)" by @brennanb2025 in https://github.com/stablyai/orca/pull/34662
- fix(terminal): answer ConPTY startup DA1 before stream attachment by @LeonYew-Ley in https://github.com/stablyai/orca/pull/34466
- fix(runtime): add opt-in agentWait to worktree ps agent rows by @ggbdpq in https://github.com/stablyai/orca/pull/24142
- fix(i18n): resolve count strings with each language's plural rules by @OrcaWin in https://github.com/stablyai/orca/pull/34693
- fix(floating-workspace): open agent shortcuts in the focused floating panel by @Gldywn in https://github.com/stablyai/orca/pull/23211
- test: remove 78 low-value cases and four entire suites by @OrcaWin in https://github.com/stablyai/orca/pull/34687
- fix(cli): show help for bare command groups instead of 'Unknown command' by @Ehsan-hash in https://github.com/stablyai/orca/pull/34502
- fix(native-chat): restore image previews in terminal-backed Chat by @lurunzi in https://github.com/stablyai/orca/pull/22328
- Fix Claude rewind before the first prompt by @brennanb2025 in https://github.com/stablyai/orca/pull/34239
- Clarify automation prechecks and safe folder workspace removal by @brennanb2025 in https://github.com/stablyai/orca/pull/34523
- fix(onboarding): complete default-agent setup for No agent by @brennanb2025 in https://github.com/stablyai/orca/pull/31463
- The + menu can start a "(CLI)" agent as a chat by @brennanb2025 in https://github.com/stablyai/orca/pull/34587
- Native chat tabs show Hand Off in their top-right header, like terminals by @brennanb2025 in https://github.com/stablyai/orca/pull/34544
- Fix broken Claude rewind test import by @nwparker in https://github.com/stablyai/orca/pull/34721
- fix(ipc): refuse unpinned file:// senders for browser and clipboard IPC by @nwparker in https://github.com/stablyai/orca/pull/34710
- ci: run terminal perf on demand only, on a hosted runner by @OrcaWin in https://github.com/stablyai/orca/pull/34726
- fix(orchestration): let the owning Run address a Dispatch after its assignee binds a child Run by @lorenzozanee in https://github.com/stablyai/orca/pull/24974
- ci: run advisory e2e lanes on free hosted runners by @OrcaWin in https://github.com/stablyai/orca/pull/34725
- Keep agent handoff confirmations linked to their workspace by @AmethystLiang in https://github.com/stablyai/orca/pull/34722
- Fix incoming sidebar host headers being covered by sticky groups by @OrcaWin in https://github.com/stablyai/orca/pull/34751
- perf(i18n): ship only main-process strings in the main bundle by @OrcaWin in https://github.com/stablyai/orca/pull/34711
- fix: keep identifier casing locale-independent (Turkish) by @OrcaWin in https://github.com/stablyai/orca/pull/34709
- feat(i18n): add Traditional Chinese (zh-Hant) UI locale by @oahsiao in https://github.com/stablyai/orca/pull/29795
- perf(native-chat): memoize file-link context per chat on its resolver inputs by @nwparker in https://github.com/stablyai/orca/pull/34755
- docs: fix dead Goose and Continue quickstart links by @yzxcj797 in https://github.com/stablyai/orca/pull/14574
- fix(github): count gh pr and issue commands against the GraphQL rate limit by @zanmlakar in https://github.com/stablyai/orca/pull/28778
- feat(editor): detect the language of extensionless scripts from their shebang by @jsandai in https://github.com/stablyai/orca/pull/25055
- fix: bound local iteration checks and show live progress by @OrcaWin in https://github.com/stablyai/orca/pull/34700
- fix(mobile): show pairing progress and errors without camera access by @OrcaWin in https://github.com/stablyai/orca/pull/34739
- perf(mobile): keep terminal backlog draining linear by @OrcaWin in https://github.com/stablyai/orca/pull/34741
- fix(mobile): release cancelled relay stream captures immediately by @OrcaWin in https://github.com/stablyai/orca/pull/34745
- perf(mobile): pause native-chat turn clocks in background by @OrcaWin in https://github.com/stablyai/orca/pull/34746
- fix(github): drop redundant is:pr from gh pr list search so private repos list PRs with GitHub App (ghu_) tokens by @bbingz in https://github.com/stablyai/orca/pull/34633
- fix(i18n): use port-status wording for the live-ports zh-CN label by @Aboysky in https://github.com/stablyai/orca/pull/34670
- feat(editor): highlight CUDA C and C++ files (.cu, .cuh) by @innocarpe in https://github.com/stablyai/orca/pull/21384
- perf(native-chat): skip session-bridge reconcile for rank-only worktree patches by @nwparker in https://github.com/stablyai/orca/pull/34781
- feat(i18n): add Russian UI language by @OrcaWin in https://github.com/stablyai/orca/pull/34717
- fix(mobile): preserve dictation across page replacement by @OrcaWin in https://github.com/stablyai/orca/pull/34762
- fix(mobile): preserve Android Back after native screen handoff by @OrcaWin in https://github.com/stablyai/orca/pull/34766
- fix(mobile): discard native picks after page teardown by @OrcaWin in https://github.com/stablyai/orca/pull/34760
- fix(mobile): delete cache copies from refused file selections by @OrcaWin in https://github.com/stablyai/orca/pull/34772
- docs(usage-tracking): say Orca fetches usage over the network by @DehPython in https://github.com/stablyai/orca/pull/27318
- test: remove 29 low-value notification and diagnostic cases by @OrcaWin in https://github.com/stablyai/orca/pull/34703
- fix(mobile): release queued inbound frames after transport teardown by @OrcaWin in https://github.com/stablyai/orca/pull/34777
- fix(mobile): cancel superseded shell download flows by @OrcaWin in https://github.com/stablyai/orca/pull/34780
- feat(wsl-host): point the WSL chat refusal at adding the distro as a WSL host by @nwparker in https://github.com/stablyai/orca/pull/34804
- feat(i18n): add Turkish UI language by @OrcaWin in https://github.com/stablyai/orca/pull/34718
- docs(cli): document terminal read --json result fields and cursor roles by @bbingz in https://github.com/stablyai/orca/pull/13173
- feat(native-chat): show the full date and time when hovering a message timestamp by @VictorVow in https://github.com/stablyai/orca/pull/32051
- fix(terminal): keep keys typed into a remounted remote pane before it re-attaches by @OrcaWin in https://github.com/stablyai/orca/pull/34630
- docs: add Windows troubleshooting entry for RAM lost to process-leaking kernel drivers by @YU-YongGeun in https://github.com/stablyai/orca/pull/30519
- fix(mobile): stop repository requests for obsolete task searches by @OrcaWin in https://github.com/stablyai/orca/pull/34740
- perf(mobile): defer unopened terminal document allocation by @OrcaWin in https://github.com/stablyai/orca/pull/34743
- test(wsl): make the holder script tests wait on the holder, not the clock by @nwparker in https://github.com/stablyai/orca/pull/34814
- fix(terminal): let file existence pick spaced path readings so prose cannot hide a path by @Jinwoo-H in https://github.com/stablyai/orca/pull/34281
- Land the WSL project mover dark (merges only after verify-15b, the flag-off audit and green CI) by @nwparker in https://github.com/stablyai/orca/pull/34059
- feat(wsl-host): a chat on a stopped WSL distro says so and offers Start by @nwparker in https://github.com/stablyai/orca/pull/34681
- perf(wsl): ride the liveness watch on the desktop's own bridged sockets by @nwparker in https://github.com/stablyai/orca/pull/34802
- perf(wsl-host): a call made while the host connects joins that connect by @nwparker in https://github.com/stablyai/orca/pull/33180
- Keep remote terminal input working after a failed viewport restore by @nwparker in https://github.com/stablyai/orca/pull/34716
- Revert iteration checks and custom Vitest selection by @OrcaWin in https://github.com/stablyai/orca/pull/34834
- fix(wsl-mover): hold an app update install while a WSL project move runs by @nwparker in https://github.com/stablyai/orca/pull/34813
- feat(wsl): serve saved WSL work behind a closed hosts gate (gate states, kill switch 1/2) by @nwparker in https://github.com/stablyai/orca/pull/34683
- fix(wsl-mover): undo's host checks fail closed with one deadline; label moved automations by @nwparker in https://github.com/stablyai/orca/pull/34686
- test(wsl): cover a WSL-host orcad and the desktop at different versions by @nwparker in https://github.com/stablyai/orca/pull/34792
- perf(browser): reuse metadata while restoring browser profiles by @OrcaWin in https://github.com/stablyai/orca/pull/34748
- test: remove 36 low-value capability, schema and config cases by @OrcaWin in https://github.com/stablyai/orca/pull/34708
- fix: prevent setup command truncation during shell startup by @Eotel in https://github.com/stablyai/orca/pull/25820
- fix(worktrees): finish a delete Git left half-done on macOS and Linux by @anmol0b in https://github.com/stablyai/orca/pull/33209
- fix(fonts): bump Geist to v1.8.2 so lowercase omega no longer renders as capital Omega by @shichen35 in https://github.com/stablyai/orca/pull/29315
- docs(readme): add Russian README and refresh Turkish links by @OrcaWin in https://github.com/stablyai/orca/pull/34856
- Fix copying from Codex started manually in remote shells by @nwparker in https://github.com/stablyai/orca/pull/34715
- docs: fix README "sponsored" typo and drop stale release-rc.yml cron note by @Grit03 in https://github.com/stablyai/orca/pull/14569
- feat(wsl-mover): D3a-2 move status line on WSL host rows (dark) by @nwparker in https://github.com/stablyai/orca/pull/34676
- Preserve WSL Codex question and child completion status by @nwparker in https://github.com/stablyai/orca/pull/34724
- fix(agents): use a Qoder icon that stays visible in dark mode by @5unnyWind in https://github.com/stablyai/orca/pull/29038
- docs(cli): say orchestration check --peek and --all cannot drain a mailbox by @gum798 in https://github.com/stablyai/orca/pull/19161
- perf(github): preserve REST quota with immediate PR revalidation by @OrcaWin in https://github.com/stablyai/orca/pull/34759
- perf(github): reuse participant profiles during mention enrichment by @OrcaWin in https://github.com/stablyai/orca/pull/34771
- feat(wsl-mover): restore the host's browser link before a move, else say logins stay behind by @nwparker in https://github.com/stablyai/orca/pull/33086
- feat(editor): syntax highlighting for Glimmer .gjs/.gts files by @albarracin-jorge in https://github.com/stablyai/orca/pull/13236
- chore: remove remaining Vitest patch by @OrcaWin in https://github.com/stablyai/orca/pull/34878
- perf(space): omit unchanged editor drafts from companion updates by @OrcaWin in https://github.com/stablyai/orca/pull/34854
- Prioritize exact visited URLs over popular subpages by @AmethystLiang in https://github.com/stablyai/orca/pull/34583
- fix(session-search): read --since as an instant, whatever offset it carries by @agustin2606 in https://github.com/stablyai/orca/pull/28329
- feat(cli): add --branch to orca worktree create to name the Git branch by @1aifanatic in https://github.com/stablyai/orca/pull/26752
- Keep remote agent status in sync after completion and approvals by @nwparker in https://github.com/stablyai/orca/pull/34729
- fix(browser): restart Find when its native guest changes by @OrcaWin in https://github.com/stablyai/orca/pull/34738
- feat(settings): add Devin Desktop (formerly Windsurf) to the Open In Apps presets by @AntonioKL in https://github.com/stablyai/orca/pull/18868
- docs(orca-cli): explain terminal titles and the agents paneKey join by @innocarpe in https://github.com/stablyai/orca/pull/12813
- docs(orchestration): explain worker-stop processAction and terminal-close contract by @bbingz in https://github.com/stablyai/orca/pull/13198
- fix(ai-vault): keep post-delete list reads out of pre-delete scans by @kassdinzheng123 in https://github.com/stablyai/orca/pull/27468
- feat(browser): add Vivaldi as a Chromium cookie-import source by @dojineko in https://github.com/stablyai/orca/pull/11449
- fix(files): never open a remote binary as text, and never page one in to find out by @nwparker in https://github.com/stablyai/orca/pull/34877
- fix(electron): route companion Help actions to the main window by @OrcaWin in https://github.com/stablyai/orca/pull/34871
- feat(kimi): add K3 to the commit-message model picker by @LosEcher in https://github.com/stablyai/orca/pull/11386
- Open existing agent chats and retained panes from their rows by @brennanb2025 in https://github.com/stablyai/orca/pull/34650
- fix(managed-server): let a forced update or rollback cross mixed daemon generations by @nwparker in https://github.com/stablyai/orca/pull/34664
- fix: recover companion renderers on reopen after a crash by @OrcaWin in https://github.com/stablyai/orca/pull/34763
- fix(settings): show the default word separators as an editable value by @kazuki-hanai in https://github.com/stablyai/orca/pull/28336
- feat(editor): highlight Groovy files and Jenkinsfiles by @mackings in https://github.com/stablyai/orca/pull/26792
- feat(links): add "Copy file path" action to the link popover by @innocarpe in https://github.com/stablyai/orca/pull/21257
- fix(rate-limits): keep Claude OAuth credits through live statusline updates by @lurunzi in https://github.com/stablyai/orca/pull/29759
- fix(wsl-mover): a moved project's chat opens and answers here; a fenced terminal names its host by @nwparker in https://github.com/stablyai/orca/pull/34880
- fix: retire terminal previews with renderer documents by @OrcaWin in https://github.com/stablyai/orca/pull/34863
- fix(bitbucket): canonicalize ssh.bitbucket.org remotes in review links and Gitea detection by @ejunker in https://github.com/stablyai/orca/pull/30808
- feat(terminal): offer Close tab in the right-click menu of a single-pane terminal by @OriginalByteMe in https://github.com/stablyai/orca/pull/31815
- perf(renderer): retire model-catalog reconnect observers with removed hosts by @OrcaWin in https://github.com/stablyai/orca/pull/34865
- fix(remote-files): cap search replies, say when a diff is too large, and measure a 100 MB read on WSL by @nwparker in https://github.com/stablyai/orca/pull/34882
- perf(browser): bound completed command replay payload bytes by @OrcaWin in https://github.com/stablyai/orca/pull/34773
- feat: edit queued messages inline with the full chat composer by @brennanb2025 in https://github.com/stablyai/orca/pull/31180
- fix(wsl-mover): settle an interrupted move automatically, and hold the host's server update during a move by @nwparker in https://github.com/stablyai/orca/pull/34823
- Native chat: file: images and outside-workspace host images show and open on the chat's host by @brennanb2025 in https://github.com/stablyai/orca/pull/31781
- perf(browser): throttle idle guests between active operations by @OrcaWin in https://github.com/stablyai/orca/pull/34776
- feat(wsl): admit no new WSL host or move in serve-only (kill switch 2/2) by @nwparker in https://github.com/stablyai/orca/pull/34694
- fix(i18n): drop the dashboardPopout.terminal.closed key #34650 removed by @nwparker in https://github.com/stablyai/orca/pull/34914
- Keep automation sends working during phone terminal control by @brennanb2025 in https://github.com/stablyai/orca/pull/34675
- perf(renderer): cache structured chat presence by snapshot identity by @OrcaWin in https://github.com/stablyai/orca/pull/34774
- Preserve terminal exit queries across snapshot restore by @nwparker in https://github.com/stablyai/orca/pull/34723
- perf(renderer): hash drafts only for published Markdown sources by @OrcaWin in https://github.com/stablyai/orca/pull/34775
- fix(main): drop stray tr.json keys and split runtime-file-read-client under max-lines by @nwparker in https://github.com/stablyai/orca/pull/34929
- fix(export): cancel PDF work when requesting document retires by @OrcaWin in https://github.com/stablyai/orca/pull/34907
- fix: cancel cleanup scans with retired renderer documents by @OrcaWin in https://github.com/stablyai/orca/pull/34896
- test(e2e): retry the PTY write spy's main-process evaluates on transient CDP failures by @nwparker in https://github.com/stablyai/orca/pull/34912
- fix: retire automatic PR refresh with renderer documents by @OrcaWin in https://github.com/stablyai/orca/pull/34879
- feat(wsl): say WSL hosts are paused in serve-only (kill switch 3) by @nwparker in https://github.com/stablyai/orca/pull/34868
- fix: release dictation when renderer documents retire by @OrcaWin in https://github.com/stablyai/orca/pull/34886
- Target WSL skill install verification to the installed skill by @nwparker in https://github.com/stablyai/orca/pull/28750
- feat(i18n): add German UI language by @OrcaWin in https://github.com/stablyai/orca/pull/34917
- fix: retire WSL visibility with renderer documents by @OrcaWin in https://github.com/stablyai/orca/pull/34893
- fix(wsl-move): undo connects the WSL host after a relaunch, and startup heals a crash mid-pairing save by @nwparker in https://github.com/stablyai/orca/pull/33279
- fix(browser): release failed shared screencast joins by @OrcaWin in https://github.com/stablyai/orca/pull/34874
- fix(wsl-mover): ask before quitting while a WSL project move runs by @nwparker in https://github.com/stablyai/orca/pull/34860
- test(wsl): measure distro restart to first output for the WSL host and an old-bridge lower bound by @nwparker in https://github.com/stablyai/orca/pull/34864
- fix(diagnostics): append daemon and trace logs off the event loop by @nwparker in https://github.com/stablyai/orca/pull/34659
- fix(wsl-host): refuse Windows-only agent CLIs in terminal launches by @buf0-bot[bot] in https://github.com/stablyai/orca/pull/34674
- fix(codex): keep Codex history across WSL account switches by @nwparker in https://github.com/stablyai/orca/pull/34968
- fix(terminal): retire serializer claims with renderer documents by @OrcaWin in https://github.com/stablyai/orca/pull/34927
- fix(agents): re-list an SSH host's terminal agents when it reconnects by @nwparker in https://github.com/stablyai/orca/pull/35019
- test(wsl): break the WSL host restart into phases in the lane receipt by @nwparker in https://github.com/stablyai/orca/pull/35005
- fix(wsl-host): tell users how to fix a distro Orca can't host (D1c-1) by @nwparker in https://github.com/stablyai/orca/pull/33085
- fix(agent-session): a chat whose working folder was deleted says so, not that the CLI is missing by @nwparker in https://github.com/stablyai/orca/pull/35003
- test(wsl-mover): undo of an older move refuses while a newer one stands by @nwparker in https://github.com/stablyai/orca/pull/35033
- fix(wsl-host): Remove keeps a WSL host's server that another Orca on this computer shares (R39) by @nwparker in https://github.com/stablyai/orca/pull/34699
- test(wsl): capture a CPU profile of orcad's startup after a distro restart by @nwparker in https://github.com/stablyai/orca/pull/35043
- perf(wsl): skip orcad version GC on reconnects once a pass left nothing behind by @nwparker in https://github.com/stablyai/orca/pull/35027
- Limit ordinary extension visible-tab captures by @OrcaWin in https://github.com/stablyai/orca/pull/34962
- perf(wsl): hold the distro alongside the read-only context probes by @nwparker in https://github.com/stablyai/orca/pull/35037
- perf(renderer): mirror modal overlays to body attributes instead of body:has() by @OrcaWin in https://github.com/stablyai/orca/pull/34932
- feat(files): play remote audio and video through one byte-range preview path by @nwparker in https://github.com/stablyai/orca/pull/35038
- fix(daemon): arm the shutdown deadline when idle retirement begins by @Totoro-qaq in https://github.com/stablyai/orca/pull/29407
- fix(wsl-host): refuse Windows-only agent CLIs in phone, resume and fork launches by @nwparker in https://github.com/stablyai/orca/pull/35016
- fix(build): explain missing mobile/ deps instead of failing build:mobile-web by @MrCry0 in https://github.com/stablyai/orca/pull/24325
- fix(wsl-move): say a moved project's host was kept for another Orca and needs re-adding by @nwparker in https://github.com/stablyai/orca/pull/34989
- fix(runtime): sleep and stop resolve project-group folder workspaces by @nwparker in https://github.com/stablyai/orca/pull/35082
- perf(browser): reuse native census during SSH partition teardown by @OrcaWin in https://github.com/stablyai/orca/pull/34979
- test(wsl-host): the last Orca on a WSL host tears down once the other is gone past the grace by @nwparker in https://github.com/stablyai/orca/pull/35086
- fix(browser): retire deleted profile extension action state by @OrcaWin in https://github.com/stablyai/orca/pull/34988
- perf(wsl): read the kernel, login home and platform in one exec by @nwparker in https://github.com/stablyai/orca/pull/35070
- Show a chat's saved permission mode while its agent isn't reporting by @brennanb2025 in https://github.com/stablyai/orca/pull/34546
- fix(browser): retire notifications with unloaded extensions by @OrcaWin in https://github.com/stablyai/orca/pull/35006
- perf(browser): await installed proxy policies during startup by @OrcaWin in https://github.com/stablyai/orca/pull/34977
- perf(orcad): qualify a bundled slot once per unchanged host instead of every launch by @nwparker in https://github.com/stablyai/orca/pull/35064
- fix(terminal): a WSL bridge pane keeps its session when its distro is booted again before the check by @nwparker in https://github.com/stablyai/orca/pull/35050
- perf(attention): index structured subject reads once per batch by @OrcaWin in https://github.com/stablyai/orca/pull/35088
- fix(startup): don't quit when a helper window closes before the main window opens by @nwparker in https://github.com/stablyai/orca/pull/35120
- test: remove 53 low-value emulator, parser and cursor cases by @OrcaWin in https://github.com/stablyai/orca/pull/34830
- feat(files): page a remote server's big folders in the explorer by @nwparker in https://github.com/stablyai/orca/pull/35115
- fix(terminal): a seen distro stop drops its cached boot id, and the relaunch test waits on the reap by @nwparker in https://github.com/stablyai/orca/pull/35133
- fix(source-control): flag failed git status reads instead of showing a clean workspace by @SamuelAdigos in https://github.com/stablyai/orca/pull/28079
- perf(terminal): release hidden WebGL canvases' drawing buffers by @OrcaWin in https://github.com/stablyai/orca/pull/34309
- fix(scripts): treat HTML src/href as one URL in README link checks by @blueDaydreaming725 in https://github.com/stablyai/orca/pull/34817
- fix(emulator): attach the exactly named iOS simulator before partial matches by @bbingz in https://github.com/stablyai/orca/pull/34884
- perf(terminal): a clean WSL bridge exit skips the boot-id read by @nwparker in https://github.com/stablyai/orca/pull/35138
- fix(scripts): keep changed-line checks scoped to exact filenames by @blueDaydreaming725 in https://github.com/stablyai/orca/pull/34786
- fix(wsl): a bridge pane keeps its folder when its distro stops while Orca is quit by @nwparker in https://github.com/stablyai/orca/pull/35141
- fix(orchestration): report invalid --takeover-legacy on ordinary Runs instead of demanding terminal re-auth by @hsusul in https://github.com/stablyai/orca/pull/34284
- fix(typecheck): report Bun version probe timeouts instead of 'Bun is missing' by @blueDaydreaming725 in https://github.com/stablyai/orca/pull/33762
- fix(wsl): refuse render-driven hook checks on a stopped distro instead of booting it by @nwparker in https://github.com/stablyai/orca/pull/35155
- perf(electron): target persisted UI broadcasts to main renderer by @OrcaWin in https://github.com/stablyai/orca/pull/34915
- fix(plugins): preserve successor panels after stale loads by @OrcaWin in https://github.com/stablyai/orca/pull/35021
- fix(wsl): never boot a terminated distro off a list taken while it was still stopping by @nwparker in https://github.com/stablyai/orca/pull/35143
- fix: release extension install prompts on renderer reload by @OrcaWin in https://github.com/stablyai/orca/pull/34931
- fix(browser): release SSH partitions without unrelated waits by @OrcaWin in https://github.com/stablyai/orca/pull/35024
- fix(terminal): retire reveal requests with their renderer by @OrcaWin in https://github.com/stablyai/orca/pull/35030
- fix(wsl): hide the sidebar setup-script card while the repo's distro is stopped by @nwparker in https://github.com/stablyai/orca/pull/35163
- fix(persistence): stop rewriting migrated Compact profiles on every load by @gentslava in https://github.com/stablyai/orca/pull/34736
- fix: retire extension frame listeners on document replacement by @OrcaWin in https://github.com/stablyai/orca/pull/34942
- fix(extensions): skip retired queued download requests by @OrcaWin in https://github.com/stablyai/orca/pull/35047
- chore(wsl): log what a Sleep's folder read saw for each terminal by @nwparker in https://github.com/stablyai/orca/pull/35150
- perf(github): look up refresh renderer owners by ID by @OrcaWin in https://github.com/stablyai/orca/pull/35015
- fix(browser): avoid loading sessions during cold partition cleanup by @OrcaWin in https://github.com/stablyai/orca/pull/35045
- perf(markdown): coalesce draft version hashing with publication by @OrcaWin in https://github.com/stablyai/orca/pull/35107
- fix(worktrees): expand a leading ~ in the worktree location setting by @bercedev in https://github.com/stablyai/orca/pull/35032
- fix(session): a managed host's old SSH tabs no longer replace its workspace on reload by @nwparker in https://github.com/stablyai/orca/pull/34901
- Retire WebAuthn account choosers with their requesting documents by @OrcaWin in https://github.com/stablyai/orca/pull/35132
- fix(extensions): release retired user gesture records by @OrcaWin in https://github.com/stablyai/orca/pull/35076
- perf(sidebar): switch workspaces on mouse press instead of click by @OrcaWin in https://github.com/stablyai/orca/pull/34594
- feat(wsl): stop an idle WSL hook relay so its distro can stop by @nwparker in https://github.com/stablyai/orca/pull/35173
- fix(browser): retire listeners when extension subframes disappear by @OrcaWin in https://github.com/stablyai/orca/pull/35011
- perf(skills): send sharing progress to its renderer by @OrcaWin in https://github.com/stablyai/orca/pull/35087
- feat(files): save a remote text file larger than one request by @nwparker in https://github.com/stablyai/orca/pull/35073
- fix(browser): retire CDP startup when its guest detaches by @OrcaWin in https://github.com/stablyai/orca/pull/35093
- perf(switch): do less work in the workspace-switch frame by @OrcaWin in https://github.com/stablyai/orca/pull/35185
- refactor: group native chat transcript retention by @nwparker in https://github.com/stablyai/orca/pull/34761
- fix(clipboard): preserve copy order through yielding validation by @OrcaWin in https://github.com/stablyai/orca/pull/35124
- feat(files): show images and PDFs from the byte-range preview path, local and remote by @nwparker in https://github.com/stablyai/orca/pull/35165
- fix(jira): release binary request transports after consumption by @OrcaWin in https://github.com/stablyai/orca/pull/35123
- fix(managed-server): let the update candidate name the daemon generations an old host cannot by @nwparker in https://github.com/stablyai/orca/pull/34908
- Preserve browser mount identity for canceled creation cleanup by @OrcaWin in https://github.com/stablyai/orca/pull/35131
- fix(browser): retire superseded DevTools opens by @OrcaWin in https://github.com/stablyai/orca/pull/35035
- fix(jira): retire deadline-owned transports when reads settle by @OrcaWin in https://github.com/stablyai/orca/pull/35127
- fix(mobile): give phone audio back when dictation stops, and fail clearly when iOS can't record by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35214
- Forget extension notifications after native delivery failure by @OrcaWin in https://github.com/stablyai/orca/pull/35134
- refactor: group native chat subagent transcript rules by @nwparker in https://github.com/stablyai/orca/pull/35200
- fix(dictation): show the no-model toast from Cmd+E, hold mode and the chat mic by @erishforG in https://github.com/stablyai/orca/pull/19185
- fix(mobile): keep dictated words through calls, busy taps and failed inserts, and say why dictation failed by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35216
- Split mobile native chat prompt controller by @AmethystLiang in https://github.com/stablyai/orca/pull/34244
- fix(mobile): show "Start a chat" for a just-started terminal Claude by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35219
- perf(switch): prewarm hovered and neighbor workspaces; coalesce held step keys by @OrcaWin in https://github.com/stablyai/orca/pull/35222
- fix(native-chat): name a chat start that failed preparing its launch, with the host error in Details by @nwparker in https://github.com/stablyai/orca/pull/35186
- fix(runtime): resolve folder workspaces wherever a command can be given one by @nwparker in https://github.com/stablyai/orca/pull/35223
- fix(mobile): handle invalid pairing links and start fresh for each invite by @nwparker in https://github.com/stablyai/orca/pull/31705
- fix(mobile): preserve Korean 10-Key live-input syllables by @nwparker in https://github.com/stablyai/orca/pull/31388
- fix(mobile): grey the queue's other controls while Clear all or Resume is on its way by @brennanb2025 in https://github.com/stablyai/orca/pull/29219
- refactor: give native chat readability one concrete owner by @nwparker in https://github.com/stablyai/orca/pull/35231
- Retire extension notifications after native body activation by @OrcaWin in https://github.com/stablyai/orca/pull/35139
- fix(speech): abort native model requests after stream failure by @OrcaWin in https://github.com/stablyai/orca/pull/35154
- perf(browser): group extension frame event delivery by @OrcaWin in https://github.com/stablyai/orca/pull/35079
- fix(browser): abort rejected Web Store downloads by @OrcaWin in https://github.com/stablyai/orca/pull/35158
- fix(mobile): keep the terminal reading position when resize snapshots overlap by @nwparker in https://github.com/stablyai/orca/pull/31350
- fix(mobile): suspend hidden and background terminal gestures by @nwparker in https://github.com/stablyai/orca/pull/31468
- fix(ssh): offer Remove from Orca for SSH workspaces this app cannot delete by @nwparker in https://github.com/stablyai/orca/pull/35271
- fix(computer-use): give each element its own index after browser tab compaction on Linux and Windows by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35272
- fix(mobile): index reusable bundle assets once per generation by @OrcaWin in https://github.com/stablyai/orca/pull/34789
- fix(mobile): skip queued generation stages after cancellation by @OrcaWin in https://github.com/stablyai/orca/pull/34809
- fix(mobile): recover host profile reads without discarding cached bundles by @OrcaWin in https://github.com/stablyai/orca/pull/34806
- fix(search): publish capped results without waiting for process exit by @OrcaWin in https://github.com/stablyai/orca/pull/34861
- fix(files): preserve WSL filenames in watcher snapshots by @OrcaWin in https://github.com/stablyai/orca/pull/34855
- fix(watchers): stop stat admission after the last listener leaves by @OrcaWin in https://github.com/stablyai/orca/pull/34870
- perf(explorer): bound deferred filesystem watch events by @OrcaWin in https://github.com/stablyai/orca/pull/34857
- perf(files): share Windows runtime watches by root by @OrcaWin in https://github.com/stablyai/orca/pull/34858
- @file mentions and Quick Open keep up with typing in large repositories by @brennanb2025 in https://github.com/stablyai/orca/pull/34820
- fix(native-chat): stop multi-agent Codex chats from bloating the journal by @AmethystLiang in https://github.com/stablyai/orca/pull/35226
- perf(files): skip generated churn before Windows tree refreshes by @OrcaWin in https://github.com/stablyai/orca/pull/34859
- Long chat replies stream with less stutter: parse each block once by @brennanb2025 in https://github.com/stablyai/orca/pull/34821
- Release dead host-frame wrappers and avoid registry-wide navigation scans by @OrcaWin in https://github.com/stablyai/orca/pull/35275
- perf(quick-open): preserve scans across worktree metadata updates by @OrcaWin in https://github.com/stablyai/orca/pull/34838
- fix(browser): stop an abandoned orca eval from blocking later commands on its page by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35284
- Keep saved folder workspaces when their group has no folder by @brennanb2025 in https://github.com/stablyai/orca/pull/34652
- Offer Open as Folder before running Git for plain folders by @brennanb2025 in https://github.com/stablyai/orca/pull/34660
- fix(dictation): show a plain sentence when desktop dictation is busy on another device by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35269
- fix(agents): preserve Kanban verdicts and AI Vault monitoring by @brennanb2025 in https://github.com/stablyai/orca/pull/34649
- fix(mobile): explain dictation setup before asking for the microphone by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35248
- fix(watcher): prune nested ignored dirs on macOS and bound the flush fan-out by @nwparker in https://github.com/stablyai/orca/pull/12067
- Reuse equations while chat replies stream by @brennanb2025 in https://github.com/stablyai/orca/pull/34819
- fix(preflight): skip probing agents disabled in Settings by @Pr1p in https://github.com/stablyai/orca/pull/34832
- fix(browser): expire abandoned extension menu snapshots by @OrcaWin in https://github.com/stablyai/orca/pull/35167
- fix(sidebar): prefetch the pressed workspace instead of switching to it by @OrcaWin in https://github.com/stablyai/orca/pull/35300
- refactor(pty): one neutral isWslTerminalSpawn for relay presence and the Codex home by @nwparker in https://github.com/stablyai/orca/pull/35316
- perf(build): bundle the startup YAML dependency by @OrcaWin in https://github.com/stablyai/orca/pull/35225
- feat(plugins): downloa
Release notes were truncated because GitHub release bodies are limited to 125,000 characters.
Verify your download
- Size:
136900301bytes - SHA-256:
f605cd792b9bdc1f7d7dadb4e3cea0c2e545292f24d41300a62e12a3240b5228
A "no certificate" or "problem parsing the package" install failure is usually a truncated download — check the size first, then sha256sum -c app-release.apk.sha256 (shasum -a 256 -c on macOS).