All releases
v0.6.7
Released on .
Highlights
- Restored native desktop notifications for agent lifecycle events: completed turns, approval/input requests, unexpected exits, and stalled agents now notify when Paneflow is not foregrounded.
- Polished the core app feel with an animated startup splash, smooth sidebar open/close transitions, fixed-width terminal tabs, hover-to-close tabs, better title truncation/tooltips, and a collapsible tab-bar action cluster.
- Hardened the signals that make Paneflow useful as a control plane: service badges are less timing-dependent, Windows now participates in port detection, agent status is shared between UI and IPC, and pane resize/lifecycle behavior has stronger guardrails.
Install
See the Installation section in the README.
What Changed
Agent notifications
- Restored the desktop notification firing path for
ai.*lifecycle events after the in-app chat removal had left the visibility gates in place but no notifier behind them. - Added specific notification bodies for finished turns, approval-needed/input-needed states, unexpected agent exits, and stalled agents.
- Kept notification delivery off the GPUI thread and gated by the configured
notify_when_agent_waitingsetting plus foreground-window state. - Sanitized agent-supplied notification text by bounding it and stripping bidi/zero-width control characters before showing it in a native notification.
- Added Windows notification identity support with a stable
Strivex.PaneFlowAppUserModelID, registry registration for unpackaged/dev runs, and a matching WiX Start Menu shortcut property so packaged MSI installs get reliable toast attribution. - Clarified the config schema semantics for
PrimaryScreenandAllScreens: native OS notification APIs own display placement, so Paneflow treats both as foreground-window-gated notification modes.
UI polish
- Added a lightweight startup splash that mounts before the main app and shows a subtle animated Paneflow wordmark before handing off to the real workspace.
- Made the primary left sidebar animate open and closed across CLI, Agents, Diff, and Settings surfaces; the title bar now follows the animated rail width instead of snapping.
- Reworked terminal tabs into stable fixed-width chips with safer title derivation from custom names, agent titles, shell cwd titles, and default terminal cwd fallback.
- Added tooltips for truncated tab titles and switched the close affordance to a hover-revealed leading slot, keeping the tab label aligned while making close easier to hit.
- Expanded the tab context menu with copy path, copy relative path, move-to-pane, cancel queued prompt, and close tab actions.
- Added a collapsible tab-bar action cluster so dense pane toolbars can be folded without losing access to copy, zoom, sessions, agent launchers, and custom buttons.
Panes and layout
- Hardened pane splitting and closing with focused layout-tree tests for sibling insertion, cross-direction wrapping, ratio redistribution, and single-child container collapse.
- Improved border resize behavior with a wider hit target, asymmetric minimum-size clamping, nested-layout minimum calculations, and clean resize-end callbacks when mouse state/window bounds interrupt a drag.
- Changed terminal PTY exit handling to drain final output after child exit before showing the exit overlay, matching Zed's terminal behavior and avoiding clipped last lines from fast exits.
- On Windows, terminal teardown now walks and terminates the process tree children before the root process, reducing orphaned descendants under ConPTY.
Service and agent status
- Stabilized dev-server/service badges by merging OS-side port scans with terminal text detection instead of requiring both to win a timing race.
- Preserved frontend labels and exact URLs when backend output mentions the same port, pruned stale service labels, and avoided substring lookalikes like
inviteororiginbeing misclassified as Vite. - Ignored shared/listener-balanced ports when computing per-terminal port conflict badges, so a shared port does not look like a collision.
- Added Windows port scanning with ToolHelp process-tree traversal plus IPv4/IPv6
GetExtendedTcpTablelistener ownership, bringing service badges closer to Linux/macOS behavior on Windows. - Shared one workspace agent-status projection between the CLI sidebar and
fleet.list, keeping hooked sessions, unhooked process-scan fallbacks, and active-agent tooltips consistent. - Simplified Agents sidebar thread indicators to compact lifecycle states derived from hook-backed agent state, with failed agents shown distinctly instead of falling back to idle.
- Added process-start fingerprints to agent thread tracking so stale sweeps can distinguish the original process from PID reuse where the platform exposes enough information.
Cross-platform and release hardening
- Added a mandatory repository instruction to verify every implementation decision against Windows, macOS, Linux distro families, Wayland, and X11 before considering work complete.
- Gated the Windows process-basename helper so non-Windows builds do not trip
-D warningson platform-specific helpers. - Bumped the workspace, lockfile package entries, and Debian changelog to
0.6.7.
Validation
- Local:
cargo check --workspace - Local:
cargo fmt --check - Release workflow: https://github.com/ArthurDEV44/paneflow/actions/runs/28289012079
Commits
2cffbf3fix(notifications): restore agent desktop notificationsdb145e9fix(ci): gate Windows process basename helperf96650bfeat(app): add premium startup splash899ca0bfix(app): harden agent status indicatorscee0320fix(app): stabilize dev-server service badgesab9d8e5feat(app): smooth sidebar animationsaffc2b6fix(layout): harden pane border resizeaf16a44refactor(panes): harden pane lifecycle behavior07e487fdocs: require cross-platform compatibility checks2208eeafeat(app): polish terminal tab bar interactionsa0b40c3chore(release): bump version to v0.6.7
Full changelog: v0.6.6...v0.6.7
Notes pulled live from the GitHub release.