AutoIt Changelog

What's new in AutoIt 3.3.16.1

Sep 19, 2022
  • 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:
  • Added: UBound[2] example.
  • Added: StringRegExp[5] example.
  • Added: _GUICtrlEdit_SetPadding() function and example.
  • Added: _WinAPI_RegDeleteKey() can use $hKey as in RegRead().
  • Added #3863: _WinAPI_GetCapture().
  • Added: Allows _DebugArrayDisplay() to be used in UserFunc.
  • Added: _ArrayDisplay() and _DebugArrayDisplay() support Min Column width.
  • Added: _Array2DCreate() support 1D and/or 2D arrays.
  • Added: _DebugReportVar() display DllStruct content.
  • Added: _ArrayDisplay() and _DebugArrayDisplay() display {Array[dims]}, {Map[nentry]} and {Object}.
  • Fixed #3867: Changes in 'SecurityConstants.au3' to avoid name conflict. THIS IS A SCRIPT BREAKING CHANGE
  • Fixed: Regression in 3.3.15.1, _WinAPI_RegCreateKey() and _WinAPI_RegOpenkey().
  • Fixed: Regression of #3835 on _GDIPlus_GraphicsGet*().
  • Fixed #3871: _ArrayDisplay() Hang sorted array with Null element.
  • Fixed: _FTP_FileGetSize() very big size.
  • Fixed #3872: FTP-Server in AutoIt Help no longer accessible.
  • Fixed #3877: GUICtrlCreateLabel() overlapping controls doc precision ($WS_CLIPSIBLINGS).
  • Fixed #3883: _DebugArrayDisplay() produces uncalled console message.

New in AutoIt 3.3.16.0 (Mar 7, 2022)

  • Changed: PCRE regular expression engine updated to 8.44.
  • Added #3741: GUISetStyle() example to avoid blank title bar.
  • Added #3681: Lang Variable prefix "o".
  • Added #3670: DriveGetDrive() @error doc clarification.
  • Added #3574: GuiCtrlCreateInput() Doc $ES_AUTOHSCROLL precision.
  • Added: doc pages about ControlID/Handle and String/Encoding.
  • Added #2375: SetError(), SetExtended() doc precision.
  • Added #3780: WinSetTitle() on notepad.exe is reverted when the windows get focus starting Windows 19H1 !!!
  • Added #3222: Doc precision for statement with 2 FileInstall().
  • Added: ConsoleWrite() preserves the @error and @extended.
  • Added: ConsoleWriteError() preserves the @error and @extended.
  • Added #2938: Add "GetCount" to ControlCommand()
  • Added #3539: FileGetTime() UTC.
  • Added #3808: ProgressOn()/ProgressSet() - size of the progress window
  • Added #3662: FileGetTime() Msec.
  • Added #3826: GUI "On event" While loop precision.
  • Added #3662: FileGetTime() Msec.
  • Added: Doc Symbolic constants for MouseGetCursor(), GUISetCursor() $MCID_*.
  • Added #3849: @OSVersion for Windows 11 and Server 2022.
  • Fixed #2806: GUICtrlCreateIcon() doc when filename="".
  • Fixed #3580: FileSetAttrib() crashing on root folders.
  • Fixed #3636: Applied the SS_NOPREFIX style to the SplashTextOn dialog.
  • Fixed #3689: GUICtrlSetOnEvent ( controlID, "" ) wasn't disabling the previous set UDF and returned error=1.
  • Fixed #3707: GUISetOnEvent($GUI_EVENT_CLOSE, "") wasn't disabling the previous set UDF and returned error=1.
  • Fixed: GUIOnEventMode and TrayOnEventMode options had unnecessary slow downs.
  • Fixed: Workarounds added to alleviate slow downs on Windows 10 1809 and later (OS bug/design change).
  • Fixed: Missing Opt("SetExitCode", 1) and AutoIt3 Exit codes in doc.
  • Fixed #3211: Doc precision for hwnd parameter in Pixel*() functions.
  • Fixed #3774: Doc precision about Null keyword comparison.
  • Fixed #3579: DllStructGetData() doc precision.
  • Fixed #3021: bad obj calling.
  • Fixed #3106: StringIsFloat() doesn't accept a valid FP exponent.
  • Fixed #3135: StdioClose memory leak.
  • Fixed #3165: Call UBound Array[0] AutoIt Crash.
  • Fixed #3167: Com error handler not called.
  • Fixed #3179: Number() failure with lower case hex.
  • Fixed #3182: MouseMove() on multiple screens.
  • Fixed #3232: Issue when parsing scientific notation literals.
  • Fixed #3659: InetClose() always false.
  • Fixed #3682: GuiCtrlCreatePic() with h=0 and w=0.
  • Fixed #3701: Crash with array 2^24.
  • Fixed #3710: @OSVersion for Server 2019.
  • Fixed #3743: [LAST] and WinWaitClose(), WinExists(), WinGetHandle(), etc.
  • Fixed #3772: int64 = -9223372036854775808 not handled properly.
  • Fixed #3778: ToolTip() position.
  • Fixed #3789: FileRead() on big ANSI file (1Gb).
  • Fixed #3790: UCS2 compare empty string.
  • Fixed #3807: GUISetIcon() in taskbar.
  • Fixed #3809: WinGetTitle() on windows created with _WinAPI_CreateWindowEx().
  • Fixed #3817: Double to Int64 conversion.
  • Fixed #3836: FileExits() trailing quotation mark.
  • Fixed #3844: Right bracket does not register as a hotkey.
  • Fixed #3830: GUICtrlSetResizing() $GUI_DOCKBOTTOM fullscreen.
  • Fixed #3831: GUICtrlSetPos() $GUI_DOCKHCENTER.
  • Fixed #2866: RegRead() x64 remote from x86.
  • Fixed #3667: empty continuation line.
  • Fixed #3760: oversized Number() conversion.
  • Fixed #3215: GUICtrlCreateUpdown() Show-Hide.
  • Fixed #3794: StringRegExp updated to not use a string copy internally.

New in AutoIt 3.3.14.5 (Mar 16, 2018)

  • UDFs:
  • Fixed #3606: CheckForUpdates : ExtrasAutoUpdateItAutoUpdateIt.au3 script.

New in AutoIt 3.3.14.4 (Mar 16, 2018)

  • UDFs:
  • Added #3230: _WinAPI_WideCharToMultiByte() new optional parameter to return binary.
  • Fixed: _FileListToArrayRec() wrong constant
  • Fixed: _ArrayAdd() Boolean force
  • Fixed #3586: _ArraySwap() doc parameter
  • Fixed #3585: _GUICtrlTreeView_Sort() for level 1 sorting
  • Fixed: _Net_Share_*() error reporting
  • Fixed: $KEY_WRITE value for _WinAPI_RegCreateKey() or _WinAPI_RegOpenKey()

New in AutoIt 3.3.14.3 (Feb 2, 2018)

  • 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.
  • Changed: Re-wrote _FileCountLines() with using the native function FileReadToArray(). Check the documentation for additional @error values.
  • Changed: Return value of _Degree() and _Radian() on error from empty string to zero. THIS IS A SCRIPT BREAKING CHANGE
  • Changed: _SQLite 3.8.11.1 -> 3.22.0.0.
  • Changed: _SQLite_Startup() does not download anymore a new folder can be used to store SQLite dll/exe files @LocalAppDataDirAutoIt v3SQLite
  • Changed: WinAPI conversion UDFs moved from WinAPI.au3 and WinAPIMisc.au3 to WinAPIConv.au3.
  • Changed: WinAPI Handle and Object UDFs moved from WinAPI.au3 to WinAPIHObj.au3.
  • Changed: WinAPI Icons UDFs moved from WinAPIRes.au3 to WinAPIIcons.au3.
  • Changed: WinAPI Heap UDFs moved from WinAPISys.au3 to WinAPIMem.au3.
  • Changed: WinAPI Gdi Device Context (DC) UDFs moved from WinAPI.au3 to WinAPIGdiDC.au3.
  • Changed: _WinAPI_DefSubclassProc(), _WinAPI_GetWindowSubclass(), >_WinAPI_RemoveWindowSubclass() and _WinAPI_SetWindowSubclass() moved from WinAPIShellEx.au3 to WinAPISys.au3. THIS IS A SCRIPT BREAKING CHANGE
  • Changed: _ArrayDisplay() is now only intended to display array contents - but see _DebugArrayDisplay(). No limit of number of item displayed. $iAlt_Color, $hUser_Function parameters have been removed.
  • Added: _ArrayAdd can force elements to Boolean using $ARRAYFILL_FORCE_BOOLEAN flag.
  • Added #3120: Using ipify.org as the main IP discovery site for _GetIP().
  • Added #3093: _FileWriteToLine() parameter to add lines if required.
  • Added #3161: Constants for MemGetStat().
  • Added #2269: SHA2 hash algorithms in Crypt.au3.
  • Added #3208: $CALG_* constants description for _Crypt_*().
  • Added #3210: _GUICtrlRichEdit_SetFont(), _GUICtrlRichEdit_GetFont() $iCharSets values Doc precision.
  • Added: More _GDIPlus_* functions (18).
  • Added #3240: Constants to _PathSplit().
  • Added #3513: _Timer_KillTimer(), _Timer_KillAllTimers() and _Timer_SetTimer() doc precision.
  • Added: _DebugArrayDisplay() replaces the old _ArrayDisplay() with multiple user options and buttons.
  • Added: _GUICtrlListView_RegisterSortCallBack() support a new $bNumber type (2) to compare with StrCmpLogical Windows API.
  • Added: _GUICtrlListView_RegisterSortCallBack() add a new parameter to use Private callback.
  • Added: Click on column header sort for _ArrayDisplay() and _DebugArrayDisplay().
  • Fixed #3069: AutoIt Constants include constant help page.
  • Fixed #3075: _WinAPI_WaitForSingleObject() - TimeOut parameters description.
  • Fixed #3078: _ArrayUnique() error on 2D arrays with Au3Check.
  • Fixed #3094: Range error in _ArrayDisplay().
  • Fixed #3104: _EventLog__Read() returns only domain name.
  • Fixed #3085: Wrong UDF Examples.
  • Fixed #3113: StderrRead() example.
  • Fixed #3117: StringFormat() - second parameter is optional.
  • Fixed #3087: _GUICtrlRichEdit_StreamFromFile() add parameter to support UTF16 with no BOM.
  • Fixed: Bug with header delimiter if _ArrayDisplay() function called within its own user function
  • Fixed: _WinAPI_GetVersion() comparison under Win10.
  • Fixed #3091: _WinAPI_RegQueryValue() never returns the buffer size on ERROR_MORE_DATA error.
  • Fixed: _GDIPlus_EffectCreate() crashing when run using AutoIt x64.
  • Fixed #3134: Missing _WinAPI_GetSystemMetrics() Constants.
  • Fixed #3136: Bad doc return description for _FTP_DirPutContents().
  • Fixed #3184: bad doc description for $STYPE_DISKTREE and $STYPE_PRINTQ in _Net_Share_ShareEnum() and _Net_Share_ResourceStr().
  • Fixed #3233: _GUICtrlListBox_GetSelCount() returning 0 on invalid handle.
  • Fixed: _Date_Time_SetTimeZoneInformation().
  • Fixed #3516: _Crypt_EncryptData() and _Crypt_DecryptData() doc about Non ANSI Chars handling.
  • Fixed #3518: _GUICtrlStatusBar_SetParts() with array of PartWidth.
  • Fixed #3582: _WinAPI_GetGUIThreadInfo() caret bounding rectangle.

New in AutoIt 3.3.14.2 (Sep 18, 2015)

  • AutoIt:
  • Fixed: #pragma directive was not working correctly for setting Windows 10 options.
  • UDFs:
  • Fixed #3078: _ArrayUnique() error on 2D arrays with autocheck.
  • Changed: _SQLite_Startup() no longer automatically downloads DLL files. THIS IS A SCRIPT BREAKING CHANGE

New in AutoIt 3.3.14.1 (Jul 29, 2015)

  • Others:
  • Changed: AutoIt3Help.exe reworked and digitally signed.

New in AutoIt 3.3.14.0 (Jul 10, 2015)

  • 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.
  • Added #2761: AutoIt.chm title version.
  • Added #2365: FileFindNextFile() - information in @extended.
  • Added #2647: Return the line count from FileReadToArray() in @extended.
  • Added #2665: FileCopy() no longer fails when copying EFS files to destinations that don't support encryption.
  • Added #2686: Random() to return max value when min equals max.
  • Added #2346: FileSetEnd().
  • Added: Regular expression caching. Small performance improvements when using the same pattern multiple times.
  • Added: Constants for native Functions in AutoItConstants.au3.
  • Added #3012: GUISetFont() default value doc.
  • Added: @OSVersion supports Windows 10 and Windows Server 2016.
  • Fixed: Functions fixed for extended length paths: FileOpen(), FileCopy(), FileMove(), FileDelete().
  • Fixed #2755: SetError() doc precision.
  • Fixed #2743: Hex() crash with invalid len.
  • Fixed #2685: HotKeySet() fails to register a Hungarian letter.
  • Fixed #2588: Menu/Statusbar location problem.
  • Fixed #2471: Bad restore for script using $WS_EX_LAYOUTRTL.
  • Fixed #2287: GUICtrlSetState() $GUI_ONTOP not set.
  • Fixed #1573: TCPTimeout for Connect.
  • Fixed #2596: TCP/UDP @error values to be unique.
  • Fixed #2626: ControlGetText(), WinGetText(), WinGetTitle() wrong encoding for some words.
  • Fixed #2538: GuiSetAccelerators() was still firing events on disabled button controls.
  • Fixed #2671: StringSplit() was splitting incorrectly with regards to case sensitivity.
  • Fixed #2372: Incorrect line number given on a bad function call. (Still issues with Callback line errors).
  • Fixed #2805: FileWriteLine() was not returning a failure when disk was full.
  • Fixed #2623: RegDelete() returning 0 rather than 2 when a key exists but no write permissions to delete it.
  • Fixed #2813: Accessing "last created control" once GUI deleted caused a hard crash.
  • Fixed #2640: Odd conversion of strings containing numbers in expressions.
  • Fixed #2363: Call() with invalid user function was not setting @error correctly when used as an expression within another function call.
  • Fixed #2364: Call() with CallArgArray and no parameters.
  • Fixed #2789: With EndWith parameter issue.
  • Fixed #2820: WinExists() and other Win functions were incorrectly converting strings containing numbers into window handles and causing false matches.
  • Fixed #2502: Copy-on-write optimization when passing array and map elements ByRef was incorrect.
  • Fixed: Assigning objects by reference to COM properties like "$obj(some, params) = $obj2".
  • Fixed #2639: Unable to Copy/Paste from Embedded IE object.
  • Fixed #2839: GUISetAccelerators() with an invalid array can cause a hard crash.
  • Fixed #2920: Doc precision about no control position/resizing on initially window for GUiCreate()/WinMove().
  • Fixed #2924: Progress bar style documentation.
  • Fixed #3028: GUICtrlCreateCombo() doc formatting.
  • Fixed #3040: Int() doc typos.
  • Fixed #3042: Number() doc clarifications.
  • Fixed #3041: AutoItWinGetTitle() doc example typos.
  • Fixed #3039: AutoItWinSetTitle() doc example typos.
  • Fixed #3057: StringSplit() Return Value if $STR_NOCOUNT doc.
  • Fixed #2993: _Excel_RangeFind returns only last occurrence of string found.
  • AutoItX:
  • Changed: AutoItX3.psd1 renamed to AutoItX.psd. PSModulePath updated on install so that the system will auto-import.
  • Fixed #2694: ControlListView not finding controls in x64 mode.
  • 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.
  • Added #2732: ObjName() doc example.
  • Added #2751: Regions and GUI control tip labels to the control sample example.
  • Added #2764: _WinAPI_ShellExecuteEx(), _WinAPI_GetPriorityClass() doc constants.
  • Added: $SS_ENHMETAFILE, $SS_REALSIZECONTROL, $STM_SETICON, $STM_GETICON, $STM_SETIMAGE, $STM_GETIMAGE to StaticConstants.au3.
  • Added #2826: Quit to close the browser.
  • Added #2836: _WinAPI_SfcIsKeyProtected() doc example.
  • Added: More _GDIPlus_Font* functions.
  • Added: _WinAPI_GetFontResourceInfo() return more Font information.
  • Added: _WinAPI_GetFontMemoryResourceInfo().
  • Added #2922: _VersionCompare() with different number of fields.
  • Added #2968: Optional parameter $iMSeconds to _SetTime().
  • Added: $SB_ANSI, $SB_UTF16LE, $SB_UTF16BE and $SB_UTF8 constants to StringConstants.au3, for use with BinaryToString() and StringToBinary().
  • Added: Constants to Assign() and IsDeclared().
  • Added #2982: _FTP_Connect() example improvement.
  • Added #2976: #pragma default value.
  • Added #2998: Added missing key (03 - control-break processing) to the _IsPressed() documentation.
  • Added: _GDIPlus_ImageGetDimension().
  • Added: _GDIPlus_BitmapCreateDIBFromBitmap() can be used to allow .PNG in GUICtrlCreatePic().
  • Added: _GDIPlus_ImageGetThumbnail().
  • Added #3034: _Timer_SetTimer() doc example.
  • Fixed #2734: Incorrectly setting the wrong member.
  • Fixed #2736: DriveGetType() and _WinAPI_SetWindowPos() doc Constants.au3 to AutoItConstants.au3.
  • Fixed #2737: _WinAPI_ShellGetStockIconInfo() doc $SIID_ constants.
  • Fixed #2744: Requires IE5 removal as Min OS = Windows XP.
  • Fixed #2741: _WinAPI_DrawThemeEdge() constants reference in BorderConstants.au3.
  • Fixed #2740: _WinAPI_IsProcessorFeaturePresent() doc $PF_* constants.
  • Fixed #2739: _WinAPI_SetLocaleInfo() doc $LOCALE_* constants.
  • Fixed #2738: _WinAPI_ShellRestricted() doc $REST_* constants.
  • Fixed #2745: Mismatch of supported operating system with the official AutoIt site.
  • Fixed #2746: IE6Example.htm refreshing and associated COMRef.htm.
  • Fixed #2749: Bad Include in COM example.
  • Fixed #2748: Variable used before declaration.
  • Fixed #2758: _ArrayPermute() with multicharacter delimiter.
  • Fixed #2782: Documentation of various constants.
  • Fixed #2803: _ArrayMinIndex() and _ArrayMaxIndex() failing with 1-dimensional arrays that had 1 element only.
  • Fixed: _ArrayAdd() failing with a trailing delimiter in $vValue.
  • Fixed #2816: Doc precision with _GDIPlus_ImageLoadFromFile() specifying -1 when it's 0 on failure.
  • Fixed: _Crypt_DecryptData() and _Crypt_EncryptData() failing with a blank string when using the RC4 algorithm.
  • Fixed #2821: Example comment was incorrect for _DateToDayOfWeekISO().
  • Fixed #2823: _ChooseFont() default color BGR not RGB.
  • Fixed: Limit bug in _ArrayToClip(), _ArrayExtract() and _ArrayToString().
  • Fixed #2828: Typo of security in _IEFormElementSetValue().
  • Fixed: Limit bug in _ArraySwap().
  • Fixed #2861: _WinAPI_ReadDirectoryChanges() example.
  • Fixed #2874: _GUICtrlRichEdit_SetCharColor() not at insertpoint.
  • Fixed #2909: Backslash was not appended in _PathMake() if $sDir was blank.
  • Fixed #2908: _ScreenCapture_Capture() failing due to out of bounds error.
  • Fixed #2917: _WinAPI_AddMRUString() example crash when run in X64 mode (Msdn Bug CreateMRUListW !!!).
  • Fixed #2918: _GDIPlus_GetEncoderParameterList() not working.
  • Fixed: Range setting in _ArrayDisplay().
  • Fixed: _Array_FindAll() return array incorrectly dimesioned for row search.
  • Fixed #2964: Incorrect structure for $tagWNDCLASS.
  • Fixed: _WinAPI_IsWritable() wrong detection when the device is not ready.
  • Fixed: The seconds parameter in _SetTime() being set as milliseconds.
  • Fixed #2967: Incorrect format of AM/PM when the time was 00:00.
  • Fixed #2983: _WinApi_GetString() doc.
  • Fixed #3011: _FileListToArrayRec() not closing the open handle.
  • Fixed: _Word_DocFind(), _Word_DocFindReplace() and _Word_DocPrint() did not set @extended to the COM error code.
  • Fixed: _StringExplode not using full delimiter to split.
  • Fixed #3018: _GDIPlus_EffectCreateHueSaturationLightness () doc and _GDIPlus_BitmapApplyEffect() crash.
  • Fixed #3038: _Timer_SetTimer() callback function parameters.
  • Fixed #3037: _RunDOS() waits for command completion.
  • Fixed #3055: Bad link in _WinAPI_IOCTL() doc.
  • Fixed #3052: _ArraySort() doc clarification for 2D.
  • Fixed #3059: Miscelaneous => Miscellaneous in Help : Typos.
  • Fixed #3063: Removed additional param in the $tagRAWKEYBOARD structure.
  • 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.

New in AutoIt 3.3.12.0 (Jun 2, 2014)

  • AutoIt:
  • Changed: PCRE regular expression engine updated to 8.34.
  • Added #2557: Send() special control strings will no longer treat 0 repetitions as 1. No keys will be sent.
  • Added #2489: HttpSetUserAgent() now returns the previous user agent string.
  • Added #2481: FileSelectFolder() will use the Windows Vista style if available.
  • Fixed #2562: StringRegExp() & Null character.
  • Fixed #2581: Dec() wasn't working correctly for flags 0, 1, 2.
  • Fixed #2568: StringStripWS() and StringIsSpace() now treats null as a whitespace character.
  • Fixed #2566: "override" cursor in GUISetCursor() fails inside client area.
  • Fixed #2573: "override" cursor in GUISetCursor() fails outside of client area.
  • Fixed #2478: Assign() and Eval() do not restrict variable names.
  • Fixed #2316: PowerPoint COM event handler initialization error.
  • Fixed #2512: ObjName() crash.
  • Fixed #2613: AutoIt crashes whenever an array value returned from a WMI query is null.
  • Fixed #2309: Bad conversion of VT_BSTR|VT_BYREF COM variants when the referenced string is null.
  • Fixed #2648: FileSaveDialog() not adding extension when user types manually.
  • Fixed #2717: Appendix constants page precision about Inet Constants.
  • 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.
  • Added: Error checking to _ArrayDelete() when $iElement was out of bounds.
  • Added: Example for _WinAPI_SystemParametersInfo().
  • Added: A timer of 5 minutes to _GetIP() between each public IP retrieval. This is to reduce overloading the IP discovery sites.
  • Added: $STR_REGEXP* contants in StringConstants.au3 for StringRegExp().
  • Added: _SQLite_SQLiteExe() download sqlite3.exe when needed.
  • Added: http://bot.whatismyipaddress.com as an IP disovery site to _GetIP().
  • Added: _Array1DToHistogram().
  • Added #2726: Group ID to return array for _GUICtrlListView_GetGroupInfoByIndex().
  • Fixed: _FileListToArrayRec() array concatenation bug.
  • Fixed #2550: _GUICtrlComboBox_GetEditText() struct sizing.
  • Fixed: _INetSmtpMail() SmtpServer IPaddr checking.
  • Fixed #2618: _StringBetween() behaviour when $sStart and $sEnd are identical.
  • Fixed #2660: Button on GUI example.
  • Fixed: _IECreate() disable use of Windows Key.
  • Fixed #2689: When $bCursor in _ScreenCapture_Capture() was set to True and the PC was locked.
  • Fixed #2693: _GUICtrlListView_GetItemTextArray() return value doc.
  • Fixed #2697: missing $GW_ENABLEDPOPUP constant.
  • Fixed #2700: _GUICtrlRichEdit_SetCharBkColor() not at insertpoint.
  • Fixed #2706: $tagWINDOWINFO bad struct.
  • Fixed: _GUICtrlListView_GetView() and _GUICtrlListView_SetView() were using 0 for detailed view and 1 for large icon view, when it's the opposite way around. THIS IS A SCRIPT BREAKING CHANGE.
  • Fixed: Incorrect default style for _GUICtrlMenu_CreateMenu() and _GUICtrlMenu_CreatePopup() and changed documentation to use constant values.
  • 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.

New in AutoIt 3.3.10.2 (Jan 3, 2014)

  • AutoIt:
  • Fixed: All AutoIt EXEs and tools not working on older Athlon XP processors due to SSE compiler options.
  • Aut2Exe:
  • Fixed: Aut2Exe failing to run multiple times on Windows XP prior to SP3.
  • Others:
  • Fixed: Notepad++ autoit.xml was incorrectly formatted and not displaying calltips.

New in AutoIt 3.3.10.1 (Dec 30, 2013)

  • Aut2Exe:
  • Fixed: Aut2Exe was leaving a temporary file around.
  • UDFs:
  • Added: Error checking to _GDIPlus_GraphicsDrawString() in case _GDIPlus_GraphicsMeasureString() fails to return an array.
  • Fixed: Incorrect function being called for _GDIPlus_BitmapCloneArea().
  • Fixed: _ArrayDisplay() user function call and range bug.

New in AutoIt 3.3.10.0 (Dec 23, 2013)

  • 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.
  • 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.
  • Added: _WinAPI_GetProcAddress() function.
  • Added #2126: Documentation remark about _ArrayDisplay() being able to display a maximum of 65530 items.
  • Added #1158: WinAPIEx integrated, split under WinAPI*.au3.
  • Added #2250: DirMove() to the related section of DirCopy().
  • Added #2155: Missing documentation for the default working directory of Run() / RunWait().
  • Added #2224: Optional parameter to _FileReadToArray() to return the array count in the first element.
  • Added #2114: Disabling and enabling the redrawing message to increase the speed of displaying _ArrayDisplay(). (Only noticeable on large arrays.)
  • Added #2120: Disabling and enabling the redrawing message to increase the speed of deleting items with _GUICtrlListView_DeleteAllItems(). (Only noticeable when deleting many items in a ListView.)
  • Added #966: Optional parameter to return the full path of the file/folder in _FileListToArray().
  • Added #2193: _StringTitleCase(), to create a title case string.
  • Added #2263: _Crypt_GenRandom(), fills a buffer with random data.
  • Added #2354: _ArrayTranspose() to the Array UDF.
  • Added #2338: Regular expression pattern matching. See the documentation of _ArraySearch() for more details.
  • Added #2340: Optional parameter to _GUICtrlListView_SimpleSort() of whether or not to reverse $vSortSense (previously $vDescending.)
  • Added: _FileListToArrayRec() to the UDFs. A recursive file search by Melba23. See the documentation for more details.
  • Added: Example for _VersionCompare().
  • Added: Graphic SmoothingMode constants (GDIPlusConstants).
  • Added: _GDIPlus_CustomLineCapCreate(), _GDIPlus_BitmapCreateFromScan() functions.
  • Added: Constants for DriveGetType() and StringSplit(). See related function documentation for more details.
  • Added: InetConstants.au3 for use with Inet functions. See related function documentation for more details.
  • Added: GDIPlus functions and their respective documentation and example.
  • Added: _GDIPlus_ParamSize() to handle X64 compatibility.
  • Added #2540: _ArrayDisplay() can copy Header and Row.
  • Fixed #2077: hwnd safety check in _GUICtrlRichEdit_Create()
  • Fixed #2088: _ArrayDisplay() not handling Default parameters correctly.
  • Fixed #2112: "Report Log Window" unresponsive when the script is closed.
  • Fixed: _GUICtrlRichEdit_* documentation error return codes.
  • Fixed #1970: _FTP_ListToArray() fails to retrieve Dir or File only.
  • Fixed #2084: Clipboard not being closed if an error occurred with _ClipBoard_SetDataEx().
  • Fixed #2125: Writing a 2-dimensional array would only write the first two columns of the array.
  • Fixed #2070: Unexpected crash on certain systems when using _GUICtrlStatusBar_GetText().
  • Fixed #2132: Documentation of _WinAPI_GetModuleHandle() and the parameter to return the handle of the calling process. (Use the Null keyword, not 0.)
  • Fixed #2162: Documentation link in the IE Management section was broken for _IEFormElementCheckBoxSelect().
  • Fixed #2170: _ArrayDisplay() fails handling arrays with no elements.
  • Fixed: _PathMake() not appending backslash to the root path.
  • Fixed #2223: Incorrect UDF being referenced in _WordErrorHandlerRegister().
  • Fixed #2252: _GUICtrlListView_DeleteAllItems() failed to remove items created using _GUICtrlListView_AddItem() on an AutoIt native listview.
  • Fixed #1861: _ArrayDisplay() incorrectly displayed an array when using the $sHeader parameter and the array contained the default separator.
  • Fixed: Using non-supported characters in the file prefix for _TempFile().
  • Fixed #2186: Documentation of _WinNet_AddConnection()* and $sLocalName. (Use the Null keyword or an empty string, not 0.)
  • Fixed #2148: Crash when passing a number instead of a string.
  • Fixed #2219: _ExcelReadSheetToArray() would cause AutoIt to hang when reading a protected worksheet.
  • Fixed #2242: Unable to write the 0th element in _FileWriteFromArray(). Now the Default keyword is supported for the parameters $iBase and $iUBound, therefore use this instead of the value 0 for default parameters. (Please check the documentation.)
  • Fixed #2218: AutoIt crash when using _GUICtrlListView_SetGroupInfo() before _GUICtrlListView_SetItemGroupID() had been called.
  • Fixed #1996: _GUICtrlListView_SimpleSort() failed to retain the ItemParam of an item.
  • Fixed #1759: Strange listview sort.
  • Fixed #2298: Failing to detect when EnumDisplayDevices returns 0.
  • Fixed: _FileWriteFromArray() failing to pass the $aArray parameter as a constant reference.
  • Fixed: $tagREBARBANDINFO not working on XP, due referencing parameters intended for Vista and above.
  • Fixed #2305: Reports the wrong width and height of the desktop when using default parameters.
  • Fixed #2335: _WinAPI_EnumWindows() and _WinAPI_EnumWindowsPopup() order
  • Fixed #2347: _WinAPI_GetMonitorInfo() wrong data.
  • Fixed #2320: Incorrect return values for certain IE functions.
  • Fixed: _GUICtrlListView_InsertItem() would fail to insert -1 if passed as the $sText parameter.
  • Fixed #2460: _StringBetween() $sStart = $sSend.
  • Fixed #2459: _StringBetween() doc Description info.
  • Fixed #2465: _IEPropertyGet() - out of date links in "ClientInfo Properties".
  • Fixed: _GDIPlus_...() functions compatible with X64.
  • Fixed #2486: _GUICtrlRichEdit_GetFont() bad multi Font return. Solved also #2485.
  • Fixed #2492: _GUIToolbar_... doc example.
  • Fixed: _SQLite_...() running in X64 Mode.
  • Fixed: _SQLite_Startup() parameter checking and doc.
  • Fixed #2550: _GUICombo_GetEditText() struct sizing.
  • 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.

New in AutoIt 3.3.8.1 (Jan 30, 2012)

  • Fixed: Built-in editor would not compile/go when installed on x64 or in a non-standard location.

New in AutoIt 3.3.8.0 (Dec 27, 2011)

  • AutoIt:
  • Added: Struct/EndStruct in DllStructCreate() to solve X86/X64 data alignment.
  • Added: COM support for pure "OUT" parameters.
  • Added: Additional flags added to ObjName().
  • Added: DllCallAddress().
  • Added: ObjCreateInterface().
  • Added #1947: CHM help files now have a Forward button.
  • Added #1813: Better cross referencing for Int() and Mod().
  • Added: "struct" as DllCall and InterfaceDispatch data type.
  • Added #2042: @OSVersion returns "Win_8" on Windows 8.
  • 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 documetnation.
  • 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.
  • Fixed #1040: _ScreenCapture_Capture(): GDI object leak with cursor capture.
  • Fixed #1599: TraySetItemText() regression for default menu item.
  • Fixed #1282: WinMove before GUICtrlSetPos during GUICreation.
  • Fixed #1397: Bad HotKeySet() not detected on keyboard as Russian one.
  • Fixed #1531: default txtcolor for iput edit list combo updown with black theme.
  • Fixed #1617: GuiCreate failure after GuiDelete can lead to a loop on Autoit exit.
  • Fixed #1596: GUICtrlSetPos() default = no change.
  • Fixed #1626: TCPRecv()/TCPSend() doc about Unicode transmission.
  • Fixed #1633: Second AdlibRegister function starts at once when first function is too slow.
  • Fixed #1653: Doc for WM_KEYLAST Windows 2000 message.
  • Fixed #1669: StringRegExpReplace() doc about doubling of "\" in replace string.
  • Fixed #1673: WinGetProcess() doc example.
  • Fixed #1677: Invalid ContinueLoop with multiple levels.
  • Fixed #1684: FileRead() binary read memory allocation error.
  • Fixed #1685: BitRotate() shift parameter.
  • Fixed #1734: GUICtrlCreateAVI() crash with negative subfield.
  • Fixed #1923: Memory consumption while FileOpen/FileClose.
  • Fixed #1883: IsHWnd(), Return Value. (Nitpick: Value = Bool).
  • Fixed #1860: DriveStatus Returns Ready with blank value.
  • Fixed #1854: StringIsFloat returns 1 on non float numbers.
  • Fixed #1910: Please change $TTN_GETDISPINFO to $TTN_GETDISPINFOW.
  • Fixed #1844: SplashTextOn crops variable when used with opt 32 and @CRLF / @LF.
  • Fixed #1932: Uninstaller, windows-register, App Paths. (+beta).
  • Fixed #1929: SetMenuColor() does not work on 64bit OS.
  • Fixed #1479: X64 ListView WM_NOTIFY Message.
  • Fixed: GUICtrlCreateLabel() related text sizing bug when no height was used.
  • Fixed #1586: DllStructSetData(char, 1, string-with-NUL-character), junk data(?)
  • Fixed #1908: ObjName() returns empty string for HTMLDocument with IE9.
  • Fixed #1658: COM / OLE object access causes error code 80020003 - member not found.
  • Fixed #1410: Using Pointer type with COM-object throws error.
  • Fixed #1565: Arrays as object properties; memory leak.
  • Fixed: ObjCreate() memory leak when using a remote computer.
  • Fixed #865: winhttp.winhttprequest.5.1 ObjEvent unhandled exception.
  • Fixed: Remote COM bug caused by incorrect CoCreateInstanceEx() parameter.
  • Fixed: Potential memory leak in COM error event code.
  • Fixed #1660: Crash on Mod() with a divisor of 0.
  • Fixed: COM methods no longer change the type of AutoIt variables.
  • Fixed #2001: Example for _GUICtrlToolbar_SetButtonText() did not work correctly.
  • Fixed #1994: Documentation for _ScreenCapture_Capture() and _ScreenCapture_CaptureWnd() incorrectly stated the functions had no return value. Moved information from Remarks up to Return area.
  • Fixed #1948: Documentation for _GUICtrlButton_SetImage() had the wrong description.
  • Fixed #1519, #1694: Int() and Number() returning wrong.
  • Fixed: Various documentation typos and grammatical errors.
  • Fixed #1982: Crash in FileGetShortName() and FileGetLongName().
  • Fixed #2046: DirGetSize("") was returning the size of the working directory root instead of -1 and setting @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:
  • Added: _DebugSetup() can report to a Notepad Window.
  • Added #1371: Allow Default keyword in _TempFile().
  • Added #1527: Test example to have doc example working.
  • Added #1636: _Security__LookupAccountSID() for Remote Systems.
  • Added #1569: _ArraySearch() $iPartial (->$iCompare) extended to match on variables of same type.
  • Added #1557: VK_xBUTTON in Constants.au3.
  • Added #1890: Better cross-referencing for _WinAPI_GetParent() and _WinAPI_GetAncestor().
  • Added #1925: $WS_EX_LAYOUTRTL control style to the documentation.
  • Added #2049: Missing windows message codes to WindowsConstants.au3.
  • Added: _WinAPI_StringLenA() and _WinAPI_StringLenW() functions.
  • Added: _WinAPI_DuplicateHandle() function.
  • Added: _Security__CreateProcessWithToken(), _Security__DuplicateTokenEx and _Security__SetTokenInformation functions.
  • Fixed #1542: _DebugSetup() closing when use with GUI handling events.
  • Fixed #1549: _SQLite_Escape() crash for strings > 64K (> 3.3.0.0).
  • Fixed #1517: _GUICtrlListView_simpleSort with checkbox.
  • Fixed #1588: AUtoIt3.exe stay active for all processes using the Window report.
  • Fixed #1615: _GUICtrlTreeView_SetStateImageIndex() with index = 0.
  • Fixed #1620: _DebugOut() or _DebugReportVar() containing '.
  • Fixed #1513: Allow _GUI...() to use notification callback (LPSTR_TEXTCALLBACK).
  • Fixed #1608: _Crypt_EncryptFile() for file >1Mb.
  • Fixed #1644: _InetMail() with Windows Live mail.
  • Fixed #1453: _Net_Share_ShareCheck return always 0.
  • Fixed #1664: _GUICtrlTab_GetItem() does not return text.
  • Fixed #1671: _WinAPI_WideCharToMultiByte() doc.
  • Fixed #1672: _WinAPI_GetObject() reference ANSI version.
  • Fixed #1665: _ScreenCapture_CaptureWnd() when running with Aero theme.
  • Fixed #1689: _Debug...() cannot be obfuscated.
  • Fixed #1712: _FileWriteFromArray() crash on array.
  • Fixed #1754: _PathFull() optional parameter doc.
  • Fixed #1756: _GDIPlus_Startup() Flaw on error.
  • Fixed #1920: Script crashes with error reported in Security.au3 at line 85.
  • Fixed #1895: Bugs in _GUIScrollBars_Init().
  • Fixed #1891: _ArrayDisplay (......,i$iTranspose,...) wrong description.
  • Fixed #1933: _GetIP is outdated and could possibly fail.
  • Fixed #1859: Bug in _WeekNumberISO?
  • Fixed #2009: Incorrect styles listed in _GUICtrlToolbar_Create().
  • Fixed #1009: SQLite library needs to support a user-defined callback for diagnostic messages instead of hard-coding ConsoleWrite().
  • Fixed #1985: _IECreate() now ensures focus is given to the document when an about URI is loaded (such as about:blank). IE9 gives focus to the URL bar which can cause later issues setting focus to elements.
  • Fixed #2004: Functions that accept Control ID/Handle were not correctly documented.
  • Fixed #1951: Missing parameter in documentation for _SQLite_SQLiteExe().
  • Fixed #1442: File handle can now be passed to _FileWriteLog().
  • Fixed #1777: Issues with Security.au3.
  • Fixed #2055: replaced DllStructGetPtr with "struct*" throughout UDFs.
  • Fixed #2048: Windows constants $WM_RBUTTONDBLCLK and $WM_MBUTTONDBLCLK were named incorrectly.
  • Fixed #2034: _GUICtrlMenu_AppendMenu dllcall type set wrong.
  • Fixed #2060: Various documentation errors.
  • Changed: _SQLite 3.6.22 -> 3.7.2.0
  • Changed: _IEFormElementSetValue() examples #3 removed (login to Hotmail).
  • Changed: _IEFormElementSetValue() examples #4 and #5 (now #3 and #4) use the text input instead of the file input. The file input is read-only on IE9 so the Send()/ControlSend() produced no results.
  • 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.

New in AutoIt 3.3.6.1 (Apr 16, 2010)

  • Fixed #1515: FileOpen() still opening in exclusive mode in some situations.

New in AutoIt 3.3.6.0 (Mar 9, 2010)

  • 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.
  • Changed: Send() and ControlSend() code reworked to allow for more Unicode characters to be used.
  • Changed: FileWriteLine() performance improved.
  • 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:
  • 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:
  • Fixed #1438: AutoIt error when using _ArrayCombinations().
  • Fixed #1454: StringBetween() not working correctly.
  • Fixed #1441: _GUICtrlRichEdit_GetText() using wrong buffer length.
  • Fixed #1446: _ScreenCapture_Capture() was using height/width of 1 pixel less.
  • Fixed #1445: Documentation updated for _MemGlobalFree().
  • Fixed #1469: _GDIPlus_BitmapCloneArea() documentation updated.
  • Fixed #1466: _GUICtrlEdit_GetLine() returns an unexpected character.
  • Fixed #1487: _DateToDayOfWeekIso returned 0-6 but should be 1-7 where Monday = 1

New in AutoIt 3.3.4.0 (Jan 15, 2010)

  • AutoIt:
  • 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.
  • Fixed #384: Under certain circumstances the network credentials flag would prevent the process from starting when launched with RunAs() or RunAsWait().
  • Fixed #1370: StringInStr() would crash with a negative occurrence and start position greater than the string length.
  • Fixed #1367: Calling GUIDelete() from a GUIRegisterMsg() callback that returns $GUI_RUNDEFMSG would crash AutoIt.
  • Fixed #1363: FileSetPos() did not work when the origin was the current position.
  • Fixed #1355: Regression in how unsigned numbers are displayed when returned from DllCall().
  • Fixed #1396: Crash in DllCallbackGetPtr() with invalid handle.
  • Fixed #1352: StringSplit() hard crash with binary data.
  • Fixed #1398: Fixed declaration of $tagPARAFORMAT2 from GuiRichEdit.au3
  • 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.
  • AutoIt3Help:
  • Fixed #1327: Some keywords would fail to open correctly in rare cases.
  • UDFs:
  • Changed: _SQLite 3.6.19 -> 3.6.22
  • Fixed #1338: bad _ArrayDisplay() GUI position error.
  • Fixed #1362: _WinAPI_WindowFromPoint() did not work with 64-bit AutoIt.
  • Fixed #1389: _IEAttach() could fail if called multiple times.
  • Fixed #1353: _FileWriteToLine() excessively strict on input text type.
  • Fixed: SQLite.au3 various errors in _SQLite_FetchData, $iCharSize, _SQLite_QuerySingleRow, _SQLite_GetTable2d, _SQLite_Display2DResult by jchd.

New in AutoIt 3.3.2.0 (Dec 18, 2009)

  • 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

New in AutoIt 3.3.0.0 (Dec 27, 2008)

  • Windows 9x and Windows NT 4.0 Operating System support has been removed.
  • 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.
  • 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,...).
  • 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.

New in AutoIt 3.2.12.1 (Jun 15, 2008)

  • Fixed: RunAs() and RunAsWait() now use @SystemDir as the working directory instead of @WorkingDir when a user-supplied working directory is not specified.
  • Fixed: Contextmenuitem not firing events.
  • Fixed: Icon transparency refresh when on tab regression.
  • Fixed #360: RunAs() under Windows 2000.

New in AutoIt 3.2.12.0 (May 16, 2008)

  • Removed: Unnecessary optional parameter from ProcessClose().
  • Removed: RunAsSet(). (Replaced with RunAs() and RunAsWait())
  • Removed: RunErrorsFatal option ( Opt() ).
  • Removed: ColorMode option ( Opt() ).
  • 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 specify 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 chosen release directory.
  • Fixed: WinMove() with Speed = 0 crash the script.
  • Fixed: Mysterious UDF return value of 1 when no explicit value was set.
  • Fixed: ControlCommand(), "GetLineCount".
  • 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 control.
  • 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() erroneously 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: 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.

New in AutoIt 3.2.10.0 (Nov 26, 2007)

  • 64bit (x64) versions of AutoIt, Aut2Exe, Au3Info and AutoItX.
  • DllCallbackRegister(), DllCallbackGetPtr() and DllCallbackFree()
  • DllCall() now accept doubles, int64, uint64, wparam and lparam types.
  • SendKeepActive().
  • ControlTreeView().
  • Bug fixes.

New in AutoIt 3.2.8.1 (Sep 11, 2007)

  • Fixed: Possible crash with StringRegExp().

New in AutoIt 3.2.8.0 (Sep 10, 2007)

  • 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.
  • Added: wchar type added to DllStructCreate().
  • Added: WinMove() speed parameter.
  • 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.

New in AutoIt 3.2.6.0 (Aug 25, 2007)

  • 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. (Thanks PaulIA)
  • 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.

New in AutoIt 3.2.4.9 (May 25, 2007)

  • Added: StringCompare()
  • Fixed: Basic string comparisons were not working with locale as in previous versions.

New in AutoIt 3.2.4.8 (May 23, 2007)

  • Fixed: Errors with non-western codepages and ANSI format scripts.

New in AutoIt 3.2.4.6 (May 21, 2007)

  • Fixed: StringReplace() and occurances parameter

New in AutoIt 3.2.4.2 (May 16, 2007)

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

New in AutoIt 3.2.3.2 Beta (Apr 11, 2007)

  • 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: Listview Alternate coloring with $GUI_BKCOLOR_LV_ALTERNATE.
  • Added: IconId can be referenced by ordinal value if negative 1-based index is used.
  • 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.
  • Changed: Performance improvements (up to 100% on some scripts!).
  • Changed: @error set to WinAPI GetLastError() 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.
  • 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 notififation 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 begining 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.

New in AutoIt 3.2.2.0 (Dec 31, 2006)

  • 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: Listview Alternate coloring with $GUI_BKCOLOR_LV_ALTERNATE.
  • Added: IconId can be referenced by ordinal value if negative 1-based index is used.
  • 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.
  • Changed: Performance improvements (up to 100% on some scripts!).
  • Changed: @error set to WinAPI GetLastError() 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.
  • 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 notififation 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 begining 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.

New in AutoIt 3.2.1.13 Beta (Nov 21, 2006)

  • Added: Listview Alternate coloring with $GUI_BKCOLOR_LV_ALTERNATE
  • Fixed: Recent crash under Windows 98
  • 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: AutoIt error not displaying error line number
  • Fixed: Yet another MsgBox() timeout regression fixed
  • Fixed: au3check only checks for a string to terminate on the same line to. (v1.54.5)
  • Fixed: _StringAddComma()
  • Fixed: drag & drop $GUI_EVENT_DROPPED notififation on edit control