Summary
This release brings significant new features including Thermalright LCD panel support, a plugin marketplace browser, account/Discord sign-in, an in-app log viewer, and global hotkey management for USB panels. Existing users will also notice improvements to Turing panel reliability, high-DPI hit-testing, changelog display, and a new per-sensor thousands separator option.
✨ New Features
- Thermalright Panel Support — Added support for Thermalright LCD devices across multiple VID/PIDs with SCSI protocol, runtime resolution detection, and up to 30 FPS.
- Plugin Marketplace Browser — Browse, install, uninstall, and rate plugins directly from within the app without restarting.
- Account & Discord Sign-In — New Account page with Discord OAuth login, encrypted token storage, and session management.
- Log Viewer Page — Access the current session's log file from the sidebar or system tray, with a Copy to Clipboard button for easy sharing.
- Global Hotkeys for USB Panels — Manage hotkey bindings per device (Beada, Thermalright, and others) with duplicate detection, modifier enforcement, and registration failure notifications.
- Thousands Separator Toggle — Per-sensor option to format numeric values with comma grouping (e.g. "1,234").
- Toast Notifications for Updates — Windows toast notification alerts when a new update is available, with direct navigation to the Updates page.
- Plugin Slugs via .hub File — Plugin identity is now stable across folder name changes using a persistent slug.
- YouTube Live Stream & Windows 11 Now Playing Plugins — Two new plugins added to the plugin registry.
🚀 Improvements
- Turing Panel Reliability — Serial devices are now woken before initialization, startup delay increased, and USB sync/draw failures are handled gracefully.
- Turing Panel USB Rendering — Switched to JPEG rendering with configurable quality and a target frame rate slider per device.
- Advanced Per-Device Popup — Brightness, FPS, JPEG quality, flicker fix, and display mask settings are now accessible via a compact Advanced popup per USB panel.
- High-DPI Hit-Testing — Mouse positions are now DPI-aware, fixing selection and drag behavior on high-DPI displays.
- Changelog Display — Changelogs are now rendered as formatted inline text with section headers and bold text; summaries are shown collapsed with expandable details.
- Plugin Browser Loads on Login — The plugin browser automatically loads content when you sign in.
- Hotkey Editing Preserved — Editing a hotkey now keeps the original binding until saved, preventing accidental loss on navigation.
- Logs Page Auto-Scroll & Layout — Logs automatically scroll to the latest entry and the page layout was tidied with improved button placement.
- Async App Startup — Host and engine initialization no longer block the UI thread during startup.
- Download Progress Display — Update downloads now show human-readable progress status and a progress bar.
🐛 Bug Fixes
- SCSI CDB Protocol — Fixed 20-byte CDB handling with CRC32 and corrected sense info offset for Thermalright panels.
- Plugin Install/Upgrade — Running plugins are now stopped before extracting a ZIP update to avoid DLL lock errors.
- Hotkey Duplicate Detection — Adding a hotkey with an already-registered key combo now shows an error instead of silently registering a duplicate.
🔧 Internal
- Log Level Tuning — Reduced logging noise by demoting several verbose and non-fatal messages to appropriate lower levels.
- VersionHelper & MinVer — Centralized app version resolution using MinVer and a shared helper, replacing scattered reflection calls.
- FlyleafLib Bundled as DLL — FlyleafLib is now embedded as a local DLL reference instead of a NuGet package.
- SKImage Conversion — Replaced
System.Drawing-based conversion with a WPFBitmapSource-based flow for SKImage creation.