desktop-v1.29.0

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

Upgrading?

AI Summary

This release focuses on enhancing the Superset Desktop client with native Linux support and improved PR management tools, alongside significant mobile updates like over-the-air updates and agent status tracking. It also introduces new admin metrics, cloud infrastructure shifts, and refinements to the AI agent experience.

Key Highlights

  • Native Linux support for the Desktop application (window chrome, menu, quit, packaging)
  • Over-the-air updates for mobile devices via EAS
  • Enhanced AI agent capabilities including Muse Code and Devin CLI agents
  • New admin dashboard metrics and Pro plan gating for automations
  • Cloud infrastructure migration from Blaxel to Vercel

New Features

  • Native Linux window chrome, menu, quit, and packaging support
  • Over-the-air updates for mobile via EAS
  • New admin metrics including Net revenue retention tile
  • Pro plan gating for automations
  • Muse Code and Devin CLI agent support
  • Per-file Stage/Unstage in the v2 Changes sidebar
  • Upload attachments to cloud storage on mobile
  • Automation continues its own agent session
  • Request Pro cancellation feedback
  • Take Pro payments on the web billing page
  • Show workspace context and agent content in notifications
  • Flag delete requests on pages and tighten comment chrome
  • Reach cloud sandboxes from the CLI and MCP

Full Release Notes

## What's Changed
* chore(desktop): bump version to 1.28.0 by @Kitenite in https://github.com/superset-sh/superset/pull/7368
* fix(deps): patch Oneleet dependency security alerts by @Kitenite in https://github.com/superset-sh/superset/pull/7371
* fix(agent-setup): notify when Codex waits for user input by @Kitenite in https://github.com/superset-sh/superset/pull/7372
* feat(terminal): name a terminal session, on the desktop and the phone by @saddlepaddle in https://github.com/superset-sh/superset/pull/7373
* feat(mobile): give the plan alert a way to the web by @saddlepaddle in https://github.com/superset-sh/superset/pull/7375
* fix(desktop): recover missing hosts when toggling remote access by @Kitenite in https://github.com/superset-sh/superset/pull/7376
* fix(desktop): focus workspace deletion dialogs for native keyboard confirmation by @Kitenite in https://github.com/superset-sh/superset/pull/7377
* fix(i18n): isolate locales and align app localization across platforms by @Kitenite in https://github.com/superset-sh/superset/pull/7379
* fix(desktop): keep new sidebar groups at their source position by @Kitenite in https://github.com/superset-sh/superset/pull/7381
* perf(usercontent): let a page document cache, and serve it from the colo cache by @saddlepaddle in https://github.com/superset-sh/superset/pull/7164
* chore(usercontent): drop the unused theme stylesheet route and helper by @saddlepaddle in https://github.com/superset-sh/superset/pull/7384
* feat(admin): company metrics — star chart and paywall funnel by @saddlepaddle in https://github.com/superset-sh/superset/pull/7374
* feat(email): put the App Store badge back in the footer by @saddlepaddle in https://github.com/superset-sh/superset/pull/7385
* fix(email): name the desktop app in the download email, correct its platforms by @saddlepaddle in https://github.com/superset-sh/superset/pull/7387
* Revert "feat(mobile): agent status on the Lock Screen and Dynamic Island" by @saddlepaddle in https://github.com/superset-sh/superset/pull/7386
* chore(api): time-boxed tracing to measure the region move by @saddlepaddle in https://github.com/superset-sh/superset/pull/7388
* chore(api): revert the region-move tracing sampler by @saddlepaddle in https://github.com/superset-sh/superset/pull/7390
* feat(mobile): upload attachments to cloud storage instead of through the relay by @saddlepaddle in https://github.com/superset-sh/superset/pull/7378
* fix(mobile): hold Home's first paint until it has content, and keep it across launches by @saddlepaddle in https://github.com/superset-sh/superset/pull/7383
* fix(review-host): keep the reviewer's session alive across restarts by @saddlepaddle in https://github.com/superset-sh/superset/pull/7394
* feat(mobile): read and comment on pages from the phone by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7367
* feat(admin): put the dashboard on the Growth tile grid, and reorder it by @saddlepaddle in https://github.com/superset-sh/superset/pull/7393
* feat(pages): flag delete requests on their pin, tighten comment chrome by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7359
* fix(ui): show toast close buttons on hover by @Kitenite in https://github.com/superset-sh/superset/pull/7399
* feat(desktop): add a setting to show the Usage button in the sidebar by @tao101 in https://github.com/superset-sh/superset/pull/7191
* feat(desktop): support multiple PR author filters by @Kitenite in https://github.com/superset-sh/superset/pull/7400
* fix(desktop): open agent browsers without switching workspaces by @Kitenite in https://github.com/superset-sh/superset/pull/7401
* fix(desktop): truncate terminal titles in narrow panes by @Kitenite in https://github.com/superset-sh/superset/pull/7404
* feat(marketing): refresh careers page layout and company facts by @Kitenite in https://github.com/superset-sh/superset/pull/7405
* fix(desktop): preserve remembered workspace creation agent by @Kitenite in https://github.com/superset-sh/superset/pull/7406
* fix(desktop): key dev app profiles by workspace ID by @Kitenite in https://github.com/superset-sh/superset/pull/7407
* feat(cli): reach cloud sandboxes from the CLI and MCP by @saddlepaddle in https://github.com/superset-sh/superset/pull/7392
* fix(desktop): clamp negative leaderboard delta after stale standings by @Kitenite in https://github.com/superset-sh/superset/pull/7412
* fix(host-service): reapply branch prefix after AI/derived autonaming by @Kitenite in https://github.com/superset-sh/superset/pull/7413
* fix(admin): size dashboard tiles by width ratio, and line up funnel bars by @saddlepaddle in https://github.com/superset-sh/superset/pull/7424
* fix(terminal): treat a PTY resize as a sync boundary; withhold output from hidden clients by @saddlepaddle in https://github.com/superset-sh/superset/pull/7423
* fix(desktop): don't revert app language to OS default on reload by @Kitenite in https://github.com/superset-sh/superset/pull/7425
* fix(desktop): activate a browser pane on click, widen icon hit targets by @Kitenite in https://github.com/superset-sh/superset/pull/7421
* fix(desktop): don't double the sidebar divider beside the active first tab by @saddlepaddle in https://github.com/superset-sh/superset/pull/7432
* marketing: Grok Bot and Paseo compare pages, super.engineering refresh by @Kitenite in https://github.com/superset-sh/superset/pull/7433
* feat(billing): gate automations behind the Pro plan by @Kitenite in https://github.com/superset-sh/superset/pull/7434
* feat(mobile): over-the-air updates via EAS Update, signed, with workflow lanes by @saddlepaddle in https://github.com/superset-sh/superset/pull/7439
* fix(desktop): stop opening the leaderboard join dialog on app launch by @saddlepaddle in https://github.com/superset-sh/superset/pull/7440
* feat(automations): let an automation continue its own agent session by @saddlepaddle in https://github.com/superset-sh/superset/pull/7411
* fix(integrations): refresh Sentry tokens with the jwt-bearer grant by @saddlepaddle in https://github.com/superset-sh/superset/pull/7441
* fix(auth): validate the desktop sign-in callback target by @PascalOrdano18 in https://github.com/superset-sh/superset/pull/7435
* fix(host-service): sanitize every viewer-controlled field in the page-watch prompt by @PascalOrdano18 in https://github.com/superset-sh/superset/pull/7438
* feat(mobile): version gate and server-driven notices by @saddlepaddle in https://github.com/superset-sh/superset/pull/7445
* fix(agent-setup): provision bundled skill extras from inside app.asar by @saddlepaddle in https://github.com/superset-sh/superset/pull/7429
* chore(desktop): drop the code-inspector overlay by @saddlepaddle in https://github.com/superset-sh/superset/pull/7431
* fix(mobile): embed the update-signing certificate only in preview and production builds by @saddlepaddle in https://github.com/superset-sh/superset/pull/7451
* feat(admin): net revenue retention tile from Stripe Sigma by @saddlepaddle in https://github.com/superset-sh/superset/pull/7444
* feat(mobile): restore agent status on the Lock Screen and Dynamic Island by @saddlepaddle in https://github.com/superset-sh/superset/pull/7452
* feat(cloud): move sandboxes from Blaxel to Vercel by @saddlepaddle in https://github.com/superset-sh/superset/pull/7408
* feat(desktop): first-class Linux window chrome, menu, quit and packaging by @saddlepaddle in https://github.com/superset-sh/superset/pull/7428
* fix(panes): activate a pane on any press, including header controls by @saddlepaddle in https://github.com/superset-sh/superset/pull/7455
* fix(desktop): remember the sidebar Changes view mode across workspaces by @Kitenite in https://github.com/superset-sh/superset/pull/7453
* fix(auth): always show the Google account picker on sign-in by @saddlepaddle in https://github.com/superset-sh/superset/pull/7459
* feat(relay,desktop,trpc): presence from the relay, roster never polled by @saddlepaddle in https://github.com/superset-sh/superset/pull/7442
* fix(mobile): let deploy's build lookups wait for a build already in progress by @saddlepaddle in https://github.com/superset-sh/superset/pull/7461
* feat(desktop): per-file Stage / Unstage in the v2 Changes sidebar by @Kitenite in https://github.com/superset-sh/superset/pull/7456
* refactor(mobile): pull-request lane as one script job plus one comment by @saddlepaddle in https://github.com/superset-sh/superset/pull/7462
* fix(mobile): calmer Lock Screen agent card by @saddlepaddle in https://github.com/superset-sh/superset/pull/7460
* chore(mobile): publish production updates to everyone, no staged rollout by @saddlepaddle in https://github.com/superset-sh/superset/pull/7466
* feat(realtime,api,desktop): realtime nudge channel, no more sidebar polling by @saddlepaddle in https://github.com/superset-sh/superset/pull/7443
* refactor(trpc,desktop,mobile): fold the v2Host router into host by @saddlepaddle in https://github.com/superset-sh/superset/pull/7468
* feat(desktop): Pages row in Settings > Links — external/internal + split/tab (SUPER-2315, SUPER-2192) by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7471
* fix(desktop): reject diff hydration when the loaded contents don't match the patch by @Kitenite in https://github.com/superset-sh/superset/pull/7463
* feat(mobile): terminal PR links open the in-app pull request screen by @saddlepaddle in https://github.com/superset-sh/superset/pull/7476
* fix(mobile): home composer asks "What do you want to do?" by @saddlepaddle in https://github.com/superset-sh/superset/pull/7477
* feat: Muse Code and Devin CLI agents, OpenCode sqlite history, OpenCode quota accounts by @Kitenite in https://github.com/superset-sh/superset/pull/7458
* fix(port-scanner): wait for spawned children before reading their environment in tests by @saddlepaddle in https://github.com/superset-sh/superset/pull/7478
* fix(mobile): "+N more" outranks "Not updating" in the Lock Screen card by @saddlepaddle in https://github.com/superset-sh/superset/pull/7479
* fix(pages): comment box polish — selection lock, plain Enter to send, hide resolved pins (SUPER-2252, SUPER-2272, SUPER-2201) by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7470
* feat(shared,plugins): allow the Google Fonts stylesheet in the page CSP (SUPER-1995) by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7474
* fix(pages): reveal a page whose frame loaded before hydration by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7422
* feat(web): "Open in Superset" deep link on the published page header (SUPER-2193) by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7473
* feat(mobile,api,host-service): keep the Lock Screen agent card current with APNs pushes by @saddlepaddle in https://github.com/superset-sh/superset/pull/7482
* fix(host-service): agents.run treats archived workspaces as gone, so automation pins self-heal by @sahiljagtap08 in https://github.com/superset-sh/superset/pull/6784
* fix(shared): handle ST terminator in shell-ready scanner by @DevChiniwala in https://github.com/superset-sh/superset/pull/7360
* fix(web): answer unauthenticated /api and /trpc with JSON 401, not a 307 redirect by @andyst-dev in https://github.com/superset-sh/superset/pull/7095
* fix(trpc,marketing): read leaderboard token rollups as strings, not JS numbers by @hairez in https://github.com/superset-sh/superset/pull/6944
* fix(desktop): Failed OS notification is not Complete by @owieschon in https://github.com/superset-sh/superset/pull/7294
* fix(cli): mark --host/--local as required in command help by @gautamtayal1 in https://github.com/superset-sh/superset/pull/7227
* fix(cli): format HTTP 401 responses as expired sessions by @Kitenite in https://github.com/superset-sh/superset/pull/7484
* fix(agent-setup): use current Vibe hook types by @b0dsim in https://github.com/superset-sh/superset/pull/7397
* Revert "keep the Lock Screen agent card current with APNs pushes" (#7482) by @saddlepaddle in https://github.com/superset-sh/superset/pull/7489
* fix(desktop): align IME composition with xterm cell widths by @Kitenite in https://github.com/superset-sh/superset/pull/7488
* perf(workspace): bound indexing and incrementally refresh git status by @harshithmullapudi in https://github.com/superset-sh/superset/pull/7420
* style(desktop): polish workspace tabs and terminal chrome by @Kitenite in https://github.com/superset-sh/superset/pull/7492
* feat(desktop): show workspace context and agent content in notifications by @Kitenite in https://github.com/superset-sh/superset/pull/7493
* feat(billing): request Pro cancellation feedback after 45 minutes by @Kitenite in https://github.com/superset-sh/superset/pull/7497
* fix(desktop): widen sidebar group stripes without shifting content by @Kitenite in https://github.com/superset-sh/superset/pull/7498
* fix(desktop): keep diff controls usable in narrow panes by @Kitenite in https://github.com/superset-sh/superset/pull/7499
* fix(setup): seed every API env key a worktree .env lacks by @Kitenite in https://github.com/superset-sh/superset/pull/7487
* feat(desktop): copy GitHub URL from pull request pane header by @Kitenite in https://github.com/superset-sh/superset/pull/7500
* feat(cloud): reach sandboxes through a gate with a session ticket by @saddlepaddle in https://github.com/superset-sh/superset/pull/7467
* feat(web): take Pro payments on the web billing page, link the mobile paywall to it by @saddlepaddle in https://github.com/superset-sh/superset/pull/7502
* fix(mobile): stop a dismissed form sheet from clipping the screen that replaces it by @saddlepaddle in https://github.com/superset-sh/superset/pull/7501
* feat(desktop): show pull request comments below the description by @Kitenite in https://github.com/superset-sh/superset/pull/7503

## New Contributors
* @PascalOrdano18 made their first contribution in https://github.com/superset-sh/superset/pull/7435
* @DevChiniwala made their first contribution in https://github.com/superset-sh/superset/pull/7360
* @hairez made their first contribution in https://github.com/superset-sh/superset/pull/6944
* @gautamtayal1 made their first contribution in https://github.com/superset-sh/superset/pull/7227
* @b0dsim made their first contribution in https://github.com/superset-sh/superset/pull/7397

**Full Changelog**: https://github.com/superset-sh/superset/compare/desktop-v1.28.0...desktop-v1.29.0

Related Repositories