Changelog
@nut-tree/nut-js Changelog
4.5.0
- Feature: Introduce new
InputMonitor
interface - Dependencies: Update @nut-tree/libnut to v2.8.0
4.4.1
- Bugfix: Properly export
toWaitFor
matcher
4.4.0
- Feature: New matchers to work with element queries
- Enhancement: Update types of
toShow
matcher to accept Promises - Feature: New
toWaitFor
matcher which works withwaitFor
- Bugfix: Bump libnut-core to v2.7.3 to revert window focus change which broke input on Windows
4.3.0
- Enhancement: Modify text queries to support not only string, but also RegExp
- Enhancement: Update return type of
window.getElements
to include missingid
property - Enhancement: Update type definition of
WindowElementDescription
in nut.js core to include anin
property - Enhancement: Update
mouse.setPosition
to support passingPromise<Point>
- Feature: Allow users to reset all providers to their default
- Feature: Allow users to reset providers for clipboard, keyboard, mouse, screen and window to their default
- Enhancement: Improve
keyboard.type
input ifkeyboard.config.autoDelayMs
is 0 - Bugfix:
Key.LeftSuper
andKey.RightSuper
mapped to the wrong low-level key in libnut - Dependencies: Update @nut-tree/libnut to v2.7.2
4.2.0
- Feature: Extend
Window
class withminimize
andrestore
methods
4.1.0
- Enhancement: Extend
WindowProviderInterface
withminimizeWindow
andrestoreWindow
functions - Feature: Introduce
WindowElementQuery
type and extendWindow
class withfind
,findAll
,waitFor
and find hooks
4.0.1
- Enhancement: Fix channel info for image loader to 4 to avoid processing errors
4.0.0
- Feature: Add ability to move/focus/resize windows
- Enhancement: Add support for 'Clear' key on macOS
- Feature: Optional default providers
- BREAKING: OCR confidence override not working
- Enhancement: New 'toHaveColor' Jest matcher
- Enhancement: Improved error messages for timeouts
- Maintenance: Migrate nut.js core and its default providers to a monorepo
- Maintenance: Use PlayWright for E2E tests
- Bugfix:
getActiveWindow
returns out-of-bounds coordinates for maximized windows - BREAKING: Require minimum node version of 16
3.1.2
- Bugfix: Screen capture broken on macOS 13
- Enhancement: Enable newly introduced keys to be used as modifiers
- Enhancement: Extend move API to handle single point case
- Feature: Add color queries to search for pixels of a certain color
- Bugfix: screen.highlight closes Electron window
3.1.1
- Bugfix: Fix mouse drift on Windows
3.1.0
- Enhancement: Typo fix
- Enhancement: Additional keys
3.0.0
- Enhancement: Improve types of Jest matchers
- BREAKING: Rename clipboard methods
- Enhancement: Option to disable automatic request of permissions in macOS
- BREAKING: Allow
screen.find
and other to work with non-image needles - BREAKING: Add bits per pixel and byteWidth info to image class
- Bugfix: Installed Electron App crashes after upgrading to 2.3.0
- Maintenance: Add .nvmrc config
- Enhancement: Define and export interfaces for keyboard/mouse/screen configs
- Bugfix: 'RightShift' key is mapped to space
- Maintenance: Introduce prettier
- Bugfix: Win2012-R2: Error: The specified procedure could not be found
- Feature: Logging provider
2.3.0
- Bugfix: Segmentation Fault when retrieving window title
- Enhancement: Automatically check and request required permissions on macOS
2.2.1
- Enhancement: Scale easing function result by base speed before applying
- Maintenance: Resolve security vulnerabilities
2.2.0
- Maintenance: Limit CI runs to PRs, not every push
- Maintenance: Upgrade node version to 16 for all CI runs
- Bugfix: Fix grave accent
- Enhancement: Refine error messages on fetchFromUrl
- Enhancement: Ship Windows runtime dependencies
2.1.1
- Bugfix: Modifier keys are not properly released on macOS
- Bugfix: Fix mouse clicks with modifiers on macOS
2.1.0
- Bugfix: Keyboard methods
pressKey
andreleaseKey
ignore updated autoDelayMs - Enhancement: Add mappings for missing numpad keys
- Enhancement: macOS double click
- Maintenance: Both
mouse.leftClick
andmouse.rightClick
should reuseclick
- Feature: New image loader to fetch remote images
- Bugfix: Mouse methods
pressButton
andreleaseButton
should respect auto delay
2.0.1
- Bugfix: Issue with
keyboard.type
in to Spotlight on MacOS - Enhancement: Numpad buttons don't work on Linux
2.0.0
- Feature: Apple Silicon
- Enhancement: Enable warning message for missing accessibility permissions on macOS
- Enhancement: Add runtime typechecks for
screen.find
etc. - Bugfix: Fix Windows scaling issue
- Maintenance: Refine types
- Maintenance: Cleanup deprecated code
- Enhancement: Support for mouse capturing games
- Feature: Provide functions to convert images between BGR and RGB color mode
- Feature: Audio keys support
- Enhancement: Configurable interval for
waitFor
- Bugfix: Apply pixel density scaling on
colorAt
- Enhancement: Change
find
signature to only work onImage
instances - Enhancement: Adjust
assert
class to newScreen#find
parameter types - Feature: Get screen pixel color
- Feature: Add
Screen#findAll
to enable matching multiple template occurrences - Enhancement: Make Screen#find accept
Promise<Image>
- Enhancement: Accepting a Buffer with image data for
Screen#find
- Enhancement: Get rid of adapter layer in favour of providerRegistry
- Feature: Provide a default implementation for
ImageReader
andImageWriter
- Feature: Define interface for mouse movement type
- Feature: Separate image matching code
- Enhancement: Export
FileType
- Enhancement: Export
ImageWriterParameters
- Enhancement: Export provider interfaces
- Feature: Introduce a registry for providers
- Feature: Add methods to grab the current screen content as Buffer
1.7.0
- Enhancement: Trigger snapshot releases
- Feature: Cancel screen.waitFor if needed
- Enhancement: Move docs into separate repo
- Feature: Support for node 16 and Electron 13
1.6.0
- Feature: Create screenshot from region
- Bugfix: Endless loop in timeout function for long-running actions returning undefined
- Maintenance: Use default exports for all provider classes
- Enhancement: imprecise error message if image is too large
- Bugfix:
waitFor
does not properly cancel - Feature: Enable GitHub Actions
- Enhancement: Use @nut-tree/libnut@next for snapshot releases
- Enhancement: Requesting image search outside of screen boundaries fails with runtime error
1.5.0
- Enhancement: Window support
- Bugfix:
screen.find
neglects offsets when providing a search region
1.4.2
- Maintenance: Refactor
locationparameters.class.ts
- Enhancement: Update npmignore
- Maintenance: Refactor
image-processor.class.ts
- Enhancement: Update to
opencv4nodejs-prebuilt@5.3.0-2
- Enhancement: Add note about macOS permissions to readme
- Enhancement: Stabilize drag & drop E2E test
- Bugfix: Hanging shift key after keyboard input on Windows
1.4.1
- Bugfix: Electron + Windows problems
1.4.0
- Enhancement: API docs
- Enhancement: Improve CI pipeline
- Enhancement: Rename
MouseActionInterface
- Enhancement: Enhance test stability
- Enhancement: Config cleanup
- Enhancement: Improve error message when failing to locate images
- Enhancement: Support for node 13 and 14
- Enhancement: Support for Electron
- Enhancement: Native highlight
1.3.2
- Enhancement: Revisit mouse speed settings
1.3.1
- Bugfix: Wrong result size for scaled image search
- Enhancement: Switch from robotjs to libnut
- Enhancement: Update to OpenCV4
- Enhancement: Enable matrix builds
1.3.0
- Enhancement: Enabled prebuilt bindings for OpenCV
1.2.1
- Enhancement: Exported
Button
enum
1.2.0
- Bugfix: Drag & drop gestures were not working on macOS and Windows
- Enhancement:
mouse
Public API now exposespressButton
andreleaseButton
methods
1.1.2
- Bugfix: Clipboard copy calls did not resolve
1.1.1
- Minor version upgrade for OpenCV dependency
1.1.0
- Feature: nut.js now comes with a precompiled version of OpenCV
1.0.1
- Bugfix: Check dimensions of ROIs to prevent access violations
1.0.0
- API overhaul
find
hooksscreen.waitFor
- Code cleanup
0.1.0-beta.3
- Improved error handling on image search
0.1.0-beta.2
- Changed default
screen.config.resourceDirectory
to useprocess.cwd()
0.1.0-beta.1
- Enabled pre-built OpenCV bindings via
opencv4nodejs-prebuilt