Skip to content

fix: stop infinite update-restart loop in release binaries - #45

Merged
RouHim merged 2 commits into
mainfrom
fix/update-restart-loop
Sep 8, 2026
Merged

RouHim merged 2 commits into
mainfrom
fix/update-restart-loop

Conversation

@RouHim

@RouHim RouHim commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Release binaries looped through update → restart forever on launch.

Root cause: version-stamping seds in .releaserc and pipe.yaml matched only the literal 0.0.0, so Cargo.toml froze at 1.20.8 while tags advanced to 1.20.27. Every artifact reported the stale version, so self_update always returned Updated.

Changes:

  • Version-agnostic stamp seds (.releaserc, pipe.yaml); package version repaired to 1.20.27 (Cargo.toml + Cargo.lock)
  • Updater restarts at most once per update (BINVEC_UPDATED marker) — a stale binary can no longer loop forever
  • Windows exec() unified on io::Error so the restart path compiles again
  • CI build/build-feature jobs actually cross-compile via --target + per-target linkers instead of shipping the host binary under five names

Verified: repro script failed pre-fix / passed post-fix; new seds tested; cargo fmt + cargo check clean; updater.rs type-checks for x86_64-pc-windows-gnu; cargo check --target aarch64-unknown-linux-gnu passes; workflow YAML parses.

Release artifacts embedded a stale version (Cargo.toml frozen at 1.20.8
while tags advanced) so self_update always reported an update and the app
restarted forever. Version stamping is now version-agnostic, the package
version is repaired to the latest tag, the updater restarts at most once
per update, the Windows restart path compiles again, and CI actually
cross-compiles per matrix target.
@RouHim

RouHim commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

Review-fix loop summary

Loop completed after 1 review iteration with no high/medium findings.

iteration found fixed deferred open high/medium remaining
1 0 0 0 0

Verdict

No high/medium findings remain.

@RouHim
RouHim merged commit 6760d1c into main Sep 8, 2026
11 checks passed
@RouHim

RouHim commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

🎉 This PR is included in version 1.20.28 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@RouHim RouHim added the released label Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant