Changelog

Every release of OrbitDock, from the latest to the first. Follow along on GitHub Releases.

v0.5.0

✨ v0.5.0

Quick start

  • App (macOS): Download OrbitDock-0.5.0.zip, unzip it, then launch OrbitDock.app.
  • App (iPhone and iPad): Join the TestFlight beta: https://testflight.apple.com/join/w4jThqxE
  • Server (recommended install):
  • curl -fsSL https://raw.githubusercontent.com/Robdel12/OrbitDock/main/orbitdock-server/install.sh | bash
  • Standalone server assets:
  • orbitdock-darwin-arm64.zip
  • orbitdock-linux-x86_64.zip
  • orbitdock-linux-aarch64.zip
  • Docs: https://github.com/Robdel12/OrbitDock#readme

> The macOS app still includes the server for local use.

>

> You only need the standalone server zips if you want to run OrbitDock on another machine, a VPS, or a shared box.

>

> This release also adds Sparkle-based app updates on macOS, including stable, beta, and nightly channels.

>

> This is another big one. There will probably be bugs. I’m still just one dude :)

OrbitDock v0.5.0

This release covers everything from v0.4.0 to v0.5.0.

It’s a fast follow, but not a small one: roughly 46 commits across 343 changed files, with 25,664 insertions and 11,594 deletions between 2026-03-23 and 2026-03-26.

If v0.4.0 was the release where OrbitDock’s shape got a lot clearer, v0.5.0 is the release where a bunch of those foundations get tightened up. The session model becomes much more server-authoritative, transport gets pushed into a cleaner HTTP-first contract, Mission Control gets safer and more flexible, the native client gets a substantial rendering and interaction pass, and the release/distribution story gets a lot more real for the macOS app.

Highlights

macOS distribution, updates, and release tooling took a real step forward

  • Added a native Sparkle updater to the macOS app, including a proper Check for Updates action.
  • Added user-selectable stable, beta, and nightly update channels in Settings.
  • Added maintainer tooling for notarized app archives and GitHub-hosted Sparkle appcast generation.
  • Added an automated nightly macOS release pipeline that builds the app, produces appcasts, and publishes rolling prereleases.
  • Expanded the nightly workflow so it can also build and publish server assets and generate changelog-style release notes automatically.
  • Hardened installer validation so checksum verification is required whenever verification tools are available.
  • Improved service install and restart behavior, including better stale PID cleanup, clearer doctor output, and safer launchd replacement handling.
  • Fixed Linux release packaging issues, including Docker build context problems and missing native Linux CI dependencies.
  • Added .dev bundle identifiers and fixed the iOS local-network permission path so local server connections work reliably in built apps.

Session transport and state are much more server-authoritative now

  • Moved the platform toward an HTTP-first session transport contract.
  • HTTP now owns bootstrap, lifecycle mutations, and heavier payloads, while WebSocket focuses on realtime deltas, replay, heartbeats, and refetch hints.
  • Removed the old client dependence on WebSocket snapshot bootstrap and aligned the Swift client with authoritative server responses.
  • Added stronger typed compatibility contracts on the Swift side so newer and older servers can negotiate behavior more safely.
  • Simplified server-side bootstrap, restore, compatibility, and session-lifecycle handling around the new contract.
  • Added new persistence and protocol support for session lifecycle state and session control mode.
  • Added protocol-compat logging and WebSocket upgrade diagnostics to make version mismatch and connection debugging easier.
  • Fixed reconnect, restore, and passive-update flows that surfaced during the transport rewrite.

Mission Control got more flexible, more secure, and more operationally useful

  • Added multi-endpoint mission support, so missions can be created on and managed from any connected server endpoint.
  • Added aggregated mission summaries and endpoint-aware mission UI, including endpoint pickers and badges when multiple servers are connected.
  • Refreshed the Mission Control and dashboard surfaces around a cleaner project-first navigation model and a more flight-deck-like overview.
  • Made mission tracker type editable after creation, keeping MISSION.md and persisted server state in sync.
  • Moved tracker credentials to mission-scoped secure config, stored encrypted at rest with mission-first resolution and fallback to env/global config.
  • Added REST endpoints for per-mission tracker-key management, adoption from a global key, and scoped key removal.
  • Expanded generated MISSION.md files so they now act as lightweight inline docs, with commented option hints for provider strategy, tracker config, Claude options, Codex options, trigger filters, and orchestration settings.
  • Extracted cleaner workspace-dispatch seams on the server so mission execution logic is less tightly coupled.

Conversation rendering and the native app experience got a substantial polish pass

  • Rebuilt the native markdown conversation renderer around a segment-based prose pipeline instead of the older block-by-block SwiftUI composition.
  • Made text selection in conversation output feel much more normal and document-like.
  • Added dedicated prose-building, segment-projection, and markdown-parsing regression tests to lock in the new rendering path.
  • Added a narrow normalization pass for loose chat-style list continuations so native markdown parsing matches real-world chat formatting better.
  • Smoothed streaming row emission so responses no longer stall on tiny initial fragments.
  • Moved dashboard preview text, activity summaries, and alert context to shared server-authored fields for more consistent rendering.
  • Reworked conversation follow behavior, scroll anchoring, delta planning, and user-scroll detection to make long-running timelines feel steadier.
  • Replaced the old NotificationManager and ToastManager path with a more focused NotificationCoordinator built around SessionTransitionDiff.
  • Added AppFocusTracker so notification behavior can respond more intelligently to window focus.
  • Fixed passive session ending flows across dashboard, quick switcher, and session detail surfaces.
  • Removed ended passive sessions from the dock immediately and kept dashboard conversation feeds active-only after refresh.
  • Added dedicated styling for undone and rolled-back turns.
  • Continued polishing the new-session flow, project picker, endpoint selector, settings surfaces, session detail layout, dashboard status surfaces, library filters, and Mission Control detail views.

Codex, Claude, and session control flows got more correct

  • Moved steerable to a server-authoritative field instead of client-side heuristics.
  • Added SteerOutcome feedback so clients can tell whether a steer request was accepted or fell back to a new turn.
  • Fixed a server-side Codex steer no-op where steer actions were received but not actually executed.
  • Routed steer outcome and steerability changes through Swift, web, protocol, and session-store layers.
  • Fixed Claude permission-mode drift in the web UI so the session pill now reflects the real live permission_mode instead of a Codex approval-policy concept.
  • Aligned session steering behavior with work-status semantics so docked sessions no longer present steer affordances at the wrong times.

Sync, persistence, and server internals kept moving forward

  • Added Phase 2 typed sync-command serialization for remote workspace sync.
  • Introduced explicit SyncCommand and SyncEnvelope conversion coverage across the current persistence surface.
  • Completed Phase 3 with a managed sync writer, spool/retry behavior, shutdown draining, startup flags, and end-to-end persistence-to-sync integration coverage.
  • Hardened managed-sync restore and shutdown paths after the initial sync-writer landing.
  • Continued pushing the Rust server toward cleaner boundaries across protocol, persistence, runtime, transport, and connector layers.

Quality, docs, and engineering workflow improved too

  • Split the root Makefile into more focused make/*.mk modules.
  • Added design-system guidance and refreshed internal skill/reference docs for agents working in the repo.
  • Added a Codex PR review workflow that runs on PR open and posts concise findings back to the pull request.
  • Tuned that PR-review automation to use GPT-5.4 mini with high reasoning effort.
  • Improved Rust CI caching with Swatinem/rust-cache, cutting warm-cache Rust CI times down substantially.
  • Added job-control signal handling to the dev console so ctrl-z suspend/resume works properly.
  • Removed unused UI test targets and kept cleaning up noisy logging and rough edges discovered during the transport/client rewrite.

Important release notes

  • The macOS app now has Sparkle-based app updates.
  • Users can choose stable, beta, or nightly channels in Settings.
  • The session transport contract is now much more HTTP-first.
  • Bootstrap, lifecycle changes, and heavy payloads should go through HTTP.
  • WebSocket is now primarily for deltas, replay, heartbeats, and refetch hints.
  • Mission Control now supports multi-endpoint setups.
  • You can create and manage missions against any connected server endpoint.
  • Mission tracker credentials can now be mission-scoped and encrypted at rest.
  • Existing setups still work through environment-variable or global-config fallback.
  • Generated MISSION.md files are much more self-documenting now.
  • Server install/service defaults now lean toward LAN accessibility.
  • Review your deployment setup if you expose OrbitDock beyond a trusted local network.
  • CORS is still disabled by default.
  • If you need browser access, explicitly set ORBITDOCK_CORS_ALLOWED_ORIGINS.
  • The iPhone and iPad app is still available through TestFlight.
  • Join here: https://testflight.apple.com/join/w4jThqxE

Release assets

Upload and download set for v0.5.0:

  • OrbitDock-0.5.0.zip
  • orbitdock-darwin-arm64.zip
  • orbitdock-darwin-arm64.zip.sha256
  • orbitdock-linux-x86_64.zip
  • orbitdock-linux-x86_64.zip.sha256
  • orbitdock-linux-aarch64.zip
  • orbitdock-linux-aarch64.zip.sha256

Full changelog

  • Compare: https://github.com/Robdel12/OrbitDock/compare/v0.4.0...v0.5.0
v0.4.0

✨ v0.4.0

Quick start

  • App (macOS): Download OrbitDock-0.4.0.zip, unzip it, then launch OrbitDock.app.
  • App (iPhone and iPad): Join the TestFlight beta: https://testflight.apple.com/join/w4jThqxE
  • Server (recommended install):
  • curl -fsSL https://raw.githubusercontent.com/Robdel12/OrbitDock/main/orbitdock-server/install.sh | bash
  • Standalone server assets:
  • orbitdock-darwin-arm64.zip
  • orbitdock-linux-x86_64.zip
  • orbitdock-linux-aarch64.zip
  • Docs: https://github.com/Robdel12/OrbitDock#readme

> The macOS app still includes the server for local use.

>

> You only need the standalone server zips if you want to run OrbitDock on another machine, a VPS, or a shared box.

>

> The iPhone and iPad app is available through TestFlight in this release cycle.

>

> This release is huge. There will probably be bugs. I’m still just one dude :)

OrbitDock v0.4.0

This release covers everything from v0.3.0 to v0.4.0.

It’s a massive one: roughly 410 commits across 1,295 changed files.

If v0.3.0 was the release where OrbitDock got a lot more serious, v0.4.0 is the release where the shape of it gets a lot clearer. Mission Control lands as a real autonomous workflow, Codex support goes much deeper, the conversation and review experience gets rebuilt in a bunch of important ways, and the server, web, and install story is a lot more complete.

Highlights

Mission Control becomes real

  • Added Mission Control, OrbitDock’s autonomous issue-driven agent orchestration system.
  • Added issue pipeline management, blocked state, timestamps, admin actions, PR linking, and richer mission persistence.
  • Added GitHub Projects v2 trigger support.
  • Added repo-local MISSION.md driven skills and dispatch behavior for Codex.
  • Added mission worktree wiring and better worktree/session linkage.
  • Expanded the Mission Control dashboard and management UI across macOS, iPad, and iPhone layouts.
  • Improved mission polling, orchestration stability, retry behavior, status syncing, and operator visibility.

Codex support gets much deeper

  • Expanded Codex control-plane support and brought the experience much closer to first-class parity.
  • Added Codex worker threads, worker activity, handoffs, passive realtime updates, and capability-aware controls in the timeline.
  • Added first-class Codex config management, inspector UI, auth/account-mode cues, and permission support.
  • Improved Codex restore and resume behavior, session identity handling, reconnect behavior, and live conversation updates.
  • Upgraded the embedded Codex integration multiple times during this cycle, including the move to rust-v0.116.0.

Conversation, review, and tool UX got a major rebuild

  • Rebuilt large parts of the conversation rendering pipeline.
  • Moved the client to a SwiftUI ScrollView + LazyVStack conversation architecture and made loading truly paged.
  • Added richer tool rendering, stronger classification, better expanded views, image support, and improved shell command UX.
  • Improved approval handling with better passive banners, network context, typed approval payloads, and more robust approval banner behavior on web.
  • Added server-driven cumulative diffs for multi-turn same-file edits.
  • Fixed rollback and restore controls across both providers.
  • Improved the review experience with stronger diff rendering, inline comment flows, review routing, and session-detail review actions.
  • Preserved conversation history more reliably when sessions end and fixed several ordering, hydration, and stale-state bugs.

Dashboard, library, mobile, and app polish

  • Redesigned the dashboard and Mission Control surfaces.
  • Added a mobile-first dashboard layout and much better compact behavior across iPhone and iPad.
  • Redesigned the library view with a compact toolbar and flatter mobile presentation.
  • Added a minimal in-app demo mode.
  • Added an integrated Rust server dev console with better inspection tools and clipboard copy.
  • Improved iOS keyboard behavior, composer behavior, session launch and navigation flow, and general mobile polish.
  • Added local conversation naming powered by Apple Foundation Models.
  • Switched local dictation over to Apple Speech and tightened dictation resource handling.
  • Added a public TestFlight path for the iPhone and iPad app.

Server, web, remote setup, and packaging all moved forward

  • Embedded the web frontend directly into the server binary.
  • Added the first full web frontend API pass and continued hardening orbitdock-web.
  • Simplified installer onboarding and improved remote server setup flows.
  • Tightened auth and server management, including safer hook-forward handling and better environment-variable support.
  • Improved WebSocket reconnect recovery and cleaned up more of the REST, bootstrap, and incremental boundary.
  • Continued standardizing the wire protocol around stronger typed contracts and unknown-value resilience.
  • Kept pushing the Rust server toward a cleaner split between CLI entrypoints, runtime, protocol, persistence, and connector internals.

Quality, CI, and engineering cleanup

  • Added Playwright E2E coverage for orbitdock-web.
  • Migrated web tests from Vitest to the Node native test runner.
  • Added clearer web testing rules and tightened what gets tested where.
  • Improved CI with stronger Rust and web coverage.
  • Removed more Rust lint exceptions, reduced oversized argument lists, boxed large protocol enums, and kept extracting cleaner seams across the app and server.

Important release notes

  • Mission Control is new in this release. If you want autonomous issue workflows, add and tune a repo-local MISSION.md.
  • The iPhone and iPad app is now on TestFlight. Join here: https://testflight.apple.com/join/w4jThqxE
  • The standalone macOS server asset for this release is orbitdock-darwin-arm64.zip.
  • The server now embeds the web app. Packaged binaries include the current orbitdock-web/dist.
  • Remote onboarding is cleaner now.
  • Run orbitdock remote-setup on the host machine.
  • Run orbitdock install-hooks --server-url https://your-server.example.com:4000 on your developer machine.
  • Codex configuration is much more first-class now. The app exposes dedicated config, auth, and inspector flows instead of treating Codex as a thinner integration surface.
  • CORS is still disabled by default. If you need browser access, explicitly set ORBITDOCK_CORS_ALLOWED_ORIGINS.

Release assets

Upload and download set for v0.4.0:

  • OrbitDock-0.4.0.zip
  • orbitdock-darwin-arm64.zip
  • orbitdock-darwin-arm64.zip.sha256
  • orbitdock-linux-x86_64.zip
  • orbitdock-linux-x86_64.zip.sha256
  • orbitdock-linux-aarch64.zip
  • orbitdock-linux-aarch64.zip.sha256

Full changelog

  • Compare: https://github.com/Robdel12/OrbitDock/compare/v0.3.0...v0.4.0
v0.3.0

✨ v0.3.0

Quick start

  • App (macOS): Download OrbitDock-0.3.0.zip, unzip, then launch OrbitDock.app.
  • Server (recommended install):
  • curl -fsSL https://raw.githubusercontent.com/Robdel12/OrbitDock/main/orbitdock-server/install.sh | bash
  • Server (manual release assets):
  • Apple Silicon macOS: orbitdock-darwin-arm64.zip
  • Linux x86_64: orbitdock-linux-x86_64.zip
  • Linux aarch64: orbitdock-linux-aarch64.zip
  • Docs: https://github.com/Robdel12/OrbitDock#readme

> macOS app includes the server. OrbitDock.app bundles orbitdock for local use.

>

> You only need the standalone server zips if you want to run OrbitDock separately on another machine, a headless box, or a shared host.

>

> There will be bugs, I'm just one dude :)

OrbitDock v0.3.0

This release covers everything from v0.2.0 to v0.3.0.

If you've been following along on main, this is the release where OrbitDock got a lot more serious: a unified CLI/server binary, hardened remote auth, a much smoother install story, and a big round of UI and conversation performance work across the app.

Highlights

Unified orbitdock CLI and better install flows

  • Consolidated the standalone server and client tooling into a single orbitdock binary.
  • Added a real CLI surface for sessions, approvals, review comments, models, usage, worktrees, MCP, file browsing, and shell execution.
  • Improved install/setup/service flows with better PATH handling, remote hook forwarding, and stronger release packaging validation.
  • Tightened the quick start, deployment docs, and CLI documentation so the happy path actually matches the shipped binary.

Remote auth and security hardening

  • Added DB-backed auth tokens with list/revoke flows and live auth enforcement.
  • Encrypted hook-forward tokens at rest and made secret encryption fail closed instead of silently storing plaintext.
  • Hardened remote setup and pairing so tokens are handled separately and no longer get pushed into URLs or QR codes.
  • Made checksum mismatch abort the installer instead of falling back to a source build.

Better review, approvals, and unread session management

  • Added unread tracking and mark-read session APIs.
  • Improved approval review persistence, queue behavior, permission suggestions, and pending action panels.
  • Added permission rule APIs and a stronger approval summary UI.
  • Improved diff previews and risk cues so tool approvals are easier to triage quickly.

App UX and conversation performance

  • Reworked the direct session composer and pending panels.
  • Redesigned dashboard toolbar/status surfaces and improved session organization.
  • Fixed layout invalidation/render churn in the conversation view and normalized duplicate message IDs.
  • Expanded Codex and Claude card coverage, keyboard behavior, and streaming update polish.

Server architecture, migrations, and release tooling

  • Adopted refinery for embedded Rust migrations.
  • Added new migrations for auth tokens, unread tracking, and richer approval history payloads.
  • Added macOS unit-test CI and stronger release packaging checks for server artifacts.
  • Continued cleaning up connector boundaries, server state handling, and repo guidance.

Important release notes

  • Standalone server asset names changed. The release zips are now:
  • orbitdock-darwin-arm64.zip
  • orbitdock-linux-x86_64.zip
  • orbitdock-linux-aarch64.zip
  • Remote installs now support auth-token-based hook setup directly.
  • CORS is still disabled by default. If you need browser access, explicitly set ORBITDOCK_CORS_ALLOWED_ORIGINS.
  • Installer integrity is stricter now. Checksum mismatch aborts the install.

Release assets

Upload/download set for v0.3.0:

  • OrbitDock-0.3.0.zip
  • orbitdock-darwin-arm64.zip
  • orbitdock-darwin-arm64.zip.sha256
  • orbitdock-linux-x86_64.zip
  • orbitdock-linux-x86_64.zip.sha256
  • orbitdock-linux-aarch64.zip
  • orbitdock-linux-aarch64.zip.sha256

Full changelog

  • Compare: https://github.com/Robdel12/OrbitDock/compare/v0.2.0...v0.3.0
v0.2.0

✨ v0.2.0

Quick start

  • App (macOS): Download OrbitDock-0.2.0.zip, unzip, then launch OrbitDock.app.
  • Server (recommended install):
  • curl -fsSL https://raw.githubusercontent.com/Robdel12/OrbitDock/main/orbitdock-server/install.sh | bash
  • Server (manual release assets):
  • Apple Silicon macOS: orbitdock-server-darwin-arm64.zip
  • Linux x86_64: orbitdock-server-linux-x86_64.zip
  • Linux aarch64: orbitdock-server-linux-aarch64.zip
  • Docs: https://github.com/Robdel12/OrbitDock#readme

> macOS app includes the server. OrbitDock.app bundles orbitdock-server for local use.

>

> You only need the standalone server zips if you want to run OrbitDock Server separately (remote, headless, or shared host setups).

>

> There will be bugs, I'm just one dude :)

OrbitDock v0.2.0

This release covers everything from v0.1.0 to v0.2.0 (83 commits).

If you've been following along on main, this is the big consolidation release: provider parity work, first-class worktree support, server architecture cleanup, and a much smoother deploy/release flow.

Highlights

Provider parity and better session control

  • Expanded Claude + Codex event coverage and card rendering parity in the conversation UI.
  • Added richer handling for TodoWrite, WebSearch, CompactContext, plan mode, rate limit status, and prompt suggestions.
  • Improved task/approval flows with better routing, deduplication, permission-mode visibility, and more reliable queue behavior.
  • Added client operations for stopTask, rewindFiles, and files-persisted lifecycle handling.

First-class git worktree workflows

  • Added end-to-end worktree support across server + app UI.
  • Added worktree creation/cleanup/archive workflows.
  • Added .worktreeinclude support for worktree creation behavior control.
  • Improved dashboard/sidebar worktree visibility and cleanup UX.

Server architecture and reliability improvements

  • Migrated major client/server flows to REST and reduced websocket complexity.
  • Split connector logic into per-provider crates with shared connector-core primitives.
  • Removed direct Codex deps from the server crate and tightened crate boundaries.
  • Added more tests around approval/tool compaction behavior and async stability.

Deployment and packaging updates

  • Added stronger remote deployment support (auth token + TLS endpoint support).
  • Injected user PATH into launchd plist for better tool availability in managed service runs.
  • Added local Linux release packaging workflow and smoke-test flow.
  • Improved docs and deployment guidance to match current architecture.

UI and polish

  • Refreshed dashboard/session layouts across macOS and iOS.
  • Improved settings presentation, spacing consistency, and provider/composer visual polish.
  • Updated iOS support baseline to iOS 18.

Important release notes

  • macOS server binaries are now Apple Silicon only for new releases.
  • New Darwin server artifact name: orbitdock-server-darwin-arm64.zip.
  • Legacy darwin-universal assets are no longer the primary release target.

Release assets

Upload/download set for v0.2.0:

  • OrbitDock-0.2.0.zip
  • orbitdock-server-darwin-arm64.zip
  • orbitdock-server-darwin-arm64.zip.sha256
  • orbitdock-server-linux-x86_64.zip
  • orbitdock-server-linux-x86_64.zip.sha256
  • orbitdock-server-linux-aarch64.zip
  • orbitdock-server-linux-aarch64.zip.sha256

Full changelog

  • Compare: https://github.com/Robdel12/OrbitDock/compare/v0.1.0...v0.2.0
v0.1.0

✨ v0.1.0

First public release

OrbitDock v0.1.0 is the first real release of the project.

The core idea is simple: if agents are doing the coding, you need a control plane that can keep up. OrbitDock gives you one place to monitor Claude Code and Codex sessions, steer work in progress, review diffs, and handle approvals without bouncing between terminals all day.

Why this is useful

You can code anywhere.

orbitdock-server is a small standalone Rust binary (about a 30MB download on macOS) that talks to Claude and Codex directly. Run it locally, run it remotely, keep it on your laptop, keep it on another box. Then open OrbitDock on macOS or iOS and manage the same sessions with the same workflow from wherever you are.

What’s included in v0.1.0

  • Unified dashboard for Claude Code + Codex sessions
  • Realtime conversation timeline and session status
  • Direct control: create, message, steer, approve, interrupt, fork, resume
  • Review Canvas with diff navigation and inline comment-to-steer
  • Approval oversight with risk cues, previews, and keyboard triage
  • Multi-server endpoint support with control-plane usage routing
  • Local-first persistence via SQLite + WAL

Server release assets

macOS:

  • orbitdock-server-darwin-universal.zip
  • orbitdock-server-darwin-universal.zip.sha256

Linux:

  • orbitdock-server-linux-x86_64.zip
  • orbitdock-server-linux-x86_64.zip.sha256

Getting started

  • Overview + setup: https://github.com/Robdel12/OrbitDock#readme
  • Feature list: https://github.com/Robdel12/OrbitDock/blob/main/FEATURES.md
  • Server CLI/install reference: https://github.com/Robdel12/OrbitDock/blob/main/orbitdock-server/README.md

Known issues

Thar be bugs.