- Added an "Open AppInfo" button to the right click context menu
- Fixed an issue where the string "ERROR! Failed to install app '4' (Invalid platform)" was sometimes somewhere in the middle of AppInfo files, unfortunately meaning I have to bump the minimum appinfo version again
- By fixing the above issue, I also fixed certain random DLCs from being excluded
- Improved SteamCMD cleanup process
- Improved SteamCMD appinfo caching, upping the minimum appinfo version to facilitate changes
- Implemented SteamCMD process limit of 20, resulting in less CPU usage with faster and more stable appinfo gathering
- Added extra labels to the selection form progress section that display remaining games and DLCs, replacing the "(#/#)" text
- Fixed a harmless control invoke exception that happens when the program is closed
- Fixed a harmless bug with duplicates being included in the games to be gathered
- Minor refactoring
- Moved from VDF dynamic parsing to the more reliable method introduced in v2.2.4.1
- Fixed a bug where selections were validating prematurely
- Optimized the number of SteamCMD instances that would open for appinfo gathering processes
- Optimized the install form update delays so they're now way faster and still don't glitch the log
- Added a 10ms delay to DLC iterations to reduce control & window freezing
- Select form cancelling now runs on the proper thread to reduce cancellation delay
- Massive refactoring and asynchronous fixes
- Disabled file operations from displaying in the install info label, and they now only display in the log
- Disabled selection validation, as previous issues warranting it have since been fixed
- Converted multiple methods to asynchronous to improve performance
- Added a minimal delay to the install form updates to keep the log from glitching
- Added double buffering to all controls to reduce flickering
- Fixed the cancel button not fully cancelling SteamCMD processes
- Internalized all possible classes, methods, accessors and fields
- Fixed exception handling for OnLoad method in selection form
- Made program selection validation more stable
- Reimplemented program selection caching with Usable boolean
- Fixed errors related to the treeNodes list by converting it into a method that gathers all nodes
- Added a "Block Protected Games" button, removing the old static anti-cheat directory detection
- Small aesthetic improvements to the selection form
- Transitioned from obsolete WebClient to HttpClient for SteamCMD downloading