v2.0-rc.1

Community news and information about new or upcoming versions of AutoHotkey
Locked
lexikos
Posts: 9560
Joined: 30 Sep 2013, 04:07
Contact:

v2.0-rc.1

Post by lexikos » 20 Nov 2022, 02:41

I have labelled this release as a release candidate to make it clear that future v2.0 releases will contain only bug fixes and optimizations, as far as the program code is concerned (although I may make exceptions for debugging features, such as one I forgot to merge, which will be added to v1 as well). The v2.0.0 release is planned for later this year, after I have done more work on the packaging and documentation.

The v2 branch will be using semantic versioning, so new features will be developed in a v2.1-alpha branch or separate feature/experiment branches.


Fixed recently-broken things

Fixed undefined behaviour for Menu.Prototype.Insert().
Fixed StrCompare always returning 0.
Fixed ControlMove throwing when parent window is at 0,0.


Other changes

Fixed x.y := unset to delete the value property, not assign "".

Changed Menu methods to throw TargetError instead of Error when item isn't found.

Removed Dispatch* and EventSink debugger pseudo-properties from ComObject.
  • Inspecting the EventSink property wouldn't work because the property itself can't be queried.
  • DispatchName and DispatchIID aren't useful enough, especially when the class name is available.
Added ProcessGetParent(PidOrName).


UX

Previously the launcher was designed to wait for the script to exit only if /iLib, /validate or /Debug was used, or stdout was redirected. This was intended to prevent a launcher process sitting in the background for every script that is launched via Explorer (i.e. double-clicking a script file), but it meant that RunWait(ScriptPath) would fail to wait for the script to exit. The launcher now terminates early only if the parent process is explorer.exe, or if the parent process terminates before the script process (since in that case, it obviously isn't waiting).

Added the /Launch switch to the launcher and *Launch shell verb during installation. These can be used to launch a script and, instead of waiting for it to exit, return the script's PID as the launcher's exit code (e.g. the return value of RunWait).

Added the /Which switch to the launcher. This can be used to ask the launcher which version of AutoHotkey it thinks a script is for, which EXE it would run and any command-line switches it would add (such as /CP65001) based on the user's settings. This is intended for use by editors and other tools.

Documented the /RunWith launcher switch.

Window Spy was changed to return per-monitor DPI aware coordinates. This was intended to be reverted since it doesn't match the behaviour of scripts, and will be reverted in the next update.


SHA256 hash

lexikos
Posts: 9560
Joined: 30 Sep 2013, 04:07
Contact:

v2.0-rc.2

Post by lexikos » 02 Dec 2022, 17:08

Fixed undefined behaviour for Download (crashes on Windows 7).
Fixed array.Capacity := 0.
Fixed BoundFunc to not report true for IsBuiltIn.
Fixed debugger to enumerate Gui controls by default instead of producing <enum>.
Fixed trailing unset in f(a?, b*) to not count toward MaxParams.

Changed RegEx callouts to be resolved at the time of each callout. This fixes the following:
  • Undefined behaviour when a closure is referenced as a callout (generally crashes due to dangling pointers).
  • References to nested functions being cached, so evaluating the regex in a different function calls the wrong nested function.
Merged v1.1.36.01.


UX

Reverted a change to WindowSpy that made coordinates inconsistent with scripts due to DPI scaling.

Improved the launcher to allow for the Unicode, ANSI, 32-bit and 64-bit keywords in #Requires (supported by v1.1.36+ and v2.0-rc2+).

Improved the launcher to allow for and any other keywords supported by the launcher by appending #Requires with a comment ; prefer followed by a space and list of keywords, ending with a full stop or line-ending. These are used to select the EXE as with the keywords in #Requires, but are not considered requirements, and will work with scripts for older AutoHotkey versions.

Replaced the launcher's basic Menu prompt for selecting v1 or v2 with a custom Gui.

Changed the editor selection GUI to use the launcher logic to determine which EXE to use when the editor "app" is a script.

Fixed the installer and Ahk2Exe installation script to run the Dash/Ahk2Exe as a standard user.


SHA256 hashes

lexikos
Posts: 9560
Joined: 30 Sep 2013, 04:07
Contact:

v2.0-rc.3

Post by lexikos » 10 Dec 2022, 07:20

Merged v1.1.36.02.
Fixed VerCompare(a, ">" b).
Fixed MonitorGetPrimary.

SHA256 hashes
Last edited by lexikos on 10 Dec 2022, 18:02, edited 1 time in total.
Reason: Updated the downloads to include a valid AutoHotkey.chm.

Locked

Return to “Announcements”