[GH-ISSUE #17] feat: Add runtime update mechanism for CLI updates without restart #10

Open
opened 2026-02-27 16:46:45 +03:00 by kerem · 0 comments
Owner

Originally created by @benzntech on GitHub (Nov 13, 2025).
Original GitHub issue: https://github.com/router-for-me/EasyCLI/issues/17

Problem

Currently, CLI updates are only checked when the application restarts. If EasyCLI is running continuously or as a background service, users may miss important updates or security patches until they manually restart the application.

Current Behavior

  • Update checks happen only on application startup
  • Long-running instances don't receive update notifications
  • Users must manually restart to get latest version

Proposed Solution

Implement a runtime update mechanism that:

  1. Allows the CLI tool to send update check requests to the running EasyCLI instance
  2. Checks for updates periodically while the application is running
  3. Uses secure HTTPS connections for update requests
  4. Provides safe update installation without disrupting active sessions

Acceptance Criteria

  • CLI can send update check requests to running EasyCLI instance
  • EasyCLI checks for updates at regular intervals (configurable)
  • All update checks and downloads use HTTPS
  • Safe update mechanism that doesn't break active connections
  • User notification when updates are available
  • Option to defer/schedule update installation
  • Graceful handling of update failures with rollback capability

Technical Considerations

  • Implement IPC (Inter-Process Communication) for CLI to communicate with running instance
  • Add update scheduler for periodic checks
  • Ensure all HTTP requests use TLS/HTTPS
  • Consider auto-update with user consent vs. manual update trigger
  • Handle edge cases: network failures, partial downloads, version conflicts

Security

  • Verify update signatures/checksums
  • Use HTTPS for all update-related communications
  • Implement rate limiting to prevent update check abuse
  • Validate update source authenticity

This enhancement improves the user experience for long-running instances and ensures timely security updates.

Originally created by @benzntech on GitHub (Nov 13, 2025). Original GitHub issue: https://github.com/router-for-me/EasyCLI/issues/17 ## Problem Currently, CLI updates are only checked when the application restarts. If EasyCLI is running continuously or as a background service, users may miss important updates or security patches until they manually restart the application. ## Current Behavior - Update checks happen only on application startup - Long-running instances don't receive update notifications - Users must manually restart to get latest version ## Proposed Solution Implement a runtime update mechanism that: 1. Allows the CLI tool to send update check requests to the running EasyCLI instance 2. Checks for updates periodically while the application is running 3. Uses secure HTTPS connections for update requests 4. Provides safe update installation without disrupting active sessions ## Acceptance Criteria - [ ] CLI can send update check requests to running EasyCLI instance - [ ] EasyCLI checks for updates at regular intervals (configurable) - [ ] All update checks and downloads use HTTPS - [ ] Safe update mechanism that doesn't break active connections - [ ] User notification when updates are available - [ ] Option to defer/schedule update installation - [ ] Graceful handling of update failures with rollback capability ## Technical Considerations - Implement IPC (Inter-Process Communication) for CLI to communicate with running instance - Add update scheduler for periodic checks - Ensure all HTTP requests use TLS/HTTPS - Consider auto-update with user consent vs. manual update trigger - Handle edge cases: network failures, partial downloads, version conflicts ## Security - Verify update signatures/checksums - Use HTTPS for all update-related communications - Implement rate limiting to prevent update check abuse - Validate update source authenticity ## Related This enhancement improves the user experience for long-running instances and ensures timely security updates.
Sign in to join this conversation.
No labels
bug
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/EasyCLI#10
No description provided.