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.
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