Repository navigation
Releases: passioncode-ai/fabric-dashboards
Release list
v0.7.14
Fixed
- Restart to update works when the downloaded update was removed (FD-75). If the files of a downloaded update
disappear from disk, the app notices, downloads the update again and installs it once it is ready, instead of
restarting into the old version. A leftover installer that has nothing to install is cleaned up at start.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.13
Added
- ⌘R reloads the dashboard on screen (FD-74), signed in again; ⇧⌘R first drops its stored files. On Windows
and Linux the keys are F5 and Shift+F5, so Ctrl+R stays the console shell's own search.
Changed
-
Dashboards open faster (FD-74). A page you come back to opens straight away, without a new sign-in, while the
same agent process let you in less than 30 minutes ago. A hidden window keeps the two pages you used last for an
hour instead of closing every page after 5 minutes. -
Agents show their new version by themselves (FD-74). When an agent restarts, its page on screen reloads where
it was; a page off screen reloads the next time you open it. The Reload bar is gone. -
The console opens at once (FD-74). The runtimes are found right after the app starts, and a slow Switchboard
no longer holds the panel. -
Tidier buttons (FD-74). The console's buttons sit in one compact row with Open in Terminal as an icon, and its
notes are no longer cut at the left edge. The dashboard toolbar uses icons and one Copy button with a menu. The setup
card's buttons share one row. -
No em dash in the interface (FD-73). Fourteen strings in English and Russian now use a full stop, comma, colon
or parentheses instead; a test keeps new strings free of it.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.12
Changed
- Opens at login by default (FD-72, the organization's lifecycle rule). The first launch of an installed copy
registers the login item once; turn it off in Settings and it stays off. The first-run question is gone. If
macOS holds the login item for approval, every launch says so in a notification that opens the right pane. - Checks for an update every 5 minutes (FD-72), against the release's static feed. A check that finds nothing
new is logged once, not every time.
Added
- «Restart to finish updating» (FD-72): when an update is downloaded and verified, a notification asks once per
version; clicking it restarts the app, asking first if a console session or a command is running.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.11
Fixed
- A failed read names its cause (FD-70). A command stopped at its deadline, ended by a signal or exiting with
nothing on stderr is now logged as such ("no answer within 10 s (stopped)"), not as a bare "Command failed".
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.10
Added
- Check setup (FD-65, SCN-070). Settings → Setup and the setup card run the PassionCode launcher's read-only
check at a pinned version and list what is not set up on this computer, grouped by area, each with its fix.
Repair with my coding agent opens the Setup console, and its brief starts from those lines. The check runs only
when you press it.
Fixed
-
A failed read says why (FD-69). A command killed at its deadline now logs its reason instead of a bare
"exit 1", and the console logs once when Switchboard's hand-overs can be read again. -
Claude Code sees
service_context(FD-66). Its input schema hadanyOfat the top level, which the Anthropic
API refuses, so Claude Code dropped the tool and a console's agent could not make its first call. One ofkeyor
serviceis still required; the server checks it.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.9
Added
- Switchboard's hand-overs open in the console, not in Terminal (FD-62, Switchboard SB-108). With "Open
hand-overs in Fabric" on in Switchboard 0.6.26 or later, each continuing session Switchboard prepares is taken
once withswitchboard handovers run <id>. It runs in the free console of the agent whose folder it is, or in a
console of its own listed under Hand-overs. Hand-overs are read every 15 s with the window shown and every 60 s
hidden, only where Switchboard is installed. One the Mac cannot carry (LC-17) goes to Terminal on Switchboard's
side after two minutes, as before.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.8
Fixed
- A window hidden with ⌘H counts as hidden (FD-64). macOS sends the window no hide or show event for ⌘H.
The app therefore stayed at the shown cadence, kept the embedded dashboards and never started the
ten hidden minutes before an automatic update: 0.7.7, downloaded and verified at 04:29, waited on this Mac
with nothing running. What is on screen is now checked when the app becomes or stops being active, and
every 15 s. A held automatic install also says in the log why it waits.
Contributors
- The pre-commit hook refuses private data in this public tree (FD-63): org-index
check_private.pyruns
after the lease check when it is found; see CONTRIBUTING.md Private data.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.7
Added
- The agent console starts only what the Mac can carry (FD-49, lifecycle LC-17): at least 5 GB free on the
folder's disk, swap not exhausted, at most six console sessions at once; otherwise the start is deferred and the
console says why and what frees it. - Switchboard sessions beside the agent (FD-43): the console lists what Switchboard launched in its folder —
state, account, mode, since when — read every 15 s only while the console is on screen. - A provider limit does not stop the agent (FD-51, LC-20): with a Switchboard account for the provider, every
Claude Code and Codex start runs through Switchboard's managed mode, and a session Switchboard moved to the
pool's next account says so. - An idle console session closes and comes back (FD-50, LC-18): after 30 minutes with no input or output it is
saved (when, and the Switchboard account) and closed; opening the console continues it. - Dashboards take the scheme and the theme (FD-42, FD-56): Settings offers Same as macOS, Dark and Light, and
the dashboard theme (Graphite, Fabric, Paper, Forest, Ocean, Ember, High contrast). Each dashboard gets
fabric_appearancein its own partition before every load and on a change, without a reload; a theme the page
says it does not ship is not sent; an invalid dashboard profile counts as undeclared and is logged once per load. - Runner and model on an agent's Health (FD-46, DEC-0046): the profile that applies, who set it, spend per
model, and Change in Fabric. - Every supervisor the contract names (FD-55, FD-57): descriptors under systemd, the Task Scheduler and the
Observatory node — and withrunner,channels,peerand the object form ofinstalledBy— are read instead
of shown Invalid (proven on the contract's 78 descriptor fixtures at fe55fc6). On Linux a copy waiting on its
lock reads Duplicate from systemd's MainPID; the Task Scheduler gives no pid, so a waiting copy is never an
outage. An app's own descriptor (manager: person, DEC-0069) is skipped, never probed. - A pre-commit check for leases (FD-26):
npm ciinstalls a hook that refuses a commit staging a guarded
register without this run's agent-sync lease.
Security
- Windows: a token file that grants Everyone GENERIC_READ is refused (CT-21, contract DEC-0057). The ACL reader
took .NET's signedFileSystemRights, so an ACE carrying GENERIC_READ (0x80000000) came out negative and was
skipped as granting nothing: such a token file passed. The mask is now read as an unsigned 32-bit number
(-band 4294967295in the PowerShell read), and a mask that is not one is refused rather than skipped. An ACE of
any type other than allow or deny is refused, SIDs compare case-insensitively, and an unreadable owner, SID or
type refuses the file. The contract'sfixtures/vectors/windows-token.jsonruns in the tests, vendored at 7688304.
Fixed
- Restart to update reopens on the screen the person left (FD-21 U-18), not on Overview.
- A half-written new descriptor no longer flashes Invalid or logs "installed" (U-16); a misnamed one keeps its
own key instead of colliding with the real one. - An online service that refuses TLS or redirects is down at once (R-19), not after three missed probes.
- Uninstall removes an update Squirrel has staged (R-20), so ShipIt cannot put the app back as it quits.
- One start/stop/restart sequence for the app and MCP (FD-20): the MCP tool now also names a stray copy that
keeps the port. - An event's
datais not kept in the history (DEC-0070); every member the protocol names still is. - Skills updates: "another update is running" is no longer an error. From sshlg-skills 1.56.0 one update
runs at a time and a second one refuses with exit 75. The app now logs that asestate_update busy, keeps
the version it showed and tries again within the hour, instead of reporting a failed update. - The Russian interface reads as Russian. After the operator's review, 164 of the 471 Russian strings and 16
translated machine reasons were rewritten. Each thing now has one name («агент для кода», «скилы», «События»).
Sentences agree with any service name, and calques and rhetorical dashes are gone. One string had lost half of its
meaning and says it again: a port that answers without fabric-service/0.1 gets the token again only when it asks
for one. The "since you were last here" date now follows the interface language, not the system's.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.6
Fixed
- Windows: an update installs, and Uninstall runs its uninstaller (found by the first end-to-end update test).
The helpers that must work after the app quits were stopped together with it: the update waiter, the
uninstaller's waiter and the data clean-up. 0.7.4 and 0.7.5 downloaded and verified an update on Windows but
never installed it. They now run on their own after the app has quit.
On Windows, if you run 0.7.4 or 0.7.5, install 0.7.6 once by hand from the releases page: those versions
cannot finish an update themselves (their Restart to Update closes the app without installing). From 0.7.6 on,
updates install by themselves. - Linux AppImage: an update starts the new version. The AppImage replaced its own file but did not start
again; now the new version starts once the old one has quit. A 0.7.4 or 0.7.5 AppImage has already replaced
itself with the newer file: start it once by hand and it runs the new version. - An automatic install stays in the menu bar or tray even when the installer takes several minutes (Windows on
Arm), and a failed install never leaves a later launch hidden. - Settings → Notifications says plainly that outages are shown on this computer only when no agent offers a
channel, instead of a warning.
Added
- An agent that waits for you to finish its setup is not an outage (FD-48, Fabric Agent Contract DEC-0044). A
part of an agent marked as waiting for setup shows as "waits for you to set it up" and never sends an outage
message.
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc
v0.7.5
Added
- Outages reach you away from the Mac (FD-48). When an agent has been down for five minutes, or a part of it
has failed that was fine when it started, one message goes to the agent you use as your channel (for example
your Telegram channel), and one more when it is back. Settings → Notifications → Also send outages to chooses
it: automatic, a specific agent, or off. Failure and warning banners go there too. Your pause, quiet hours and
per-agent switches apply.
Fixed
- Reload signs a dashboard in again when its session has ended, once, and returns to the same page (PR #101).
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc