All notable changes to this project will be documented in this file.
- Feature: Extend
Window
class withminimize
andrestore
methods
- Enhancement: Extend
WindowProviderInterface
withminimizeWindow
andrestoreWindow
functions - Feature: Introduce
WindowElementQuery
type and extendWindow
class withfind
,findAll
,waitFor
and find hooks
- Enhancement: Fix channel info for image loader to 4 to avoid processing errors
- Feature: Add ability to move/focus/resize windows (#172)
- Enhancement: Add support for 'Clear' key on macOS (PR #520)
- Feature: Optional default providers (#533)
- BREAKING: OCR confidence override not working (nut-tree/plugin-ocr#25)
- Enhancement: New 'toHaveColor' Jest matcher (#547)
- Enhancement: Improved error messages for timeouts (#556)
- Maintenance: Migrate nut.js core and its default providers to a monorepo (PR #560)
- Maintenance: Use PlayWright for E2E tests
- Bugfix:
getActiveWindow
returns out-of-bounds coordinates for maximized windows (#559) - BREAKING: Require minimum node version of 16
- Bugfix: Screen capture broken on macOS 13 (#469)
- Enhancement: Enable newly introduced keys to be used as modifiers (#490)
- Enhancement: Extend move API to handle single point case (#499)
- Feature: Add color queries to search for pixels of a certain color (#500)
- Bugfix: screen.highlight closes Electron window (#505)
- Bugfix: Fix mouse drift on Windows (nut-tree/libnut-core#126)
- Enhancement: Improve types of Jest matchers (#466)
- BREAKING: Rename clipboard methods (#463)
- Enhancement: Option to disable automatic request of permissions in macOS (#462)
- BREAKING: Allow
screen.find
and other to work with non-image needles (#455) - BREAKING: Add bits per pixel and byteWidth info to image class (#451)
- Bugfix: Installed Electron App crashes after upgrading to 2.3.0 (#449)
- Maintenance: Add .nvmrc config (#447)
- Enhancement: Define and export interfaces for keyboard/mouse/screen configs (#443)
- Bugfix: 'RightShift' key is mapped to space (#442)
- Maintenance: Introduce prettier (#437)
- Bugfix: Win2012-R2: Error: The specified procedure could not be found (#434)
- Feature: Logging provider (#371)
- Bugfix: Segmentation Fault when retrieving window title (#377)
- Enhancement: Automatically check and request required permissions on macOS (#377)
- Enhancement: Scale easing function result by base speed before applying (#425)
- Maintenance: Resolve security vulnerabilities (#422)
- Maintenance: Limit CI runs to PRs, not every push
- Maintenance: Upgrade node version to 16 for all CI runs
- Bugfix: Fix grave accent (PR #414)
- Enhancement: Refine error messages on fetchFromUrl (#415)
- Enhancement: Ship Windows runtime dependencies (#365)
- Bugfix: Modifier keys are not properly released on macOS (#264)
- Bugfix: Fix mouse clicks with modifiers on macOS (#273)
- Bugfix: Keyboard methods
pressKey
andreleaseKey
ignore updated autoDelayMs (#188) - Enhancement: Add mappings for missing numpad keys (#367)
- Enhancement: macOS double click (#373)
- Maintenance: Both
mouse.leftClick
andmouse.rightClick
should reuseclick
(#390) - Feature: New image loader to fetch remote images (#400)
- Bugfix: Mouse methods
pressButton
andreleaseButton
should respect auto delay (#403)
- Bugfix: Issue with
keyboard.type
in to Spotlight on MacOS (#152) - Enhancement: Numpad buttons don't work on Linux (#360)
- Feature: Apple Silicon (libnut#49)
- Enhancement: Enable warning message for missing accessibility permissions on macOS (#354)
- Enhancement: Add runtime typechecks for
screen.find
etc. (#351) - Bugfix: Fix Windows scaling issue (#349)
- Maintenance: Refine types (#340)
- Maintenance: Cleanup deprecated code (#341)
- Enhancement: Support for mouse capturing games (#168)
- Feature: Provide functions to convert images between BGR and RGB color mode (#336)
- Feature: Audio keys support (#233)
- Enhancement: Configurable interval for
waitFor
(#312) - Bugfix: Apply pixel density scaling on
colorAt
(#327) - Enhancement: Change
find
signature to only work onImage
instances (#329) - Enhancement: Adjust
assert
class to newScreen#find
parameter types (#324) - Feature: Get screen pixel color (#259)
- Feature: Add
Screen#findAll
to enable matching multiple template occurrences (#320) - Enhancement: Make Screen#find accept
Promise<Image>
(#320) - Enhancement: Accepting a Buffer with image data for
Screen#find
(#204) - Enhancement: Get rid of adapter layer in favour of providerRegistry (#310)
- Feature: Provide a default implementation for
ImageReader
andImageWriter
(#307) - Feature: Define interface for mouse movement type (#130)
- Feature: Separate image matching code (#279)
- Enhancement: Export
FileType
(#301) - Enhancement: Export
ImageWriterParameters
(#296) - Enhancement: Export provider interfaces (#294)
- Feature: Introduce a registry for providers (#292)
- Feature: Add methods to grab the current screen content as Buffer (#278)
- Enhancement: Trigger snapshot releases (#234)
- Feature: Cancel screen.waitFor if needed (#241)
- Enhancement: Move docs into separate repo (#244)
- Feature: Support for node 16 and Electron 13 (#246)
- Feature: Create screenshot from region (#154)
- Bugfix: Endless loop in timeout function for long-running actions returning undefined (#205)
- Maintenance: Use default exports for all provider classes (#163)
- Enhancement: imprecise error message if image is too large (#169)
- Bugfix:
waitFor
does not properly cancel (#174) - Feature: Enable GitHub Actions (#200)
- Enhancement: Use @nut-tree/libnut@next for snapshot releases (#202)
- Enhancement: Requesting image search outside of screen boundaries fails with runtime error (#195)
- Enhancement: Window support (#5)
- Bugfix:
screen.find
neglects offsets when providing a search region (#160)
- Maintenance: Refactor
locationparameters.class.ts
(#129) - Enhancement: Update npmignore (#128)
- Maintenance: Refactor
image-processor.class.ts
(#131) - Enhancement: Update to
[email protected]
(#139) - Enhancement: Add note about macOS permissions to readme (#134)
- Enhancement: Stabilize drag & drop E2E test (#145)
- Bugfix: Hanging shift key after keyboard input on Windows (#157)
- Bugfix: Electron + Windows problems (#126)
- Enhancement: API docs (#87)
- Enhancement: Improve CI pipeline (#110)
- Enhancement: Rename
MouseActionInterface
(#112) - Enhancement: Enhance test stability (#109)
- Enhancement: Config cleanup (#117)
- Enhancement: Improve error message when failing to locate images (#101)
- Enhancement: Support for node 13 and 14 (#119)
- Enhancement: Support for Electron (#121)
- Enhancement: Native highlight (#40)
- Enhancement: Revisit mouse speed settings (#85)
- Bugfix: Wrong result size for scaled image search (#68)
- Enhancement: Switch from robotjs to libnut (#86)
- Enhancement: Update to OpenCV4 (#89)
- Enhancement: Enable matrix builds (#13)
- Enhancement: Enabled prebuilt bindings for OpenCV (#77)
- Enhancement: Exported
Button
enum (#75)
- Bugfix: Drag & drop gestures were not working on macOS and Windows (#70)
- Enhancement:
mouse
Public API now exposespressButton
andreleaseButton
methods (#69)
- Bugfix: Clipboard copy calls did not resolve (#64)
- Minor version upgrade for OpenCV dependency
- Feature: nut.js now comes with a precompiled version of OpenCV (#63)
- Bugfix: Check dimensions of ROIs to prevent access violations (#57)
- Improved error handling on image search
- Changed default
screen.config.resourceDirectory
to useprocess.cwd()
- Enabled pre-built OpenCV bindings via
opencv4nodejs-prebuilt