Aller au contenu
PaneflowPaneflow

v0.17.2Dernière

Windows updates install again

Voir sur GitHub

Paneflow 0.17.2 repairs the in-app update on Windows. From 0.16, the update pill ran the installer while the session host (paneflow-host.exe) was still running from the install folder: Windows Installer asked to close paneflow-host, could not close a process that has no window, and stopped on error 1611. From 0.17.0 and 0.17.1, the updater tested write access to paneflow-host.exe, which it never has under Program Files, so every update was deferred and the same version relaunched without a word. The installer now stops the host itself during an upgrade, and the updater no longer runs that test.

The title bar update pill also becomes the single place for updates: it appears for any release Paneflow finds, not only after a manual check, and follows the download, the install, and the restart.

Upgrade notes

  • From 0.17.0 or 0.17.1 on Windows, run this MSI by hand once. The updater that runs is the one already installed, and in those two versions it defers every update. Download paneflow-0.17.2-x86_64-pc-windows-msvc.msi from this release and run it: it upgrades in place and leaves %USERPROFILE%\.paneflow untouched. From 0.16, and from 0.17.2 onward, the in-app update works.
  • A Windows upgrade ends the sessions still running in the host. During an upgrade, the installer asks a paneflow-host.exe running from the install folder to stop with paneflow host stop --force, waits up to 15 s, then terminates what is left of that exact image and waits up to 10 s more. A host running from any other folder, such as a development build, is left alone. The 0.17 in-app update already stops sessions after confirmation before it installs, so this changes updates started by 0.16 and installers run by hand.

Changed

  • One update pill for every update state. The pill between the title and the window controls (24 px high, 11 px Medium) now appears for any release Paneflow knows about, whether the startup check, the four-hourly recheck, or Help > Check for Updates… (PaneFlow > Check for Updates… on macOS) found it. Before, only a manual check raised it and it disappeared once the download started, so a release found in the background had no control, and an AppImage, tarball, or macOS update staged with no restart button. Its states:

    • v<x.y.z> available and Restart Paneflow: solid #3a83f7 with a white download or refresh glyph. A click installs, or restarts through the same session dialog as quitting.
    • Downloading update… and Installing update…: an 11 px spinning loader, dimmed.
    • Update failed: a red wash. A click retries, and after three failures a toast offers the releases page.
    • Update via rpm-ostree and Update via package manager: a click copies the upgrade command, or the update explanation of a distribution build.
    • A manual check still lays Checking for updates…, then Paneflow is up to date or Update check failed for 3 s, over the same slot.

    The × on the available, failed, and package-manager states hides that release until a newer one ships; a manual check brings it back.

Fixed

  • Windows: updating from 0.16 no longer stalls on error 1611. The MSI runs a StopInstalledHost action before InstallValidate on every upgrade, so Windows Installer no longer finds paneflow-host.exe in use and never asks to close it.
  • Windows: the in-app update installs under Program Files. The update relay no longer opens paneflow-host.exe for write access to decide whether to install. It still waits up to 30 s for the session host to stop answering, and defers the update if it does not.
  • Windows: no more 75 MB copies in the temporary folder. Each update ran from a copy of paneflow.exe in %TEMP% (paneflow-msi-relay-<pid>.exe) that it could never delete. Every start now removes the copies no process still runs, including those left by earlier versions, and keeps the relay and msiexec logs for diagnosis.
  • Agent rows built from the screen leave the sidebar. When a hook event from another process had been refused first, a row Paneflow built from the agent's screen stayed after the agent exited.

Install and validation

Download the signed artifacts from this release or use the installation instructions.

Every primary artifact carries a .sha256 sidecar and a minisign .minisig; each AppImage also ships an .AppImage.zsync for delta updates. 35 assets in total.

Pipeline: run 36315869731.

Legs that passed:

  • Build: x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, aarch64-apple-darwin, x86_64-pc-windows-msvc, each gated by cargo fmt --check and cargo clippy --workspace --locked --target <target> -- -D warnings
  • Release test gate on Linux x86_64: cargo test --workspace --locked
  • Package smoke tests: Debian 12 and Ubuntu 22.04 (.deb postinst), Fedora 40 and openSUSE Tumbleweed (.rpm postinst), Arch Linux (tar.gz binary), Windows MSI install and relay
  • Auto-update end to end on Linux x86_64

Before tagging, the release dry-run run 36308397704 upgraded an installed 0.17.1 to this build while its session host was running, once with the updater's msiexec arguments and once without MSIRESTARTMANAGERCONTROL=Disable, as 0.16 runs it.

Full Changelog: https://github.com/arthjean/paneflow/compare/v0.17.1...v0.17.2

Contributeurs