freedv-gui icon indicating copy to clipboard operation
freedv-gui copied to clipboard

Add autoupdate functionality for Windows and macOS

Open tmiw opened this issue 1 year ago • 0 comments

This PR adds auto-update functionality for Windows and macOS through the use of the Sparkle (macOS) and WinSparkle (Windows). By adding this functionality, this ensures that FreeDV users more easily remain up to date.

Example UI (Windows):

Screenshot 2024-01-27 at 9 04 32 PM (second time running freedv.exe)

Screenshot 2024-01-27 at 12 46 04 AM (when an update is available)

Example UI (macOS):

Screenshot 2024-01-27 at 9 34 13 PM (second time running FreeDV.app)

Screenshot 2024-01-27 at 3 00 01 AM (when an update is available)

Example appcast XML file (which is what gets checked when determining whether a new version is available): https://k6aq.net/freedv-update/appcast.xml

Remaining TODO items:

  • ~Implement macOS support~
  • Add mechanism for manually checking for updates
  • Set up signing infrastructure for appcasts and installers (on top of existing code signing for e.g. Windows)
  • Determine permanent location for the appcast.xml file ~and Sparkle-optimized release notes pages~ (EDIT: release notes can be embedded in the appcast.xml instead)

tmiw avatar Jan 27 '24 08:01 tmiw