Summary
Add a manual update check against GitHub Releases.
The app should be able to tell the user whether a newer version is available without implementing automatic download or installation.
Requirements
- Add a manual update check, not a background auto-updater.
- Query the public GitHub Releases API for this repository.
- Compare the current app version with the latest available release.
- Support stable and beta channels:
- stable ignores GitHub prereleases.
- beta includes GitHub prereleases.
- Default channel should be stable.
- Expose update status through the web UI and/or a small API endpoint.
- Optionally expose a CLI command such as --check-update.
- Do not download or install updates.
- Do not send SQMeter readings, config values, generated UUIDs, analytics, or usage data.
- Privacy docs must explain that update checks contact GitHub and may expose normal request metadata to GitHub.
Suggested behaviour
For stable channel:
- Use the latest non-prerelease GitHub release.
- Ignore draft releases.
- Ignore prereleases.
For beta channel:
- Include prereleases.
- Ignore draft releases.
- Pick the newest valid semantic version.
Example JSON response:
{
"current_version": "v0.2.0",
"latest_version": "v0.2.1",
"channel": "stable",
"update_available": true,
"release_url": "https://github.com/DeanJ87/SQMeter-ASCOM-Alpaca/releases/tag/v0.2.1"
}
Privacy/documentation
Update PRIVACY.md and docs to explain:
- update checks contact GitHub Releases.
- no telemetry is sent.
- no SQMeter readings are sent.
- no config values are sent.
- no device UUID is sent.
- GitHub may receive normal request metadata such as IP address and user agent.
Non-goals
- Do not implement automatic update installation.
- Do not download release assets.
- Do not add background scheduled update checks.
- Do not require a GitHub token.
- Do not fail app startup if GitHub is unavailable.
Validation
- go test ./...
- Unit tests for version comparison:
- stable newer than current.
- current equal latest.
- prerelease ignored on stable.
- prerelease included on beta.
- invalid tags ignored.
- Unit tests for GitHub API parsing using mocked HTTP responses.
- Manual dashboard/CLI check if implemented.
Suggested branch
feat/manual-update-check
Summary
Add a manual update check against GitHub Releases.
The app should be able to tell the user whether a newer version is available without implementing automatic download or installation.
Requirements
Suggested behaviour
For stable channel:
For beta channel:
Example JSON response:
Privacy/documentation
Update PRIVACY.md and docs to explain:
Non-goals
Validation
Suggested branch
feat/manual-update-check