Skip to content

Latest commit

 

History

History
145 lines (115 loc) · 5.49 KB

CHANGELOG.md

File metadata and controls

145 lines (115 loc) · 5.49 KB

TODO (--/--/--):

  • added full state serialization

1.4.1 (2016/09/20):

  • SGS.NET v1.0 released
  • VS2015 support & solution file
  • array optimizations
  • some bugfixes
  • header cleanup

1.4.0 (2016/09/02):

  • added class syntax
  • added 'defer' keyword (moves statement to end of block, 2+ statements are executed in opposite order)
  • improved closure system (less cost for regular calls)
  • SGSON serialization (JSON-like, with function syntax)
  • call overhead optimization
  • hash table performance stabilization
  • alternative concatenation operator - ".."
  • new test subsystems, consolidated tests into fewer files
  • SGS-CPPBC: improved and added API functions, added backing store, added support for class inheritance
  • xgmath: added 4 functions for AABB2 object (expand, limit, collide, circle_collide)
  • simplified function call API
  • refactored internals for reduced code size
  • various bugfixes
  • optimized memory usage

1.0.4 (2016/01/20):

  • some API cleanup (removed error codes and failure cases)
  • various bugfixes
  • fixed profiling (coroutine-awareness)
  • added thread syntax and API (thread, subthread, sync, race, end_on)
  • improved __call metamethod behavior
  • implemented thread pooling, improved stack frame pooling
  • added map literal
  • added variable keys to map/dict literals - "{ [a + b] = 5 }"
  • implemented tests for various features (improved future stability)
  • simplified SGS-CPPBC coroutine interaction
  • compacted the code structure (less files and folders)
  • restored OS X support
  • fixed unary operator parsing issues
  • added pseudo-globals _F (current function) and _T (current thread)
  • optimized memory usage
  • implemented advanced HTML5 single-file documentation
  • created a vector graphics logo

1.0.1 (2015/11/17):

  • major API cleanup - replaced many error codes with internal messaging
  • various bugfixes
  • improved closure support (can now call them directly, aborting passes through and coroutine pausing works)
  • dict literal - mapping shortcut "{ a, b }" = "{ a = a, b = b }"
  • cppbc: interface upgrades - VALIDATE/SOURCE, coroutine-aware methods, method aliases, improved parsing
  • symbol serialization
  • coroutine serialization
  • optimized AST heap usage (more efficient eval/code compilation in general)
  • restored the old getindex/setindex/expr object interface
  • added persistent registry tables (root, symbols, includes)

0.9.7 (2015/06/03):

  • partial Windows Phone 8 support
  • bugfixes: mostly in cppbc
  • virtual file system for script sources
  • coroutines!
  • metaobjects and source-configurable metamethods (can link any object to any backing object)
  • object interface cache for simplified metaobject handling
  • fixed string table, now all strings are interned
  • removed source code conflicts for easier integration
  • fast variable debug dumping functions
  • single header implementation generator
  • removed the string32 optimization interface
  • free function presorting (can now use them before definition)
  • cppbc: interface upgrades, auto-dumping/gcref generators
  • first-non-null (??, ??=) operators
  • xgmath upgrades (aabb3, mat4, quaternion, intersection tests)
  • fixed MinGW linking issue

0.9.5 (2014/05/25, updated 2014/07/11):

  • full Mac OS X support
  • bugfixes: lots of those (regex is finally stable)
  • memory usage profiler
  • map object
  • syntax/VM upgrades (multi-index/property set, compatible call, unescaped strings, error suppression, named anonymous and short functions, var.arg. support)
  • stdlib upgrades (core, utf8, io)
  • xgmath (floatarray, matrix), sockets module upgrades
  • C API upgrades (major refactor for variable pointer support, output system)
  • almost fully documented the whole system, upgraded documentation system
  • cppbc upgraded and fully tested with heavy C++ projects (sgs-box2d) + documented
  • sgs2c experimental script developed to maximum bytecode compatibility
  • code is mostly warning-free on all supported platforms

0.9.0 (2013/11/10):

  • bugfixes: empty subexpr, unary op chaining, expression writes
  • implemented hooks interface
  • created two kinds of profilers
  • major internal refactoring (object interface & C-side handling)
  • major stdlib upgrades (OS, date, I/O, formatting, iterables, system, regex)
  • serialization
  • the meta-global, environment switching
  • unoptimized pseudo-empty statements due to possible side effects (1+funccall("x") etc.)
  • documented stdlib / C API
  • multiple return value capture via expression writes
  • if(cond,true,false) pseudo-function (ternary op substitute)
  • real closures

0.8.5 (2013/05/01):

  • sorted MANY things out (lots of fixes and API changes)
  • utf8<->utf32, big math/type lib. changes, debug inspector, json addon DLL,
  • upgraded the test framework, created the monkey test, doc.gen. from MD

0.8.2 (2013/04/15):

  • implicit "this", bytecode serialization, upgraded AST code,
  • DLL loading system (Windows-only ATM), core I/O API, variable cloning,
  • extended array API that is made to be sequencing-friendly, int/int=>real

0.8.1 (2013/04/04):

  • important stability and main API improvements
  • the engine is finally tested to be production-code-ready

0.8 (2013/03/29):

  • most of string API, type API, closures, API test framework,
  • improved debugging, fixed: boolean logic, div/0 error and other things

0.7 (2013/01/28):

  • object orientation (w/ operator overloading), do-while,
  • optimizations, classes, eval, foreach, fixed comparisons

0.6 - skipped

0.5 (2013/01/06): cleanup, lambdas, literals, "dict" container

0.4 (2012/12/26): the initial release