Skip to content

Latest commit

 

History

History
184 lines (168 loc) · 8.5 KB

ChangeLog.md

File metadata and controls

184 lines (168 loc) · 8.5 KB

ChangeLog

JNativeHook 2.2.2 (Mar 18, 2022)

  • Fixed Java module issue.
  • Fixed crash when using getNativeMonitors on Windows.
  • Fixed deadlock issue on Windows.
  • Fixed deadlock issue on OS X.
  • Fixed event posting issues on all platforms.
  • Fixed mouse button issues on Linux.
  • Fixed mouse horizontal scroll direction on Windows.
  • Fixed key character issues on Linux.
  • Fixed key typed event issues on Windows.
  • Fixed invalid system properties on OS X.
  • Updating system property sources on OS X.
  • Updated compile documentation.

JNativeHook 2.2.1 (Nov 19, 2021)

  • Added support for Java 17
  • Fixed crash on Linux with xkb-file and pc105.
  • Fixed crash on OSX with capslock and media keys.
  • Fixed pom versioning issue with revision property.
  • Fixed library location issues with folders that contain spaces.

JNativeHook 2.2.0 (Sep 27, 2021)

  • Complete CI/CD overhaul using GitHub Actions.
  • Dropping Ant support in favor of CMake and Maven.
  • Changed Maven group id to com.github.kwhat.
  • Namespace migration due to Maven group id change.
  • Added support for Arm on Windows.
  • Added support for Arm 64 on OS X and Linux.
  • Added support for multi-release jars.
  • Added wiki docs to the project.
  • Added VoidDispatcher class.
  • Fixed logging to be less verbose by default.
  • Fixed native library extraction location.
  • Fixed issue with unregistering the hook.
  • Fixed could not find keyboard map for locale on Windows.
  • Fixed issue with setEventDispatcher being overridden on hook registration.
  • Fixed issue with dead keys not working in some situations.
  • Deprecated all adaptor classes.
  • Deprecated NativeInputEvent.setModifiers() and NativeInputEvent.setReserved().
  • Removed support for Java 1.5.

JNativeHook 2.1.0 (Jan 25, 2015)

  • All events now use the native time source instead of the Unix epoch.
  • Added adapter classes.
  • Added native monitor properties.
  • Added method calls for global properties.
  • Added support for keyboard lock masks.
  • Added support for Swing event conversion.
  • Relaxed GlobalScreen scope restrictions.
  • Fixed a major issue with UTF-16 support on Linux.
  • Fixed key mapping for the number pad on Linux.
  • Fixed language support on X11 platforms.
  • Code refactoring and organization.

JNativeHook 2.0.3 (Nov 02, 2015)

  • Added support for media keys on OS X.
  • Added wiki pages to the project.
  • Fixed caps-lock key release on OS X.
  • Fixed posting mouse coordinates on Windows and Linux.
  • Fixed posting number keys on Windows.
  • Fixed segfault with multiple instances on Linux.
  • Fixed SetWindowsHookEx failed with 0X7E error on Windows.
  • Fixed the coordinates of posted mouse events for Windows.
  • Small documentation updates.

JNativeHook 2.0.2 (Jun 28, 2015)

  • Added support for Maven central repository.
  • Added modifier polling to hook start procedure.
  • Fixed a bug on OS X where the hook would always succeed.
  • Fixed event timing issues for all platforms.
  • Fixed issue with build.property file included in the release package.
  • Various cleanups throughout the code base.

JNativeHook 2.0.1 (Mar 21, 2015)

  • Added support for dispatch_sync_f when available on OS X.
  • Added libuiohook as a git submodule.
  • Changed hard coded dlsym() paths to RTLD_DEFAULT on OS X.
  • Fixed a memory leak in event posting on OS X.
  • Fixed an LTO related crash on Linux.
  • Fixed missing button number of mouse pressed events on Windows.

JNativeHook 2.0.0 (Jan 27, 2015)

  • Total rewrite and fork of the native code to its own standalone project.
  • Transitioned to virtual keycodes backed by scancode set 1.
  • Added Java's ExecutorService support for event delivery.
  • Added the ability to post NativeInputEvent's back to the Operating System.
  • Added support for multi-head hosts.
  • Countless bug fixes and performance improvements.
  • Fixed a long-standing RDP capture issue.
  • More flexible library loading.
  • More accurate event timestamps.
  • Removed the vestigial singleton API.
  • Vastly improved the build process.

JNativeHook 1.1.4 (Mar 17, 2013)

  • Added no-strict-aliasing compiler option that is enabled by default for all platforms.
  • Fixed 100% CPU utilization on Linux when using asynchronous XRecord API.
  • Fixed a crash when re-registering the native hook on all platforms.
  • Fixed the dead key interpretation for key typed events on Windows.
  • Improved language support for multiple locales on Windows.
  • Improved the memory utilization for the demo application.
  • Updated the demo application to allow unregistering and re-registering of the global hook.
  • Various cleanups throughout the native code base.

JNativeHook 1.1.3 (Jan 2, 2013)

  • Fixed a JVM memory leak due to NativeInputEvent objects not being garbage collected.
  • Fixed exception for assistive devices on OS X.
  • Fixed JNLP and custom class loading issues in native code.
  • Fixed mouse click events on Windows.
  • Fixed key typed events for OS X, again. This should prevent the TSMProcessRawKeyCode failed (-192) errors from popping up.
  • Fixed key typed events for tab, enter and number pad keys on X11 platforms.
  • Improved key char lookup for OSX.
  • Updated the author and license of the code used in WinUnicodeHelper.

JNativeHook 1.1.2 (Nov 5, 2012)

  • Added asynchronous XRecord build option and enabled it by default for Unix.
  • Fixed the click count for OS X.
  • Fixed key character lookup including support for dead keys on OS X.
  • Improved stability for synchronous XRecord on Unix.
  • Improved thread startup and shutdown across all platforms.
  • Improved thread safety for Unix and OS X.
  • Various cleanups throughout the native code base.

JNativeHook 1.1.1 (Oct 17, 2012)

  • Added an explicit exception if the native library not found.
  • Added safety checks to the Windows unicode helper function.
  • Changed to listen only tap for OS X.
  • Fixed a few small memory leaks for OS X.
  • Fixed click count for OS X.
  • Fixed free() on static memory pointer for Unix and OS X.
  • Fixed potential sscanf overflow on Unix.
  • Fixed potential use of a null pointer in rare circumstances for Unix and OS X.
  • Fixed several unicode conversions for Unix.
  • Fixed ant run target java library path.
  • Improved ant platform compatibility.
  • Removed unneeded ActionListener from the NativeHookDemo.
  • Various cleanups throughout the native code base.

JNativeHook 1.1.0 (Sep 10, 2012)

  • Total rewrite and restructuring of the native code base.
  • Added support for key typed events.
  • Added support for action key checks.
  • Added support for mouse click events.
  • Added support for mouse drag events.
  • Added support for mouse wheel events.
  • Improved both native and Java thread safety.
  • Improved unpacking of the native library from the Jar.
  • Improved operating system compatibility.
  • Optimized native code for all platforms.
  • Removed Make dependency.
  • Workaround for Java web start shortfalls.

JNativeHook 1.0.2288 (Sep 23, 2011)

  • Added button masks to all platforms for consistency.
  • Added checks for null on GlobalScreen listener addition and removal.
  • Added WM_QUIT exit listener instead of isRunning boolean for Windows message loop.
  • Changed Carbon constant for the Context Menu to a user defined value in OSXKeyCodes.h.
  • Enabled sun.awt.enableExtraMouseButtons by default.
  • Fixed an issue with Linux mouse buttons 4 and 5. Switched to using the standard virtual button codes for events.
  • Fixed various typos.
  • Fixed the termination order for Unix/Linux XRecord connection.
  • Fixed an issue with the MouseEvent constructor id for all platforms. Used a separate id for mouse button and motion events.
  • Fixed the double event registration issue with the demo.
  • Fixed issue with Makefile error message not displaying if run outside of ant.
  • Fixed issues with null pointer VM crashes due to garbage collection for all platforms.
  • Fixed RunLoop termination on OS X.
  • Fixed issues with the OS X button modifiers.
  • Improved MinGW compatibility Windows.
  • Improved event delivery performance for all platforms.
  • Removed Carbon code from the keyboard rate and delay functions on OS X.
  • Removed the Carbon HIToolbox requirement for key constants on OS X.
  • Switch to async XRecord connection.
  • Switch from Carbon to ApplicationServices framework for key hooking on OS X.

JNativeHook 1.0.1950 (Aug 30, 2011)

  • Fixed a problem with the 32-bit OS X binary.
  • Fixed various typos.
  • Removed unneeded -framework JavaVM for OS X targets.
  • Improved build file.

JNativeHook 1.0.1840 (May 11, 2011)

  • Initial Release.