History
IMPORTANT: See here for recent script-breaking changes.
Here is the summarized history of the changes to AutoIt v3.
(For the complete technical history click here. For the complete history including all changes between beta versions click here.)
3.3.16.1 (19th September, 2022) (Release)
AutoIt:
- Fixed #3866: REGEXPCLASS broken in 3.3.16.0.
- Fixed #3865: Image Control resizing behave as forced $GUI_DOCKWIDTH and $GUI_DOCKHEIGHT.
- Fixed #3864: StringRegExp() crash with patterns that cause infinite recursion.
- Fixed #3876: Hex Number Arithmetic is incorrect.
- Fixed #3869: Subtraction operator before power operation is parsed incorrectly.
- Fixed #3879: Dim Map to Array.
- Fixed #3875: GUICtrlSetResizing() performance by Reverting #3831: GUICtrlSetPos() $GUI_DOCKHCENTER.
- Fixed: missing uninstalling file GUICtrlInternals.au3 since 3.3.15.2.
- Fixed: regression GUICtrlSetResizing() $GUI_DOCKBOTTOM full screen with WS_POPUP style.
UDFs:
3.3.16.0 (6th March, 2022) (Release)
AutoIt:
- Changed: PCRE regular expression engine updated to 8.44.
AutoItX:
- Changed: AutoItX .NET assembly updated to .NET 4.0 / CLR 4.
- Changed: AutoIt PowerShell CmdLets updated to .NET 4.0 / CLR 4.
- Changed: Updated C++ example.
Aut2Exe:
- Fixed #2383: Aut2exe GUI dropped files.
- Added #3684: Aut2exe title with version.
Au3Check:
- Fixed #2822: object('item')('item') syntax support.
- Fixed #3560: parentheses around function reference.
- Fixed #3785: Crash if too many includes.
Au3info:
- Added #3938: DPI scaling Support.
UDFs:
- Changed: slight improvement when _DebugReport() display "error code:" different from 0.
- Changed: _WinAPI_Reg*() doc and examples.
- Changed: _SQLite 3.22.0.0 -> 3.28.0.0.
- Changed #3620: Removed "stable" from _ArraySort function header.
- Changed: Updated used Excel constant enumerations in ExcelConstants.au3 to Excel 2016.
- Fixed #3605: _GUICtrlListView_SetBkImage() does not accept control ID.
- Fixed: _GUICtrlEdit_GetCueBanner() and _GUICtrlEdit_ShowBalloonTip() using Unicode string.
- Fixed: Use _WinAPI_GetString() instead of _WinAPI_WideCharToMultiByte() to handle Unicode.
- Fixed #3618: $tagNMLVKEYDOWN, $tagNMTVKEYDOWN, $tagNMTCKEYDOWN structure alignment.
- Fixed #3619: _WinAPI_LocalFree() doc.
- Fixed #3243: _WinAPI_MoveFileEx() if $sNewFile = 0 and $MOVE_FILE_DELAY_UNTIL_REBOOT.
- Fixed #3264: _INetSmtpMail() bad $sFirst default value.
- Fixed #3265: _INetSmtpMail() bad Bias calculation.
- Fixed: _WinAPI_GetErrorMessage(), _WinAPI_GetLastErrorMessage() returning @error.
- Fixed: _WinAPI_GUIDFromStringEx() return on error.
- Fixed: _WinAPI_EnumProcessHandles() seting @extended if too many Handles.
- Fixed #3626: _WinAPI_GetSaveFileName() example.
- Fixed: _WinAPI_RegQueryValue() wrong return on success and does not return error $ERROR_MORE_DATA.
- Fixed #3628: _WinAPI_GetCaretPos() bad return.
- Fixed #3632: _Net_Share_ShareCheck() 2nd parameter is a $sResourcePath.
- Fixed: _ArrayInsert() range element comparison datatype mismatch.
- Fixed #3637: _ArrayDisplay() error when Array is empty and Range parameter exists.
- Fixed #3657: _GUICtrlListView_SimpleSort selected item when no selection.
- Fixed #3687: Corrected HSL constantvalues for RGB-HSL-RGB conversion.
- Fixed #3699: _ArrayMin(), _ArrayxMinIndex(), _ArrayMax() and _ArrayMinIndex() examples.
- Fixed #3708: _WinAPI_LoadCursor() and _WinAPI_GetIconInfo() must use $OCR_* instead of $IDC_* that are used in AutoIt Mouse builtin.
- Fixed #3711: _WinAPI_EnumWindows() and _WinAPI_EnumWindowsPopup() examples.
- Fixed #3713: missing $ENM_NONE definition.
- Fixed #3716: _ArrayToClip() example.
- Fixed #3714: _GUICtrlTreeView_Sort() crash with 1 element TreeView.
- Fixed #3744: _Crypt_DestroyKey() does not return error on wrong key.
- Fixed: $LANG_FRENCH value in _WinAPILangConstants.au3.
- Fixed #3733: _FileListToArrayRec() sometimes hanging when ".." filename was returned causing an endless recursion.
- Fixed #3737: _ArrayUnique() failed with a single element array when using $iBase parameter.
- Fixed #3755: _ArrayInsert/Delete $vRange delimited string failing.
- Fixed: _GUICtrlTreeview_*() running in X64 mode.
- Fixed: GUITreeView.au3 running in X64 Mode (Thanks Danyfirex).
- Fixed: Problem with _WinAPI_GetFontResourceInfo() & _WinAPI_GetFontMemoryResourceInfo().
- Fixed #3728: Added optional parameter to _ArrayTranspose to force single column 2D array to 1D.
- Fixed #3678: Amended Help file to show that _FileWriteLine with no text blanks a line, not removes it.
- Fixed #3757: Added note to GUICtrlListView_SetColor* pages about need to use BGR format.
- Fixed #3697: _WinAPI_GetOverlappedResult() failure.
- Fixed #3647: _GDIPlus_ImageResize() ghost border.
- Fixed #3650: _GDIPlus_ImageResize() off by one.
- Fixed #3633: _GUICtrlRichEdit_GotoCharPos() does not detect end of text.
- Fixed #3765: _FileWriteLog() using Handle Cannot insert atvthe beginning, just set @extended.
- Fixed #3776: __EventLog_DecodeDesc().
- Fixed: _GUICtrlListView_SetItemChecked() regression and more GUIListview.au3 functions.
- Fixed: _WinAPI_CreateEvent() return error on already define $sName.
- Fixed: use "wstr" for "ptr" with Null value.
- Fixed #3791: _ArrayDisplay() sort arrow.
- Fixed #3805: $tagRID_DEVICE_INFO_KEYBOARD definition.
- Fixed #3810: _ArrayUnique not handling "Default" for Parameter $iIntType.
- Fixed: _WinAPI_DragQueryFileEx() $iflag behavior when mix drag (Thanks pixelsearch).
- Fixed #3812: _DateTimeSplit() returning @error.
- Fixed #3814: $PAGE_ connstants for _WinAPI_CreateFileMapping().
- Fixed #3819: _FileCountLines() can use file handle.
- Fixed #3821: _WinAPI_OemToChar() with string greater than 65536 crash.
- Fixed: _Now(), _NowCalc(), ... date time coherency when call just on hour change. (Thanks argumentum).
- Fixed #3824: _GUICtrlRichEdit_StreamToFile(), _GUICtrlRichEdit_StreamFromFile() default encoding doc.
- Fixed #3828: SetError(), SetExtended() broken doc links.
- Fixed #3827: _GUICtrlListView_ClickItem() outside listview area.
- Fixed #3835: Magic numbers in GDIPlus doc.
- Fixed #3833: _WinAPI_RegisterRawInputDevices() $iCount.
- Fixed #3842: _StringToArray() default parameter doc precision.
- Fixed #3846: missing $LVKF_* constants definition.
- Fixed #3847: _GUICtrlEdit_ShowBalloonTip() crash in _WinAPI_MultiByteToWideChar().
- Fixed #3848: _GUICtrlListView_GetItemTextArray() no error detection in multicolumn.
- Fixed #3850: _WinAPI_GetDriveNumber() does return - 1 as partition number.
- Fixed #3852: _ArrayToString() speed optimization.
- Fixed: Constants for _WinAPI_GetCursorInfo().
- Fixed: Debug.au3 when stripping.
- Fixed #3861: RunAs() doc remark.
3.3.14.5 (16th March, 2018) (Release)
UDFs:
- Fixed #3606: CheckForUpdates : Extras\AutoUpdateIt\AutoUpdateIt.au3 script.
3.3.14.4 (9th March, 2018) (Release)
UDFs:
3.3.14.3 (2nd February, 2018) (Release)
AutoIt:
- Changed: Location of the link pointing to the #pragma directive. Found in the language directives page.
- Changed: PCRE regular expression engine updated to 8.37.
- Fixed #3237: Event log decoding now deals with more than 9 tokens.
- Fixed #3068: Switch comment was incorrect in the documentation.
- Fixed #2997: Fixed bug with caseless UTF regular expressions.
- Fixed #3009: MouseGetCursor() for HAND.
- Fixed #2899: WinGetHandle("LAST") @error.
- Fixed #2945: Center and right justified text broken on native buttons when colours set.
- Fixed #2916: GUISetCoord() not used in GUICtrlCreatePic().
- Fixed #2869: GUICtrlSetTip() displays wrong tip.
- Fixed #2892: GUICtrlSetData() on Dummy Control.
- Fixed: EnvUpdate() will no longer be blocked by hung windows.
- Fixed: pragma directive was not working correctly for setting Windows 10 options.
- Fixed: WSAGetError -> WSAGetLastError typo in TCP/UDP doc functions.
- Fixed #3193: Help "Language Reference - Variable" example.
- Fixed: $EXITCLOSE_BYSUTDOWN -> $EXITCLOSE_BYSHUTDOWN typo in AutoItConstants.au3 used with OnAutoItExitRegister(). THIS IS A SCRIPT BREAKING CHANGE
UDFs:
- Removed: _MathCheckDiv() documentation has been removed, as it was a basic wrapper for Mod($iNum1, $iNum2). THIS IS A SCRIPT BREAKING CHANGE
- Removed #3071: 4th example from the Random() documentation, as it was for a workaround that isn't required anymore.
3.3.14.2 (18th September, 2015) (Release)
AutoIt:
- Fixed: #pragma directive was not working correctly for setting Windows 10 options.
UDFs:
3.3.14.1 (28th July, 2015) (Release)
AutoIt:
- Changed: Installer method of modifying PSModulePath updated.
Others:
- Changed: AutoIt3Help.exe reworked and digitally signed.
3.3.14.0 (10th July, 2015) (Release)
AutoIt:
- Changed: Minimum OS requirements are now Windows XP SP3 and Windows Server 2003 SP2.
- Changed: PCRE regular expression engine updated to 8.35.
- Changed: Default text file encoding changed to UTF8 without BOM.
- Changed: FileOpen() has new modes for forcing ANSI, UTF16-BE/LE without BOM.
AutoItX:
- Changed: AutoItX3.psd1 renamed to AutoItX.psd. PSModulePath updated on install so that the system will auto-import.
UDFs:
- Changed: _SQLite 3.8.4.3 -> 3.8.10.0.
- Changed: Reduced duplicate code for finding the maximum and minimum value in an array.
- Changed: _ArrayAdd() now uses constants to change addition behaviour and datatype forcing.
- Changed: _ArrayInsert now uses constants to change addition behaviour and datatype forcing.
- Changed: _GDIPlus_Startup() need explicit Dll for GDI+ v1.1 support under Vista or Server 2008.
- Changed: Removed internal redraw code from _GUIListView_DeleteAllItems() and _GUIListView_DeleteSelectedItems().
- Changed: _ArrayUnique() can now deal with Int64 values via new parameter.
- Changed: Re-wrote _StringInsert() using native functions.
- Changed: _HexToString() to _StringToHex() now handles strings and binary as UTF-8 by default.
- Changed: _FileWriteToLine() overwrite optional parameter is now boolean and not an integer of zero or one. The old values are still supported for now.
- Changed: _Excel_BookOpen() changed from @error = 4 to @error = 0 and @extended = 1 if Workbook could not be opened Read-Write. THIS IS A SCRIPT BREAKING CHANGE
- Changed: _Word_DocOpen() changed from @error = 4 to @error = 0 and @extended = 1 if document could not be opened Read-Write. THIS IS A SCRIPT BREAKING CHANGE
- Changed: Re-wrote _MathCheckDiv().
- Changed: _ArrayTranspose() algorithm.
Au3Check:
- Fixed: False error report on COM variable.
- Fixed: False error report on With statement.
- Added: Support of UTF8 with BOM files.
Others:
- Changed: Improved highlighting AutoIt code inside the HTML files.
- Added: Icons\MyAutoit3_*.ico to be used when compiling user scripts (small footprint).
- Added: lang-autoit.js code highlighting file for Google Prettify. See the Extras\Prettify folder.
- Fixed: Re-writing the scripts which generate the syntax files for the editors and GeSHi, resulted in missing descriptions being added and correct sorting of functions.
3.3.12.0 (1st June, 2014) (Release)
AutoIt:
- Changed: PCRE regular expression engine updated to 8.34.
UDFs:
- Removed: Usage of Call() in _FTP_ProgressDownload(), _FTP_ProgressUpload() and _SQLite_Startup(). See documentation for changes to $hFunctionCall and $hPrintCallback parameters. THIS IS A SCRIPT BREAKING CHANGE.
- Removed: http://api.exip.org/?call=ip from _GetIP() as the site was taken offline.
- Removed: _WinAPI_GetUDFVersion() as all UDFs share the same version number as the AutoIt version they are shipped with.
- Changed: Constant variables are now used in the UDFs rather than their value.
- Changed: Re-wrote _FileWriteToLine() to use FileReadToArray().
- Changed: Re-wrote _DateDayOfWeek() which can now return the days of the week of the user's locale.
- Changed: _FileReadToArray() now returns a 1D/2D array depending on parameters used.
- Changed: Re-wrote _DateToMonth() which can now return the months of the user's locale.
- Changed: Re-wrote Array UDF to add 2D support and add some functions. THIS IS A SCRIPT BREAKING CHANGE.
- Changed: Excel UDF was re-written. Functions and/or parameters have been renamed, removed or added. THIS IS A SCRIPT BREAKING CHANGE.
- Changed: _SQLite 3.8.2.0 -> 3.8.4.3.
Au3Check:
- Fixed #2612: Function reference ByRef.
- Fixed: Undetected errors.
AutoIt3Help:
- Changed: Version number to 1.0.0.6.
- Added: Windows activation when already open.
Others:
- Changed: Help file syntax variable names to a standard naming convention for easier understanding and consitency in the calltip syntax files.
- Added: Keywords and Macros to the Notepad++ autoit.xml file.
- Fixed #2677: AutoIt.chm Installdir.htm reference.
- Fixed #2676: AutoIt.chm Installdir.htm \Sqlite reference.
- Fixed #2725: AutoIt3.chm printing example.
3.3.10.2 (30th December, 2013) (Release)
AutoIt:
- Fixed #2576: All AutoIt EXEs and tools not working on older Athlon XP processors due to SSE compiler options.
Aut2Exe:
- Fixed #2580: Aut2Exe failing to run multiple times on Windows XP prior to SP3.
Others:
- Fixed #2571: Notepad++ autoit.xml was incorrectly formatted and not displaying calltips.
3.3.10.1 (28th December, 2013) (Release)
AutoIt:
Aut2Exe:
- Fixed: Aut2Exe was leaving a temporary file around.
UDFs:
3.3.10.0 (23rd December, 2013) (Release)
AutoIt:
- Removed: PluginOpen() and PlugInClose() removed to due to not being used and never having progressed past the experimental stage.
- Changed: Removed Windows 2000 support. Minimum supported OS is now Windows XP RTM / Windows Server 2003.
- Changed: upx.exe from 3.07 -> 3.91.
- Changed: PCRE regular expression engine updated to 8.33.
- Changed: Default newline character for PCRE regexes changed to ANYCRLF.
- Changed: ReDim works on arrays declared as static.
- Changed: Run-time errors on objects no longer fatal (execution of the script is not halted).
- Changed: Allowing multiple COM Error Handlers. Last one registered and alive gets called.
- Changed: VT_NULL VARIANT converts to Null keyword (previously empty string).
- Changed: Default manifest file on AutoIt and compiled exes is set for "AsInvoker" and tagged with compatibility for Vista/Win7/Win8 and Win8.1.
- Changed: #NoAutoIt3Execute option replaced with #pragma compile(AutoItExecuteAllowed, false). Default is false.
- Changed: IsAdmin() function changed to be based on token membership. Maybe more acurate for Sandbox type environments.
- Changed: ShellExecute() will return the process ID.
- Added: DriveGetType() updated so that it can detect SSD, and also bus types (SATA, USB, etc.).
- Added: Interpreter accepts 64bit hex numbers.
- Added: Keyword Null.
- Added #488: Third parameter for ObjGet() function to specify object instance.
- Added: Compound assignment operators for object properties.
- Added #1191: Explicit size of arrays optional for explicit initialization.
- Added: Array access on expression: StringSplit("a,b", ",")[1].
- Added: Dot access on expression: ObjCreate("Shell.Application").GetSystemInformation("DirectoryServiceAvailable").
- Added: Empty arrays.
- Added: Functions can now be referenced in variables and the function can be called through the variable.
- Added: FuncName().
- Added: Built-in functions that take a callback now be passed directly in addition to the old method of passing as a string. Built-in functions can also be passed now (be careful that the function you pass matches what the caller expects).
- Added: C++ style ternary operators: Local $fResult = ("foo" = "bar") ? True : False.
- Added: Expression as default function parameter.
- Added: With...EndWith can be used on expressions having dot-access.
- Added: Nested "With...EndWith".
- Added: Call() calls built-in functions.
- Added: ByRef with Call() function.
- Added: Support for more COM VARIANT types.
- Added: @OSVersion supports Windows 8.1 and Windows 2012 R2.
- Added: Regular expressions (PCRE engine) now using the new native 16bit mode and also compiled with full UCP support. Prefix patterns with (*UCP) to enable.
- Added: @LocalAppDataDir for local AppData (@AppDataDir is the roaming location).
- Added: StringReverse() - a UTF16 compatible string reversal function.
- Added: FileReadToArray() - native version of _FileReadToArray().
- Added #2358: FileInstall() accepts @ScriptFullPath as the first parameter to allow easy inclusion of the script source.
- Added #2433: Monospaced in Fonts appendix.
- Fixed #2067: -2147483648 not stored as int32.
- Fixed #2003: ProcessWaitClose() using too much CPU.
- Fixed #2076: COM VARIANT not correctly set for boolean True.
- Fixed #2015: DllCallbackRegister() mangles floating point numbers under x64.
- Fixed: x64 DllCall not setting double type parameters correctly.
- Fixed: DllCallbackRegister() not returning floating point types correctly.
- Fixed: Different issues with Static keyword.
- Fixed #2078: Error in COM expression.
- Fixed #2073: Unexpected termination with ContinueLoop.
- Fixed #1485: Unexpected termination with ContinueCase.
- Fixed: Crash in ObjEvent() for ByRef object parameters.
- Fixed #2068: Repeated calls to Acos() no longer produce strange results. NOTE: This fix increases the size of AutoIt by approximately 60KB.
- Fixed: ObjGet() fails validating class identifier properly when first parameter for the function is specified.
- Fixed #2111: RunAs() could fail even if a user had the correct permissions to use it.
- Fixed #1395: DLLCallbacks on Exit.
- Fixed: Ptr() returns null pointer for objects.
- Fixed #1319: Hang at exit for RichEdit user controls.
- Fixed #2138: Fixed GUICtrlRead() on dummy controls was corrupting strings and possibly crashing AutoIt.
- Fixed #1760: #OnAutoItStartRegister ignores single quoted function names.
- Fixed #2146: Crash when closing AutoIt when started from a console window.
- Fixed: DLLStruct type forgotten in comparison operations.
- Fixed: "struct" type parameter in DllCall() overwrites possibly following parameters.
- Fixed #1566: Array as its own element issue.
- Fixed #1551: Crash the script when changing array.
- Fixed: ReDim allows initialization to non-array.
- Fixed #2166: StringToASCIIArray() and StringFromASCIIArray() did not correctly return an empty string when the start index is greater than the end index.
- Fixed #1901: 32-bit compiled scripts now work from the system32 directory on 64-bit Windows.
- Fixed #2157: ProcessList() would crash if there were more than 512 running processes.
- Fixed #2215: Bad syntax check for default function parameters.
- Fixed #2222: Non-ASCII characters not allowed in object properties/methods.
- Fixed #2235: ProcessGetStats() defaulted to using the current process if an invalid process was specified.
- Fixed #2253: Ping() returns success with no connection.
- Fixed #1498: #RequireAdmin endless loop for disabled UAC.
- Fixed #1698: GUICtrlSetLimit(), limit 32767
- Fixed: Subtle bugs with Ping()
- Fixed #2286: GUICtrtlGetState() without a controlID parameter runs but aborts AutoIt.
- Fixed #2350: Strange issue when using $SS_ETCHEDVERT and $SS_ETCHEDHORZ.
- Fixed #2311: Wrong handling of casesense parameter in StringReplace()
- Fixed #2361: RegRead() doesn't read REG_QWORD values.
- Fixed #2362: WinGetText() and ControlGetText() would sometimes give invalid results due to the target application's handling of WM_GETTEXT.
- Fixed #2075: GUICtrlSetImage() changes icon position on resizable window.
- Fixed #1667: WinMove() Child window.
- Fixed #2367: Sometimes two COM objects wouldn't be classed as equal during comparisons.
- Fixed #1024: GUICtrlSetTip() for tabitems sets incorrectly in certain situations.
- Fixed #2366: For loop not working as expected.
- Fixed #2384: UDPRecv() and TCPRecv() not setting @error correctly in some instances.
- Fixed #2314: Cursor flickers when moving over certain GUI controls.
- Fixed #2066: DllStructSetData() returning int64 instead of int32 in some cases.
- Fixed #2427: ControlTreeView() does not used Option2.
- Fixed #2105: RegRead() and DWORD types incorrectly stored as double.
- Fixed #2299: GUI Button Text Left-Justify for colored button.
- Fixed #1954: ListViewItem returns 0 (failure) even though it populates the ListView.
- Fixed #2152: X^2 Not Working in Hex().
- Fixed #1870: @GUI_DRAGFILE.
- Fixed #2461: GUICtrlSetImage doesn't handle certain types of .gif file.
- Fixed #2167: $WS_EX_LAYOUTRTL and GUICtrlCreateMenu causes bug.
- Fixed #2468: #OnAutoItStartRegister function doc precision.
- Fixed #2315: @OSVersion WIN_2012 support.
- Fixed #2171: TCPTimeout inconsistent.
- Fixed #2518: Static keyword not working correctly.
- Fixed: StringStripCR() and StringAddCR() not working with strings that contain nulls.
UDFs:
- Removed #2174: Explicitly checking if the source and insert strings for _StringInsert() were strings and forcing an @error return value. (@error values 2 and 3 have been removed, please check the documentation.)
- Removed #2187: Forcing _GUICtrlRichEdit_Create() to create a richedit control in a positive position. (@error values 103 and 104 have been removed, please check the documentation.)
- Removed #2172: Select...EndSelect statement from _StringRepeat() and replaced with an If...EndIf as well as optimised the code.
- Removed: Documentation and example for _Iif(). Scripts should be updated to use ternary operators instead. THIS IS A SCRIPT BREAKING CHANGE.
- Removed: Documentation and example for _StringEncrypt(). Scripts should be updated to use the Crypt functions instead. Look at _Crypt_EncryptData() for an alternative example.
- Removed: _ArrayCreate() from Array.au3.
- Removed: Function headers in the UDFs, as information about the function can be found in the help file, This removal resulted in a 32.23% size reduction to the includes folder (7.01MB ->> 4.40MB).
- Removed: Documentation and example for _StringReverse(). Scripts should be updated to use the native function StringReverse() instead.
- Removed: $tagGDIPPENCODERPARAMS (duplicate of $tagGDIPENCODERPARAMS).
- Changed #2117: _FileCountLines() writing to a temporary array to calculate the number of lines in a file.
- Changed: _FileListToArray() to accept the Default keyword to use the default parameters.
- Changed: _FileReadToArray() to parse the file using a regular expression. Now various line endings (not recommended) are displayed correctly in the array.
- Changed: Word UDF was completely re-written. Function names changed from _Word* to _Word_*. THIS IS A SCRIPT BREAKING CHANGE.
- Changed: _Max() and _Min() functions now use the ternary operator.
- Changed: Re-wrote _ReplaceStringInFile() by removing the need to write to a temporary array. (@error values 4, 5 and 6 have been removed, please check the documentation.)
- Changed: Re-wrote _GetIP() for improved efficency and added http://www.myexternalip.com/raw to find the external IP address.
- Changed: _SQLite 3.7.2.0 -> 3.8.2.0.
- Changed: IE3.au3 v3.0-0 to v3.0-1 (see header info for changes).
- Changed: Array UDF now takes into consideration empty arrays.
- Changed: Re-wrote _ProcessGetName() for speed enhancements.
- Changed: Re-wrote _PathSplit() by using a regular expression. Contributed by DXRW4E.
- Changed: _GDIPlus_GraphicsGetSmoothingMode(), _GDIPlus_GraphicsSetSmoothingMode() functions.
- Changed: _FileWriteToLine() can read a file with various line endings (not recommended).
- Changed: $tagGDIPENCODERPARAMS using $tagGDIPENCODERPARAM.
- Changed: _GDIPlus...() using integer or float for positioning.
- Changed: Modified _ArrayUnique() with a faster version and improved error checking.
- Changed: $INTERNET_FLAG_NO_CACHE_WRITE default value for _FTP_ListToArray*().
- Changed: _ArrayDisplay() - new function with new functionalities.
- Changed: GUIListView - new _Delete* functions.
AutoItX:
- Removed: Removed DevC files and Visual Studio 6 files.
- Removed: ANSI versions of Send/WinWait functions from the native DLL.
- Removed: DLL Imports: AU3_WinGetPosX, AU3_WinGetPosY, AU3_WinGetPosWidth, AU3_WinGetPosHeight.
- Removed: DLL Imports: AU3_ControlGetPosX, AU3_ControlGetPosY, AU3_ControlGetPosWidth, AU3_ControlGetPosHeight.
- Removed: DLL Imports: AU3_MousePosX, AU3_MouseGetPosY
- Removed: DLL Imports: AU3_WinGetClientSizeWidth, AU3_WinGetClientSizeHeight.
- Removed: DLL Imports: AU3_WinGetCaretPosX, AU3_WinGetCaretPosY.
- Removed: DLL Imports: AU3_CDTray, AU3_BlockInput.
- Removed: DLL Imports: AU3_RunAsSet.
- Removed: COM Methods: CDTray, BlockInput.
- Removed: COM Methods: RunAsSet.
- Removed: All registry functions. The support was limited and the host language will certainly have registry functions.
- Removed: All Ini file functions. As per registry functions.
- Changed: Renamed AutoIt3.h to AutoItX3_DLL.h.
- Added: AutoItX3.Assembly.dll - a .NET Assembly wrapper for the DLL.
- Added: AutoItX3.PowerShell.dll and AutoItX3.psd1 - a set of PowerShell CmdLets.
- Added: Visual Studio 2010 C++ Project files (easy to use in 2010 or later).
- Added: DLL Import: AU3_WinGetPos.
- Added: DLL Import: AU3_ControlGetPos.
- Added: DLL Imports: AU3_MouseGetPos.
- Added: DLL Import: AU3_WinGetClientSize.
- Added: DLL Import: AU3_WinGetCaretPos.
- Added: DLL Imports: AU3_RunAs, AU3_RunAsWait.
- Added: COM Methods: RunAs, RunAsWait.
- Fixed: Crash in AU3_PixelSearch when function fails.
- Fixed: AutoItX3.lib files weren't correctly being copied to the install file.
Au3Check:
- Changed: Message case changed to support SciTE inline errors.
- Changed: An error is now generated for non-supported file encodings (Previous behavior was to silently pass the script).
- Changed: Au3Check version numbers now match AutoIt's.
- Changed: Explicit size of arrays optional for explicit initialization.
- Added: Generating error for hex numbers longer than 16 characters.
- Added: Compound assignment operators for object properties.
- Added: Array access on expression.
- Added: Dot access on expression.
- Fixed #2113: Object's properties in names of keywords treated as keywords.
- Fixed #2141: #IgnoreFunc was generating an incorrect error.
Others:
- Added: Notepad++ autoit.xml file to the Extras\Editors folder. This contains a list of up to date functions.
- Added: Sublime Text AutoIt.tmLanguage file to the Extras\Editors folder. This contains a list of up to date functions.
- Added: 3rd party syntax files in Extras\Editors now include UDF functions.
- Fixed: StringRegExpGUI missing from the help file index menu.
Au3Record:
- Fixed #2083: There is no longer an error about a missing DLL.
- Fixed #2337: Support of non english keyboard.
AutoIt3Help:
- Changed: Manifest resource suggests Windows common controls v6.0.
- Changed: Version number to 1.0.0.5.
- Fixed #2519: Wrong page opening if launch without parameter.
3.3.8.1 (29th January, 2012) (Release)
AutoIt:
- Fixed: Built-in editor would not compile/go when installed on x64 or in a non-standard location.
3.3.8.0 (23rd December, 2011) (Release)
AutoIt:
- Changed: Compiling with VC10. Added workarounds for Win2000/XP RTM to allow execution of AutoIt, Aut2Exe, Au3Info, Au3Check and AutoItHelp.
- Changed: COM Error handler passes error object as first parameter to user defined error function.
- Changed: COM Error handler properties are read-only.
- Changed: Dec() and Hex() work with 64bit integers.
- Changed: Parentheses are required when invoking objects after all method names in order to have correct internal handling.
- Changed: Dec(), Int(), Number() have second optional parameter defining non-default behavior.
- Changed: Hex() detects doubles internally and processes them respecting binary format.
- Changed: New visual style for the documentation.
- Changed: 64bit integers have 16 characters display by default.
- Removed: COM Error object no longer exposes methods Raise() and Clear().
- Removed: Int() and Hex() no longer set @error.
AutoItX:
- Fixed #1686: AU3_PixelSearch crashes.
Au3Info:
- Added: Option "Use Spy++ control detection logic" toggle added to Au3Info (this was the mode always used in recent
- releases, but the very old method that used to be used is useful in certain applications (for example, putty.exe).
- Fixed #1746: Option "Use Spy++ control detection logic" toggle added to Au3Info.
UDFs:
Au3Check:
- Added: #forcedef directive to force var definition as after Assign().
- Added: -w 7 to check ByRef parameter passing.
- Fixed: Const Enum wrong ERROR.
- Fixed: Global declared in func not detected.
- Fixed #1051: no ERROR if keyword not followed by a separator as Local$a.
3.3.6.1 (16th April, 2010) (Release)
AutoIt:
- Fixed #1515: FileOpen still opening in exclusive mode in some situations.
3.3.6.0 (7th March, 2010) (Release)
AutoIt:
- Added #1376: FileOpen() mode parameter is now optional. Default mode is read.
- Added #1054: Added FileGetEncoding().
- Added: ControlCommand() "SendCommandID" - used to send WM_COMMAND Control ID messages. Allows the
- automation of ToolBarWindow32 controls (amongst others). For example, the "Back" button of
- Internet Explorer. Use Au3Info to get the Command ID from the ToolBar tab.
- Fixed #1428: AdlibRegister/Unregister() were incorrectly using case-sensitive function names.
- Fixed #1448: #OnAutoItStartRegister did not work in compiled scripts.
- Fixed #961: RegDelete() was not working properly on 64bit keys when using the 32bit version of AutoIt and HKLM64.
- Fixed: Regression in FileOpen() where it wasn't allowed to open files in read mode if they were already open in write mode.
- Fixed #1449: GUICtrlDelete() not working for GUICtrlCreateDummy() types.
- Fixed #1458: Inet sizes were capped to 32-bits.
- Fixed #1459: Hard crash when too much recursion is used.
- Fixed #1464: Regular expressions with a single character * pattern were stopping after the first null match.
- Fixed #1463: StringToASCIIArray() working incorrectly with UTF8 characters.
- Fixed #1475: TrayItemSetState($Value, $Tray_Checked) incorrectly enables a disabled TrayItem.
Aut2Exe:
- Fixed #1409: Ctrl+C is no longer the shortcut for Convert. It is now Ctrl+G (Go) to avoid clashing with a Ctrl+C copy operation.
Au3Info:
- Changed: Better identification of the control under the mouse.
- Fixed #1444: Controls in applications like RegEdit were left highlighted.
- Fixed #1391: ToolbarWindow32 info only showing the first toolbar.
AutoIt3Help:
- Fixed #1423: "Open Script" button stopped working.
AutoItX:
- Fixed: Missing .lib files readded.
UDFs:
3.3.4.0 (15th January, 2010) (Release)
AutoIt:
- Removed: The "RAW" reading mode from FileOpen() has been removed.
- Removed: InetGet("abort"), @InetGetActive and @InetGetBytesRead have been removed.
- Removed: AdlibEnable() and AdlibDisable() have been removed.
- Removed: OnAutoItStart and OnAutoItExit have been removed.
- Added: Ability to read and write UTF-8 files with no BOM including automatic detection during reading.
- Added #682: Removed the 64KB limitation for FileReadLine().
- Added: AutoIt scripts using the line continuation character "_" are no longer limited to a combined line length of 4095 characters.
- Added: FileRead() returns the number of characters/bytes read in @extended.
- Added #1311: MouseGetCursor() returns hand cursor.
UDFs:
- Changed: _SQLite 3.6.19 -> 3.6.22
AutoIt3Help:
- Fixed #1327: Some keywords would fail to open correctly in rare cases.
3.3.2.0 (18th December, 2009) (Release)
AutoIt:
- Removed: Long deprecate URLDownloadToFile() alias for InetGet().
- Changed: It is now possible to read from files opened for writing.
- Changed: PCRE regular expression engine updated to 8.00.
- Changed #899: ShellExecute[Wait]() no longer uses "open" as the default verb. See remarks section for those functions for more information.
- Changed: Inet functions rewritten with the following additions.
- Changed: InetGet() returns a handle which must be closed.
- Changed: @InetGetBytes, @InetGetActive and InetGet("abort") are deprecated and will be removed in the future.
- Changed #968: AutoUpdateIt updated by ProgAndy to use new Inet features.
- Changed: @YDAY now returns values in the range 001 - 366 instead of 1 - 366. This makes the macro more consistent with other languages (like C/C++) and more consistent with all other date related macros which return strings with leading 0s to pad the length. THIS IS A SCRIPT BREAKING CHANGE.
- Changed #1080: InetGet background downloads now return immediately instead of connecting to the remote host first.
- Changed #1137: RegEnumKey() and RegEnumVal() now correctly return an empty string on failure instead of an error message string.
- Changed: PixelChecksum() can calculate checksums from right-to-left and bottom-to-top.
- Changed: InputBox() no longer requires passing both x and y or w and h.
- Changed #1056: Added new Inet option to by-pass forcing the connection online.
- Added #529: Added the "NAME" property to allow direct search for .NET WinForm control names.
- Added #757: Set defaults for MouseClick()'s x/y parameters.
- Added #764: Return Pid on ProcessWait() and handle on WinWait(), WinWaitActive, WinActivate(), WinActive(), WinMove() when successful.
- Added #414: better handling of OnAutoItStart/OnAutoItExit, now #OnAutoItStartRegister, OnAutoItExitRegister() and OnAutoItExitUnRegister().
- Added: Better handling of AdlibEnable/AdlibDisable, now AdlibRegister(), AdlibUnRegister() and AdlibDisable().
- Added #351: Reverse PixelSearch().
- Added #769: FileFlush() function.
- Added #333: #NoAutoIt3Execute Directive for disabling /AutoIt3ExecuteScript or /AutoIt3ExecuteLine.
- Added #604: $GUI_BKCOLOR_TRANSPARENT can be used with label, group, radio, checkbox controls.
- Added #135: FileSetPos(), FileGetPos() functions for moving the file pointer around.
- Added #582: GUICtrlSetTip() can be used on TabItem controls.
- Added #699: Shutdown() now return @error=GetLastError() when failing.
- Added #461: StringReplace() from right to left if occurrence <0 as for StringInStr().
- Added: GUICtrlSetColor() and GUICtrlSetBkColor() for Combo Controls.
- Added: GUI without title bar (no $WS_CAPTION) can be moved with the mouse.
- Added #815: Temporary variables can be passed ByRef.
- Added #837: FileFindNextFile() set @extended if a directory is returned.
- Added #839: Shutdown() rewritten and now works properly when run as a non-interactive user.
- Added: Shutdown() now takes an optional reason code.
- Added #846: _PathFull() now supports strange but valid syntax where drives do not have a trailing slash.
- Added #869: @MUILang macro to help MUI environment scripts.
- Added #918: Added Quality parameter to GUICtrlSetFont() and GUISetFont().
- Added: ProcessClose() return info on error.
- Added: PixelChecksum() extra parameter to select CRC32 instead of ADLER.
- Added #984: @OSVersion now returns "WIN_XPe" for Windows XP Embedded.
- Added #938: UDPOpen() flag to allow broadcasting with 255.255.255.255.
- Added: new types to DllCall and DllStruct to avoid confusion with MSDN description. That avoid specially X64 errors.
- Added #351: PixelSearch() now supports both right-to-left and bottom-to-top searches.
- Added #508: Static keyword.
- Added #1056: New Inet option to by-pass forcing the connection online.
- Added: DllStructSetData() and DllStructGetData() index parameter now supports the Default keyword.
- Added #1270: GUISetIcon() now finds suitable large and small icons.
- Added: HttpSetUserAgent(), InetClose(), InetGetInfo() and InetRead() functions.
- Added: Multiple background downloads are now supported with InetGet().
- Added #408: New flag for ignoring SSL errors for HTTPS connections.
- Added #884: Better proxy support with mode 0.
- Added #949: The user-agent can be changed.
AutoItX:
Au3Info:
- Removed: ColorMode BGR option removed since AutoIt no longer supports the option to use BGR mode.
- Added: Control information now includes the .NET WinForm if available.
- Added #140: ToolsBar button info.
Aut2Exe:
- Fixed #1283: Added new option /x86 to force a 32-bit build and re-added /unicode which also forces a 32-bit build.
Au3Check:
- Fixed #1239: Incorrect library search order.
Others:
- Added #1050: TextPad v5 syntax files installation.
UDFs:
- Removed: _StringAddThousandsSep() has been removed. Too many opinions on how the function should work means nobody is happy with it.
- Removed #1112: __WinAPI_Check() has been removed as have all calls to it.
3.3.0.0 (24th December, 2008) (Release)
AutoIt:
- Removed: Windows 9x and Windows NT 4.0 Operating System support has been removed.
- Changed #393: Documented that SoundSetWaveVolume() works differently in Windows Vista.
- Changed: PCRE regular expression engine updated to 7.8.
- Changed: @ProcessorArch changed to @OSArch as it was misleading.
- Changed: Size limits removed from RegRead() and RegWrite() (previously 64KB for some registry types).
- Changed: RegRead() and RegWrite() no longer use hex strings for REG_BINARY types - native binary datatypes are enforced.
- Added: New flag for StringSplit() to not return the count in element 0.
- Added #328: StringToASCIIArray(), StringFromASCIIArray() functions.
- Added: New flag to Run()/RunAs() to fix issue #415 (Adds new Constants.au3 constant: $STDIO_INHERIT_PARENT).
- Added: New flag to all Run functions for better CUI compatibility (Adds new Constants.au3 constant: $RUN_CREATE_NEW_CONSOLE).
- Added #481: 11 pixel margin around the text in SplashTextOn() (Meets Vista UI guidelines).
- Added #468: Added @MSEC macro for obtaining the current milliseconds for the current second.
- Added #277: @CPUArch macro to return the capability of the processor.
- Added #454: $FO_UTF8 allowing FileOpen() in Read mode for reading UTF8 files without BOM.
- Added: $FO_UTF16_LE, $FO_UTF16_BE allowing FileOpen() in Read mode for reading UTF16 files without BOM.
- Added #407: Documented that For...In loops are read-only.
- Added #645: IniDelete() now supports the Default keyword for the 3rd parameter.
- Fixed: Send() was incorrectly inserting a leading zero when using the {ASC 0xNNNN} format.
- Fixed #305: GUICtrlSetFont() for Combo causing highlight.
- Fixed #318: GUICtrlSetTip() on TreeViewItem must return 0.
- Fixed #339: GUICtrlDelete() crashes.
- Fixed #345: @OSVersion for Windows 2008.
- Fixed #366: AutoIt crash on bad syntax.
- Fixed #380: @OSVersion for Windows XP 64-bit Edition.
- Fixed #346: FileOpenDialog/FileSaveDialog filter length limit.
- Fixed #387: DllClose() and DllCallbackFree() crashing when an invalid handle used.
- Fixed #449: @SystemDir does not return SysWOW64 under X64 in 32-bit mode.
- Fixed #440: Fatal error when script ends with EOF (0x1A).
- Fixed #464: Example script for GUICtrlCreateAvi() did not work on Vista.
- Fixed #484: ObjGet() would crash when invalid files were specified.
- Fixed #501: ProcessGetStats() failed for processes running as other users (including SYSTEM).
- Fixed #92: DllStruct data truncated with char[]/wchar[].
- Fixed: GUICtrlSetState($graphic, $GUI_HIDE) does not hide.
- Fixed: GUICtrlSetResizing($graphic, ) not moving.
- Fixed: GUICreate(...,Style without caption) does not resize properly.
- Fixed: GUISetStyle(caption change) does not resize properly.
- Fixed: GUICtrlSetState($listviewitem) does not return error.
- Fixed #562: Specifying the TITLE property caused all other properties to be lost (Window title matching).
- Fixed #569 TCPRecv doc example.
- Fixed #589: Some comparison operators did not return a boolean value.
- Fixed #583: Bad formatting of @MSEC in documentation.
- Fixed #574: Using 0 for the SendKeyDelay or SendKeyDownDelay removes the respective delay when using Send().
- Fixed #542: Crash with regular expressions.
- Fixed #531: Clarification of some of the remarks for GUICtrlSetGraphic().
- Fixed #539: StringSplit() with flag 2 and no matching delimiters wasn't returning the full string.
- Fixed #601: Tooltip return 0 when title length >99.
- Fixed #608: listView GUICtrlSetBkColor not redrawn.
- Fixed #628: GUICtrlRead($ctxmenu, $adv) bad return (Saunders)
- Fixed #640: PCRE does not support \L, \l, \N, \U, or \u : doc updated
- Fixed #642: Installer now correctly opens the merged helpfile to the history page instead of the AutoIt-only helpfile.
- Fixed #646: Call() now sets specific @error and @extended values when it fails to find a function.
- Fixed #669: Typo in Dec() example.
- Fixed #659: Documented that UNC paths are not supported when using FileSelectFolder().
- Fixed #671: Crash when using $WS_EX_MDICHILD without specifying a valid parent.
- Fixed: Crash when using BinaryToString() with invalid UTF16 input string. BinaryToString() now has new @error codes to support diagnosing invalid input.
- Fixed #743: AutoIt Crash when Tray functions are use with invalid ID.
- Fixed #748: AutoIt Crash with DllCall(0,...).
Aut2Exe:
- Added #460: More verbose UPX errors.
- Fixed #436: Compression level was ignored when performing compilation from the GUI.
AutoItX:
- Changed: Native DLL: All string methods in the native API are now Unicode. The majority of functions no longer have ANSI versions.
- Fixed: Native DLL: Return strings were sometimes incorrectly terminated.
- Fixed: PixelChecksum() not returning correct values.
UDFs:
- Removed: _StringSplit(), no longer needed.
- Added: _GDIPlus_StringFormatSetAlign().
- Added: _StringExplode().
- Added: _GDIPlus_ImageGetFlags(), _GDIPlus_ImageGetHorizontalResolution(), _GDIPlus_ImageGetPixelFormat(), _GDIPlus_ImageGetRawFormat()
- _GDIPlus_ImageGetType(), _GDIPlus_ImageGetVerticalResolution().
- Added: _PathGetRelative().
- Added: _ArrayCombinations(), _ArrayPermute(), _ArrayUnique().
- Added: _WinAPI_CreatePen(), _WinAPI_DrawLine(), _WinAPI_LineTo(), _WinAPI_MoveTo(), _WinAPI_GetBkMode(), _WinAPI_SetBkMode().
- Added: _WinAPI_CombineRgn(), _WinAPI_CreateRectRgn(), _WinAPI_CreateRoundRectRgn(), _WinAPI_SetWindowRgn().
- Added: _ExcelHorizontalAlignSet(), _ExcelFontSetProperties(), _ExcelBookAttach().
- Added: _WinAPI_SetEndOfFile(), _WinAPI_SetFilePointer().
- Added: Missing FrameConstants.au3.
- Added: Excel UDFs.
- Added: _Timer_GetIdleTime(), _WinAPI_GetWindowPlacement(), _WinAPI_SetWindowPlacement().
- Added #332: Remarks to _GUICtrlStatusBar_Create().
- Added #275: _GDIPlus_GraphicsFillPolygon().
- Added: _GUICtrlTab_ClickTab().
- Added: _GUICtrlComboBoxEx_GetUnicode(), _GUICtrlComboBoxEx_SetUnicode().
3.2.12.1 (12th June, 2008) (Release)
AutoIt:
3.2.12.0 (16th May, 2008) (Release)
AutoIt:
- Changed: @Unicode renamed in @AutoItUnicode. @Unicode is an alias for now. It will be removed > 3.2.14.0.
- Changed: The behavior of StdoutRead(), StderrRead(), StdinWrite() and ConsoleRead() has been changed.
- Changed: PCRE regular expression engine updated to 7.6.
- Changed: AutoIt internet functions (e.g. InetGet()) now use "AutoIt" as a user-agent. Previously using blank
- which was blocked by many websites.
- Changed: ControlClick() now accepts the same mouse buttons as MouseClick() - left/right/middle/primary/secondary/main/menu.
- Changed: Maximum controls in a GUI window 4093 -> 65532.
- Changed: @OSVersion can now return "WIN_2008" for Windows Server 2008.
- Added: RunAs(), RunAsWait().
- Added: GUISetAccelerators().
- Added: REGEXPCLASS in Advanced Window and control definitions.
- Added: X, Y, W, H in advanced window/control definitions.
- Added: DllCall() new types int_ptr, uint_ptr, long_ptr, ulong_ptr. Special types that change size on x86/x64.
- Added: "REG_QWORD" type for RegWrite().
- Added: HotKeySet() modified to work with the {} notation.
- Added: FileReadLine( ,-1) read last line.
- Added: Std I/O redirection works with RunAs...().
- Added: Std I/O merged flag for using the same stream for stdout/stderr.
- Added: Std I/O supports binary data.
- Added: ConsoleWrite()/ConsoleWriteError() now return the amount of data written.
- Added: Remarks in Run() about how to close streams/release resources associated with STDIO.
- Added: StdioClose() function to force STDIO data closed for a process.
- Added: ProcessClose() now closes processes started by other users.
- Added: ProcessWaitClose() returns exitcode in @extended
- Added: Pixel...() can specified a window handle as last parameter.
- Added: "start" and "count" parameters added to StringInStr().
- Added: GUICtrlSetDefColor(), GUICtrlSetDefBkColor().
- Added: Added parent window parameter to MsgBox(), FileSelectFolder(), FileOpenDialog(), FileSaveDialog().
- Fixed: DllCall() setting wrong @error values.
- Fixed: BlockInput() returns errors.
- Fixed: WinWaitActive() not matching (more frequent with Windows Vista).
- Fixed: GUICtrlSetState($GUI_SHOW) on hidden radio on an active tab.
- Fixed: SciTE Lite not installed in the AutoIt Choosen release dir.
- Fixed: WinMove() with Speed = 0 crash the script.
- Fixed: Mysterious return value of 1 when no explicit value was set.
- Fixed: ControlCommand(), "GetLineCount"
- Fixed: _FileListToArray() when using root drive dir as c:\ under Win9x.
- Fixed: TraySetState(4) flashing tray icon for Windows Vista.
- Fixed: ProcessExists() wrong return.
- Fixed: StringRegExp() crashing under Win95.
- Fixed: Handle leak when using Run() with I/O redirection.
- Fixed: Disabled input control background on Tab.
- Fixed: GUICtrlDelete() of a tab if two GUI windows are used.
- Fixed: AutoIt crash in Random() when range exceeds 2^31.
- Fixed: #include parsing error detection.
- Fixed: Array entry passed ByRef to a UDF.
- Fixed: FileSetTime() erronously rounds UP on non NTFS partition.
- Fixed: STDIO redirection sometimes failed on Windows 9x.
- Fixed: IniReadSectionNames() returning incorrect number of sections under Win9x.
- Fixed: AutoIt tray icon removal on script exiting.
- Fixed: AutoIt crash when removing ObjEvent() object.
- Fixed: ObjEvent() handler can destroy return of AutoIt Function : as WinWait("title") can return 0.
- Fixed: DirMove() on different volume.
- Fixed: Crash with RegRead() and REG_MULTI_SZ on x64.
- Fixed: GuiCtrlListView() behind BG Picture. Doc updated.
- Fixed: Various Edit control focus and DefPushButton issues.
- Fixed: ControlTreeView() returning @error=1 on success.
- Fixed: COM objects could lose numeric precision.
- Fixed: StringReplace() with start float number.
- Fixed: ControlCommand() "SelectString" wrong selection.
- Fixed: StringSplit() flag=1 delimiters not case sensitive.
- Fixed: In advanced Window descriptions only semi-colon must be escaped.
- Fixed: ObjGet() memory leak.
- Fixed: Modified AutoUpdateIt.au3 to work under x64.
- Fixed: Resizing GUI before GUISetState().
- Fixed: Radio events fired when GUI reactivated.
- Fixed: GUICtrlDelete() on contextMenuItem.
- Fixed: An attempt to FileDelete() a file that was just executed with RunWait() would sometimes fail.
- Fixed: GUI performance problem when creating a large number of windows.
- Fixed: GUIGetCursorInfo() with swapped mouse buttons.
- Fixed: Random(Min,Max,1). Previously this would never actually return Max,
- so if Max was artificially incremented by one the script will now need to be changed.
AutoItX:
Aut2Exe:
- Added: Option to compile scripts as console applications.
Au3Info:
- Changed: Controls are always highlighted when using the finder tool.
- Changed: Controls are not highlighted by default.
- Changed: Control description gives the advanced version of class and instance.
- SciTE-lite:
- Changed: the source to version 1.76
- Added Save Dialog extension.
UDFs:
- See the script breaking changes page.
3.2.10.0 (25th November, 2007) (Release)
AutoIt:
- Changed: DllCall() new method of passing types by reference using *.
- Changed: DllCall(): short_ptr, long_ptr, int_ptr types deprecated. Use short*, long* and int* respectively.
- Changed: Limits on Execute() removed.
- Changed: PCRE regular expression engine updated to 7.4.
- Fixed: Control...() functions using CLASS and TEXT together sometimes incorrect.
- Fixed: Control...() functions using CLASSNN sometimes incorrect.
- Fixed: Windows Vista taskbar previews causing problems with windows matching.
- Fixed: $var = $var was not giving an error when $var didn't already exist.
- Fixed: GUICtrlSetImage() sizing regression from 3.2.4.9.
- Fixed: GUICtrlCreateListView() with no column.
- Fixed: _GUICtrlListViewInsertColumn() after _GUICtrlListViewDeleteColumn() of the first column of a ListView control.
- Fixed: Extra notification on colored button.
- Fixed: IniReadSectionNames() for [] sections.
- Fixed: Opt("WinTitleMatchMode", Default) fatal error.
- Fixed: GUICtrlSetStyle() with $ES_READONLY bad $WS_TABSTOP.
- Fixed: AutoIt Crash on exit if Win...() used with a Title being a COM object.
- Fixed: ProcessExists() on service process under Win2K.
- Fixed: DefPushButton behavior.
- Fixed: ControlCommand(SelectString) order selection.
- Fixed: Array cannot have 2^24 entries.
- Fixed: GuiCreateMenu() on a windows without title and without client area.
- Fixed: WinWaitActive() sometimes failing after a WinActivate().
- Fixed: _SQLite_SQLiteExe() referencing by default "Extras\SQLite\SQlite3.exe".
- Fixed: _Sound...() when refering to a file with "!" characters.
- Fixed: Looping GUIRegisterMsg() doesn't unregister.
- Fixed: Focus on ES_READONLY edit control.
3.2.8.1 (10th September, 2007) (Release)
AutoIt:
3.2.8.0 (8th September, 2007) (Release)
AutoIt:
- Changed: General speed improvements (currently up to 24% in some cases compared to 3.2.6.0).
- Changed: PCRE regular expression engine updated to 7.3.
- Changed: Recursion-based code limits relaxed.
- Fixed: Crash on AutoIt exit if TrayCreateItem() is not deleted.
- Fixed: AutoIt crash on bad parameter when calling TrayCreateMenu()
- Fixed: Character positions used in StringRegExp() not correct for characters > 127 (accents, non-Western)
- Fixed: ProcessExist() under Windows 9x.
- Fixed: GUISetState(@SW_DISABLE) not disabling keyboard input.
- Fixed: Sometimes AutoIt crashes on DllStructGetData() with char[] types.
- Fixed: Au3Info restoring last settings at startup.
- Fixed: Better handling of notifications when using colored buttons.
- Fixed: ControlGetText() crash on SciTE windows.
- Fixed: $LVSCW_AUTOSIZE column truncates display string.
- Fixed: Incorrect listview creation with GUICtrlCreateListView().
- Fixed: Memory leak when AutoIt needed to get long file name.
- Fixed: ListviewItem not created after other child Window creation/deletion.
- Fixed: ControlGetFocus() returning bad ClassNN values.
- Fixed: Detection of invalid ContinueLoop statement.
3.2.6.0 (25th August, 2007) (Release)
WARNING:
AutoIt:
- Changed: iconID in all GUI functions is now the same as GUICtrlSetImage().
- Changed: AutoIt .a3x and compiled script format. Exe2Aut will only decompile 3.2.5.1
- and earlier files. No ExeAut utility is supplied for ongoing versions.
- Changed: General performance improvements (currently around 30-40% over 3.2.4.9)
- Changed: Limited Unicode support added in regular expressions.
- Changed: ControlMove() just resizing as WinMove() if X=Y=Default.
- Changed: PCRE engine updated from 7.0 to 7.1.
- Changed: Suppress delay when speed=0 in MouseMove().
- Added: GUIGetStyle().
- Added: byte and ubyte type to DllCall().
- Added: ClassnameNN in control and summary info in Au3Info.
- Added: Float type to DllCall().
- Added: AU3Check v1.54.8 support for both "#AutoIt3Wrapper_plugin_funcs" and "#Compiler_plugin_funcs".
- Added: Extra parameter in ProcessClose() to close Stream handles.
- Fixed: AutoIt crash on WinWait("","text") when a SciTE is open.
- Fixed: Some crashes on Chinese systems during Unicode/ANSI conversions.
- Fixed: Aut2Exe crashing on Chinese systems when running in ANSI.
- Fixed: Wrong Notification on {ENTER} after clicking on a listviewItem.
- Fixed: Wrong resetting of image on listviewitems if image set on the listview.
- Fixed: Resizing of listview control.
- Fixed: @error not set on bad WinGetPos() return.
- Fixed: LVM_EDITLABEL hogging cpu.
- Fixed: AutoIt (non UNICODE version) crash with some COM objects.
- Fixed: GUISetState() on GUI with W=0 or H=0.
- Fixed: GUI control Tip not reappearing after a click or timeout.
- Fixed: GUI controls not at the right position if a Control menu is in use.
- Fixed: EnvUpdate() in UNICODE AutoIt version not working since 3.2.3.3.
- Fixed: FileRead(..., count) returning count-1 chars.
- Fixed: Unicode filenames in FileInstall().
- Fixed: LVS_EX_HEADERDRAGDROP extendedstyle.
- Fixed: UpDown control shows through tabbed pages.
- Fixed: GUICtrlSetState() on UPDOWN control without changing the state.
- Fixed: FileInstall() in compiled scripts causing GUI problems.
- Fixed: ControlGetFocus() on control not created with AutoIt GUI.
- Fixed: @AutoItPID and ProcessList() coherency under Win9x.
- Fixed: GUICtrlSetResizing() not returning error on non resizable control.
- Fixed: Regression for ControlSend() SHIFTDOWN/UP since 3.2.3.13.
- Fixed: Drag and drop on a listview control after clicking on its header.
- Fixed: Support "resource only" dlls for GUISetImage().
- Fixed: Default minimum for GUICtrlSetLimit() set to 0.
- Fixed: Z order after GUICtrlSetStyle() on edit or input control.
- Fixed: FileReadLine() getting bad cached data when reading specific line numbers with file handles.
- Fixed: Slight lag in GUIGetMsg() under certain circumstances.
- Fixed: StringReplace() and occurances parameter.
- Fixed: GUICtrlSetFont() on Tab control.
- Fixed: Leading blanks before #include cannot be compiled.
- Fixed: Notification on ENTER on Colored button.
- Fixed: RegWrite() setting bad registry entry in certain circumstances.
- Fixed: AutoIt hogging CPU when text MsgBox too big.
- Fixed: ControlSend() sometime to wrong control when using empty controlID.
- Fixed: ProcessExists() under Win2K with processname >15 chars.
- Fixed: Int() with string comparison wrong match.
- Fixed: InetGetSize() in unicode version returns 0.
- Fixed: GUICtrlCreateListView() with more than 254 columns.
- Fixed: AutoIt Crash on recursive RegExp.
- Fixed: BitRotate() with left bit set.
- Fixed: FileMove() returning 1 without any move.
- Fixed: FileRead() returning Chr(0) in ANSI mode.
- Fixed: Au3Info control coords relative to client.
- Fixed: StringInStr() not returning 0 when searching backward and search length greater than string.
3.2.4.9 (25th May, 2007) (Release)
AutoIt:
- Fixed: Basic string comparisons were not working with locale as in previous versions.
3.2.4.8 (23rd May, 2007) (Release)
AutoIt:
- Fixed: Errors with non-western codepages and ANSI format scripts.
3.2.4.7 (22nd May, 2007) (Release)
AutoIt:
- Added: Aut2Exe options for forcing ANSI mode compilation (/ansi and /unicode)
- Added: StringToBinary()
- Added: Additional unicode related options for BinaryToString()
3.2.4.6 (20th May, 2007) (Release)
AutoIt:
3.2.4.5 (20th May, 2007) (Release)
AutoIt:
- Changed: StringReplace() speeded up - a lot.
- Changed: Au3Info is now resizable.
- Added: BinaryToString() for binary buffer to ANSI string quick conversions.
- Added: @Unicode to show if AutoIt is being run in Unicode or ANSI mode.
3.2.4.4 (17th May, 2007) (Release)
AutoIt:
- Fixed: Chr(0) now acting more sensible (now acts in a similar way to VBScript).
3.2.4.3 (17th May, 2007) (Release)
AutoIt:
- Fixed: FileRead() not working properly with unicode files.
3.2.4.2 (15th May, 2007) (Release)
AutoIt:
- Changed: Au3Info graphical tweaks and Summary tab.
- Fixed: FileReadLine() getting bad cached data when reading specific line numbers with file handles.
- Fixed: Slight lag in GUIGetMsg() under certain circumstances.
3.2.4.1 (13th May, 2007) (Release)
AutoIt:
- Fixed: Chr() and Asc() for character codes 128-255 in unicode mode.
- Fixed: Unicode BOM was not being written in file append modes if the file was empty.
- Fixed: Error in Include\GuiCombo.au3 and Include\IE.au3.
3.2.4.0 (10th May, 2007) (Release)
WARNING:
- AutoIt is now compiled for Unicode! AutoIt3.exe is Unicode - AutoIt3A.exe is ANSI.
- Au3Info tool rewritten.
- Binary data functions completely rewritten - scripts using these functions will need to be changed.
AutoIt:
- Changed: Removed restrictions on the maximum number of #include directives.
- Changed: Removed restrictions on the maximum number of DllOpen() handles.
- Changed: Removed restrictions on the maximum number of open files.
- Changed: Removed restrictions on the maximum number of hotkeys.
- Changed: Performance improvements in StringStripWS().
- Changed: Binary data in variants are now treated as a special type, separate from normal strings.
- Changed: BinaryString() renamed to Binary()
- Changed: IsBinaryString() renamed to IsBinary()
- Changed: ControlClick() can now click a control at a certain position.
- Changed: ControlClick() can now properly simulate double-clicks.
- Changed: ControlClick() no longer forces the activation of the parent window (up to the user now).
- Changed: ControlClick() related coordinates added to Au3Info.
- Changed: Improved the searches that can be done for windows/controls/instances.
- Changed: From DEFAULT_QUALITY to PROOF_QUALITY for Change/Set Font functions.
- Changed: x^y compatible with C99 standard.
- Added: New modes for FileOpen() to force Unicode and binary operations.
- Added: BinaryLen(), BinaryMid()
- Added: Colored GUI buttons.
- Added: DllStruct...() can reference elements by name rather than index.
- Fixed: Possible crash when using StringStripWS(), flag 4 and empty strings.
- Fixed: GUICtrlSetLimit() for UpDown controls wher min = max.
- Fixed: GUICtrlSetTip() not always working correctly.
- Fixed: Slow GUI tab redrawing under Windows Vista fixed.
- Fixed: HotKeySet() bad notification.
- Fixed: FileGetAttrib() on pagefile.sys.
- Fixed: Invalid default parameter in GUICtrlSetData() not detected.
- Fixed: Assign does return error on array element.
- Fixed: FileOpen("test.txt", 2+8) returning error.
- Fixed: Error detection in Enum statement.
- Fixed: Opt("WinTitleMatchMode").
- Fixed: Stack corruption resulting from improper use of DllCall() now gracefully aborts the script instead of hard crashing.
- Fixed: Crash when reading empty REG_MULTI_SZ.
- Fixed: Round() not returning an integer.
- Fixed: ControlSend() to empty "" ctrl fixed for inactive window. Also shift state behavior.
- Fixed: O^(-1).
- Fixed: Non detection of illegal statement.
- Fixed: HotKeySet("^{PAUSE]",...) notification.
- Fixed: {CTRLBREAK} ->{BREAK} as ctrl is user responsability.
- Fixed: $var = Default passed as parameter to COM object.
- Fixed: Edit control would always have focus the first time the GUI was displayed even if it shouldn't. This behavior also ignored $GUI_FOCUS.
- Fixed: range value for seed Number in SRandom().
- Fixed: FileRead() crash if no count in raw mode.
- Fixed: Opt("WinTitleMatchMode", <0) really matching case insensitive.
- Fixed: FileSetAttrib/FileSetTime wrong setting.
- Fixed: Execute/Call recursive overflow display error message.
- Fixed: Aut2exe warning message if icon not found.
- Fixed: WinGetTitle() returns 1 on error.
- Fixed: Memory leak on keyword variable deallocation.
3.2.2.0 (23rd December, 2006) (Release)
AutoIt:
- Removed: old WinShow, TimerStart and TimerStop functions.
- Changed: Performance improvements (up to 100% on some scripts!).
- Changed: @error set to GetLastError WinAPI for Run().
- Changed: Small tweak to Floor() to ensure it is not as susceptible to floating point precision errors.
- Changed: Small tweak to Ceiling() to ensure it is not as susceptible to floating point precision errors.
- Changed: PixelChecksum() is now over 30x faster.
- Changed: FileGetVersion() extra parameter to retrieve string file info.
- Added: StringRegExp() and StringRegExpReplace() regular expression support (Perl compatible)
- Added: Regular expression support for Window title matching.
- Added: ShellExecute() and ShellExecuteWait() functions.
- Added: #RequireAdmin for UAC/Windows Vista.
- Added: Windows Vista help file entry.
- Added: GUICtrlSetState() $GUI_DROPNOTACCEPTED.
- Added: $GUI_FOCUS, $GUINOFOCUS for listviewitem control.
- Added: IsDllStruct().
- Added: SRandom() to set seed for random number generation.
- Added: WinTitleMatchMode for case insensitive matching.
- Added: iconID can be reference by ordinal value if negative 1-based index is use.
- Added: CompiledScript string file info for compiled script.
- Added: Support >32x32 icon from .exe/.dll in GUICtrlCreateIcon() or GUICtrlSetImage().
- Added: Expanded GUICtrlSetTip() to allow creation of tooltips with titles, icons and using the balloon tip style.
- Added: Tooltip() supports Default keyword.
- Added: Remark added to _PathSplit() mentioning that it does not accept command line strings, only paths.
- Added: 2 UDF's to GUIStatusBar.au3.
- Added: GUICtrlCreateIcon() and GUICtrlSetImage() can select in multiple icon file by name.
- Added: @KBLayout to retrieve the current keyboard configuration.
- Added: ToolTip() option to ensure the tooltip is always displaying on a monitor.
- Added: IniWriteSection() function.
- Added: @extended error code on DriveMapAdd error.
- Added: Listview Alternate coloring with $GUI_BKCOLOR_LV_ALTERNATE.
- Fixed: MsgBox() timeout on Windows Vista.
- Fixed: GUICtrlRead() on listview control when sorted.
- Fixed: @OSVersion on Windows 9x.
- Fixed: GUIGetCursorInfo() with Handle not retrieving mouse click info.
- Fixed: DllCall() crashes when using uint, ushort.
- Fixed: List control height when font size changes.
- Fixed: GUICtrlSetImage() not testing icon on error.
- Fixed: @ScriptDir equal @WorkingDir for rootdir (x:\).
- Fixed: GUIGetCursorInfo() (winhandle) when child not active.
- Fixed: _StringAddComma().
- Fixed: drag & drop $GUI_EVENT_DROPPED notification on edit control.
- Fixed: Coherency of type parameter for DllCall() and DLLSructCreate()
- Fixed: Default keyword didn't always work correctly with COM objects.
- Fixed: COM property write fails when using arguments.
- Fixed: Send()/ControlSend() for US international keyboard.
- Fixed: Send()/ControlSend() char>=Chr(128) for english keyboards.
- Fixed: COM property write fails when using arguments.
- Fixed: MsgBox() with task modal flag left GUI's disabled on timeout.
- Fixed: Error reporting by messagebox even with /ErrorStdOut.
- Fixed: GUICtrlSetImage default icon value for Icon Ctrl.
- Fixed: GUIRegisterMsg() destroyed @error.
- Fixed: $LVS_SORTASCENDING with GUICtrlSetImage() icon gave bad display.
- Fixed: Some Object Collections could not be parsed in one AutoIt statement.
- Fixed: Bad screen updating of already unchecked radiobuttons.
- Fixed: Tray icon tooltip not displaying the scriptname when compiled.
- Fixed: UDP...() return code on error.
- Fixed: UDPRecv() crashed on bad parameter.
- Fixed: COM was corrupting floating point values.
- Fixed: GUICtrlSetState() doc remarks about menu control.
- Fixed: Refresh after a GUICtrlSetBkColor().
- Fixed: Crash on line beginning with ~ : "Unable to parse line".
- Fixed: IniReadSectionNames() returned bogus data in Windows 98 when the INI file was empty or did not exist.
- Fixed: @Compiled when the script is compiled.
- Fixed: Send() to italian keyboard.
- Fixed: MouseMove() in secondary screen.
- Fixed: StringInStr() not converting to string search parameter.
- Fixed: Int() of a binarystring.
- Fixed: ControlSend sending() special characters.
- Fixed: Crash in Au3exe with badly formed input file in FileInstall().
- Fixed: Wrong execution of a compiled script containing FileInstall() inside #CS-#CE.
- Fixed: FileInstall() referencing a file without any path will reference it from the ScriptDir to be coherent with the compiled script.
- Fixed: Aut2exe crashed using cmdline with shortnames.
- Fixed: Tooltip state (such as icon or title) was showing up on subsequent tooltips that didn't want those items. This affected both ToolTip() and GUICtrlSetTip().
- Fixed: GUIRegisterMsg() destroy @error.
- Fixed: $LVS_SORTASCENDING with GUICtrlSetImage() icon bad display.
- Fixed: Wrong default arguments for _ArrayToString().
- Fixed: Bad "#" instruction inhibit whole script.
- Fixed: Installer SciTE bad link creation.
- Fixed: Uninstaller include file removal
3.2.0.1 (13th August, 2006) (Release)
Au3Info:
- Fixed: Buffer overrun in control code.
Exe2Aut:
- Fixed: Exe2Aut.exe was missing its digital signature.