Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

341 lines
14 KiB

  1. ***version 2.2.3 stable***
  2. -added sq_getfunctioninfo
  3. -added compile time flag SQUSEDOUBLE to use double precision floats
  4. -added global slot _floatsize_ int the base lib to recognize single precision and double precision builds
  5. -sq_wakeupvm can now resume the vm with an exception
  6. -added sqstd_format
  7. -generators can now be instantiated by calling sq_call() or closure.call()
  8. -fixed a bug in sqstd_printcallstack(thx takayuki_h)
  9. -fixed modulo by zero(thx jup)
  10. -fixed negative enums and constants
  11. -fixed generator crash bug if invoked as tail call (thx Mr.Accident)
  12. -fixed some minor bug
  13. ***2008-09-24 ***
  14. ***version 2.2.2 stable***
  15. -fixed some behaviour inconsistencies in thread.call() and thread.wakeup() (thx Mr.Accident)
  16. -fixed coroutine error propagation
  17. -fixed lingering return value from native function (thx Tom Leonard)
  18. -fixed a bug if array.sort() is given a bad sort function (thx Tom Leonard)
  19. -fixed some minor api bug
  20. -added sq_arrayremove() and sq_arrayinsert()
  21. ***2008-05-16 ***
  22. ***version 2.2.1 stable***
  23. -fixed a tailcall bug
  24. ***2008-02-17 ***
  25. ***version 2.2 stable ***
  26. -added _newslot metamethod in classes
  27. -added enums added constants
  28. -added sq_pushconsttable, sq_setconsttable
  29. -added default param
  30. -added octal literals(thx Dinosaur)
  31. -fixed debug hook, 'calls' and 'returns' are properly notified in the same number.
  32. -fixed a coroutine bug
  33. ***2007-07-29 ***
  34. ***version 2.1.2 stable***
  35. -new behaviour for generators iteration using foreach
  36. now when a generator is iterated by foreach the value returned by a 'return val' statement
  37. will terminate the iteration but will not be returned as foreach iteration
  38. -added sq_setclassudsize()
  39. -added sq_clear()
  40. -added table.clear(), array.clear()
  41. -fixed sq_cmp() (thx jyuill)
  42. -fixed minor bugs
  43. ***2006-08-21 ***
  44. ***version 2.1.1 stable***
  45. -vm refactoring
  46. -optimized internal function memory layout
  47. -new global symbol _version_ (is the version string)
  48. -code size optimization for float literals(on 32bits float builts)
  49. -now the raw ref API(sq_addref etc...) is fully reentrant.
  50. -fixed a bug in sq_getdelegate() now pushes null if the object doesn't have a delegate(thx MatzeB)
  51. -improved C reference performances in NO_GARBAGE_COLLECTOR builds
  52. -sq_getlocal() now enumerates also outer values.
  53. -fixed regexp library for GCC users.
  54. ***2006-03-19 ***
  55. ***version 2.1 stable***
  56. -added static class fields, new keyword static
  57. -added 64bits architecture support
  58. -added global slot _intsize_ int the base lib to recognize 32bits and 64bits builds
  59. -added functions with fixed environment, closure.bindenv() built-in function
  60. -all types except userdata and null implement the tostring() method
  61. -string concatenation now invokes metamethod _tostring
  62. -new metamethods for class objects _newmember and _inherited
  63. -sq_call() sq_resume() sq_wakeupvm() have a new signature
  64. -new C referencing implementation(scales more with the amount of references)
  65. -refactored hash table
  66. -new api functions sq_newslot(),sq_tobool(),sq_getbase(), sq_instanceof(), sq_bindenv()
  67. -the api func sq_createslot was deprecated but still supported in form of C macro on top of sq_newslot
  68. -sq_setreleasehook() now also works for classes
  69. -stream.readstr() and stream.writestr() have been deprecated(this affects file and blob)
  70. -fixed squirrel.h undeclared api calls
  71. -fixed few minor bugs
  72. -SQChar is now defined as wchar_t
  73. -removed warning when building with -Wall -pedantic for GCC users
  74. -added new std io function writeclosuretofile()
  75. -added new std string functions strip(),rstrip(),lstrip() and split()
  76. -regular expressions operators (+,*) now have more POSIX greedyness behaviour
  77. -class constructors are now invoked as normal functions
  78. ***2005-10-02 ***
  79. ***version 2.0.5 stable***
  80. -fixed some 64bits incompatibilities (thx sarge)
  81. -fixed minor bug in the stdlib format() function (thx Rick)
  82. -fixed a bug in dofile() that was preventing to compile empty files
  83. -added new API sq_poptop() & sq_getfreevariable()
  84. -some performance improvements
  85. ***2005-08-14 ***
  86. ***version 2.0.4 stable***
  87. -weak references and related API calls
  88. -added sq_objtobool()
  89. -class instances memory policies improved(1 mem allocation for the whole instance)
  90. -typetags are now declared as SQUserPointer instead of unsigned int
  91. -first pass for 64bits compatibility
  92. -fixed minor bug in the stdio stream
  93. -fixed a bug in format()
  94. -fixed bug in string.tointeger() and string.tofloat()
  95. ***2005-06-24 ***
  96. ***version 2.0.3 stable***
  97. -dofile() and loadfile() in the iolib now can decode ASCII, UTF8 files UCS2 big-endian and little-endian
  98. -sq_setparamscheck() : now typemesk can check for null
  99. -added string escape sequence \xhhhh
  100. -fixed some C++ standard incompatibilities
  101. ***2005-05-15 ***
  102. ***version 2.0.2 stable***
  103. -performances improvements (expecially for GCC users)
  104. -removed all dependencies from C++ exception handling
  105. -various bugfixes
  106. ***2005-04-12 ***
  107. ***version 2.0.1 stable***
  108. -various bugfixes
  109. -sq_setparamscheck() now allows spaces in the typemask
  110. ***2005-04-03 ***
  111. ***version 2.0 stable***
  112. -added API sq_gettypetag()
  113. -added built-in function to the bool type(tointeger, tostring etc...)
  114. ***2005-02-27 ***
  115. ***version 2.0 release candidate 1(RC 1)***
  116. -added API sq_reseterror()
  117. -modified sq_release()
  118. -now class instances can be cloned
  119. -various bufixes
  120. ***2005-01-26 ***
  121. ***version 2.0 beta 1***
  122. -added bool type
  123. -class properties can be redefined in a derived class
  124. -added ops *= /= and %=
  125. -new syntax for class attributes declaration </ and /> instead of ( and )
  126. -increased the max number of literals per function from 65535 to 16777215
  127. -now free variables have proper lexical scoping
  128. -added API sq_createinstance(), sq_pushbool(), sq_getbool()
  129. -added built-in function type()
  130. -added built-in function obj.rawin(key) in table,class and instance
  131. -sq_rawget() and sq_rawset() now work also on classes and instances
  132. -the VM no longer uses C++ exception handling (more suitable for embedded devices)
  133. -various bufixes
  134. ***2004-12-21 ***
  135. ***version 2.0 alpha 2***
  136. -globals scoping changed, now if :: is omitted the VM automatically falls back on the root table
  137. -various bufixes
  138. -added class level attributes
  139. ***2004-12-12 ***
  140. ***version 2.0 alpha 1***
  141. -codebase branch from version 1.x
  142. -added classes
  143. -added functions with variable number of parameters(vargc & vargv and the ...)
  144. -0 and 0.0 are now considered 'false' by all conditional statements(if,while,for,?,do-while)
  145. -added new api functions sq_newclass() sq_setinstanceup() sq_getinstanceup() sq_getattributes() sq_setattributes()
  146. -modified api sq_settypetag()
  147. ***2004-11-01 ***
  148. ***version 1.0 stable***
  149. -fixed some minor bug
  150. -improoved operator 'delete' performances
  151. -added scientific notation for float numbers( eg. 2.e16 or 2.e-2)
  152. ***2004-08-30 ***
  153. ***version 1.0 release candidate 2(RC 2)***
  154. -fixed bug in the vm(thx Pierre Renaux)
  155. -fixed bug in the optimizer(thx Pierre Renaux)
  156. -fixed some bug in the documentation(thx JD)
  157. -added new api functions for raw object handling
  158. -removed nested multiline comments
  159. -reduced memory footprint in C references
  160. ***2004-08-23 ***
  161. ***version 1.0 release candidate 1(RC 1)***
  162. -fixed division by zero
  163. -the 'in' operator and obj.rawget() do not query the default delegate anymore
  164. -added function sq_getprintfunc()
  165. -added new standard library 'auxlib'(implements default error handlers)
  166. ***2004-07-12 ***
  167. ***version 1.0 beta 4***
  168. -fixed a bug in the integer.tochar() built-in method
  169. -fixed unary minus operator
  170. -fixed bug in dofile()
  171. -fixed inconsistency between != and == operators(on float/integer comparison)
  172. -added javascript style unsigned right shift operator '>>>'
  173. -added array(size) constructor built-in function
  174. -array.resize(size,[fill]) built-in function accepts an optional 'fill' value
  175. -improved debug API, added sq_getclosureinfo() and sq_setnativeclosurename()
  176. ***2004-05-23 ***
  177. ***version 1.0 beta 3***
  178. -minor vm bug fixes
  179. -string allocation is now faster
  180. -tables and array memory usage is now less conservative(they shrink)
  181. -added regular expression routines in the standard library
  182. -The 'c' expression now accepts only 1 character(thx irbrian)
  183. -multiline strings <[ ]> have been substituted with C# style verbatim strings (eg. @"string")
  184. -added new keyword 'parent' for accessing the delegate of tables and unserdata
  185. -The metamethod '_clone' has been renamed '_cloned'
  186. -the _delslot metamethod's behaviour and prototype have been changed
  187. -new default function in the integer and float object 'tochar()'
  188. -the built-in function chcode2string has been removed
  189. -the default method [table].getdelegate() has been removed
  190. -new api sq_rawdeleteslot()
  191. -new table built-in method rawdelete(key)
  192. -the dynamic mudule loading has been removed from the standard distribution
  193. -some optimizations in the VM
  194. ***2004-04-21 ***
  195. ***version 1.0 beta 2***
  196. -minor compiler/parser bug fixes
  197. -sq_newclosure has a different prototype, the "paramscheck" of paramter has been moved to the new function sq_setparamscheck()
  198. -sq_setparamscheck allows to add automatic parameters type checking in native closures
  199. -sq_compile() lost the lineinfo parameter
  200. -new api sq_enabledebuginfo() globally sets compiler's debug info generation
  201. -added consistency check on bytecode serialization
  202. -fixed += operator, now works on strings like +
  203. -added global slot in the base lib _charsize_ to recognize unicode builds from ascii builds runtime
  204. -added registry table
  205. -new api call sq_pushregistrytable()
  206. -added type tag to the userdata type sq_settypetag()
  207. -sq_getuserdata now queries the userdata typetag
  208. -the built in function collect_garbage() as been renamed collectgarbage() for consistency reasons
  209. -new standard libraries(sqlibs are now obsolete)
  210. ***2004-02-20 ***
  211. ***version 1.0 beta 1***
  212. -fixed a bug in the compiler (thanks Martin Kofler)
  213. -fixed bug in the switch case statement
  214. -fixed the _unm metamethod
  215. -fixed minor bugs in the API
  216. -fixed automatic stack resizing
  217. -first beta version
  218. first pass code clean up in the VM and base lib
  219. first pass code coverege test has been done on VM and built-in lib
  220. -new VM creation API sq_open() sq_close() (sq_newvm and sq_releasevm are now obsolete)
  221. -new api allows to specifiy a "print" function to output text(sq_printfunc)
  222. -added some small optimizations
  223. -new cooperative multi-threading capabilities in the base library(coroutines), VMs are now a built in type("thread")
  224. -new built in functions have been added for manipulating the new "thread" type
  225. -friend virtual machines share the same root table, error handler and debug hook by default
  226. -new compile time options
  227. ***2004-01-19 ***
  228. ***version 0.9 alpha***
  229. -fixed a garbage collection bug
  230. -fixed some API bugs(thanks to Joshua Jensen)
  231. -fixed tail calls (in the version 0.8 the tail call optimization was erroneously disabled)
  232. -new function parameters semantic, now passing a wrong number of parameters generates an exception
  233. -native closures have now a built in parameter number checking
  234. -sq_rawget and sq_rawset now work also on arrays
  235. -sq_getsize now woks also on userdata
  236. -the userdata release hook prototype is changed(now passes the size of the userdata)
  237. -the lexer reader function now returns an integer instead of a char that allows better error checking on the input(thx Joshua Jensen)
  238. -faster compiler
  239. -try/catch blocks do not cause any runtime memory allocation anymore
  240. ***2003-12-06 ***
  241. ***version 0.8 alpha***
  242. -fixed a bug that was preventing to have callable userdata throught the metamethod _call
  243. -fixed a garbage collection bug
  244. -fixed == operator now can compare correctly different types
  245. -new built in method getstackinfos(level)
  246. -improoved line informations precision for the debug hook
  247. -new api call sq_compilebuffer()
  248. -new built-in api function compilestring()
  249. -new syntactic sugar for function declarations inside tables
  250. -the debug API has been finalized
  251. ***2003-11-17 ***
  252. ***version 0.7 alpha***
  253. -fixed critical bug SQInteger the tail call system
  254. -fixed bug in the continue statement code generation
  255. -fixed func call param issue(thanks to Rewoonenco Andrew)
  256. -added _delslot metamethod(thanks to Rewoonenco Andrew)
  257. -new multiline string expression ( delimited by <[ and ]> )
  258. -normal strings ("") do not allow embedded new line anymore
  259. -reduced vm memory footprint(C refs are shared between friend VMs)
  260. -new api method sq_deleteslot()
  261. -new debug hook event 'r' is triggered when a function returns
  262. ***2003-11-04 ***
  263. ***version 0.6 alpha***
  264. -fixed switch statement(was executing the default case after a break)
  265. -sq_call() doesn't pop the closure (just the params)
  266. -the vm execution can be suspended from the C API anytime (micro-threads)
  267. -new api calls sq_suspendvm() sq_wakeupvm() sq_getvmstate() and sq_reservestack()
  268. ***2003-10-13 ***
  269. ***version 0.5 alpha***
  270. -fixed some minor bug
  271. -tested with non ASCII identifiers in unicode mode(I've tried chinese chars)
  272. -added built-in function string.find()
  273. -the built-in function array.sort() optionally accepts a cmp(a,b) function
  274. -the debug hook function now has a new prototype debug_hook(event_type,sourcefile,line,functionname)
  275. -fixed some debug info imprecision
  276. ***2003-10-01 ***
  277. ***version 0.4 alpha***
  278. -faster VM
  279. -sq_call will pop arguments and closure also in case of failure
  280. -fixed a bug in sq_remove
  281. -now the VM detects delegation cycles(and throws an exception)
  282. -new operators ++ and --
  283. -new operator ',' comma operator
  284. -fixed some expression precedence issue
  285. -fixed bug in sq_arraypop
  286. ***2003-09-15 ***
  287. ***version 0.3 alpha***
  288. -fixed a bug in array::insert()
  289. -optional Unicode core(define SQUNICODE or _UNICODE on Win32)
  290. -sq_compiler uses a new reader function SQLEXREADFUNC
  291. -the debug hook passes 'l' instead of 'line' for line callbacks
  292. and 'c' instead of 'call' for call callbacks
  293. -new array.extend() bulit-in function
  294. -new API sq_clone()
  295. ***2003-09-10 ***
  296. ***version 0.2 pre-alpha***
  297. -new completely reentrant VM (sq_open and sq_close are now obsolete)
  298. -sq_newvm() has a new prototype
  299. -allocators are now global and linked in the VM
  300. -_newslot meta method added
  301. -rawset creates a slot if doesn't exists
  302. -the compiler error callback pass the vm handle(thanks Pierre Renaux)
  303. -sq_setforeignptr() sq_getforeingptr() are now public
  304. -sq_resume() now is possible to resume generators from C
  305. -sq_getlasterror() retrieve the last thrown error
  306. -improved docs
  307. ***2003-09-06 ***
  308. ***version 0.1 pre-alpha***
  309. first release