desktop-v1.27.0

superset-sh/supersetdesktop-v1.27.0Sep 7, 2026by github-actions[bot]

AI Summary

This release focuses on a major refactor of the relay infrastructure, the introduction of new built-in themes, and enhanced agent capabilities. It also brings significant UX improvements to the workspace management and billing workflows within the desktop application.

Key Highlights

  • Refactored relay infrastructure to use a single URL and removed the legacy v1 relay and override flags.
  • Introduced new built-in themes: Catppuccin Latte, Solarized Light, and Vellum.
  • Enhanced desktop UX with file search in the changes sidebar, binary diff rendering, and scoped keyboard shortcuts.
  • Expanded agent capabilities with subagent support, PR assignment triggers, and per-launch model configuration.
  • Improved billing workflows with recoverable failed payments and advance notifications for annual subscribers.

Breaking Changes

  • Drop the relay-url-override flag (CLI/Config)
  • Delete the v1 relay (Infrastructure)
  • Drop the Models provider chain; local naming uses the agent CLI (SDK/API)
  • Drop v2_hosts.is_online (Database Schema)

New Features

  • Scope Cmd +/-/0 to the focused terminal or browser pane
  • Add API-billed usage profiles
  • Preview image diffs in SCM pane
  • Render binary diffs with the file pane's registry views
  • Reply to PR review threads from the Changes pane
  • Add file search to the changes sidebar
  • Desktop-style sidebar shell for every web dashboard page
  • Tell annual subscribers before charging them
  • Show Claude and Codex subagents under their agent in the sidebar
  • Hide projects from the sidebar and delete them from the context menu

Full Release Notes

## What's Changed
* chore(relay): one relay URL everywhere, drop the relay-url-override flag by @saddlepaddle in https://github.com/superset-sh/superset/pull/7157
* fix(relay2,host-service): fail fast on failed dial-backs and place tunnel objects at the host by @saddlepaddle in https://github.com/superset-sh/superset/pull/7156
* chore(relay): delete the v1 relay and call the Durable Objects relay the relay by @saddlepaddle in https://github.com/superset-sh/superset/pull/7158
* fix(relay): drop peer-gone disconnects before they reach Sentry by @saddlepaddle in https://github.com/superset-sh/superset/pull/7161
* feat(automations): trigger on a pull request being assigned or review-requested by @saddlepaddle in https://github.com/superset-sh/superset/pull/7163
* feat(trpc,cli,mcp): upload page documents straight to storage; cap pages at 16 MB by @saddlepaddle in https://github.com/superset-sh/superset/pull/7159
* chore(desktop): bump version to 1.26.0 by @AviPeltz in https://github.com/superset-sh/superset/pull/7155
* perf(host-service): lazily register GitWatcher watchers, driven by client interest by @AviPeltz in https://github.com/superset-sh/superset/pull/6848
* style(marketing): unbold job description headings, retune join-us type by @Kitenite in https://github.com/superset-sh/superset/pull/7171
* feat(marketplace): add Darker theme by @0x962 in https://github.com/superset-sh/superset/pull/6772
* fix(usage): stop calling a Claude login expired when only its access token lapsed by @Kitenite in https://github.com/superset-sh/superset/pull/7172
* fix(host-service): attribute PR merges to GitHub's merged_at by @owieschon in https://github.com/superset-sh/superset/pull/7110
* feat(cli/sdk/mcp): expose per-launch agent models by @Shravankb301 in https://github.com/superset-sh/superset/pull/6805
* fix(desktop): detect Dockerfiles by name so they get syntax highlighted by @mjspeck in https://github.com/superset-sh/superset/pull/7069
* feat(desktop): scope Cmd +/-/0 to the focused terminal or browser pane by @Kitenite in https://github.com/superset-sh/superset/pull/7174
* feat(desktop): add API-billed usage profiles by @Kitenite in https://github.com/superset-sh/superset/pull/7175
* feat(desktop): hide projects from the sidebar and delete them from the context menu by @Kitenite in https://github.com/superset-sh/superset/pull/7176
* feat(desktop): device-first Workspaces page — device on rows and title, creator filter, menu/typing perf by @AviPeltz in https://github.com/superset-sh/superset/pull/6901
* fix(sentry): stop reporting the same error thousands of times by @saddlepaddle in https://github.com/superset-sh/superset/pull/7165
* feat(desktop): reasoning effort picker for cursor-agent by @Kitenite in https://github.com/superset-sh/superset/pull/7178
* feat(plugins): add the plugin marketplace, manifest, CLI, and credential proxy by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7033
* marketing: expand rate-limit section in parallel agents guide by @Kitenite in https://github.com/superset-sh/superset/pull/7181
* fix(marketing): redesign the social preview image by @Kitenite in https://github.com/superset-sh/superset/pull/7177
* fix(host-service): keep a swept terminal's agent session resumable by @owieschon in https://github.com/superset-sh/superset/pull/7127
* chore(desktop,host-service): drop the Models provider chain; local naming uses the agent CLI by @saddlepaddle in https://github.com/superset-sh/superset/pull/7162
* feat(desktop): preview image diffs in SCM pane by @theblondealex in https://github.com/superset-sh/superset/pull/7035
* feat(desktop): render binary diffs with the file pane's registry views by @Kitenite in https://github.com/superset-sh/superset/pull/7182
* fix(desktop): dismiss the browser pane's overflow menu on a click into the page by @Kitenite in https://github.com/superset-sh/superset/pull/7187
* fix(ci): own the macOS signing keychain instead of letting electron-builder do it by @saddlepaddle in https://github.com/superset-sh/superset/pull/7185
* feat(desktop): reply to PR review threads from the Changes pane by @AviPeltz in https://github.com/superset-sh/superset/pull/7166
* feat(desktop): add an "Open in" submenu to terminal link right-clicks by @saddlepaddle in https://github.com/superset-sh/superset/pull/7179
* fix(desktop): land a dropped sidebar workspace where the drag preview showed it by @Kitenite in https://github.com/superset-sh/superset/pull/7184
* build(i18n): generate compiled Lingui catalogs instead of committing them by @saddlepaddle in https://github.com/superset-sh/superset/pull/7180
* fix(browser): import host-only cookies as host-only, repair duplicate twins by @Kitenite in https://github.com/superset-sh/superset/pull/7183
* fix(desktop): reap the per-workspace dev app profiles Superset leaks by @saddlepaddle in https://github.com/superset-sh/superset/pull/7190
* fix(desktop): notify main workspaces as "local" (#7128) by @Kitenite in https://github.com/superset-sh/superset/pull/7189
* fix(desktop): patch xterm so a resize mid image decode cannot kill the terminal by @Kitenite in https://github.com/superset-sh/superset/pull/7188
* fix(desktop): keep the workspace delete dialog from confirming on the keystroke that opened it by @Kitenite in https://github.com/superset-sh/superset/pull/7193
* feat(desktop): add file search to the changes sidebar by @AviPeltz in https://github.com/superset-sh/superset/pull/7196
* fix(trpc): stop double-counting workspace_created by @saddlepaddle in https://github.com/superset-sh/superset/pull/7197
* fix(marketing): break the hero headline before it types, not after it overflows by @saddlepaddle in https://github.com/superset-sh/superset/pull/7198
* fix(host-service): record the descriptor ceiling macOS actually enforces by @saddlepaddle in https://github.com/superset-sh/superset/pull/7200
* chore(db): drop v2_hosts.is_online by @saddlepaddle in https://github.com/superset-sh/superset/pull/7160
* fix(desktop): swap the run button and open-in dropdown between tab bar and sidebar by @AviPeltz in https://github.com/superset-sh/superset/pull/7201
* fix(review-host): the App Store review host was 21 days stale; move it somewhere it can't be by @saddlepaddle in https://github.com/superset-sh/superset/pull/7199
* fix(desktop): stop sidebar rows snapping back after a drop, and cut per-move drag cost ~3x by @Kitenite in https://github.com/superset-sh/superset/pull/7203
* fix(host-service): keep workspace tags to the user who applied them by @Kitenite in https://github.com/superset-sh/superset/pull/7194
* fix(billing): make failed-payment emails recoverable by @saddlepaddle in https://github.com/superset-sh/superset/pull/7204
* feat(web): desktop-style sidebar shell for every web dashboard page by @Kitenite in https://github.com/superset-sh/superset/pull/7206
* feat(admin): Growth page with every growth signal, movable tiles, and PostHog drilldowns by @Kitenite in https://github.com/superset-sh/superset/pull/7205
* fix(host-service): stop port-scan sync re-registering sessions it already watches by @Kitenite in https://github.com/superset-sh/superset/pull/7213
* feat(cli): list, edit, and delete terminal scripts; add --upsert by @Kitenite in https://github.com/superset-sh/superset/pull/7215
* fix(review-host): give the reviewer a diff to review, and stop paging on expired credentials by @saddlepaddle in https://github.com/superset-sh/superset/pull/7216
* fix(billing): stop dunning people who already cancelled by @saddlepaddle in https://github.com/superset-sh/superset/pull/7217
* feat(billing): tell annual subscribers before we charge them by @saddlepaddle in https://github.com/superset-sh/superset/pull/7218
* fix(desktop): stop the sidebar holding a live git watch on every workspace row by @Kitenite in https://github.com/superset-sh/superset/pull/7207
* fix(host-service): timestamp every host-service.log line by @Kitenite in https://github.com/superset-sh/superset/pull/7211
* feat(review-host): keep a Claude session resident so the reviewer sees a pull request by @saddlepaddle in https://github.com/superset-sh/superset/pull/7221
* fix(mobile): stop the diff rendering black on black for unsupported languages by @saddlepaddle in https://github.com/superset-sh/superset/pull/7219
* refactor(mobile): draw the diff from theme tokens instead of hand-picked hex by @saddlepaddle in https://github.com/superset-sh/superset/pull/7222
* fix(cli): match feedback attachment limit to the Vercel body cap and keep oversized logs' tails by @Kitenite in https://github.com/superset-sh/superset/pull/7214
* fix(cli): reject an overflowing feedback attachment list before reading any file by @Kitenite in https://github.com/superset-sh/superset/pull/7224
* fix(skills,cli,trpc): make /feedback reports land on the right thread with the right versions by @Kitenite in https://github.com/superset-sh/superset/pull/7225
* ci(relay): only deploy the relay when the push touches its sources by @saddlepaddle in https://github.com/superset-sh/superset/pull/7233
* feat(mobile): pick the agent's model and effort when starting a session by @saddlepaddle in https://github.com/superset-sh/superset/pull/7234
* fix(billing): keep warning people after the subscription is gone by @saddlepaddle in https://github.com/superset-sh/superset/pull/7220
* fix(desktop): keep the sidebar project order manual under every sort by @saddlepaddle in https://github.com/superset-sh/superset/pull/7192
* fix(desktop): render local images in workspace markdown files by @saddlepaddle in https://github.com/superset-sh/superset/pull/7238
* fix(billing): stop the lapsed card saying the amount twice by @saddlepaddle in https://github.com/superset-sh/superset/pull/7239
* feat(desktop): put pinned model releases behind a submenu by @saddlepaddle in https://github.com/superset-sh/superset/pull/7240
* docs: weekly changelog 2026-09-06 (Changes-pane ship flow, image diffs, device-first Workspaces) by @Kitenite in https://github.com/superset-sh/superset/pull/7245
* feat(leaderboard): public profiles, handles, achievements and tier scoring by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7195
* fix(marketing): keep the sitemap under Vercel's ISR size cap by @saddlepaddle in https://github.com/superset-sh/superset/pull/7248
* fix(desktop): paint browser-pane overlays above the hoisted webview by @Kitenite in https://github.com/superset-sh/superset/pull/7232
* feat(themes): ship Catppuccin Latte, Solarized Light, and Vellum as built-ins by @Kitenite in https://github.com/superset-sh/superset/pull/7249
* feat(desktop): regroup the terminal link menu and rename the Open in destinations by @saddlepaddle in https://github.com/superset-sh/superset/pull/7251
* fix(desktop): compile i18n catalogs before compile:app so release builds stop failing by @Kitenite in https://github.com/superset-sh/superset/pull/7250
* fix(host-service): stop spawning gh for every repo while GitHub is unreachable by @Kitenite in https://github.com/superset-sh/superset/pull/7208
* fix(host-service,desktop): cache PR detail lookups, hold on GitHub rate limits, and say so in the sidebar by @Kitenite in https://github.com/superset-sh/superset/pull/7246
* fix(desktop): stop an orphaned dev Electron from spinning on EPIPE forever by @Kitenite in https://github.com/superset-sh/superset/pull/7258
* feat(marketing): test free-plan reassurance at the download CTA by @Kitenite in https://github.com/superset-sh/superset/pull/7259
* fix(desktop): pass shell hotkeys and pointer gestures through page panes by @Kitenite in https://github.com/superset-sh/superset/pull/7257
* fix(port-scanner): detect detached agent dev servers by @Kitenite in https://github.com/superset-sh/superset/pull/7256
* feat(agents): show Claude and Codex subagents under their agent in the sidebar by @Kitenite in https://github.com/superset-sh/superset/pull/7231

## New Contributors
* @owieschon made their first contribution in https://github.com/superset-sh/superset/pull/7110
* @Shravankb301 made their first contribution in https://github.com/superset-sh/superset/pull/6805
* @mjspeck made their first contribution in https://github.com/superset-sh/superset/pull/7069
* @theblondealex made their first contribution in https://github.com/superset-sh/superset/pull/7035

**Full Changelog**: https://github.com/superset-sh/superset/compare/desktop-v1.26.0...desktop-v1.27.0