Release ForgeFlow 0.8.2 with binary auto-update

This commit is contained in:
NuklearRabbit
2026-07-26 00:58:24 +02:00
parent 4ad698c4eb
commit 3e5e3d2a8b
16 changed files with 1778 additions and 522 deletions
+11
View File
@@ -0,0 +1,11 @@
# ForgeFlow 0.8.2
ForgeFlow 0.8.2 activates binary auto-update for packaged Windows releases.
- Installed builds download the matching NSIS installer from the authenticated Gitea release.
- Portable builds download and safely replace the original portable executable.
- Every executable requires a separately published SHA-256 sidecar and is verified again immediately before installation.
- The updater runs outside ForgeFlow, waits for the old process to exit and records a durable success, failure or rollback result.
- Release publishing verifies that local `HEAD` equals `origin/main` before uploading artifacts.
Users of 0.8.1 or older must install 0.8.2 once manually. Updates after 0.8.2 can use the built-in updater.
+14
View File
@@ -28,6 +28,20 @@ A failed validation restores the previous source. A successful installation is n
Update logs and status files are stored beneath ForgeFlow's local user-data `updates` folder and exclude the Gitea token.
## Packaged Windows updates
ForgeFlow 0.8.2 and newer use authenticated Gitea release assets when running from the installer or portable executable. The updater selects the installer or portable artifact that matches the current installation mode, requires its `.sha256` sidecar, validates the Windows executable header and SHA-256 digest, then verifies the digest again immediately before applying it. An external PowerShell helper waits for ForgeFlow to exit, installs or replaces the executable and restarts it.
Publish a verified binary release after pushing its source commit:
```powershell
npm run dist:win
$env:FORGEFLOW_USER_DATA = "$env:APPDATA\forgeflow"
npm run release:binary
```
The publisher refuses to upload when local `HEAD` differs from `origin/main`. Users on 0.8.1 or older need one manual 0.8.2 installation because those versions deliberately disabled packaged updates.
## Publishing a release from Downloads
Extract the complete source ZIP so this file exists: