Aller au contenu
Toutes les versions

v0.7.7

Sortie le .

Paneflow v0.7.7

Paneflow v0.7.7 is a major hardening release across the agent control plane, terminal runtime, workspace persistence, diff workflow, and distribution pipeline. The release covers 36 commits since v0.7.6, including the final version bump and release-fix commits.

Highlights

  • Agent control plane: MCP pane tools are explicitly read-only, workspace-scoped by default, and wrap terminal output as untrusted content. Workspace automation gained safer spawn planning, bounded prefill/context handling, and stricter scripting gates.
  • Terminal runtime: cell geometry, search, input, bracketed paste, OSC52 handling, copy mode, hyperlinks, scroll state, and output detection were hardened. Hera dogfood diagnostics now provide a shadow/side-by-side runtime for render parity checks behind an opt-in environment gate.
  • Workspace and sessions: tabbed pane state now persists across restore, session restore is stricter, fleet surfaces are more stable, Rosetta/attention queues are less fragile, and notification surfaces are opt-in.
  • Diff and review: the in-app diff engine, worktree scans, generated/binary file handling, review state, and agents diff dock are more resilient under large or multi-project changes.
  • Updates and distribution: signed self-update installers, Windows MSI relay, macOS DMG, Debian, RPM, AppImage, Homebrew, Winget, AppStream, and release CI gates were tightened.
  • Docs: Conductor, MCP bridge, scripting, Context7 docs metadata, and user-facing launch/demo material were refreshed to match the runtime contracts.

Agent Control Plane And MCP

  • Added the Paneflow MCP bridge hardening pass: list_panes, read_pane, and search_pane advertise read-only behavior, clamp output, scope access to the current workspace by default, and require an explicit global scope opt-in for instance-wide reads.
  • Terminal data returned to agents is fenced as untrusted terminal output, reducing prompt-injection risk when agents inspect pane contents.
  • MCP install/status/uninstall logic is now idempotent across Claude Code, Codex, Gemini, and opencode configs, with config locks, backup-aware writes, TOML/JSON/JSONC preservation, and cross-platform command resolution.
  • Shared subprocess execution now uses a bounded helper with timeouts, stdout/stderr caps, null stdin, and process-tree cleanup on Unix and Windows.
  • workspace.up and related IPC methods now plan pane spawns before execution, canonicalize working directories, dedupe labels, bound context/prefill content, gate orchestration primitives, and provide clearer failure shapes.
  • surface.read, surface.send_text, surface.send_keystroke, events.subscribe, and ai.* routes have tighter validation, pagination, fencing, CR/LF rejection where appropriate, submit echo handling, and better structured responses.
  • CLI automation was expanded around paneflow up, paneflow flow, paneflow wait, paneflow watch, split/select/focus helpers, dry-run/json modes, env token substitution, managed worktrees, and public IPC barriers.

Workspace, Sessions, And UI

  • Persisted surface schema now exposes tabbed surface fields so split/tab layouts can be restored more faithfully.
  • Session restore, worktree scans, pane scans, stale session cleanup, surface identity mapping, mode routing, and agents surfaces were hardened.
  • Agents UI runtime fixes cover fleet sidebar rows, bottom panel behavior, visibility, labels, active/running protection, and noisy interrupt completion events.
  • Rosetta and attention queue state received stability fixes for cross-agent status surfaces.
  • Notification surfaces are opt-in instead of silently on by default.
  • Settings primitives, input handling, shortcut recording, theme shortcuts, window chrome, markdown theme sync, and the main panel bottom corners were polished.

Terminal, Search, And Rendering

  • Renderer cell geometry was aligned with frame metrics, backed by golden Hera snapshots and broader layout tests.
  • Search/input handling now deals better with wide characters, regex errors, lowercase expansion, row/column mapping, copy mode, and focus changes.
  • Hyperlink and file-path activation, OSC52 clipboard handling, bracketed paste state, cursor blink/color, scrollbars, and terminal output-service detection were hardened.
  • Hera dogfood runtime can run disabled, shadow, or side-by-side modes via environment configuration, emit scrubbed/raw artifacts, track render mismatches, and compare viewport/cursor/style state against Paneflow's terminal model.
  • Multiline surface sends and terminal IPC paths now reject or route ambiguous content more predictably.

Diff, Review, Markdown, And Security

  • Diff scopes, worktree branch selection, multi-project grouping, watcher parking, warm-resume cache, generated/binary file handling, and large patch boundaries are more stable.
  • The agents diff dock uses shared diff colors/pipelines, better resize behavior, split/unified toggles, collapse state, cached rows, and per-file scroll spans.
  • Markdown rendering received state and security hardening, including safer rendering boundaries, link behavior, and renderer lifecycle fixes.
  • Cross-platform test gates were tightened for release and layout behavior, including Unix-specific clippy coverage and Windows-only import guards.

Updates, Packaging, And Release Gates

  • Signed self-update flows now reject unsigned/keyless builds before touching disk, use stricter semver guards, verify AppImage replacements, and stage Windows MSI updates through a relay after the current process exits.
  • System package update routes cover APT, DNF, and Zypper, with rpm-ostree and unknown package managers falling back to explicit user guidance.
  • Release packaging was hardened across Windows MSI, macOS DMG, Debian, RPM, AppImage, tar.gz, Homebrew, Winget, AppStream metadata, SHA256/minisig sidecars, and repository publish checks. The Windows MSI Start Menu shortcut now uses the HKCU KeyPath required by WiX ICE38/ICE43 while binaries and PATH remain machine-wide.
  • Release CI now checks workspace tests, formatting, clippy, AppStream freshness against the workspace version, MSI relay integrity, and platform-specific packaging behavior before publishing assets.
  • The final v0.7.7 bump updates the workspace version, lockfile package versions, Debian changelog, and AppStream top release entry.

Behavioral Notes

  • MCP bridge reads now default to the active workspace. Use the documented opt-in global scope only when an agent truly needs instance-wide visibility.
  • Notification surfaces are now opt-in, so existing configs may be quieter until explicitly enabled.
  • surface.send_keystroke rejects newline bytes. Use surface.send_text for text submission flows.
  • The release workflow requires the first AppStream release entry to match the workspace version.

Validation

Local validation before tagging:

  • cargo check --workspace
  • cargo fmt --check
  • cargo clippy --workspace -- -D warnings
  • cargo test --workspace
  • git diff --check
  • AppStream XML parsed locally and first release version verified as 0.7.7

GitHub release workflow: https://github.com/arthjean/paneflow/actions/runs/28795870781, all build, smoke, auto-update, and publish jobs succeeded.
Repository publish workflow: https://github.com/arthjean/paneflow/actions/runs/28798467533, APT amd64/arm64 and RPM x86_64/aarch64 metadata verified at pkg.paneflow.dev.
Release assets: 32 assets published on GitHub, including Linux AppImage/deb/rpm/tar.gz for x86_64 and aarch64, macOS aarch64 DMG, Windows x86_64 MSI, SHA256/minisig sidecars, and AppImage zsync files.

Full Commit Set

  • 47a219e1 docs(readme): add Paneflow badge
  • 56d046c3 docs(readme): tighten Paneflow badge spacing
  • d66bd859 docs(readme): refresh Paneflow badge source
  • 76bdbed6 fix(config): expose persisted surface fields in schema
  • f6acc27e docs(user): refresh Conductor docs for Context7
  • 5fbc533a feat(agent-control): add MCP hardening and Hera dogfood runtime
  • 5c297472 fix(agent-control): normalize agent launches
  • f0db92d2 feat(workspace): persist tabbed surface state
  • 8702205e fix(terminal): align renderer cell geometry
  • c1ca5c03 fix(terminal): harden input and search handling
  • 3056247f fix(ipc): guard multiline surface sends
  • e337a2f4 fix(app): centralize mode routing and expose agents surfaces
  • c7ea92e5 fix(app): harden session persistence restore
  • 14ecad53 fix(workspace): harden worktree and surface scans
  • 52bf7b6d fix(cli): harden orchestration control plane
  • cac3ba4b fix(agents): harden agents UI runtime
  • fc1a217b fix(app): stabilize Rosetta and attention queue state
  • 4dcb30cf fix(app): harden fleet sidebar surfaces
  • 1b719cb6 fix(diff): harden diff engine edge cases
  • d8417141 fix(diff): stabilize review and agents diff state
  • 9e0623eb fix(markdown): harden renderer state and security
  • eef7e66c fix(ci): stabilize cross-platform test gates
  • 3e28ff57 fix(app): satisfy unix markdown clippy
  • 38287675 fix(ui): harden settings primitives and input handling
  • 19779b2d fix(app): harden theme shortcuts and window chrome
  • 91435e40 fix(update): harden signed self-update installers
  • f9ef896e fix(release): harden distribution packaging
  • 83f9eead fix(docs): align public surfaces with runtime contracts
  • 028a561a chore(tasks): harden PRD and demo artifacts
  • d49ca3ec ci(tests): harden release and layout gates
  • 744ee6b7 fix(update): gate MSI stdio import on Windows
  • 494dab67 fix(config): make notification surfaces opt in
  • 58de4c98 fix(app): suppress interrupt completion noise
  • fdaca5d9 fix(app): square main panel bottom corners
  • de717e42 chore(release): bump version to v0.7.7
  • 9d7789f5 fix(release): allow MSI shortcut key path

Full changelog: v0.7.6...v0.7.7

Notes synchronisées en direct depuis la release GitHub.