What's Changed
- docs: weekly changelog 2026-09-13 (pull request pane, subagents, Muse Code and Devin) by @Kitenite in #7507
- fix(host-service): classify a push refused by a hook or the remote as a non-500 by @saddlepaddle in #7508
- chore(desktop): bump version to 1.29.0 by @Kitenite in #7504
- fix(cli): require explicit session workspace creation by @Kitenite in #7509
- feat(desktop): clarify automation creation options by @Kitenite in #7511
- feat(workspaces): support explicit local workspaces on shared checkouts by @Kitenite in #7485
- fix(desktop): match workspace tooltip to delete action by @Kitenite in #7512
- docs(pages): add design review and agent feedback screenshots by @Kitenite in #7513
- feat(desktop): show session account usage in pane headers by @Kitenite in #7517
- feat(desktop): replace browser PRs and pages with native panes by @Kitenite in #7515
- feat(desktop): add viewport pinch zoom to browser and page panes by @Kitenite in #7519
- fix(host-service): pin detached-HEAD v1 imports as non-blocking by @Kitenite in #7516
- fix(desktop): retry transient v1 auto-migration failures in-session by @Kitenite in #7514
- fix(desktop): stop stale repos and stale ledger rows from stranding v1 users on v1 by @Kitenite in #7480
- fix(host-service): give the attribution-token import the .ts suffix Node needs by @saddlepaddle in #7523
- fix(desktop): send the title-bar overlay colours to Electron as hex by @saddlepaddle in #7520
- fix(desktop): honour DISABLE_UPDATE_CHECK instead of downloading an update Squirrel will refuse by @saddlepaddle in #7524
- refactor(pages): one page-comment store for web, desktop and mobile by @harshithmullapudi in #7427
- fix(workspace-fs): cap every file read so a 2 GiB file cannot abort the process by @saddlepaddle in #7525
- fix(desktop): treat a 5xx on the update feed as transient instead of an update error by @saddlepaddle in #7533
- fix(desktop): right-align create workspace button by @Kitenite in #7537
- fix(desktop): treat a full disk on an auth token write as the user's environment by @saddlepaddle in #7539
- fix(desktop): centralize organization-scoped requests and plan checks by @Kitenite in #7536
- fix(auth): send OAuth failures to the web sign-in page instead of a 404 by @saddlepaddle in #7543
- fix(mobile): render the diff in a real monospace font by @saddlepaddle in #7550
- feat(mobile): gate the Lock Screen agent card behind a PostHog flag by @saddlepaddle in #7546
- feat(mobile): keep up to four terminal sessions live per workspace screen by @saddlepaddle in #7552
- chore: point product contact links at shared aliases instead of founders@ by @saddlepaddle in #7554
- feat(mobile): send the header's org button straight to Settings by @saddlepaddle in #7553
- fix(host-service): classify an unaccepted Xcode license as environmental by @saddlepaddle in #7556
- Cloud workspaces v2: the box as a bundle, multi-repository environments, brokered credentials by @saddlepaddle in #7548
- ci(sandbox): give the production release the variables its imports and region need by @saddlepaddle in #7560
- ci(sandbox): run the production release in the production environment by @saddlepaddle in #7561
- feat(desktop): filter pages by author by @AviPeltz in #7547
- fix(desktop): Connections refetches on window focus instead of polling by @saddlepaddle in #7562
- fix(desktop): the cloud workspace create timer counts from the row's createdAt by @saddlepaddle in #7563
- feat(trpc): erase PostHog and never-charged Stripe customers in the account purge by @saddlepaddle in #7565
- fix(mobile): create cloud workspaces on environments without repositories, and wake only the open one by @saddlepaddle in #7566
- feat(cli,mcp,sdk,cloud): workspaces default to the cloud; --local/--host for a host; environment-only create by @saddlepaddle in #7564
- fix(desktop): soften the ready-state update pill to match the neutral chrome by @AviPeltz in #7568
- fix(pages): stop Claude reaching for an artifact when the user asked for a page by @harshithmullapudi in #7531
- fix(workspace-fs): stop a large watcher batch overflowing the stack by @saddlepaddle in #7579
- fix(host-service): classify environmental git failures on getDiffPatch by @saddlepaddle in #7580
- feat(api): Slack agent foundation — shared handler, execution guard, thread window, model and output fixes by @AviPeltz in #7581
- fix(api): bound every Slack agent call by the run budget by @AviPeltz in #7582
- feat(api): Slack thread sessions — replies reach the agent without a mention by @AviPeltz in #7583
- fix(desktop): keep new sidebar group orders on the integer lane by @saddlepaddle in #7587
- fix(api): gate Slack thread sessions on the flag and make quieting explicit by @AviPeltz in #7588
- feat(api): queue Slack replies that arrive mid-turn and hand them back after by @AviPeltz in #7586
- fix(api): post the Slack agent's reply after its run budget is spent by @saddlepaddle in #7593
- fix(api): harden the Slack follow-up hand-back and allow task updates by @AviPeltz in #7592
- fix(desktop): keep viewport emulation on a crashed browser pane from crashing the app by @saddlepaddle in #7598
- feat(pages): publish without a workspace by @harshithmullapudi in #7573
- feat(pages): public pages, and thumbnails in link unfurls by @harshithmullapudi in #7570
- feat(mobile): let the workspace list scroll under a transparent header by @saddlepaddle in #7601
- feat(mobile): create "No project" sessions from the composer and Home by @saddlepaddle in #7604
- fix(desktop): preserve translation context for route errors by @Kitenite in #7603
- feat(api): !stop ends the Slack agent's running turn by @AviPeltz in #7594
- fix(sandbox,host-service,cli): what a morning in a cloud workspace turned up by @saddlepaddle in #7602
- fix(desktop): drop duplicate create-workspace submits while one is in flight by @AviPeltz in #7605
- feat(api): bridge the Slack agent to the user's Linear and GitHub plugins by @AviPeltz in #7585
- fix(sandbox): the release probe checks the display from inside the box by @saddlepaddle in #7608
- fix(host-service): a terminal in a cloud workspace knows it is in one by @saddlepaddle in #7613
- fix(cli-framework,i18n):
bun run devruns the CLI instead of dying by @saddlepaddle in #7615 - feat(plugins): dynamic OAuth clients, plus Notion, Slack and Gmail by @harshithmullapudi in #7317
- feat(cloud): a cloud workspace works on its own branch, not on the base by @saddlepaddle in #7620
- feat(cloud): attach images to a cloud workspace at create by @saddlepaddle in #7622
- feat(desktop): attach images to a cloud workspace at create by @saddlepaddle in #7633
- fix(host-service): classify an index its storage cannot deliver as environmental by @saddlepaddle in #7636
- fix(desktop): keep the editor selection valid when external content replaces the document by @saddlepaddle in #7639
- fix(desktop): stop the file tree throwing when a lookup walks through a file by @saddlepaddle in #7638
- fix(mobile): a long press lifts the whole session tab, not its text by @saddlepaddle in #7643
- fix(mobile): reply without swapping sheets, and post comments at all by @harshithmullapudi in #7532
- fix(desktop): harden renderer error boundaries and recovery by @Kitenite in #7641
- fix(desktop): import pre-account v1 workspaces on machines that land straight on v2 by @Kitenite in #7649
- feat(cli,plugins): auto-open a page in the browser on creation (SUPER-2282) by @harshithmullapudi in #7472
- feat(mobile): point an offline host at Remote Access setup by @Kitenite in #7642
- fix(desktop,host-service): name worktree folders after the project, and explain locked sidebar drags by @Kitenite in #7650
- feat(marketing): Superset Mobile launch post (hidden until launch) by @Kitenite in #7611
- fix(terminal): coordinate session lifecycle and recover ended panes by @Kitenite in #7618
- fix(relay): tolerate slow connections with coordinated deadlines by @Kitenite in #7606
- fix(host-service): stop the Linux file watcher from taking the host down, and make superset start recover by @Kitenite in #7659
- fix(host-service): preserve consumed Claude prompts in handoffs by @owieschon in #7255
- fix(agent-setup): restore Codex working status by @flcrom in #7647
- fix(host-service): pin git's diff prefixes so the Changes pane can parse every patch by @aponcedeleonch in #7597
- feat(marketing): add /mobile landing page behind the mobile-launch flag by @Kitenite in #7655
- fix(desktop): refresh commits after external changes by @flcrom in #7644
- feat(desktop): list a workspace's pages in the sidebar strip, with New page by @Kitenite in #7658
New Contributors
- @flcrom made their first contribution in #7647
- @aponcedeleonch made their first contribution in #7597
Full Changelog: desktop-v1.29.0...desktop-v1.30.0