================ Duktape releases ================ Released ======== 0.1.0 (2013-02-14) ------------------ * Initial alpha release * Core features work: compiler, executor, regexps, garbage collection * Most built-ins incomplete or missing 0.2.0 (2013-02-27) ------------------ * Built-ins implemented: Boolean, Date, JSON * Date built-in has initial, minimal local time / locale support * Initial internal documentation: regexp, datetime, json 0.3.0 (2013-03-16) ------------------ * Built-ins implemented: global object, Object, String 0.4.0 (2013-03-31) ------------------ * Built-ins: Array, Number, completing built-ins 0.5.0 (2013-05-17) ------------------ * Built-in number conversion primitives * Cleanup built-ins, improve test cases for built-ins 0.6.0 (2013-09-21) ------------------ * First round of public API cleanup, and add basic API documentation * First version of duktape.org website 0.7.0 (2013-10-30) ------------------ * Traceback support improved * Clean up and document error object properties * Add prototype objects for buffer and pointer values, and make them object coercible * Proper support for big, little, and "middle endian" environments * Single file combined source distributable * Portability and bug fixes 0.8.0 (2013-12-18) ------------------ * Remove DUK_PROFILE model, explicit DUK_OPT_xxx feature options added for tuning the build (see web docs) * Register shuffling added to compiler which mostly eliminates constant and temporary register limits * Reduce code footprint, make built-in data 'const' so that it compiles into the 'text' section * Augment errors created when a built-in error constructor is called as a normal function (e.g. "var e = Error('test')") * Enforce string/buffer length limits to avoid corner cases with strings and buffers close to size_t limit * Ecmascript E5.1 test cases and fixes * Mark-and-sweep stringtable leak fixed, affected mostly builds without reference counting * Run a few mark-and-sweep passes in duk_destroy_heap() to give finalizers a chance to run in most (but not all) cases * Coroutine yield fixes * Portability and bug fixes 0.9.0 (2014-01-XX) ------------------- * API addition: duk_gc() * Added extended JSON format variants: JSONX and JSONC * NULL pointer values string now coerce to "null" instead of e.g. "(nil)" to match JSONX format * Renamed __duk__ to Duktape for more consistency with Ecmascript conventions * Removed somewhat useless Duktape.build, replaced with Duktape.env * Removed array size limit for very large array joins * Internal support for periodic bytecode executor interrupts which can be used to implement executor step limits, profiling, and debugging * More feature options for build tuning * C typing wrapped throughout to allow porting to more exotic platforms, e.g. platforms where "int" is a 16-bit type **FIXME** * More self tests to detect obscure compiler bugs, two's complement arithmetic, etc (disabled by default) * Fixed several compile warnings, fixed warnings generated by GCC -Wextra * Fixed some incorrect assertions (with no underlying bug) * Fixed a coroutine termination bug which caused assertion errors and occasional segfaults when an uncaught error terminated a thread with a catch point active * Fixed a tailcall bug: the current activation was not closed which caused variable lookups to fail if an inner function accessed variables in the surrounding activation * Fixed a few bound constructor bugs * Windows compatibility, tested with MinGW and VS2010 Express for 32-bit and MinGW-w64 for 64-bit * Portability fixes for non-C99 platforms (like MSVC in VS2010) Planned ======= 0.10.0 (2014-XX-XX) ------------------- 1.0.0 (2014-XX-XX) ------------------- * Feature complete baseline release