summaryrefslogtreecommitdiffstats
path: root/squirrel_3_0_1_stable/HISTORY
diff options
context:
space:
mode:
Diffstat (limited to 'squirrel_3_0_1_stable/HISTORY')
-rw-r--r--squirrel_3_0_1_stable/HISTORY422
1 files changed, 0 insertions, 422 deletions
diff --git a/squirrel_3_0_1_stable/HISTORY b/squirrel_3_0_1_stable/HISTORY
deleted file mode 100644
index d16ae44cc..000000000
--- a/squirrel_3_0_1_stable/HISTORY
+++ /dev/null
@@ -1,422 +0,0 @@
-***version 3.0.1 stable***
--added # as alternative symbol for "line comment"(mostly useful for shell scripts)
--added sq_throwobject() to throw an arbitrary object from the C API
--added alignement flag for userdata types, SQ_ALIGNMENT (thx Shigemasa)
--added rawset() and rawget() to class and instance default delegate
--changed bytecode format now ensures matching integer size and float size
--now inherited classes also inherit userdatasize
--added SQUIRREL_VERSION_NUMBER in squirrel.h and _versionnumber_ global symbol
--fixed sq_getmemberhandle
--fixed sq_getrefcount
--refactored some sqstdio code
--refactored some clone code
--refactored some stuff in the string lib
--added -s and -fno-exceptions in GCC makefile(better performance when using GCC)
-
-***2011-03-13 ***
-***version 3.0 stable***
--added sq_getcallee()
--sq_getfreevariable() also works for native closures
--minior optimizations
--removed several warning when compiling with GCC 4.x
--fixed some errors in the documentation
--fixed bug when using SQUSEDOUBLE and 32bits intengers
--fixed bug when invoking generators with closure.call() (thx huntercool)
-
-***2010-12-19 ***
-***version 3.0 release candidate 1(RC 1)***
--improved metamethods error handling
--added parameter 'isstatic' to _newmember metamethod(thx G.Meyer)
--added sq_getrefcount() to return number of refences from C++(thx G.Meyer)
-
-***2010-11-07 ***
-***version 3.0 beta 3***
--license changed to "MIT license"
--added sq_resurrectunreachable() and resurrectunreachable()
--added callee() built in function, returns the current running closure
--added thread.getstackinfos()
--added sq_objtouserpointer()
--added sq_newtableex()
--various refactoring and optimizations
--fixed several 64bits issues regarding integer to string conversions
--fixed some bugs when SQUSEDOUBLE is used in 32bits systems
-
-***2010-08-18 ***
-***version 3.0 beta 2.1***
--fixed bug in class constructor
--fixed bug in compound arith
-
-***2010-08-12 ***
-***version 3.0 beta 2***
--class methods can be added or replaced after the class as been instantiated
--JSON compliant table syntax, this is currently an experimental feature (thx atai)
--sq_getsize() now returns userdatasize for classes and instances
--now setroottable() and setconsttable() return the previous value of the respective table
--fixed bug in compound arith operators when used on a free variable (thx ellon)
--fixed some x64 minor bugs
--fixed minor bug in the compiler
--refactored some VM internals
--documented sq_getmemberhandle, sq_getbyhandle, sq_setbyhandle to set and get value from classes
-
-***2009-11-15 ***
-***version 3.0 beta 1***
--various refactoring and optimizations
--fixed bug in free variables (thx mokehehe)
--fixed bug in functions with default parameters (thx ara & Yexo)
--fixed bug in exception handling
--improved error propagation in _set and _get metamethods ( and 'throw null' for clean failure)
--added sq_getmemberhandle, sq_getbyhandle, sq_setbyhandle to set and get value from classes
-
-***2009-06-30 ***
-***version 3.0 alpha 2***
--added real free variables(thx Paul Ruizendaal)
--added refactored function call implementation and compiler(thx Paul Ruizendaal)
--added sq_getfunctioninfo
--added compile time flag SQUSEDOUBLE to use double precision floats
--added global slot _floatsize_ int the base lib to recognize single precision and double precision builds
--sq_wakeupvm can now resume the vm with an exception
--added sqstd_format
--now blobs can be cloned
--generators can now be instantiated by calling sq_call() or closure.call()
--fixed debughook bug
--fixed cooroutine error propagation
-
-***2008-07-23 ***
-***version 3.0 alpha 1***
--first branch from 2.x source tree
--added 'base' keyword
--removed 'delegate' keyword
--now compiled scripts are vararg functions
--added setdelegate() and getdelegate() table builtin methods
--added <=> 3 ways compare operator
--added lambda expression @(a,b) a + b
--added local function statement
--added array built-in map(),reduce(),apply(),filter() and find()
--generators hold only a weak reference of the enviroment object
--removed 'vargv' and 'vargc' keywords
--now var args are passed as an array called vargv(as a paramter)
--removed 'parent' keyword
--added class getbase() built in method
--instanceof doesn't throw an exception if the left expression is not a class
--lexical scoping for free variables(free variables are no longer in the second parameter list)
--sq_setprintfunc accept error func
--sq_geterrorfunc()
--added sq_arrayremove() and sq_arrayinsert()
--error() built in function(works like print but prints using the errorfunc)
--added native debug hook
-
-***2008-02-17 ***
-***version 2.2 stable***
--added _newslot metamethod in classes
--added enums added constants
--added sq_pushconsttable, sq_setconsttable
--added default param
--added octal literals(thx Dinosaur)
--fixed debug hook, 'calls' and 'returns' are properly notified in the same number.
--fixed a coroutine bug
-
-***2007-07-29 ***
-***version 2.1.2 stable***
--new behaviour for generators iteration using foreach
-now when a generator is iterated by foreach the value returned by a 'return val' statement
-will terminate the iteration but will not be returned as foreach iteration
--added sq_setclassudsize()
--added sq_clear()
--added table.clear(), array.clear()
--fixed sq_cmp() (thx jyuill)
--fixed minor bugs
-
-***2006-08-21 ***
-***version 2.1.1 stable***
--vm refactoring
--optimized internal function memory layout
--new global symbol _version_ (is the version string)
--code size optimization for float literals(on 32bits float builts)
--now the raw ref API(sq_addref etc...) is fully reentrant.
--fixed a bug in sq_getdelegate() now pushes null if the object doesn't have a delegate(thx MatzeB)
--improved C reference performances in NO_GARBAGE_COLLECTOR builds
--sq_getlocal() now enumerates also outer values.
--fixed regexp library for GCC users.
-
-***2006-03-19 ***
-***version 2.1 stable***
--added static class fields, new keyword static
--added 64bits architecture support
--added global slot _intsize_ int the base lib to recognize 32bits and 64bits builds
--added functions with fixed environment, closure.bindenv() built-in function
--all types except userdata and null implement the tostring() method
--string concatenation now invokes metamethod _tostring
--new metamethods for class objects _newmember and _inherited
--sq_call() sq_resume() sq_wakeupvm() have a new signature
--new C referencing implementation(scales more with the amount of references)
--refactored hash table
--new api functions sq_newslot(),sq_tobool(),sq_getbase(), sq_instanceof(), sq_bindenv()
--the api func sq_createslot was deprecated but still supported in form of C macro on top of sq_newslot
--sq_setreleasehook() now also works for classes
--stream.readstr() and stream.writestr() have been deprecated(this affects file and blob)
--fixed squirrel.h undeclared api calls
--fixed few minor bugs
--SQChar is now defined as wchar_t
--removed warning when building with -Wall -pedantic for GCC users
--added new std io function writeclosuretofile()
--added new std string functions strip(),rstrip(),lstrip() and split()
--regular expressions operators (+,*) now have more POSIX greedyness behaviour
--class constructors are now invoked as normal functions
-
-***2005-10-02 ***
-***version 2.0.5 stable***
--fixed some 64bits incompatibilities (thx sarge)
--fixed minor bug in the stdlib format() function (thx Rick)
--fixed a bug in dofile() that was preventing to compile empty files
--added new API sq_poptop() & sq_getfreevariable()
--some performance improvements
-
-***2005-08-14 ***
-***version 2.0.4 stable***
--weak references and related API calls
--added sq_objtobool()
--class instances memory policies improved(1 mem allocation for the whole instance)
--typetags are now declared as SQUserPointer instead of unsigned int
--first pass for 64bits compatibility
--fixed minor bug in the stdio stream
--fixed a bug in format()
--fixed bug in string.tointeger() and string.tofloat()
-
-***2005-06-24 ***
-***version 2.0.3 stable***
--dofile() and loadfile() in the iolib now can decode ASCII, UTF8 files UCS2 big-endian and little-endian
--sq_setparamscheck() : now typemesk can check for null
--added string escape sequence \xhhhh
--fixed some C++ standard incompatibilities
-
-***2005-05-15 ***
-***version 2.0.2 stable***
--performances improvements (expecially for GCC users)
--removed all dependencies from C++ exception handling
--various bugfixes
-
-***2005-04-12 ***
-***version 2.0.1 stable***
--various bugfixes
--sq_setparamscheck() now allows spaces in the typemask
-
-***2005-04-03 ***
-***version 2.0 stable***
--added API sq_gettypetag()
--added built-in function to the bool type(tointeger, tostring etc...)
-
-***2005-02-27 ***
-***version 2.0 release candidate 1(RC 1)***
--added API sq_reseterror()
--modified sq_release()
--now class instances can be cloned
--various bufixes
-
-***2005-01-26 ***
-***version 2.0 beta 1***
--added bool type
--class properties can be redefined in a derived class
--added ops *= /= and %=
--new syntax for class attributes declaration </ and /> instead of ( and )
--increased the max number of literals per function from 65535 to 16777215
--now free variables have proper lexical scoping
--added API sq_createinstance(), sq_pushbool(), sq_getbool()
--added built-in function type()
--added built-in function obj.rawin(key) in table,class and instance
--sq_rawget() and sq_rawset() now work also on classes and instances
--the VM no longer uses C++ exception handling (more suitable for embedded devices)
--various bufixes
-
-***2004-12-21 ***
-***version 2.0 alpha 2***
--globals scoping changed, now if :: is omitted the VM automatically falls back on the root table
--various bufixes
--added class level attributes
-
-***2004-12-12 ***
-***version 2.0 alpha 1***
--codebase branch from version 1.x
--added classes
--added functions with variable number of parameters(vargc & vargv and the ...)
--0 and 0.0 are now considered 'false' by all conditional statements(if,while,for,?,do-while)
--added new api functions sq_newclass() sq_setinstanceup() sq_getinstanceup() sq_getattributes() sq_setattributes()
--modified api sq_settypetag()
-
-***2004-11-01 ***
-***version 1.0 stable***
--fixed some minor bug
--improved operator 'delete' performances
--added scientific notation for float numbers( eg. 2.e16 or 2.e-2)
-
-***2004-08-30 ***
-***version 1.0 release candidate 2(RC 2)***
--fixed bug in the vm(thx Pierre Renaux)
--fixed bug in the optimizer(thx Pierre Renaux)
--fixed some bug in the documentation(thx JD)
--added new api functions for raw object handling
--removed nested multiline comments
--reduced memory footprint in C references
-
-***2004-08-23 ***
-***version 1.0 release candidate 1(RC 1)***
--fixed division by zero
--the 'in' operator and obj.rawget() do not query the default delegate anymore
--added function sq_getprintfunc()
--added new standard library 'auxlib'(implements default error handlers)
-
-***2004-07-12 ***
-***version 1.0 beta 4***
--fixed a bug in the integer.tochar() built-in method
--fixed unary minus operator
--fixed bug in dofile()
--fixed inconsistency between != and == operators(on float/integer comparison)
--added javascript style unsigned right shift operator '>>>'
--added array(size) constructor built-in function
--array.resize(size,[fill]) built-in function accepts an optional 'fill' value
--improved debug API, added sq_getclosureinfo() and sq_setnativeclosurename()
-
-***2004-05-23 ***
-***version 1.0 beta 3***
--minor vm bug fixes
--string allocation is now faster
--tables and array memory usage is now less conservative(they shrink)
--added regular expression routines in the standard library
--The 'c' expression now accepts only 1 character(thx irbrian)
--multiline strings <[ ]> have been substituted with C# style verbatim strings (eg. @"string")
--added new keyword 'parent' for accessing the delegate of tables and unserdata
--The metamethod '_clone' has been renamed '_cloned'
--the _delslot metamethod's behaviour and prototype have been changed
--new default function in the integer and float object 'tochar()'
--the built-in function chcode2string has been removed
--the default method [table].getdelegate() has been removed
--new api sq_rawdeleteslot()
--new table built-in method rawdelete(key)
--the dynamic mudule loading has been removed from the standard distribution
--some optimizations in the VM
-
-***2004-04-21 ***
-***version 1.0 beta 2***
--minor compiler/parser bug fixes
--sq_newclosure has a different prototype, the "paramscheck" of paramter has been moved to the new function sq_setparamscheck()
--sq_setparamscheck allows to add automatic parameters type checking in native closures
--sq_compile() lost the lineinfo parameter
--new api sq_enabledebuginfo() globally sets compiler's debug info generation
--added consistency check on bytecode serialization
--fixed += operator, now works on strings like +
--added global slot in the base lib _charsize_ to recognize unicode builds from ascii builds runtime
--added registry table
--new api call sq_pushregistrytable()
--added type tag to the userdata type sq_settypetag()
--sq_getuserdata now queries the userdata typetag
--the built in function collect_garbage() as been renamed collectgarbage() for consistency reasons
--new standard libraries(sqlibs are now obsolete)
-
-***2004-02-20 ***
-***version 1.0 beta 1***
--fixed a bug in the compiler (thanks Martin Kofler)
--fixed bug in the switch case statement
--fixed the _unm metamethod
--fixed minor bugs in the API
--fixed automatic stack resizing
--first beta version
- first pass code clean up in the VM and base lib
- first pass code coverege test has been done on VM and built-in lib
--new VM creation API sq_open() sq_close() (sq_newvm and sq_releasevm are now obsolete)
--new api allows to specifiy a "print" function to output text(sq_printfunc)
--added some small optimizations
--new cooperative multi-threading capabilities in the base library(coroutines), VMs are now a built in type("thread")
--new built in functions have been added for manipulating the new "thread" type
--friend virtual machines share the same root table, error handler and debug hook by default
--new compile time options
-
-***2004-01-19 ***
-***version 0.9 alpha***
--fixed a garbage collection bug
--fixed some API bugs(thanks to Joshua Jensen)
--fixed tail calls (in the version 0.8 the tail call optimization was erroneously disabled)
--new function parameters semantic, now passing a wrong number of parameters generates an exception
--native closures have now a built in parameter number checking
--sq_rawget and sq_rawset now work also on arrays
--sq_getsize now woks also on userdata
--the userdata release hook prototype is changed(now passes the size of the userdata)
--the lexer reader function now returns an integer instead of a char that allows better error checking on the input(thx Joshua Jensen)
--faster compiler
--try/catch blocks do not cause any runtime memory allocation anymore
-
-***2003-12-06 ***
-***version 0.8 alpha***
--fixed a bug that was preventing to have callable userdata throught the metamethod _call
--fixed a garbage collection bug
--fixed == operator now can compare correctly different types
--new built in method getstackinfos(level)
--improved line informations precision for the debug hook
--new api call sq_compilebuffer()
--new built-in api function compilestring()
--new syntactic sugar for function declarations inside tables
--the debug API has been finalized
-
-***2003-11-17 ***
-***version 0.7 alpha***
--fixed critical bug SQInteger the tail call system
--fixed bug in the continue statement code generation
--fixed func call param issue(thanks to Rewoonenco Andrew)
--added _delslot metamethod(thanks to Rewoonenco Andrew)
--new multiline string expression ( delimited by <[ and ]> )
--normal strings ("") do not allow embedded new line anymore
--reduced vm memory footprint(C refs are shared between friend VMs)
--new api method sq_deleteslot()
--new debug hook event 'r' is triggered when a function returns
-
-***2003-11-04 ***
-***version 0.6 alpha***
--fixed switch statement(was executing the default case after a break)
--sq_call() doesn't pop the closure (just the params)
--the vm execution can be suspended from the C API anytime (micro-threads)
--new api calls sq_suspendvm() sq_wakeupvm() sq_getvmstate() and sq_reservestack()
-
-***2003-10-13 ***
-***version 0.5 alpha***
--fixed some minor bug
--tested with non ASCII identifiers in unicode mode(I've tried chinese chars)
--added built-in function string.find()
--the built-in function array.sort() optionally accepts a cmp(a,b) function
--the debug hook function now has a new prototype debug_hook(event_type,sourcefile,line,functionname)
--fixed some debug info imprecision
-
-***2003-10-01 ***
-***version 0.4 alpha***
--faster VM
--sq_call will pop arguments and closure also in case of failure
--fixed a bug in sq_remove
--now the VM detects delegation cycles(and throws an exception)
--new operators ++ and --
--new operator ',' comma operator
--fixed some expression precedence issue
--fixed bug in sq_arraypop
-
-***2003-09-15 ***
-***version 0.3 alpha***
--fixed a bug in array::insert()
--optional Unicode core(define SQUNICODE or _UNICODE on Win32)
--sq_compiler uses a new reader function SQLEXREADFUNC
--the debug hook passes 'l' instead of 'line' for line callbacks
- and 'c' instead of 'call' for call callbacks
--new array.extend() bulit-in function
--new API sq_clone()
-
-***2003-09-10 ***
-***version 0.2 pre-alpha***
--new completely reentrant VM (sq_open and sq_close are now obsolete)
--sq_newvm() has a new prototype
--allocators are now global and linked in the VM
--_newslot meta method added
--rawset creates a slot if doesn't exists
--the compiler error callback pass the vm handle(thanks Pierre Renaux)
--sq_setforeignptr() sq_getforeingptr() are now public
--sq_resume() now is possible to resume generators from C
--sq_getlasterror() retrieve the last thrown error
--improved docs
-
-***2003-09-06 ***
-***version 0.1 pre-alpha***
-first release