Skip to content

Releases: elJulioDev/KeyForge

v1.4.0

03 Jan 15:37

Choose a tag to compare

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 KeyForgeLogger singleton 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.py has 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 pywin32 requirement.

v1.3.3

02 Jan 15:54

Choose a tag to compare

Performance Boost & Visual Consistency

This release focuses on refining the user experience by synchronizing themes across all window modes and significantly optimizing the application's startup process for better efficiency.

Visual Enhancements

  • Themed Minimized Mode: The floating widget now fully inherits the active theme's color palette. It dynamically adapts its background and accent colors to match the selected theme, ensuring visual consistency whether the app is open or minimized.
  • Cleaner Interface: Removed decorative emojis from various UI text elements to provide a more polished, professional, and readable interface throughout the dashboard.

Technical Details

  • Startup Optimization: Refactored the initialization logic for global constants and the AppMonitor module. This streamlines the boot process, resulting in a faster and more efficient application launch.

v1.3.2

01 Jan 03:34

Choose a tag to compare

Accessibility & Personalization Hub

This release introduces a dedicated configuration center for accessibility, allowing users to seamlessly customize their experience with language and theme preferences, supported by intelligent application handling.

New Features

  • Accessibility Tab: A new dedicated tab has been added to the main interface (Accessibility), providing a centralized location to manage application preferences.
  • Theme & Language Selector: Users can now switch between available languages and visual themes directly from the GUI without editing configuration files manually.
  • Auto-Restart System: Implemented an automated restart logic that triggers immediately after applying new settings. This ensures that language strings and theme resources are reloaded correctly across the entire application without requiring a manual restart.

UI/UX Improvements

  • Immediate Feedback: The application now handles the state transition gracefully when settings are changed, closing the current instance and launching a fresh one with the updated configuration.
  • Simplified Navigation: The settings have been decoupled from the main logic, making the interface cleaner and more intuitive for first-time users.

Technical Details

  • New Module: Introduced src/gui/accessibility_settings.py to handle the rendering and logic of the new settings interface.
  • Config Management: Updated the configuration loader to write changes to config.json synchronously before triggering the restart process.

v1.3.1

31 Dec 14:12

Choose a tag to compare

Interactive Widget & Visual Feedback

This release focuses on enhancing the usability of the minimized mode, allowing for faster control without interrupting your workflow, along with essential library updates.

New Features

  • Quick Toggle (Right-Click): The floating widget now supports a right-click action to instantly Activate or Stop the script. You no longer need to restore the main window to toggle remapping rules.
  • Real-Time Visual Feedback: The minimized icon now dynamically updates its color (Neon Green for Active, Grey for Stopped) immediately when the state changes, regardless of whether it was triggered via the widget, global hotkeys, or the main interface.

Maintenance

  • Dependency Update: Upgraded ttkbootstrap to version 1.19.0+ to ensure compatibility with the latest visual rendering improvements and fix potential display issues.
  • Code Optimization: Refactored the state synchronization logic between the main window and the minimized widget to ensure visual consistency without unnecessary redraws.

v1.3.0

19 Nov 01:07

Choose a tag to compare

New Features and Core Updates

This major release completely overhauls the core architecture to support multiple simultaneous rules and introduces a modern, tabbed interface.

Multi-Rule Engine

  • Unlimited Remapping: The core logic has been rewritten to support a list of simultaneous rules. You can now map multiple keys at the same time (e.g., QTab and AltShift) without conflict.
  • Rules Manager: A new dedicated interface allows for easy management (Add, Edit, Delete) of your remapping rules via a clean table view.

Performance & Stability

  • Zero-Latency Monitoring: Replaced the old polling mechanism with a native WinEventHook. The application now consumes 0% CPU while idle and reacts instantly to window focus changes.
  • Recursion Protection: Implemented a safety algorithm (Graph DFS) that detects circular dependencies (e.g., A→B and B→A) and prevents the script from locking up the keyboard.

UI/UX Improvements

  • Tabbed Interface: The main window has been reorganized into a tabbed structure (Dashboard & Rules), improving organization and saving screen space.
  • Dynamic Sizing: Windows now automatically calculate and adjust their size based on content and language, ensuring text is never cut off.
  • Smart Floating Widget: The minimized overlay now features a live status indicator (Green/Grey) and automatically centers itself on the screen.

v1.2.1

18 Nov 19:59

Choose a tag to compare

Technical Changes and Improvements

This version focuses on system stability, thread safety, and proper file management during application compilation.

Bug Fixes

  • Thread Safety in Tkinter: A critical issue where keyboard callbacks attempted to update the graphical interface from a secondary thread has been resolved. .after() is now used to safely dispatch updates to the main thread, preventing unexpected crashes.

  • Path Detection (PyInstaller): The logic in constants.py has been rewritten to correctly detect whether the application is running from source code or as a frozen executable (sys.frozen).

  • Configuration files are now persistently saved in AppData (Windows) or .config (Linux) instead of temporary folders.

Robustness

  • Permission Handling: Robust try-except blocks have been added when keyboard.hook is initialized. The application now correctly handles the lack of administrator/root permissions instead of abruptly closing and reporting the error to the console.

v1.2.0

17 Nov 18:53

Choose a tag to compare

New Features:

  • Modular architecture with separated concerns
  • Centralized version management
  • Improved code maintainability

Improvements:

  • Code split into ~1200 lines across 14 files
  • Better separation of business logic and UI
  • Enhanced code readability and testability

Structure:

  • src/config/: Configuration management
  • src/core/: Business logic (keyboard and app monitoring)
  • src/gui/: User interface components
  • src/utils/: Helper utilities

Compatibility:

  • Maintains all original functionality
  • Same user interface and behavior
  • Backward compatible with existing config files

v1.1.3

16 Nov 16:16

Choose a tag to compare

Add translation support for common keys window

  • Internationalized show_common_keys() function
  • Added new translation keys to lang.json (es/en)
  • All window content now uses centralized translation system

v1.1.2

15 Nov 17:03

Choose a tag to compare

New Features

  • Added multi-language support (Spanish/English) with data/lang.json
  • The application dynamically loads all interface text based on the lang value in

v1.1.1

15 Nov 16:07

Choose a tag to compare

KeyForge v1.1.1 - UI Overhaul

New Features

  • Borderless Window Design: Custom window without system title bar for a modern, professional look
  • Draggable Window: Click and drag the header to move the window anywhere on screen
  • Optimized Layout: Window dimensions adjusted to 750x850px for perfect screen fit

Bug Fixes

  • Fixed common keys window appearing behind main window
  • Proper modal window behavior with transient() and grab_set()

Technical Details

  • Added start_window_drag() and drag_window() functions for window movement
  • Implemented overrideredirect(True) for borderless design
  • Modified show_common_keys() with proper window stacking attributes
  • Updated header frame to support drag functionality