What's Changed
- fix(editor): cancel paste when its target model changes by @OrcaWin in #34904
- fix(editor): keep notebook cell undo across cell and tab switches by @OrcaWin in #34952
- Fix notebook scroll tracking after source recovery by @OrcaWin in #35034
- fix(editor): apply Rich mode to the source tab opened from a diff by @OrcaWin in #34898
- Reuse the source model snapshot during mount by @OrcaWin in #34921
- Skip Markdown structure scans without link delimiters by @OrcaWin in #35055
- fix(mobile): stop review notes from disappearing or coming back after deletion by @nwparker in #31699
- fix(editor): isolate restored reading positions by file owner by @OrcaWin in #34816
- fix(editor): copy gutter URLs from the owning file by @OrcaWin in #34922
- fix(editor): keep conflict navigation in its owning pane by @OrcaWin in #34902
- fix(editor): release oversized Markdown classification inputs by @OrcaWin in #34798
- fix(scripts): show check:changed progress and bound each step by @nwparker in #35507
- perf(browser): reuse tab snapshots during extension enumeration by @OrcaWin in #35327
- Admit source content events before reading and share pane snapshots by @OrcaWin in #34920
- feat(wsl): offer Git for Windows in a Windows-drive WSL project's settings (D1c-3) by @nwparker in #33097
- perf(github): load PR conversations without duplicate REST requests by @OrcaWin in #34747
- perf(github): reuse repository merge metadata reads by @OrcaWin in #34848
- Combine PR participants and viewed-file queries by @OrcaWin in #34842
- Combine exact PR fields and stack summary queries by @OrcaWin in #35295
- fix(editor): preserve folds and horizontal scroll across tab switches by @OrcaWin in #34810
- Keep Markdown completions available when a sibling pane changes files by @OrcaWin in #34975
- fix(editor): restore Mermaid reading position after rendering by @OrcaWin in #35031
- perf(preflight): read each PATH directory once during agent detection by @Pr1p in #34833
- Preserve concurrent PR comment changes when thread resolution fails by @OrcaWin in #35315
- perf(renderer): reuse folder connection inference across store writes by @OrcaWin in #34800
- fix(browser): release abandoned native messaging startup payloads by @OrcaWin in #35344
- fix(runtime): never hand a parent the token of a delegated child the save dropped by @nwparker in #35510
- feat(wsl): scope and path map for converting UNC Windows-drive projects (D1c-4a) by @nwparker in #33108
- fix(wsl): background preflight and agent detection never boot a stopped WSL distro (E9) by @nwparker in #35411
- fix(orcad): harden the startup qualification marker (execPath, node-pty load failure) by @nwparker in #35513
- feat(mobile): localize app screens, settings, pairing and host lists by @OrcaWin in #35498
- test(runtime): fix the stale orchestration context timestamp before the sync reads the clock by @nwparker in #35516
- test(e2e): release the early-typing rc only once the keys reach the tty by @nwparker in #35522
- fix(browser): avoid repeated native port cleanup inventories by @OrcaWin in #35346
- fix(worktrees): refuse a submodule checkout before stopping its terminals by @nwparker in #35458
- fix(cli):
orca worktree rmreports the delete's outcome, not its acceptance by @nwparker in #35459 - fix(extensions): bound split native-host header copies by @OrcaWin in #35359
- feat(wsl): bridge fish panes report their folder (OSC 7) at every prompt by @nwparker in #35517
- test(wsl): measure lane restarts over one held socket by @nwparker in #35526
- fix(wsl): background Git, GitHub and GitLab reads never start a stopped distro; explicit opens may (E9) by @nwparker in #35410
- feat(mobile): localize shared components, pull requests and diff review by @OrcaWin in #35532
- refactor(shared): colocate native chat turn row attribution by @nwparker in #35425
- feat(wsl): fetch and cache a remote WSL hosts policy (kill switch, remote half 1/2) by @nwparker in #35528
- fix(wsl): anchor the guest kill's stop read and re-check before each Codex heal batch (E9) by @nwparker in #35448
- feat(wsl-host): a paired phone reaches the desktop's WSL host and never starts its distro (E6) by @nwparker in #33911
- fix(wsl): Settings CLI status, CLI repair, interop health and link checks never boot a stopped distro (E9) by @nwparker in #35412
- fix(runtime): quarantining a partly corrupt device registry no longer revokes every device by @nwparker in #35539
- feat(mobile): show chat images that live on the paired desktop by @AmoabaKelvin in #34462
- feat(mobile): give chat code, tables, quotes and diagrams a clearer layout by @AmoabaKelvin in #34456
- fix(mobile): the first Back while dictating stops it and keeps what was said by @AmoabaKelvin in #35477
- feat(wsl): re-key the profile of UNC Windows-drive projects converting to drive paths (D1c-4b) by @nwparker in #33128
- Prioritize direct URL navigation over history suggestions by @AmethystLiang in #35239
- test: remove 17 low-value cases and seven suites by @OrcaWin in #35394
- fix(ci): keep mobile localization out of desktop-only test installs by @nwparker in #35576
- fix(extensions): honor transient popup dismissal by @OrcaWin in #35360
- fix(runtime): a device removed on disk stops authenticating at the next check by @nwparker in #35527
- refactor(wsl): one matcher for the stopped-distro refusal (E9) by @nwparker in #35567
- perf(orcad): drop the event-loop turns around the runtime imports by @nwparker in #35568
- fix(extensions): bound outstanding native-host writes by @OrcaWin in #35362
- feat(terminal): tell the user when keys typed before a remote terminal bound were not sent by @nwparker in #35581
- feat(orcad): per-feature readiness latches and requires: on RPC methods by @nwparker in #35571
- test(wsl): record the restart phase baseline for staged readiness by @nwparker in #35530
- fix(extensions): release consumed native-host backing buffers by @OrcaWin in #35368
- feat(wsl): let a cached remote policy close the WSL hosts gate (kill switch, remote half 2/2) by @nwparker in #35529
- fix(runtime): a delegated child the save dropped is minted fresh in the same sync by @nwparker in #35533
- fix(terminal): read nushell's folder reports, which send #, ? and % raw by @nwparker in #35596
- test(e2e): background work never starts a stopped WSL host distro (E9 guard) by @nwparker in #35580
- test(runtime): give the tab-delta first-frame wait a real-socket budget and name the empty client by @nwparker in #35600
- Fix mobile download button destination by @AmethystLiang in #35582
- fix: allow dismissing workspace auto-name failures by @nwparker in #35545
- fix(wsl): start a bridge fish older than 2.7 without -C instead of failing the pane by @nwparker in #35579
- Skip runtime watcher startup for canceled requests by @OrcaWin in #35556
- perf(i18n): skip unchanged plugin language packs on plugin-list refreshes by @OrcaWin in #35602
- perf(wsl): read a connect's pre-fence activation state in one command by @nwparker in #35591
- test(wsl): wait for the chat provider's report to settle instead of reading it once by @nwparker in #35603
- fix(i18n): pick CLDR plural forms for background task and subagent counts by @OrcaWin in #35605
- fix(i18n): whole-sentence copy for review nouns, open-in labels, delete dialog, timeline and orca.yaml trust by @OrcaWin in #35608
- fix(wsl): publish the resolved WSL hosts gate state to child processes (kill switch follow-up) by @nwparker in #35543
- feat(wsl): convert UNC Windows-drive projects to drive paths across a restart (D1c-4c) by @nwparker in #33135
- fix(mobile): preserve new browser typing when an earlier send fails by @nwparker in #31710
- fix(mobile): show live input caret and preserve selection edits by @nwparker in #31477
- fix(linux): stop the serve orca dispatcher shadowing the screen reader, and remove it with the CLI by @nwparker in #35578
- test: remove 20 low-value cases and ten suites by @OrcaWin in #35574
- fix(wsl-host): a fresh host's first agent launch waits for the desktop's account by @nwparker in #29576
- fix(browser): skip obsolete native snapshot conversion by @OrcaWin in #35377
- refactor: group native chat cut-turn notices by @nwparker in #35617
- fix(mobile): make agent question cards the one answering surface and keep long ones reachable by @nwparker in #31663
- perf(i18n): load built-in catalogs once, without copies or a runtime plural fill by @OrcaWin in #35615
- fix: retire native edit menus when their renderer document ends by @OrcaWin in #35383
- fix(mobile): preserve long terminal and chat pastes by @nwparker in #31473
- Remove preview link from mobile setup by @AmethystLiang in #35619
- fix(mobile): skip retired file search ranking by @OrcaWin in #34837
- fix(mobile): bound file search cache after empty queries by @OrcaWin in #34841
- fix(mobile): refuse PDF opens from hidden pages by @OrcaWin in #34869
- perf(mobile): skip projection for abandoned diff replies by @OrcaWin in #34873
- perf(chat): order queued turns without repeated transcript scans by @OrcaWin in #34945
- fix(mobile): release skill scans from retired transport generations by @OrcaWin in #34949
- refactor(i18n): share one i18next setup between main and renderer by @OrcaWin in #35621
- feat(mobile): show dictated words as you speak and insert them at the cursor by @AmoabaKelvin in #35502
- fix(i18n): separate stable ids from display labels (cleanup git chip, emulator tab, CSV errors) by @OrcaWin in #35627
- fix(mobile): retire browser pointer queues with their pane by @OrcaWin in #34825
- fix(mobile): index cached workspace rows for failed servers by @OrcaWin in #34843
- fix(mobile): preserve text size selected during hydration by @OrcaWin in #34846
- fix(mobile): retire obsolete file preview reads and grant retries by @OrcaWin in #34872
- fix(mobile): refresh custom shortcuts when returning to a session by @OrcaWin in #34951
- fix(i18n): code Create project failures and keybinding diagnostics by @OrcaWin in #35626
- fix(browser): keep native popup admission within opener session by @OrcaWin in #35397
- fix(export): retire pending PDF image replies with their frame by @OrcaWin in #35419
- Support explicit remote branch reuse across workspaces by @AmethystLiang in #34295
- refactor: group native-chat reported skill handling by @nwparker in #35630
- fix: restore OMP commit messages and chat names by @brennanb2025 in #34644
- feat(mobile): localize sessions, terminal, agent chat, browser and files by @OrcaWin in #35553
- plugins: Plugin Alpha by @nwparker in #35470
- fix(terminal): OSC 7 parsers refuse only NUL and agree on raw spaces, controls and % by @nwparker in #35606
- ci: run PR unit shards on free hosted ARM as 12 shards by @OrcaWin in #34906
- feat(mobile): localize tasks, new workspaces and source control by @OrcaWin in #35646
- feat(mobile): show a voice meter and timer while dictating, with start and stop haptics by @AmoabaKelvin in #35500
- test: remove 15 low-value cases and five suites by @OrcaWin in #35634
- perf(mobile): skip model projection after discovery owner retires by @OrcaWin in #35540
- fix(mobile): release retired route storage mirrors by @OrcaWin in #35586
- fix(mobile): retire closed-tab composer state by @OrcaWin in #35589
- perf(chat): process image-source transcript runs once by @OrcaWin in #35572
- perf(mobile): avoid image marker whitespace backtracking by @OrcaWin in #35609
- fix(checks): roll back failed thread resolve across head updates by @OrcaWin in #35653
- fix(tasks): preserve navigation during created issue hydration by @OrcaWin in #35351
- Patch PR titles without discovery reads by @OrcaWin in #35525
- Reuse issue metadata from existing detail conversation queries by @OrcaWin in #35546
- Reuse search counts and cursors across GitHub work-item reads by @OrcaWin in #35552
- fix(github): ignore overlapping resolve on an in-flight review thread by @OrcaWin in #35655
- fix(github): merge successful posts into fetched comment history by @OrcaWin in #35306
- fix(windows): remove Orca's agent hooks and PATH entry when uninstalling by @nwparker in #35588
- fix(plugins): keep Try it and Switch back toasts up long enough to click by @nwparker in #35650
- feat(codex): history follows you into ~/.codex on system default, with a per-host opt-out (#24511) by @nwparker in #34981
- ci: run preflight on free hosted ARM off the PR critical path by @OrcaWin in #35652
- fix(mobile): release metadata for retired terminals by @OrcaWin in #35535
- fix(mobile): stop file save follow-ups after Discard by @OrcaWin in #35537
- Skip empty annotations reads for completed checks by @OrcaWin in #35524
- Avoid discovery reads for ordinary PR reviewer updates by @OrcaWin in #35575
- Share repository assignee reads across task rows by @OrcaWin in #35564
- Flash revealed editor tabs for terminal file links by @AmethystLiang in #35656
- refactor: group native-chat href routing by @nwparker in #35654
- fix(editor): highlight Justfile recipes and mobile HCL assignments by @OrcaWin in #35573
- Plugins: treat self-hosted repository paths that differ in case as different repositories by @nwparker in #35640
- Plugins: turning off auto-update stops an update already in progress by @nwparker in #35642
- fix(windows): keep agent hooks when an Orca registration names no install location by @nwparker in #35668
- fix(wsl): fall back from a failed connect snapshot, and hint only from its own record read by @nwparker in #35663
- test(wsl): measure the old bridge's ConPTY terminal after a distro restart by @nwparker in #35662
- test: cover editor reveal overlay restarts by @AmethystLiang in #35683
- fix(i18n): code WSL host status details and Add refusals by @OrcaWin in #35664
- test(terminal): run the renderer's OSC 7 agreement cases through xterm by @nwparker in #35661
- fix(i18n): code automation run skip and failure reasons by @OrcaWin in #35666
- fix(editor): scope combined diff status invalidation by path by @OrcaWin in #35570
- Prioritize current combined diff rows and drop obsolete queued loads by @OrcaWin in #35594
- feat(wsl): bridge sh/dash/ash panes report their folder (OSC 7) at every prompt by @nwparker in #35597
- Plugins: one loader for panel and editor frames; suspended panels stay marked failed by @nwparker in #35680
- fix(wsl): Share only starts the stopped distros that hold the chosen skills by @nwparker in #35659
- test: remove 12 low-value cases and four suites by @OrcaWin in #35667
- fix(codex): never scan a WSL history source over 9P from background lanes (E9) by @nwparker in #35677
- fix(i18n): code AI text-generation failures for commit, PR, and Jira title generation by @OrcaWin in #35669
- fix(editor): retain combined diff bodies on metadata updates by @OrcaWin in #35611
- refactor(i18n): native i18next plurals at call sites, plural-aware extraction by @OrcaWin in #35637
- fix(orcad): keep terminal models at the daemon's live depth and bound provider snapshot waits by @nwparker in #35679
- Plugins: run the binary custom-editor e2e on Linux again by @nwparker in #35638
- fix(i18n): code Source Control AI settings and generation plan failures by @OrcaWin in #35697
- fix(i18n): code GitHub/GitLab operation failures for the renderer by @OrcaWin in #35689
- fix(i18n): native plurals for exact-1 families; drop desktop suffix stripping by @OrcaWin in #35702
- Plugins: share the liveness check and list hook across contribution kinds by @nwparker in #35686
- fix(i18n): code PR/MR start-point and stacked PR creation failures by @OrcaWin in #35705
- fix(codex): owe a full history scan after launches while the source is in WSL by @nwparker in #35703
- fix(i18n): format renderer dates and numbers in the UI language by @OrcaWin in #35671
- fix(wsl): a missing host gh or glab never boots a stopped default distro by @nwparker in #35709
- Plugins: binary editors keep unsaved edits across renames, reloads and twin tabs by @nwparker in #35698
- Plugins: remove dead code left from the plugin rollout by @nwparker in #35676
- test(dev): stop run-electron-vite-dev web tests orphaning fixture processes by @nwparker in #35713
- perf(test): reuse Vitest transforms across local runs by @nwparker in #35715
- perf(rpc): reuse required primitive schemas by message by @OrcaWin in #35072
- fix(worktree): explain how to raise the limit when git worktree add times out by @nwparker in #35720
- fix(wsl): WSL host bridge dials, ready clients and holder re-ensures never boot a stopped distro (E9) by @nwparker in #35707
- perf(wsl): take one activation fence on a same-version connect by @nwparker in #35708
- fix(github): keep same-repo PRs when origin uses a renamed repository's old URL by @YiGeon in #35688
- fix(menus): stop Windows shortcut labels overflowing context menus by @nwparker in #35726
- fix(skills): start only the unread distros when Share retries discovery by @nwparker in #35725
- feat(orcad): gate agent launches on readiness and refuse callers that leave while waiting by @nwparker in #35710
- fix(editor): highlight CMakeLists.txt with the CMake TextMate grammar by @nwparker in #35735
- perf(orcad): keep the Codex PATH scan off WSL readiness by @nwparker in #35718
- fix(dictation): cancelling dictation frees the speech engine at once by @AmoabaKelvin in #35730
- fix(wsl): a holder exiting with code 1 notes its distro may have stopped (E9) by @nwparker in #35738
- fix(i18n): translate feature wall tour and feature tip copy by id by @OrcaWin in #35736
- test(ssh): let Linux finish releasing upload fds before asserting they closed by @nwparker in #35612
- fix(editor): copy local Windows paths with native separators by @OrcaWin in #35647
- fix(i18n): code shared validation errors; translate speech model, setup source and project group copy by @OrcaWin in #35737
- fix(i18n): code AI Vault scan issues and chat auto-name failures for the renderer by @OrcaWin in #35750
- fix(cli): never register the bundled launcher as a link to itself by @Hotragn in #35371
- feat(wsl): offer the drive-path conversion in project settings, and convert the window's stores (D1c-4d) by @nwparker in #33143
- fix(i18n): code Mobile Emulator, PDF export, and diagnostics failures by @OrcaWin in #35742
- feat(wsl): a WSL hosts block can ask for already-moved projects back (bring-back 1/4) by @nwparker in #35762
- fix(i18n): code ephemeral VM provisioning and cleanup failures by @OrcaWin in #35747
- fix(windows): keep Orca's std handles out of every spawned child by @nwparker in #35678
- fix(keybindings): show ⇧ for Shift in Windows/Linux shortcut labels by @nwparker in #35754
- perf(agent-state): use the bundled rule files without re-validating them at load by @nwparker in #35768
- fix(daemon): log a terminal exit no client heard by @nwparker in #35734
- fix(wsl): forget an interrupted wake's token once its fence is settled by @nwparker in #35759
- fix(plugins): installing a one-mode theme now visibly applies it by @nwparker in #35674
- fix(plugins): load installed plugins whose engines floor predates their fields by @nwparker in #35756
- test(runtime): give each start-retry spawn wait room for the retry backoff by @nwparker in #35744
- fix(runtime): reject non-object E2EE handshake JSON by @OrcaWin in #35583
- test(native-chat): keep the at-rest Claude catalog's skill discovery out of the real home by @nwparker in #35781
- test(wsl): keep the child-side gate inheritance cases next to the gate by @nwparker in #35765
- test(wsl): prove OpenCode chat inside the distro in the real-WSL lane by @nwparker in #35766
- fix(wsl): cache the WSL hosts policy as downloaded, not re-serialized by @nwparker in #35782
- fix(wsl): close the session scanner's post-stop boot gaps by @nwparker in #35729
- Keep action model and effort choices out of Arguments by @brennanb2025 in #34275
- test(orcad): guard an idle WSL-host orcad tree's resident memory in the node-server lane by @nwparker in #35772
- fix(agent-session): report a CLI the supervisor could not spawn as missing, not a failed start by @nwparker in #35770
- refactor: organize native-chat merger and pair-window spec by @nwparker in #35714
- test(agent-state): catch rewriting checks and look inside every container in the schema walker by @nwparker in #35797
- fix(wsl): don't start a stopped distro to read a repo's default base ref by @nwparker in #35778
- feat(wsl): default a new Windows-drive project under a WSL default to Git for Windows (D1c-5) by @nwparker in #33122
- Handle large pastes in structured chat goal mode by @brennanb2025 in #34654
- docs: update WeChat community QR code by @AmethystLiang in #35803
- perf(terminal): stop HTTP link backward scans at rows that cannot continue a URL by @nwparker in #35767
- fix(wsl-host): a terminal that meets its stopped distro shows Start, and comes back with it by @nwparker in #35732
- fix(native-chat): preserve models missing from provider listings by @brennanb2025 in #35266
- test: fix macOS-only test drift (real-home write, #34058 record retention) by @nwparker in #35817
- ci: run the layout oracle gate on free hosted runners by @OrcaWin in #35809
- perf(terminal): stop re-reading the fit grid on every foreground write once it matches by @nwparker in #35783
- fix(wsl): re-read a paired host's refused default base ref, and close the signal race by @nwparker in #35812
- fix(wsl): confirmed homes for transcript lookups, WSL delete as a user act, localized carryover notice by @nwparker in #35810
- fix(wsl-host): stopped-host follow-ups — no stuck Start card, card-rule retry and dot, SSH pin by @nwparker in #35822
- fix(worktrees): use a typed workspace name as its branch again by @nwparker in #35815
- fix(wsl-host): say which WSL distro an agent isn't installed in by @nwparker in #35800
- fix(orcad): release this app's wake fence once its dropped launch is serving by @nwparker in #35808
- perf(editor): compare worktree owner rows by identity instead of a per-write JSON signature by @nwparker in #35824
- fix(wsl): show a stopped WSL host within a second of its stop, never exec-ing into it by @nwparker in #35823
- test: remove five low-value string and predicate suites by @OrcaWin in #35722
- fix(i18n): translate main-process startup failure and install-folder recovery text by @OrcaWin in #35832
- perf(wsl): fold a connect's remaining read-only guest probes by @nwparker in #35690
- fix(wsl): a passive restore never starts a stopped WSL distro; its bridge panes wait with Start by @nwparker in #35813
- fix(i18n): localize Orca's agent output and Kimi failure messages in AI text generation by @OrcaWin in #35844
- fix(wsl): a watcher root that fails its stat as the distro starts is retried, not dropped by @nwparker in #35845
- Plugins settings: four-column catalog and unmissable Show all / See all by @nwparker in #35849
- test: remove five low-value suites and redundant cases by @OrcaWin in #35847
- fix(i18n): localize remote server pairing, host sign-in and Bitbucket connect failures by @OrcaWin in #35843
- perf(stats): stop retaining and rewriting the raw stats event log by @nwparker in #35852
- test(runtime): keep inherited GIT_* env from aiming worktree-removal tests at an outer repo by @nwparker in #35853
- fix(wsl): every local Git call follows its project's runtime unless it says why not (D1c-6) by @nwparker in #33531
- fix(i18n): translate browser cookie import failures by code by @OrcaWin in #35855
- plugins: make Try it do the thing instead of opening the plugin page by @nwparker in #35846
- fix(i18n): translate pet import and repo icon upload refusals by code by @OrcaWin in #35861
- fix(i18n): translate updater failure messages shown in the renderer by @OrcaWin in #35833
- fix(wsl): a held pane whose distro could not be checked says so, not that it stopped by @nwparker in #35860
- Use each native chat’s agent for naming by default by @brennanb2025 in #32106
- fix(wsl): wake a stopped distro only on the user's own workspace switch or expand by @nwparker in #35867
- fix(wsl): Settings' issue-command and path checks never start a stopped distro by @nwparker in #35829
- fix(ssh): don't import a config alias for a machine already in Orca by @nwparker in #35792
- docs(troubleshooting): explain the first-connect Node download for SSH and WSL by @nwparker in #35875
- fix(wsl): fail a first deploy fast when the Node runtime download gets no answer by @nwparker in #35869
- fix(ssh): let a second desktop move onto a host another desktop already set up by @nwparker in #35879
- test(wsl): report the warm and cold startup gates in the lane receipt by @nwparker in #35761
- test: clear inherited GIT_* env once per test file so real-Git suites cannot write into an outer repo by @nwparker in #35859
- test: remove low-value error-copy and primitive schema tests by @OrcaWin in #35882
- fix(wsl): Commits history wakes a stopped distro only on the user's own act by @nwparker in #35854
- fix(wsl): Codex WSL hook installs and host hook checks never start a stopped distro (E9) by @nwparker in #35827
- fix(windows): start the WSL holder with only a NUL handle to inherit by @nwparker in #35799
- test: remove copy inventories and redundant formatter replays by @OrcaWin in #35890
- fix(terminal): drop a replaced process's title and input modes on restore by @nwparker in #35889
- fix(i18n): translate source control remote operation error toasts by @OrcaWin in #35893
- fix(wsl): a workspace switch wakes the explorer and git status only while recent by @nwparker in #35897
- fix(wsl): hold a passive WSL restore before the cwd probe, whichever provider spawns by @nwparker in #35895
- fix(wsl): never boot a stopped distro to check a folder workspace's path by @nwparker in #35899
- fix(orchestration): include the provider's failure detail when a worker's dispatch preamble is rejected by @Venius24 in #35791
- perf(telemetry): defer posthog-node load and client start until after the first window by @ctolkien in #35798
- fix(wsl): issue-command follow-ups: no-op saves, WSL Git repos, paired hosts by @nwparker in #35900
- fix(wsl-host): a chat holds Send while its WSL distro is stopped, until Start by @nwparker in #35864
- fix(wsl): Source Control's PR push-target and Create PR checks never start a stopped distro by @nwparker in #35885
- fix(wsl): the port scanner never realpaths a stopped distro's workspace root by @nwparker in #35907
- fix(automations): a scheduled run never starts a stopped WSL distro by @nwparker in #35857
- fix(wsl): main's background terminal starts never start a stopped WSL distro by @nwparker in #35865
- perf(native-chat): stop re-rendering composer controls on every keystroke by @nwparker in #35913
- fix(i18n): translate remaining renderer leftovers (submodules, agent summaries, filter counts, automations) by @OrcaWin in #35914
- fix(claude): resume a chat with a saved effort on a Claude Code that predates --effort by @nwparker in #35878
- perf(ssh): load ssh2 on first use instead of at startup by @nwparker in #35911
- fix(mobile): translate coded generation failures and counted chat copy by @OrcaWin in #35923
- fix(terminal): judge live-agent reattach modes by the image's own title by @nwparker in #35920
- fix(wsl): a passive restore's env prep never starts a stopped WSL distro (E9) by @nwparker in #35858
- feat(wsl): a pane main held for a stopped distro shows the Start card by @nwparker in #35927
- test(e2e): force the stale-title window in the live-reattach mode check by @nwparker in #35936
- fix(wsl): held terminals read as a sentence; a person's worktree create starts its own terminals by @nwparker in #35935
- fix(wsl): hold a daemon-off restore of a stopped WSL distro by @nwparker in #35938
- fix(telemetry): keep the SDK opted out while an env override disables telemetry by @nwparker in #35940
- perf(session-search): append to the index after a restart instead of rewriting grown transcripts by @nwparker in #35941
- fix(telemetry): never deliver held startup events later than an eager client by @nwparker in #35949
- test(e2e): on the real WSL lane, background work never starts the stopped distro (E9 guard) by @nwparker in #35590
- fix(wsl): keep a stopped distro's worktrees and re-list once it runs by @nwparker in #35733
- test(wsl): stop a distro mid-reply on the real-WSL lane, then Start and Continue by @nwparker in #35826
- perf(codex): resolve the Codex CLI once per spawn recheck, off the main thread on Windows by @nwparker in #35967
- fix(wsl): an automation's window create never starts its startup terminal as the user by @nwparker in #35970
- fix(telemetry): send PostHog events through the main HTTP client so they honor the proxy by @nwparker in #35972
- feat(mobile): stop tap-mode phone dictation after a minute of silence by @AmoabaKelvin in #35716
- fix(mobile): resend dictation audio lost when the connection drops by @AmoabaKelvin in #35777
- fix(automations): let a host create workspaces for another owner's automation run by @nwparker in #35978
- fix(mobile): notice a silent connection drop while dictating within seconds by @AmoabaKelvin in #35834
- fix(codex): launch Codex without its paste-burst guess outside Windows by @nwparker in #35975
- refactor: group native-chat image reference owner by @nwparker in #35807
- fix(browser): orca console and network print entries in text mode and honour --limit by @AmoabaKelvin in #35981
- feat(automations): label workspaces a host creates with the desktop's own automation run by @nwparker in #35986
- fix(ai-vault): resume saved sessions for the OS of the host that runs them by @nwparker in #35988
- feat(native-chat): hover cards for GitHub PR and issue links by @AmoabaKelvin in #35199
- fix(browser): import a cookie file into a client-hosted browser under a remote runtime by @AmoabaKelvin in #35989
- feat(native-chat): preview cards for web links, fetched with a private-address guard by @AmoabaKelvin in #35221
- Fix mobile terminal overlays after delayed PTY binding by @AmethystLiang in #35842
- fix(orcad): keep the browser sidecar's listener on loopback by @teamauresta in #31896
- fix(agent-resume): quote desktop-built commands for the host's own OS and shell by @nwparker in #35995
- fix(browser): give agent set device and viewport --mobile touch input and pointer: coarse by @AmoabaKelvin in #35982
- test: remove low-value wrapper and scalar store suites by @OrcaWin in #35906
- fix(browser): keep the chosen default browser profile after a restart or update by @AmoabaKelvin in #35991
- perf(terminal): read the macOS process table in process instead of forking setuid ps by @nwparker in #35987
- fix(editor): suppress ambiguous Unicode highlights in Markdown by @AmethystLiang in #36009
- fix(runtime): retract Orca's own Codex ready title when the next turn starts by @brennanb2025 in #35547
- Reopening an old tool run no longer jumps to a stale scroll position by @brennanb2025 in #35866
- test: remove scalar settings suites and mocked status receipts by @OrcaWin in #36011
- refactor(jira): group linked reads and source identity owners by @nwparker in #36013
- Startup shows chats as Interrupted or Done without reading their history by @brennanb2025 in #32146
- fix(browser): Next.js Server Actions work through the *.orca.localhost worktree URL by @promptprobe in #14562
- Leave Claude plan mode when the user approves a plan by @brennanb2025 in #34549
- fix(browser): return orca tab list at once when the worktree has no saved browser tab by @AmoabaKelvin in #36017
- test: remove capability inventories and projection receipts by @OrcaWin in #36018
- fix(browser): preview HTML files over 512 KiB from paired hosts by @AmoabaKelvin in #36021
- fix(browser): an SSH workspace browser reaches sites through the host's proxy by @nwparker in #36022
- fix(computer-use): stop relaunching the macOS permission helper on every status read (#34390) by @nwparker in #36028
- fix(native-chat): keep a huge unbroken paste from freezing the chat (#32355) by @nwparker in #36031
- Preserve stale lease rejection details in push errors by @AmethystLiang in #36027
- Remove obsolete TestFlight preview link from mobile docs by @AmethystLiang in #36029
- test: remove browser capability inventories and mock receipts by @OrcaWin in #36032
- refactor(jira): group search and fallback notice owners by @nwparker in #36036
- fix(editor): soften file reveal flash and skip new views by @AmethystLiang in #36039
- test: remove schema inventories and redundant capability checks by @OrcaWin in #36040
- fix(wsl-host): Start connects a stopped distro once and names it when it fails by @brennanb2025 in #35438
- perf(sidebar): skip closed-menu catalog work and batch remote order publications by @AmethystLiang in #36002
- fix(git): recognize colored stale lease rejections by @AmethystLiang in #36041
- Chat runs launcher Commands like op run -- codex for every agent by @brennanb2025 in #35592
- perf(terminal): send typed keys to the PTY before publishing activity; split echo latency phases by @AmethystLiang in #36008
- A kill that reached the agent ends it, so the next message after Stop goes through by @brennanb2025 in #34653
- Keep a sleeping conversation resumable when the terminal limit is reached by @brennanb2025 in #35401
- Add a per-host running terminal limit setting by @brennanb2025 in #31396
- test: fix Claude launcher-prefix flag support calls by @nwparker in #36052
- test(wsl): pin the stopped-distro hold for a non-WSL shell in a WSL UNC folder by @nwparker in #35969
- Optimize hidden chat subscriptions and tab projections by @AmethystLiang in #36047
- Show messages between agents as cards with the other agent's status by @brennanb2025 in #34824
- fix: restore record lint and session fixture validation by @nwparker in #36065
- fix(native-chat): keep the session record file within the length limit by @brennanb2025 in #36056
- fix(linear): stop writes when their caller lifetime ends by @brennanb2025 in #35020
- Prevent resting chats from delaying native command menus by @brennanb2025 in #35069
- Restore Session History resume for symlinked workspaces by @brennanb2025 in #35052
- fix(worktrees): retire Git metadata watchers on root loss by @brennanb2025 in #35067
- Session History opens conversation files instead of storage databases by @brennanb2025 in #35051
- Update structured session fixtures for command prefixes by @AmethystLiang in #36058
- Use the shared default agent selection for work-item launches by @brennanb2025 in #35748
- fix(claude): avoid unsupported workflow agent views by @brennanb2025 in #35749
- test(worktrees): cover both emoji branch naming modes by @brennanb2025 in #35745
- test: remove low-value metadata and registration inventories by @OrcaWin in #36066
- refactor: colocate Jira cache and project selection owners by @nwparker in #36051
- fix(wsl): hold main's background WSL start before the cwd probe; let the user's runtime start check a WSL folder by @nwparker in #35971
- perf(mobile): skip line stats when loading Source Control status by @nwparker in #36061
- fix(notes): name each agent in Send notes to by its sidebar name instead of its type by @AmoabaKelvin in #35977
- fix(browser): refuse a 21st page annotation with a visible limit instead of dropping the oldest by @AmoabaKelvin in #35979
- feat(browser): paste images into annotation comments and send them to the agent by @AmoabaKelvin in #36004
- Constrain plugin panels to sidebar height by @AmethystLiang in #36085
- fix: repair sidebar lint and adoption test command fixture by @OrcaWin in #36080
- refactor(browser): move the grab hook type to its owner by @AmoabaKelvin in #36087
- feat(browser): add a shortcut to open a browser tab in a split to the right by @AmoabaKelvin in #35994
- fix(browser): Orca's own buttons and links open per the open-links-in-Orca setting by @AmoabaKelvin in #35992
- feat(browser): flash the page viewport size while the pane resizes by @chucoding in #31145
- fix(browser): agent clicks keep their target when a page changes, by upgrading agent-browser to 0.39.4 by @AmoabaKelvin in #36007
- fix(ci): resolve existing max-lines and command fixture violations by @AmethystLiang in #36096
- Keep a chat's accepted model options in what it shows and sends by @brennanb2025 in #31208
- Skip proven other-forge projects in Tasks requests by @brennanb2025 in #34219
- test: return a structured command from the adoption test's launch resolver by @nwparker in #36081
- fix(agents): stop a foreign agent name in task text from taking a pane by @brennanb2025 in #19309
- fix(sidebar): keep agent rows ordered by their session start once state history wraps by @brennanb2025 in #14654
- Support Windows native Antigravity account switching by @brennanb2025 in #34637
- test(sidebar): drop the flaky wall-clock urgent-publish timing test by @nwparker in #36054
- perf(sidebar): stop restyling the whole document on every sidebar-resize frame by @nwparker in #36071
- perf(renderer): drop group-has-[:focus-visible] rules that restyle whole subtrees by @nwparker in #36098
- fix(plugins): bound plugin preview cache to the current revision (STA-12859) by @nwparker in #36089
- test: remove low-value schema, compact, and language tests by @OrcaWin in #36075
- fix(mobile): grow chat composer with its draft by @AmoabaKelvin in #36083
- fix(ci): drop duplicate grab-annotations type and split chat subscription perf test by @nwparker in #36101
- feat(browser): send compact annotation feedback by default, with page details as an opt-in by @AmoabaKelvin in #35990
- fix(ai-vault): bound WSL session carryover to the most recent scopes by @nwparker in #36090
- perf(wsl): a held WSL spawn reads the running list once, reusing only its own read by @nwparker in #36077
- fix(mobile): keep live input focus and recover failed sends by @AmoabaKelvin in #36109
- fix(wsl): read a distro's automount root once per start, the default /mnt/ too by @nwparker in #36097
- fix(diagnostics): handle late request errors until socket close by @OrcaWin in #35496
- fix(agent-awake): release macOS sleep assertions when Orca exits by @OrcaWin in #35649
- fix(persistence): reject non-file recovery artifacts before publication by @OrcaWin in #35059
- fix(emulator): reset partial JPEG state when reconnecting by @OrcaWin in #35593
- perf(emulator): reuse registered device backend routing by @OrcaWin in #35616
- fix(emulator): quote Android text for the device shell by @OrcaWin in #35561
- fix(emulator): wait for complete scrcpy server downloads by @OrcaWin in #35503
- fix(emulator): launch scrcpy through the background process wrapper by @OrcaWin in #35566
- fix(emulator): wait for the requested AVD during Android boot by @OrcaWin in #35536
- fix(emulator): run Android commands through the process host by @OrcaWin in #35599
- fix(emulator): reject reported Android activity launch failures by @OrcaWin in #35623
- fix(browser): close client-hosted Find on full navigation by @OrcaWin in #35692
- refactor(jira): group status and quick-filter owners by @nwparker in #36082
- ci: run Git compatibility as a free hosted matrix by @OrcaWin in #36106
- Center plain Project table cells and label the linked PR overflow by @brennanb2025 in #34532
- fix(mobile): detect dead direct links in seconds by @AmoabaKelvin in #36112
- fix(mobile): report task pages and review state accurately by @AmoabaKelvin in #36115
- fix(mobile): keep shortcut swipes from sending keys by @AmoabaKelvin in #36116
- feat(computer): drive macOS apps in the background by default by @AmoabaKelvin in #36005
- fix(emulator): follow decoded Android video dimensions by @OrcaWin in #35635
- fix(mobile): update URI decoder for denial-of-service advisory by @nwparker in #36124
- fix(computer): skip activation for accessibility clicks by @AmoabaKelvin in #36006
- test: remove low-value capability, copy, and source inventories by @OrcaWin in #36114
- perf(jira): resolve the project-sort collator once per sort (STA-12861) by @Jinwoo-H in #36107
- fix(wsl): uninstall ends a holder its command line proves, even without a start time by @nwparker in #36126
- perf: fix six scan findings (STA-12863, 12852, 12864, 12865, 12867, 12871) by @nwparker in #36103
- fix(sidebar): draw a cross-host project's header in each host section by @nwparker in #36012
- fix(mobile): explain scanned download QR codes by @AmoabaKelvin in #36128
- fix(settings): permission menus match the chat permission picker by @brennanb2025 in #36104
- fix(mobile): return typed terminal input to the prompt by @AmoabaKelvin in #36122
- fix(mobile): recover from native screen render errors by @AmoabaKelvin in #36121
- fix(mobile): forward iOS keys and Shift+Enter by @AmoabaKelvin in #36120
- test(native-chat): drop flaky at-rest admission bounds test by @OrcaWin in #36134
- perf(editor): honor the Find query debounce by @OrcaWin in #34829
- fix(editor): honor Plain text code block highlighting by @OrcaWin in #35111
- test: remove low-value workflow, inventory, and copy suites by @OrcaWin in #36129
- Reuse Markdown tokenizer and details start searches across paragraph suffixes by @OrcaWin in #35374
- fix(computer): report macOS actions that changed nothing, read back wrong or hung by @AmoabaKelvin in #36020
- fix(mobile): use paired ports in firewall help by @AmoabaKelvin in #36130
- fix(editor): keep composition-owned Escape inside Find by @OrcaWin in #34969
- fix(editor): preserve combining marks in whole-word replacement by @OrcaWin in #34957
- perf(editor): reuse unchanged review block line counts by @OrcaWin in #34934
- perf(editor): install one code highlighting plugin per editor by @OrcaWin in #35112
- fix(mobile): stop publishing unavailable terminals as ready by @AmoabaKelvin in #36135
- refactor(jira): group status metadata owners by @nwparker in #36138
- feat(computer): return tree diffs after actions and add get-app-state --query by @AmoabaKelvin in #36023
- fix(editor): keep retained review highlight ranges mapped after edits by @OrcaWin in #34963
- fix(editor): scope delayed review saves to the current draft owner by @OrcaWin in #34964
- perf(editor): collect review note elements once per geometry pass by @OrcaWin in #34986
- fix(editor): cancel superseded review-note position frames by @OrcaWin in #35261
- fix(editor): preserve small images beyond the reusable cache target by @OrcaWin in #34998
- fix(editor): preserve table widths when inserting beside selected cells by @OrcaWin in #35162
- fix(relay): diagnose desktop clock drift by @AmoabaKelvin in #36139
- fix(claude): ignore a launcher's own version when choosing hook events by @brennanb2025 in #36119
- perf(editor): discard stale code spans before mapping replacements by @OrcaWin in #35116
- fix(editor): keep useRichMarkdownSearch.ts within the 300-line cap by @Jinwoo-H in #36147
- test: remove low-value theme and copy suites by @OrcaWin in #36140
- fix(editor): synchronize rendered image metadata by @OrcaWin in #35028
- Preserve modified Enter line breaks in Markdown tables by @OrcaWin in #35224
- fix(editor): keep slash and document triggers literal inside code by @OrcaWin in #34971
- fix(editor): preserve literal text in citation paste fallback by @OrcaWin in #34827
- fix: group Antigravity models and refresh effort choices by @brennanb2025 in #34518
- Suppress agent CLI updates for unattended automation launches by @Jinwoo-H in #36133
- fix(wsl): main's background start preps its host env without waking the distro, on both providers (E9) by @nwparker in #36149
- feat(telemetry): count plugin installs from Orca's public catalogs by @nwparker in #36132
- fix(plugins): reload active icon theme after same-metadata plugin updates by @nwparker in #36151
- fix(computer-use): cap every macOS permission helper launch path at one per 5 s (#34390) by @nwparker in #36150
- perf(editor): admit large pastes before clipboard parsing by @OrcaWin in #34839
- Bound preview selection deferral during continuous external edits by @OrcaWin in #35373
- fix(bash): emit the shell-ready marker when ble.sh owns the prompt (#35784) by @nwparker in #36163
- Stop the saved chat status writer from remembering every closed chat by @brennanb2025 in #36105
- Run the unit tests that force garbage collection on Node by @brennanb2025 in #36131
- fix(editor): preserve selected code when indenting by @OrcaWin in #34970
- Release the last closed rich Markdown editor by @OrcaWin in #35227
- fix(ui): toasts sit above the notification cards; the Codex ~/.codex notice is a card by @nwparker in #36167
- fix(editor): resolve TOC headings with folded whitespace, images and doc links by @OrcaWin in #34972
- perf(claude): look up retained prompts' turns in one pass during catch-up by @brennanb2025 in #36127
- Preserve file links through rich Markdown copy and paste by @OrcaWin in #35789
- fix(terminal): retain only timings in typing diagnostics by @AmethystLiang in #36088
- fix(editor): open the link that received the modifier-click by @OrcaWin in #35071
- fix(editor): match Unicode heading anchors across rich and preview modes by @OrcaWin in #35077
- fix(editor): reveal collapsed sections before navigating to their content by @OrcaWin in #35075
- fix(wsl): refuse a drive/UNC conversion that would split a nested duplicate project by @nwparker in #36155
- perf(git): batch per-remote exact-ref probes into one for-each-ref call by @nwparker in #36156
- perf(native-chat): memoize turn statuses so status-only renders keep transcript slots by @nwparker in #36141
- perf(renderer): forget visible-tab-pick state when a worktree is removed by @nwparker in #36165
- Preserve relative link targets between note folders by @OrcaWin in #35743
- fix(editor): improve picker dismissal, theme and accessible names by @OrcaWin in #34980
- fix(editor): keep completion menus placed and keyboard results visible by @OrcaWin in #34992
- test: remove low-value copy and CI fixture checks by @OrcaWin in #36159
- Add quick access to Plugins settings by @AmethystLiang in #36153
- Plugins settings: one list with Installed badge, inline switch, install-state filter, category chips and trusted-code access copy by @nwparker in #36100
- perf(mobile): batch iOS push-dismissal ledger writes per page by @nwparker in #36145
- Preserve pasted chat images when saving Markdown by @OrcaWin in #35625
- fix(mobile): preserve code, quotes and code blocks through rich Markdown edits by @OrcaWin in #35056
- fix(editor): task-list parsing fixes (ordered parents, wrapped markup, tight continuations, bare markers) by @OrcaWin in #35187
- Keep chats stopped by a delivered kill readable after downgrading by @brennanb2025 in #36142
- fix(editor): preserve trailing mixed-list items when outdenting by @OrcaWin in #35176
- test: remove 49 low-value tests across catalog and source guards by @OrcaWin in #36175
- Preserve nested list content when leaving an empty item by @OrcaWin in #35236
- test(relay): assert drain placement contention without a timing ratio by @nwparker in #36181
- Agent message cards say "coordinator" and "worker", not "your coordinator" by @brennanb2025 in https://github.com/stablyai/orca/pull/36168
- perf(native-chat): skip WSL distro walk for host-native transcript hook paths by @nwparker in https://github.com/stablyai/orca/pull/36152
- refactor(jira): group favourite picker owners by @nwparker in https://github.com/stablyai/orca/pull/36157
- fix(mobile): keep table/list line breaks, item paragraphs and list code blocks through rich Markdown saves by @OrcaWin in https://github.com/stablyai/orca/pull/35259
- fix(mobile): name task checkboxes from their current task text by @OrcaWin in https://github.com/stablyai/orca/pull/35081
- Leave the Plugins shortcut to focused browser pages by @AmethystLiang in https://github.com/stablyai/orca/pull/36176
- fix(windows): start the WSL holder outside Orca's jobs so a crash doesn't take it down by @nwparker in https://github.com/stablyai/orca/pull/36178
- fix(pi): the thinking menu before the first message matches the chat's by @brennanb2025 in https://github.com/stablyai/orca/pull/34592
- fix(mobile): preserve empty tasks through save and reload by @OrcaWin in https://github.com/stablyai/orca/pull/35085
- fix(mobile): preserve blocks and images when formatting inline code by @OrcaWin in https://github.com/stablyai/orca/pull/35110
- fix(mobile): align task checkboxes with their first text line by @OrcaWin in https://github.com/stablyai/orca/pull/35157
- fix(mobile): retain editor styling when switching color schemes by @OrcaWin in https://github.com/stablyai/orca/pull/35171
- test: remove low-value copy, layout, and equivalence checks by @OrcaWin in https://github.com/stablyai/orca/pull/36192
- fix(explorer): open folder links that lead outside the project again by @nwparker in https://github.com/stablyai/orca/pull/36191
- fix(source-control): resolve delete/modify conflicts and complete merges from the panel by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35347
- fix(mobile): restore alerts without native push by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36125
- Settings: choose Chat or CLI in each agent's row; remove Chat → Providers by @brennanb2025 in https://github.com/stablyai/orca/pull/36185
- Warn macOS 12 users about upcoming support changes by @nwparker in https://github.com/stablyai/orca/pull/36182
- Let sidebar card properties hide agent model badges by @brennanb2025 in https://github.com/stablyai/orca/pull/36026
- fix(native-chat): agent message cards no longer reserve a row for the copy button by @brennanb2025 in https://github.com/stablyai/orca/pull/36189
- Choose an agent setup from the new tab menu by @brennanb2025 in https://github.com/stablyai/orca/pull/34728
- test: remove low-value wrapper, copy, and theme checks by @OrcaWin in https://github.com/stablyai/orca/pull/36202
- feat(source-control): resolve merge conflicts and complete merges from the phone by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36160
- Revert "Warn macOS 12 users about upcoming support changes" by @nwparker in https://github.com/stablyai/orca/pull/36209
- fix(browser): keep an agent on its own tab when the user picks or opens another by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36108
- Show a card in the coordinator's chat when it starts a worker by @brennanb2025 in https://github.com/stablyai/orca/pull/35263
- Sanitize Git remote errors before credential redaction by @AmethystLiang in https://github.com/stablyai/orca/pull/36205
- fix(agent-status): keep mobile chat attached to idle Claude panes after slash commands by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36208
- Warn before trusting non-official plugins; review access-growing updates one by one by @nwparker in https://github.com/stablyai/orca/pull/36218
- perf(relay): pause drained settled-credential reaps for 5 minutes by @nwparker in https://github.com/stablyai/orca/pull/36144
- feat(telemetry): stop reporting plugin uninstalls (install counts are cumulative) by @nwparker in https://github.com/stablyai/orca/pull/36214
- Translate the new plugin list, filter and access strings in every language by @nwparker in https://github.com/stablyai/orca/pull/36215
- Keep unrelated agent status updates from redrawing every native chat by @brennanb2025 in https://github.com/stablyai/orca/pull/34596
- test(computer): measure independently verified tasks by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36216
- fix(plugins): keep trust dialogs, typed pairs and plugin names safe from data plugins by @nwparker in https://github.com/stablyai/orca/pull/36220
- Restore OMP thinking choices for non-running models by @brennanb2025 in https://github.com/stablyai/orca/pull/36158
- fix(cli): give the Windows user-PATH write 15 s and one retry by @nwparker in https://github.com/stablyai/orca/pull/36224
- Keep zoomed PDF detail text sharp by @brennanb2025 in https://github.com/stablyai/orca/pull/36173
- Clarify when to run handoff checks by @AmethystLiang in https://github.com/stablyai/orca/pull/36231
- fix(runtime): delegated devices follow the device file, and quarantine keeps external adds by @nwparker in https://github.com/stablyai/orca/pull/36222
- test: remove 28 low-value test suites by @OrcaWin in https://github.com/stablyai/orca/pull/36226
- feat(mobile): match every text input to the chat composer and rebuild the terminal dock by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36166
- fix(chat): keep unconfirmed effort menus for agents other than Pi (fixes main OMP tests) by @nwparker in https://github.com/stablyai/orca/pull/36242
- refactor(cli): keep the retrying PATH command private to the idempotent write by @nwparker in https://github.com/stablyai/orca/pull/36237
- test(computer): verify task event payloads by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36239
- fix(computer): verify Linux window restoration by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36234
- fix(computer): preserve Unicode in Windows typing by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36244
- ci(windows): install Electron once before the Windows boundary tests by @nwparker in https://github.com/stablyai/orca/pull/36248
- fix(browser): stop agent tabs in background worktrees reloading every ~10 s by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36245
- feat(wsl): let an idle WSL host's orcad exit after 5 minutes by @nwparker in https://github.com/stablyai/orca/pull/36243
- fix(browser): save agent downloads to the requested --path and fail fast when none starts by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36240
- Keep async question controls available after agent notices by @brennanb2025 in https://github.com/stablyai/orca/pull/35758
- fix(editor): scroll combined diffs with keyboard navigation by @brennanb2025 in https://github.com/stablyai/orca/pull/35004
- fix(browser): fail with browser_stale_ref when a ref from another tab's snapshot is used after a tab switch by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36251
- fix(wsl-cli): removing the WSL command from a deleted distro forgets its registration by @nwparker in https://github.com/stablyai/orca/pull/36227
- test(acp): await the escalation's first check and delivery instead of fixed event-loop turns by @nwparker in https://github.com/stablyai/orca/pull/36238
- fix(wsl): name the stopped distro, in the user's language, when main holds a terminal start by @nwparker in https://github.com/stablyai/orca/pull/36228
- test(e2e): retry a WSL terminate that never took, once, when Orca launched nothing by @nwparker in https://github.com/stablyai/orca/pull/36256
- fix(wsl): user clicks on cwd-less gh may start the stopped default distro by @nwparker in https://github.com/stablyai/orca/pull/36230
- fix(ui): notification cards lift above a chat composer they would cover by @nwparker in https://github.com/stablyai/orca/pull/36233
- fix(cli): preserve runtime access across Linux PID namespaces by @brennanb2025 in https://github.com/stablyai/orca/pull/35769
- test(windows): reap every process the isolated-spawner suite starts, including skipped paths by @nwparker in https://github.com/stablyai/orca/pull/36249
- Keep existing Continue actions reliable after agent exit and failed starts by @brennanb2025 in https://github.com/stablyai/orca/pull/36074
- docs(wsl): say what keeps a WSL distro up besides the holder by @nwparker in https://github.com/stablyai/orca/pull/36241
- fix(wsl): re-read a distro's automount root after Orca wakes it, at most every 5 min by @nwparker in https://github.com/stablyai/orca/pull/36225
- fix(agent-session): report an ACP or Pi CLI the supervisor could not spawn as missing by @nwparker in https://github.com/stablyai/orca/pull/36229
- docs: prefer focused validation in agent instructions by @AmethystLiang in https://github.com/stablyai/orca/pull/36264
- fix(e2e): return from every path of the WSL boot guard so main's e2e typecheck ratchet is green again by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36261
- fix(browser): agent fill, select, upload and type change the page or fail with a reason by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36263
- fix(browser): keep SSH workspace browser pages from reloading when you switch back by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36266
- plugins: open only the install-source repository link and render only host-served plugin images by @nwparker in https://github.com/stablyai/orca/pull/36270
- docs(plugins): add plugin listing policy by @nwparker in https://github.com/stablyai/orca/pull/36275
- fix(browser): snapshot refs work on server browsers that use an external Chromium by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36276
- fix(pi): use discovery for shared model menus and defaults by @brennanb2025 in https://github.com/stablyai/orca/pull/36194
- fix(plugins): re-verify installed plugin content on every load by @nwparker in https://github.com/stablyai/orca/pull/36277
- Keep cancelled async questions hidden and show new ones by @brennanb2025 in https://github.com/stablyai/orca/pull/35870
- plugins: require an explicit approve fingerprint for RPC plugin grants by @nwparker in https://github.com/stablyai/orca/pull/36279
- fix(browser): let agents and users answer page alert, confirm and prompt dialogs on their page by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36268
- plugins: derive the publisher from the repository owner, like a Go module path by @nwparker in https://github.com/stablyai/orca/pull/36281
- refactor(jira): group saved-filter picker owners by @nwparker in https://github.com/stablyai/orca/pull/36203
- cli: add orca plugin create, validate and inspect by @nwparker in https://github.com/stablyai/orca/pull/36280
- docs(plugins): drop the donation-link and description-URL listing rule by @nwparker in https://github.com/stablyai/orca/pull/36291
- Allow conflict-safe private storage from plugin panels by @AmethystLiang in https://github.com/stablyai/orca/pull/36273
- Reorder same-ID worktrees independently by host by @AmethystLiang in https://github.com/stablyai/orca/pull/36269
- perf(terminal): bound the in-process macOS process table's blocking calls and ps fallbacks (#31783) by @nwparker in https://github.com/stablyai/orca/pull/36282
- cli: fix orca plugin validate for manifests without a publisher by @nwparker in https://github.com/stablyai/orca/pull/36296
- plugins: show the community catalog by default by @nwparker in https://github.com/stablyai/orca/pull/36294
- cli: add orca plugin dev load/unload/reload, list, logs, enable and disable by @nwparker in https://github.com/stablyai/orca/pull/36288
- Keep worktree branches unless CLI deletion is requested by @brennanb2025 in https://github.com/stablyai/orca/pull/35948
- fix(git): read diff blobs without revision path fallback by @OrcaWin in https://github.com/stablyai/orca/pull/34778
- fix(browser): find a hidden tab on the first agent command after a window reload by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36307
- fix(git): resolve current branches without tag ambiguity by @OrcaWin in https://github.com/stablyai/orca/pull/35040
- Revert "Allow conflict-safe private storage from plugin panels" by @AmethystLiang in https://github.com/stablyai/orca/pull/36316
- fix(git): preserve commas in legacy history decorations by @OrcaWin in https://github.com/stablyai/orca/pull/35658
- chore(deps): update Electron to 43.8.4 by @nwparker in https://github.com/stablyai/orca/pull/36323
- fix(git): omit commit subjects from branch-cleanup cherry check by @OrcaWin in https://github.com/stablyai/orca/pull/35390
- fix(mobile): fully unstage renamed files by @OrcaWin in https://github.com/stablyai/orca/pull/34955
- fix(git): stop stale conflict batches after hide or cleanup by @OrcaWin in https://github.com/stablyai/orca/pull/35682
- fix(git): preserve exact local branch names in pickers by @OrcaWin in https://github.com/stablyai/orca/pull/34997
- fix(git): parse submodule paths that contain spaces by @OrcaWin in https://github.com/stablyai/orca/pull/35012
- perf(git): batch username config reads per resolution by @OrcaWin in https://github.com/stablyai/orca/pull/34765
- fix(git): read literal submodule gitlink paths by @OrcaWin in https://github.com/stablyai/orca/pull/35283
- fix(source-control): hide discard for present submodule gitlinks by @OrcaWin in https://github.com/stablyai/orca/pull/34991
- fix(editor): bound inactive combined diff body retention by @OrcaWin in https://github.com/stablyai/orca/pull/34768
- fix(git): fence WSL login-shell stdout for all buffered git reads by @OrcaWin in https://github.com/stablyai/orca/pull/35053
- fix(git): preserve rename sources in staged diff reviews by @OrcaWin in https://github.com/stablyai/orca/pull/34779
- fix(editor): retain combined diff drafts beyond view history limit by @OrcaWin in https://github.com/stablyai/orca/pull/34791
- test: remove 40 low-value test suites by @OrcaWin in https://github.com/stablyai/orca/pull/36336
- fix(git): recognize local SHA-256 workspace bases by @OrcaWin in https://github.com/stablyai/orca/pull/35010
- perf(git): request only cherry-marks from the upstream patch-equivalence probe by @OrcaWin in https://github.com/stablyai/orca/pull/35350
- fix(browser): return every step of an exec batch instead of "Unknown browser error" by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36246
- fix(git): preserve foreign ref locks during maintenance by @OrcaWin in https://github.com/stablyai/orca/pull/35042
- feat(browser): agent browser actions report what they changed: navigation, tabs, dialogs, downloads, console errors and page lines by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36278
- feat(browser): typed snapshot flags, screenshots saved as files, and a guide that keeps browser work in Orca by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36257
- fix(computer): initialize Windows control proxies by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36383
- feat(browser): let agents drive sign-in and payment popups as pages by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36253
- fix(computer): retain wrappers during Linux focus search by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36388
- test: remove 39 low-value test suites by @OrcaWin in https://github.com/stablyai/orca/pull/36389
- feat(browser): upload through file-picker buttons in any frame, including cross-origin iframes by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36390
- test: remove 45 low-value suites (audit 843) by @OrcaWin in https://github.com/stablyai/orca/pull/36396
- feat(mobile): iPhone Duo key rail with D-pad, split terminal panes and half-fold layout by @AmoabaKelvin in https://github.com/stablyai/orca/pull/35177
- fix(computer): preserve synthetic Unicode typing on Linux by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36382
- chore(mobile): bump to 0.0.61 and Android versionCode 25 by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36402
New Contributors
- @YiGeon made their first contribution in #35688
- @Hotragn made their first contribution in #35371
- @Venius24 made their first contribution in #35791
- @teamauresta made their first contribution in #31896
- @promptprobe made their first contribution in #14562
Full Changelog: mobile-android-v0.0.60...mobile-android-v0.0.61
Verify your download
- Size:
138935633bytes - SHA-256:
45e3a464bd2c47c43275c77e001db8cc53291d2caa6b7f199d5bee69180ff572
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).