- Fixed all check box not getting automatically checked when unknown DLC were present
- Added a save & load feature for DLC selections
- Added a button to reset DLC selections to default
- Optimized koaloader proxy saving & loading
- Added a button to reset koaloader proxies to default
- Minor refactoring
- Improved the responsiveness and performance of the program
- Fixed the changelog tree view garbling when clicking update
- Dialog forms no longer clutter the taskbar
- Added a debug form (this is really just for me)
- Fixed rescan lag caused by keeping nodes
- Minor refactoring
- Koaloader proxy selection will no longer provide options for DLLs that already exist in the game's directories
- Installation will now error when a DLL that already exists is attempting to be installed as Koaloader
- Fixed selections not being re-enabled after an installation failure when hitting the Reselect button
- 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)
- 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
- 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
- Large code refactoring and optimizations
- The more essential SteamCMD directories (config and userdata) will no longer be cleaned up by the program, hopefully to speed up the first call
- Games can now also use SteamCMD as a fallback similar to DLC (previously both steam store AND steamCMD output was required for games, now it's either OR)
- Overhauled and made OnTreeViewNodeCheckedChanged method more stable
- Made node sub-text display more specific to only game and dlc ids
- Fixed program validating tree nodes based on the pre-Epic-support id system
- Overhauled Epic Games entitlement querying and parsing
- Added back ScreamAPI entitlement selection, with preparations to add catalog item selection