v0.6.6
Released on .
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
Unknowntarball fallback and legacy.runupdater 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, andcargo 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 refreshafter 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
26c489dfix(update): harden cross-platform self-update restart335df96docs(launch): refresh Show HN drafta311046chore: bump version to v0.6.6c51fc35fix(update): gate legacy installer to Linuxc841b09fix(update): gate update context import by target
Notes pulled live from the GitHub release.