- Consolidated and vastly improved the performance of the program's methods of gathering game executables and DLLs
- Koaloader's respective unlocker DLLs are now correctly deployed based on executable bitnesses instead of which API DLLs exist
- Executable bitness is now detected automatically per-directory (prioritizing 64-bit before 32-bit)
- Executables which or not 32-bit nor 64-bit are now omitted
- Saved pre-v4.1.0.0 proxy choices will be automatically converted to the new format ("Koaloader.version_64.version.dll" -> "version")
- Executable directories' determined bitness can be visualized with the context menu (or during installation)
- Koaloader installations are now automatically uninstalled from the incorrect directories
- Koaloader executable directories are now found more broadly, with common incorrect paths being omitted (ones that contain setups, redistributables or crash reporters)
- Fixed Paradox Launcher Repair reinstalling in proxy mode if a config file was found
- Improved tabbing in the selection forms
- Improved main select form "All" check box logic
- Swapped multiple main select form operations with their thread-safe alternatives (fixes game scanning lockups)
- Extra text in the selection forms are now highlighted the same as nodes and can be left/right clicked
- Fixed pre-scan dialog "Sort By Name" function
- Added the "Sort By Name" function to the main selection form
- Small rearrangements and resizes in the main selection form
- More minor refactoring
- Selections are now properly separated by platform, fixing potential future issues related to two games on different platforms having the same id
- Saved pre-scan choices now have to be saved in JSON, and thus will be reset
- Selection nodes now display their platform and are now also sorted by their platform
- Minor refactoring
- Paradox Launcher repair operation now ignores configs altogether instead of needing to cache and restore
- Paradox Launcher repair operation now shows which files are corrected when performed automatically during installation
- Uninstallation now also deletes the cache json file
- SmokeAPI and ScreamAPI configuration files will no longer be created (and will be deleted) when they're unnecessary (empty)
- Improved installation action log strings for clarification
- SmokeAPI's dlc_ids parameter is now properly utilized (should fix Arma 3 launcher issues)
- Overhauled the ScreamAPI config creation to utilize unlock_all and auto_inject with proper overrides
- Right-click context menu favicons are now grabbed via Google's favicons API
- Official program/game websites are now openable via the right-click context menu should the Steam Store provide one
- Minor visual fixes and refactoring
- While installing SmokeAPI to games, old CreamAPI configurations will now be deleted if they exist
- Paradox Launcher repair methods will now be able to fix old CreamAPI/SmokeAPI versions
- Fixed Paradox Launcher SmokeAPI repair exception
- Converted the program from using CreamAPI to SmokeAPI (it's recommended to uninstall CreamAPI with v3.4 of this program before updating, but not required)
- Removed RimWorld from excluded games (it should work fine with SmokeAPI)
- Attempted fix for SteamCMD string exception
- Attempted fix for weird ExceptionHandler behavior
- Fixed weird "Block Protected Games" checkbox sizing for other languages
- Minor refactoring
- Steam games now wait on store api queries, so no DLC will ever be missed from the steam store now
- Steam DLC store queries will now only be performed after ALL Steam games have completed their respective store queries, to make sure the steam store api limit isn't hit before all games have queried successfully
- Added more files to SteamCMD cleanup
- Added a save and load feature to the new pre-scan choices dialog
- Re-enabled ReadyToRun compilation
- Moved the program to 64-bit
- Added Notepad++ support, so the program opens query files with it if it exists
- Cancelling the pre-scan choices dialog now cancels scanning
- The pre-scan choices dialog now doesn't show at all if no installed games are found on the system
- Fixed the installation form cancel button
- Selection form now no longer scans at unnecessary locations (e.g. after installation form re-select)
- Large code refactoring
- Minor refactoring
- Querying cooldown is now written to and read from ProgramData so it can be persistent and hopefully steam's API limit is reached a little less often
- Increased steam game info querying cooldown to 600 seconds (10 minutes) and steam DLC info querying cooldown to 1200 seconds (20 minutes)
- Introduced a 600 second (10 minute) cooldown for Epic game queries using the same system above