Thank you so much for using Orca and for your continued support! ❤️
Please note: It usually takes 48–72 hours for a landed PR to be released (except P0 fixes). We have many more exciting PRs and features coming in later versions!
UI / workspace
- feat(worktrees): add per-source visibility controls by @brennanb2025 in #14189
- Move worktree labels to right badge rail with truncation tooltips by @AmethystLiang in #14313
- feat(sidebar): replace the external-worktrees inbox list with one card by @brennanb2025 in #14341
- feat(workspaces): rework cleanup discovery and dialog by @brennanb2025 in #13413
- Remove icons from Non-Orca worktree sources by @brennanb2025 in #14345
- fix(skills): use exported recipe id in environment guide by @erishforG in #14280
- fix(updater): recover renderer shutdown checkpoint by @brennanb2025 in #14373
- Center newly opened tabs at end, keep close controls visible by @AmethystLiang in #14314
- fix(stats): wrap long usage breakdown model names by @AmethystLiang in #14065
- Revert "Center newly opened tabs at end, keep close controls visible" by @AmethystLiang in #14450
- refactor(sidebar): split WorktreeList into a worktree-list module by @nwparker in #14465
- fix(sidebar): satisfy extracted hook quality gates by @nwparker in #14467
- fix(linear): label Start workspace and add Open on Linear by @AmethystLiang in #14492
- fix(workspace-cleanup): refuse removal when the owning host is not certain (STA-4343) by @brennanb2025 in #14731
Orchestration
- fix(agent-map): hold orchestration chevrons at a fixed pitch by @brennanb2025 in #14256
- fix(orchestration): preserve direct user authority after worker_done by @brennanb2025 in #14192
- fix(orchestration): retry silent mail pointers by @brennanb2025 in #14332
- fix(orchestration): wait for Claude composer render by @Jinwoo-H in #14342
- fix(orchestration): mark late dependents ready when deps already completed by @bbingz in #14163
- fix(orchestration): resolve explicit worker worktrees directly by @DTSFO in #14275
- fix(orchestration): release federation ack checkpoints once a dispatch settles by @nwparker in #14380
Agents / native chat
- feat(agent-map): make an unread finish visible and let a glance demote it by @brennanb2025 in #14197
- feat(dashboard): give the agent question state its own color and glyph by @brennanb2025 in #14248
- feat(agent-map): flare fresh questions and finishes by @brennanb2025 in #14349
- feat(dashboard): give the agent map a real filter panel by @brennanb2025 in #14338
- fix(worker-start): allow max effort on the gpt-5.6 Codex family by @kespineira in #14281
- Fix native chat watcher identity race by @brennanb2025 in #14344
- fix(agent-status): preserve Codex escape interruption by @brennanb2025 in #14372
- Fix Codex hook trust before manual shell launches by @brennanb2025 in #14326
- fix(native-chat): keep caller abort ahead of WSL gate refusal by @AmethystLiang in #14445
- fix(agent-teams): require an absolute Orca CLI for the tmux shim by @nwparker in #14438
- fix(agent-status): stop start-less child stops from minting phantom working by @brennanb2025 in #14375
- fix(agent-map): commit slider changes once (STA-4281) by @brennanb2025 in #14442
- STA-4276: preflight Codex in Command Prompt and Git Bash by @brennanb2025 in #14441
- fix(codex): resolve the launch preflight to a verified absolute Orca CLI path (STA-4270) by @brennanb2025 in #14458
Windows / WSL
- Kill hung WSL transcript filesystem operations via child process with route quarantine by @OrcaWin in #15381
Terminal
- fix(terminal): clear the SGR pen on hidden-output restore and abandon by @brennanb2025 in #14241
- fix(daemon): isolate durable-history checkpoints per session (STA-4173) by @brennanb2025 in #14346
- fix(terminal): resolve legacy wrapper fallbacks from PATH only (STA-4169) by @nwparker in #14365
- fix(terminal): make the bold font weight its own setting by @brennanb2025 in #14368
- fix(terminal): reject cwd-resolving PATH entries and harden the legacy wrappers by @nwparker in #14370
- fix(macos): recover severed terminal TCC attribution after updates by @OrcaWin in #13992
- fix(terminal): bake the wrapper interpreter and emit CRLF for cmd by @nwparker in #14382
- fix(terminal): name the POSIX interpreter directly when generating on Windows by @nwparker in #14386
- fix(terminal): clear CDPATH when resolving the wrapper directory by @nwparker in #14387
- fix(terminal): stop leaking raw PTY lifecycle tokens into the error toast by @nwparker in #14415
- fix(terminal): deliver Ctrl+C when a non-Latin input source rewrites the key by @nwparker in #14462
- fix(terminal): resolve Ctrl chords positionally on a non-Latin layout by @nwparker in #14469
- fix(terminal): keep split error when rejected cleanup throws by @AmethystLiang in #14463
- fix(terminal): strip the captured shim dir across trailing-separator spellings by @nwparker in #14439
- fix(terminal): ground the emulator to the snapshot's baseline after a byte gap by @nwparker in #14374
- fix(macos): stop reporting every app update as severed TCC attribution by @brennanb2025 in #14655
- fix(daemon): bound the caller's wait on final durable-history checkpoints (STA-4228) by @brennanb2025 in #14497
- fix(daemon): persist the pending-output counter across empty incremental takes (STA-4297) by @brennanb2025 in #14496
- fix(daemon): harden checkpoint admission after per-session isolation by @brennanb2025 in #14385
Remote server / SSH
- feat(vm): define the provisioned-root recipe contract by @Jinwoo-H in #14352
- feat(vm): add main-owned provisioned SSH root adoption by @Jinwoo-H in #14353
- feat(vm): create workspaces from provisioned SSH roots by @Jinwoo-H in #14359
- feat(relay): prefer the closest available region by @Jinwoo-H in #14366
- revert(ssh): back out #13326 and #13928 — reconnect loses every tab by @nwparker in #14361
- fix(serve): exit cleanly after headless Linux signals by @Jinwoo-H in #14334
- Fix paired remote terminal browser link creation by @OrcaWin in #14363
- fix(vm): make hidden SSH cleanup retryable by @Jinwoo-H in #14351
- fix(ssh): reapply the reattach-identity work and stop the fallback fence stranding moved panes by @nwparker in #14384
- Revert "fix(ssh): reapply the reattach-identity work and stop the fallback fence stranding moved panes" by @nwparker in #14395
- Forward Unix launcher signals to orca serve supervisor by @Boulea7 in #14071
- fix(runtime): cap remote git.diff and file previews at the transport budget by @nwparker in #14160
Browser
- fix(browser): fence the cookie-clear fallback to the pre-clear snapshot (STA-4170) by @brennanb2025 in #14343
- fix(browser): acknowledge paired tab before navigation by @Jinwoo-H in #14402
- fix(browser): restore replaced cookies through CDP identities by @brennanb2025 in #14383
GitHub / source control
- fix(workspaces): gate the GitLab palette number match on repo identity by @nwparker in #14381
- fix(repos): re-probe git remote identity so a stale snapshot stops misjudging identity gates by @nwparker in #14414
- fix(workspaces): gate the GitHub palette number match on repo remote identity by @nwparker in #14413
- refactor(shared): group worktree, github, and linear modules into folders by @nwparker in #14437
- fix(renderer): stop git history hover from showing two tooltips by @AmethystLiang in #14468
- revert: restore git history tooltip change for community PR by @AmethystLiang in #14485
- fix(renderer): remove duplicate git history tooltips by @dngur6344 in #14453
Performance
- fix(ai-vault): make the merged scan stamp independent of leg order by @nwparker in #14270
- perf(worktrees): bound the duplicate-id scan in reuseEqualCatalogRows by @nwparker in #14271
- fix(worktree-scan): stop a stalled admin probe from poisoning repo refresh by @nwparker in #14379
- refactor(store): unify the duplicated catalog equality and identity-key helpers by @nwparker in #13804
- fix(worktree-scan): keep the admin-fingerprint probe inside the caller's per-repo budget by @nwparker in #14454
- perf(renderer): parallelize runtime catalog and worktree refresh by @nwparker in #14138
- perf(runtime): resolve an explicit worktree id without scanning every repo by @nwparker in #14399
- Terminate renderer graph reload generations and contain disposed-frame notifications by @Boulea7 in #14070
- fix(skills): cancel and bound abandoned skill discovery scans by @nwparker in #14670
Mobile (mobile has its own release cycle, so here is just a reference, not actual release for mobile)
- Fix mobile HTML report rendering by @brennanb2025 in #14196
- fix(mobile): stop republishing stale launch agent identity by @brennanb2025 in #14244
- fix(mobile): keep terminal identity scoped to leaves by @brennanb2025 in #14247
- fix(mobile): self-heal host opens and harden session liveness by @Jinwoo-H in #14333
- fix(mobile): render pairing QR at scanner-safe scale by @Jinwoo-H in #15058
Tests / CI
- Add golden E2E tests for fresh terminal and shell commands by @AmethystLiang in #14302
- test(e2e): stabilize triaged release failures by @AmethystLiang in #14242
- test: add golden E2E tests for source control workflows by @AmethystLiang in #14260
- test(e2e): add golden E2E tests for workspace session management by @AmethystLiang in #14304
- test: add golden e2e tests for agent TUI launch and shell recovery by @AmethystLiang in #14258
- test(e2e): stabilize release triage coverage by @AmethystLiang in #14328
- test(renderer): cover Agent Dashboard status replay fanout by @Jinwoo-H in #14036
- Deflake native chat watcher rebind test by @brennanb2025 in #14335
- fix(docs): replace stale preload typecheck reference by @HoonDongKang in #14298
- test(terminal): pin the wrapper security properties that survived mutation by @nwparker in #14394
- ci(windows): cover the worktree admin fingerprint on the Windows runner by @nwparker in #14378
- test(terminal): fix ordering pins that pass when the needle is absent by @nwparker in #14409
- refactor(shared): split shared/types.ts into per-domain type modules by @nwparker in #14397
- refactor(preload): split the preload contract into per-domain api modules by @nwparker in #14403
- fix(test): deflake relay exec env, project boundary, and speech resume tests by @nwparker in #14446
- refactor(shared): drop the shared/types barrel and import from the real modules by @nwparker in #14447
- test(e2e): stabilize terminal failure coverage by @AmethystLiang in #14466
- test(e2e): headless preedit-geometry coverage for Korean and CJK terminal input by @nwparker in #14500
- fix(e2e): unblock golden file-link hover and Windows worktree activate by @AmethystLiang in #14720
New Contributors
- @HoonDongKang made their first contribution in #14298
- @DTSFO made their first contribution in #14275
- @Boulea7 made their first contribution in #14071
- @dngur6344 made their first contribution in #14453
Full Changelog: v1.4.184...v1.4.185