Skip to content

Release v2.1.0

Choose a tag to compare

@Adib23704 Adib23704 released this 16 Dec 17:13
· 24 commits to master since this release
7068d1f

Added

  • Automatic update notifications - The app now proactively notifies users when a new version is available through multiple channels:
    • Tray menu indicator - "Update Available (vX.X.X)" menu item appears at the top of the tray menu when an update is detected
    • Windows toast notification - A system notification is displayed when a new update is first detected
    • Tray icon change - The tray icon changes to indicate an update is available
    • Tooltip update - The tray tooltip shows "Update Available" with the new version number
  • Background update checking - Updates are checked automatically on startup (after 3 second delay) and periodically every hour
  • New update.rs module for centralized update state management with proper version comparison

Fixed

  • App freezing after toggling switches - Fixed a critical deadlock caused by holding a read lock across async operations. The lock is now properly scoped and released before triggering menu updates.
  • Quit menu option not working - Fixed incorrect memory ordering (Relaxed -> Release/Acquire) that prevented the shutdown flag from being visible across threads. Added a brief delay before exit to allow async tasks to terminate gracefully.
  • Context menu closing during auto-refresh - Added interaction tracking that skips auto-refresh for 2 seconds after any menu interaction, preventing the menu from disappearing while in use.
  • Race conditions during concurrent menu updates - Added a MenuUpdateLock mutex to serialize menu updates. Auto-refresh now uses a 100ms timeout to acquire the lock and skips if another update is in progress.
  • Hanging refresh operations - Added a 15-second timeout to the auto-refresh operation to prevent slow network requests from blocking the refresh loop indefinitely.

Changed

  • Auto-refresh interval increased from 5s to 10s - Reduces contention and network traffic while still providing timely device status updates.

Installation

Download the .msi or .exe installer and run it. The application will start minimized in the system tray.