v0.2.16
Sortie le .
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
c8f00268with 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 scanners —
src-app/src/{claude,codex,opencode}_sessions.rs— share a singleSessionMetatype defined inagent_sessions.rs. Claude Code reads JSONL transcripts under~/.claude/projects; Codex CLI walks~/.codex/sessions; OpenCode shells out toopencode 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 fixture —
src-app/tests/fixtures/opencode-session-list.jsonis consumed viainclude_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
ScrollDragStateso 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.spawnviapollsterblock-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 Darkis now the default.PaneFlow Lightis 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,collectionsbumped from Zed rev0b984b5toc8f00268.- Linux
wayland+x11features and the[dev-dependencies] test-supportfeature realigned to the new rev.
Fixes
- Title bar update pill: dispatch the
UpdatePillaction on press instead of click — restores the pre-v0.2.13 single-action behaviour (cb20624). - Sidebar list rendering: list now lives in a
relativeflex 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_roundtripcovers the AI Agent fields added in v0.2.15 (c3b45e5).
Upgrade notes
- Themes: if your
paneflow.jsonreferences one of the dropped themes (Catppuccin Mocha,Dracula,Gruvbox Dark,Solarized Dark), the loader falls back toOne 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
Notes synchronisées en direct depuis la release GitHub.