Skip to content

feat(appimage): publish zsync files for delta updates - #49

Merged
leandromqrs merged 1 commit into
mainfrom
feat/appimage-zsync
Oct 17, 2026
Merged

leandromqrs merged 1 commit into
mainfrom
feat/appimage-zsync

Conversation

@leandromqrs

Copy link
Copy Markdown
Member

Embeds gh-releases-zsync|luminusOS|zaptide|latest|zaptide-*-<arch>.AppImage.zsync in the AppImage and publishes the generated .zsync files with each release, so AppImageUpdate can fetch only changed blocks.

  • build.sh exports UPINFO and fails if the .zsync is missing
  • release workflows upload, verify, checksum and publish the .zsync files for x86_64 and aarch64
  • PACKAGING.md and README.md document the update path

Not verified: a full AppImage build. The .zsync is assumed to be named <AppImage>.zsync; the build's test -s fails loudly if not. Only releases made after this change can be updated this way.

AppImages had no update information, so AppImageUpdate could not
update them and every update meant downloading the whole bundle.

Embed a gh-releases-zsync update string in the AppImage and have the
build fail when the matching .zsync file is missing. The release
workflows now carry the .zsync files as artifacts, require them for
both architectures, list them in checksums.txt and attach them to the
GitHub release.

The update string matches the versioned AppImage names, so it keeps
working across releases. Releases made before this change cannot be
updated this way.
@leandromqrs
leandromqrs merged commit 6e34609 into main Oct 17, 2026
3 checks passed
@leandromqrs
leandromqrs deleted the feat/appimage-zsync branch October 17, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant