Here are the changes:
Compatibility: The change most likely to affect backward compatibility is
that floating point numbers stored in variables now have higher precision.
Scripts that rely on tiny differences in precision would either need to be
reviewed and updated, or have their compatibility improved by using
"SetFormat Float" (e.g. SetFormat, Float, 0.6) anywhere in the script.
"SetFormat Float" disables the higher precision, but gives up some of the
new, faster floating point performance.
Performance: The main theme of this release is faster performance. Almost
all scripts should run faster -- especially those that make heavy use of
expressions and integer math/comparisons (which may run up to three times as
fast). To achieve the full benefit, a script either should avoid using
SetFormat or should use SetFormat's fast mode:
http://www.autohotkey.com/docs/commands/SetFormat.htm#Fast
===
Performance improvements
Expressions and function calls are compiled more heavily, making them much
faster (especially complex integer expressions, including those with
commas).
Binary numbers are cached for variables to avoid conversions to/from
strings. This makes numerical operations involving variables much faster.
Literal integers in expressions and math/comparison commands are replaced
with binary integers, which makes them faster; e.g. X+5 and "if x > 5".
LOOPs, IFs, and ELSEs that have blocks (braces) are faster due to skipping
the opening '{'. A side-effect is that the '{' is omitted from ListLines.
Thread-creation performance is improved, which should help rapid-fire
threads in OnMessage(), RegisterCallback(), and GUI events.
===
Changes that might affect existing scripts (other than higher-precision
floating point described at the top)
When "SetFormat, Integer, Hex" is in effect, assigning a literal decimal
integer to a variable also converts it to hex. Usually this is only a
display issue.
For OnMessage() performance, the message number and HWND arrive as standard
numbers rather than appearing unconditionally as hex. Usually this is only a
display issue.
To achieve various improvements in performance, scripts now use slightly
more memory (proportionate to the number of variables and expressions).
Changed and fixed "if var is time" and other uses of YYYYMMDDHHMISS
date-time stamps to recognize that months outside the range 1-12 are
invalid. [thanks Nick]
Changed and improved dynamic function calling to allow passing more
parameters than defined by a function, in which case the parameters are
evaluated but discarded. [developed by Lexikos]
===
Other improvements
Added function IsFunc(), which indicates whether a function may be called
dynamically. [developed by Lexikos]:
Added the while-loop, which repeats its commands until its expression
evaluates to false. [developed by Lexikos]:
http://www.autohotkey.com/docs/commands/While.htm
Added an assume-static mode for functions. [developed by Lexikos]
Added built-in variables A_IsPaused and A_IsCritical. [developed by Lexikos]
Improved NumPut() to support UInt64 like DllCall(). [thanks Sean]
Improved mouse wheel support by adding WheelLeft and WheelRight as hotkeys
and supporting them in Send, Click, and related commands. However,
WheelLeft/Right has no effect on operating systems older than Windows Vista.
[developed by Lexikos]: http://www.autohotkey.com/docs/Hotkeys.htm#Wheel
Upgraded compiled script compressor from UPX 3.00 to 3.03.
Fixes
Fixed inability to use MsgBox's timeout parameter when the "Text" parameter
had an expression containing commas.
Fixed "Menu, Delete, Item-that's-a-submenu" not to disrupt the associated
submenu. [thanks animeaime & Lexikos]
Fixed the GUI Hotkey control to return usable hotkey names even for dead
keys (e.g. "^" instead of Zircumflex). [thanks DerRaphael]
Fixed RegDelete so that it won't delete an entire root key when SubKey is
blank. [thanks Icarus]
Fixed registry loops to support subkey names longer than 259 (rare). In
prior versions, such subkeys would either be skipped or cause a crash.
[thanks Krzysztof Sliwinski & Eggi]
Fixed FileSelectFolder by providing an option to make it compatible with
BartPE/WinPE. [thanks markreflex]
Fixed window/control IDs (HWNDs), which in rare cases wrongly started with
0xFFFFFFFF instead of just 0x. [thanks Micahs]
Fixed inability of Send commands to use the Down/Up modifiers with the "}"
character. [thanks neovars]
Download it at http://www.autohotkey.com/download/