Skip to content

Comments

feat(scheduler): add auto-update check via GitHub Releases API#605

Merged
bug-ops merged 3 commits intomainfrom
feat/588-update-check
Feb 19, 2026
Merged

feat(scheduler): add auto-update check via GitHub Releases API#605
bug-ops merged 3 commits intomainfrom
feat/588-update-check

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 19, 2026

Summary

  • Add periodic update checking as a built-in scheduler task (feat: auto-update check via built-in scheduler task #588)
  • TaskKind::UpdateCheck with UpdateCheckHandler queries GitHub Releases API for latest version
  • Version comparison via semver crate against CARGO_PKG_VERSION
  • auto_update_check config field (default: true) with ZEPH_AUTO_UPDATE_CHECK env override
  • One-shot check at startup when scheduler feature is disabled
  • Init wizard updated with auto-update configuration step

Test plan

  • cargo +nightly fmt --check passes
  • cargo clippy --workspace -- -D warnings passes
  • cargo nextest run --workspace --lib --bins — 1927 tests pass
  • Version comparison: newer, same, older, prerelease, empty tag, missing v-prefix
  • Config roundtrip serialization includes auto_update_check
  • ZEPH_AUTO_UPDATE_CHECK env override tested (true/false/invalid)
  • recv_optional handles closed channel without spinning

Closes #588

@github-actions github-actions bot added documentation Improvements or additions to documentation rust core dependencies enhancement New feature or request size/L labels Feb 19, 2026
@bug-ops bug-ops force-pushed the feat/588-update-check branch from a6d4623 to a48c32f Compare February 19, 2026 14:37
@github-actions github-actions bot added size/XL and removed size/L labels Feb 19, 2026
@bug-ops bug-ops force-pushed the feat/588-update-check branch from a48c32f to e8bc0ea Compare February 19, 2026 14:48
Add periodic update checking as a built-in scheduler task. Zeph queries
GitHub Releases API for the latest version and notifies the user when a
newer release is available.

- TaskKind::UpdateCheck variant with UpdateCheckHandler in zeph-scheduler
- Version comparison via semver crate against CARGO_PKG_VERSION
- auto_update_check config field (default: true) with ZEPH_AUTO_UPDATE_CHECK env override
- One-shot check at startup when scheduler feature is disabled
- Typed ReleaseInfo struct, HTTP status validation, response body limit
- recv_optional handles closed channel correctly (no spinning select arm)
- Init wizard updated with auto-update configuration step
Update mdbook guide, feature flags, getting started, and crate READMEs
to cover the new auto-update check feature including configuration,
environment overrides, and scheduler integration.
Add 8 HTTP mock tests covering: successful newer version notification,
same version skip, HTTP 404/429/500 error handling, malformed JSON,
missing tag_name, and oversized response body. Introduce with_base_url()
builder on UpdateCheckHandler for test configurability.
@bug-ops bug-ops force-pushed the feat/588-update-check branch from e8bc0ea to 527b927 Compare February 19, 2026 15:01
@bug-ops bug-ops merged commit 413ffe1 into main Feb 19, 2026
22 checks passed
@bug-ops bug-ops deleted the feat/588-update-check branch February 19, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core dependencies documentation Improvements or additions to documentation enhancement New feature or request rust size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: auto-update check via built-in scheduler task

1 participant