Skip to content

Releases: AutoHotkey/AutoHotkey

v2.0.6

30 Aug 08:10
v2.0.6
c4bd7ef
Compare
Choose a tag to compare

Fixed some ambiguity with COM calls, such as x.y acting as x.y().

Fixed breakpoint on control flow statement being "hit" when a fat arrow function on the line below it returns.

Fixed Default : to not merge with the line below it. This prevented Default : from being used at the end of a Switch block, and caused any subsequent line to take the line number of the Default.

Optimized ProcessGetPath, ProcessSetPriority and ProcessClose to not scan through all processes when given a valid PID, even if access to the process is denied.

Fixed inability of LWin::Alt to be used to activate some Alt key combos.

Fixed TypeError thrown by x is y to say "Class" rather than "Object".

Fixed WinTitle to support criteria longer than 1023 characters.

Fixed issues when &ref is used on different aliases of the same variable.

Fixed optional parameter default expressions (other than simple literal values) preventing the use of assume-global/assume-static.

SHA256 hash 2DF6D9782B8656772C842C22B6582EE91782BDE800F345491A71EB72C294E6FC AutoHotkey_2.0.6_setup.exe 62613DA1A6AC28989C8B3A7076BB90AF9C9361CACD76C695C381140C1D9182DB AutoHotkey_2.0.6.zip

v2.0.5

12 Aug 07:23
v2.0.5
0c8c337
Compare
Choose a tag to compare

Fixed a memory leak caused by incorrect reference counting when an object is enumerated via COM. [PR# 325]

Fixed internal calls to __Enum to not call __Call.

Fixed error messages referring to parameter #65535.

Fixed incorrect IEnumVARIANT return count.

Fixed Download throwing OSError(0) when error should be non-zero.

Fixed LV.Add/Insert/Modify crashing when passed the minimum number of parameters.

Fixed stack traces to exclude calls to __new for Error subclasses.

SHA256 hash F815E34B79E1357B7DEFC86D467077293F56B4CAC373394C01A66ADABACF3350 AutoHotkey_2.0.5_setup.exe

v2.0.4

08 Jul 06:49
v2.0.4
1325778
Compare
Choose a tag to compare

Changed the Reload button on error/warning dialogs to explicitly close the dialog, even if the current script instance isn't terminated.

Removed an optimization for return var which caused the variable to appear blank when accessed within a finally block.

Fixed Default (Switch) to allow space before the colon.

Fixed Array.Prototype.RemoveAt to return the removed value when Length is "explicitly omitted" with unset or var?.

Fixed crashing when a ComObject is passed to a for-loop with only the second variable specified.

Changes merged from v1.1.37.00 and v1.1.37.01:

Changed COM method and property calls to pass large integers as VT_I8, not VT_R8 (floating-point), so the original type and precision is retained. Integers in the 32-bit range are still passed as VT_I4.

Added support for multi-variable enumerators (for-loops) with IDispatch-wrapped AutoHotkey objects. Both the script invoking the object and the object itself must be running a supported AutoHotkey version.

Fixed omitted parameters to receive their default values rather than the "optional argument marker" when an AutoHotkey method is called via IDispatch (COM). The reverse translation was already done when calling COM methods in previous versions.

Fixed VerCompare(a, ">" b) and reduced code size marginally.

Fixed AltTab-related load-time errors to be consistent with other errors.

Fixed errors thrown by a ComObject wrapper not being propagated correctly if it is called via an object/COM.

Fixed the Hotkey GUI control to allow setting the symbols ^, ! and + as hotkeys.

Fixed the Hotkey control to include modifiers when its value is set to a symbol.

Fixed potential misbehaviour of InputHook.KeyOpt() with single chars.

  • Option removal potentially not affecting the corresponding SC.
  • Options potentially also being applied to sc000.

Fixed a bug with custom combos where a set of hotkeys like a & b::, a:: and a up:: would fail to suppress the release of a if a:: alone is disabled with #HotIf.

Fixed a bug where a key-down event is correctly suppressed by a hotkey, but sending an additional key-down with SendLevel > 0 would prevent the subsequent key-up from being suppressed, even if the sent event is ignored due to #InputLevel.

Fixed a & b up:: not suppressing b if a & b:: is present but disabled by #HotIf.

Fixed an issue with hotkeys not firing due to a race condition. If a modifier hotkey such as ~*RWin:: called Send or GetKeyState too soon, the OS could report that RWin isn't down, so the hook's modifier state would be "corrected" and hotkeys would wrongly fire or fail to fire. This was likely to occur only if another keyboard hook was installed more recently than the script's own hook, since in that case the OS would not update key state until the other hook's thread has resumed and returned.

Fixed hotstrings to use the Last Found Window set by #HotIf.

Fixed an issue where any attempt to reinstall the keyboard or mouse hook would fail if the OS had automatically uninstalled the hook. It is still necessary to meet certain conditions before any such attempt can be made.

Optimized allocation of cached COM property names for built-in IDispatch.

Refactored code to support a build configuration for AutoHotkey as a DLL.

SHA256 hash 38B5790E1FD1BEA17231A3A55E701217EBDE42428046E029F609B1D1734C7140 AutoHotkey_2.0.4_setup.exe

v1.1.37.01

08 Jul 05:47
v1.1.37.01
9e500ca
Compare
Choose a tag to compare

Fixed an issue with hotkeys not firing due to a race condition. If a modifier hotkey such as ~*RWin:: called Send or GetKeyState too soon, the OS could report that RWin isn't down, so the hook's modifier state would be "corrected" and hotkeys would wrongly fire or fail to fire. This was likely to occur only if another keyboard hook was installed more recently than the script's own hook, since in that case the OS would not update key state until the other hook's thread has resumed and returned.

Fixed hotstrings to use the Last Found Window set by #If.

Fixed MouseGetPos, ControlClick, ContextMenu Gui events and DropFile Gui events erroneously detecting a control at a specific point which actually lies one pixel below or to the right of the control.

Fixed an issue where any attempt to reinstall the keyboard or mouse hook would fail if the OS had automatically uninstalled the hook. It is still necessary to meet certain conditions before any such attempt can be made.

SHA256 hash DBF3490648EFE876BD9A98D53E4D9110BF5E02A3914C0DD4B2A48DB4A09799B5 AutoHotkey_1.1.37.01_setup.exe

v1.1.37.00

02 Jul 08:31
v1.1.37.00
b128cfc
Compare
Choose a tag to compare

Changed COM method and property calls to pass large integers as VT_I8, not VT_R8 (floating-point), so the original type and precision is retained. Integers in the 32-bit range are still passed as VT_I4.

Added support for two-variable enumerators (for-loops) with IDispatch-wrapped AutoHotkey objects. Both the script invoking the object and the object itself must be running a supported AutoHotkey version.

Added support for ByRef VARIANT in incoming COM calls. Instead of receiving a ComObject wrapper with the VT_BYREF|VT_VARIANT variant type, the script receives a temporary variable compatible with a normal ByRef parameter.

Added support for omitting parameters in incoming COM calls. IDispatch allows omitting parameters by specifying a VARIANT of type VT_ERROR with value DISP_E_PARAMNOTFOUND. These values are now translated automatically instead of being wrapped in an object. The reverse translation was already done when calling COM methods in previous versions.

Fixed VerCompare(a, ">" b) and reduced code size marginally.

Fixed AltTab-related load-time errors to be consistent with other errors.

Fixed errors thrown by a ComObject wrapper not being propagated correctly if it is called via an object/COM.

Fixed the Hotkey GUI control to allow setting the symbols ^, ! and + as hotkeys.

Fixed the Hotkey control to include modifiers when its value is set to a symbol.

Fixed Menu Add overwriting items which were appended by Menu Insert.

Fixed potential misbehaviour of InputHook.KeyOpt() with single chars.

  • Option removal potentially not affecting the corresponding SC.
  • Options potentially also being applied to sc000.

Fixed a bug with custom combos where a set of hotkeys like a & b::, a:: and a up:: would fail to suppress the release of a if a:: alone is disabled with #If.

Fixed a bug where a key-down event is correctly suppressed by a hotkey, but sending an additional key-down with SendLevel > 0 would prevent the subsequent key-up from being suppressed, even if the sent event is ignored due to #InputLevel.

Fixed a & b up:: not suppressing b if a & b:: is present but disabled by #If.

Optimized allocation of cached COM property names for built-in IDispatch.

Refactored code to support a build configuration for AutoHotkey as a DLL.

SHA256 hash E16E14A5902618298C24B6B6A2503D83D435BD647DCBDC2A20FA5F7285C57168 AutoHotkey_1.1.37.00_setup.exe

v2.0.3

19 Jun 10:41
v2.0.3
fbde5d4
Compare
Choose a tag to compare

Fixed Hotkey("a", "b") to use the original function of "b", not "a". [PR #318]

Fixed FileSetAttribute crash when used in a File Reading Loop. [PR #323]

Fixed duplicate Gui control name errors to correctly abort the thread.

Fixed DateTime/MonthCal Range option not applying minimum value.

Fixed s[x] => x and other single-line properties starting with "s".

Fixed a bug with deleting a breakpoint on a static line containing =>.

Fixed Button control not becoming default when clicked.

Fixed PixelSearch to unset X when pixel is not found.

Fixed hotstring with escape sequence causing next line to be skipped.

Fixed WinTitle ignoring character 1 when "ahk_" is at character 2.

Fixed remapping to utilize right-hand modifier already being down. For example, +x::+y will no longer release RShift to press LShift.

Changed error message for a == b && c() and similar cases to avoid alluding to legacy =.

Improved error message for some cases of unintended line continuation.

Fixed reserved words to be permitted as method names, as documented.

Fixed duplicate OnMessage calls for some keyboard messages.

Fixed inter-referenced closures being deleted prematurely.

Fixed SetFont to permit leading spaces in the Options parameter.

Fixed sending of {ASC nnnn}.

Fixed a.base := a to throw an error.

Fixed x.y := unset causing crashes or undefined behaviour.

Fixed GuiControl.Move() to be relative to the GUI's client area even when the GUI is not its parent.

Fixed Menu Add overwriting items which were appended by Menu Insert.

SHA256 hash A32362B2769CB3CD8CAA10722C50208B7170FE82D3663E85425DF416422B4D22 AutoHotkey_2.0.3_setup.exe

v2.0.2

02 Jan 09:04
v2.0.2
27a2d5f
Compare
Choose a tag to compare

Refer to the announcement topic for a list of bug fixes.

SHA256 hashes 9C8B1AECAF1BDDED80BEC98EC5AB5B9B9754CBCE9439DD9EACC7D1774D1438F8 AutoHotkey_2.0.2_setup.exe 8F28C38A0B2AF6AC96C4A7E1A2C0F296B2410F845D9ACA8487843A1EDAC4271D AutoHotkey_2.0.2.zip

v2.0.0

20 Dec 08:04
v2.0.0
3db7b02
Compare
Choose a tag to compare

Refer to the announcement topic for a list of changes since v2.0-rc.3.

Refer to Changes from v1.1 to v2.0 if you are new to v2.

SHA256 hashes 04EB8295AF197DA058CEC5A2B78B8B7F6BCEE7299CBADEBF68DC6837968C5BB0 AutoHotkey_2.0.0.zip 8DC4871AC544D2CD0FF7CCD84B8862EAF9BA0AF18BD5B71E29146B17E4B13783 AutoHotkey_2.0.0_setup.exe

v1.1.36.02

07 Dec 10:59
v1.1.36.02
ec19fd7
Compare
Choose a tag to compare

Improved ComObjConnect to allow detecting disconnect via __Delete.

Fixed a performance issue with command args exceeding 4*1024*1024 chars.

Fixed FileCreateDir with network shares/UNC paths.

Fixed undefined behavior for File.Length/Read() with console buffers.

v1.1.36.01

02 Dec 09:31
v1.1.36.01
1420a79
Compare
Choose a tag to compare

Fixed undefined behaviour for Switch numeric comparisons.