Script Breaking Changes in Recent Versions

This page contains a list of all changes made in recent updates that will almost certainly break existing scripts. Please read this list carefully when upgrading if you have not been keeping up with developments in the beta
versions. If any of these issues affect you then you will need to modify your scripts.

1st June, 2014 - v3.3.12.0

UDFs:

The parameter $hPrintCallback (formerly $sPrintCallback) in _SQLite_Startup() now requires a function object rather than a function string. This is due to the usage of Call() being removed from the UDF.

28th December, 2013 - v3.3.10.1

23rd December, 2013 - v3.3.10.0

The return value of ShellExecute() has now changed. Instead of returning 1, it returns the PID of the executed process or -1 if no PID exists.

UDFs:

_Iif() documentation has been removed. The function is still present in Misc.au3, but may be removed at a later date. Scripts should be updated to use ternary operators instead.

_IEErrorHandlerRegister() has been removed. It's not required due to COM errors no longer being fatal.

_StringEncrypt() documentation has been removed. The function is still present in String.au3, but may be removed at a later date. Scripts should be updated to use the Crypt functions instead.
Look at _Crypt_EncryptData() for an example of an alternative _StringEncrypt.

_StringReverse() documentation has been removed. The function is still present in String.au3, but may be removed at a later date. Scripts should be updated to use the native function StringReverse() instead.

With the introduction of WinAPIEx functions some constants of Constants.au3 include file have been moved to WinAPIConstants.au3.

Word UDF was re-written. Functions and/or parameters have been renamed, removed or added. A detailed list can be found here.

7th March, 2010 - v3.3.6.0

UDFs:

_DateToDayOfWeekISO returned 0-6 and is changed to 1-7 where Monday = 1.

15th January, 2010 - v3.3.4.0

Some of the following features are deprecated. Deprecated features are no longer documented but continue to work. Deprecated features will be removed after version 3.3.4.0. It is strongly recommended that scripts relying on deprecated
features be updated to work with the new behavior. Some features have already been removed and will be noted as such.

AutoIt:

The raw reading mode for FileOpen() has been removed.

InetGet("abort"), @InetGetActive and @InetGetBytesRead have been removed. The following list shows the new functions used to access the old behavior:

InetGet("abort") - Calling the new InetClose() function with a handle returned from InetGet() will abort a download.

@InetGetActive - Calling the new InetGetInfo() function with no parameters returns a count of active downloads.

@InetGetBytesRead - Calling the new InetGetInfo() function with a handle returned from InetGet()will return the bytes read (and more) for a
download.

18th December, 2009 - v3.3.2.0

Some of the following features are deprecated. Deprecated features are no longer documented but continue to work. Deprecated features will be removed after version 3.3.2.0. It is strongly recommended that scripts relying on deprecated
features be updated to work with the new behavior. Some features have already been removed and will be noted as such.

The macro @YDAY now uses the range 001 - 366 instead of 1 - 366. This makes the macro more consistent with other languages (like C/C++) and more consistent with all other date related macros which return
strings with leading 0s to pad the length.

The native version of the DLL now exclusively uses Unicode strings (LPWSTR and LPCWTSR). If you really need ANSI strings then continue to use v3.2.12.1. The easiest workaround though is to use a "wrapper" function to simply convert between
Unicode and ANSI. A limited selection of functions (WinWait... and Send) have an ANSI version but it is not intended to add ANSI versions for any others unless there is a large demand.

16th May, 2008 - v3.2.12.0

AutoIt:

RunAsSet() has been removed. Use the new RunAs() and RunAsWait() functions instead. They have been enhanced with slightly better security (It is still not recommended to
store important passwords in your scripts) and more functionality.

StdoutRead(), StderrRead() and ConsoleRead() have undergone significant changes. They no longer block, they return immediately.
The parameters have changed as well. It's no longer possible to read count parameters. The peek parameter has moved to the second parameter. The third parameter now specifies you want the data to be returned in binary format (default is text). The
macro @extended now holds the number of bytes/characters read.

StdinWrite(), ConsoleWrite() and ConsoleWriteError() will now behave differently when given binary data. The binary data
is written as-is instead of converting it to a string. Also, the return value from these functions is the number of bytes written instead of a generic value of 1.

Fixed: Random(Min,Max,1). Previously this would never actually return Max, so if Max was artificially incremented by one the script will now need to be changed.

UDFs:

(Please see this forum thread for more details and help with these changes.)

GUIConstants.au3 is identical to GUIConstantsEx.au3. This means that many scripts using advanced GUI functionality will need to use additional #include statements to include files containing constants that were previously and erroneously
included.

GUIDefaultConstants.au3 no longer exists. You must now #include the corresponding individual constants file for the control type you need. For example, ListBoxConstants.au3, ComboConstants.au3, EditConstants.au3, etc.

_ArrayCreate() documentation has been removed. The function is still present but may be removed at a later time. Scripts should be updated to use the array initialization syntax built into AutoIt.