+ Fixed shell32.dll hook issue in Steam client that prevented games from restarting
+ Ansel is automatically disabled in games that are whitelisted (many of them should not be). Although I cannot reproduce any compatibility issues whatsoever with Ansel, this was the most economical approach to solving rampant reports of Ansel crashing games. -- If, like me, Ansel doesn't cause any compatibility problems on your system, you may re-enable it from the Help menu. + Memory performance data acquisition no longer uses WMI + Added a Compact Working Set button to the thread widget, to reduce memory overhead; >> The ideal use-case would be prior to switching applications to Chrome or other memory intensive applications. > I may add an option to automatically do this on alt-tab in future versions + Added in-game link to PCGamingWiki for any Steam game (see Help menu) + Added resolution scaling preferences in terms of screen % to custom ReShade + Added an optional background framerate limit that applies when running in the background + Changed name of [SK] Primary Render Thread to [GAME] ... to clear up misconceptions that it is a thread created, owned or managed by Special K. + Fixed incorrect HDR detection in some Unreal Engine 4 games + Fixed buffer overrun when fetching > 384 friend achievements + Fixed mouse cursor auto-hide feature not actually auto-hiding in most games + Fixed achievements not unlocking in A Plague Tale: Innocence and possibly other games + Fixed issue preventing EULA from showing on screen if an assertion popup was triggered first + Fixed unresponsive text input in Special K's console when (to-game) input blocking is enabled + Fixed incorrect API auto-detect in many games if run for the first time with no config file in v 0.10.1 + Fixed some games treating disabled keyboard input as though buttons were being held down constantly >> This problem only affects whether a game draws KB&M or Gamepad icons, actual gameplay is unaffected. > For future developer reference, if a game calls GetKeyState (...) and you wish to block it, the proper way to do this is to cast KF_UP to SHORT and then return it. + Refactored a ton of code to modern C++17, from what had been mostly C++ Duct Tape compliant code. >> This is an ongoing process, but the codebase needs all the new language features that I have been neglecting or it is going to collapse under its own unmanageable weight at some point.