You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add centralized version display and update notifications (#201)
* feat: add centralized version display and update notifications
Implement a unified update checking system that displays version information
and update notifications across all MCPProxy interfaces:
Core Changes:
- Add internal/updatecheck package with background GitHub release checker
- Integrate update checker with runtime startup (4-hour check interval)
- Extend /api/v1/info endpoint with update field containing version info
- Add InfoResponse and UpdateInfo types to contracts
Tray Application:
- Remove "Check for Updates..." menu item
- Add hidden update menu that appears only when update is available
- Poll /api/v1/info endpoint to detect updates from core
- Show "New version available (vX.Y.Z)" with click to open releases page
- Special handling for Homebrew installations
Web Control Panel:
- Display version in sidebar footer
- Show "update available" badge when new version detected
- Add fetchInfo() to system store for version retrieval
CLI Doctor Command:
- Show version with update status in health check output
- Display "Version: vX.Y.Z (latest)" or "(update available: vX.Y.Z)"
- Include download URL when update is available
Documentation:
- Add docs/features/version-updates.md with comprehensive guide
- Update docs/api/rest-api.md with /api/v1/info response details
- Regenerate OpenAPI spec with InfoResponse and UpdateInfo schemas
Tests:
- Add unit tests for /api/v1/info endpoint version fields
- Add E2E test for version in /api/v1/info response
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: update doctor_cmd_test.go for new outputDiagnostics signature
Update all outputDiagnostics test calls to pass second info parameter.
Also update JSON test to check for nested diagnostics structure.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: add version-updates to website sidebar navigation
Add version-updates page to Features section in sidebar. The page content
is already in docs/features/version-updates.md and will be synced by
prepare-docs.sh during build.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
|`web_ui_url`| string | URL to access the web control panel |
222
+
|`listen_addr`| string | Server listen address |
223
+
|`endpoints.http`| string | HTTP API endpoint address |
224
+
|`endpoints.socket`| string | Unix socket path (empty if disabled) |
225
+
|`update`| object | Update information (may be null if not checked yet) |
226
+
|`update.available`| boolean | Whether a newer version is available |
227
+
|`update.latest_version`| string | Latest version available on GitHub |
228
+
|`update.release_url`| string | URL to the GitHub release page |
229
+
|`update.checked_at`| string | ISO 8601 timestamp of last update check |
230
+
|`update.is_prerelease`| boolean | Whether the latest version is a prerelease |
231
+
|`update.check_error`| string | Error message if update check failed |
232
+
233
+
:::tip Update Checking
234
+
MCPProxy automatically checks for updates every 4 hours. The update information is exposed via this endpoint and used by the tray application and web UI to show update notifications.
0 commit comments