跳到内容
所有版本

v0.2.16

发布于

Highlights

v0.2.16 ships AI agent session resume right inside the pane tab strip, plus a project-wide custom scrollbar and a tighter, more native-feeling theme bundle.

  • Resume any Claude Code, Codex CLI or OpenCode session with one click from the pane tab strip — no more scrolling shell history to find the right conversation.
  • Custom scrollbars everywhere they were missing — sidebar workspace list, settings page, notifications dropdown, theme picker and the new sessions popover.
  • Native file picker for the markdown viewer's open file button — uses the FreeDesktop portal on Wayland, NSOpenPanel on macOS and the COM dialog on Windows.
  • Theme bundle trimmed to two curated themes — One Dark (default) and PaneFlow Light. Custom user themes are unaffected.
  • GPUI bumped to upstream Zed c8f00268 with the Wayland/X11 split, font-kit and dev-test feature flags re-aligned across the workspace.

What's new

AI agent sessions popover

A new sessions glyph next to the existing Claude / Codex / OpenCode launcher buttons opens a popover anchored to the pane's tab strip (rendered at the top of the app via deferred() so it never clips inside the pane bbox).

  • Three parallel scannerssrc-app/src/{claude,codex,opencode}_sessions.rs — share a single SessionMeta type defined in agent_sessions.rs. Claude Code reads JSONL transcripts under ~/.claude/projects; Codex CLI walks ~/.codex/sessions; OpenCode shells out to opencode session list --format json.
  • Filters by current working directory so the popover only surfaces sessions started in the pane's cwd.
  • Per-agent tabs in the popover header switch between Claude, Codex and OpenCode lists. Defaults to Claude on every fresh open.
  • Resumes in the originating pane via a WeakEntity<Pane> — focus changes between the click and the resume don't redirect output to the wrong pane, and the weak handle never keeps a closed pane alive.
  • Test fixturesrc-app/tests/fixtures/opencode-session-list.json is consumed via include_str! by the OpenCode parser unit tests.

Custom scrollbar widget

A new shared widget (src-app/src/widgets/scrollbar.rs) lands across the app:

  • Sidebar workspace list now scrolls with a visible 6 px-wide thumb instead of the invisible native scroller.
  • Settings page, notifications dropdown, theme picker and the sessions popover all use the same widget.
  • Track-click jumps to position, thumb-drag is centralised through a single ScrollDragState so cursor leaves don't lose drag tracking.
  • Notifications dropdown resets scroll + drag on every fresh open — popovers always start at offset 0.

Native file picker for markdown viewer

The markdown pane's open file button now opens a real native dialog via rfd 0.17:

  • Linux: FreeDesktop file-chooser portal (xdg-portal + Wayland integration). No GTK3 runtime dep.
  • macOS: NSOpenPanel.
  • Windows: native COM file-open dialog.
  • Driven from cx.spawn via pollster block-on, so no tokio/async-std dep is pulled in.

Theme bundle trimmed to two curated themes

Catppuccin Mocha, Dracula, Gruvbox Dark and Solarized Dark are no longer bundled.

  • One Dark is now the default.
  • PaneFlow Light is the second bundled theme.
  • Custom themes loaded from ~/.config/paneflow/themes/ are unchanged.
  • Sidebar / titlebar colours stay independent of the terminal theme (hardcoded dark hex values).

GPUI rev bump

  • gpui, gpui_platform, collections bumped from Zed rev 0b984b5 to c8f00268.
  • Linux wayland + x11 features and the [dev-dependencies] test-support feature realigned to the new rev.

Fixes

  • Title bar update pill: dispatch the UpdatePill action on press instead of click — restores the pre-v0.2.13 single-action behaviour (cb20624).
  • Sidebar list rendering: list now lives in a relative flex wrapper so the scrollbar overlay can absolute-position over the list without clipping.

CI / build

  • Windows MSI packaging is now gated on the presence of Azure Trusted Signing secrets in CI (60f50fb). Release runs that don't have them produce unsigned artefacts as workflow artefacts only — never as published assets.
  • Workspace builds clean against Rust 1.95 / rustfmt 1.9.0 (a4c75f6).
  • Config crate test_serialization_roundtrip covers the AI Agent fields added in v0.2.15 (c3b45e5).

Upgrade notes

  • Themes: if your paneflow.json references one of the dropped themes (Catppuccin Mocha, Dracula, Gruvbox Dark, Solarized Dark), the loader falls back to One Dark. Drop a copy of the old theme into ~/.config/paneflow/themes/ if you want to keep using it as a custom theme.
  • In-app updater: clients on v0.2.10+ pick up the new release automatically thanks to the suffix-only asset matcher in update_checker.rs::pick_asset.

Artefacts

OS Format Architecture
Linux .AppImage, .deb, .rpm, .tar.gz x86_64, aarch64
macOS .dmg (signed Developer ID + notarised) aarch64 (Apple Silicon)
Windows .msi shipping in a future release once Azure Trusted Signing is wired in CI

Each Linux + macOS artefact ships with a .sha256 sidecar; AppImages additionally ship .zsync files for delta updates.

Full changelog

https://github.com/ArthurDEV44/paneflow/compare/v0.2.15...v0.2.16