From 400f04530c083f327a0cdbf9333b52cb89dcd5fe Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Wed, 8 Jul 2026 16:27:10 -0700 Subject: [PATCH] chore(release): v0.57.0 Version bump via changesets. --- .../FN-7609-gated-action-approval-payload.md | 7 - .../FN-7615-planning-back-no-generation.md | 7 - .../FN-7653-plan-auto-approve-intake-only.md | 7 - .changeset/FN-7659-archived-pagination.md | 7 - .changeset/FN-7680-quick-add-height-parity.md | 7 - .changeset/FN-7683-quick-add-height-parity.md | 7 - .changeset/fix-model-lane-drift-visibility.md | 7 - ...fix-transient-auth-scope-classification.md | 7 - .../fn-7608-awaiting-approval-blocking.md | 7 - .../fn-7610-workspace-pr-merge-routing.md | 7 - .changeset/fn-7611-intake-column.md | 7 - .changeset/fn-7613-confirm-selected-state.md | 7 - .changeset/fn-7614-planning-badge.md | 7 - .../fn-7616-planning-deepening-themes.md | 7 - .../fn-7618-oversight-trigger-height.md | 7 - .changeset/fn-7619-attach-boundary.md | 7 - .../fn-7620-mobile-terminal-blank-render.md | 7 - ...fn-7621-mobile-terminal-shortcut-scroll.md | 7 - .changeset/fn-7622-desktop-provider-parity.md | 7 - .changeset/fn-7623-desktop-plugin-wiring.md | 7 - .changeset/fn-7624-github-onboarding-auth.md | 7 - .../fn-7625-static-auth-provider-catalog.md | 7 - .changeset/fn-7627-mobile-settings-close.md | 7 - .changeset/fn-7628-chat-message-edit.md | 7 - .changeset/fn-7629-builtin-runtime-disable.md | 7 - .changeset/fn-7630-hermes-runtime-additive.md | 7 - .changeset/fn-7631-chat-content-search.md | 7 - ...633-priority-execution-oversight-height.md | 7 - .../fn-7634-planner-stop-button-width.md | 7 - .changeset/fn-7636-hermes-picker-models.md | 7 - .changeset/fn-7639-planner-chat-edit.md | 7 - .../fn-7641-stranded-cards-after-merge.md | 7 - ...7642-code-review-no-feedback-diagnostic.md | 7 - .changeset/fn-7645-heartbeat-rearm.md | 7 - .../fn-7646-auth-storage-coordination.md | 7 - ...n-7647-auth-storage-routes-coordination.md | 7 - ...48-unplanned-intake-cards-never-execute.md | 7 - .../fn-7649-project-switch-board-landing.md | 7 - .../fn-7651-remove-chat-title-only-toggle.md | 7 - ...-7652-automation-live-run-false-failure.md | 7 - .changeset/fn-7655-planner-stop-icon-only.md | 7 - .../fn-7656-chat-reattach-working-state.md | 7 - .../fn-7657-github-import-state-retained.md | 7 - .../fn-7658-no-auto-archive-duplicates.md | 7 - .../fn-7660-planning-label-consistency.md | 7 - .changeset/fn-7661-lineage-unlink-tools.md | 7 - .changeset/fn-7665-funnel-planning-label.md | 7 - .changeset/fn-7672-durable-agent-recovery.md | 7 - .../fn-7675-agent-runtime-self-awareness.md | 7 - .../fn-7676-planning-steps-breakdown.md | 7 - ...-7677-quick-add-workflow-trigger-height.md | 7 - .changeset/fn-7684-tablet-terminal-footer.md | 7 - .../fn-7686-slow-terminal-initial-load.md | 7 - ...n-7687-mobile-header-single-line-refold.md | 7 - .../fn-7688-login-shell-profile-latency.md | 7 - .../fn-7689-custom-provider-prompt-caching.md | 7 - .../fn-7690-apitype-resolver-reconcile.md | 7 - .../fn-7692-merger-confirmation-copy.md | 7 - .../fn-7693-mobile-terminal-blank-screen.md | 7 - .changeset/fn-workspace-landedsha-recovery.md | 7 - .../fn-worktree-subrepo-branch-strip.md | 7 - .../fux-039-runtime-fallback-review-polish.md | 7 - .changeset/fuzzy-missions-heal.md | 7 - .changeset/oauth-expiry-refresh-order.md | 7 - .changeset/proud-horses-chat.md | 7 - .changeset/usage-events-retention.md | 7 - CHANGELOG.md | 169 +++++++++++++- package.json | 2 +- packages/cli-alias/CHANGELOG.md | 72 ++++++ packages/cli-alias/package.json | 2 +- packages/cli/CHANGELOG.md | 206 ++++++++++++++++++ packages/cli/package.json | 2 +- packages/core/CHANGELOG.md | 2 + packages/core/package.json | 2 +- packages/dashboard/CHANGELOG.md | 17 ++ packages/dashboard/package.json | 2 +- packages/desktop/CHANGELOG.md | 8 + packages/desktop/package.json | 2 +- packages/droid-cli/CHANGELOG.md | 6 + packages/droid-cli/package.json | 2 +- packages/engine/CHANGELOG.md | 7 + packages/engine/package.json | 2 +- packages/i18n/CHANGELOG.md | 6 + packages/i18n/package.json | 2 +- packages/mobile/CHANGELOG.md | 2 + packages/mobile/package.json | 2 +- packages/pi-claude-cli/CHANGELOG.md | 2 + packages/pi-claude-cli/package.json | 2 +- packages/plugin-sdk/CHANGELOG.md | 6 + packages/plugin-sdk/package.json | 2 +- .../fusion-plugin-auto-label/CHANGELOG.md | 6 + .../fusion-plugin-auto-label/package.json | 2 +- .../fusion-plugin-ci-status/CHANGELOG.md | 6 + .../fusion-plugin-ci-status/package.json | 2 +- .../fusion-plugin-notification/CHANGELOG.md | 6 + .../fusion-plugin-notification/package.json | 2 +- .../fusion-plugin-settings-demo/CHANGELOG.md | 6 + .../fusion-plugin-settings-demo/package.json | 2 +- .../fusion-plugin-acp-runtime/CHANGELOG.md | 7 + .../fusion-plugin-acp-runtime/package.json | 2 +- .../fusion-plugin-agent-browser/CHANGELOG.md | 6 + .../fusion-plugin-agent-browser/package.json | 2 +- .../CHANGELOG.md | 7 + .../package.json | 2 +- .../CHANGELOG.md | 7 + .../package.json | 2 +- .../fusion-plugin-cursor-runtime/CHANGELOG.md | 6 + .../fusion-plugin-cursor-runtime/package.json | 2 +- .../CHANGELOG.md | 7 + .../package.json | 2 +- .../fusion-plugin-droid-runtime/CHANGELOG.md | 6 + .../fusion-plugin-droid-runtime/package.json | 2 +- .../CHANGELOG.md | 7 + .../package.json | 2 +- .../fusion-plugin-hermes-runtime/CHANGELOG.md | 6 + .../fusion-plugin-hermes-runtime/package.json | 2 +- .../fusion-plugin-linear-import/CHANGELOG.md | 7 + .../fusion-plugin-linear-import/package.json | 2 +- .../CHANGELOG.md | 6 + .../package.json | 2 +- .../CHANGELOG.md | 6 + .../package.json | 2 +- plugins/fusion-plugin-reports/CHANGELOG.md | 8 + plugins/fusion-plugin-reports/package.json | 2 +- plugins/fusion-plugin-roadmap/CHANGELOG.md | 7 + plugins/fusion-plugin-roadmap/package.json | 2 +- .../fusion-plugin-whatsapp-chat/CHANGELOG.md | 6 + .../fusion-plugin-whatsapp-chat/package.json | 2 +- 128 files changed, 651 insertions(+), 499 deletions(-) delete mode 100644 .changeset/FN-7609-gated-action-approval-payload.md delete mode 100644 .changeset/FN-7615-planning-back-no-generation.md delete mode 100644 .changeset/FN-7653-plan-auto-approve-intake-only.md delete mode 100644 .changeset/FN-7659-archived-pagination.md delete mode 100644 .changeset/FN-7680-quick-add-height-parity.md delete mode 100644 .changeset/FN-7683-quick-add-height-parity.md delete mode 100644 .changeset/fix-model-lane-drift-visibility.md delete mode 100644 .changeset/fix-transient-auth-scope-classification.md delete mode 100644 .changeset/fn-7608-awaiting-approval-blocking.md delete mode 100644 .changeset/fn-7610-workspace-pr-merge-routing.md delete mode 100644 .changeset/fn-7611-intake-column.md delete mode 100644 .changeset/fn-7613-confirm-selected-state.md delete mode 100644 .changeset/fn-7614-planning-badge.md delete mode 100644 .changeset/fn-7616-planning-deepening-themes.md delete mode 100644 .changeset/fn-7618-oversight-trigger-height.md delete mode 100644 .changeset/fn-7619-attach-boundary.md delete mode 100644 .changeset/fn-7620-mobile-terminal-blank-render.md delete mode 100644 .changeset/fn-7621-mobile-terminal-shortcut-scroll.md delete mode 100644 .changeset/fn-7622-desktop-provider-parity.md delete mode 100644 .changeset/fn-7623-desktop-plugin-wiring.md delete mode 100644 .changeset/fn-7624-github-onboarding-auth.md delete mode 100644 .changeset/fn-7625-static-auth-provider-catalog.md delete mode 100644 .changeset/fn-7627-mobile-settings-close.md delete mode 100644 .changeset/fn-7628-chat-message-edit.md delete mode 100644 .changeset/fn-7629-builtin-runtime-disable.md delete mode 100644 .changeset/fn-7630-hermes-runtime-additive.md delete mode 100644 .changeset/fn-7631-chat-content-search.md delete mode 100644 .changeset/fn-7633-priority-execution-oversight-height.md delete mode 100644 .changeset/fn-7634-planner-stop-button-width.md delete mode 100644 .changeset/fn-7636-hermes-picker-models.md delete mode 100644 .changeset/fn-7639-planner-chat-edit.md delete mode 100644 .changeset/fn-7641-stranded-cards-after-merge.md delete mode 100644 .changeset/fn-7642-code-review-no-feedback-diagnostic.md delete mode 100644 .changeset/fn-7645-heartbeat-rearm.md delete mode 100644 .changeset/fn-7646-auth-storage-coordination.md delete mode 100644 .changeset/fn-7647-auth-storage-routes-coordination.md delete mode 100644 .changeset/fn-7648-unplanned-intake-cards-never-execute.md delete mode 100644 .changeset/fn-7649-project-switch-board-landing.md delete mode 100644 .changeset/fn-7651-remove-chat-title-only-toggle.md delete mode 100644 .changeset/fn-7652-automation-live-run-false-failure.md delete mode 100644 .changeset/fn-7655-planner-stop-icon-only.md delete mode 100644 .changeset/fn-7656-chat-reattach-working-state.md delete mode 100644 .changeset/fn-7657-github-import-state-retained.md delete mode 100644 .changeset/fn-7658-no-auto-archive-duplicates.md delete mode 100644 .changeset/fn-7660-planning-label-consistency.md delete mode 100644 .changeset/fn-7661-lineage-unlink-tools.md delete mode 100644 .changeset/fn-7665-funnel-planning-label.md delete mode 100644 .changeset/fn-7672-durable-agent-recovery.md delete mode 100644 .changeset/fn-7675-agent-runtime-self-awareness.md delete mode 100644 .changeset/fn-7676-planning-steps-breakdown.md delete mode 100644 .changeset/fn-7677-quick-add-workflow-trigger-height.md delete mode 100644 .changeset/fn-7684-tablet-terminal-footer.md delete mode 100644 .changeset/fn-7686-slow-terminal-initial-load.md delete mode 100644 .changeset/fn-7687-mobile-header-single-line-refold.md delete mode 100644 .changeset/fn-7688-login-shell-profile-latency.md delete mode 100644 .changeset/fn-7689-custom-provider-prompt-caching.md delete mode 100644 .changeset/fn-7690-apitype-resolver-reconcile.md delete mode 100644 .changeset/fn-7692-merger-confirmation-copy.md delete mode 100644 .changeset/fn-7693-mobile-terminal-blank-screen.md delete mode 100644 .changeset/fn-workspace-landedsha-recovery.md delete mode 100644 .changeset/fn-worktree-subrepo-branch-strip.md delete mode 100644 .changeset/fux-039-runtime-fallback-review-polish.md delete mode 100644 .changeset/fuzzy-missions-heal.md delete mode 100644 .changeset/oauth-expiry-refresh-order.md delete mode 100644 .changeset/proud-horses-chat.md delete mode 100644 .changeset/usage-events-retention.md diff --git a/.changeset/FN-7609-gated-action-approval-payload.md b/.changeset/FN-7609-gated-action-approval-payload.md deleted file mode 100644 index 15623619d2..0000000000 --- a/.changeset/FN-7609-gated-action-approval-payload.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Approval cards now show the gated command/arguments and dedupe repeated pending requests. -category: fix -dev: Permanent-agent gate persists approvalDedupeKey in targetAction.context and a payload-bearing summary (buildAgentGatedActionSummary); MailboxView renders GatedActionApprovalDetails for source="agent-gating". diff --git a/.changeset/FN-7615-planning-back-no-generation.md b/.changeset/FN-7615-planning-back-no-generation.md deleted file mode 100644 index 854adc520e..0000000000 --- a/.changeset/FN-7615-planning-back-no-generation.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix Planning Mode Back button showing a generation screen instead of the previous question. -category: fix -dev: handleBack in PlanningModeModal no longer transitions to the loading view during the deterministic rewindPlanningSession; Back returns directly to the previous question form (success and error paths) and never renders .planning-loading. diff --git a/.changeset/FN-7653-plan-auto-approve-intake-only.md b/.changeset/FN-7653-plan-auto-approve-intake-only.md deleted file mode 100644 index 7b346746ce..0000000000 --- a/.changeset/FN-7653-plan-auto-approve-intake-only.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Auto-approve plan toggle now appears only on the planning column, not Todo. -category: fix -dev: Board.tsx gated the plan auto-approve prop pair on intake||hold; the built-in Coding workflow's Todo is a hold column, leaking the control. Gate is now intake-only (legacy triage path unchanged). diff --git a/.changeset/FN-7659-archived-pagination.md b/.changeset/FN-7659-archived-pagination.md deleted file mode 100644 index c660dda5e1..0000000000 --- a/.changeset/FN-7659-archived-pagination.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Archived tasks now load newest-first in pages of 100 with a Show more button. -category: feature -dev: Adds ArchiveDatabase.listPage / TaskStore.listArchivedTasks and GET /tasks/archived for a bounded SQL LIMIT/OFFSET read ordered archivedAt DESC. useTasks.loadArchivedTasks fetches page 1 on first Archived-column expand; loadMoreArchivedTasks fetches subsequent pages. No schema change; the legacy merged listTasks({includeArchived}) path is unchanged. diff --git a/.changeset/FN-7680-quick-add-height-parity.md b/.changeset/FN-7680-quick-add-height-parity.md deleted file mode 100644 index e57595ccdf..0000000000 --- a/.changeset/FN-7680-quick-add-height-parity.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix Quick Add action-row buttons (Save, Attach, Fast, workflow trigger) rendering at mismatched heights. -category: fix -dev: Adds a scoped `min-height` on `.quick-entry-actions .btn` and `.wf-optional-steps-dropdown-trigger` in `QuickEntryBox.css` (desktop base rule, alongside the existing mobile touch-target block) so every action-row control resolves one uniform box height regardless of icon-only vs text content or `.dep-trigger` padding differences. No shared `.btn`/`.btn-sm`/`.btn-icon`/`.btn-task-create`/`.dep-trigger` rules in `styles.css` were touched. diff --git a/.changeset/FN-7683-quick-add-height-parity.md b/.changeset/FN-7683-quick-add-height-parity.md deleted file mode 100644 index 0317da23b4..0000000000 --- a/.changeset/FN-7683-quick-add-height-parity.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Quick Add action-row controls now resolve one identical box height, not just a min-height floor. -category: fix -dev: Upgraded `.quick-entry-actions .btn, .quick-entry-actions .wf-optional-steps-dropdown-trigger` in QuickEntryBox.css from a bare min-height floor to a fixed box height (min-height paired with an equal max-height) plus tokenized line-height and centered alignment, at both the desktop base rule and the <=768px touch-target media block. Follow-up: a mobile-only Save-specific override (no vertical padding, line-height:1) further corrects Save's mobile sizing to match siblings without affecting desktop/tablet. diff --git a/.changeset/fix-model-lane-drift-visibility.md b/.changeset/fix-model-lane-drift-visibility.md deleted file mode 100644 index 21b3870e87..0000000000 --- a/.changeset/fix-model-lane-drift-visibility.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Warn when changing a workflow's model surfaces tasks still pinned to the old model, including default-workflow tasks. -category: fix -dev: PATCH /workflows/:id/setting-values now returns `modelDrift` for execution/planning/validator lanes. Drift baseline is captured inside the settings write transaction (no stale-read race), and default-workflow patches pass `includeNullSelection` so no-workflow-selection tasks are counted. New `TaskStore.updateWorkflowSettingValuesWithPrevious` and `getModelLaneDrift(..., { includeNullSelection })`. diff --git a/.changeset/fix-transient-auth-scope-classification.md b/.changeset/fix-transient-auth-scope-classification.md deleted file mode 100644 index f25da92d1e..0000000000 --- a/.changeset/fix-transient-auth-scope-classification.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Retry transient OAuth token-rotation errors so in-flight agent calls survive rotation without failing the task. -category: fix -dev: withRateLimitRetry now retries transient auth errors (authentication_error, invalid credentials, token_expired) on a separate ~5s flat-delay budget that does not consume rate-limit attempts. OAuth scope/permission failures are explicitly excluded (operator must re-authorize) so they surface immediately instead of retrying pointlessly. diff --git a/.changeset/fn-7608-awaiting-approval-blocking.md b/.changeset/fn-7608-awaiting-approval-blocking.md deleted file mode 100644 index d0eb70c055..0000000000 --- a/.changeset/fn-7608-awaiting-approval-blocking.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Executors now block on pending approvals instead of probing for ungated workarounds. -category: fix -dev: wait-for-approval now suspends the in-flight executor session via awaitAbortInFlightTaskWork and dedupes identical pending approvals; executor prompts carve out awaiting-approval as a legitimate turn end. diff --git a/.changeset/fn-7610-workspace-pr-merge-routing.md b/.changeset/fn-7610-workspace-pr-merge-routing.md deleted file mode 100644 index 53a8deb789..0000000000 --- a/.changeset/fn-7610-workspace-pr-merge-routing.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix workspace-mode tasks failing auto-merge under the pull-request merge strategy. -category: fix -dev: Engine merge dispatch now checks isWorkspaceTask before the mergeStrategy branch, routing workspace tasks to landWorkspaceTask instead of processPullRequestMerge (which threw "could not determine repository" against the non-git workspace root). processPullRequestMergeTask/syncGroupPrCallback now throw the named WorkspaceTaskMergeError for workspace tasks as defense-in-depth. diff --git a/.changeset/fn-7611-intake-column.md b/.changeset/fn-7611-intake-column.md deleted file mode 100644 index 5e2ebcfdf6..0000000000 --- a/.changeset/fn-7611-intake-column.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: New tasks now land in the selected workflow's intake column instead of always jumping to Planning/triage. -category: fix -dev: Removed hardcoded `column: "triage"` overrides in `fn_task_create` (engine `createTaskCreateTool` and pi extension) and in signal/GitHub-import/planning create surfaces that had no `workflowId` or (for planning subtask routes) accepted one but still forced `column`. `TaskStore.createTask` already resolves `input.column || resolvedEntryColumn || "triage"`; callers no longer defeat that resolution. A custom workflow's non-triage `intake`-trait column (e.g. `Inbox`) now correctly captures new cards inert until released, while the default builtin:coding workflow still lands cards in `triage` byte-identically. The pi-extension `fn_task_create` response text now echoes the actual landing column instead of a fixed `"Column: triage"` string. diff --git a/.changeset/fn-7613-confirm-selected-state.md b/.changeset/fn-7613-confirm-selected-state.md deleted file mode 100644 index c1c16c45d0..0000000000 --- a/.changeset/fn-7613-confirm-selected-state.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Yes/No chat question buttons now show a clear selected state after clicking. -category: fix -dev: Strengthened `.chat-question-response__confirm--selected` CSS specificity (compound selector + dedicated hover/focus-visible rules) so the CTA-token selected fill/border beats the global `.btn`/`.btn:hover` rules; added `aria-pressed` and a regression test asserting the selected class toggles correctly between Yes/No. diff --git a/.changeset/fn-7614-planning-badge.md b/.changeset/fn-7614-planning-badge.md deleted file mode 100644 index e0a2555063..0000000000 --- a/.changeset/fn-7614-planning-badge.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Planning Mode "needs input" now shows a yellow nav badge instead of a top banner. -category: fix -dev: Excludes planning `awaiting_input` sessions from SessionNotificationBanner and adds a `status-dot--pending` dot to the Planning nav destination (LeftSidebarNav + MobileNavBar More item/tab), driven by a new `planningNeedsInput` flag. diff --git a/.changeset/fn-7616-planning-deepening-themes.md b/.changeset/fn-7616-planning-deepening-themes.md deleted file mode 100644 index 0865d9eb72..0000000000 --- a/.changeset/fn-7616-planning-deepening-themes.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Planning Mode's "go deeper" prompt now suggests plan-specific topics instead of generic buckets. -category: feature -dev: AI completion payload gains optional `deepeningThemes`; the deepening checkpoint prefers them (via buildDeepeningCheckpointOptions) and falls back to the existing regex-derived themes when absent. diff --git a/.changeset/fn-7618-oversight-trigger-height.md b/.changeset/fn-7618-oversight-trigger-height.md deleted file mode 100644 index 1739566f0e..0000000000 --- a/.changeset/fn-7618-oversight-trigger-height.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Task-detail Oversight button now matches Priority/Execution-mode height on desktop. -category: fix -dev: `.detail-oversight-menu-dropdown` (the popover-positioning wrapper) is now `inline-flex; align-items: stretch` so it participates in `.detail-meta-inline-controls`'s stretch, and `.detail-oversight-menu-trigger` gets `align-self: stretch` to fill it — matching Priority/Execution-mode's direct-child stretch behavior without any new hardcoded height. diff --git a/.changeset/fn-7619-attach-boundary.md b/.changeset/fn-7619-attach-boundary.md deleted file mode 100644 index de28e3d6a7..0000000000 --- a/.changeset/fn-7619-attach-boundary.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: fn_task_attach now refuses to read files outside the task worktree boundary. -category: security -dev: Adds a path-containment guard (confine to ctx.cwd) before readFile in the fn_task_attach tool; rejects traversal/absolute/@-prefixed escaping paths. Regression tests in packages/cli/src/__tests__/extension.test.ts. Fixes FN-7619 (flagged out-of-scope during FN-7608). diff --git a/.changeset/fn-7620-mobile-terminal-blank-render.md b/.changeset/fn-7620-mobile-terminal-blank-render.md deleted file mode 100644 index 350be25920..0000000000 --- a/.changeset/fn-7620-mobile-terminal-blank-render.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix mobile dashboard terminal sometimes rendering completely blank on open. -category: fix -dev: TerminalModal now attaches a persistent ResizeObserver directly on the xterm container (mirroring SessionTerminal's existing pattern), so a container that reports a zero/collapsed box at the first post-open fit recovers as soon as its real box settles, instead of staying at FitAddon's degenerate 2x1-cell floor forever. diff --git a/.changeset/fn-7621-mobile-terminal-shortcut-scroll.md b/.changeset/fn-7621-mobile-terminal-shortcut-scroll.md deleted file mode 100644 index 34fa2acdf1..0000000000 --- a/.changeset/fn-7621-mobile-terminal-shortcut-scroll.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix the mobile terminal shortcut bar so it truly scrolls horizontally to reach every key. -category: fix -dev: FN-7550's leaf `min-width:0`/`overflow-x:auto`/`touch-action:pan-x` on `.terminal-shortcut-panel` were already correct, but styles.css's mobile `@media(max-width:768px)` lockdown resets `touch-action` to `pan-y` on `*` and re-locks it explicitly on `.modal-overlay:not(.confirm-dialog-overlay)`/`#root`/`html`/`body` — the terminal's own overlay/modal ancestors were never carved back into `pan-x`, so the panel's own correct touch-action was defeated by ancestor-chain intersection on real mobile devices. Added `touch-action: pan-x pan-y` to `.modal-overlay.terminal-modal-overlay`, `.modal.terminal-modal(.terminal-modal--mobile)` (both mobile paths), and `.terminal-status-bar` (FN-7560 footer, same gap). Locked in with a real-CSS `getComputedStyle` layout test (`loadAllAppCss()`) that resolves the panel + full ancestor chain, replacing reliance on a leaf-rule string match that stayed green through this recurrence. diff --git a/.changeset/fn-7622-desktop-provider-parity.md b/.changeset/fn-7622-desktop-provider-parity.md deleted file mode 100644 index f576d6096e..0000000000 --- a/.changeset/fn-7622-desktop-provider-parity.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix desktop app showing a truncated provider/model list vs. the web build. -category: fix -dev: The Electron desktop app's in-process dashboard server (local-runtime.ts, local-server.ts) now routes through a shared `@fusion/engine` `seedDashboardProviders()` helper that mirrors the CLI serve/dashboard/daemon startup sequence (built-in Zai/API-key provider seeding, `wrapAuthStorageWithApiKeyProviders`, `registerCustomProviders`). `provider-auth.ts` and `custom-provider-registry.ts` moved from `@fusion/cli` into `@fusion/engine`; the CLI files are now re-export shims with unchanged observable behavior. diff --git a/.changeset/fn-7623-desktop-plugin-wiring.md b/.changeset/fn-7623-desktop-plugin-wiring.md deleted file mode 100644 index 5fecdc2e29..0000000000 --- a/.changeset/fn-7623-desktop-plugin-wiring.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix desktop app plugin install and Browse registry (plugin subsystem now wired into the embedded server). -category: fix -dev: local-runtime.ts / local-server.ts now build a PluginStore + PluginLoader and pass pluginStore/pluginLoader/pluginRunner into createServer, mirroring the CLI dashboard command (FN-7623, issue #1937). Plugin subsystem init is fail-soft — a broken plugin (e.g. corrupt manifest) logs/traces via strace(...) but no longer blocks embedded dashboard startup. diff --git a/.changeset/fn-7624-github-onboarding-auth.md b/.changeset/fn-7624-github-onboarding-auth.md deleted file mode 100644 index 79afefa7e9..0000000000 --- a/.changeset/fn-7624-github-onboarding-auth.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix onboarding GitHub sign-in button erroring instead of starting GitHub auth. -category: fix -dev: The onboarding/settings GitHub step no longer offers dashboard-managed OAuth login when no `github` OAuth provider is registered (pi ships only anthropic/github-copilot/openai-codex); it now presents gh CLI (`gh auth login`) guidance. `/api/auth/login` returns a clear unknown-provider error for `github` instead of a misleading "model not found". diff --git a/.changeset/fn-7625-static-auth-provider-catalog.md b/.changeset/fn-7625-static-auth-provider-catalog.md deleted file mode 100644 index 57c57f1165..0000000000 --- a/.changeset/fn-7625-static-auth-provider-catalog.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Authentication settings always lists all supported providers, regardless of connected runtime plugins. -category: fix -dev: GET /api/auth/status now enumerates a static supported-provider catalog (union with storage-reported providers) and uses runtime/auth state only to annotate per-provider status; connecting a runtime plugin (e.g. Hermes Runtime) no longer collapses the provider list. diff --git a/.changeset/fn-7627-mobile-settings-close.md b/.changeset/fn-7627-mobile-settings-close.md deleted file mode 100644 index dd0de95228..0000000000 --- a/.changeset/fn-7627-mobile-settings-close.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Add a close button to the Settings screen on mobile. -category: fix -dev: The embedded Settings header now renders a mobile-only `modal-close` control gated on `isEmbedded && viewportMode === "mobile"`, wired to the existing `onClose` prop (navigates back to the board and refreshes app settings). Desktop/tablet embedded and the standalone modal presentation are unchanged. diff --git a/.changeset/fn-7628-chat-message-edit.md b/.changeset/fn-7628-chat-message-edit.md deleted file mode 100644 index 7b7dc2fa39..0000000000 --- a/.changeset/fn-7628-chat-message-edit.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Edit a chat message and resume the conversation from that point. -category: feature -dev: Adds ChatStore.deleteMessagesFrom + PATCH /api/chat/sessions/:id/messages/:messageId; rewinds the pi SessionManager (createBranchedSession) so the model forgets discarded turns. Direct model-loop chats only. diff --git a/.changeset/fn-7629-builtin-runtime-disable.md b/.changeset/fn-7629-builtin-runtime-disable.md deleted file mode 100644 index 31c2022a32..0000000000 --- a/.changeset/fn-7629-builtin-runtime-disable.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Built-in runtime plugins (Hermes, Paperclip, OpenClaw, Droid) can now be disabled and stay disabled across restarts. -category: feature -dev: renderBuiltinPluginSection now renders a durable enable/disable toggle for runtime built-ins independent of installed status, replacing the dead-end "Built-in metadata only" CTA for the not-installed / activated-without-record case. Chosen persistence path: on disable, a not-yet-installed built-in runtime is first registered via the existing installPlugin path (mirroring the CLI's ensureBundledPluginInstalled lazy-install), then disablePlugin is called immediately so a plugin_installs row + project state exists with enabled=false — no new persistence primitive needed since loadAllPlugins/loadPlugin already skip disabled plugins and recordActivationEvent only fires on actual load, so a disabled runtime is never re-activated on restart. HermesRuntimeCard/OpenClawRuntimeCard/PaperclipRuntimeCard now reflect the Plugin Manager disabled state ("Disabled in Plugin Manager") instead of showing a stale detected/connected status. diff --git a/.changeset/fn-7630-hermes-runtime-additive.md b/.changeset/fn-7630-hermes-runtime-additive.md deleted file mode 100644 index cbcc786213..0000000000 --- a/.changeset/fn-7630-hermes-runtime-additive.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Hermes Runtime is now additive — connecting it no longer hides your custom providers, models, or auth options. -category: fix -dev: Audited the Hermes Runtime plugin (onLoad/onUnload, CLI-spawn/probe seams) and register-model-routes.ts/register-auth-routes.ts against GitHub #1931. Confirmed the reported customProviders suppression was already fixed generically (unrelated to Hermes) and that Hermes's PluginContext has no reference to AuthStorage/ModelRegistry, so it cannot mutate either store. Added FNXC documentation comments locking in the additive-runtime invariant and regression coverage across the model-picker (/api/models), custom-provider CRUD, and auth-status surfaces proving a connected Hermes runtime never narrows them. Item 3 (static auth catalog) remains owned by FN-7625; item 1 (additive Hermes-model surfacing in the picker) is deferred to a follow-up task (FN-7636) pending a non-blocking CLI-spawn caching strategy. diff --git a/.changeset/fn-7631-chat-content-search.md b/.changeset/fn-7631-chat-content-search.md deleted file mode 100644 index 657a0c88d9..0000000000 --- a/.changeset/fn-7631-chat-content-search.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Chat search now matches message content, with a "Search in title only" toggle. -category: feature -dev: ChatStore.searchSessionsByMessageContent (parameterized LIKE ... ESCAPE); GET /chat/sessions gains q/titleOnly params; useChat exposes searchInTitleOnly. diff --git a/.changeset/fn-7633-priority-execution-oversight-height.md b/.changeset/fn-7633-priority-execution-oversight-height.md deleted file mode 100644 index 264805cf6c..0000000000 --- a/.changeset/fn-7633-priority-execution-oversight-height.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Align Priority and Execution-mode control heights with the Oversight dropdown in task detail. -category: fix -dev: `.detail-priority-chip`, `.detail-execution-mode-toggle`, and `.detail-oversight-menu-trigger` in TaskDetailModal.css now all pin an explicit `height` (not just `min-height`) from the shared `--detail-priority-control-min-height` token, so none can outgrow or undershoot the others regardless of flex stretch behavior; extends the FN-7585/FN-7618 shared-token pattern. diff --git a/.changeset/fn-7634-planner-stop-button-width.md b/.changeset/fn-7634-planner-stop-button-width.md deleted file mode 100644 index 2b55af6270..0000000000 --- a/.changeset/fn-7634-planner-stop-button-width.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix the task-detail Planner Chat stop button rendering narrower than its send button. -category: fix -dev: `TaskPlannerChatTab.css` now declares a locally-scoped `--chat-input-control-size` on `.task-planner-chat-composer` (same formula as `ChatView.css`'s `.chat-input-row`) and applies it as a `min-inline-size` floor on `.task-planner-chat-send`, so the shared `.chat-input-send`/`.chat-input-stop` classes (which previously read an undefined custom property inside the Planner composer and fell back to `width: auto`) never render the streaming Stop button narrower than the idle Send button on desktop or mobile. diff --git a/.changeset/fn-7636-hermes-picker-models.md b/.changeset/fn-7636-hermes-picker-models.md deleted file mode 100644 index 615c092964..0000000000 --- a/.changeset/fn-7636-hermes-picker-models.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Hermes-configured models now appear in Fusion's model picker when the Hermes runtime is available. -category: feature -dev: /api/models additively merges `hermes profile list` results under the `hermes` provider via a short-TTL, single-flight cache (no per-request CLI spawn); rows are deduped by provider/id and never displace existing entries. Deferred item 1 of FN-7630. diff --git a/.changeset/fn-7639-planner-chat-edit.md b/.changeset/fn-7639-planner-chat-edit.md deleted file mode 100644 index 4fa5cdddb1..0000000000 --- a/.changeset/fn-7639-planner-chat-edit.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Edit and resend a message in task-detail Planner Chat. -category: feature -dev: Wires FN-7628's edit affordance (editChatMessage + rewindSessionForEdit) into TaskPlannerChatTab for synthetic task-planner: sessions; already-applied steering comments and refinement tasks are not reverted when a turn is discarded. diff --git a/.changeset/fn-7641-stranded-cards-after-merge.md b/.changeset/fn-7641-stranded-cards-after-merge.md deleted file mode 100644 index 1795922fc5..0000000000 --- a/.changeset/fn-7641-stranded-cards-after-merge.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix cards stranded after workspace/out-of-band merges land; node-override end no longer silently no-ops. -category: fix -dev: store.moveTask now allows proven-merge recoveryRehome from legacy columns (e.g. todo→done); nodeId='end' finalizes on durable merge proof or returns an explicit error across the dashboard route, CLI task-update tool, and store.updateTask. diff --git a/.changeset/fn-7642-code-review-no-feedback-diagnostic.md b/.changeset/fn-7642-code-review-no-feedback-diagnostic.md deleted file mode 100644 index a6a041fca7..0000000000 --- a/.changeset/fn-7642-code-review-no-feedback-diagnostic.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Code Review/Plan Review/CE gate failures now record a diagnostic instead of "(no feedback captured)". -category: fix -dev: When an enabled optional-group (`code-review`, `plan-review`, `browser-verification`) or CE `source:"node"` skill-gate template node fails via a dispatch/infra exception rather than a reviewer verdict, `WorkflowGraphExecutor` now synthesizes a non-blank `WorkflowStepResult.output` from the underlying `node::error` context-patch key (falling back to the failure `value`, then a stable sentinel) instead of leaving `output`/`notes` field-absent. Fixes Runfusion/Fusion#1946. `status`, verdict extraction, edge routing, and self-healing's `latestFailedPreMergeStep` selection are unchanged. diff --git a/.changeset/fn-7645-heartbeat-rearm.md b/.changeset/fn-7645-heartbeat-rearm.md deleted file mode 100644 index fc812daf5a..0000000000 --- a/.changeset/fn-7645-heartbeat-rearm.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix agents on long heartbeat intervals silently going stale for hours. -category: fix -dev: HeartbeatTriggerScheduler timer audit now re-arms non-advancing long-interval registrations (stale lastHeartbeatAt with a live timer entry), not just missing ones (FN-7645). diff --git a/.changeset/fn-7646-auth-storage-coordination.md b/.changeset/fn-7646-auth-storage-coordination.md deleted file mode 100644 index ba4b28c433..0000000000 --- a/.changeset/fn-7646-auth-storage-coordination.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix provider API keys being wiped when the desktop and CLI apps share credentials on one machine. -category: fix -dev: createFusionAuthStorage() now reloads before persisting a refreshed OAuth credential so a concurrent Fusion process's newer login is not overwritten; adds cross-process regression coverage over ~/.fusion/agent/auth.json. Relies on the pi-coding-agent FileAuthStorageBackend locked per-provider merge (floor >=0.80.x). diff --git a/.changeset/fn-7647-auth-storage-routes-coordination.md b/.changeset/fn-7647-auth-storage-routes-coordination.md deleted file mode 100644 index 17b22a038f..0000000000 --- a/.changeset/fn-7647-auth-storage-routes-coordination.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Route node settings-sync and mesh credential writes through the coordinated auth store to prevent concurrent clobbers. -category: fix -dev: register-settings-sync-routes.ts, register-settings-sync-inbound-routes.ts, and register-mesh-routes.ts now persist received credentials via @fusion/engine createFusionAuthStorage() instead of raw AuthStorage.create(getFusionAuthPath()), sharing FN-7646's reload-before-persist + per-provider locked-merge path over ~/.fusion/agent/auth.json. Adds route-level regression coverage. diff --git a/.changeset/fn-7648-unplanned-intake-cards-never-execute.md b/.changeset/fn-7648-unplanned-intake-cards-never-execute.md deleted file mode 100644 index d43e8d99a8..0000000000 --- a/.changeset/fn-7648-unplanned-intake-cards-never-execute.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix tasks in planning/intake columns starting execution before they were specified. -category: fix -dev: The hold-release entry guard (reserveSlot in scheduler.ts, issueRelease in hold-release.ts) is now trait-based (isUnplannedForExecution resolves the `intake` trait plus `status:"planning"`/bootstrap-stub PROMPT.md) instead of keyed on the literal `todo` column id, so renamed custom intake columns (e.g. `ideas`, `Inbox`) are covered too. promoteHeldTask/releaseHeldTaskByEvent also route through the same guard (FN-7648). diff --git a/.changeset/fn-7649-project-switch-board-landing.md b/.changeset/fn-7649-project-switch-board-landing.md deleted file mode 100644 index 1460846f7a..0000000000 --- a/.changeset/fn-7649-project-switch-board-landing.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Switching projects now lands on the Board instead of Settings when the last-visited view was Settings. -category: fix -dev: Extended resolveLandingTaskView in useViewState.ts to resolve "settings" (in addition to "command-center") to "board" for the auto-restored/hydrated landing view only; deep links (?view=settings) and explicit navigation still open Settings. diff --git a/.changeset/fn-7651-remove-chat-title-only-toggle.md b/.changeset/fn-7651-remove-chat-title-only-toggle.md deleted file mode 100644 index 1be36da332..0000000000 --- a/.changeset/fn-7651-remove-chat-title-only-toggle.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Removed the chat "Search in title only" toggle; chat search always matches message content and title. -category: fix -dev: Dropped searchInTitleOnly/setSearchInTitleOnly from useChat and the ChatView toggle button; content-search path (q param, matchedMessagePreview) is now always-on. Server GET /chat/sessions titleOnly param retained but unused by the client. diff --git a/.changeset/fn-7652-automation-live-run-false-failure.md b/.changeset/fn-7652-automation-live-run-false-failure.md deleted file mode 100644 index c34a4ab108..0000000000 --- a/.changeset/fn-7652-automation-live-run-false-failure.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Automation live output no longer shows "Run failed" for runs that actually succeed. -category: fix -dev: Reconciles the live-run panel terminal status (ScheduledTasksModal/RoutineCard) to the authoritative POST/registry result and gates benign SSE teardown (post-terminal close, reconnect exhaustion) from being surfaced as a failure across both `/routines/:id/run/stream` and `/automations/:id/run/stream`. diff --git a/.changeset/fn-7655-planner-stop-icon-only.md b/.changeset/fn-7655-planner-stop-icon-only.md deleted file mode 100644 index e8af50f9be..0000000000 --- a/.changeset/fn-7655-planner-stop-icon-only.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Planner chat stop button now shows just the stop icon, not a text label. -category: fix -dev: StandardChatActionButton gains showStopText (defaults to showSendText); TaskPlannerChatTab sets showStopText={false}. aria-label "Stop generation" retained. diff --git a/.changeset/fn-7656-chat-reattach-working-state.md b/.changeset/fn-7656-chat-reattach-working-state.md deleted file mode 100644 index 3730df9a71..0000000000 --- a/.changeset/fn-7656-chat-reattach-working-state.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Restore the chat "Working…" indicator immediately when returning to a session with an active generation. -category: fix -dev: `useChat.ts` `selectSession` now reattaches on the authoritative `fetchChatSession` refresh whenever `isGenerating===true`, instead of requiring a populated `inFlightGeneration` snapshot that is null pre-first-delta. Guards against races (stale active session, already-open stream) and reuses `attachIfGenerating` (FN-7656). diff --git a/.changeset/fn-7657-github-import-state-retained.md b/.changeset/fn-7657-github-import-state-retained.md deleted file mode 100644 index d8cc370da2..0000000000 --- a/.changeset/fn-7657-github-import-state-retained.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Retain GitHub issue import state when leaving and returning to Import Tasks. -category: fix -dev: Persists GitHubImportModal provider/tab/label filter/remote/selection per project via projectStorage (`kb-dashboard-github-import-state`) and hydrates on remount; falls back to the existing default-remote auto-detect when nothing is persisted. diff --git a/.changeset/fn-7658-no-auto-archive-duplicates.md b/.changeset/fn-7658-no-auto-archive-duplicates.md deleted file mode 100644 index 807be74ea7..0000000000 --- a/.changeset/fn-7658-no-auto-archive-duplicates.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Duplicate tasks are no longer auto-archived on creation by default — they are flagged for review instead. -category: feature -dev: Adds project setting `autoArchiveDuplicateTasksEnabled` (default false) gating the FN-4892 same-agent duplicate intake path in store `_maybeAutoArchiveSameAgentDuplicate`; disabled path uses new `flagSameAgentDuplicate` and sets `nearDuplicateOf` metadata. Tombstone-resurrection blocking is unchanged. diff --git a/.changeset/fn-7660-planning-label-consistency.md b/.changeset/fn-7660-planning-label-consistency.md deleted file mode 100644 index d7bbaa7e4e..0000000000 --- a/.changeset/fn-7660-planning-label-consistency.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Built-in workflow boards and Automations editors now label the intake column "Planning", not "Triage". -category: fix -dev: board-workflows canonical label map BUILTIN_WORKFLOW_COLUMN_LABELS.triage was still "Triage", overriding FN-7599's IR rename; set to "Planning". English schedule.columnTriage/taskColumnTriage/triageColumn set to "Planning" and dashboard locale copy re-synced. Also fixed board.triage (AgentDetailView task-column badge) and docs/dashboard-guide.md references. Column id "triage" unchanged. diff --git a/.changeset/fn-7661-lineage-unlink-tools.md b/.changeset/fn-7661-lineage-unlink-tools.md deleted file mode 100644 index 65b93552c4..0000000000 --- a/.changeset/fn-7661-lineage-unlink-tools.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: fn_task_archive and fn_task_delete now accept removeLineageReferences to clear a lineage-parent block. -category: fix -dev: Forwards the boolean to store.archiveTask/deleteTask (FN-7661); resolves the tools referencing a parameter their schema never exposed. diff --git a/.changeset/fn-7665-funnel-planning-label.md b/.changeset/fn-7665-funnel-planning-label.md deleted file mode 100644 index 3f33ca88c9..0000000000 --- a/.changeset/fn-7665-funnel-planning-label.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: The Command Center SDLC funnel now labels the intake stage "Planning", matching the renamed board column. -category: fix -dev: commandCenter.funnel.stage.triage, enteredInRange, and completionRateAria English strings (and SdlcFunnel.tsx t() fallbacks) changed to "Planning"/"Entered planning"/"in-range planning entrants"; dashboard locale copy re-synced. Aggregator stage key "triage" and the i18n key names are unchanged. diff --git a/.changeset/fn-7672-durable-agent-recovery.md b/.changeset/fn-7672-durable-agent-recovery.md deleted file mode 100644 index 6c492d7485..0000000000 --- a/.changeset/fn-7672-durable-agent-recovery.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Auto-recover durable agents stuck in transient error state even when their manager is active. -category: fix -dev: SelfHealingManager durable-error recovery no longer requires a missing manager; manager-present durable non-ephemeral agents with a transient lastError and no active run are recovered under the existing cooldown/backoff/retry-budget guards (FN-7672). diff --git a/.changeset/fn-7675-agent-runtime-self-awareness.md b/.changeset/fn-7675-agent-runtime-self-awareness.md deleted file mode 100644 index 4df3ef1e21..0000000000 --- a/.changeset/fn-7675-agent-runtime-self-awareness.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Agents now know they run inside Fusion and won't plan actions across a platform shutdown. -category: fix -dev: Adds a shared runtime self-awareness + capability-grounding preamble (packages/core/src/agent-prompts.ts, FUSION_RUNTIME_SELF_AWARENESS) prepended to the chat, heartbeat, and executor base prompts' stable layer. diff --git a/.changeset/fn-7676-planning-steps-breakdown.md b/.changeset/fn-7676-planning-steps-breakdown.md deleted file mode 100644 index 204bd1bddf..0000000000 --- a/.changeset/fn-7676-planning-steps-breakdown.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Task cards no longer show the steps breakdown while in the Planning column. -category: fix -dev: TaskCard `showProgressSection` now excludes the `triage` column, matching ListView; the breakdown appears once a task leaves Planning. diff --git a/.changeset/fn-7677-quick-add-workflow-trigger-height.md b/.changeset/fn-7677-quick-add-workflow-trigger-height.md deleted file mode 100644 index f540273671..0000000000 --- a/.changeset/fn-7677-quick-add-workflow-trigger-height.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Align the quick-add workflow dropdown button height with Save/Fast/Subtask buttons. -category: fix -dev: `.quick-entry-workflow-trigger` in QuickEntryBox.css now re-asserts `.btn-sm`'s `padding: 4px 10px` locally so the shared global `.dep-trigger` `padding: 3px 8px` no longer shortens it by ~2px; other `.dep-trigger` surfaces (InlineCreateCard, NewTaskModal, TaskDetailModal, TaskForm) are unaffected (FN-7677). diff --git a/.changeset/fn-7684-tablet-terminal-footer.md b/.changeset/fn-7684-tablet-terminal-footer.md deleted file mode 100644 index e2e07a9e1b..0000000000 --- a/.changeset/fn-7684-tablet-terminal-footer.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: On tablet widths, move terminal shortcuts/zoom controls into the bottom footer so they no longer overlap header icons. -category: fix -dev: Adds an isTabletTerminal flag (769–1024px, non-mobile) that renders the shared terminalActionControls fragment in the .terminal-status-bar footer (as FN-7560 did for mobile) instead of the header; true desktop (>1024px) keeps the header layout. Tablet footer keeps the desktop pin/pop-out toggles. diff --git a/.changeset/fn-7686-slow-terminal-initial-load.md b/.changeset/fn-7686-slow-terminal-initial-load.md deleted file mode 100644 index a8de65f2e0..0000000000 --- a/.changeset/fn-7686-slow-terminal-initial-load.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix dashboard terminal showing a blank screen for seconds before the first prompt appears on open. -category: performance -dev: `useTerminalSessions` no longer awaits a discardable `listTerminalSessions()` round trip before auto-creating the first session when there are no persisted `kb-terminal-tabs`; the round trip only produced a no-op filter result in that case. Reload-with-persisted-tabs is unaffected — it still awaits session-list validation. diff --git a/.changeset/fn-7687-mobile-header-single-line-refold.md b/.changeset/fn-7687-mobile-header-single-line-refold.md deleted file mode 100644 index d459e4ebc6..0000000000 --- a/.changeset/fn-7687-mobile-header-single-line-refold.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Keep the mobile top header on a single line after a foldable phone is unfolded and refolded. -category: fix -dev: `.header` now pins `flex-wrap: nowrap` explicitly and `.header-left`/`.header-actions` get an explicit `flex`/`min-width: 0` shrink-and-truncate contract promoted to the base rule (not gated to the `@media (max-width: 768px)` block), so the row cannot wrap even while a foldable's CSS layout viewport lags its `visualViewport` pane mid fold/unfold/refold. `useViewportMode` was audited and already recomputes correctly on that resize sequence (regression test added; no hook change needed). diff --git a/.changeset/fn-7688-login-shell-profile-latency.md b/.changeset/fn-7688-login-shell-profile-latency.md deleted file mode 100644 index 10151c54a2..0000000000 --- a/.changeset/fn-7688-login-shell-profile-latency.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Add a one-time server log hint pointing to shell-profile-hygiene docs when a login shell is slow to prompt. -category: performance -dev: FN-7688 investigated whether `--login` in `TerminalService.detectShell()`/`createSession()` is a meaningful first-prompt latency contributor. Finding: negligible on lean profiles, additive (~800ms+) when `.zprofile`/`.bash_profile` eagerly sources something slow (e.g. version manager init). `--login` is preserved unconditionally per FN-7686; added `SLOW_LOGIN_PROFILE_HINT_MS` (2000ms) threshold and a one-time, non-blocking `console.info` hint in `createSession()`'s PTY `onData` handler — never alters spawn args, timeouts, or the `retry-without-login` fallback. See `docs/solutions/developer-experience/login-shell-profile-latency.md`. diff --git a/.changeset/fn-7689-custom-provider-prompt-caching.md b/.changeset/fn-7689-custom-provider-prompt-caching.md deleted file mode 100644 index 2686f7a4f7..0000000000 --- a/.changeset/fn-7689-custom-provider-prompt-caching.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": minor ---- - -summary: Custom providers can now enable Anthropic-style prompt caching to stop re-billing the full context each turn. -category: fix -dev: Sets pi-ai `compat.cacheControlFormat="anthropic"` on opted-in custom-provider models across both registration paths (custom-provider-registry `toProviderConfig` and `pi.ts` createFnAgent). Opt-in via new `CustomProvider.anthropicPromptCaching` flag (FN-7689). diff --git a/.changeset/fn-7690-apitype-resolver-reconcile.md b/.changeset/fn-7690-apitype-resolver-reconcile.md deleted file mode 100644 index 62512e2709..0000000000 --- a/.changeset/fn-7690-apitype-resolver-reconcile.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix Anthropic-compatible custom providers registering under an unregistered API key. -category: fix -dev: Aligns custom-provider-registry `resolveApiType("anthropic-compatible")` on "anthropic-messages" (the registered pi-ai api key), matching pi.ts `resolveCustomProviderApiType` and removing the latent "No API provider registered for api: anthropic" drift (FN-7690). diff --git a/.changeset/fn-7692-merger-confirmation-copy.md b/.changeset/fn-7692-merger-confirmation-copy.md deleted file mode 100644 index f798a4dbe5..0000000000 --- a/.changeset/fn-7692-merger-confirmation-copy.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix merger awaiting-confirmation copy that implied a hard block when auto-merge proceeds automatically. -category: fix -dev: `decidePlannerRecovery` now accepts an additive `autoMergeWillProceed` flag (threaded from `allowsAutoMergeProcessing` in `PlannerRecoveryController.tick`) that only shapes the confirmation `reason` string; no gating/behavior change to `action`/`requiresConfirmation`/`sideEffectClass`. diff --git a/.changeset/fn-7693-mobile-terminal-blank-screen.md b/.changeset/fn-7693-mobile-terminal-blank-screen.md deleted file mode 100644 index 7301317b5d..0000000000 --- a/.changeset/fn-7693-mobile-terminal-blank-screen.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix the terminal rendering blank on mobile even though the shell prompt already loaded. -category: fix -dev: The global mobile `@media (max-width: 768px) { * { max-width: 100% } }` reset in styles.css also matched xterm's hidden character-measurement subtree (`.xterm-helpers` / `.xterm-char-measure-element`). That subtree's containing block is a 0x0 box, so `max-width: 100%` resolved to 0 and hard-capped xterm's character-cell measurement at 0 — FitAddon.fit() then proposed 0 columns and `.xterm-screen` (plus the WebGL canvas) collapsed to 0x0, so the prompt painted into a zero-size box. Exempt xterm's measurement subtree from that reset (`max-width: none`). Mobile-only; desktop was unaffected. Recurrence of FN-7620/FN-7686. diff --git a/.changeset/fn-workspace-landedsha-recovery.md b/.changeset/fn-workspace-landedsha-recovery.md deleted file mode 100644 index 26d64db36f..0000000000 --- a/.changeset/fn-workspace-landedsha-recovery.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix workspace partial-land recovery losing the already-landed sub-repo sha. -category: fix -dev: merger-ai.ts landWorkspaceTask now recovers the EXACT proven landed commit (the task's own Fusion-Task-Id trailer commit, or the recorded landedSha when it is still an ancestor) via findProvenLandedCommit, instead of dropping it when the A1 trailer-fallback proved a sub-repo landed but its sha was never persisted. This avoids attributing a later unrelated integration tip to the repo after an intervening sub-repo land, so finalizeWorkspaceTask builds durable merge proof and the partial-land retry completes to done. diff --git a/.changeset/fn-worktree-subrepo-branch-strip.md b/.changeset/fn-worktree-subrepo-branch-strip.md deleted file mode 100644 index de0ef82743..0000000000 --- a/.changeset/fn-worktree-subrepo-branch-strip.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Fix workspace sub-repo worktree creation failing on absent shared branch. -category: fix -dev: worktree-acquisition.ts acquireWorkspaceRepoWorktree now strips the shared project integrationBranch/baseBranch overrides before forwarding to acquireTaskWorktree, so FN-7360's freshStartPoint resolution no longer tries to git-worktree-add a branch absent from the sub-repo. diff --git a/.changeset/fux-039-runtime-fallback-review-polish.md b/.changeset/fux-039-runtime-fallback-review-polish.md deleted file mode 100644 index 17c748ff42..0000000000 --- a/.changeset/fux-039-runtime-fallback-review-polish.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Prevent redundant polling and a re-render loop in agent-card runtime-fallback badges. -category: fix -dev: AgentsView now caches one stable ref callback per viewport key (avoids an infinite re-render loop when IntersectionObserver is unavailable) and evicts it on unmount; the test-only toast-dedupe reset is guarded to a no-op in production builds. diff --git a/.changeset/fuzzy-missions-heal.md b/.changeset/fuzzy-missions-heal.md deleted file mode 100644 index e5521a6a67..0000000000 --- a/.changeset/fuzzy-missions-heal.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Clear stale generated mission fix features after their source feature passes validation. -category: fix -dev: Reconciles obsolete generated Fix Feature chains during validator pass handling and active mission recovery. diff --git a/.changeset/oauth-expiry-refresh-order.md b/.changeset/oauth-expiry-refresh-order.md deleted file mode 100644 index 71c4bc2221..0000000000 --- a/.changeset/oauth-expiry-refresh-order.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Stop the false "OAuth token expired" push notification on startup. -category: fix -dev: In ProjectEngine.start, OAuthRefreshScheduler.start() now runs before OAuthExpiryMonitor.start() so the proactive refresh renews a stale-but-refreshable access token before the refresh-blind monitor's first awaited check() reads `expires`. Ordering locked by an invocationCallOrder assertion in project-engine.test.ts. diff --git a/.changeset/proud-horses-chat.md b/.changeset/proud-horses-chat.md deleted file mode 100644 index f27ce913a5..0000000000 --- a/.changeset/proud-horses-chat.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Preserve Hermes chat session state and project runtime routing more reliably. -category: fix -dev: Refreshes cached project chat plugin runners and hardens Hermes CLI session/error handling. diff --git a/.changeset/usage-events-retention.md b/.changeset/usage-events-retention.md deleted file mode 100644 index 0e367c692d..0000000000 --- a/.changeset/usage-events-retention.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@runfusion/fusion": patch ---- - -summary: Stop the usage telemetry log from growing without bound and bloating the Fusion database. -category: fix -dev: usage_events was absent from operational-log retention, so it grew unbounded (observed ~187k rows / ~28MB with nothing ever aged out). pruneOperationalLogs now prunes usage_events on the same operationalLogRetentionDays cadence, keyed off its `ts` column (not `timestamp`). Existing rows still require a one-time VACUUM to reclaim on-disk space. diff --git a/CHANGELOG.md b/CHANGELOG.md index 833a246cfc..d32e3b66c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,15 +2,156 @@ User-facing release notes aggregated across all packages. This file is auto-synced from each `packages/*/CHANGELOG.md` by `scripts/release.mjs` — do not edit by hand. -## 0.56.1 +## 0.57.0 + +### New + +- Archived tasks now load newest-first in pages of 100 with a Show more button. +- Planning Mode's "go deeper" prompt now suggests plan-specific topics instead of generic buckets. +- Edit a chat message and resume the conversation from that point. +- Built-in runtime plugins (Hermes, Paperclip, OpenClaw, Droid) can now be disabled and stay disabled across restarts. +- Chat search now matches message content, with a "Search in title only" toggle. +- Hermes-configured models now appear in Fusion's model picker when the Hermes runtime is available. +- Edit and resend a message in task-detail Planner Chat. +- Duplicate tasks are no longer auto-archived on creation by default — they are flagged for review instead. ### Fixed -- Fix Anthropic subscription showing "logged in" while all model calls fail. -- Fix "Invalid transition" error when moving cards out of a custom workflow column like Coding (Ideas) → Ideas. -- Fix overlapping Record and Clear buttons in the Keyboard Shortcuts settings rows on desktop and mobile. -- Fix persistent mobile terminal inter-character spacing (5th recurrence root cause). -- Fix manual PR actions hidden when a task auto-merge override was on but global auto-merge was off. +- Approval cards now show the gated command/arguments and dedupe repeated pending requests. +- Fix Planning Mode Back button showing a generation screen instead of the previous question. +- Auto-approve plan toggle now appears only on the planning column, not Todo. +- Fix Quick Add action-row buttons (Save, Attach, Fast, workflow trigger) rendering at mismatched heights. +- Quick Add action-row controls now resolve one identical box height, not just a min-height floor. +- Warn when changing a workflow's model surfaces tasks still pinned to the old model, including default-workflow tasks. +- Retry transient OAuth token-rotation errors so in-flight agent calls survive rotation without failing the task. +- Executors now block on pending approvals instead of probing for ungated workarounds. +- Fix workspace-mode tasks failing auto-merge under the pull-request merge strategy. +- New tasks now land in the selected workflow's intake column instead of always jumping to Planning/triage. +- Yes/No chat question buttons now show a clear selected state after clicking. +- Planning Mode "needs input" now shows a yellow nav badge instead of a top banner. +- Task-detail Oversight button now matches Priority/Execution-mode height on desktop. +- Fix mobile dashboard terminal sometimes rendering completely blank on open. +- Fix the mobile terminal shortcut bar so it truly scrolls horizontally to reach every key. +- Fix desktop app showing a truncated provider/model list vs. the web build. +- Fix desktop app plugin install and Browse registry (plugin subsystem now wired into the embedded server). +- Fix onboarding GitHub sign-in button erroring instead of starting GitHub auth. +- Authentication settings always lists all supported providers, regardless of connected runtime plugins. +- Add a close button to the Settings screen on mobile. +- Hermes Runtime is now additive — connecting it no longer hides your custom providers, models, or auth options. +- Align Priority and Execution-mode control heights with the Oversight dropdown in task detail. +- Fix the task-detail Planner Chat stop button rendering narrower than its send button. +- Fix cards stranded after workspace/out-of-band merges land; node-override end no longer silently no-ops. +- Code Review/Plan Review/CE gate failures now record a diagnostic instead of "(no feedback captured)". +- Fix agents on long heartbeat intervals silently going stale for hours. +- Fix provider API keys being wiped when the desktop and CLI apps share credentials on one machine. +- Route node settings-sync and mesh credential writes through the coordinated auth store to prevent concurrent clobbers. +- Fix tasks in planning/intake columns starting execution before they were specified. +- Switching projects now lands on the Board instead of Settings when the last-visited view was Settings. +- Removed the chat "Search in title only" toggle; chat search always matches message content and title. +- Automation live output no longer shows "Run failed" for runs that actually succeed. +- Planner chat stop button now shows just the stop icon, not a text label. +- Restore the chat "Working…" indicator immediately when returning to a session with an active generation. +- Retain GitHub issue import state when leaving and returning to Import Tasks. +- Built-in workflow boards and Automations editors now label the intake column "Planning", not "Triage". +- fn_task_archive and fn_task_delete now accept removeLineageReferences to clear a lineage-parent block. +- The Command Center SDLC funnel now labels the intake stage "Planning", matching the renamed board column. +- Auto-recover durable agents stuck in transient error state even when their manager is active. +- Agents now know they run inside Fusion and won't plan actions across a platform shutdown. +- Task cards no longer show the steps breakdown while in the Planning column. +- Align the quick-add workflow dropdown button height with Save/Fast/Subtask buttons. +- On tablet widths, move terminal shortcuts/zoom controls into the bottom footer so they no longer overlap header icons. +- Keep the mobile top header on a single line after a foldable phone is unfolded and refolded. +- Custom providers can now enable Anthropic-style prompt caching to stop re-billing the full context each turn. +- Fix Anthropic-compatible custom providers registering under an unregistered API key. +- Fix merger awaiting-confirmation copy that implied a hard block when auto-merge proceeds automatically. +- Fix the terminal rendering blank on mobile even though the shell prompt already loaded. +- Fix workspace partial-land recovery losing the already-landed sub-repo sha. +- Fix workspace sub-repo worktree creation failing on absent shared branch. +- Prevent redundant polling and a re-render loop in agent-card runtime-fallback badges. +- Clear stale generated mission fix features after their source feature passes validation. +- Stop the false "OAuth token expired" push notification on startup. +- Preserve Hermes chat session state and project runtime routing more reliably. +- Stop the usage telemetry log from growing without bound and bloating the Fusion database. + +### Security + +- fn_task_attach now refuses to read files outside the task worktree boundary. + +### Performance + +- Fix dashboard terminal showing a blank screen for seconds before the first prompt appears on open. +- Add a one-time server log hint pointing to shell-profile-hygiene docs when a login shell is slow to prompt. + +## 0.56.1 + +### @fusion/dashboard + +#### Patch Changes + +- @fusion/core@0.56.1 +- @fusion/engine@0.56.1 +- @fusion/i18n@0.39.21 +- @fusion-plugin-examples/cli-printing-press@0.1.38 +- @fusion-plugin-examples/compound-engineering@0.1.21 +- @fusion-plugin-examples/dependency-graph@0.1.52 +- @fusion-plugin-examples/roadmap@0.1.40 +- @fusion-plugin-examples/cursor-runtime@0.1.40 +- @fusion-plugin-examples/droid-runtime@0.1.47 +- @fusion-plugin-examples/hermes-runtime@0.2.71 +- @fusion-plugin-examples/openclaw-runtime@0.2.71 +- @fusion-plugin-examples/paperclip-runtime@0.2.71 + +### @fusion/desktop + +#### Patch Changes + +- @fusion/core@0.56.1 +- @fusion/dashboard@0.56.1 +- @fusion/engine@0.56.1 + +### @fusion/engine + +#### Patch Changes + +- @fusion/core@0.56.1 +- @fusion/pi-claude-cli@0.56.1 + +### @fusion/plugin-sdk + +#### Patch Changes + +- @fusion/core@0.56.1 + +### @runfusion/fusion + +#### Patch Changes + +- ed823c7: summary: Fix Anthropic subscription showing "logged in" while all model calls fail. + category: fix + dev: Two-part fix. (1) OAuth token refresh in `packages/engine/src/auth-storage.ts` sent a `scope` param (defaulting to `user:profile`), which per RFC 6749 §6 re-issued the access token narrowed to that scope and stripped `user:inference` — so refreshed tokens 403'd on every model call. Refresh now omits `scope` (preserving the originally-granted scopes, matching pi-ai's own refresh), and `ANTHROPIC_DEFAULT_SCOPES` mirrors the full Claude Code scope set. (2) `/auth/status` now reports an unexpired Anthropic OAuth token that lacks an inference scope as not-connected (authenticated:false, expired:true so the re-login banner fires) with a scope-specific loginError, instead of falsely claiming a live session. Existing narrowed tokens need one re-login to obtain a fresh broad grant. +- dc44730: summary: Fix "Invalid transition" error when moving cards out of a custom workflow column like Coding (Ideas) → Ideas. + category: fix + dev: moveTaskInternal's compat-flag legacy path validated moves against the legacy VALID_TRANSITIONS table, which is keyed only by the built-in column ids; a task in a non-legacy workflow column (e.g. "ideas") had no key and every move was rejected. The legacy branch now resolves a non-legacy source column's targets from the task's own workflow adjacency (resolveAllowedColumns) while preserving the legacy bare-Error contract for legacy columns. +- b9d60b3: summary: Fix overlapping Record and Clear buttons in the Keyboard Shortcuts settings rows on desktop and mobile. + category: fix + dev: The shortcut-capture Record/Clear buttons no longer use the icon-only `btn-icon` class (which set `line-height:0` and a mobile 36px square, clipping/overlapping the text labels); they use a text-button class and the `.shortcut-capture` row locks buttons with `flex-shrink:0` so the input and controls never overlap, stacking cleanly on mobile. +- e347062: summary: Fix persistent mobile terminal inter-character spacing (5th recurrence root cause). + category: fix + dev: xterm's CharSizeService picks a Canvas-based (OffscreenCanvas) or DOM-based character-measurement strategy at terminal.open() time; DomRenderer's letter-spacing bake always measures via a separate DOM-based WidthCache, so a Canvas-vs-DOM measurement mismatch survived FN-7561/FN-7567's remeasure-ordering fixes. `withDomBasedTerminalCharacterMeasurement` in terminalPreferences.ts forces CharSizeService onto the same DOM strategy for both TerminalModal and SessionTerminal. +- f4f1656: summary: Fix manual PR actions hidden when a task auto-merge override was on but global auto-merge was off. + category: fix + dev: TaskDetailModal isManualPrFlow now keys off live global autoMergeEnabled, not the per-task effective override (regression from FN-7255). + +### runfusion.ai + +#### Patch Changes + +- Updated dependencies [ed823c7] +- Updated dependencies [dc44730] +- Updated dependencies [b9d60b3] +- Updated dependencies [e347062] +- Updated dependencies [f4f1656] + - @runfusion/fusion@0.56.1 ## 0.56.0 @@ -12789,6 +12930,14 @@ for reference. - Updated dependencies [a2ed6d0] - @runfusion/fusion@0.1.0 +## 0.39.22 + +### @fusion/i18n + +#### Patch Changes + +- @fusion/core@0.57.0 + ## 0.39.21 ### @fusion/i18n @@ -12959,6 +13108,14 @@ for reference. - @fusion/core@0.40.0 +## 0.11.48 + +### @fusion/droid-cli + +#### Patch Changes + +- @fusion-plugin-examples/droid-runtime@0.1.48 + ## 0.11.47 ### @fusion/droid-cli diff --git a/package.json b/package.json index e8fa56280d..a4d526b17e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fusion-workspace", - "version": "0.56.1", + "version": "0.57.0", "private": true, "license": "MIT", "homepage": "https://github.com/Runfusion/Fusion#readme", diff --git a/packages/cli-alias/CHANGELOG.md b/packages/cli-alias/CHANGELOG.md index 6d000e9c3c..000a5073b1 100644 --- a/packages/cli-alias/CHANGELOG.md +++ b/packages/cli-alias/CHANGELOG.md @@ -1,5 +1,77 @@ # runfusion.ai +## 0.57.0 + +### Patch Changes + +- Updated dependencies [4444262] +- Updated dependencies [1b1e1f1] +- Updated dependencies [ebe9b9f] +- Updated dependencies [03161ad] +- Updated dependencies [13570e8] +- Updated dependencies [9a5a8d2] +- Updated dependencies [1762229] +- Updated dependencies [a486e0b] +- Updated dependencies [9e5c025] +- Updated dependencies [60081fb] +- Updated dependencies [203f879] +- Updated dependencies [81fbb65] +- Updated dependencies [5631c88] +- Updated dependencies [e444581] +- Updated dependencies [1ea3c86] +- Updated dependencies [ca84473] +- Updated dependencies [8d73b18] +- Updated dependencies [ca7c987] +- Updated dependencies [fe5a595] +- Updated dependencies [d54ab80] +- Updated dependencies [a4f5fbc] +- Updated dependencies [a6c60e1] +- Updated dependencies [ebf8f87] +- Updated dependencies [42009cf] +- Updated dependencies [0f2bfa5] +- Updated dependencies [6bf0090] +- Updated dependencies [6777eea] +- Updated dependencies [413ef1d] +- Updated dependencies [51e3891] +- Updated dependencies [5b243f1] +- Updated dependencies [1b7bb1f] +- Updated dependencies [4e8c621] +- Updated dependencies [f1db313] +- Updated dependencies [923bba7] +- Updated dependencies [009ce26] +- Updated dependencies [563a8c6] +- Updated dependencies [bec8987] +- Updated dependencies [ce4f173] +- Updated dependencies [efabdd6] +- Updated dependencies [7c7b22e] +- Updated dependencies [dfb084c] +- Updated dependencies [e29fea3] +- Updated dependencies [511bcaf] +- Updated dependencies [f7d9509] +- Updated dependencies [97e4667] +- Updated dependencies [dd9fa2d] +- Updated dependencies [7cf70b3] +- Updated dependencies [aa534c1] +- Updated dependencies [8ee8f15] +- Updated dependencies [297c744] +- Updated dependencies [a4fce60] +- Updated dependencies [83e7743] +- Updated dependencies [a832b79] +- Updated dependencies [fd541bb] +- Updated dependencies [07507f5] +- Updated dependencies [461a4a2] +- Updated dependencies [64d4bb7] +- Updated dependencies [67cc027] +- Updated dependencies [0755fc5] +- Updated dependencies [0c1a20b] +- Updated dependencies [0c1a20b] +- Updated dependencies [d8ce3f4] +- Updated dependencies [3744fbc] +- Updated dependencies [a8c018f] +- Updated dependencies [a734d9f] +- Updated dependencies [ac719d1] + - @runfusion/fusion@0.57.0 + ## 0.56.1 ### Patch Changes diff --git a/packages/cli-alias/package.json b/packages/cli-alias/package.json index f9e5024570..3aba668abd 100644 --- a/packages/cli-alias/package.json +++ b/packages/cli-alias/package.json @@ -1,6 +1,6 @@ { "name": "runfusion.ai", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "description": "Launch Fusion with `npx runfusion.ai` — tiny alias for @runfusion/fusion.", "homepage": "https://runfusion.ai", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 94f2909e77..f244c47e54 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,211 @@ # @runfusion/fusion +## 0.57.0 + +### Minor Changes + +- 03161ad: summary: Archived tasks now load newest-first in pages of 100 with a Show more button. + category: feature + dev: Adds ArchiveDatabase.listPage / TaskStore.listArchivedTasks and GET /tasks/archived for a bounded SQL LIMIT/OFFSET read ordered archivedAt DESC. useTasks.loadArchivedTasks fetches page 1 on first Archived-column expand; loadMoreArchivedTasks fetches subsequent pages. No schema change; the legacy merged listTasks({includeArchived}) path is unchanged. +- e444581: summary: Planning Mode's "go deeper" prompt now suggests plan-specific topics instead of generic buckets. + category: feature + dev: AI completion payload gains optional `deepeningThemes`; the deepening checkpoint prefers them (via buildDeepeningCheckpointOptions) and falls back to the existing regex-derived themes when absent. +- 42009cf: summary: Edit a chat message and resume the conversation from that point. + category: feature + dev: Adds ChatStore.deleteMessagesFrom + PATCH /api/chat/sessions/:id/messages/:messageId; rewinds the pi SessionManager (createBranchedSession) so the model forgets discarded turns. Direct model-loop chats only. +- 0f2bfa5: summary: Built-in runtime plugins (Hermes, Paperclip, OpenClaw, Droid) can now be disabled and stay disabled across restarts. + category: feature + dev: renderBuiltinPluginSection now renders a durable enable/disable toggle for runtime built-ins independent of installed status, replacing the dead-end "Built-in metadata only" CTA for the not-installed / activated-without-record case. Chosen persistence path: on disable, a not-yet-installed built-in runtime is first registered via the existing installPlugin path (mirroring the CLI's ensureBundledPluginInstalled lazy-install), then disablePlugin is called immediately so a plugin_installs row + project state exists with enabled=false — no new persistence primitive needed since loadAllPlugins/loadPlugin already skip disabled plugins and recordActivationEvent only fires on actual load, so a disabled runtime is never re-activated on restart. HermesRuntimeCard/OpenClawRuntimeCard/PaperclipRuntimeCard now reflect the Plugin Manager disabled state ("Disabled in Plugin Manager") instead of showing a stale detected/connected status. +- 6777eea: summary: Chat search now matches message content, with a "Search in title only" toggle. + category: feature + dev: ChatStore.searchSessionsByMessageContent (parameterized LIKE ... ESCAPE); GET /chat/sessions gains q/titleOnly params; useChat exposes searchInTitleOnly. +- 5b243f1: summary: Hermes-configured models now appear in Fusion's model picker when the Hermes runtime is available. + category: feature + dev: /api/models additively merges `hermes profile list` results under the `hermes` provider via a short-TTL, single-flight cache (no per-request CLI spawn); rows are deduped by provider/id and never displace existing entries. Deferred item 1 of FN-7630. +- 1b7bb1f: summary: Edit and resend a message in task-detail Planner Chat. + category: feature + dev: Wires FN-7628's edit affordance (editChatMessage + rewindSessionForEdit) into TaskPlannerChatTab for synthetic task-planner: sessions; already-applied steering comments and refinement tasks are not reverted when a turn is discarded. +- f7d9509: summary: Duplicate tasks are no longer auto-archived on creation by default — they are flagged for review instead. + category: feature + dev: Adds project setting `autoArchiveDuplicateTasksEnabled` (default false) gating the FN-4892 same-agent duplicate intake path in store `_maybeAutoArchiveSameAgentDuplicate`; disabled path uses new `flagSameAgentDuplicate` and sets `nearDuplicateOf` metadata. Tombstone-resurrection blocking is unchanged. +- dd9fa2d: summary: fn_task_archive and fn_task_delete now accept removeLineageReferences to clear a lineage-parent block. + category: fix + dev: Forwards the boolean to store.archiveTask/deleteTask (FN-7661); resolves the tools referencing a parameter their schema never exposed. +- 8ee8f15: summary: Agents now know they run inside Fusion and won't plan actions across a platform shutdown. + category: fix + dev: Adds a shared runtime self-awareness + capability-grounding preamble (packages/core/src/agent-prompts.ts, FUSION_RUNTIME_SELF_AWARENESS) prepended to the chat, heartbeat, and executor base prompts' stable layer. +- 461a4a2: summary: Custom providers can now enable Anthropic-style prompt caching to stop re-billing the full context each turn. + category: fix + dev: Sets pi-ai `compat.cacheControlFormat="anthropic"` on opted-in custom-provider models across both registration paths (custom-provider-registry `toProviderConfig` and `pi.ts` createFnAgent). Opt-in via new `CustomProvider.anthropicPromptCaching` flag (FN-7689). + +### Patch Changes + +- 4444262: summary: Approval cards now show the gated command/arguments and dedupe repeated pending requests. + category: fix + dev: Permanent-agent gate persists approvalDedupeKey in targetAction.context and a payload-bearing summary (buildAgentGatedActionSummary); MailboxView renders GatedActionApprovalDetails for source="agent-gating". +- 1b1e1f1: summary: Fix Planning Mode Back button showing a generation screen instead of the previous question. + category: fix + dev: handleBack in PlanningModeModal no longer transitions to the loading view during the deterministic rewindPlanningSession; Back returns directly to the previous question form (success and error paths) and never renders .planning-loading. +- ebe9b9f: summary: Auto-approve plan toggle now appears only on the planning column, not Todo. + category: fix + dev: Board.tsx gated the plan auto-approve prop pair on intake||hold; the built-in Coding workflow's Todo is a hold column, leaking the control. Gate is now intake-only (legacy triage path unchanged). +- 13570e8: summary: Fix Quick Add action-row buttons (Save, Attach, Fast, workflow trigger) rendering at mismatched heights. + category: fix + dev: Adds a scoped `min-height` on `.quick-entry-actions .btn` and `.wf-optional-steps-dropdown-trigger` in `QuickEntryBox.css` (desktop base rule, alongside the existing mobile touch-target block) so every action-row control resolves one uniform box height regardless of icon-only vs text content or `.dep-trigger` padding differences. No shared `.btn`/`.btn-sm`/`.btn-icon`/`.btn-task-create`/`.dep-trigger` rules in `styles.css` were touched. +- 9a5a8d2: summary: Quick Add action-row controls now resolve one identical box height, not just a min-height floor. + category: fix + dev: Upgraded `.quick-entry-actions .btn, .quick-entry-actions .wf-optional-steps-dropdown-trigger` in QuickEntryBox.css from a bare min-height floor to a fixed box height (min-height paired with an equal max-height) plus tokenized line-height and centered alignment, at both the desktop base rule and the <=768px touch-target media block. Follow-up: a mobile-only Save-specific override (no vertical padding, line-height:1) further corrects Save's mobile sizing to match siblings without affecting desktop/tablet. +- 1762229: summary: Warn when changing a workflow's model surfaces tasks still pinned to the old model, including default-workflow tasks. + category: fix + dev: PATCH /workflows/:id/setting-values now returns `modelDrift` for execution/planning/validator lanes. Drift baseline is captured inside the settings write transaction (no stale-read race), and default-workflow patches pass `includeNullSelection` so no-workflow-selection tasks are counted. New `TaskStore.updateWorkflowSettingValuesWithPrevious` and `getModelLaneDrift(..., { includeNullSelection })`. +- a486e0b: summary: Retry transient OAuth token-rotation errors so in-flight agent calls survive rotation without failing the task. + category: fix + dev: withRateLimitRetry now retries transient auth errors (authentication_error, invalid credentials, token_expired) on a separate ~5s flat-delay budget that does not consume rate-limit attempts. OAuth scope/permission failures are explicitly excluded (operator must re-authorize) so they surface immediately instead of retrying pointlessly. +- 9e5c025: summary: Executors now block on pending approvals instead of probing for ungated workarounds. + category: fix + dev: wait-for-approval now suspends the in-flight executor session via awaitAbortInFlightTaskWork and dedupes identical pending approvals; executor prompts carve out awaiting-approval as a legitimate turn end. +- 60081fb: summary: Fix workspace-mode tasks failing auto-merge under the pull-request merge strategy. + category: fix + dev: Engine merge dispatch now checks isWorkspaceTask before the mergeStrategy branch, routing workspace tasks to landWorkspaceTask instead of processPullRequestMerge (which threw "could not determine repository" against the non-git workspace root). processPullRequestMergeTask/syncGroupPrCallback now throw the named WorkspaceTaskMergeError for workspace tasks as defense-in-depth. +- 203f879: summary: New tasks now land in the selected workflow's intake column instead of always jumping to Planning/triage. + category: fix + dev: Removed hardcoded `column: "triage"` overrides in `fn_task_create` (engine `createTaskCreateTool` and pi extension) and in signal/GitHub-import/planning create surfaces that had no `workflowId` or (for planning subtask routes) accepted one but still forced `column`. `TaskStore.createTask` already resolves `input.column || resolvedEntryColumn || "triage"`; callers no longer defeat that resolution. A custom workflow's non-triage `intake`-trait column (e.g. `Inbox`) now correctly captures new cards inert until released, while the default builtin:coding workflow still lands cards in `triage` byte-identically. The pi-extension `fn_task_create` response text now echoes the actual landing column instead of a fixed `"Column: triage"` string. +- 81fbb65: summary: Yes/No chat question buttons now show a clear selected state after clicking. + category: fix + dev: Strengthened `.chat-question-response__confirm--selected` CSS specificity (compound selector + dedicated hover/focus-visible rules) so the CTA-token selected fill/border beats the global `.btn`/`.btn:hover` rules; added `aria-pressed` and a regression test asserting the selected class toggles correctly between Yes/No. +- 5631c88: summary: Planning Mode "needs input" now shows a yellow nav badge instead of a top banner. + category: fix + dev: Excludes planning `awaiting_input` sessions from SessionNotificationBanner and adds a `status-dot--pending` dot to the Planning nav destination (LeftSidebarNav + MobileNavBar More item/tab), driven by a new `planningNeedsInput` flag. +- 1ea3c86: summary: Task-detail Oversight button now matches Priority/Execution-mode height on desktop. + category: fix + dev: `.detail-oversight-menu-dropdown` (the popover-positioning wrapper) is now `inline-flex; align-items: stretch` so it participates in `.detail-meta-inline-controls`'s stretch, and `.detail-oversight-menu-trigger` gets `align-self: stretch` to fill it — matching Priority/Execution-mode's direct-child stretch behavior without any new hardcoded height. +- ca84473: summary: fn_task_attach now refuses to read files outside the task worktree boundary. + category: security + dev: Adds a path-containment guard (confine to ctx.cwd) before readFile in the fn_task_attach tool; rejects traversal/absolute/@-prefixed escaping paths. Regression tests in packages/cli/src/**tests**/extension.test.ts. Fixes FN-7619 (flagged out-of-scope during FN-7608). +- 8d73b18: summary: Fix mobile dashboard terminal sometimes rendering completely blank on open. + category: fix + dev: TerminalModal now attaches a persistent ResizeObserver directly on the xterm container (mirroring SessionTerminal's existing pattern), so a container that reports a zero/collapsed box at the first post-open fit recovers as soon as its real box settles, instead of staying at FitAddon's degenerate 2x1-cell floor forever. +- ca7c987: summary: Fix the mobile terminal shortcut bar so it truly scrolls horizontally to reach every key. + category: fix + dev: FN-7550's leaf `min-width:0`/`overflow-x:auto`/`touch-action:pan-x` on `.terminal-shortcut-panel` were already correct, but styles.css's mobile `@media(max-width:768px)` lockdown resets `touch-action` to `pan-y` on `*` and re-locks it explicitly on `.modal-overlay:not(.confirm-dialog-overlay)`/`#root`/`html`/`body` — the terminal's own overlay/modal ancestors were never carved back into `pan-x`, so the panel's own correct touch-action was defeated by ancestor-chain intersection on real mobile devices. Added `touch-action: pan-x pan-y` to `.modal-overlay.terminal-modal-overlay`, `.modal.terminal-modal(.terminal-modal--mobile)` (both mobile paths), and `.terminal-status-bar` (FN-7560 footer, same gap). Locked in with a real-CSS `getComputedStyle` layout test (`loadAllAppCss()`) that resolves the panel + full ancestor chain, replacing reliance on a leaf-rule string match that stayed green through this recurrence. +- fe5a595: summary: Fix desktop app showing a truncated provider/model list vs. the web build. + category: fix + dev: The Electron desktop app's in-process dashboard server (local-runtime.ts, local-server.ts) now routes through a shared `@fusion/engine` `seedDashboardProviders()` helper that mirrors the CLI serve/dashboard/daemon startup sequence (built-in Zai/API-key provider seeding, `wrapAuthStorageWithApiKeyProviders`, `registerCustomProviders`). `provider-auth.ts` and `custom-provider-registry.ts` moved from `@fusion/cli` into `@fusion/engine`; the CLI files are now re-export shims with unchanged observable behavior. +- d54ab80: summary: Fix desktop app plugin install and Browse registry (plugin subsystem now wired into the embedded server). + category: fix + dev: local-runtime.ts / local-server.ts now build a PluginStore + PluginLoader and pass pluginStore/pluginLoader/pluginRunner into createServer, mirroring the CLI dashboard command (FN-7623, issue #1937). Plugin subsystem init is fail-soft — a broken plugin (e.g. corrupt manifest) logs/traces via strace(...) but no longer blocks embedded dashboard startup. +- a4f5fbc: summary: Fix onboarding GitHub sign-in button erroring instead of starting GitHub auth. + category: fix + dev: The onboarding/settings GitHub step no longer offers dashboard-managed OAuth login when no `github` OAuth provider is registered (pi ships only anthropic/github-copilot/openai-codex); it now presents gh CLI (`gh auth login`) guidance. `/api/auth/login` returns a clear unknown-provider error for `github` instead of a misleading "model not found". +- a6c60e1: summary: Authentication settings always lists all supported providers, regardless of connected runtime plugins. + category: fix + dev: GET /api/auth/status now enumerates a static supported-provider catalog (union with storage-reported providers) and uses runtime/auth state only to annotate per-provider status; connecting a runtime plugin (e.g. Hermes Runtime) no longer collapses the provider list. +- ebf8f87: summary: Add a close button to the Settings screen on mobile. + category: fix + dev: The embedded Settings header now renders a mobile-only `modal-close` control gated on `isEmbedded && viewportMode === "mobile"`, wired to the existing `onClose` prop (navigates back to the board and refreshes app settings). Desktop/tablet embedded and the standalone modal presentation are unchanged. +- 6bf0090: summary: Hermes Runtime is now additive — connecting it no longer hides your custom providers, models, or auth options. + category: fix + dev: Audited the Hermes Runtime plugin (onLoad/onUnload, CLI-spawn/probe seams) and register-model-routes.ts/register-auth-routes.ts against GitHub #1931. Confirmed the reported customProviders suppression was already fixed generically (unrelated to Hermes) and that Hermes's PluginContext has no reference to AuthStorage/ModelRegistry, so it cannot mutate either store. Added FNXC documentation comments locking in the additive-runtime invariant and regression coverage across the model-picker (/api/models), custom-provider CRUD, and auth-status surfaces proving a connected Hermes runtime never narrows them. Item 3 (static auth catalog) remains owned by FN-7625; item 1 (additive Hermes-model surfacing in the picker) is deferred to a follow-up task (FN-7636) pending a non-blocking CLI-spawn caching strategy. +- 413ef1d: summary: Align Priority and Execution-mode control heights with the Oversight dropdown in task detail. + category: fix + dev: `.detail-priority-chip`, `.detail-execution-mode-toggle`, and `.detail-oversight-menu-trigger` in TaskDetailModal.css now all pin an explicit `height` (not just `min-height`) from the shared `--detail-priority-control-min-height` token, so none can outgrow or undershoot the others regardless of flex stretch behavior; extends the FN-7585/FN-7618 shared-token pattern. +- 51e3891: summary: Fix the task-detail Planner Chat stop button rendering narrower than its send button. + category: fix + dev: `TaskPlannerChatTab.css` now declares a locally-scoped `--chat-input-control-size` on `.task-planner-chat-composer` (same formula as `ChatView.css`'s `.chat-input-row`) and applies it as a `min-inline-size` floor on `.task-planner-chat-send`, so the shared `.chat-input-send`/`.chat-input-stop` classes (which previously read an undefined custom property inside the Planner composer and fell back to `width: auto`) never render the streaming Stop button narrower than the idle Send button on desktop or mobile. +- 4e8c621: summary: Fix cards stranded after workspace/out-of-band merges land; node-override end no longer silently no-ops. + category: fix + dev: store.moveTask now allows proven-merge recoveryRehome from legacy columns (e.g. todo→done); nodeId='end' finalizes on durable merge proof or returns an explicit error across the dashboard route, CLI task-update tool, and store.updateTask. +- f1db313: summary: Code Review/Plan Review/CE gate failures now record a diagnostic instead of "(no feedback captured)". + category: fix + dev: When an enabled optional-group (`code-review`, `plan-review`, `browser-verification`) or CE `source:"node"` skill-gate template node fails via a dispatch/infra exception rather than a reviewer verdict, `WorkflowGraphExecutor` now synthesizes a non-blank `WorkflowStepResult.output` from the underlying `node::error` context-patch key (falling back to the failure `value`, then a stable sentinel) instead of leaving `output`/`notes` field-absent. Fixes Runfusion/Fusion#1946. `status`, verdict extraction, edge routing, and self-healing's `latestFailedPreMergeStep` selection are unchanged. +- 923bba7: summary: Fix agents on long heartbeat intervals silently going stale for hours. + category: fix + dev: HeartbeatTriggerScheduler timer audit now re-arms non-advancing long-interval registrations (stale lastHeartbeatAt with a live timer entry), not just missing ones (FN-7645). +- 009ce26: summary: Fix provider API keys being wiped when the desktop and CLI apps share credentials on one machine. + category: fix + dev: createFusionAuthStorage() now reloads before persisting a refreshed OAuth credential so a concurrent Fusion process's newer login is not overwritten; adds cross-process regression coverage over ~/.fusion/agent/auth.json. Relies on the pi-coding-agent FileAuthStorageBackend locked per-provider merge (floor >=0.80.x). +- 563a8c6: summary: Route node settings-sync and mesh credential writes through the coordinated auth store to prevent concurrent clobbers. + category: fix + dev: register-settings-sync-routes.ts, register-settings-sync-inbound-routes.ts, and register-mesh-routes.ts now persist received credentials via @fusion/engine createFusionAuthStorage() instead of raw AuthStorage.create(getFusionAuthPath()), sharing FN-7646's reload-before-persist + per-provider locked-merge path over ~/.fusion/agent/auth.json. Adds route-level regression coverage. +- bec8987: summary: Fix tasks in planning/intake columns starting execution before they were specified. + category: fix + dev: The hold-release entry guard (reserveSlot in scheduler.ts, issueRelease in hold-release.ts) is now trait-based (isUnplannedForExecution resolves the `intake` trait plus `status:"planning"`/bootstrap-stub PROMPT.md) instead of keyed on the literal `todo` column id, so renamed custom intake columns (e.g. `ideas`, `Inbox`) are covered too. promoteHeldTask/releaseHeldTaskByEvent also route through the same guard (FN-7648). +- ce4f173: summary: Switching projects now lands on the Board instead of Settings when the last-visited view was Settings. + category: fix + dev: Extended resolveLandingTaskView in useViewState.ts to resolve "settings" (in addition to "command-center") to "board" for the auto-restored/hydrated landing view only; deep links (?view=settings) and explicit navigation still open Settings. +- efabdd6: summary: Removed the chat "Search in title only" toggle; chat search always matches message content and title. + category: fix + dev: Dropped searchInTitleOnly/setSearchInTitleOnly from useChat and the ChatView toggle button; content-search path (q param, matchedMessagePreview) is now always-on. Server GET /chat/sessions titleOnly param retained but unused by the client. +- 7c7b22e: summary: Automation live output no longer shows "Run failed" for runs that actually succeed. + category: fix + dev: Reconciles the live-run panel terminal status (ScheduledTasksModal/RoutineCard) to the authoritative POST/registry result and gates benign SSE teardown (post-terminal close, reconnect exhaustion) from being surfaced as a failure across both `/routines/:id/run/stream` and `/automations/:id/run/stream`. +- dfb084c: summary: Planner chat stop button now shows just the stop icon, not a text label. + category: fix + dev: StandardChatActionButton gains showStopText (defaults to showSendText); TaskPlannerChatTab sets showStopText={false}. aria-label "Stop generation" retained. +- e29fea3: summary: Restore the chat "Working…" indicator immediately when returning to a session with an active generation. + category: fix + dev: `useChat.ts` `selectSession` now reattaches on the authoritative `fetchChatSession` refresh whenever `isGenerating===true`, instead of requiring a populated `inFlightGeneration` snapshot that is null pre-first-delta. Guards against races (stale active session, already-open stream) and reuses `attachIfGenerating` (FN-7656). +- 511bcaf: summary: Retain GitHub issue import state when leaving and returning to Import Tasks. + category: fix + dev: Persists GitHubImportModal provider/tab/label filter/remote/selection per project via projectStorage (`kb-dashboard-github-import-state`) and hydrates on remount; falls back to the existing default-remote auto-detect when nothing is persisted. +- 97e4667: summary: Built-in workflow boards and Automations editors now label the intake column "Planning", not "Triage". + category: fix + dev: board-workflows canonical label map BUILTIN_WORKFLOW_COLUMN_LABELS.triage was still "Triage", overriding FN-7599's IR rename; set to "Planning". English schedule.columnTriage/taskColumnTriage/triageColumn set to "Planning" and dashboard locale copy re-synced. Also fixed board.triage (AgentDetailView task-column badge) and docs/dashboard-guide.md references. Column id "triage" unchanged. +- 7cf70b3: summary: The Command Center SDLC funnel now labels the intake stage "Planning", matching the renamed board column. + category: fix + dev: commandCenter.funnel.stage.triage, enteredInRange, and completionRateAria English strings (and SdlcFunnel.tsx t() fallbacks) changed to "Planning"/"Entered planning"/"in-range planning entrants"; dashboard locale copy re-synced. Aggregator stage key "triage" and the i18n key names are unchanged. +- aa534c1: summary: Auto-recover durable agents stuck in transient error state even when their manager is active. + category: fix + dev: SelfHealingManager durable-error recovery no longer requires a missing manager; manager-present durable non-ephemeral agents with a transient lastError and no active run are recovered under the existing cooldown/backoff/retry-budget guards (FN-7672). +- 297c744: summary: Task cards no longer show the steps breakdown while in the Planning column. + category: fix + dev: TaskCard `showProgressSection` now excludes the `triage` column, matching ListView; the breakdown appears once a task leaves Planning. +- a4fce60: summary: Align the quick-add workflow dropdown button height with Save/Fast/Subtask buttons. + category: fix + dev: `.quick-entry-workflow-trigger` in QuickEntryBox.css now re-asserts `.btn-sm`'s `padding: 4px 10px` locally so the shared global `.dep-trigger` `padding: 3px 8px` no longer shortens it by ~2px; other `.dep-trigger` surfaces (InlineCreateCard, NewTaskModal, TaskDetailModal, TaskForm) are unaffected (FN-7677). +- 83e7743: summary: On tablet widths, move terminal shortcuts/zoom controls into the bottom footer so they no longer overlap header icons. + category: fix + dev: Adds an isTabletTerminal flag (769–1024px, non-mobile) that renders the shared terminalActionControls fragment in the .terminal-status-bar footer (as FN-7560 did for mobile) instead of the header; true desktop (>1024px) keeps the header layout. Tablet footer keeps the desktop pin/pop-out toggles. +- a832b79: summary: Fix dashboard terminal showing a blank screen for seconds before the first prompt appears on open. + category: performance + dev: `useTerminalSessions` no longer awaits a discardable `listTerminalSessions()` round trip before auto-creating the first session when there are no persisted `kb-terminal-tabs`; the round trip only produced a no-op filter result in that case. Reload-with-persisted-tabs is unaffected — it still awaits session-list validation. +- fd541bb: summary: Keep the mobile top header on a single line after a foldable phone is unfolded and refolded. + category: fix + dev: `.header` now pins `flex-wrap: nowrap` explicitly and `.header-left`/`.header-actions` get an explicit `flex`/`min-width: 0` shrink-and-truncate contract promoted to the base rule (not gated to the `@media (max-width: 768px)` block), so the row cannot wrap even while a foldable's CSS layout viewport lags its `visualViewport` pane mid fold/unfold/refold. `useViewportMode` was audited and already recomputes correctly on that resize sequence (regression test added; no hook change needed). +- 07507f5: summary: Add a one-time server log hint pointing to shell-profile-hygiene docs when a login shell is slow to prompt. + category: performance + dev: FN-7688 investigated whether `--login` in `TerminalService.detectShell()`/`createSession()` is a meaningful first-prompt latency contributor. Finding: negligible on lean profiles, additive (~800ms+) when `.zprofile`/`.bash_profile` eagerly sources something slow (e.g. version manager init). `--login` is preserved unconditionally per FN-7686; added `SLOW_LOGIN_PROFILE_HINT_MS` (2000ms) threshold and a one-time, non-blocking `console.info` hint in `createSession()`'s PTY `onData` handler — never alters spawn args, timeouts, or the `retry-without-login` fallback. See `docs/solutions/developer-experience/login-shell-profile-latency.md`. +- 64d4bb7: summary: Fix Anthropic-compatible custom providers registering under an unregistered API key. + category: fix + dev: Aligns custom-provider-registry `resolveApiType("anthropic-compatible")` on "anthropic-messages" (the registered pi-ai api key), matching pi.ts `resolveCustomProviderApiType` and removing the latent "No API provider registered for api: anthropic" drift (FN-7690). +- 67cc027: summary: Fix merger awaiting-confirmation copy that implied a hard block when auto-merge proceeds automatically. + category: fix + dev: `decidePlannerRecovery` now accepts an additive `autoMergeWillProceed` flag (threaded from `allowsAutoMergeProcessing` in `PlannerRecoveryController.tick`) that only shapes the confirmation `reason` string; no gating/behavior change to `action`/`requiresConfirmation`/`sideEffectClass`. +- 0755fc5: summary: Fix the terminal rendering blank on mobile even though the shell prompt already loaded. + category: fix + dev: The global mobile `@media (max-width: 768px) { * { max-width: 100% } }` reset in styles.css also matched xterm's hidden character-measurement subtree (`.xterm-helpers` / `.xterm-char-measure-element`). That subtree's containing block is a 0x0 box, so `max-width: 100%` resolved to 0 and hard-capped xterm's character-cell measurement at 0 — FitAddon.fit() then proposed 0 columns and `.xterm-screen` (plus the WebGL canvas) collapsed to 0x0, so the prompt painted into a zero-size box. Exempt xterm's measurement subtree from that reset (`max-width: none`). Mobile-only; desktop was unaffected. Recurrence of FN-7620/FN-7686. +- 0c1a20b: summary: Fix workspace partial-land recovery losing the already-landed sub-repo sha. + category: fix + dev: merger-ai.ts landWorkspaceTask now recovers the EXACT proven landed commit (the task's own Fusion-Task-Id trailer commit, or the recorded landedSha when it is still an ancestor) via findProvenLandedCommit, instead of dropping it when the A1 trailer-fallback proved a sub-repo landed but its sha was never persisted. This avoids attributing a later unrelated integration tip to the repo after an intervening sub-repo land, so finalizeWorkspaceTask builds durable merge proof and the partial-land retry completes to done. +- 0c1a20b: summary: Fix workspace sub-repo worktree creation failing on absent shared branch. + category: fix + dev: worktree-acquisition.ts acquireWorkspaceRepoWorktree now strips the shared project integrationBranch/baseBranch overrides before forwarding to acquireTaskWorktree, so FN-7360's freshStartPoint resolution no longer tries to git-worktree-add a branch absent from the sub-repo. +- d8ce3f4: summary: Prevent redundant polling and a re-render loop in agent-card runtime-fallback badges. + category: fix + dev: AgentsView now caches one stable ref callback per viewport key (avoids an infinite re-render loop when IntersectionObserver is unavailable) and evicts it on unmount; the test-only toast-dedupe reset is guarded to a no-op in production builds. +- 3744fbc: summary: Clear stale generated mission fix features after their source feature passes validation. + category: fix + dev: Reconciles obsolete generated Fix Feature chains during validator pass handling and active mission recovery. +- a8c018f: summary: Stop the false "OAuth token expired" push notification on startup. + category: fix + dev: In ProjectEngine.start, OAuthRefreshScheduler.start() now runs before OAuthExpiryMonitor.start() so the proactive refresh renews a stale-but-refreshable access token before the refresh-blind monitor's first awaited check() reads `expires`. Ordering locked by an invocationCallOrder assertion in project-engine.test.ts. +- a734d9f: summary: Preserve Hermes chat session state and project runtime routing more reliably. + category: fix + dev: Refreshes cached project chat plugin runners and hardens Hermes CLI session/error handling. +- ac719d1: summary: Stop the usage telemetry log from growing without bound and bloating the Fusion database. + category: fix + dev: usage_events was absent from operational-log retention, so it grew unbounded (observed ~187k rows / ~28MB with nothing ever aged out). pruneOperationalLogs now prunes usage_events on the same operationalLogRetentionDays cadence, keyed off its `ts` column (not `timestamp`). Existing rows still require a one-time VACUUM to reclaim on-disk space. + ## 0.56.1 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index f8a2286eb3..c571fd890c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@runfusion/fusion", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.", "homepage": "https://github.com/Runfusion/Fusion#readme", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index c8d6eef7fc..faa4dd7db5 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,7 @@ # @fusion/core +## 0.57.0 + ## 0.56.1 ## 0.56.0 diff --git a/packages/core/package.json b/packages/core/package.json index c6ad2fd87d..0f7ebc17a6 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/core", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "description": "Fusion core: task store, scheduler, settings, and shared domain types backing the Fusion AI coding agent.", "homepage": "https://github.com/Runfusion/Fusion#readme", diff --git a/packages/dashboard/CHANGELOG.md b/packages/dashboard/CHANGELOG.md index 7d9e93287d..4209a4684b 100644 --- a/packages/dashboard/CHANGELOG.md +++ b/packages/dashboard/CHANGELOG.md @@ -1,5 +1,22 @@ # @fusion/dashboard +## 0.57.0 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/engine@0.57.0 +- @fusion/i18n@0.39.22 +- @fusion-plugin-examples/cli-printing-press@0.1.39 +- @fusion-plugin-examples/compound-engineering@0.1.22 +- @fusion-plugin-examples/dependency-graph@0.1.53 +- @fusion-plugin-examples/roadmap@0.1.41 +- @fusion-plugin-examples/cursor-runtime@0.1.41 +- @fusion-plugin-examples/droid-runtime@0.1.48 +- @fusion-plugin-examples/hermes-runtime@0.2.72 +- @fusion-plugin-examples/openclaw-runtime@0.2.72 +- @fusion-plugin-examples/paperclip-runtime@0.2.72 + ## 0.56.1 ### Patch Changes diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index b11d2f8ad9..21e8961383 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/dashboard", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "description": "Fusion dashboard: React UI and HTTP API server for monitoring and controlling the Fusion AI coding agent.", "homepage": "https://github.com/Runfusion/Fusion#readme", diff --git a/packages/desktop/CHANGELOG.md b/packages/desktop/CHANGELOG.md index 8aba45e5e5..697954b7f0 100644 --- a/packages/desktop/CHANGELOG.md +++ b/packages/desktop/CHANGELOG.md @@ -1,5 +1,13 @@ # @fusion/desktop +## 0.57.0 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/dashboard@0.57.0 +- @fusion/engine@0.57.0 + ## 0.56.1 ### Patch Changes diff --git a/packages/desktop/package.json b/packages/desktop/package.json index db9058640c..d37449218f 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@fusion/desktop", "productName": "Fusion", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "author": { "name": "Runfusion", diff --git a/packages/droid-cli/CHANGELOG.md b/packages/droid-cli/CHANGELOG.md index 135712e5b7..48f4da59d0 100644 --- a/packages/droid-cli/CHANGELOG.md +++ b/packages/droid-cli/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion/droid-cli +## 0.11.48 + +### Patch Changes + +- @fusion-plugin-examples/droid-runtime@0.1.48 + ## 0.11.47 ### Patch Changes diff --git a/packages/droid-cli/package.json b/packages/droid-cli/package.json index f925155ebd..a23db99a58 100644 --- a/packages/droid-cli/package.json +++ b/packages/droid-cli/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/droid-cli", - "version": "0.11.47", + "version": "0.11.48", "description": "First-party Fusion pi extension that routes LLM calls through the Droid CLI subprocess.", "license": "MIT", "private": true, diff --git a/packages/engine/CHANGELOG.md b/packages/engine/CHANGELOG.md index f8045182da..cd69722726 100644 --- a/packages/engine/CHANGELOG.md +++ b/packages/engine/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion/engine +## 0.57.0 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/pi-claude-cli@0.57.0 + ## 0.56.1 ### Patch Changes diff --git a/packages/engine/package.json b/packages/engine/package.json index e4098cb6d3..7b759eba6a 100644 --- a/packages/engine/package.json +++ b/packages/engine/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/engine", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "description": "Fusion engine: executor, merger, scheduler, and automation runtime for the Fusion AI coding agent.", "homepage": "https://github.com/Runfusion/Fusion#readme", diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index 90ee12f5e0..72cdaec7a6 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion/i18n +## 0.39.22 + +### Patch Changes + +- @fusion/core@0.57.0 + ## 0.39.21 ### Patch Changes diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 3808b2a1f6..a3bcced2b6 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/i18n", - "version": "0.39.21", + "version": "0.39.22", "license": "MIT", "description": "Fusion i18n: authored translation catalogs and shared i18next configuration for the Fusion dashboard and terminal UI.", "type": "module", diff --git a/packages/mobile/CHANGELOG.md b/packages/mobile/CHANGELOG.md index c444640557..935f949111 100644 --- a/packages/mobile/CHANGELOG.md +++ b/packages/mobile/CHANGELOG.md @@ -1,5 +1,7 @@ # @fusion/mobile +## 0.57.0 + ## 0.56.1 ## 0.56.0 diff --git a/packages/mobile/package.json b/packages/mobile/package.json index f21434c96c..6ea1e39646 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/mobile", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "description": "Fusion mobile: Capacitor wrapper around the Fusion dashboard for iOS and Android.", "homepage": "https://github.com/Runfusion/Fusion#readme", diff --git a/packages/pi-claude-cli/CHANGELOG.md b/packages/pi-claude-cli/CHANGELOG.md index 74c218d378..3db04931ba 100644 --- a/packages/pi-claude-cli/CHANGELOG.md +++ b/packages/pi-claude-cli/CHANGELOG.md @@ -1,5 +1,7 @@ # @fusion/pi-claude-cli +## 0.57.0 + ## 0.56.1 ## 0.56.0 diff --git a/packages/pi-claude-cli/package.json b/packages/pi-claude-cli/package.json index 3e0677fc62..cecc22f88a 100644 --- a/packages/pi-claude-cli/package.json +++ b/packages/pi-claude-cli/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/pi-claude-cli", - "version": "0.56.1", + "version": "0.57.0", "description": "Fusion vendored fork: pi coding-agent extension that routes LLM calls through the Claude Code CLI. Forked from rchern/pi-claude-cli (MIT). See UPSTREAM.md.", "license": "MIT", "private": true, diff --git a/packages/plugin-sdk/CHANGELOG.md b/packages/plugin-sdk/CHANGELOG.md index 16eb15c790..55151688d4 100644 --- a/packages/plugin-sdk/CHANGELOG.md +++ b/packages/plugin-sdk/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion/plugin-sdk +## 0.57.0 + +### Patch Changes + +- @fusion/core@0.57.0 + ## 0.56.1 ### Patch Changes diff --git a/packages/plugin-sdk/package.json b/packages/plugin-sdk/package.json index 3b118d1e4f..bc20f014da 100644 --- a/packages/plugin-sdk/package.json +++ b/packages/plugin-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@fusion/plugin-sdk", - "version": "0.56.1", + "version": "0.57.0", "license": "MIT", "description": "Fusion plugin SDK: types and helpers for authoring third-party plugins that extend the Fusion dashboard and engine.", "homepage": "https://github.com/Runfusion/Fusion#readme", diff --git a/plugins/examples/fusion-plugin-auto-label/CHANGELOG.md b/plugins/examples/fusion-plugin-auto-label/CHANGELOG.md index 42c6f49400..ebe62fdb2e 100644 --- a/plugins/examples/fusion-plugin-auto-label/CHANGELOG.md +++ b/plugins/examples/fusion-plugin-auto-label/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/auto-label +## 0.2.72 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.2.71 ### Patch Changes diff --git a/plugins/examples/fusion-plugin-auto-label/package.json b/plugins/examples/fusion-plugin-auto-label/package.json index c1b0d827d6..f6be013245 100644 --- a/plugins/examples/fusion-plugin-auto-label/package.json +++ b/plugins/examples/fusion-plugin-auto-label/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/auto-label", - "version": "0.2.71", + "version": "0.2.72", "type": "module", "description": "Automatically labels tasks based on description content", "keywords": [ diff --git a/plugins/examples/fusion-plugin-ci-status/CHANGELOG.md b/plugins/examples/fusion-plugin-ci-status/CHANGELOG.md index 231a173dcc..9da229e66d 100644 --- a/plugins/examples/fusion-plugin-ci-status/CHANGELOG.md +++ b/plugins/examples/fusion-plugin-ci-status/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/ci-status +## 0.2.72 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.2.71 ### Patch Changes diff --git a/plugins/examples/fusion-plugin-ci-status/package.json b/plugins/examples/fusion-plugin-ci-status/package.json index 52acb61b45..cb1615e94d 100644 --- a/plugins/examples/fusion-plugin-ci-status/package.json +++ b/plugins/examples/fusion-plugin-ci-status/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/ci-status", - "version": "0.2.71", + "version": "0.2.72", "type": "module", "description": "Polls CI status for branches and provides a custom API to query results", "keywords": [ diff --git a/plugins/examples/fusion-plugin-notification/CHANGELOG.md b/plugins/examples/fusion-plugin-notification/CHANGELOG.md index 8826215ec9..ccc63245f0 100644 --- a/plugins/examples/fusion-plugin-notification/CHANGELOG.md +++ b/plugins/examples/fusion-plugin-notification/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/notification +## 0.2.72 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.2.71 ### Patch Changes diff --git a/plugins/examples/fusion-plugin-notification/package.json b/plugins/examples/fusion-plugin-notification/package.json index b30599211b..558ae872c5 100644 --- a/plugins/examples/fusion-plugin-notification/package.json +++ b/plugins/examples/fusion-plugin-notification/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/notification", - "version": "0.2.71", + "version": "0.2.72", "type": "module", "description": "Example Fusion plugin that sends webhook notifications on task lifecycle events", "keywords": [ diff --git a/plugins/examples/fusion-plugin-settings-demo/CHANGELOG.md b/plugins/examples/fusion-plugin-settings-demo/CHANGELOG.md index 7d1d0186dc..62d4baca4d 100644 --- a/plugins/examples/fusion-plugin-settings-demo/CHANGELOG.md +++ b/plugins/examples/fusion-plugin-settings-demo/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/settings-demo +## 0.2.72 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.2.71 ### Patch Changes diff --git a/plugins/examples/fusion-plugin-settings-demo/package.json b/plugins/examples/fusion-plugin-settings-demo/package.json index 9cf38200b1..257b41b678 100644 --- a/plugins/examples/fusion-plugin-settings-demo/package.json +++ b/plugins/examples/fusion-plugin-settings-demo/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/settings-demo", - "version": "0.2.71", + "version": "0.2.72", "type": "module", "description": "Example Fusion plugin demonstrating settings schema and runtime configuration", "keywords": [ diff --git a/plugins/fusion-plugin-acp-runtime/CHANGELOG.md b/plugins/fusion-plugin-acp-runtime/CHANGELOG.md index 7e33187842..d71bdae795 100644 --- a/plugins/fusion-plugin-acp-runtime/CHANGELOG.md +++ b/plugins/fusion-plugin-acp-runtime/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion-plugin-examples/acp-runtime +## 0.1.22 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.21 ### Patch Changes diff --git a/plugins/fusion-plugin-acp-runtime/package.json b/plugins/fusion-plugin-acp-runtime/package.json index 871ef720fb..edcadca329 100644 --- a/plugins/fusion-plugin-acp-runtime/package.json +++ b/plugins/fusion-plugin-acp-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/acp-runtime", - "version": "0.1.21", + "version": "0.1.22", "type": "module", "description": "ACP (Agent Client Protocol) runtime plugin for Fusion — drives any ACP-compatible agent over JSON-RPC/stdio", "keywords": [ diff --git a/plugins/fusion-plugin-agent-browser/CHANGELOG.md b/plugins/fusion-plugin-agent-browser/CHANGELOG.md index 8ebc9bf9f5..035632c0be 100644 --- a/plugins/fusion-plugin-agent-browser/CHANGELOG.md +++ b/plugins/fusion-plugin-agent-browser/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/agent-browser +## 0.1.42 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.1.41 ### Patch Changes diff --git a/plugins/fusion-plugin-agent-browser/package.json b/plugins/fusion-plugin-agent-browser/package.json index e8289c6c8d..78175719d6 100644 --- a/plugins/fusion-plugin-agent-browser/package.json +++ b/plugins/fusion-plugin-agent-browser/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/agent-browser", - "version": "0.1.41", + "version": "0.1.42", "type": "module", "description": "Agent Browser runtime and prompt/skill/workflow contributions for Fusion", "private": true, diff --git a/plugins/fusion-plugin-cli-printing-press/CHANGELOG.md b/plugins/fusion-plugin-cli-printing-press/CHANGELOG.md index 5b5a6ad18a..15cb28eb28 100644 --- a/plugins/fusion-plugin-cli-printing-press/CHANGELOG.md +++ b/plugins/fusion-plugin-cli-printing-press/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion-plugin-examples/cli-printing-press +## 0.1.39 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.38 ### Patch Changes diff --git a/plugins/fusion-plugin-cli-printing-press/package.json b/plugins/fusion-plugin-cli-printing-press/package.json index cee6385d0e..078f19c0b4 100644 --- a/plugins/fusion-plugin-cli-printing-press/package.json +++ b/plugins/fusion-plugin-cli-printing-press/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/cli-printing-press", - "version": "0.1.38", + "version": "0.1.39", "type": "module", "description": "CLI Printing Press plugin package for Fusion", "private": true, diff --git a/plugins/fusion-plugin-compound-engineering/CHANGELOG.md b/plugins/fusion-plugin-compound-engineering/CHANGELOG.md index aadb5297ee..498a94c218 100644 --- a/plugins/fusion-plugin-compound-engineering/CHANGELOG.md +++ b/plugins/fusion-plugin-compound-engineering/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion-plugin-examples/compound-engineering +## 0.1.22 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.21 ### Patch Changes diff --git a/plugins/fusion-plugin-compound-engineering/package.json b/plugins/fusion-plugin-compound-engineering/package.json index 8e81d3f700..d15bf601dd 100644 --- a/plugins/fusion-plugin-compound-engineering/package.json +++ b/plugins/fusion-plugin-compound-engineering/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/compound-engineering", - "version": "0.1.21", + "version": "0.1.22", "type": "module", "description": "Compound Engineering plugin for Fusion", "private": true, diff --git a/plugins/fusion-plugin-cursor-runtime/CHANGELOG.md b/plugins/fusion-plugin-cursor-runtime/CHANGELOG.md index dfc6cd1023..150c0cc54f 100644 --- a/plugins/fusion-plugin-cursor-runtime/CHANGELOG.md +++ b/plugins/fusion-plugin-cursor-runtime/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/cursor-runtime +## 0.1.41 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.1.40 ### Patch Changes diff --git a/plugins/fusion-plugin-cursor-runtime/package.json b/plugins/fusion-plugin-cursor-runtime/package.json index 6d1bda08fe..0c7293044a 100644 --- a/plugins/fusion-plugin-cursor-runtime/package.json +++ b/plugins/fusion-plugin-cursor-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/cursor-runtime", - "version": "0.1.40", + "version": "0.1.41", "type": "module", "description": "Cursor CLI runtime plugin for Fusion", "keywords": [ diff --git a/plugins/fusion-plugin-dependency-graph/CHANGELOG.md b/plugins/fusion-plugin-dependency-graph/CHANGELOG.md index d3bcb35875..1b8b4a188f 100644 --- a/plugins/fusion-plugin-dependency-graph/CHANGELOG.md +++ b/plugins/fusion-plugin-dependency-graph/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion-plugin-examples/dependency-graph +## 0.1.53 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.52 ### Patch Changes diff --git a/plugins/fusion-plugin-dependency-graph/package.json b/plugins/fusion-plugin-dependency-graph/package.json index be38970e04..bc96785a40 100644 --- a/plugins/fusion-plugin-dependency-graph/package.json +++ b/plugins/fusion-plugin-dependency-graph/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/dependency-graph", - "version": "0.1.52", + "version": "0.1.53", "type": "module", "description": "Dependency graph dashboard view plugin for Fusion", "private": true, diff --git a/plugins/fusion-plugin-droid-runtime/CHANGELOG.md b/plugins/fusion-plugin-droid-runtime/CHANGELOG.md index b2afcd23c3..e503812034 100644 --- a/plugins/fusion-plugin-droid-runtime/CHANGELOG.md +++ b/plugins/fusion-plugin-droid-runtime/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.48 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.1.47 ### Patch Changes diff --git a/plugins/fusion-plugin-droid-runtime/package.json b/plugins/fusion-plugin-droid-runtime/package.json index 142edcfb7d..4a14fbcf13 100644 --- a/plugins/fusion-plugin-droid-runtime/package.json +++ b/plugins/fusion-plugin-droid-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/droid-runtime", - "version": "0.1.47", + "version": "0.1.48", "type": "module", "description": "Droid runtime plugin for Fusion", "keywords": [ diff --git a/plugins/fusion-plugin-even-realities-glasses/CHANGELOG.md b/plugins/fusion-plugin-even-realities-glasses/CHANGELOG.md index 6203767d6f..eb31471d6f 100644 --- a/plugins/fusion-plugin-even-realities-glasses/CHANGELOG.md +++ b/plugins/fusion-plugin-even-realities-glasses/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion-plugin-examples/even-realities-glasses +## 0.1.41 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.40 ### Patch Changes diff --git a/plugins/fusion-plugin-even-realities-glasses/package.json b/plugins/fusion-plugin-even-realities-glasses/package.json index e8c20e82a3..b32a7249bc 100644 --- a/plugins/fusion-plugin-even-realities-glasses/package.json +++ b/plugins/fusion-plugin-even-realities-glasses/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/even-realities-glasses", - "version": "0.1.40", + "version": "0.1.41", "type": "module", "description": "Canonical Even Realities Fusion plugin with board/task cards, actions, notifications, and webhook transport", "keywords": [ diff --git a/plugins/fusion-plugin-hermes-runtime/CHANGELOG.md b/plugins/fusion-plugin-hermes-runtime/CHANGELOG.md index 0550886d3a..691519a8ea 100644 --- a/plugins/fusion-plugin-hermes-runtime/CHANGELOG.md +++ b/plugins/fusion-plugin-hermes-runtime/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/hermes-runtime +## 0.2.72 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.2.71 ### Patch Changes diff --git a/plugins/fusion-plugin-hermes-runtime/package.json b/plugins/fusion-plugin-hermes-runtime/package.json index f749733062..860bbea627 100644 --- a/plugins/fusion-plugin-hermes-runtime/package.json +++ b/plugins/fusion-plugin-hermes-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/hermes-runtime", - "version": "0.2.71", + "version": "0.2.72", "type": "module", "description": "Hermes AI runtime plugin for Fusion - provides AI agent execution runtime", "keywords": [ diff --git a/plugins/fusion-plugin-linear-import/CHANGELOG.md b/plugins/fusion-plugin-linear-import/CHANGELOG.md index 01ce0c2ac6..9e0db70ff0 100644 --- a/plugins/fusion-plugin-linear-import/CHANGELOG.md +++ b/plugins/fusion-plugin-linear-import/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion-plugin-examples/linear-import +## 0.1.4 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.3 ### Patch Changes diff --git a/plugins/fusion-plugin-linear-import/package.json b/plugins/fusion-plugin-linear-import/package.json index 4919e826da..ec2e72f3f5 100644 --- a/plugins/fusion-plugin-linear-import/package.json +++ b/plugins/fusion-plugin-linear-import/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/linear-import", - "version": "0.1.3", + "version": "0.1.4", "type": "module", "description": "Linear issue import plugin for Fusion", "private": true, diff --git a/plugins/fusion-plugin-openclaw-runtime/CHANGELOG.md b/plugins/fusion-plugin-openclaw-runtime/CHANGELOG.md index e8508218cd..9a64ba72cd 100644 --- a/plugins/fusion-plugin-openclaw-runtime/CHANGELOG.md +++ b/plugins/fusion-plugin-openclaw-runtime/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/openclaw-runtime +## 0.2.72 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.2.71 ### Patch Changes diff --git a/plugins/fusion-plugin-openclaw-runtime/package.json b/plugins/fusion-plugin-openclaw-runtime/package.json index 397aa87505..fc4ce9c8b2 100644 --- a/plugins/fusion-plugin-openclaw-runtime/package.json +++ b/plugins/fusion-plugin-openclaw-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/openclaw-runtime", - "version": "0.2.71", + "version": "0.2.72", "type": "module", "description": "Provides OpenClaw runtime for Fusion AI agents", "keywords": [ diff --git a/plugins/fusion-plugin-paperclip-runtime/CHANGELOG.md b/plugins/fusion-plugin-paperclip-runtime/CHANGELOG.md index b01a3cd5e2..441ca7dc55 100644 --- a/plugins/fusion-plugin-paperclip-runtime/CHANGELOG.md +++ b/plugins/fusion-plugin-paperclip-runtime/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/paperclip-runtime +## 0.2.72 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.2.71 ### Patch Changes diff --git a/plugins/fusion-plugin-paperclip-runtime/package.json b/plugins/fusion-plugin-paperclip-runtime/package.json index a00b20d9ca..77a4dbad0d 100644 --- a/plugins/fusion-plugin-paperclip-runtime/package.json +++ b/plugins/fusion-plugin-paperclip-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/paperclip-runtime", - "version": "0.2.71", + "version": "0.2.72", "type": "module", "description": "Paperclip runtime plugin for Fusion — provides AI agent web access capabilities", "keywords": [ diff --git a/plugins/fusion-plugin-reports/CHANGELOG.md b/plugins/fusion-plugin-reports/CHANGELOG.md index b29957f98d..16cce88df2 100644 --- a/plugins/fusion-plugin-reports/CHANGELOG.md +++ b/plugins/fusion-plugin-reports/CHANGELOG.md @@ -1,5 +1,13 @@ # @fusion-plugin-examples/reports +## 0.1.41 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/dashboard@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.40 ### Patch Changes diff --git a/plugins/fusion-plugin-reports/package.json b/plugins/fusion-plugin-reports/package.json index 0932261506..40fcc3ab24 100644 --- a/plugins/fusion-plugin-reports/package.json +++ b/plugins/fusion-plugin-reports/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/reports", - "version": "0.1.40", + "version": "0.1.41", "type": "module", "description": "Reports plugin for Fusion", "private": true, diff --git a/plugins/fusion-plugin-roadmap/CHANGELOG.md b/plugins/fusion-plugin-roadmap/CHANGELOG.md index b8d9ed1a60..86b8602879 100644 --- a/plugins/fusion-plugin-roadmap/CHANGELOG.md +++ b/plugins/fusion-plugin-roadmap/CHANGELOG.md @@ -1,5 +1,12 @@ # @fusion-plugin-examples/roadmap +## 0.1.41 + +### Patch Changes + +- @fusion/core@0.57.0 +- @fusion/plugin-sdk@0.57.0 + ## 0.1.40 ### Patch Changes diff --git a/plugins/fusion-plugin-roadmap/package.json b/plugins/fusion-plugin-roadmap/package.json index decd0bf70e..4a4381ce0e 100644 --- a/plugins/fusion-plugin-roadmap/package.json +++ b/plugins/fusion-plugin-roadmap/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/roadmap", - "version": "0.1.40", + "version": "0.1.41", "type": "module", "description": "Roadmap plugin package for Fusion", "private": true, diff --git a/plugins/fusion-plugin-whatsapp-chat/CHANGELOG.md b/plugins/fusion-plugin-whatsapp-chat/CHANGELOG.md index 99c956c295..4fe3c6a5b9 100644 --- a/plugins/fusion-plugin-whatsapp-chat/CHANGELOG.md +++ b/plugins/fusion-plugin-whatsapp-chat/CHANGELOG.md @@ -1,5 +1,11 @@ # @fusion-plugin-examples/whatsapp-chat +## 0.1.41 + +### Patch Changes + +- @fusion/plugin-sdk@0.57.0 + ## 0.1.40 ### Patch Changes diff --git a/plugins/fusion-plugin-whatsapp-chat/package.json b/plugins/fusion-plugin-whatsapp-chat/package.json index fb5071968e..10ea521032 100644 --- a/plugins/fusion-plugin-whatsapp-chat/package.json +++ b/plugins/fusion-plugin-whatsapp-chat/package.json @@ -1,6 +1,6 @@ { "name": "@fusion-plugin-examples/whatsapp-chat", - "version": "0.1.40", + "version": "0.1.41", "type": "module", "description": "WhatsApp Web (Baileys) chat bridge for Fusion agents", "keywords": [