Repository navigation
Releases: kogan/superset
Release list
superset++ v1.39.6
Security release — eMudhra CA key compromise
Distrusts emSign ECC Root CA - G3 at the app level. The eMudhra intermediate CA key compromise (Oct 2026) means anyone with the recovered keys can forge a trusted certificate for any host; on macOS Electron validates against the OS keychain, which keeps trusting that root until Apple removes it, and Chrome's component-delivered distrust never reaches this app. v1.39.6 refuses any TLS chain anchored in that root on every session, including the auto-updater's.
See #40. Verified: the fix is compiled into the bundle; blocked testevg3.emsign.com/testovc3.emsign.com while github.com is unaffected.
macOS (Apple Silicon). First install: DMG. Existing installs auto-update via the ZIP + latest-mac.yml.
superset++ v1.39.5
superset++ v1.39.5
Fixed / added — Stack tab
- Works without a linked PR (#39): the repo now comes from the workspace's project (not its linked PR) and the current branch is read live from git, so a worktree with a stack but no linked PR no longer shows "No pull request for this branch yet."
- Scrolls when the stack is tall — the list has its own scroll area under a sticky header.
- Linked-PR indicator — a link icon marks whichever stack PR is wired to this worktree.
Carried from 1.39.0–1.39.4
- Agents tree (#32), embedded-IDE opener (#33), top-bar IDE button (#34), Stack tab (#35) with full parity (#36), live-branch/click-to-switch (#37), and Changes-tab sync (#38).
Notes
- Self-signed with the superset++ release certificate (not Apple-notarized). Unified bump: desktop, host-service, cli → 1.39.5.
🤖 Built with Claude Code
superset++ v1.39.4
superset++ v1.39.4
Changed
- Stack tab ↔ Changes tab sync (#38): clicking a PR node now checks out that branch, points the comparison base at the PR's parent, and refreshes — so the Changes tab shows exactly that PR's diff (matching the node's file list), and the "you are here" marker moves with it.
Carried from 1.39.0–1.39.3
- Sidebar agents tree (#32), embedded-IDE opener (#33), top-bar IDE button + empty-state action (#34), Stack tab (#35) with full design parity (#36) and live-branch / click-to-switch fixes (#37).
Notes
- Self-signed with the superset++ release certificate (not Apple-notarized). Unified bump: desktop, host-service, cli → 1.39.4.
🤖 Built with Claude Code
superset++ v1.39.3
superset++ v1.39.3
Stack tab — full design + fixes
- Full mockup parity (#36): header with a trunk base pill, refresh, collapse-all; per-node diffstat (
+/−) and a checks badge; Open/Draft chip; expand a node to its changed files; a trunk node at the base of the spine. - "You" tracks the live branch (#37) — read from git's checked-out branch, not the workspace's linked PR, so it moves when you switch branches.
- Click a node to switch to it (#37) — checks out that branch in the worktree (dirty-tree failures surface as a toast); a ↗ link opens the PR. The full chain (tip→trunk) always shows, "You" wherever you are.
Carried from 1.39.0–1.39.2
- Sidebar agents tree (#32), embedded-IDE opener (#33), top-bar IDE button + empty-state action (#34), initial Stack tab (#35).
Notes
- Self-signed with the superset++ release certificate (not Apple-notarized). Unified bump: desktop, host-service, cli → 1.39.3.
🤖 Built with Claude Code
superset++ v1.39.2
superset++ v1.39.2
Added
- Stack tab in the right sidebar — a fourth tab beside Files / Changes / Review that draws the PR chain for the checked-out branch as a spine (current branch at top, trunk below). Each node is a PR (number · title · draft state) and opens it; the current branch is marked. The chain is derived from GitHub head/base refs. (#35)
- New strings are English-only by intent for this fork feature.
Carried from 1.39.0–1.39.1
- Sidebar agents tree (#32), embedded-IDE opener re-wiring (#33), persistent top-bar IDE button + empty-state action (#34).
Notes
- Self-signed with the superset++ release certificate (not Apple-notarized).
- Unified version bump: desktop, host-service, cli → 1.39.2.
🤖 Built with Claude Code
superset++ v1.39.1
superset++ v1.39.1
Added
- Persistent "IDE" button in the workspace top bar — one click opens/focuses the worktree's embedded IDE, no dropdown. Gated by Settings → General → Features → "Embedded IDE". (#34)
- "Open IDE" action on the empty-tab state — restored (an upstream sync had replaced it with "Browse files"). (#34)
Carried from v1.39.0
Notes
- Self-signed with the superset++ release certificate (not Apple-notarized), consistent with prior releases.
- Unified version bump: desktop, host-service, cli → 1.39.1.
🤖 Built with Claude Code
superset++ v1.39.0
superset++ v1.39.0
Fixed
- Workspace agents tree in the sidebar — running agents show under each workspace, grouped by model, subagents nested, with an expand/collapse chevron. The feature existed but was only wired into the dark-launched new sidebar; it's now rendered in the sidebar row that actually ships, gated by Settings → Experimental → "Workspace agents". (#32)
- Embedded IDE opener restored — the per-worktree IDE ("IDE" in the tab-bar + menu) was unwired by an upstream sync that regenerated the pane registry/types from upstream (which has no IDE), orphaning the
idepane kind while leaving the backend + component intact. Re-registered the pane kind and the add-tab opener, gated by Settings → General → Features → "Embedded IDE". (#33)
Notes
- Self-signed with the superset++ release certificate (not Apple-notarized), consistent with prior superset++ releases.
- Unified version bump: desktop, host-service, and cli → 1.39.0.
🤖 Built and staged with Claude Code
v1.38.0
Apple Silicon build of superset++ 1.38.0, signed with the fork's release certificate (superset++ Local Release Signing). Not notarized — on first launch, right-click the app and choose Open.
Install from the .dmg. The .zip and latest-mac.yml are what installed apps use to update themselves.
Install into
/Applications, not from the mounted disk image. An app launched from its DMG runs on a read-only Gatekeeper mount, and in-app updates silently fail from there. After installing,xattr -dr com.apple.quarantine /Applications/superset++.app.
What's in it
Two merged changes: the upstream sync (115 commits through superset-sh/superset@012dd8ef0) and the sidebar ports move.
Sidebar
- Ports now sit on the workspace title line as a badge, instead of in the strip below the row. One line back per workspace with ports open.
- The agents tree is unchanged — chevron, per-model grouping, subagents, stop and rename-subagent all stay. Upstream's own agents chip was deliberately not adopted.
Desktop & chat
- Center pane area for terminals and chats, an
/mcppicker, editing a sent message, and an ACP sessions API - Answer an agent's input requests straight from the composer
- No blank chat when switching workspaces; only the newest transcript rows mount
- Dialogs are modal, so clicking elsewhere can't dismiss them
- Modifier-click opens a workspace's pull request in the browser
- Commit and push from the PR dropdown once a PR is open
- A setting to bring back the running-terminal close warning
- Host connection status floats as a pill at the top of the workspace
Plugins & CLI
- Connect before install, one place for accounts, no enable/disable step
- MCP servers provisioned for
pdev;pdev0.1.5 bundled - Workspace delete reports per id what it actually did
Hosted-only (inert here)
Realtime presence moving into Durable Objects, cloud-workspace and billing work. This fork is a personal installation, so none of it is reachable.
On the 1.36.0 regression
1.36.0 was withdrawn because it would not launch: an upstream refactor set CFBundleName to its own brand while the helper bundles kept this fork's, and Electron aborts when it cannot resolve them.
That refactor has since re-landed upstream. It is safe this time — the display name falls back to productName — and the guard added after that incident is still in verify-mac-release.ts, asserting CFBundleName matches productName and resolving all four helper executables on every build. It passed here.
Its runtime twin was not safe: DESKTOP_DISPLAY_NAME defaulted to upstream's brand and now feeds the menu bar, tray, quit dialogs and About panel. That default now comes from the fork's own name, so nothing is rebranded.
This build was launched and exercised before publishing: it starts, migrates its database, renders its window and brings up its services.
v1.37.0
Apple Silicon build of superset++ 1.37.0, signed with the fork's release certificate (superset++ Local Release Signing). Not notarized — on first launch, right-click the app and choose Open.
Install from the .dmg. The .zip and latest-mac.yml are what installed apps use to update themselves.
This replaces 1.36.0, which was withdrawn because it would not launch. If you installed it and rolled back, this build updates you normally.
The 1.36.0 crash, and why it got through
1.36.0 died about 70 ms after launch, before any window, with Electron's FATAL: Unable to find helper app.
An upstream refactor set the app bundle's CFBundleName to its own brand, Superset, while this fork's helper bundles are named after its productName, superset++. Electron looks its helper processes up as Contents/Frameworks/<CFBundleName> Helper.app, so it searched for Superset Helper.app, found nothing, and aborted.
It got through because the change merged with no conflict, and every release check — artifact hashes, versions, bundle id, signing certificate, the full test suite — passed on a bundle that could not start. The build was never launched before publishing.
Two things changed so it cannot repeat:
verify-mac-release.tsnow assertsCFBundleNamematchesproductNameand resolves all four helper executables exactly as Electron does. Run against the broken 1.36.0 bundle, it fails. This runs as part of everybuild:mac.- This build was launched and exercised before publishing: it starts, migrates its database, renders its window, and brings up its services.
What's new since 1.35.0
This release carries both syncs — the 34 commits in the withdrawn 1.36.0 plus 19 more, up to superset-sh/superset@a02853583.
Desktop & terminal
- Find in transcript with Cmd+F in chat
- GitHub pull request and issue chips in sent messages
- Resolved review threads fold on the PR pane
- Host connection status floats as a pill at the top of the workspace
- Terminal: copy from agents, keys typed while attaching are no longer dropped, Claude Code's native scroll acceleration restored, and it stops claiming
TERM_PROGRAM=kitty @xterm/*on 6.1.0-beta.315 with the Emitter dispose crash fixed- Shared workspace links open in the workspace view
Tasks
- Label hierarchy with path names, plus a label filter in the Tasks view
- Filter task lists by exact labels
- Task assignee is kept when an update omits
assigneeId
CLI
- The organization is named in
auth mcp-headers, so agent MCP works for multi-org users
Not in this build
Upstream's sidebar rework (badge-style ports icon, ports on the workspace title line) is not adopted. It reworks the same rows this fork customises for its agents tree, and recovering a withdrawn release was the wrong moment for an unverifiable UI merge. It can be picked up deliberately next cycle.
Upstream's billing work (Autumn migration, cloud-box metering, VAT at checkout) is hosted-only and inert here — this fork is a personal installation with billing disabled.
v1.35.0
superset++ v1.35.0
Syncs the fork with 150 commits of upstream Superset (through 5441959c2e) while keeping superset++'s identity and data: the .superestset home dir, local PGlite runtime, Jira and pull-request team filters, Pages, the embedded IDE, and the local runtime. All fork settings and data are unchanged.
What's new from upstream
This is a large sync. The headline change is upstream's rewritten v2 workspace, which this release adopts:
- Workspace panes: the new right-pane layout, a dedicated Files tree pane, and the unified chat pane (replacing chat-v3).
- Hosts: set up a host over SSH from Settings → Hosts.
- Tasks: upstream's task-numbering / import model.
- Pull requests: repo-scoped diff/content fetching.
Plus a large number of upstream fixes across the desktop app, host-service, and CLI.
Fork integration notes
- The fork's earlier workspace customizations were set aside in favor of upstream's new workspace UI; the embedded-IDE registry is retained.
- All
dbWsusage reconciled onto the single local PGlitedb. - i18n catalogs re-extracted and backfilled from upstream translations (all locales fully translated).
Installation and updates
Send IT superset-plus-plus-1.35.0-arm64.dmg for Apple Silicon Macs.
The app and update manifest use version 1.35.0, newer than 1.34.0. This release retains bundle ID com.deexi333.superestset and the superset++ Local Release Signing certificate, SHA-1 3CAB8591B6DF300560E8ECC5697C2CC8CFCB9728. It is self-signed and not Apple-notarized. IT should preserve the app's signature when distributing it. Staff do not need the private signing key or its password.
After publishing this release as Latest, choose superset++ → Check for Updates... in the signed v1.34.0 app. Draft releases are not visible to the updater.
The release contains the DMG, updater ZIP, both blockmaps, latest-mac.yml, and SHA256SUMS.txt.
Verification
- Full typecheck across all packages (except the known, lockfile-sensitive
@superset/docsissue, which is not in the desktop build). bun run build:macsucceeds; packaged self-signed app verified (verify-mac-release,verify-packaged-apiacross a restart) and the installed v1.34.0 app accepts the v1.35.0 signing identity (Squirrel signature validation: 0).