Polaris 0.15.4 fixes a Keychain access bug that could make an activated license unreadable after an app update, and adds a local fallback so activation never depends on a Keychain item the app is no longer allowed to touch.
Fixes
- Fixed a Keychain access bug where the stored license item created by an older build could no longer be read or updated by a newer, differently signed build (macOS reports errSecInvalidOwnerEdit / -25244). Affected Macs showed the license as invalid even though it was still active.
- An unreadable Keychain item no longer marks the license as invalid. Polaris now asks you to re-enter your license key instead, and reactivation works without any manual Keychain cleanup.
- Activation no longer fails when the license cannot be written to the Keychain. Polaris stores the license in a protected file in Application Support instead and keeps the activation, so an activation seat is never consumed for nothing.
- Removing a license now clears both the Keychain item and the local copy, so a stale item can no longer bring a removed license back on the next launch.
- The local license file is written with owner-only permissions (0600) inside an owner-only directory.
Polaris 0.15.3 finds Rubies managed by a Homebrew-installed rbenv and makes the sidebar Ruby version reflect your real terminal environment.
Fixes
- Polaris now finds Rubies managed by an rbenv installed through Homebrew, whose shims live in /opt/homebrew/var/rbenv/shims (or /usr/local/var/rbenv/shims on Intel Macs) instead of ~/.rbenv. Previously these setups fell back to the built-in macOS system Ruby.
- The Ruby version shown in the sidebar now waits for the captured terminal environment before detecting, so it matches the Ruby your terminal resolves through rbenv, mise, or asdf init in .zshrc.
Polaris 0.15.2 fixes project imports failing on Macs that use the built-in system Ruby, and shows the detected Ruby version in the sidebar.
Fixes
- Kamal config parsing no longer fails with an unsafe_load error on Macs where the Ruby on PATH is the built-in macOS system Ruby 2.6. Polaris now uses the same Ruby version guard as Kamal itself, so deploy.yml parsing works with any Ruby version.
- Project imports that failed with "Invalid Kamal deploy config: could not parse deploy.yml" on affected machines work again without any changes to the configs.
New
- The sidebar now shows the detected Ruby version in the bottom left, so you can see at a glance which interpreter Polaris uses to parse your deploy configs. A warning appears when no Ruby is found on PATH.
Polaris 0.15.0 adds a Tauri-based desktop preview, a refreshed React interface, a config viewer, request filtering, and a Homebrew install path.
New
- Added a Tauri + React desktop preview for Polaris Deploy with a rebuilt toolbar, sidebar, detail pane, tab bar, rollback modal, settings modal, and refreshed operational tabs.
- Added a config viewer powered by a new Tauri fetch_config command, so deploy.yml and destination config content can be inspected directly in the app.
- Polaris can now be installed through Homebrew with brew install --cask jangocg/tap/polaris.
Improvements
- Requests can now be filtered by status class, with selectable summary cards and a clearer empty state when a filter has no matches.
- Settings now open directly to the selected tab, making license, appearance, and deployment settings easier to reach.
- The Remote Rails Console launcher now prepares the captured terminal environment asynchronously and prefers the project's captured PATH before falling back to Polaris defaults.
Fixes
- Polaris now activates cleanly on launch and uses updated macOS project settings, a shared Xcode scheme, and a safer build-and-run script.
- Build artifacts and SwiftPM workspace files are ignored or untracked so local build state stays out of release commits.
Polaris 0.14.0 lets you move through projects and servers with arrow keys, then copy server metadata directly from the header.
New
- Project and server sidebars now respond to the arrow keys, so you can move between projects, destinations, and servers without reaching for the mouse.
- Left and right arrows collapse or expand the selected destination group while text fields and editors keep their normal keyboard behavior.
Improvements
- Server hostnames and roles in the detail header now reveal a copy action on hover.
- The selected server picker includes the same hover-to-copy action and shows a checkmark after copying.
Polaris 0.13.0 captures terminal environments through a real interactive prompt cycle, so zsh prompt hooks can prepare the same tools and secrets your terminal uses.
Fixes
- Terminal environment capture now runs through an interactive shell prompt cycle before Polaris snapshots exported variables.
- Shell prompt hooks from direnv, rv, mise activate, and similar zsh integrations can now populate the environment used by deploys, audits, logs, rollback lookup, and Remote Rails Console commands.
- The capture command is sent through stdin instead of zsh -c, avoiding projects where PATH, Ruby, or secret-tool variables were missing inside Polaris.
Polaris 0.12.0 can run Kamal with your captured project shell environment, connect with ssh.key_data, and parse deploy configs through Ruby when available.
New
- Polaris now captures each project's interactive terminal environment once, then reuses it for deploys, audits, logs, rollback lookup, and Remote Rails Console commands.
- Kamal configs that use ssh.key_data now work in Polaris. Resolved private keys are loaded into a dedicated in-memory ssh-agent and exposed through an IdentityAgent socket instead of being written to disk.
- Deploy config parsing now uses Ruby and Psych for ERB and YAML when available, matching how Kamal resolves real project configs while keeping the Swift parser as a fallback.
Improvements
- Secrets preflight is no longer 1Password-only. Polaris now gives targeted guidance for 1Password, Bitwarden, LastPass, Doppler, and Bitwarden Secrets Manager adapters.
- SSH connections now match Kamal more closely with accept-new host keys, keepalives, proxy jump defaults, IdentityAgent support, and forward_agent handling.
- The old Deploy shell setting was removed because Polaris now prepares the project command environment automatically.
Polaris 0.11.0 brings color back to the server metric cards while keeping the cleaner container table.
Improvements
- CPU, RAM, storage, and load cards now use accent color again for their icons, icon trays, and history bars.
- Metric cards get a subtle colored Liquid Glass tint in normal states, then still switch to orange or red for high usage.
- The running-container table keeps the simpler status treatment from 0.10.0, with no extra status pill around Running.
Polaris 0.10.0 simplifies the server detail UI with calmer Liquid Glass surfaces and a cleaner running-container table.
Improvements
- Container rows now use a subtler Liquid Glass selection state instead of a strong blue highlight.
- Running containers now show a small green status dot with the Running label instead of a separate status pill.
- Server metric cards and detail tabs use neutral styling by default, keeping color for warning and error states.
Polaris 0.9.0 adds an in-app remote Rails console, project favicons, appearance settings, and a refreshed command interface.
New
- Added an in-app Remote Rails Console pane for running Ruby against the selected Kamal project and server without leaving Polaris.
- Remote console runs stream output live, keep a reusable Rails runner session, and can be canceled or cleared from the app.
- Added local macOS notifications for completed deploy, redeploy, and rollback commands, including success, failure, and cancellation states.
Improvements
- Refreshed the title bar with a project status pill, updated deploy controls, and a Rails Console split button.
- Added appearance settings for System, Light, and Dark mode and applied the preference across SwiftUI and AppKit surfaces.
- Project rows can now show app favicons from common Rails and web app asset locations, with updated branch and destination icons.
- Updated the Polaris app icon and added new design assets for the refreshed desktop interface.
Fixes
- Remote console sessions are reset when switching servers or starting a Kamal command, avoiding stale or overlapping runs.
- Kamal deploy, redeploy, rollback, and remote console actions now coordinate their running state so only one operational command runs at a time.
Polaris 0.8.0 sends local macOS notifications when deploy, redeploy, or rollback finishes.
New
- Added local macOS notifications for completed Kamal deploy, redeploy, and rollback commands.
- Polaris asks for notification permission the first time a Kamal command runs, then stays out of the way for future deploys.
- Notifications include the project, service, command result, and failure exit code when Kamal returns one.
Improvements
- Completion banners can appear even while Polaris is still the active app, so long-running deploys are easier to notice without watching the command output.
Polaris 0.7.0 lets deploys use your terminal environment when secrets or tools are initialized by zsh.
New
- Added a Deploy setting that can load your zsh startup files before Kamal runs.
- Deploys that depend on Keychain, Bitwarden, 1Password, rbenv, asdf, or mise setup in your shell can now run from Polaris without copying secrets into the app.
- Added iTerm2 as an Open Project and Remote Rails Console target.
Improvements
- Kamal deploy, redeploy, rollback, audit, rollback candidate lookup, 1Password preflight, and deploy config ERB rendering now share one shell setup path.
- The terminal environment setting is opt-in, so existing deployments keep Polaris' stable default environment.
Polaris 0.6.3 improves the main window resize behavior and container table scrolling.
Fixes
- The main window now keeps a safe minimum width and height so toolbar tabs, table content, and settings controls no longer get cut off while resizing.
- Container tables now use native macOS scrollbars, including click-and-drag horizontal scrolling for wide rows.
- Container tables fill the available vertical space when possible and scroll when the window is too short for all rows.
Improvements
- The macOS app menu now includes a Settings item that opens Polaris settings.
- Sidebar context menus now use English labels for Finder and remove actions.
Polaris 0.6.2 renders ERB in Kamal deploy configs before parsing them.
Fixes
- Kamal configs that use ERB now load in Polaris before deploy, log, and status views parse project metadata.
- Environment-backed values like ENV.fetch in config/deploy.yml and config/deploy.<destination>.yml now resolve the same way Kamal users expect.
Improvements
- The ERB renderer runs from the project root, extends PATH for common Ruby managers, and times out instead of hanging on bad templates.
Polaris 0.6.1 fixes proxy request logs for Kamal destination targets.
Fixes
- The Requests tab now shows traffic for selected destination targets such as dev, staging, and production.
- Proxy logs now match destination-specific service names like app-web-dev, app-dev-web, and app-dev.
- Base app traffic and other destination traffic stay out of the selected destination view.
Polaris 0.6.0 adds first-class support for Kamal destination configs.
New
- Projects with destination configs like config/deploy.dev.yml, config/deploy.staging.yml, and config/deploy.production.yml now show each destination in the sidebar.
- Destination entries are grouped under one project folder so acceptance, staging, and production stay easy to scan without duplicating the project.
- Deploy, redeploy, rollback, audit, logs, and Rails console actions now run against the selected destination with the -d flag.
Improvements
- The config tab can show both the base deploy.yml and the selected destination config.
- Activity history is tracked per destination so events from staging and production no longer blend together.
Polaris 0.5.0 fixes flaky 1Password access during deploys.
Fixes
- Fixed an issue where Polaris could lose access to 1Password items while a deploy was running.
- Deploys no longer require restarting Polaris to restore 1Password access.
Polaris 0.4.0 shipped follow-up polish for the local status monitor release.
Improvements
- Published an updated signed and notarized DMG for the status monitor build.
- Kept the Sparkle update feed current for automatic Polaris updates.
Polaris 0.3.0 adds a local status monitor for wallboard-style deployment visibility.
New
- Added a local status monitor that refreshes itself while Polaris is running.
- Added controls to copy or open the status monitor URL.
- Made project and server state visible from a browser-based TV view.
Polaris 0.2.1 adds a remote Rails console launcher and broadens macOS support.
New
- Added a remote Rails console launcher for selected Kamal projects.
- Opened console sessions with the right project and target context.
Improvements
- Lowered the minimum macOS deployment target to 26.0.
Polaris 0.2.0 adds deeper kamal-proxy visibility and app update support.
New
- Added Proxy, Domains, and Requests views for inspecting kamal-proxy state.
- Showed entrypoints, routes, services, targets, TLS state, and route backing.
- Parsed proxy access logs into request rows with status, duration, host, path, and service.
- Added Sparkle update metadata and a Check for Updates action.
Polaris 0.1.0 improves rollback candidate detection and release version handling.
Improvements
- Rollback candidates now understand image tags, raw Git SHAs, and replaced container names.
- Commit metadata lookup normalizes rollback versions before asking Git for details.
- Release tooling now tracks MARKETING_VERSION and CURRENT_PROJECT_VERSION more consistently.
The first signed and notarized Polaris DMG release.
New
- Added the native macOS app shell for opening Kamal projects.
- Added the core project, SSH, deploy command, license, and persistence foundations.
- Published a Developer ID signed, notarized, and stapled DMG.