Release notes
Superset desktop-v1.23.0
What's Changed
- feat(desktop): surface a host unreachable screen for v2 workspaces by @saddlepaddle in https://github.com/superset-sh/superset/pull/6476
- feat(desktop,host-service): delete legacy mastra chat in favor of chat-v3 by @saddlepaddle in https://github.com/superset-sh/superset/pull/6461
- feat(desktop): rename Security settings tab to Remote Workspaces + relay toggle on local host page by @Kitenite in https://github.com/superset-sh/superset/pull/6481
- chore(desktop): bump version to 1.22.0 by @Kitenite in https://github.com/superset-sh/superset/pull/6477
- fix(desktop): reformat automations relay-offline copy by @saddlepaddle in https://github.com/superset-sh/superset/pull/6483
- fix(mobile): apply saved home filters before the first render by @saddlepaddle in https://github.com/superset-sh/superset/pull/6484
- feat(mobile): unify the terminal and home composers by @saddlepaddle in https://github.com/superset-sh/superset/pull/6482
- fix(trpc,api): make automation run dedupe compatible with a partial unique index by @saddlepaddle in https://github.com/superset-sh/superset/pull/6485
- chore(trpc,mcp,cli,sdk,desktop): remove dead mcpScope plumbing by @saddlepaddle in https://github.com/superset-sh/superset/pull/6486
- feat(desktop): add "All devices" option to the Workspaces device filter by @Kitenite in https://github.com/superset-sh/superset/pull/6478
- fix(desktop): unmute the star nag on a real unstar, stop polling on focus by @AviPeltz in https://github.com/superset-sh/superset/pull/6490
- feat(marketing): add /mcp-install page for connecting AI agents to Superset by @AviPeltz in https://github.com/superset-sh/superset/pull/6493
- fix(desktop): default missing PR checks to an empty array at the host boundary by @saddlepaddle in https://github.com/superset-sh/superset/pull/6494
- feat(db): add automation trigger and event tables by @saddlepaddle in https://github.com/superset-sh/superset/pull/6487
- fix(host-service): classify simple-git's missing-directory construct error as a typed NOT_FOUND by @saddlepaddle in https://github.com/superset-sh/superset/pull/6495
- fix(desktop): carry a renderer heap-growth trajectory on the Sentry scope by @saddlepaddle in https://github.com/superset-sh/superset/pull/6496
- revert(desktop): drop the renderer heap-trajectory Sentry instrumentation by @saddlepaddle in https://github.com/superset-sh/superset/pull/6499
- fix(desktop): ignore Codex subagent completion notifications by @justinxu421 in https://github.com/superset-sh/superset/pull/6464
- fix(host-service): allow empty initialCommand when creating terminal sessions by @Kitenite in https://github.com/superset-sh/superset/pull/6502
- fix(api): advance the schedule trigger alongside the automation by @saddlepaddle in https://github.com/superset-sh/superset/pull/6501
- fix(host-service): provision agent hooks and shell env on headless CLI hosts by @Kitenite in https://github.com/superset-sh/superset/pull/6479
- fix(desktop): resolve agent hook endpoint at call time so host-service restarts don't strand running agents by @Kitenite in https://github.com/superset-sh/superset/pull/6480
- feat(api,trpc): dispatch automations from triggers by @saddlepaddle in https://github.com/superset-sh/superset/pull/6507
- feat(mobile): reorder terminal sessions from a sessions sheet, persisted per workspace by @saddlepaddle in https://github.com/superset-sh/superset/pull/6488
- feat(desktop): rework Workspaces page into a status-grouped triage list by @Kitenite in https://github.com/superset-sh/superset/pull/6506
- feat(desktop): configurable folder-link clicks with open-in-Finder binding by @Kitenite in https://github.com/superset-sh/superset/pull/6504
- refactor(trpc,desktop): read automation schedules from triggers by @saddlepaddle in https://github.com/superset-sh/superset/pull/6509
- refactor(api,trpc,db): stop writing the dead schedule columns by @saddlepaddle in https://github.com/superset-sh/superset/pull/6511
- refactor(db): drop the dead automation schedule columns by @saddlepaddle in https://github.com/superset-sh/superset/pull/6513
- feat(mobile): group home by project and name the scope on screen by @saddlepaddle in https://github.com/superset-sh/superset/pull/6512
- feat(api,db): expire raw webhook payloads after 14 days by @saddlepaddle in https://github.com/superset-sh/superset/pull/6517
- feat(desktop): make sidebar groups reorderable anywhere in the project list by @Kitenite in https://github.com/superset-sh/superset/pull/6514
- fix(desktop): resolve workspaces before declaring "not found" + stop host-service manifest steals by @Kitenite in https://github.com/superset-sh/superset/pull/6508
- docs: weekly changelog 2026-08-16 by @Kitenite in https://github.com/superset-sh/superset/pull/6528
- fix(trpc,db): tombstone deleted users instead of cascading their org's data by @saddlepaddle in https://github.com/superset-sh/superset/pull/6529
- fix(host-service): discard untracked and staged directories recursively by @saddlepaddle in https://github.com/superset-sh/superset/pull/6533
- fix(mobile): hide project sections with no workspaces by @saddlepaddle in https://github.com/superset-sh/superset/pull/6516
- fix(mobile): submit terminal messages through terminal.send, add a newline button by @saddlepaddle in https://github.com/superset-sh/superset/pull/6527
- feat(shared,trpc): save triggers as a set with the automation by @saddlepaddle in https://github.com/superset-sh/superset/pull/6534
- fix(mobile): drop third-party marks from App Store keywords by @saddlepaddle in https://github.com/superset-sh/superset/pull/6536
- feat(desktop): richer new-workspace templates + labeled model/effort pills by @Kitenite in https://github.com/superset-sh/superset/pull/6537
- feat(api): record GitHub deliveries as automation events by @saddlepaddle in https://github.com/superset-sh/superset/pull/6538
…