Releases: ramensoftware/windhawk
Releases · ramensoftware/windhawk
v1.5.1
v1.5
- Mods that use debug symbols now try the Windhawk cache server first. As a result, downloading the actual symbol files is skipped most of the time.
- Improved simultaneous symbol file downloading by multiple processes. If a symbol file is being downloaded, new processes wait for the download to complete instead of initiating a new download of the same symbol file.
- Removed
conhost.exe
,dllhost.exe
andruntimebroker.exe
from the list of critical system processes. - Changed
%ProgramFiles%
in exclude/include paths to always refer to the native (not 32-bit) Program Files folder. - Added Dutch, Swedish translations.
- Fixed compatibility with some Microsoft Office versions, and reduced the chance of similar incompatibilities in the future.
- Fixed the "Can not delete in empty document" error that could prevent Windhawk from loading on first launch.
- Fixed a UAC dialog showing up on system startup in rare cases.
- Fixed debug log not showing logs from packaged apps.
- Fixed a privilege escalation vulnerability, reported by diversenok.
- Other minor bug fixes and optimizations.
For developers
- The compiler was updated from Clang 15.0.0 to Clang 18.1.8.
- The Windows Implementation Library (WIL) is now included and can be used by mods. The
-fms-extensions
compiler option is required to use the library. - Renamed
WindhawkUtils::Wh_SetFunctionHookT
toWindhawkUtils::SetFunctionHook
. The old name is still available for backwards compatibility. - Mods are now compiled for Windows 10 20H1 (instead of Windows 7), meaning that newer APIs are available without having to manually load them with
LoadLibrary
andGetProcAddress
. - Added the
Wh_GetUrlContent
,Wh_FreeUrlContent
andWh_DeleteValue
APIs. - As a result of the API and compiler changes, several mods require minor adjustments before they can be compiled with the new Windhawk version. When installed from the repository, the mods are compiled in a compatibility mode, and all existing mods can be installed.
v1.4.1
- Portable version: Fixed some helper apps crashing on startup, which broke functionality such as the start menu search.
- Portable version: The installer now grants permissive access rights to the engine folder, which are required for some mods.
- Standard version: Fixed schedule tasks being incorrectly enabled on update.
- Fixed update notifications showing up when update checking is disabled.
- Fixed the installer mistakenly showing the "Setup is already running" error message in some cases.
- Windhawk no longer tries to use git outside of editing mode.
- Mod development: Restored the default constructor of
WindhawkUtils::SYMBOL_HOOK
. - Mod development: Fixed a compilation error when calling
Wh_FindFirstSymbol
withNULL
as the second parameter.
v1.4
For users
- After almost two years since the first release, Windhawk is no longer beta.
- The Windhawk installer now comes in two variants, an online installer and an offline installer. The new online installer is much smaller (around 10 MB instead of around 120 MB), and it downloads the required dependencies only when needed.
- Added an advanced option to control when mods are loaded for critical system processes.
- Added an advanced mod option to ignore the original mod inclusion/exclusion lists.
- Reduced Windhawk network activity (discussion #91).
- Mod tasks in progress popup no longer stays open for suspended processes (issue #102).
- Added Brazilian Portuguese, Korean, Polish, Romanian, Russian, Ukrainian translations.
- Updated existing translations.
For developers
- Changed
Wh_GetBinaryValue
,Wh_SetBinaryValue
API signatures. - Updated the
Wh_FindFirstSymbol
API to allow enumerating only decorated symbols for better performance. - Added
Wh_SetFunctionHookT
towindhawk_utils.h
(issue #85). - Added
StringSetting
towindhawk_utils.h
, a RAII wrapper for string settings. - Added support for quotes in
@compilerOptions
. - The underscore symbol is now allowed in mod settings identifiers.
- Added
windows.ui.xaml.hosting.desktopwindowxamlsource.h
,xamlom.h
to the Windhawk compiler.
Bug fixes
- Fixed symbol loading for 32-bit processes.
- Fixed forking a local mod.
- Fixed incorrect folder permissions for installations outside of the Program Files folder. This could cause several mods to fail to load.
- Fixed compatibility with SentinelOne Antivirus (issue #79).
v1.3.1
v1.3
- Added the toolkit dialog and safe mode to help handle system instability.
- Added context menus for input fields to cut, copy, paste, and select all text.
- Mod development: Added a callback to allow mods to be reloaded or unloaded on settings changes.
- Mod development: Uncompiled code changes are now saved when you exit editing mode, allowing you to get back to editing the same code later.
- Fixed usage of negative numbers in mod settings.
- Added Japanese, Turkish translations.
v1.2
- Improved system processes exclusion. Notably, Store apps are no longer excluded.
- Improved compatibility with specific programs that could crash on startup.
- Added the
WH_MOD_ID
,WH_MOD_VERSION
definitions for mods. - Added the
Wh_Disasm
API for instruction disassembly. - If git is installed, mod code changes are now shown in editing mode.
- Fixed mod advanced options overridden on mod updates.
- Added Chinese (Simplified), Chinese (Traditional), French, German, Italian translations.
v1.1
- Windhawk can now be translated to other languages. To contribute a translation, please refer to the windhawk-translate repository.
- To improve stability, Windhawk no longer injects code into critical system processes by default. This can be configured in the advanced settings.
- Added support for environment variables in include/exclude process paths.
- Added an indication in the tray icon when a new Windhawk version is available.
- Added the "light threads" injection method to the advanced settings, which might fix compatibility with some programs.
- Fixed some settings (update checking, require UAC) sometimes resetting after an update.
- Fixed launching the Windhawk UI for non-administrator users.
- Fixed Windhawk portable failing to launch on Windows versions older than Windows 10.
- Fixed Windhawk UI stuck with a blank screen on startup in some Windows environments.
- Fixed Windhawk UI sometimes opening for all logged in users instead of just the user running it.
v1.0
For users
- Added a changelog tab for mods.
- Added an "Advanced" tab for mods with debug logging functionality, easy settings exporting, and options to override the mod's target processes.
- Added advanced settings with an option to hide the tray icon, an option to exclude processes from Windhawk, and several other options.
- Added the mod initialization dialog, which shows information about mods which take a long time to initialize. A common reason for that is symbol downloading, in which case the download progress is shown.
- Added the Loaded Mods dialog which can be accessed from the tray icon's right click menu.
- Added an exit option without UAC in case something goes wrong, can be used by holding Shift and right clicking on the tray icon.
- Running the Windhawk UI no longer requires UAC.
For developers
- Updated to VSCodium 1.74.2 and LLVM MinGW 15.0.0.
- The compiler now uses C++20 and includes WinRT headers.
- Added mod preview to the editing mode.
- Better syntax highlighting for special Windhawk comment blocks (readme, settings) in the code editor.
- Updated the new mod template, inspired by Kyle Halladay's X64 Function Hooking by Example guide.
- Extended the function hooking API, now hooks can be created and removed at any time.
- Added decorated symbols to the symbols enumeration API.
- Improved editor indentation and formatting rules.
Bug fixes
- Removed the confusing suggestion to download a language pack for non-English Windows versions. Windhawk still doesn't have proper support for localization.
- Improved compatibility with Firefox.
- Fixed an incorrect update notification after updating to the latest version.
- Fixed an incorrect memory free which caused tools such as Application Verifier to show a warning. The bug was harmless in practice aside from the warning with development tools.
- Fixed unnecessary mod reloading if FALSE is returned in Wh_ModInit.
- Updating a disabled mod no longer enables it.
v0.9.2
- Added the option to compile a newly created mod and leave it disabled.
- Added more comments in the new mod template to help getting started.
- Made the compilation error panel close after a successful compilation.
- Added an undo message in case the mod editing sidebar is accidentally closed.
- Improved the error message when the mod settings aren't in a valid YAML array format.
- Fixed a rare crash for memory-intensive programs.