Skip to content

Releases: KasimAhmic/autoit-js

v2.1.0

20 Aug 00:28
Compare
Choose a tag to compare

2.1.0 (2025-08-20)

Small update that adds an async variant of the Tooltip function. I was unable to figure out what exactly the cause of SendMessageW failing in async contexts was, but based on some research, it seems to be related to this weird mix of Node + Koffi + Win32 that I've got going on. Something about passing handles around between libuv worker threads (from subsequent function invocations) and Windows not liking non-owners of the handles sending messages to said handles, not 100% sure.

The "solution" I came up with was to just use the sync variants of the setup and teardown functions since they're pretty fast and then only use the async variant of Sleep to avoid blocking the main thread for an excessively long time. In theory, this shouldn't case any issues but until I can figure this out, it's better than nothing.

As always, if you run into any issues, please open an issue!

Features

  • Implement async variant of Tooltip (b420345)

v2.0.0

09 Aug 21:51
Compare
Choose a tag to compare

2.0.0 (2025-08-09)

~150 commits and a week's vacation later, AutoIt JS 2.0.0 is complete!

Asynchronous Functions

This update adds async variations of every function for use in async contexts like Cypress and Playwright. You can see the rationale in #10, but the long and short of it is the old function names are now the async variants and the sync variants have been renamed with the Sync suffix.

Inline Documentation

I have also added the JSDoc stubs directly into the TypeScript declaration files. This should've been a part of the 1.1.0 release when all the documentation was initially added, but I guess I missed it back then. Oh well, better late than never!

image

(bundle size is a tad insane...)

Future Releases

The one downside to this release is that there is no async variant of the Tooltip function yet. It seems that when allocating space on the native side with Koffi for the TOOLINFOW struct, I can't safely pass a pointer to it asynchronously with SendMessageW. I am not sure what's going on but I didn't want to hold up the release for a single function. I'll release a feature update later once I get this resolved.

Bug Fixes

Features

  • Implement async variant of AutoItSetOption (8d267fb), closes #10 #10
  • Implement async variant of ClipGet (c7c9ed2), closes #10 #10
  • Implement async variant of ClipPut (bebda9c), closes #10 #10
  • Implement async variant of ControlClick (5f09057), closes #10 #10
  • Implement async variant of ControlClickByHandle (ced6a82), closes #10 #10
  • Implement async variant of ControlCommand (4179bae), closes #10 #10
  • Implement async variant of ControlCommandByHandle (3c861ac), closes #10 #10
  • Implement async variant of ControlDisable (90f91db), closes #10 #10
  • Implement async variant of ControlDisableByHandle (055ffe4), closes #10 #10
  • Implement async variant of ControlEnable (1799424), closes #10 #10
  • Implement async variant of ControlEnableByHandle (c73c830), closes #10 #10
  • Implement async variant of ControlFocus (8d8ea69), closes #10 #10
  • Implement async variant of ControlFocusByHandle (8c2108e), closes #10 #10
  • Implement async variant of ControlGetFocus (cd883a5), closes #10 #10
  • Implement async variant of ControlGetFocusByHandle (43d9ce0), closes #10 #10
  • Implement async variant of ControlGetHandle (1ba2f70), closes #10 #10
  • Implement async variant of ControlGetHandleAsText (8fd4d83), closes #10 #10
  • Implement async variant of ControlGetPos (e8e2c1f), closes #10 #10
  • Implement async variant of ControlGetPosByHandle (fb81414), closes #10 #10
  • Implement async variant of ControlGetText (8930b56), closes #10 #10
  • Implement async variant of ControlGetTextByHandle (fa14d5b), closes #10 #10
  • Implement async variant of ControlHide (6e46752), closes #10 #10
  • Implement async variant of ControlHideByHandle (2263592), closes #10 #10
  • Implement async variant of ControlListView (e98da74), closes #10 #10
  • Implement async variant of ControlListViewByHandle (7a2cdcb), closes #10 #10
  • Implement async variant of ControlMove (f633c76), closes #10 #10
  • Implement async variant of ControlMoveByHandle (8bfa87f), closes #10 #10
  • Implement async variant of ControlSend (37ccf2f), closes #10 #10
  • Implement async variant of ControlSendByHandle (2c74679), closes #10 #10
  • Implement async variant of ControlSetText (b42bd48), closes #10 #10
  • Implement async variant of ControlSetTextByHandle (5b9f2ee), closes #10 [#10](https://github.com/KasimAhmic/auto...
Read more

v1.1.0

18 Apr 13:47
Compare
Choose a tag to compare

1.1.0 (2025-04-18)

1.1.0 is here and it includes a massive overhaul of the project documentation! Every single function, enum, type, method, etc. has been comprehensively documented so you never have to leave your IDE when working with AutoIt JS. If you need a bit more detail, every docstub also contains a link to the official AutoIt documentation. Typedoc has been added as well and I will deploy the auto generated docs to GitHub Pages within the next few days as well.

In addition to the documentation overhaul, I have also gone an fully reimplemented the Tooltip function using the Win32 API directly in much the same way I did PixelSearch. As usual, if you encounter any bugs, please report them!

Features

  • Install and configure typedoc (a6b35dd)
  • Reimplement Tooltip function (6d362fa)
  • Reimplement Tooltip function (d7db524)

v1.0.1

23 Feb 21:28
Compare
Choose a tag to compare

1.0.1 (2025-02-23)

Bug Fixes

  • Build release artifacts (9bf7536)

v1.0.0

23 Feb 21:14
Compare
Choose a tag to compare

1.0.0 (2025-02-23)

Bug Fixes

  • Fix AutoItSetOption function name argument (1cf1e6a)
  • Fix Logger setting the wrong log level on instantiation (423b3f5)
  • Fix return type (c631843)
  • Fix return type (209d7cc)
  • Fix return type (afbaf80)
  • Fix return type (28e45f4)
  • Fix return type (31cf77c)
  • Fix return type (b5b372f)
  • Fix return type (272815e)
  • Fix return type (4e9ed9c)
  • Fix return type (d88a7c9)
  • Fix return type (31add67)
  • Fix return type (f0f1ced)
  • Fix return type (2c80ec8)
  • Fix return type (eeb6002)
  • Fix window handle argument type (249eb3a)
  • Get sizeof LPOINT instead of LPPOINT in MouseGetPos (c596012)
  • Log an error if the platform is not Windows (08694bc)
  • Pass HWND for controlHandle instead of INT (d3a90f4)
  • Use empty string as default instead of null for text argument (c82748f)
  • Use ESM compatible __dirname (637855b)

Features

  • Add AutoIt DLLs and license (cf7298f)
  • Add custom PixelSearch implementation (25ace50)
  • Add default for clicks (63b2c2b)
  • Add default for flags (c48b406)
  • Add default for param (83e189e)
  • Add defaults for button and clicks (74d93ca)
  • Add defaults for button and clicks (c019ff1)
  • Add defaults to some method arguments (c1c78bf)
  • Allow for overriding the result buffer chracter count (c3d8259)
  • Blindly implement the remaining AutoIt functions (3a22334)
  • Call AuotIt.Init on lib instantiation (9d6cc60)
  • Create a simple application for unit tests (d60196e)
  • Create Logger utility (97393a8)
  • Implement AutoItSetOption (c05d431)
  • Implement ClipPut and ClipGet (98db2cf)
  • Implement ControlClick (86bc8b3)
  • Implement ControlClickByHandle (e087a1e)
  • Implement ControlDisable (a2d068a)
  • Implement ControlDisableByHandle (6ff5630)
  • Implement ControlEnable (b27f6d8)
  • Implement ControlEnableByHandle (706b5ee)
  • Implement ControlFocus (4d06ca3)
  • Implement ControlFocusByHandle (77fe6e8)
  • Implement ControlGetFocus (ec0a0ea)
  • Implement ControlGetFocusByHandle (e927f8a)
  • Implement ControlGetHandle (45909c1)
  • Implement ControlGetHandleAsText (cfeb5be)
  • Implement ControlGetPos (e1741b6)
  • Implement ControlGetPosByHandle (482726f)
  • Implement ControlGetText (f2da3e2)
  • Implement ControlGetTextByHandle (95f290a)
  • Implement ControlHide (a01c340)
  • Implement ControlHideByHandle (27a5b8f)
  • Implement ControlMove (3603fe3)
  • Implement ControlMoveByHandle (7658343)
  • Implement ControlSend (318483e)
  • Implement ControlSendByHandle (a48fde2)
  • Implement ControlSetText (e036691)
  • Implement ControlSetTextByHandle (d2dbf14)
  • Implement ControlShow (90df486)
  • Implement ControlShowByHandle (e6f4d70)
  • Implement GetError (737bc82)
  • Implement IsAdmin (f0ec896)
  • Implement Library base class (434cf01)
  • Implement MouseClick (bc3c6e9)
  • Implement MouseClickDrag (d7b9f14)
  • Implement MouseDown and MouseUp (83a0fbd)
  • Implement MouseGetCursor (a076d00)
  • Implement MouseGetPos (589f9c0)
  • Implement MouseMove (3647d48)
  • Implement MouseWheel (90147ec)
  • Implement PixelChecksum (7f3375c)
  • Implement PixelGetColor (449ae06)
  • Implement ProcessClose (5805624)
  • Implement ProcessExists ([7eed030](7eed030...
Read more