Repository navigation
Release notes
Release notes for SwapLabs Orca. Each revision includes the earlier changes. For all changes since rev 2, read the September 30 release and the rev 6, rev 5 and rev 4 entries below.
1.4.214-swaplabs.202610301022 · Changes since swaplabs-v1.4.214+202610291028 (291d584bcb06)
Brings in 326 upstream commits through fork PR #74. 2 files conflicted. Every fork feature is kept, and no operator decision was needed.
-
Upstream:
- Links: web links in Orca's own buttons and pages, such as release notes and PR links, open per the open-links-in-Orca setting. Sign-in, installer and similar pages still open in the system browser.
- WSL: a terminal or chat on a stopped distro waits on a Start card instead of starting the distro in the background, and an idle WSL host's server exits after 5 minutes.
- Agents: resumed sessions are quoted for the OS and shell of the host that runs them, Codex starts without its paste-burst guess outside Windows, and Settings has a per-host limit on running terminals.
- Chat: messages between agents show as cards, GitHub PR and issue links get hover cards, web links get previews, and Settings picks Chat or CLI in each agent's row.
- Plugins: one Plugins list with install filters, and
orca plugincommands to create, validate and develop plugins. - Source control: merge conflicts can be resolved and merges completed from the panel and from the phone.
-
Fork:
- Settings → Updates: the fork's "Release notes" links follow the link setting like upstream's. The fork's installer download and a managed server's "How to update" link still open in the system browser.
- No other feature changed. Fork code in two upstream files moved into fork-owned files, because upstream's growth pushed those files over the line limit.
Builds: swaplabs-v1.4.214+202610301022
from 0d270950b70c,
for macOS arm64 and x64 and Linux x64 and arm64.
Host rollout, 30 October: installed on minidev-tolie1 (Linux x64) using the
Orca role at SwapLabs PR #278
(b607ea85576a). The running server reports 1.4.214-swaplabs.202610301022,
the AppImage matches the pinned SHA-512, and the hourly updater is enabled and reports current.
All 16 existing Claude processes survived the install and a second service restart. A test
terminal also survived the second restart and returned command output afterward; cleanup succeeded.
The existing terminal daemon remains on its prior 0.1.0+033018f7660d bundle in a separate
user scope, so this does not verify the new build's daemon-side fixes. Matching Mac installation
and desktop pairing were not checked. See the verification record.
Mac installation, 30 October: the signed arm64 DMG is installed on
Anatolies-MacBook-Pro (macOS arm64), replacing stock Orca 1.4.245. The signature, pinned
certificate, signed update manifest, version, commit and update feed were verified before the
swap. Orca was quit normally; the terminal daemon and an open Claude session kept running, and the
new build reattached that terminal. The new CLI reaches the saved minidev-tolie1 runtime.
Permission prompts and in-app updates were not checked. See the
verification record.
1.4.214-swaplabs.202610291028 · Changes since swaplabs-v1.4.214+202610281545 (a1597a19aee6)
Brings in 511 upstream commits through fork PR #72. 10 files conflicted. Every fork feature is kept, and no operator decision was needed.
-
Upstream:
- Languages: German. Updater errors, Agent Session History scan issues and browser cookie-import failures are now translated.
- Mobile: the app is translated, dictation shows the words as you speak with a voice meter, and chats lay out code, tables and quotes more clearly and show images that live on the desktop.
- WSL: background work no longer starts a stopped distro (session history, Codex hooks, commit
history), WSL shells report their folder so restores follow
cd, and a WSL project on a Windows drive can use Git for Windows. - Files: a remote server's large folders load page by page, remote images, PDFs, audio and video preview, and large remote text files save.
- Terminal: keys typed before a remote terminal connected, and therefore not sent, are reported.
- Plugins: app and terminal themes share one Theme list.
-
Fork:
- Update errors in Settings → Updates are translated like upstream's, in the fork's release-source layout too. The fork's own update-source messages are still English in every language (SwapLabsInc/orca#43).
- The titlebar keeps the fork name, version and revision in German.
- No other feature changed. Fork code in two upstream files moved into fork-owned files, because upstream's growth pushed those files over the line limit.
Builds: swaplabs-v1.4.214+202610291028
from 291d584bcb06,
for macOS arm64 and x64 and Linux x64 and arm64. No installation of it was checked for these
notes.
1.4.214-swaplabs.202610281545 · Changes since swaplabs-v1.4.214+202610281022 (34f36fd477d0)
Four fork PRs merged after the 28 October sync, built three times. These builds had no entry and are recorded with the 29 October sync.
-
Fork:
- Sidebar: dragging the left sidebar narrower no longer leaves a black strip beside the terminal. At a far-out UI zoom, the sidebar stops shrinking before its titlebar buttons overlap (#66).
- TeamClaude: on machines that run TeamClaude, a row at the bottom of the left sidebar shows where you stand in the team's token use today. Clicking it opens the full board (#67, #68).
- Orchestration: a coordinator's "orchestration message" notice waits until you stop typing in its terminal, and a batch of heartbeats alone types nothing (#69).
Builds:
-
swaplabs-v1.4.214+202610281503frome9b0323381b9(#66), for macOS arm64 and x64 and Linux x64 and arm64. -
swaplabs-v1.4.214+202610281524from0e89e5c6d942(adds #67 and #69), for macOS arm64 and Linux x64 and arm64; it has no macOS x64 assets. -
swaplabs-v1.4.214+202610281545froma1597a19aee6(adds #68), for macOS arm64 and x64 and Linux x64 and arm64.
No installation of them was checked for these notes.
1.4.214-swaplabs.202610281022 · Changes since swaplabs-v1.4.214+202610271435 (7d5ebba0c239)
Brings in 335 upstream commits through fork PR #64. 12 files conflicted. Every fork feature is kept, and no operator decision was needed.
-
Upstream:
- App: Quit and Stop All Sessions in the app menu and tray. The terminal daemon moves to protocol v53 with the terminal fixes since v1.4.241: the new build starts a fresh daemon, and terminals of the running one keep running until they end.
- Native chat: queued messages can be edited inline, a chat can hand off work from its header or right-click menu, and closing an active chat asks first.
- WSL: the WSL project mover is merged but turned off; a chat on a stopped distro says so and offers Start.
- Languages: Russian, Turkish and Traditional Chinese; counts follow each language's plural rules.
- Browser: Chrome extensions install from the Web Store into Orca's browser.
-
Fork:
- The titlebar keeps the fork name, version and revision in the three new languages.
- The resume chooser and the managed-server update help are not translated into Portuguese, Russian, Turkish or Traditional Chinese yet, so those languages show them in English (SwapLabsInc/orca#65).
- Manage Sessions' Kill All still reaches sessions on a drained daemon (opt-in
ORCA_DAEMON_DRAIN_STALE_BUNDLE=1), now on top of upstream's handling of a daemon that does not answer. - No other feature changed. Fork code in one upstream file moved into a fork-owned file, because upstream's growth pushed that file over the line limit.
Builds: swaplabs-v1.4.214+202610281022
from 34f36fd477d0,
for macOS arm64 and x64 and Linux x64 and arm64. No installation of it was checked for these
notes.
1.4.214-swaplabs.202610271435 · Changes since swaplabs-v1.4.214+202610261042 (4997ffc04157)
Brings in 359 upstream commits through fork PR #62. 21 files conflicted. Two fork features overlapped with new upstream work, and the operator decided both (SwapLabsInc/orca#61).
-
Upstream:
- Connectors: agents can be started from Slack or Discord and reply in their thread, and the owner can answer an agent's approvals and questions from Slack.
- WSL: an idle distro can stop once its Orca server idles out, and background work no longer starts a stopped distro.
- Mobile: terminals, pull requests, chat cards and source control follow desktop's rules.
- Resume: a host whose terminal daemon restarted resumes each pane's agent from its hook records instead of replaying the pane's launch. A slept pane wakes in its own folder.
- Projects: a project on a paired server can be removed while that server is unreachable; the server removes it too once it reconnects.
- Updates: the stable fallback pins the newest stable release, the app's proxy reaches the updater, and no update message goes to a closed window.
- SSH: SSH workspaces open in Cursor and Zed, and each host can turn off reconnecting at launch.
-
Fork:
- Removing a project whose server is offline now uses upstream's flow, so the project no longer comes back when the server reconnects. The fork's Remove from Orca dialog for an unreachable host is gone.
- Agent resume after a lost terminal now runs through upstream's new resume, with the fork's rules kept: a session the user ended is not resumed automatically, resumes use the agent's default flags from Settings, and a resume that fails to start opens a plain shell.
- A few resume cases now follow upstream. An agent tab with nothing to resume launches its agent fresh instead of opening a plain shell. A conversation an open native chat holds is not resumed in a terminal, and Claude and Codex resume in the folder they ran in. Auto-resume after a host restart still starts in the pane's folder (SwapLabsInc/orca#41).
- No other feature changed. Fork code in four upstream files moved into fork-owned files, because upstream's growth pushed those files over the line limit.
Builds: swaplabs-v1.4.214+202610271435
from 7d5ebba0c239,
for macOS arm64 and x64 and Linux x64 and arm64. No installation of it was checked for these
notes.
1.4.214-swaplabs.202610261042 · Changes since swaplabs-v1.4.214+202610251026 (48d48683c3d2)
Brings in 210 upstream commits through fork PR #58. 31 files conflicted, 20 of them because upstream shortened comments next to fork lines. Every fork feature is kept.
-
Upstream:
- Chats and terminals: a native chat never starts writing a conversation that a terminal is still writing, and panes restored after a restart leave alone a conversation an open chat continues.
- Resume: Claude and Codex come back in the folder they ran in, and Claude at the effort level it last used. Hermes panes resume their own session, and a resumed background launch keeps its flags.
- Claude: the sidebar opens and follows a Claude subagent's view.
- Updates on Linux arm64 check the arm64 update file.
- Lighter on memory: the terminal daemon, bundled scripts, Monaco's TypeScript worker and idle process checks all use less.
- On macOS,
orca serveno longer shows in the Dock; on Linux it can use the GPU. - A repository-wide comment cleanup and test pruning, with no behaviour change.
-
Fork:
- Auto-resume after a host restart now goes through upstream's new chat check: the host refuses to resume a conversation that an open native chat holds, instead of starting a second writer.
- The fork's own resumes still start in the pane's folder, not the agent's (SwapLabsInc/orca#41).
- No other feature changed. Fork code in four upstream files moved into fork-owned files, because upstream's growth pushed those files over the line limit.
Builds: swaplabs-v1.4.214+202610261042
from 4997ffc04157,
for macOS arm64 and x64 and Linux x64 and arm64. No installation of it was checked for these
notes.
1.4.214-swaplabs.202610251026 · Changes since swaplabs-v1.4.214+202610241027 (a1c9ba1fd4a0)
Brings in 213 upstream commits through fork PR #56. 11 files conflicted, each in one small spot, and every fork feature is kept.
-
Upstream:
- A remote server this desktop installed over SSH offers Update on its row in Remote Orca Servers when this desktop carries a newer build. Update anyway restarts it while terminals run there, and the terminals survive the restart.
- Keys typed into an agent pane before the agent has started are kept as a draft and pasted once it is ready. Keys typed before a pane's terminal exists are no longer lost.
- Resume: Orca no longer resumes an agent whose terminal is still running. A cold-restored terminal keeps its agent session, and a resumed Kimi pane stays resumable after the next restart.
- SSH: saved port forwards come back after a restart that reconnects through the host's Orca server. A forward that could not start says why and can be removed.
- Browser: a hovered link shows its address at the bottom of the page, tabs that play sound can be muted, and the new tab page has bigger tiles.
- Terminals: input to a terminal that stopped accepting it is refused instead of reported as
delivered. On macOS and Linux, closing a plain shell from a phone, a headless tab or a
worktree stop now ends the processes it started, as closing a desktop tab already did; its
nohupanddisownjobs are spared. Several Windows and WSL fixes. - Developer tooling: component fixtures with screenshots, new lint rules for flaky test
patterns, and
pnpm check:changedas the one check to run before handing off.
-
Fork: no feature changed.
- On a server this desktop updates over SSH, the update help is upstream's new text. A host that publishes an update-help link, such as the devvms hosts, still says its deployment manages updates and shows the How to update link.
- Fork tests now follow upstream's new lint rules. One test helper was renamed, and the fork's existing test patterns are recorded in the new flaky-test baseline.
Builds: swaplabs-v1.4.214+202610251026
from 48d48683c3d2,
for macOS arm64 and x64 and Linux x64 and arm64. No installation of it was checked for these
notes.
1.4.214-swaplabs.202610241027 · Changes since swaplabs-v1.4.214+202610231401 (7d33e616aea9)
Brings in 236 upstream commits through fork PR #53. 21 files conflicted, 17 of them because upstream shortened comments next to fork lines. Every fork feature is kept.
-
Upstream:
- Remote terminals: a terminal opened before SSH sign-in waits and starts once you sign in, and a restored SSH terminal recovers after a password sign-in. A remote pane whose host process ended re-attaches when the host starts a new one. A split made right after a paired-server tab opens starts on the server.
- Each agent's permission setting is stored on its own, and terminals and new chats read it. Agent startup failures are explained in plain words.
- Worktrees: Orca no longer prunes worktrees that the other Git (Windows or WSL) created, and it reclaims stale dependencies and build output across worktrees.
- Browser: history controls with a history view, a browser profile per repo or workspace, links that open beside their pane, and pages that say why they failed to load.
- Chat: a Claude chat shows the turns made outside it, and kept messages show after a reconnect without reopening the chat.
- New
orca portscommand lists a workspace's detected ports. - A large comment cleanup and test consolidation, with no behaviour change.
-
Fork: no feature changed.
- Auto-resume after a host restart now starts the resumed agent with the permission setting you chose, like every other launch.
- The check that resets a replaced terminal's input modes now reads upstream's own process id for the pane instead of the fork's copy of it.
Builds: swaplabs-v1.4.214+202610241027
from a1c9ba1fd4a0,
for macOS arm64 and x64 and Linux x64 and arm64. No installation of it was checked for these
notes.
1.4.214-swaplabs.202610231401 · Changes since swaplabs-v1.4.214+202610221844 (412ee3374a97)
Brings in 138 upstream commits through fork PR #50. Three small conflicts kept the fork's lines as they were; no fork feature changed.
-
Upstream:
- File watching is lighter and steadier. Orca watches only the files it needs in its settings
folder and
.git, and rides out a slow system instead of restarting. Every view of a shared file stays current after undo or discard, and a non-UTF-8 file asks before it is converted. - Orca installs and updates its own skills, with one click on every setup screen, including on paired servers and SSH hosts.
- Git: Resolve with AI for a paused merge, rebase or cherry-pick. A PR comment's
file:lineopens in the editor. - Native chat: a refused queued message can no longer be skipped, right-click offers spelling suggestions, and every image in a multi-image drop is kept. A missing Claude or Codex CLI no longer stalls the model picker.
- Browser tabs have a Chrome-style page context menu and DevTools shortcuts.
- Agent status: a nested
claude -pno longer takes over its parent pane's status, and Codex subagents show their task names. - Mobile: terminal copies (OSC 52) reach the phone's clipboard, and a multi-line chat message is sent as one paste.
- File watching is lighter and steadier. Orca watches only the files it needs in its settings
folder and
- Fork: no behaviour change. The fork's update-source and host-resume lines sit on top of upstream's rewritten code.
Builds: swaplabs-v1.4.214+202610231401
from 7d33e616aea9,
for macOS arm64 and x64 and Linux x64 and arm64. No installation of it was checked for these
notes.
1.4.214-swaplabs.202610221844 · Changes since swaplabs-v1.4.214+202610221817 (cfe8685da9a7)
Brings in 10 upstream commits through fork PR #47. They merged cleanly; no fork feature changed.
-
Upstream:
- A long paste is attached as a text file, and a message that is too large is flagged before it is sent.
- Session History shows each agent's reading progress.
- A Pi chat shows the turns made outside it.
- Phone and paired-desktop layout changes, active only in layout-owner builds.
- Refactors with no visible change: one start path for terminals, and moved modules.
Builds: swaplabs-v1.4.214+202610221844
from 412ee3374a97. No installation of it
was checked for these notes.
1.4.214-swaplabs.202610221735 · Changes since swaplabs-v1.4.214+202610021733 (9e364c6cd451)
Brings in 3,484 upstream commits (1–22 October) through fork PR #38. Every fork feature is kept.
The two builds before this sync have no entries of their own here:
-
…202609302055: the Forca title (#31) and host resume after terminal loss (#30); -
…202610021733: the worker-release fix (#34) and the 1 October upstream sync (#35). -
Upstream:
- SSH hosts now run a managed Orca server (orcad) instead of the old relay.
- Upstream added its own agent resume after restarts and sleeps.
- Native chat gains many features.
- Remote Orca Servers in Settings is a single list.
- Portuguese is a new language.
-
Agent resume (fork): where upstream saved a record for a pane, upstream's resume now runs first. The fork's host resume after terminal loss covers panes that have no record, which is the usual case on a headless host. The rule is unchanged that a session you ended yourself resumes only by hand.
-
Daemon drain (fork, opt-in): a stale daemon whose AppImage files are gone now drains instead of running degraded. The drain is off on the macOS desktop, whose daemon is now a launchd job.
-
Sidebar (fork): delegated remote workers still nest under their coordinator. Pinned coordinators now bring their workers along.
Known limits after this sync:
- Fork desktop builds don't yet bundle the orcad deployment template, so they can't set up a managed SSH host (#39).
- The fork's automatic resumes still use your default agent flags rather than the flags the session was started with (#40).
- The other follow-ups are tracked in #41 to #45.
Builds: swaplabs-v1.4.214+202610221735
is the first build of this sync for every platform: macOS arm64 and x64, Linux x64 and arm64.
Its source is 66ee345e87a7.
No installation of it was checked for these notes.
-
…202610221710, the sync's first build, has Linux assets only. Its macOS jobs failed a new upstream packaging check that starts the bundled terminal host: the x64 slice ran under Rosetta on an Apple-silicon runner and missed the check's 20-second limit. Since fork PR #46, each Mac slice builds on a runner of its own architecture. -
…202610221817is the same app. It only adds a Slack note to the build workflow (fork PR #48).
1.4.214-swaplabs.202609301707 · Changes since rev 6 (35567ddd7089)
- Signed macOS releases: CI now signs macOS builds with the self-signed SwapLabs Orca certificate and publishes a zip and an Ed25519-signed update manifest next to each DMG. Signing is on from the first build after 28 September 2026's secrets setup; earlier releases have unsigned DMGs only. (Fork PR #15)
-
macOS self-update: a signed Mac build now installs later SwapLabs releases in-app, with
verification and rollback (fork PR #16). Builds
before
swaplabs-v1.4.214+202609291918asked GitHub for a double-encoded file name and never found their updates, on macOS and Linux alike (fork PR #27). Each desktop therefore needs one manual install of…202609291918or newer first; see Install on macOS from a release, which now includes an agent prompt. This manual install was verified on a real Mac; in-app installation and rollback were not exercised. - Codex terminals (upstream): launches default to running without Codex's shared background server, with a setting to opt back in.
- Native chat (upstream): messages sent during a turn wait in editable cards above the composer. Subagents have their own conversation sections.
- SSH workspaces (upstream): a failed remote config read no longer overwrites the agent's config, and typing is preserved while a remote terminal reattaches.
Installed on kiwiM5, macOS arm64, replacing stock Orca 1.4.217, from
swaplabs-v1.4.214+202609301707.
The source is 0727f8ed9d7fe760660b4896f5ae103728aa9496, including upstream through
d2dbe2c385c30fb02be12dceb71fc5f19a560ecc. The app and saved state were backed up;
the installed app was verified and left closed. See the
installation checks and limits.
25 September 2026 · Changes since rev 5
- Agent status (upstream): Claude subagents now report through the host's agent-status store.
- Mobile terminals (upstream): Fixed terminal input when reopening a worktree.
- Host rollout: minidev-alex1 now runs the same fork commit as the Mac. Its daemon and a test terminal survived a subsequent Orca service restart, and terminal input/output still worked. The first upgrade stopped the old sessions after coordinators saved their work.
macOS updates still require manual installation. PRs #15 and #16 are not included in this build.
Full changes from rev 5 to rev 6 · All changes from rev 2 to rev 6
25 September 2026 · Changes since rev 4
- Update buttons: Settings → Updates now has separate controls for SwapLabs and upstream, with the running source marked. The current or an older build of that source is not offered as a new download. (Fork PR #14)
- Pending updates: A downloaded update keeps its selected version and source. Further in-app downloads wait, while links to manual downloads remain usable.
- Chat lifecycle (upstream): Leaving a chat starts its idle timer, but running subagents and background commands keep it alive. Claude chat can restart after its main process exits even when child process status cannot be verified.
- Terminal panes (upstream): Single terminal panes now have a close button.
- Translations (upstream): Added 85 translated keys across Spanish, French, Japanese, Korean and Chinese.
macOS fork updates still require manual installation. The new buttons do not change that.
Full changes from rev 4 to rev 5
25 September 2026 · Changes since rev 2
- Session recovery: Mouse movement and terminal focus events no longer count as typing, which could interfere with automatic recovery after a host restart.
- Update source: Fork builds check SwapLabs for updates instead of falling back to upstream. Updates must have matching version, repository and platform metadata before installation. The separate download buttons were added in rev 5.
-
Build version: The titlebar shows the upstream version and numbered fork revision,
for example
Orca 1.4.197 (SwapLabs/4). - Terminals: Upstream fixes improve resizing and restored output, clear stale input modes, and make restarting Codex replace its process instead of reattaching the old one.
- Native chat: Upstream fixes improve reopening and retries. Model pickers appear immediately, older messages load automatically, and sent messages have a copy button.
- Agent status: Upstream fixes reduce incorrect activity indicators after cancellation and background tasks, and improve session history.
- Mobile and remote work: Upstream fixes improve mobile reconnection and terminal layout, bundle search for local, WSL and SSH use, and recognize symlinked skill directories.
- Builds: Added a dedicated fork build and release workflow with version-order checks. Its configuration is documented in the build guide.
Full changes from rev 2 to rev 4 · All changes from rev 2 to rev 5
The earlier fork changes, already included in rev 2:
- Recover agent sessions after a host restart. (#6)
- Keep a pane's resume handle when contact with its host is lost. (#1)
- Nest delegated workers beneath their coordinator in the sidebar. (#4)
- Allow removing projects whose hosts are unreachable. (#3)
- Avoid treating an unknown host as SSH. (#5)
-
Host terminal cleanup: Closing the test pane after the successful restart test returned
terminal_stop_unverifiable; the daemon exited and Orca respawned it. The host is running again, but the cause of that cleanup failure is not established. - “Session snapshot could not be saved” is not confirmed fixed. The rev 6 installation still needed the approved force-quit fallback after backing up saved state.
- Current signed macOS fork builds support in-app SwapLabs updates; older or ad-hoc builds need a manual install. Switching between upstream and the fork remains manual because the signers differ. In-app update/restart/rollback was not tested during the September 30 installation. See update behavior.
- Rev 6 passed the local build/install checks and the host service-restart test. Full desktop/mobile flows, automatic agent recovery and a full VM reboot were not tested. Rev 5's 61 targeted tests were not rerun for rev 6. See the verification record.
For exact versions, commits and installation steps, see the build guide.