Below is a history list of the various releases. Please see KiX95.doc (included in the ZIP file) for full details on Kixtart commands and functions.

2001 beta 1

New commands, functions, macros

Enhanced commands, functions

Differences with previous versions of KiXtart

3.63
1 added Poweroff option to ShutDown. To use this option, specify 2 as the
last parameter.
Example: $RC = ShutDown( "" , "" , 0 , 1 , 2 )

2 added SetSystemState function:
SetSystemState( Mode , Force )

Input: Mode - 0 Lock (only on NT/Win2000)
- 1 Standby
- 2 Hibernate
- 3 PowerOff

Force - 0 Request power state change
1 Force power state change

Returns: 0 - success
<>0 - Win32 error code
3 fixed overflow issue in ReadValue
4 fixed regression with non-ANSI characters on Win9x

NB: version 3.63 is only available for Intel. The Alpha version provided in
the zipfile is version 3.60.

3.61
1 added OLEEnumObject
2 enhanced determination of logonserver on Win9x systems in resource domains
3 added ClearEventlog & BackupEventlog
4 added SetASCII
5 added ExpandEnvironmentVars

NB: version 3.61 is only available for Intel. The Alpha version provided in
the zipfile is version 3.60. The only differences between the 2 versions
are the 4 functions mentioned above.

3.60
1 COPY - fixed handling of target without backslash or filename
2 added local variables
3 added arrays
4 added DecToHex and handling of hexadecimal values
5 fixed issue in AT when output was redirected
6 added 'language' option to GetFileVersion
7 added GetFileSize
8 added mathematical & and |
9 added Dir
10 added GetFileAttr
11 added Execute
12 added SetFocus & SendKeys
13 fixed GetDiskSpace on pre-OSR2 Win95 (still limited to 2Gb though)
14 internationalized KIX32 and KXRPC so output is in correct codepage
15 enhanced KIX32 on Windows 9x in situations with Global Groups of
    more than 20 characters
    Note : Global Groups over 20 characters will not be available to
    Windows 9x systems, but all other information will be
16 moved all cross-network information retrieval to runtime
17 added SITE macro
18 enhanced error reporting in KXRPC

3.55
1 fixed finding of default script in directory other than current (was broken since 3.48)
2 enhanced determination of logonserver on Win9x systems in resource domains
3 added an updated ALPHA build of KIX32.EXE
To install the ALPHA build, simply copy KIX32.ALPHA from the ALPHA subdirectory
to your system, and rename it to KIX32.EXE.

3.54
1 fixed bug (that was introduced in 3.53) with SET and SETM

3.53
1 fixed bug with empty strings in SubStr
2 added 5KB size limit on KIXTART.LOG
3 RND() can now return random number in a specific range
4 GetFileVersion now also works on incompletely versioned files
5 GetFileVersion can now return any of the version info fields
6 added GetFileTime
7 added GetDiskSpace
8 added @USERLANG & @SYSLANG
9 added /h option to COPY so hidden & system files can be copied

3.52
1 fixed problem in EXIT with setting ERRORLEVEL

3.51
1 fixed reporting RAS active when actually RAS is not installed
2 changed EXIT to set ERRORLEVEL if used at topmost level
3 fixed debugmode so it works ok when output has been redirected

3.50
1 fixed exception in COPY when used on files without extension
2 changed WM_WININICHANGE message to WM_SETTINGCHANGE and added timeout
3 made Exist() compliant with previous version (to work on drives and shares)

3.49
1 fixed wildcard support for DEL

3.48
1 fixed ReadLine to correctly handle files opened for read access
2 fixed ydayno to return same result as kixtart 2.33
3 added /debug option
4 added /nonet option
5 removed last '\' from startdir
6 moved initialization of RAS information to runtime
7 added RD command (remove directory)
8 added wildcard support to DEL, COPY & Exist()
9 added LogEvent()

3.47
1 fixed memory bug in InGroup that was introduced in 3.46

3.46
1 GET now really does handle function keys
2 added ASC()
3 added WriteLine() and enhanced Open() to open files for writing
4 added LoadHive() and UnloadHive()
5 added OLE Automation functions
6 added @SCRIPTDIR, @CURDIR, @SERROR

3.45
1 fixed issue with USE & variable for local resource
2 fixed issue with running of user-specific script if KXRPC unavailable
3 fixed issue with finding KIXTART.INI
4 USE now supports "USE * /delete"
5 added EnumGroup( index )
6 added EnumLocalGroup( index , source )

3.44
1 we now use a combination of thunking and RPC to retrieve info on 95
This means we once again work against SAMBA servers, and can work
outside the logon sequence again.
2 USE now supports 'driveless' and persistent connections
3 we now support an additional default script extension : ".KIX"
4 added LCASE & UCASE functions

3.42
1 KXRPC mapping now supports multiple servers per mapping.
NB : to enable this feature, update both KIX32.EXE & KXRPC.EXE.
See the manual for more details.
2 fixed LMSCRIPT bug

3.41
1 KiXtart now has various methods to locate a KXRPC server
NB : to enable this feature, update all components (KIX32.EXE,
KXRPC.EXE and KX95.DLL) See the manual for more details.

2 removed old 64K limit on scripts
3 fixed bug in SELECT when last CASE was true

3.40
1 moved to RPC based information retrieval on Windows 95
2 added @LONGHOMEDIR
3 added @RAS
4 added QUIT
5 added GETFILEVERSION
6 added COMPAREFILETIMES
7 added COPY
8 fixed registry functions to handle computernames > 13 chars
9 fixed multiple display of last line with DISPLAY
10 added @HOMEDRIVE
11 GET enhanced to handle function keys (if a function key is
pressed, GET returns 0 and @ERROR is set to the code of the
function key)
12 added error logging (in the eventlog on NT systems, and in 
KIXTART.LOG in the TEMP directory on Windows 95 systems)

3.38
1 fixed problem with @DAY, @MONTh and @PRIV
2 fixed memory leak after SHELL

3.37
1 added SELECT/CASE/ENDSELECT (switch statement)
2 added GOSUB/RETURN
3 nesting of IF's, DO's, etc no longer limited to 10
4 added LTRIM/RTRIM/VAL functions

3.36
1 fixed Ingroup on local groups (didn't work for domains)
2 added @SID macro (only available to NT workstations)
3 added @PRIMARYGROUP macro (only available to NT workstations)
4 fixed issue with uppercase characters in COLOR statement
5 system menu of console is now correctly reset (previously, the
system menu was reset to the windows default)
6 the 'please wait while your logonscript...' dialog is now
automatically hidden as soon as KiXtart starts
7 ReadProfileString now correctly sets @ERROR
8 fixed issue with > 10 nested IF's
9 SETTIME now supports specific domain (ie : SETTIME "DomainName")
10 SETTIME correctly sets @ERROR

3.35
1 changed macro/variable/environment var resolution.

NB : this fix resolves the issue of the infamous missing '$'.
This is of course nice, but it does mean that scripts that
are coded to add an extra '$' to certain strings, will now
fail... This is a nuisance, for which I apologise, but this
issue really needed to go once and for all.

2 worked around 'LPTx' redirection issue on NT 4.0.
3 INGROUP now also works for 'indirect' groupmembership (ie : if you
are member of a global group that is member of a local group, INGROUP
will now return true if used on the local group.
4 also, INGROUP now can be used to query for membership of local groups
on a specific domain or server simply by preceding the name of the
group with the name of the domain or server (ie :
Ingroup( "\\MyServer\Administrators") , Ingroup( "YourDomain\Admins") )
NB : this feature is only available to NT workstations
5 fixed issue with deleting sections from INI's with WriteProfileString.
6 enhanced SHUTDOWN to work on Windows 95 (local system only)

3.34
1 moved retrieval of TCP/IP to runtime (rather than init). This way,
we only lose time waiting for TCP/IP if we really want to.
2 added 'empty' string support to ReadProfileString :
ReadProfileString will now indeed return all section-/keynames if the
respective parameter is empty. Values are concatenated into 1 string,
separated by linefeeds ( chr(10) ).

3.33
1 fixed AddProgramItem (didn't work on Win95)
2 AddProgramItem now has the ability to Add & Replace an item in 1 call
(in other words : whether or not the icon exists, a replace call can now
succeed). To use this feature, specify 2 for the Replace parameter.
3 corrected 'short' stuff for @HOMEDIR

3.32
1 fixed ReadLine (it hung when last line didn't have <carriage return>)

3.31
1 fixed MessageBox, so that it (once again..) returns a correct value
if run without a TimeOut value

3.30
1 added TCP/IP macro's (@IPADRESS0 thru @IPADDRESS3 and @HOSTNAME)
2 added timeout parameter to MessageBox
3 added simple I/O functions (OPEN, READLINE,CLOSE)
4 changed @HOMEDIR such that it now always returns the 'short' name
5 added command to create a directory (MD)
6 added LOGOFF function
7 added CHR function

3.21
1 removed unnecessary '%' stuff from ReadValue

3.20
1 added Shutdown(), SendMessage(), Messagebox(), RedirectOutput(),
see kix32.doc for details.
2 Enhanced 'interrupt' handler : BREAK OFF now also disables the
'Close' option in the console system menu.
3 Fixed '$' handling in macro's.
4 Added optional parameter support.
5 Added 'RunInOwnMemorySpace' parameter to AddProgramItem().
6 @INWIN now indicates NT (==1) or 95 (==2)

3.19
1 /user & /password now DO understand vars as args

3.18
1 added code to emulate LOADKEY on Windows 95

3.17
1 added SETCONSOLE() function :

SETCONSOLE("SHOW") - show console window
SETCONSOLE("HIDE") - hides console window
SETCONSOLE("FOREGROUND") - moves console window to foreground
SETCONSOLE("ALWAYSONTOP") - makes console window topmost window
SETCONSOLE("MINIMIZE") - minimizes console window
SETCONSOLE("MAXIMIZE") - maximizes console window

Return value : 0 if ok, >0 if error occurred.

3.16
1 rebuild of 3.15 without VC 4.0's speed-optimization...thereby fixing
a problem with retrieving the LAN info on 95

3.15
1 added DO - UNTIL & WHILE - LOOP
2 fixed AND & OR stuff

3.13
1 PASSWORD no longer supported, instead, USE now supports 2 new
parameters : /PASSWORD:pw & /USER:user (latter only on NT)
2 fixed @KIX...

3.12
1 fixed INGROUP so that it now really does return 2 for local groups (...)
2 made PLAY a little more flexible (it now understands "PLAY DING.WAV")

3.11
1 USE now supports PASSWORD (really :-)

3.10
1 added Program Group Control
2 added Remote Printer Connection mgmt
3 added INI file mgmt

3.02
1 removed debug info from SETTIME (sigh...)

3.01
1 SETTIME set incorrect time on Windows NT
2 Environment variables were incorrectly handled
3 SHELL did not set @ERROR to returncode of the shelled program


Alpha release (TEST version)
New features include a GetIPInfo function and array-assignment