Problem
Sparkle update checks can receive a stale appcast from the GitHub Pages/CDN layer after a new release is published.
PR #891 attempted to add a timestamp through feedParameters(for:sendingSystemProfile:). End-to-end requests with different query values still returned X-Cache: HIT with the same GitHub request ID, so the query parameter does not bypass the effective GitHub Pages cache. Sparkle already uses a reload-ignoring-local-cache policy for appcast requests, so this needs to be solved and verified at the release or hosting layer.
The Sparkle 2.9.4 dependency update was handled separately in #893 and #894.
Expected behavior
Manual and automatic update checks should reliably observe a newly published appcast without relying on unsupported delegate hooks or query parameters ignored by the CDN.
Investigation
- Document the current appcast publication path and cache headers.
- Determine whether GitHub Pages propagation can be made reliable or whether the appcast should move to an endpoint with controllable caching behavior.
- Verify the actual outgoing request and response headers.
- Test the complete transition from an old appcast to a newly published release.
Acceptance criteria
Related: #891
Problem
Sparkle update checks can receive a stale appcast from the GitHub Pages/CDN layer after a new release is published.
PR #891 attempted to add a timestamp through
feedParameters(for:sendingSystemProfile:). End-to-end requests with different query values still returnedX-Cache: HITwith the same GitHub request ID, so the query parameter does not bypass the effective GitHub Pages cache. Sparkle already uses a reload-ignoring-local-cache policy for appcast requests, so this needs to be solved and verified at the release or hosting layer.The Sparkle 2.9.4 dependency update was handled separately in #893 and #894.
Expected behavior
Manual and automatic update checks should reliably observe a newly published appcast without relying on unsupported delegate hooks or query parameters ignored by the CDN.
Investigation
Acceptance criteria
Related: #891