Summary
Add an auto-update mechanism to radcap using the Sparkle framework, consistent with how it was implemented in grapfel. This allows users to receive updates without manually downloading new builds.
Desired behavior
- Integrate Sparkle 2.x via Swift Package Manager
- App checks for updates on launch (and optionally on a background timer)
- Standard Sparkle UI for update prompts, release notes, and install flow
- Appcast XML hosted somewhere stable (GitHub Releases asset or a static URL)
- Update check should respect user preference (opt-out in Settings if desired)
Implementation notes
- Reference the grapfel integration for SPM dependency declaration, entitlements, and appcast setup — same pattern should apply here
- Confirm Hardened Runtime / notarization compatibility (Sparkle 2 supports this)
- App Store build path should remain Sparkle-free (MAS has its own update mechanism); Sparkle only ships in the direct-download export
Open questions
- Appcast hosting URL (GitHub Releases asset vs. dedicated endpoint)
- Update check frequency default
Summary
Add an auto-update mechanism to radcap using the Sparkle framework, consistent with how it was implemented in grapfel. This allows users to receive updates without manually downloading new builds.
Desired behavior
Implementation notes
Open questions