Skip to content

v0.6.6

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Jun 21:29
· 3 commits to main since this release

Highlights

v0.6.6 is a self-update reliability release. It removes the rough edges in the Windows installer handoff, tightens Linux package-manager updates, and keeps platform-specific update paths from leaking into the wrong targets.

Windows self-update now restarts reliably

The Windows MSI updater no longer asks Windows Installer to replace paneflow.exe while Paneflow is still alive. The app now downloads and verifies the MSI, saves the current session, starts a detached relay process, then exits. The relay waits for the GUI process to disappear, runs msiexec, removes the temporary MSI, and relaunches the installed Paneflow binary on success.

This avoids the native Windows Installer FilesInUse dialog and fixes the path where Paneflow closed after accepting the installer prompt but did not restart.

Linux package updates are pinned correctly

APT-based updates now install the Debian package version with the packaging revision included: paneflow=<version>-1. That matches the .deb version emitted by cargo-deb and the command documented for users. DNF remains on the RPM package form, paneflow-<version>.

Platform update routing is stricter

The legacy .run and tarball migration path is now Linux-only. macOS Unknown installs no longer try to write a Linux-style ~/.local/paneflow.app layout, and Windows keeps using the MSI path. The old .run installer code is also compiled only on Linux, which keeps release clippy clean across macOS and Windows targets.

Distro docs are clearer

The release runbook now documents openSUSE cleanup with zypper instead of dnf, and clarifies that openSUSE currently uses the generic package-manager fallback in the app until a dedicated zypper backend exists.

Launch copy refreshed

The Show HN working draft was refreshed around the cross-platform GPUI app angle and Paneflow Conductor.

Fixes

  • Prevent Windows MSI self-update from being owned by the GUI process that Windows Installer may close.
  • Allow the Windows parent-process Job Object to break away only for the MSI relay while keeping normal agent child-process cleanup intact.
  • Keep Windows MSI auto-install off the background auto-kickoff path; it now waits for an explicit user click because it must quit Paneflow before running msiexec.
  • Correct APT exact-version pinning to use the Debian revision suffix.
  • Restrict Unknown tarball fallback and legacy .run updater behavior to Linux.
  • Fix release cross-target clippy failures caused by platform-specific update code compiling on targets where it is intentionally unused.

Validation

  • Local validation passed: cargo check --workspace, cargo fmt --check, cargo clippy --workspace -- -D warnings, and cargo test --workspace.
  • CI build jobs passed for Linux x86_64, Linux aarch64, Windows x86_64 MSI, and macOS Apple Silicon DMG.
  • CI smoke/e2e jobs passed for Ubuntu 22.04 .deb, Debian 12 .deb, Fedora 40 .rpm, Arch tarball, and Linux x86_64 auto-update.
  • The openSUSE Tumbleweed smoke job did not reach Paneflow installation because openSUSE repo metadata timed out during zypper refresh after retries. The failure was upstream mirror/CDN access (Curl error 28) before the Paneflow RPM was downloaded or installed, so it is recorded as inconclusive for this run rather than a package failure.

Full Changelog

  • 26c489d fix(update): harden cross-platform self-update restart
  • 335df96 docs(launch): refresh Show HN draft
  • a311046 chore: bump version to v0.6.6
  • c51fc35 fix(update): gate legacy installer to Linux
  • c841b09 fix(update): gate update context import by target