Skip to content

Conversation

@Tim020
Copy link
Contributor

@Tim020 Tim020 commented Jan 26, 2026

Summary

  • Adds server-side version checking that queries GitHub Releases API to determine if a newer version is available
  • Displays version status in System Config → System tab with color-coded badge
  • Checks automatically on startup and every hour, with manual "Check Now" button

Changes

Backend:

  • New VersionChecker service class (server/utils/version_checker.py)
  • New API endpoints (server/controllers/api/version.py):
    • GET /api/v1/version/status - Returns cached version status
    • POST /api/v1/version/check - Triggers manual check (admin only)
  • Integration in app_server.py for service lifecycle

Frontend:

  • Updated ConfigSystem.vue with version row showing:
    • Current version number
    • Status badge (green=up to date, yellow=update available, red=error)
    • Link to release notes when update available
    • "Check Now" button

Bug fixes:

  • Added from __future__ import annotations to fix circular import issues in settings.py and base_controller.py

Documentation:

  • Updated docs/pages/user_config.md with version checker documentation

Test plan

  • Server starts without errors
  • Version status displays correctly in System Config → System tab
  • "Check Now" button triggers manual check
  • Status badge shows correct color based on version status
  • Release notes link appears when update is available

Closes #878

🤖 Generated with Claude Code

Adds functionality for the server to check whether it is running the
latest version of DigiScript, displayed in System Config -> System tab.

Backend:
- New VersionChecker service that queries GitHub Releases API
- Checks on startup and periodically (every hour)
- Caches results for fast API responses
- New /api/v1/version/status and /api/v1/version/check endpoints

Frontend:
- Version row in System Config showing current version with status badge
- Green "Up to date", yellow "Update Available", red "Unable to check"
- "Check Now" button for manual refresh
- Link to release notes when update is available

Also fixes circular import issues by adding `from __future__ import
annotations` to settings.py and base_controller.py.

Closes #878

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@Tim020 Tim020 added the claude Issues created by Claude label Jan 26, 2026
@github-actions github-actions bot added documentation Improvements or additions to documentation client Pull requests changing front end code server Pull requests changing back end code medium-diff labels Jan 26, 2026
@github-actions
Copy link

github-actions bot commented Jan 26, 2026

Client Test Results

83 tests   83 ✅  0s ⏱️
 3 suites   0 💤
 1 files     0 ❌

Results for commit 52c24b0.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jan 26, 2026

Python Test Results

  1 files    1 suites   38s ⏱️
313 tests 313 ✅ 0 💤 0 ❌
318 runs  318 ✅ 0 💤 0 ❌

Results for commit 52c24b0.

♻️ This comment has been updated with latest results.

@Tim020 Tim020 linked an issue Jan 27, 2026 that may be closed by this pull request
@Tim020 Tim020 enabled auto-merge (squash) January 27, 2026 00:01
@sonarqubecloud
Copy link

@Tim020 Tim020 merged commit b6be4b8 into dev Jan 27, 2026
25 checks passed
@Tim020 Tim020 deleted the feature/server-version-checker branch January 27, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude Issues created by Claude client Pull requests changing front end code documentation Improvements or additions to documentation medium-diff server Pull requests changing back end code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Server side version checker

2 participants