- 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
- 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)
- 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 right-click context menu icon handling
- The program will no longer get all game icons on start, and instead will load them when the game is right clicked
- Added DLC icons to the right click menu
- DLC icons in the right click menu will now display the game's icon if an icon doesn't exist for it
- 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
- Minor refactoring
- Updated HtmlAgilityPack dependency
- Replaced node right click with a beefy context menu with ICONS :O
- Small improvements to selection node display
- Fixed selections sometimes being prematurely removed
- Enabled selections will now be saved and restored after installation
- 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
- 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