freedv-gui
freedv-gui copied to clipboard
Add autoupdate functionality for Windows and macOS
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):
(second time running freedv.exe)
(when an update is available)
Example UI (macOS):
(second time running FreeDV.app)
(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)