Releases: TolikPylypchuk/SharpHook
v6.0.0
This release contains multiple breaking changes, features, and bug fixes. View the migration guide for upgrade guidelines.
Platform Support
-
Support for Mac Catalyst on non-MAUI applications was added.
-
The minimum .NET Framework version was bumped to 4.7.2. Direct support for .NET 6 and 7 was removed, but it's still available through .NET Standard.
Breaking Changes
-
All structs and enums were moved from
SharpHook.NativetoSharpHook.Data. -
ModifierMaskandEventReservedValueMaskwere merged into a single enum -EventMask. -
UioHookEvent.Reservedwas removed. Its values are now part ofUioHookEvent.Mask. -
All constructors of
SimpleGlobalHook,TaskPoolGlobalHook,SimpleReactiveGlobalHook, andReactiveGlobalHookAdapterexcept the main ones were removed. -
TaskPoolGlobalHookOptionswas removed. -
All obsolete values in the
KeyCodeenum were removed. -
LogSource.Registerwas removed. -
Members of
HookExceptionrelated to binary formatters were removed. -
The behaviour of
TestGlobalHookandTestProviderwas changed. Instead of dispatching events in the same thread that simulates them, they now instead add events into an event loop running on a different thread. -
TestProvidernow throws an exception ifRunorRunAsyncis called and it's already running.
New Features
-
The ability to stop global hooks without disposing of them was added.
-
Several functions for working with the macOS Accessibility API were added.
-
UioHookEvent.Masknow contains the state of modifiers and mouse buttons regardless of the global hook type (keyboard, mouse, or both). -
Running global hooks won't be garbage-collected.
Bug Fixes
-
Getting libuiohook logs on Mac Catalyst applications was fixed.
-
The issue with global hooks breaking Alt codes on Windows was fixed.
-
Getting events for Caps Lock was fixed on macOS.
-
Disabling access to the Accessibility API when a global hook is running on macOS won't freeze the OS anymore.
-
Disposing a
TaskPoolGlobalHookinside an event handler doesn't throw an exception anymore.
Other Changes
-
libuiohook was updated to commit c61b486.
-
SharpHook.Reactive now depends on Rx.NET 6.0.1.
-
Docs for older versions were removed. From now on, only the latest version will have docs hosted on sharphook.tolik.io.
v5.3.9
v5.3.8
v5.3.7
v5.3.6
This release fixes the libuiohook build provided for macOS x64.
v5.3.5
v5.3.4
v5.3.3
v5.3.2
v5.3.1
This release makes it safe to dispose an already disposed test global hook.