Releases: ramensoftware/windhawk
Releases · ramensoftware/windhawk
v1.7.3
v1.7.2
v1.7.1
- Fixed Windhawk loading and then unloading right away for sandboxed processes. This usually had no visible impact, but could cause a crash with the "Dark mode context menus" mod due to the way it's being unloaded.
- Fixed a possible crash for mods which hook multiple functions using the same original pointer address.
- Fixed mod description images loading for mods which are edited locally.
- Minor UI bug fixes.
v1.7
- Windhawk now downloads pre-compiled mods by default instead of compiling them locally, significantly speeding up installations and updates. This can be disabled in the settings.
- Added support for viewing and installing older mod versions.
- Settings editor improvements:
- Added a textual mode for editing settings in YAML format.
- Settings can now be saved with Enter or Ctrl+S.
- A warning is shown when leaving the settings tab with unsaved changes.
- Multiple user interface improvements, including:
- Added search, filtering, and list view for installed mods.
- Added additional filtering options in the Explore view.
- Mod cards in the Explore view now show additional metadata, and display a rating breakdown on hover.
- Added back/forward navigation via Alt+Left/Right and mouse back/forward buttons.
- Added zooming support with Ctrl+Plus/Minus, and reset zoom with Ctrl+0.
- Custom process inclusion/exclusion lists for mods are now shown in the target processes tooltip.
- Windhawk can now be updated with a single click from the About tab. (This becomes active starting with the next update.)
- Mod description images now load from GitHub. Previously, some images loaded from Imgur, which is now blocked in the United Kingdom.
- Mod development: Added support for the
@licenseand@donateUrlmetadata fields. - Added the following translations: Arabic, Hindi, and Thai.
Engine improvements and fixes
- Added limited support for multiple concurrent users. Multiple users can now run separate portable Windhawk instances on the same machine, provided no instance is running with administrator privileges.
- If internet connection is unavailable at launch, Windhawk now retries downloading debug symbols several times. This helps in cases where the connection becomes available only after a short delay following system startup.
- Improved error handling for missing debug symbols. The operation is now retried after a long interval instead of repeatedly for each newly launched program.
- Windhawk now uses the SlimDetours library for function hooking, improving compatibility with certain programs. Notably fixes an incompatibility with MacType that could cause a BSOD when exiting Windhawk (issue #527).
- Improved handling of protected processes. Previously, loading or unloading mods in such processes could cause a crash. The list of loaded mods is now kept unchanged until the process restarts. Changes to mod enable/disable state take effect only after restarting the protected process. Fixes an incompatibility with simplewall (discussions #2084).
- Fixed a possible crash when unloading mods.
- Fixed an incompatibility that caused certain applications to fail to launch when Windhawk was running. Affected programs include SideFX Houdini (issue #525), Autodesk MotionBuilder 2020 (issue #687), Movavi Screen Recorder, and other programs by Movavi (issue #533).
- Fixed an issue where some processes failed to shut down and were kept running indefinitely. Affected programs include MTool by AdventCirno (issue #558).
- Fixed a rare crash on systems using certain non-English locales.
v1.6.1
v1.6
- ARM64 support. Windhawk can now be installed on ARM64 versions of Windows, and customization of native ARM64 programs is fully supported. Customization of x86 and x64 programs on ARM64 Windows has some limitations, which might be improved in the future. Some mods may need to be adjusted by their authors to work correctly on ARM64 Windows.
- Updated the default process exclusion rules to exclude known incompatible programs and some well-known games. Additionally, the special handling of pattern inclusion rules for critical system processes is now configurable per mod. For details, please refer to the documentation.
- When exploring mods, the selected language is now used for the names and descriptions of localized mods. Previously, English was always used on the "Explore" page.
- The toolkit dialog is no longer shown automatically when a fullscreen program or game is running.
- The Windhawk UI no longer restarts when advanced settings are changed — only the background processes are.
- Added the
-safe-modecommand-line switch. - Improved debug symbol iteration speed, especially noticeable with very large symbol files.
- Improved mod unloading. Windhawk now attempts to wait for mods to finish running before unloading them, which could otherwise cause a crash.
- Added support for non-ASCII text in debug logs.
- Fixed an error caused by Windhawk in some cases: "Not enough space for thread data." To apply the fix, install or update at least one mod after the Windhawk update, then restart Windhawk.
- Fixed an incompatibility error that could occur in some programs when certain mods were used: "The procedure entry point ... could not be located." To apply the fix, reinstall or update all affected mods.
- Fixed an issue where Windhawk attempted to load
winhttp.dllfrom the current directory, causing incompatibility problems in some cases. - Fixed an issue where Windhawk caused console programs to fail to launch in rare Windows configurations.
- Added the following translations: Croatian, Czech, Danish, Greek, Hungarian, Indonesian, Tamil, and Vietnamese.
- Other minor bug fixes and improvements.
For developers
- Added the
Wh_GetModStoragePathAPI that returns a directory path that can be used by the mod to store any necessary files. - Added an option to the
Wh_GetUrlContentAPI to download to a given file path. - The compiler was updated from Clang 18.1.8 to Clang 20.1.3. 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.
- Updated the WinRT headers to include WinUI 2 and WinUI 3 definitions.
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.exeandruntimebroker.exefrom 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-extensionscompiler option is required to use the library. - Renamed
WindhawkUtils::Wh_SetFunctionHookTtoWindhawkUtils::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
LoadLibraryandGetProcAddress. - Added the
Wh_GetUrlContent,Wh_FreeUrlContentandWh_DeleteValueAPIs. - 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_FindFirstSymbolwithNULLas 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_SetBinaryValueAPI signatures. - Updated the
Wh_FindFirstSymbolAPI to allow enumerating only decorated symbols for better performance. - Added
Wh_SetFunctionHookTtowindhawk_utils.h(issue #85). - Added
StringSettingtowindhawk_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.hto 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).