Changelog
Changelog
All
Desktop
CLI
May 8, 2026
CLI v0.23.0
v0.23.0
CLI
Features
Relax the
Statustype from a closed"todo" | "in-progress" | "done"union to a branded non-empty string, so storage and sync can carry custom workflow statuses (e.g.review,blocked) once extensions can register them. Built-in statuses are still the only ones the CLI and desktop UI accept on creation today; that gate is lifted in a follow-up release alongsideregisterProperty("status", ...).The published
@fiberplane/extensionsStatustype widens from the literal union tostring. ACoreStatusalias ("todo" | "in-progress" | "done") is exported for extensions that need exhaustive pattern-matching against the built-ins.
Fixes
Fix the Linux ARM64 Alpine installer artifact so the installed
fpcommand launches the Fiberplane CLI instead of the Bun runtime.Fix global extension settings so globally installed extensions use shared global configuration, while project extensions continue to use project configuration. The desktop extension settings now clearly separates global and project extensions with links to the extension docs.
Redesign revival — Figma V2 design-system migration plus polish across the issue and brainstorm surfaces:
Design tokens. Swap the dark-mode
bg-cardandbg-surfacevalues so card surfaces lift above the canvas like they do in light mode, introduce abg-overlaytoken for modal backdrops, and migrate every popover, dropdown, dialog, modal, tooltip, and floating element frombg-surfaceontobg-cardso they read as lifted in dark mode. Focus rings now use the soft accent blue (--ring) instead of gray.Detail pane v3. Tidied header action cluster (Pin → Focus on subtree → More → Expand → Close, with diff stats moved next to it), Created date surfaced as a property row at the top of Properties, redundant footer dropped (Updated already lives in the breadcrumb), Activity section header aligned with other section headers.
Sidebar v3. Removed the Settings link from the footer (still reachable via the gear icon, command palette, and macOS menu bar), show the issue count next to the active project name, refreshed Pinned and Brainstorms section headers, and the Add task shortcut renders as a single inline hint instead of two key chips.
Welcome screen. Tightened headline, three workflow cards (Plan, Implement, Learn) with miniature previews of each surface, and an inline install step on macOS that explains the PATH-symlink prompt before triggering it.
Kanban always on. The Kanban board view is always available — no need to enable the
experimental_kanbanflag. The flag has been removed from~/.fiberplane/config.toml; existing entries are silently ignored.
May 8, 2026
CLI v0.23.0
v0.23.0
CLI
Features
Relax the
Statustype from a closed"todo" | "in-progress" | "done"union to a branded non-empty string, so storage and sync can carry custom workflow statuses (e.g.review,blocked) once extensions can register them. Built-in statuses are still the only ones the CLI and desktop UI accept on creation today; that gate is lifted in a follow-up release alongsideregisterProperty("status", ...).The published
@fiberplane/extensionsStatustype widens from the literal union tostring. ACoreStatusalias ("todo" | "in-progress" | "done") is exported for extensions that need exhaustive pattern-matching against the built-ins.
Fixes
Fix the Linux ARM64 Alpine installer artifact so the installed
fpcommand launches the Fiberplane CLI instead of the Bun runtime.Fix global extension settings so globally installed extensions use shared global configuration, while project extensions continue to use project configuration. The desktop extension settings now clearly separates global and project extensions with links to the extension docs.
Redesign revival — Figma V2 design-system migration plus polish across the issue and brainstorm surfaces:
Design tokens. Swap the dark-mode
bg-cardandbg-surfacevalues so card surfaces lift above the canvas like they do in light mode, introduce abg-overlaytoken for modal backdrops, and migrate every popover, dropdown, dialog, modal, tooltip, and floating element frombg-surfaceontobg-cardso they read as lifted in dark mode. Focus rings now use the soft accent blue (--ring) instead of gray.Detail pane v3. Tidied header action cluster (Pin → Focus on subtree → More → Expand → Close, with diff stats moved next to it), Created date surfaced as a property row at the top of Properties, redundant footer dropped (Updated already lives in the breadcrumb), Activity section header aligned with other section headers.
Sidebar v3. Removed the Settings link from the footer (still reachable via the gear icon, command palette, and macOS menu bar), show the issue count next to the active project name, refreshed Pinned and Brainstorms section headers, and the Add task shortcut renders as a single inline hint instead of two key chips.
Welcome screen. Tightened headline, three workflow cards (Plan, Implement, Learn) with miniature previews of each surface, and an inline install step on macOS that explains the PATH-symlink prompt before triggering it.
Kanban always on. The Kanban board view is always available — no need to enable the
experimental_kanbanflag. The flag has been removed from~/.fiberplane/config.toml; existing entries are silently ignored.
May 8, 2026
CLI v0.23.0
v0.23.0
CLI
Features
Relax the
Statustype from a closed"todo" | "in-progress" | "done"union to a branded non-empty string, so storage and sync can carry custom workflow statuses (e.g.review,blocked) once extensions can register them. Built-in statuses are still the only ones the CLI and desktop UI accept on creation today; that gate is lifted in a follow-up release alongsideregisterProperty("status", ...).The published
@fiberplane/extensionsStatustype widens from the literal union tostring. ACoreStatusalias ("todo" | "in-progress" | "done") is exported for extensions that need exhaustive pattern-matching against the built-ins.
Fixes
Fix the Linux ARM64 Alpine installer artifact so the installed
fpcommand launches the Fiberplane CLI instead of the Bun runtime.Fix global extension settings so globally installed extensions use shared global configuration, while project extensions continue to use project configuration. The desktop extension settings now clearly separates global and project extensions with links to the extension docs.
Redesign revival — Figma V2 design-system migration plus polish across the issue and brainstorm surfaces:
Design tokens. Swap the dark-mode
bg-cardandbg-surfacevalues so card surfaces lift above the canvas like they do in light mode, introduce abg-overlaytoken for modal backdrops, and migrate every popover, dropdown, dialog, modal, tooltip, and floating element frombg-surfaceontobg-cardso they read as lifted in dark mode. Focus rings now use the soft accent blue (--ring) instead of gray.Detail pane v3. Tidied header action cluster (Pin → Focus on subtree → More → Expand → Close, with diff stats moved next to it), Created date surfaced as a property row at the top of Properties, redundant footer dropped (Updated already lives in the breadcrumb), Activity section header aligned with other section headers.
Sidebar v3. Removed the Settings link from the footer (still reachable via the gear icon, command palette, and macOS menu bar), show the issue count next to the active project name, refreshed Pinned and Brainstorms section headers, and the Add task shortcut renders as a single inline hint instead of two key chips.
Welcome screen. Tightened headline, three workflow cards (Plan, Implement, Learn) with miniature previews of each surface, and an inline install step on macOS that explains the PATH-symlink prompt before triggering it.
Kanban always on. The Kanban board view is always available — no need to enable the
experimental_kanbanflag. The flag has been removed from~/.fiberplane/config.toml; existing entries are silently ignored.
May 8, 2026
Desktop v0.17.0
v0.17.0
Desktop
Features
Render fenced code blocks in issue descriptions and comments with Shiki syntax highlighting. Code blocks have a distinct background and border, no visible backticks, and a subtle saturation fade-in animation when colors first arrive (skipped on cache hits).
Pasting markdown with fenced code blocks (including 4+ backtick fences, indented fences, and CRLF line endings from Windows clipboards) now produces real code blocks in the editor instead of literal backtick text.
Editor and view modes render code blocks identically — same font (Geist Mono Variable), same padding, same border-radius, no word-wrap difference between modes.
First-issue-open is ~25–35× faster on cold start (~174 ms → ~5–7 ms of renderer-thread blocking) thanks to background Shiki warmup during app boot.
Internal: Lexical bumped 0.42 → 0.44, syntax-highlight CSS variables lifted to global scope, token cache uses
useSyncExternalStorewith bounded FIFO eviction.Add a preference for choosing the issue detail title font.
Add a "What's new" card to the sidebar that surfaces changelog bullets after auto-updates. Click to open the full release notes in a modal; click × to dismiss without opening. The card is enabled by default — toggle it off in Settings → Updates if you'd rather not see it. Preview-channel builds also list pending changes that will ship in the next stable release.
Fixes
Fix custom property select and multiselect controls in the desktop issue detail view so empty values can be selected reliably and long multiselect values stay within the field.
Fix the detail pane showing a "Select an issue" empty state after the selected issue is removed (e.g. switching projects with the detail pane open, deleting the open issue from the CLI or another window). The pane now collapses cleanly when there is no selection, and the user's preferred layout (split or maximized) is restored when a new issue is opened.
Fix global extension settings so globally installed extensions use shared global configuration, while project extensions continue to use project configuration. The desktop extension settings now clearly separates global and project extensions with links to the extension docs.
Redesign revival — Figma V2 design-system migration plus polish across the issue and brainstorm surfaces:
Design tokens. Swap the dark-mode
bg-cardandbg-surfacevalues so card surfaces lift above the canvas like they do in light mode, introduce abg-overlaytoken for modal backdrops, and migrate every popover, dropdown, dialog, modal, tooltip, and floating element frombg-surfaceontobg-cardso they read as lifted in dark mode. Focus rings now use the soft accent blue (--ring) instead of gray.Detail pane v3. Tidied header action cluster (Pin → Focus on subtree → More → Expand → Close, with diff stats moved next to it), Created date surfaced as a property row at the top of Properties, redundant footer dropped (Updated already lives in the breadcrumb), Activity section header aligned with other section headers.
Sidebar v3. Removed the Settings link from the footer (still reachable via the gear icon, command palette, and macOS menu bar), show the issue count next to the active project name, refreshed Pinned and Brainstorms section headers, and the Add task shortcut renders as a single inline hint instead of two key chips.
Welcome screen. Tightened headline, three workflow cards (Plan, Implement, Learn) with miniature previews of each surface, and an inline install step on macOS that explains the PATH-symlink prompt before triggering it.
Kanban always on. The Kanban board view is always available — no need to enable the
experimental_kanbanflag. The flag has been removed from~/.fiberplane/config.toml; existing entries are silently ignored.
Rename the macOS app menu's "Preferences..." item to "Settings..." for consistency with the rest of the desktop UI.
Add per-status issue counts to the Status filter dropdown.
Fix macOS traffic-light buttons sitting too high above the sidebar toggle and breadcrumb row. The cluster now centers on the same line as the toggle icon and the project breadcrumb, restoring the alignment from the redesign.
In tree view, Last updated and Last created now float parents by their most recent descendant, so recently-touched sub-issues no longer hide under quiet parents.
Relax the
Statustype from a closed"todo" | "in-progress" | "done"union to a branded non-empty string, so storage and sync can carry custom workflow statuses (e.g.review,blocked) once extensions can register them. Built-in statuses are still the only ones the CLI and desktop UI accept on creation today; that gate is lifted in a follow-up release alongsideregisterProperty("status", ...).The published
@fiberplane/extensionsStatustype widens from the literal union tostring. ACoreStatusalias ("todo" | "in-progress" | "done") is exported for extensions that need exhaustive pattern-matching against the built-ins.
May 8, 2026
Desktop v0.17.0
v0.17.0
Desktop
Features
Render fenced code blocks in issue descriptions and comments with Shiki syntax highlighting. Code blocks have a distinct background and border, no visible backticks, and a subtle saturation fade-in animation when colors first arrive (skipped on cache hits).
Pasting markdown with fenced code blocks (including 4+ backtick fences, indented fences, and CRLF line endings from Windows clipboards) now produces real code blocks in the editor instead of literal backtick text.
Editor and view modes render code blocks identically — same font (Geist Mono Variable), same padding, same border-radius, no word-wrap difference between modes.
First-issue-open is ~25–35× faster on cold start (~174 ms → ~5–7 ms of renderer-thread blocking) thanks to background Shiki warmup during app boot.
Internal: Lexical bumped 0.42 → 0.44, syntax-highlight CSS variables lifted to global scope, token cache uses
useSyncExternalStorewith bounded FIFO eviction.Add a preference for choosing the issue detail title font.
Add a "What's new" card to the sidebar that surfaces changelog bullets after auto-updates. Click to open the full release notes in a modal; click × to dismiss without opening. The card is enabled by default — toggle it off in Settings → Updates if you'd rather not see it. Preview-channel builds also list pending changes that will ship in the next stable release.
Fixes
Fix custom property select and multiselect controls in the desktop issue detail view so empty values can be selected reliably and long multiselect values stay within the field.
Fix the detail pane showing a "Select an issue" empty state after the selected issue is removed (e.g. switching projects with the detail pane open, deleting the open issue from the CLI or another window). The pane now collapses cleanly when there is no selection, and the user's preferred layout (split or maximized) is restored when a new issue is opened.
Fix global extension settings so globally installed extensions use shared global configuration, while project extensions continue to use project configuration. The desktop extension settings now clearly separates global and project extensions with links to the extension docs.
Redesign revival — Figma V2 design-system migration plus polish across the issue and brainstorm surfaces:
Design tokens. Swap the dark-mode
bg-cardandbg-surfacevalues so card surfaces lift above the canvas like they do in light mode, introduce abg-overlaytoken for modal backdrops, and migrate every popover, dropdown, dialog, modal, tooltip, and floating element frombg-surfaceontobg-cardso they read as lifted in dark mode. Focus rings now use the soft accent blue (--ring) instead of gray.Detail pane v3. Tidied header action cluster (Pin → Focus on subtree → More → Expand → Close, with diff stats moved next to it), Created date surfaced as a property row at the top of Properties, redundant footer dropped (Updated already lives in the breadcrumb), Activity section header aligned with other section headers.
Sidebar v3. Removed the Settings link from the footer (still reachable via the gear icon, command palette, and macOS menu bar), show the issue count next to the active project name, refreshed Pinned and Brainstorms section headers, and the Add task shortcut renders as a single inline hint instead of two key chips.
Welcome screen. Tightened headline, three workflow cards (Plan, Implement, Learn) with miniature previews of each surface, and an inline install step on macOS that explains the PATH-symlink prompt before triggering it.
Kanban always on. The Kanban board view is always available — no need to enable the
experimental_kanbanflag. The flag has been removed from~/.fiberplane/config.toml; existing entries are silently ignored.
Rename the macOS app menu's "Preferences..." item to "Settings..." for consistency with the rest of the desktop UI.
Add per-status issue counts to the Status filter dropdown.
Fix macOS traffic-light buttons sitting too high above the sidebar toggle and breadcrumb row. The cluster now centers on the same line as the toggle icon and the project breadcrumb, restoring the alignment from the redesign.
In tree view, Last updated and Last created now float parents by their most recent descendant, so recently-touched sub-issues no longer hide under quiet parents.
Relax the
Statustype from a closed"todo" | "in-progress" | "done"union to a branded non-empty string, so storage and sync can carry custom workflow statuses (e.g.review,blocked) once extensions can register them. Built-in statuses are still the only ones the CLI and desktop UI accept on creation today; that gate is lifted in a follow-up release alongsideregisterProperty("status", ...).The published
@fiberplane/extensionsStatustype widens from the literal union tostring. ACoreStatusalias ("todo" | "in-progress" | "done") is exported for extensions that need exhaustive pattern-matching against the built-ins.
May 8, 2026
Desktop v0.17.0
v0.17.0
Desktop
Features
Render fenced code blocks in issue descriptions and comments with Shiki syntax highlighting. Code blocks have a distinct background and border, no visible backticks, and a subtle saturation fade-in animation when colors first arrive (skipped on cache hits).
Pasting markdown with fenced code blocks (including 4+ backtick fences, indented fences, and CRLF line endings from Windows clipboards) now produces real code blocks in the editor instead of literal backtick text.
Editor and view modes render code blocks identically — same font (Geist Mono Variable), same padding, same border-radius, no word-wrap difference between modes.
First-issue-open is ~25–35× faster on cold start (~174 ms → ~5–7 ms of renderer-thread blocking) thanks to background Shiki warmup during app boot.
Internal: Lexical bumped 0.42 → 0.44, syntax-highlight CSS variables lifted to global scope, token cache uses
useSyncExternalStorewith bounded FIFO eviction.Add a preference for choosing the issue detail title font.
Add a "What's new" card to the sidebar that surfaces changelog bullets after auto-updates. Click to open the full release notes in a modal; click × to dismiss without opening. The card is enabled by default — toggle it off in Settings → Updates if you'd rather not see it. Preview-channel builds also list pending changes that will ship in the next stable release.
Fixes
Fix custom property select and multiselect controls in the desktop issue detail view so empty values can be selected reliably and long multiselect values stay within the field.
Fix the detail pane showing a "Select an issue" empty state after the selected issue is removed (e.g. switching projects with the detail pane open, deleting the open issue from the CLI or another window). The pane now collapses cleanly when there is no selection, and the user's preferred layout (split or maximized) is restored when a new issue is opened.
Fix global extension settings so globally installed extensions use shared global configuration, while project extensions continue to use project configuration. The desktop extension settings now clearly separates global and project extensions with links to the extension docs.
Redesign revival — Figma V2 design-system migration plus polish across the issue and brainstorm surfaces:
Design tokens. Swap the dark-mode
bg-cardandbg-surfacevalues so card surfaces lift above the canvas like they do in light mode, introduce abg-overlaytoken for modal backdrops, and migrate every popover, dropdown, dialog, modal, tooltip, and floating element frombg-surfaceontobg-cardso they read as lifted in dark mode. Focus rings now use the soft accent blue (--ring) instead of gray.Detail pane v3. Tidied header action cluster (Pin → Focus on subtree → More → Expand → Close, with diff stats moved next to it), Created date surfaced as a property row at the top of Properties, redundant footer dropped (Updated already lives in the breadcrumb), Activity section header aligned with other section headers.
Sidebar v3. Removed the Settings link from the footer (still reachable via the gear icon, command palette, and macOS menu bar), show the issue count next to the active project name, refreshed Pinned and Brainstorms section headers, and the Add task shortcut renders as a single inline hint instead of two key chips.
Welcome screen. Tightened headline, three workflow cards (Plan, Implement, Learn) with miniature previews of each surface, and an inline install step on macOS that explains the PATH-symlink prompt before triggering it.
Kanban always on. The Kanban board view is always available — no need to enable the
experimental_kanbanflag. The flag has been removed from~/.fiberplane/config.toml; existing entries are silently ignored.
Rename the macOS app menu's "Preferences..." item to "Settings..." for consistency with the rest of the desktop UI.
Add per-status issue counts to the Status filter dropdown.
Fix macOS traffic-light buttons sitting too high above the sidebar toggle and breadcrumb row. The cluster now centers on the same line as the toggle icon and the project breadcrumb, restoring the alignment from the redesign.
In tree view, Last updated and Last created now float parents by their most recent descendant, so recently-touched sub-issues no longer hide under quiet parents.
Relax the
Statustype from a closed"todo" | "in-progress" | "done"union to a branded non-empty string, so storage and sync can carry custom workflow statuses (e.g.review,blocked) once extensions can register them. Built-in statuses are still the only ones the CLI and desktop UI accept on creation today; that gate is lifted in a follow-up release alongsideregisterProperty("status", ...).The published
@fiberplane/extensionsStatustype widens from the literal union tostring. ACoreStatusalias ("todo" | "in-progress" | "done") is exported for extensions that need exhaustive pattern-matching against the built-ins.
Apr 30, 2026
CLI v0.22.0
v0.22.0
CLI
Features
Add
fp guidefor bundled workflow primers, seed first-project onboarding tasks fromfp init, and manage agent instruction files throughfp init --agent <claude|standard|codex|skip>andfp agent setup <claude|standard|codex>. The oldfp setupflow is replaced by the narrower agent-instruction setup commands.Agent setup flow no longer installs skills or plugins.
Fixes
Surface registry-prefix errors that were previously silent. A corrupted
.fp/config.tomlnow logs a warning instead of silently falling back to the default prefix, andfp init/fp project sync linksurface a warning when a prefix refresh fails to find the matching registry entry.Fix
fpfailing to resolve projects from inside a git worktree or jj workspace when unrelated orphaned registry entries exist, and fix jj workspace resolution against newer jj versions (>=0.40) that write relative paths in.jj/repo.
Apr 30, 2026
CLI v0.22.0
v0.22.0
CLI
Features
Add
fp guidefor bundled workflow primers, seed first-project onboarding tasks fromfp init, and manage agent instruction files throughfp init --agent <claude|standard|codex|skip>andfp agent setup <claude|standard|codex>. The oldfp setupflow is replaced by the narrower agent-instruction setup commands.Agent setup flow no longer installs skills or plugins.
Fixes
Surface registry-prefix errors that were previously silent. A corrupted
.fp/config.tomlnow logs a warning instead of silently falling back to the default prefix, andfp init/fp project sync linksurface a warning when a prefix refresh fails to find the matching registry entry.Fix
fpfailing to resolve projects from inside a git worktree or jj workspace when unrelated orphaned registry entries exist, and fix jj workspace resolution against newer jj versions (>=0.40) that write relative paths in.jj/repo.
Apr 30, 2026
CLI v0.22.0
v0.22.0
CLI
Features
Add
fp guidefor bundled workflow primers, seed first-project onboarding tasks fromfp init, and manage agent instruction files throughfp init --agent <claude|standard|codex|skip>andfp agent setup <claude|standard|codex>. The oldfp setupflow is replaced by the narrower agent-instruction setup commands.Agent setup flow no longer installs skills or plugins.
Fixes
Surface registry-prefix errors that were previously silent. A corrupted
.fp/config.tomlnow logs a warning instead of silently falling back to the default prefix, andfp init/fp project sync linksurface a warning when a prefix refresh fails to find the matching registry entry.Fix
fpfailing to resolve projects from inside a git worktree or jj workspace when unrelated orphaned registry entries exist, and fix jj workspace resolution against newer jj versions (>=0.40) that write relative paths in.jj/repo.
Apr 30, 2026
Desktop v0.16.1
v0.16.1
Desktop
Fixes
Add action to copy private issue permalink from the desktop app for synced projects.
Restore the right-click context menu on pinned issues in the sidebar (copy issue ID, copy permalink, unpin, create child, delete).
Surface registry-prefix errors that were previously silent. A corrupted
.fp/config.tomlnow logs a warning instead of silently falling back to the default prefix, andfp init/fp project sync linksurface a warning when a prefix refresh fails to find the matching registry entry.
Apr 30, 2026
Desktop v0.16.1
v0.16.1
Desktop
Fixes
Add action to copy private issue permalink from the desktop app for synced projects.
Restore the right-click context menu on pinned issues in the sidebar (copy issue ID, copy permalink, unpin, create child, delete).
Surface registry-prefix errors that were previously silent. A corrupted
.fp/config.tomlnow logs a warning instead of silently falling back to the default prefix, andfp init/fp project sync linksurface a warning when a prefix refresh fails to find the matching registry entry.
Apr 30, 2026
Desktop v0.16.1
v0.16.1
Desktop
Fixes
Add action to copy private issue permalink from the desktop app for synced projects.
Restore the right-click context menu on pinned issues in the sidebar (copy issue ID, copy permalink, unpin, create child, delete).
Surface registry-prefix errors that were previously silent. A corrupted
.fp/config.tomlnow logs a warning instead of silently falling back to the default prefix, andfp init/fp project sync linksurface a warning when a prefix refresh fails to find the matching registry entry.
Apr 23, 2026
CLI v0.21.1
v0.21.1
CLI
Fixes
Fix
fp update --latestrefusing to upgrade from a prerelease binary to a same-base release. Previouslybuild.tsbaked the bumpedpackageJson.versioninto the binary for every mode, so a prerelease0.21.0-next.<sha>binary reported itself as0.21.0internally and matched the later release manifest string-for-string, causingfp update --latestto short-circuit with "Already at 0.21.0." Build now computes the same publish-mode-aware version stringpublish.tsuses (via a sharedscripts/version.ts), so the binary, the R2 upload path, and the manifest entry stay in lockstep and the semver-awarecompareVersionsin the update command sees the release as newer.Fix runtime
fpVersionreading the bundledpackageJson.versioninstead of the build-timeVERSIONdefine, which reintroduced the prerelease-vs-release collision: a freshly-installed0.21.1-next.<sha>binary reported itself as0.21.1from the JSON bundle, andfp update --latestthen claimed "Current version 0.21.1 is newer than 0.21.1-next.". Introducesrc/lib/version.tsas the single source of truth — prefers theVERSIONdefine, falls back topackageJson.versionfor dev/test — and route everyfp --version, update-check, telemetry, and boot-task callsite through it.fp updatenow detects when it's running from inside the desktop app bundle and prints a short note pointing to the desktop app's updater instead of trying to overwrite the bundled binary. Previously a bundledfp updatewould either fail with a permission error (when the app sat in/Applications) or silently replace the code-signed binary and get clobbered on the next desktop auto-update.Suppress the "an update is available" nudge when the user runs
fp updateorfp update --check. Previously a successfulfp updatewould print "Updated to 0.21.0" and then immediately nudge that 0.21.0 was available, because the running process still reported the old version.Fix local fp commands to read issue ID prefixes from the project registry instead of
.fp/config.toml. Registry prefixes now win over stale checked-in config files; usefp project update --prefix <X>to correct the registry. This also fixesfp issue list --parent ...in registry-only projects.
Apr 23, 2026
CLI v0.21.1
v0.21.1
CLI
Fixes
Fix
fp update --latestrefusing to upgrade from a prerelease binary to a same-base release. Previouslybuild.tsbaked the bumpedpackageJson.versioninto the binary for every mode, so a prerelease0.21.0-next.<sha>binary reported itself as0.21.0internally and matched the later release manifest string-for-string, causingfp update --latestto short-circuit with "Already at 0.21.0." Build now computes the same publish-mode-aware version stringpublish.tsuses (via a sharedscripts/version.ts), so the binary, the R2 upload path, and the manifest entry stay in lockstep and the semver-awarecompareVersionsin the update command sees the release as newer.Fix runtime
fpVersionreading the bundledpackageJson.versioninstead of the build-timeVERSIONdefine, which reintroduced the prerelease-vs-release collision: a freshly-installed0.21.1-next.<sha>binary reported itself as0.21.1from the JSON bundle, andfp update --latestthen claimed "Current version 0.21.1 is newer than 0.21.1-next.". Introducesrc/lib/version.tsas the single source of truth — prefers theVERSIONdefine, falls back topackageJson.versionfor dev/test — and route everyfp --version, update-check, telemetry, and boot-task callsite through it.fp updatenow detects when it's running from inside the desktop app bundle and prints a short note pointing to the desktop app's updater instead of trying to overwrite the bundled binary. Previously a bundledfp updatewould either fail with a permission error (when the app sat in/Applications) or silently replace the code-signed binary and get clobbered on the next desktop auto-update.Suppress the "an update is available" nudge when the user runs
fp updateorfp update --check. Previously a successfulfp updatewould print "Updated to 0.21.0" and then immediately nudge that 0.21.0 was available, because the running process still reported the old version.Fix local fp commands to read issue ID prefixes from the project registry instead of
.fp/config.toml. Registry prefixes now win over stale checked-in config files; usefp project update --prefix <X>to correct the registry. This also fixesfp issue list --parent ...in registry-only projects.
Apr 23, 2026
CLI v0.21.1
v0.21.1
CLI
Fixes
Fix
fp update --latestrefusing to upgrade from a prerelease binary to a same-base release. Previouslybuild.tsbaked the bumpedpackageJson.versioninto the binary for every mode, so a prerelease0.21.0-next.<sha>binary reported itself as0.21.0internally and matched the later release manifest string-for-string, causingfp update --latestto short-circuit with "Already at 0.21.0." Build now computes the same publish-mode-aware version stringpublish.tsuses (via a sharedscripts/version.ts), so the binary, the R2 upload path, and the manifest entry stay in lockstep and the semver-awarecompareVersionsin the update command sees the release as newer.Fix runtime
fpVersionreading the bundledpackageJson.versioninstead of the build-timeVERSIONdefine, which reintroduced the prerelease-vs-release collision: a freshly-installed0.21.1-next.<sha>binary reported itself as0.21.1from the JSON bundle, andfp update --latestthen claimed "Current version 0.21.1 is newer than 0.21.1-next.". Introducesrc/lib/version.tsas the single source of truth — prefers theVERSIONdefine, falls back topackageJson.versionfor dev/test — and route everyfp --version, update-check, telemetry, and boot-task callsite through it.fp updatenow detects when it's running from inside the desktop app bundle and prints a short note pointing to the desktop app's updater instead of trying to overwrite the bundled binary. Previously a bundledfp updatewould either fail with a permission error (when the app sat in/Applications) or silently replace the code-signed binary and get clobbered on the next desktop auto-update.Suppress the "an update is available" nudge when the user runs
fp updateorfp update --check. Previously a successfulfp updatewould print "Updated to 0.21.0" and then immediately nudge that 0.21.0 was available, because the running process still reported the old version.Fix local fp commands to read issue ID prefixes from the project registry instead of
.fp/config.toml. Registry prefixes now win over stale checked-in config files; usefp project update --prefix <X>to correct the registry. This also fixesfp issue list --parent ...in registry-only projects.
Apr 23, 2026
Desktop v0.16.0
v0.16.0
Desktop
Features
Bundle the fp CLI inside fp-desktop. On every launch, the app ensures
~/.fiberplane/bin/fpsymlinks to the bundled binary atContents/Resources/bin/fp, replacing any stale standalone install. The auto-install is idempotent: repeated launches with an already-current symlink are a no-op; app updates that change the bundled realpath silently re-link. A new "Install CLI…" action in the tray menu (label updates to "Reinstall CLI…" or "Update CLI…" depending on state) lets users re-run the install manually. Successful installs surface a toast with a one-click "Copy PATH export" forexport PATH="$HOME/.fiberplane/bin:$PATH". Requires the companion@fiberplane/fpupdate-nudge release — bundled binaries detect their install location viaprocess.execPathand suppress the nudge automatically so they stay in lockstep with the desktop app's auto-updater.Add one-click install to put the fp command-line tool on your PATH. Offered as a step in the welcome flow, and available later from Settings → CLI, the command palette, and the app menu. Removes the "Add to PATH" notification that appeared on every launch.
Fixes
Fix image rendering in comments and polish the description editor when descriptions contain images:
Issue-comment attachment images now refresh from the loading placeholder after async asset resolution completes (matching the description fix shipped in #745).
Descriptions that end with an image get a caret-reachable trailing paragraph on markdown import.
The description editor no longer flashes "Loading image…" when entering edit mode on a cached image — view and edit modes share the same asset-resolver cache.
Freshly-dropped images in the editor fall back to a local resolve path so they reliably transition out of the loading placeholder.
Image sizing, wrapper padding, header-row height, and vertical spacing are now identical between view and edit modes — no more layout jumps when toggling.
Autofocusing the description editor (and programmatic focus to the detail pane) uses
preventScrolland Lexical'sSKIP_SCROLL_INTO_VIEW_TAG, so the page no longer jumps when you click a description that's partially off-screen.
Fix issue description attachment images so they refresh from the loading placeholder after asset resolution completes.
Apr 23, 2026
Desktop v0.16.0
v0.16.0
Desktop
Features
Bundle the fp CLI inside fp-desktop. On every launch, the app ensures
~/.fiberplane/bin/fpsymlinks to the bundled binary atContents/Resources/bin/fp, replacing any stale standalone install. The auto-install is idempotent: repeated launches with an already-current symlink are a no-op; app updates that change the bundled realpath silently re-link. A new "Install CLI…" action in the tray menu (label updates to "Reinstall CLI…" or "Update CLI…" depending on state) lets users re-run the install manually. Successful installs surface a toast with a one-click "Copy PATH export" forexport PATH="$HOME/.fiberplane/bin:$PATH". Requires the companion@fiberplane/fpupdate-nudge release — bundled binaries detect their install location viaprocess.execPathand suppress the nudge automatically so they stay in lockstep with the desktop app's auto-updater.Add one-click install to put the fp command-line tool on your PATH. Offered as a step in the welcome flow, and available later from Settings → CLI, the command palette, and the app menu. Removes the "Add to PATH" notification that appeared on every launch.
Fixes
Fix image rendering in comments and polish the description editor when descriptions contain images:
Issue-comment attachment images now refresh from the loading placeholder after async asset resolution completes (matching the description fix shipped in #745).
Descriptions that end with an image get a caret-reachable trailing paragraph on markdown import.
The description editor no longer flashes "Loading image…" when entering edit mode on a cached image — view and edit modes share the same asset-resolver cache.
Freshly-dropped images in the editor fall back to a local resolve path so they reliably transition out of the loading placeholder.
Image sizing, wrapper padding, header-row height, and vertical spacing are now identical between view and edit modes — no more layout jumps when toggling.
Autofocusing the description editor (and programmatic focus to the detail pane) uses
preventScrolland Lexical'sSKIP_SCROLL_INTO_VIEW_TAG, so the page no longer jumps when you click a description that's partially off-screen.
Fix issue description attachment images so they refresh from the loading placeholder after asset resolution completes.
Apr 23, 2026
Desktop v0.16.0
v0.16.0
Desktop
Features
Bundle the fp CLI inside fp-desktop. On every launch, the app ensures
~/.fiberplane/bin/fpsymlinks to the bundled binary atContents/Resources/bin/fp, replacing any stale standalone install. The auto-install is idempotent: repeated launches with an already-current symlink are a no-op; app updates that change the bundled realpath silently re-link. A new "Install CLI…" action in the tray menu (label updates to "Reinstall CLI…" or "Update CLI…" depending on state) lets users re-run the install manually. Successful installs surface a toast with a one-click "Copy PATH export" forexport PATH="$HOME/.fiberplane/bin:$PATH". Requires the companion@fiberplane/fpupdate-nudge release — bundled binaries detect their install location viaprocess.execPathand suppress the nudge automatically so they stay in lockstep with the desktop app's auto-updater.Add one-click install to put the fp command-line tool on your PATH. Offered as a step in the welcome flow, and available later from Settings → CLI, the command palette, and the app menu. Removes the "Add to PATH" notification that appeared on every launch.
Fixes
Fix image rendering in comments and polish the description editor when descriptions contain images:
Issue-comment attachment images now refresh from the loading placeholder after async asset resolution completes (matching the description fix shipped in #745).
Descriptions that end with an image get a caret-reachable trailing paragraph on markdown import.
The description editor no longer flashes "Loading image…" when entering edit mode on a cached image — view and edit modes share the same asset-resolver cache.
Freshly-dropped images in the editor fall back to a local resolve path so they reliably transition out of the loading placeholder.
Image sizing, wrapper padding, header-row height, and vertical spacing are now identical between view and edit modes — no more layout jumps when toggling.
Autofocusing the description editor (and programmatic focus to the detail pane) uses
preventScrolland Lexical'sSKIP_SCROLL_INTO_VIEW_TAG, so the page no longer jumps when you click a description that's partially off-screen.
Fix issue description attachment images so they refresh from the loading placeholder after asset resolution completes.
Apr 21, 2026
CLI v0.21.0
v0.21.0
CLI
Features
Add
fp logscommand for querying debug and operational logs. Reads sync and database debug logs, outputs JSONL for composability with jq and shell tools. Supports filtering by source, level, time range, and message content, plus follow mode for live tailing.Show a one-line nudge on stderr when a newer
fprelease is available. The manifest fetch runs in a detached background fiber and caches at~/.fiberplane/update-cache.jsonfor 24 hours, so no command pays network latency.fp updatealways installs stable and resets the channel;fp update --latestopts into prereleases and switches to thelatestchannel. The channel only shapes the nudge wording (pointing atfp updateorfp update --latest) — the install command itself never consults it. Opt-outs:FP_NO_UPDATE_NUDGE=1,CI=true, non-TTY stderr, and bundled (Electron-packaged) installs all suppress the nudge.Move project prefix into the path-only registry as the source of truth.
fp init,fp clone, andfp importnow write the prefix to~/.fiberplane/projects.tomlinstead of.fp/config.toml. Existing projects are migrated on first read (one-time backfill from config.toml to the registry). Removes theConfigRecoveryDialogflow in desktop — a missing.fp/config.tomlno longer blocks the app because the registry always has a cached prefix.Remove
fp reviewandfp storycommands.Project sync is now always on. The
experimental_syncfeature flag has been removed —fp project sync,link,clone,unlink, andsync-all-projectsare available without opting in, and the desktop app no longer shows a Project sync toggle under Experimental settings.
Apr 21, 2026
CLI v0.21.0
v0.21.0
CLI
Features
Add
fp logscommand for querying debug and operational logs. Reads sync and database debug logs, outputs JSONL for composability with jq and shell tools. Supports filtering by source, level, time range, and message content, plus follow mode for live tailing.Show a one-line nudge on stderr when a newer
fprelease is available. The manifest fetch runs in a detached background fiber and caches at~/.fiberplane/update-cache.jsonfor 24 hours, so no command pays network latency.fp updatealways installs stable and resets the channel;fp update --latestopts into prereleases and switches to thelatestchannel. The channel only shapes the nudge wording (pointing atfp updateorfp update --latest) — the install command itself never consults it. Opt-outs:FP_NO_UPDATE_NUDGE=1,CI=true, non-TTY stderr, and bundled (Electron-packaged) installs all suppress the nudge.Move project prefix into the path-only registry as the source of truth.
fp init,fp clone, andfp importnow write the prefix to~/.fiberplane/projects.tomlinstead of.fp/config.toml. Existing projects are migrated on first read (one-time backfill from config.toml to the registry). Removes theConfigRecoveryDialogflow in desktop — a missing.fp/config.tomlno longer blocks the app because the registry always has a cached prefix.Remove
fp reviewandfp storycommands.Project sync is now always on. The
experimental_syncfeature flag has been removed —fp project sync,link,clone,unlink, andsync-all-projectsare available without opting in, and the desktop app no longer shows a Project sync toggle under Experimental settings.
Apr 21, 2026
CLI v0.21.0
v0.21.0
CLI
Features
Add
fp logscommand for querying debug and operational logs. Reads sync and database debug logs, outputs JSONL for composability with jq and shell tools. Supports filtering by source, level, time range, and message content, plus follow mode for live tailing.Show a one-line nudge on stderr when a newer
fprelease is available. The manifest fetch runs in a detached background fiber and caches at~/.fiberplane/update-cache.jsonfor 24 hours, so no command pays network latency.fp updatealways installs stable and resets the channel;fp update --latestopts into prereleases and switches to thelatestchannel. The channel only shapes the nudge wording (pointing atfp updateorfp update --latest) — the install command itself never consults it. Opt-outs:FP_NO_UPDATE_NUDGE=1,CI=true, non-TTY stderr, and bundled (Electron-packaged) installs all suppress the nudge.Move project prefix into the path-only registry as the source of truth.
fp init,fp clone, andfp importnow write the prefix to~/.fiberplane/projects.tomlinstead of.fp/config.toml. Existing projects are migrated on first read (one-time backfill from config.toml to the registry). Removes theConfigRecoveryDialogflow in desktop — a missing.fp/config.tomlno longer blocks the app because the registry always has a cached prefix.Remove
fp reviewandfp storycommands.Project sync is now always on. The
experimental_syncfeature flag has been removed —fp project sync,link,clone,unlink, andsync-all-projectsare available without opting in, and the desktop app no longer shows a Project sync toggle under Experimental settings.
Apr 21, 2026
Desktop v0.15.0
v0.15.0
Desktop
Features
Design system rollup from the
design-tokensbranch:Figma V2 design tokens. Full
theme.cssrewrite to the new semantic token set (3-tier surface hierarchybg-base/bg-surface/bg-card; text rampbody/heading/secondary/muted). Legacy shadcn-style aliases retained so unchanged surfaces keep rendering.New Figma icon library. ~50 icons added (16/20px, outline + filled via a single component). 10 classic icons removed, 34 legacy marked deprecated. 12 lucide icons swapped for Figma equivalents.
Footer V2. Reorganized layout (project picker + counts left, sync status + action icons right). FpMenu removed in favour of Settings.
KbdShortcutredesigned with a boldersmvariant.Settings floating card. Bordered card on a
bg-baseroot, with separate key chips for hotkey display.Sidebar V2/V3. New
WorkspaceSwitcher, project list with per-project sub-items (Pinned + Brainstorms), workspace-scoped project containment, empty-state onboarding with CLI-status branching.Brainstorm view migrated to navigation store. Removed the URL-hash state model;
fp://deep links now flow through a typedOPEN_BRAINSTORMIPC event. Cold-boot queue handles launch-from-deep-link. Shared pane breadcrumb across issues + brainstorm views with clickable segments ("main" exits to issues, "Brainstorms" returns to list).Sidebar active-row reflects the current view. The row matching what's on screen (project / brainstorm / pinned issue in the detail pane) is highlighted; clicking the project row is the natural "back to issues" affordance.
Cross-workspace selection fixes. Launcher / CommandBar / bootstrap picks in other workspaces now align the active workspace slug rather than being silently cleared. A stale switcher intent can no longer poison later picks.
Platform-aware keyboard hints.
CmdOrCtrlaccelerators render⌘on macOS and⌃on other platforms, matching what's actually bound.
Move project prefix into the path-only registry as the source of truth.
fp init,fp clone, andfp importnow write the prefix to~/.fiberplane/projects.tomlinstead of.fp/config.toml. Existing projects are migrated on first read (one-time backfill from config.toml to the registry). Removes theConfigRecoveryDialogflow in desktop — a missing.fp/config.tomlno longer blocks the app because the registry always has a cached prefix.Remove
fp reviewandfp storycommands.Project sync is now always on. The
experimental_syncfeature flag has been removed —fp project sync,link,clone,unlink, andsync-all-projectsare available without opting in, and the desktop app no longer shows a Project sync toggle under Experimental settings.
Fixes
Fix search field clear button requiring two clicks to dismiss.
Fix unset select property appearing as non-clickable italic "None" text; now renders with the same chrome as the multiselect variant.
Fix cross-workspace project selection and onboarding regressions introduced by Sidebar V3:
Preserve user-driven cross-workspace selections (launcher
SELECT_ISSUE, Command Bar switches, startup pending issue, bootstrap auto-select): the active workspace now follows the selected project instead of clearing it. Only the sidebar switcher still clears, via an explicit switch-intent flag.Gate the onboarding view on
workspacesLoadedso an offline or expired-auth start doesn't hide a locally valid project behind onboarding while the workspaces query is unresolved.Scope the project picker to the active workspace only when rendered with the sidebar switcher (main window). The launcher has no switcher, so it now shows every project regardless of workspace.
Apr 21, 2026
Desktop v0.15.0
v0.15.0
Desktop
Features
Design system rollup from the
design-tokensbranch:Figma V2 design tokens. Full
theme.cssrewrite to the new semantic token set (3-tier surface hierarchybg-base/bg-surface/bg-card; text rampbody/heading/secondary/muted). Legacy shadcn-style aliases retained so unchanged surfaces keep rendering.New Figma icon library. ~50 icons added (16/20px, outline + filled via a single component). 10 classic icons removed, 34 legacy marked deprecated. 12 lucide icons swapped for Figma equivalents.
Footer V2. Reorganized layout (project picker + counts left, sync status + action icons right). FpMenu removed in favour of Settings.
KbdShortcutredesigned with a boldersmvariant.Settings floating card. Bordered card on a
bg-baseroot, with separate key chips for hotkey display.Sidebar V2/V3. New
WorkspaceSwitcher, project list with per-project sub-items (Pinned + Brainstorms), workspace-scoped project containment, empty-state onboarding with CLI-status branching.Brainstorm view migrated to navigation store. Removed the URL-hash state model;
fp://deep links now flow through a typedOPEN_BRAINSTORMIPC event. Cold-boot queue handles launch-from-deep-link. Shared pane breadcrumb across issues + brainstorm views with clickable segments ("main" exits to issues, "Brainstorms" returns to list).Sidebar active-row reflects the current view. The row matching what's on screen (project / brainstorm / pinned issue in the detail pane) is highlighted; clicking the project row is the natural "back to issues" affordance.
Cross-workspace selection fixes. Launcher / CommandBar / bootstrap picks in other workspaces now align the active workspace slug rather than being silently cleared. A stale switcher intent can no longer poison later picks.
Platform-aware keyboard hints.
CmdOrCtrlaccelerators render⌘on macOS and⌃on other platforms, matching what's actually bound.
Move project prefix into the path-only registry as the source of truth.
fp init,fp clone, andfp importnow write the prefix to~/.fiberplane/projects.tomlinstead of.fp/config.toml. Existing projects are migrated on first read (one-time backfill from config.toml to the registry). Removes theConfigRecoveryDialogflow in desktop — a missing.fp/config.tomlno longer blocks the app because the registry always has a cached prefix.Remove
fp reviewandfp storycommands.Project sync is now always on. The
experimental_syncfeature flag has been removed —fp project sync,link,clone,unlink, andsync-all-projectsare available without opting in, and the desktop app no longer shows a Project sync toggle under Experimental settings.
Fixes
Fix search field clear button requiring two clicks to dismiss.
Fix unset select property appearing as non-clickable italic "None" text; now renders with the same chrome as the multiselect variant.
Fix cross-workspace project selection and onboarding regressions introduced by Sidebar V3:
Preserve user-driven cross-workspace selections (launcher
SELECT_ISSUE, Command Bar switches, startup pending issue, bootstrap auto-select): the active workspace now follows the selected project instead of clearing it. Only the sidebar switcher still clears, via an explicit switch-intent flag.Gate the onboarding view on
workspacesLoadedso an offline or expired-auth start doesn't hide a locally valid project behind onboarding while the workspaces query is unresolved.Scope the project picker to the active workspace only when rendered with the sidebar switcher (main window). The launcher has no switcher, so it now shows every project regardless of workspace.
Apr 21, 2026
Desktop v0.15.0
v0.15.0
Desktop
Features
Design system rollup from the
design-tokensbranch:Figma V2 design tokens. Full
theme.cssrewrite to the new semantic token set (3-tier surface hierarchybg-base/bg-surface/bg-card; text rampbody/heading/secondary/muted). Legacy shadcn-style aliases retained so unchanged surfaces keep rendering.New Figma icon library. ~50 icons added (16/20px, outline + filled via a single component). 10 classic icons removed, 34 legacy marked deprecated. 12 lucide icons swapped for Figma equivalents.
Footer V2. Reorganized layout (project picker + counts left, sync status + action icons right). FpMenu removed in favour of Settings.
KbdShortcutredesigned with a boldersmvariant.Settings floating card. Bordered card on a
bg-baseroot, with separate key chips for hotkey display.Sidebar V2/V3. New
WorkspaceSwitcher, project list with per-project sub-items (Pinned + Brainstorms), workspace-scoped project containment, empty-state onboarding with CLI-status branching.Brainstorm view migrated to navigation store. Removed the URL-hash state model;
fp://deep links now flow through a typedOPEN_BRAINSTORMIPC event. Cold-boot queue handles launch-from-deep-link. Shared pane breadcrumb across issues + brainstorm views with clickable segments ("main" exits to issues, "Brainstorms" returns to list).Sidebar active-row reflects the current view. The row matching what's on screen (project / brainstorm / pinned issue in the detail pane) is highlighted; clicking the project row is the natural "back to issues" affordance.
Cross-workspace selection fixes. Launcher / CommandBar / bootstrap picks in other workspaces now align the active workspace slug rather than being silently cleared. A stale switcher intent can no longer poison later picks.
Platform-aware keyboard hints.
CmdOrCtrlaccelerators render⌘on macOS and⌃on other platforms, matching what's actually bound.
Move project prefix into the path-only registry as the source of truth.
fp init,fp clone, andfp importnow write the prefix to~/.fiberplane/projects.tomlinstead of.fp/config.toml. Existing projects are migrated on first read (one-time backfill from config.toml to the registry). Removes theConfigRecoveryDialogflow in desktop — a missing.fp/config.tomlno longer blocks the app because the registry always has a cached prefix.Remove
fp reviewandfp storycommands.Project sync is now always on. The
experimental_syncfeature flag has been removed —fp project sync,link,clone,unlink, andsync-all-projectsare available without opting in, and the desktop app no longer shows a Project sync toggle under Experimental settings.
Fixes
Fix search field clear button requiring two clicks to dismiss.
Fix unset select property appearing as non-clickable italic "None" text; now renders with the same chrome as the multiselect variant.
Fix cross-workspace project selection and onboarding regressions introduced by Sidebar V3:
Preserve user-driven cross-workspace selections (launcher
SELECT_ISSUE, Command Bar switches, startup pending issue, bootstrap auto-select): the active workspace now follows the selected project instead of clearing it. Only the sidebar switcher still clears, via an explicit switch-intent flag.Gate the onboarding view on
workspacesLoadedso an offline or expired-auth start doesn't hide a locally valid project behind onboarding while the workspaces query is unresolved.Scope the project picker to the active workspace only when rendered with the sidebar switcher (main window). The launcher has no switcher, so it now shows every project regardless of workspace.
Apr 15, 2026
CLI v0.20.0
v0.20.0
CLI
Features
Add
fp searchcommand for full-text issue search. Supports AND, OR, quoted phrases, and negation. Results show match context snippets with highlighted terms. Searches across title, description, and comments using FTS5 ranked search.Add experimental brainstorms: save rich visual plans locally and review them in the desktop app. Create with
fp bs create, browse versions, and leave comments on specific elements. Enable in Settings → Experimental.Add remote mode for fp commands. When a desktop app is running with the
experimental_fp_apiflag enabled, fp commands can delegate operations to the desktop over HTTP instead of accessing the local database directly. Activate withFP_REMOTE=1or by settingFP_API_PORTandFP_API_HOSTenvironment variables. Supports 11 commands: issue list/show/create/update/delete/assign, comment add/list, context, tree, and search.Add a top-level
fp secretscommand group for managing secret-backed extension settings from the CLI.fp secrets set/get/list/deletecan now store values in the OS keychain, writesecret:references into.fp/config.toml, and inspect configured secrets.Extension config loading now auto-resolves
secret:values beforeinit(fp)runs, so extensions can read secret-backed config throughfp.config.get()without manually checking forsecret:prefixes and callingfp.secrets.get()themselves.
Fixes
Fix mermaid diagrams not rendering in the desktop brainstorm viewer due to a Content Security Policy block. Fix
fp bs view --desktopdeep links failing silently in tmux and other terminal environments — the deep link URL is now always printed so you can click or copy it. Fix table of contents and internal anchor links not working in the desktop brainstorm viewer.Replace
.fp/extensions/EXTENSIONS.mdsymlink with a lightweight stub that points users tofp extension docs. Symlinks with absolute paths to the user's home directory break when the repo is cloned by someone else.Fix
fp searchfailing with negation operators (e.g.,fp search "drag drop --kanban").Resolve project configuration from shared
.fp/config.tomlplus optional local overrides in.fp/config.local.toml, and keep the shared config file checked in while local overrides stay ignored.Allow
.fp/extensions/EXTENSIONS.mdto be checked into git so cloned repos include the extensions authoring guide by default.Pin Bun to 1.3.11 in the fp CLI release and preview CI workflows to work around oven-sh/bun#29120 — a regression in Bun 1.3.12 where
bun build --compile --target=bun-darwin-*produces a truncatedLC_CODE_SIGNATUREsection in the resulting Mach-O. macOS Sequoia (15+) AMFI rejects the unsigned binary and kills it with SIGKILL beforemain()runs. Stable 0.19.0 is unaffected because it was cut under Bun 1.3.11, which is exactly what this pin restores. The upstream fix is merged in oven-sh/bun#29122 but not yet in a released Bun version; remove this pin once Bun 1.3.13+ ships.If your locally installed
fpcommand stopped working on macOS (silent crash / exit 137), re-run the installer to pick up this fix:
Apr 15, 2026
CLI v0.20.0
v0.20.0
CLI
Features
Add
fp searchcommand for full-text issue search. Supports AND, OR, quoted phrases, and negation. Results show match context snippets with highlighted terms. Searches across title, description, and comments using FTS5 ranked search.Add experimental brainstorms: save rich visual plans locally and review them in the desktop app. Create with
fp bs create, browse versions, and leave comments on specific elements. Enable in Settings → Experimental.Add remote mode for fp commands. When a desktop app is running with the
experimental_fp_apiflag enabled, fp commands can delegate operations to the desktop over HTTP instead of accessing the local database directly. Activate withFP_REMOTE=1or by settingFP_API_PORTandFP_API_HOSTenvironment variables. Supports 11 commands: issue list/show/create/update/delete/assign, comment add/list, context, tree, and search.Add a top-level
fp secretscommand group for managing secret-backed extension settings from the CLI.fp secrets set/get/list/deletecan now store values in the OS keychain, writesecret:references into.fp/config.toml, and inspect configured secrets.Extension config loading now auto-resolves
secret:values beforeinit(fp)runs, so extensions can read secret-backed config throughfp.config.get()without manually checking forsecret:prefixes and callingfp.secrets.get()themselves.
Fixes
Fix mermaid diagrams not rendering in the desktop brainstorm viewer due to a Content Security Policy block. Fix
fp bs view --desktopdeep links failing silently in tmux and other terminal environments — the deep link URL is now always printed so you can click or copy it. Fix table of contents and internal anchor links not working in the desktop brainstorm viewer.Replace
.fp/extensions/EXTENSIONS.mdsymlink with a lightweight stub that points users tofp extension docs. Symlinks with absolute paths to the user's home directory break when the repo is cloned by someone else.Fix
fp searchfailing with negation operators (e.g.,fp search "drag drop --kanban").Resolve project configuration from shared
.fp/config.tomlplus optional local overrides in.fp/config.local.toml, and keep the shared config file checked in while local overrides stay ignored.Allow
.fp/extensions/EXTENSIONS.mdto be checked into git so cloned repos include the extensions authoring guide by default.Pin Bun to 1.3.11 in the fp CLI release and preview CI workflows to work around oven-sh/bun#29120 — a regression in Bun 1.3.12 where
bun build --compile --target=bun-darwin-*produces a truncatedLC_CODE_SIGNATUREsection in the resulting Mach-O. macOS Sequoia (15+) AMFI rejects the unsigned binary and kills it with SIGKILL beforemain()runs. Stable 0.19.0 is unaffected because it was cut under Bun 1.3.11, which is exactly what this pin restores. The upstream fix is merged in oven-sh/bun#29122 but not yet in a released Bun version; remove this pin once Bun 1.3.13+ ships.If your locally installed
fpcommand stopped working on macOS (silent crash / exit 137), re-run the installer to pick up this fix:
Apr 15, 2026
CLI v0.20.0
v0.20.0
CLI
Features
Add
fp searchcommand for full-text issue search. Supports AND, OR, quoted phrases, and negation. Results show match context snippets with highlighted terms. Searches across title, description, and comments using FTS5 ranked search.Add experimental brainstorms: save rich visual plans locally and review them in the desktop app. Create with
fp bs create, browse versions, and leave comments on specific elements. Enable in Settings → Experimental.Add remote mode for fp commands. When a desktop app is running with the
experimental_fp_apiflag enabled, fp commands can delegate operations to the desktop over HTTP instead of accessing the local database directly. Activate withFP_REMOTE=1or by settingFP_API_PORTandFP_API_HOSTenvironment variables. Supports 11 commands: issue list/show/create/update/delete/assign, comment add/list, context, tree, and search.Add a top-level
fp secretscommand group for managing secret-backed extension settings from the CLI.fp secrets set/get/list/deletecan now store values in the OS keychain, writesecret:references into.fp/config.toml, and inspect configured secrets.Extension config loading now auto-resolves
secret:values beforeinit(fp)runs, so extensions can read secret-backed config throughfp.config.get()without manually checking forsecret:prefixes and callingfp.secrets.get()themselves.
Fixes
Fix mermaid diagrams not rendering in the desktop brainstorm viewer due to a Content Security Policy block. Fix
fp bs view --desktopdeep links failing silently in tmux and other terminal environments — the deep link URL is now always printed so you can click or copy it. Fix table of contents and internal anchor links not working in the desktop brainstorm viewer.Replace
.fp/extensions/EXTENSIONS.mdsymlink with a lightweight stub that points users tofp extension docs. Symlinks with absolute paths to the user's home directory break when the repo is cloned by someone else.Fix
fp searchfailing with negation operators (e.g.,fp search "drag drop --kanban").Resolve project configuration from shared
.fp/config.tomlplus optional local overrides in.fp/config.local.toml, and keep the shared config file checked in while local overrides stay ignored.Allow
.fp/extensions/EXTENSIONS.mdto be checked into git so cloned repos include the extensions authoring guide by default.Pin Bun to 1.3.11 in the fp CLI release and preview CI workflows to work around oven-sh/bun#29120 — a regression in Bun 1.3.12 where
bun build --compile --target=bun-darwin-*produces a truncatedLC_CODE_SIGNATUREsection in the resulting Mach-O. macOS Sequoia (15+) AMFI rejects the unsigned binary and kills it with SIGKILL beforemain()runs. Stable 0.19.0 is unaffected because it was cut under Bun 1.3.11, which is exactly what this pin restores. The upstream fix is merged in oven-sh/bun#29122 but not yet in a released Bun version; remove this pin once Bun 1.3.13+ ships.If your locally installed
fpcommand stopped working on macOS (silent crash / exit 137), re-run the installer to pick up this fix:
Apr 15, 2026
Desktop v0.14.0
v0.14.0
Desktop
Features
Add FTS5-powered full-text search to the desktop app with ranked results, snippet highlighting, and keyboard navigation.
Add a kanban board view for issues with drag-and-drop, keyboard navigation, and Cmd+Arrow to move cards between columns. Gated behind the
experimental_kanbanfeature flag.Add experimental brainstorms: save rich visual plans locally and review them in the desktop app. Create with
fp bs create, browse versions, and leave comments on specific elements. Enable in Settings → Experimental.Add remote mode for fp commands. When a desktop app is running with the
experimental_fp_apiflag enabled, fp commands can delegate operations to the desktop over HTTP instead of accessing the local database directly. Activate withFP_REMOTE=1or by settingFP_API_PORTandFP_API_HOSTenvironment variables. Supports 11 commands: issue list/show/create/update/delete/assign, comment add/list, context, tree, and search.Add a top-level
fp secretscommand group for managing secret-backed extension settings from the CLI.fp secrets set/get/list/deletecan now store values in the OS keychain, writesecret:references into.fp/config.toml, and inspect configured secrets.Extension config loading now auto-resolves
secret:values beforeinit(fp)runs, so extensions can read secret-backed config throughfp.config.get()without manually checking forsecret:prefixes and callingfp.secrets.get()themselves.Add label filter dropdown to the issue list. Filter issues by extension-registered labels with colored chips, keyboard shortcut (b), and floating-ui positioning.
Fixes
Fix mermaid diagrams not rendering in the desktop brainstorm viewer due to a Content Security Policy block. Fix
fp bs view --desktopdeep links failing silently in tmux and other terminal environments — the deep link URL is now always printed so you can click or copy it. Fix table of contents and internal anchor links not working in the desktop brainstorm viewer.Fix the macOS Help menu to open the current fp documentation site instead of an outdated 404ing docs URL.
Fix deep links from the web console failing to find local projects. The desktop app now correctly resolves remote project IDs from sync state when handling
fp://issuedeep links.Fix tree view scroll not working after opening issue detail.
Add Pin issue to desktop issue context menus for unpinned tree rows, kanban cards, and search results while keeping Unpin issue on pinned surfaces.
Improve desktop issue-tracker menus by adding context menus to pinned rows and search results, and make the detail menu put Copy issue ID first.
Improve issue list and parent picker performance by migrating virtualization to virtua.
Apr 15, 2026
Desktop v0.14.0
v0.14.0
Desktop
Features
Add FTS5-powered full-text search to the desktop app with ranked results, snippet highlighting, and keyboard navigation.
Add a kanban board view for issues with drag-and-drop, keyboard navigation, and Cmd+Arrow to move cards between columns. Gated behind the
experimental_kanbanfeature flag.Add experimental brainstorms: save rich visual plans locally and review them in the desktop app. Create with
fp bs create, browse versions, and leave comments on specific elements. Enable in Settings → Experimental.Add remote mode for fp commands. When a desktop app is running with the
experimental_fp_apiflag enabled, fp commands can delegate operations to the desktop over HTTP instead of accessing the local database directly. Activate withFP_REMOTE=1or by settingFP_API_PORTandFP_API_HOSTenvironment variables. Supports 11 commands: issue list/show/create/update/delete/assign, comment add/list, context, tree, and search.Add a top-level
fp secretscommand group for managing secret-backed extension settings from the CLI.fp secrets set/get/list/deletecan now store values in the OS keychain, writesecret:references into.fp/config.toml, and inspect configured secrets.Extension config loading now auto-resolves
secret:values beforeinit(fp)runs, so extensions can read secret-backed config throughfp.config.get()without manually checking forsecret:prefixes and callingfp.secrets.get()themselves.Add label filter dropdown to the issue list. Filter issues by extension-registered labels with colored chips, keyboard shortcut (b), and floating-ui positioning.
Fixes
Fix mermaid diagrams not rendering in the desktop brainstorm viewer due to a Content Security Policy block. Fix
fp bs view --desktopdeep links failing silently in tmux and other terminal environments — the deep link URL is now always printed so you can click or copy it. Fix table of contents and internal anchor links not working in the desktop brainstorm viewer.Fix the macOS Help menu to open the current fp documentation site instead of an outdated 404ing docs URL.
Fix deep links from the web console failing to find local projects. The desktop app now correctly resolves remote project IDs from sync state when handling
fp://issuedeep links.Fix tree view scroll not working after opening issue detail.
Add Pin issue to desktop issue context menus for unpinned tree rows, kanban cards, and search results while keeping Unpin issue on pinned surfaces.
Improve desktop issue-tracker menus by adding context menus to pinned rows and search results, and make the detail menu put Copy issue ID first.
Improve issue list and parent picker performance by migrating virtualization to virtua.
Apr 15, 2026
Desktop v0.14.0
v0.14.0
Desktop
Features
Add FTS5-powered full-text search to the desktop app with ranked results, snippet highlighting, and keyboard navigation.
Add a kanban board view for issues with drag-and-drop, keyboard navigation, and Cmd+Arrow to move cards between columns. Gated behind the
experimental_kanbanfeature flag.Add experimental brainstorms: save rich visual plans locally and review them in the desktop app. Create with
fp bs create, browse versions, and leave comments on specific elements. Enable in Settings → Experimental.Add remote mode for fp commands. When a desktop app is running with the
experimental_fp_apiflag enabled, fp commands can delegate operations to the desktop over HTTP instead of accessing the local database directly. Activate withFP_REMOTE=1or by settingFP_API_PORTandFP_API_HOSTenvironment variables. Supports 11 commands: issue list/show/create/update/delete/assign, comment add/list, context, tree, and search.Add a top-level
fp secretscommand group for managing secret-backed extension settings from the CLI.fp secrets set/get/list/deletecan now store values in the OS keychain, writesecret:references into.fp/config.toml, and inspect configured secrets.Extension config loading now auto-resolves
secret:values beforeinit(fp)runs, so extensions can read secret-backed config throughfp.config.get()without manually checking forsecret:prefixes and callingfp.secrets.get()themselves.Add label filter dropdown to the issue list. Filter issues by extension-registered labels with colored chips, keyboard shortcut (b), and floating-ui positioning.
Fixes
Fix mermaid diagrams not rendering in the desktop brainstorm viewer due to a Content Security Policy block. Fix
fp bs view --desktopdeep links failing silently in tmux and other terminal environments — the deep link URL is now always printed so you can click or copy it. Fix table of contents and internal anchor links not working in the desktop brainstorm viewer.Fix the macOS Help menu to open the current fp documentation site instead of an outdated 404ing docs URL.
Fix deep links from the web console failing to find local projects. The desktop app now correctly resolves remote project IDs from sync state when handling
fp://issuedeep links.Fix tree view scroll not working after opening issue detail.
Add Pin issue to desktop issue context menus for unpinned tree rows, kanban cards, and search results while keeping Unpin issue on pinned surfaces.
Improve desktop issue-tracker menus by adding context menus to pinned rows and search results, and make the detail menu put Copy issue ID first.
Improve issue list and parent picker performance by migrating virtualization to virtua.
© 2026 Fiberplane