====== ZeoScript change log ====== ===== Next update ===== ===== v2.9.6.0 ===== * Released with L3DT v2.9 build 14. * Removed 'ExtAPI' namespace, to match Zeolite v2.9.1 API. Zeolite functions are now in root namespace. * Modified string escaping to be handled in ''ParseCommand'', not ''ParseLiteralString''. ===== 2010/08/17 ===== * Released v2.9.0.0, with L3DT v2.9 * Added JIT compiler * Added 'RunScript2' function, which takes options list as arg. Recognised options are: * FileName [string] * WorkingDir [string] * ExternVars [varlist] * Added new functions: * strfind and strreplace * strupper and strlower * strleft, strright, and strsub * fgetc and fputc * Syntax changes: * syntax replaced by <...> * operator replaced by function * operator replaced by function * operator replaced by function (for globals) * operator replaced by function. * <&:...> operator replaced by & operator. * <*:...> operator replaced by * operator. * 'new' and 'delete' functions now behave like C equivalents, via hvar pointers, and using new heap list. * C-like variable name rules are now enforced. * removed 'goto'. * Ended automatic dereferencing of hvars to var arguments; users must now manually reference/dereference. * Bug fixes: * Fixed 'stresc' function, which did not correctly close escaped strings within strings in some cases. * Fixed handling of literal characters. * Fixed casting of characters. ===== 2009/11/19 ===== * Released v2.7.4.5, with L3DT v2.8. * Fixed bug in fseek. ===== 2009/05/05 ===== * Released v2.7.2.2. * Added C-like variable declarations (e.g. ''int a''). ===== 2009/04/30 ===== * Released v2.7.2.0. * Added 'iseq' (is equal), 'isgt' (is greater than) and 'islt' (is less than) intrinsic functions. * Added 'add', 'sub', 'mul', 'div' 'mod', 'max' and 'min' algebraic functions. * Removed 'newset', 'seta' and 'setv' functions. * Modified 'set' and 'del' to take arg as varref. * Modified 'incr' and 'decr' to take arg as varref, and return int64. * Added 'srand', 'rand', 'frand' and 'absrand' pseudo-random number functions. * Added 'fopen', 'fclose', 'fread', 'fwrite', 'fseek', 'rewind', 'ftell'. * Added 'MessageBox'. * Added 'GetScriptFilename', 'RunScript'. ===== 2008/12/03 ===== * Released v2.6.1.0, with L3DT 2.7 beta 1. * Added 'goto', 'GetLineNo', 'isdef' intrinsic functions. * Added 'if' / 'else' / 'endif' support. * Added 'do' / 'while' support. * Added support for literals in ‘setv’ intrinsic. * Re-mapped ‘set’ to point to ‘setv’ (was ‘seta’). * Correct line numbers for goto by including empty code lines. * Support auto-casting of variable types. ===== 2008/06/09 ===== * Released v2.5.4.1 (with L3DT 2.5.4.3) * added 'assert' intrinsic. * added 'GetWorkingDir' and 'SetWorkingDir' functions. * Changed intrinsic functions to work on variable handles: * 'del', 'set', 'setv' (arg types changed from string to hVar) * 'EditUI' (arg type changed from string to hVar) * 'not', 'and', 'or' (arg types changed from string to bool) * 'incr', 'decr' (arg types changed from string to variant) * Changed to handle hVars, and removed * Escaped literal string inputs. --- //this is a breaking change; please check scripts and plugins accordingly.// =====2008/04/12===== * Released v2.5.3.3 (with L3DT 2.5.3.10) * added new intrinsic functions: * 'set', 'setv' * 'newset' * 'not', 'or', 'and' * 'echo' * 'EditUI' * 'strcat', 'strlen' * added local (non-global) variable stack to scripts, used by with new/set/etc intrinsic and * added and opcodes. These support casting to/from bool, byte, sbyte, short, ushort, int, uint, int64, float, double and string. Other types will be supported as required. * added support for more descriptive opcode names: * (same as ) * (same as ) * (same as ) * (same as ) * added support for 'VarID' defines with literal ints. =====2008/02/18===== * Released v2.5.3.1 (with L3DT SE 2.5.2.32) * Added exception catching code / error reporting to RunScript function. * added 'new' and 'del' intrinsic functions. =====2008/01/01===== * Released v2.5.3.0 * Added new text-to-value handling via 'CExtAPI::var_SetValueA'. * Added 'ExtAPI' to default namespace. =====2007/10/25===== * Released v2.5.2.3 * Added 'sesc' (string escape) built-in function. =====2007/09/15===== * Released v2.5.2.1 * Improved argument parsing error reports (shows names/type of argument) =====2007/07/12===== * Released v2.5.0.2 * Removed unnecessary '' syntax (use 'ExtAPI.var.Create' instead). =====2007/07/01===== * Released v2.5.0.1 * Added support for sbyte, ushort, uint args. * Updated to Zeolite v2.5 =====2007/04/15===== * Released v2.3.1.0. * Add syntax, to access variables. * Add syntax, to create variables. * Calls to ZeoScript.RunScript return variables correctly. * Updated to Zeolite v2.3.1. =====2007/04/02===== * Released v2.3.0.5. * Added syntax, to access file formats. =====2007/04/01===== * Released v2.3.0.4. * Fixed parsing of multiply-nested op call arguments. =====2007/03/30===== * Released v2.3.0.3. * Added and operator syntax. * Added handling of return values. =====2007/03/29 (later)===== * Released v2.3.0.2. * Fixed handling of spaces in strings (use "quotes like this") =====2007/03/29===== * Released v2.3.0.1.