Releases: King4s/OptiScaler-GUI
Releases · King4s/OptiScaler-GUI
OptiScaler-GUI v0.3.6 - Speed & Beauty Update
Changelog
[Unreleased]
v0.3.6 - 2025-11-14
Improvements
- UI performance: background image loading, reduce main-thread work, batch widget updates.
- Library discovery: PowerShell support, pure-Python fallback, path normalization, TTL caching, Dedup.
- UX: Rescan, Clear discovery cache moved to Settings, small debug indicator, Log back navigation.
- Stability: fixed Tk redraw race conditions and scheduled safer widget destruction.
Fixes
- Avoid segmented drawing on the main window by moving image processing off the main thread.
- Fixed syntax error in LibraryRootsFrame import callback.
- Avoid auto rescans when returning from Settings; initial startup forces a rescan.
🔄 OptiScaler v0.7.9 Compatibility Update
Compatibility
- Expanded Support: Updated to support OptiScaler v0.7.0 - v0.7.9 (previously v0.7.0 - v0.7.7-pre9)
- FSR 4.0.2 Support: Ready for FidelityFX SDK 2.0.0 and FSR 4.0.2/3.1.5 files
- Game Quirks: Aligned with latest OptiScaler game-specific workarounds
Important v0.7.9 Changes
- DLSS Inputs Behavior: No longer creates
nvngx.dllwhen user selects "Yes" to DLSS Inputs (AMD/Intel)- Only modifies
Dxgi=falsewhen user selects "No" - Reduces installation complexity and redundant files
- Only modifies
- Configuration Updated: Default config reflects latest OptiScaler structure
🔎 Library Discovery & Scanning Improvements
- PowerShell Game Library Detection (Windows): Optional PowerShell-based PoC for enumerating launchers and library roots (used by default when available/enabled).
- Pure-Python Fallback: Registry-based fallback (Uninstall keys), WinRT Appx enumeration, psutil/drive heuristics, and VDF support for robust discovery when PowerShell isn't available.
- Steam
libraryfolders.vdfparsing: Try vdf.loads, then JSON parse, with a KV fallback parser to handle old Valve KeyValue format. - Path normalization & deduplication: Normalizes paths for case-insensitive deduplication while preserving original path casing in outputs.
- Caching (TTL): Discovery results cached - configurable TTL under
library_discovery_cache_ttl(default 86400s = 24 hours). - UI Updates: 'Rescan' and 'Clear discovery cache' buttons added; summary displays 'Scanned X libraries' with breakdown and last-scan time.
- Safety & Exclusions: Drive exclusion config and shallow scans for registry/Appx enumerations to avoid unsafe deep scans.
Files
- Updated
README.md: Version compatibility table now includes v0.7.9 - Updated
.github/copilot-instructions.md: Added v0.7.9 compatibility notes - Enhanced
OptiScalerManager: Added v0.7.9+ file support and documentation
0.3.5 - 2025-07-30
🎯 Ultra-Compact Release - 66% Size Reduction
Size Optimization
- Dramatic Size Reduction: From 143 MB down to 48 MB (66% smaller!)
- Dependency Optimization: Removed heavy libraries (NumPy, SciPy, OpenBLAS)
- Minimal Environment: Created ultra-lean build environment with only essential packages
- Cache Exclusion: Prevented bundling of unnecessary cache files in portable build
Technical Improvements
- Aggressive Excludes: Removed 36+ MB OpenBLAS library and related dependencies
- Essential-Only Build: CustomTkinter, Requests, Pillow, CTkMessagebox, VDF, psutil
- Smart PyInstaller Config: Enhanced build_executable.spec with optimized excludes
- Minimal Python Runtime: Streamlined Python 3.12 environment
User Experience
- Faster Downloads: 66% smaller portable package
- Reduced Storage: Less disk space required
- Same Functionality: All features preserved while dramatically reducing size
- Improved Distribution: Easier to share and deploy
Technical Details
- Built with minimal conda environment (optiscaler-minimal)
- Removed mathematical libraries not needed for GUI operations
- Optimized PyInstaller configuration for size-critical deployment
- Maintained full compatibility with all OptiScaler versions (v0.7.0 - v0.7.7-pre9)
0.2.0 - 2025-07-25
Added
- Debug Control System: Toggle debug output via checkbox in header bar
- Internationalization (i18n): Complete support for English, Danish, and Polish
- Progress Bar System: Real-time progress indicators in footer for downloads/installations
- Enhanced UI Structure: Header with version info, language selector, and debug toggle
- Uninstall Functionality: Complete OptiScaler removal with smart detection
- Standalone App Support: PyInstaller build system with
build.pyandbuild.bat - Smart Installation Detection: Dynamic install/uninstall buttons based on status
- Enhanced Settings Editor: Better layout with descriptions and proper navigation
Fixed
- Back Button Navigation: Fixed blank window issue when returning from settings
- Debug Output Control: Debug messages now properly controlled via UI toggle
- Settings Editor Layout: Improved organization with frames and descriptions
- Game List Refresh: UI updates properly after install/uninstall operations
Technical Improvements
- Modular Architecture: Clean separation with
utils/for cross-cutting concerns - Debug System: Monkey-patched print function with UI control
- Translation System: Easy to extend with new languages
- Error Handling: Comprehensive error dialogs and user feedback
- Path Management: Better handling for both script and executable modes
0.1.0 - 2025-07-24
Added
- Initial project setup with modular folder structure.
- Game scanning for Steam, Epic Games, GOG, and Xbox (common paths).
- Basic GUI to display discovered games.
- OptiScaler installation functionality (downloads and extracts latest release).
- INI file editor with comment parsing and dynamic widget rendering based on setting types (boolean, options, string, int, float).
v0.3.5: Ultra-Compact Portable - 66% Size Reduction
🎯 Ultra-Compact Release - 66% Size Reduction
Size Optimization
- Dramatic Size Reduction: From 143 MB down to 48 MB (66% smaller!)
- Dependency Optimization: Removed heavy libraries (NumPy, SciPy, OpenBLAS)
- Minimal Environment: Created ultra-lean build environment with only essential packages
- Cache Exclusion: Prevented bundling of unnecessary cache files in portable build
Technical Improvements
- Aggressive Excludes: Removed 36+ MB OpenBLAS library and related dependencies
- Essential-Only Build: CustomTkinter, Requests, Pillow, CTkMessagebox, VDF, psutil
- Smart PyInstaller Config: Enhanced build_executable.spec with optimized excludes
- Minimal Python Runtime: Streamlined Python 3.12 environment
User Experience
- Faster Downloads: 66% smaller portable package
- Reduced Storage: Less disk space required
- Same Functionality: All features preserved while dramatically reducing size
- Improved Distribution: Easier to share and deploy
Technical Details
- Built with minimal conda environment (optiscaler-minimal)
- Removed mathematical libraries not needed for GUI operations
- Optimized PyInstaller configuration for size-critical deployment
- Maintained full compatibility with all OptiScaler versions (v0.7.0 - v0.7.7-pre9)
OptiScaler-GUI v0.3.0 - Early Development Release with Portable Support
🧪 Early Development Release v0.3.0
New Features in v0.3.0
Experimental Portable Version
- PyInstaller Support: First version with portable functionality
- Bundled Dependencies: All necessary libraries included
- Bundled 7z.exe: Complete archive extraction support (~0.54MB)
- Multi-language Support: Danish, English, Polish
Enhanced OptiScaler Detection
- Unreal Engine Support: Detects OptiScaler in Engine/Binaries/Win64
- Improved Game Scanner: More robust detection methods
- Real-time UI Updates: Interface updates after installation/uninstallation
Advanced Archive Extraction
- Multi-Method Fallback: System 7z Bundled 7z py7zr zipfile
- Complete Compatibility: Handles all OptiScaler archive formats
- Enhanced Error Handling: Detailed feedback and recovery options
How to Use the Portable Version
- Download: Get OptiScaler-GUI-v0.3.0-Portable.zip
- Extract: Unzip the entire folder to your desired location
- Run: Double-click OptiScaler-GUI.exe inside the extracted folder
Testing Warnings:
- This is an early development version (0.3.0)
- Not tested on other systems yet
- Use at your own risk
- Please report bugs on GitHub
Technical Details
- Size: ~136.7 MB (portable ZIP)
- Platform: Windows Only
- Dependencies: All included (Python runtime, libraries, 7z.exe)
- Languages: Danish, English, Polish
** Thanks for testing OptiScaler-GUI v0.3.0!**
Please report bugs and feedback on the GitHub repository.
OptiScaler GUI v0.2.0 - Robust Architecture
🚀 First Official Release - Robust Architecture
✨ Key Features:
• Multi-tier archive extraction (7z → py7zr → zipfile fallback)
• Automatic system requirements validation
• Cross-platform compatibility
• User-friendly error messages
• Professional GUI interface
🎯 Works for ALL users regardless of system configuration!
Ready to make OptiScaler accessible to everyone! 🎮