Code: Select all
------------------------------------------------------------------------------- - Autoit v184.108.40.206 ------------------------------------------------------------------------------- 220.127.116.11 (30th December, 2013) Fixed #2576: All AutoIt EXEs and tools not working on older Athlon XP processors due to SSE compiler options. 18.104.22.168 (28th December, 2013) 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. 22.214.171.124 (23rd December, 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", ",") 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 126.96.36.199 -> 188.8.131.52. 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.