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