Update System & Professional Startup
This release transforms KeyForge into a self-sustaining application with the introduction of an Automatic Update System, a polished Splash Screen experience, and a professional-grade Logging Infrastructure.
New Features
- Auto-Update System: KeyForge now intelligently checks for new releases via the GitHub API. It utilizes semantic versioning (via
packaging) to accurately notify you when a new update is available and directs you to the download page. - Dynamic Splash Screen: A new, theme-aware startup screen provides visual feedback while the application initializes. It adapts automatically to your selected theme (Light/Dark) and displays real-time loading progress (Scanning system, Loading rules, etc.).
- Robust Application Restart: Changing languages or themes now triggers a "hard restart" (process re-execution). This ensures a completely clean state for the new settings, eliminating potential memory glitches or UI artifacts.
Technical & Core Improvements
-
Professional Logging System: A new
KeyForgeLoggersingleton has been implemented.-
Rotating Logs: Automatically manages log files (max 5MB, keeps last 3 files) to prevent disk clutter.
-
Console Output: Color-coded console logs for easier debugging during development.
-
Error Analysis: Captures critical errors and stack traces in
AppData/Local/KeyForge/logs(Windows) or equivalent paths on Linux/Mac.
-
-
Startup Optimization: The initialization logic in
main_window.pyhas been decoupled. Heavy tasks (like scanning windows and loading rules) are now threaded effectively behind the Splash Screen, preventing the "application not responding" ghosting effect during launch.
Dependency Updates
- Added
requests>=2.31.0(For API communication). - Added
packaging>=23.0(For version comparison). - Updated
pywin32requirement.