Portable AutoIt Changelog

What's new in Portable 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 Portable AutoIt 3.3.10.0 (Dec 30, 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 Portable AutoIt 3.3.8.1 (Dec 30, 2013)

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

New in Portable AutoIt 3.3.8.0 (Dec 30, 2013)

  • 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 Portable AutoIt 3.3.6.1 (Apr 17, 2010)

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

New in Portable AutoIt 3.3.6.0 (Apr 17, 2010)

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

New in Portable 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 Portable AutoIt 3.3.2.0 (Jan 15, 2010)

  • AutoIt:
  • 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 4000
  • Fixed: _SoundOpen() set @error on MCI Error
  • Fixed #1015: _SQLite_SaveMode() renamed as _SQLite_SafeMode()
  • Fixed #1016: _WordDocSaveAs() Doc for error handling
  • Fixed: Sound positioning in case of VBR Format Sound
  • Fixed #1028: _Clipboard_GetData() fix
  • Fixed #1031: _Clipboard_SetData() fix
  • Fixed #1040: _ScreenCapture_Capture() leak memory
  • Fixed #1026: _Gdiplus_BitmapCreate*() doc examples
  • Fixed #1092: _Timer_...() datatype for X64
  • Fixed #1059: Incorrect error handling in _FileListToArray()
  • Fixed #1101: _NowTime(), _NowDate() Doc
  • Fixed: _WinAPI_GetWindowLong(), _WinAPI_SetWindowLong support X64
  • Fixed #1111: Bad grammar in comments for _DateAdd()
  • Fixed: UDF library now uses #include "" instead of #include
  • Fixed #1033: UDF library now has better and more consistent error handling when DllCall() is used
  • Fixed #1215: _ArraySearch() not searching on 2D array
  • Fixed #1168: _ExcelBookOpen() now selects the first visible worksheet to prevent a COM error
  • Fixed #1247: Documented that some _GUICtrlComboBoxEx_* functions don't work with certain ComboBox styles
  • Fixed #1260: Potential buffer overflow in _WinAPI_GetLastErrorMessage()
  • Fixed #1276: _TicksToTime() incorrectly rounded seconds up
  • Fixed #1277: Resource clean-up in example script for _GDIPlus_ImageGetGraphicsContext
  • Fixed #1290: Invalid Left coordinate when using _GUICtrlTreeView_DisplayRectEx()
  • Fixed #1296: _GUICtrlTreeView_ClickItem() could click outside the control's parent window
  • Fixed #1312: Errors with _GUIImageList_BeginDrag() example
  • Fixed #1320: _GUIImageList_DragMove() documentation contained a parameter that doesn't exist
  • Changed: _StringBetween removed last optional param (not needed after change)(SmOke_N)
  • Changed: _StringToHex(), _HexToString() and _StringReverse() have been rewritten and are faster
  • Changed: _SQLite 3.6.7 -> 3.6.19 (SQL statement support UNICODE characters)
  • Changed: _InetGetSource() now uses InetRead()
  • 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

New in Portable AutoIt 3.3.0.0 (Dec 29, 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.