Add delete callback to userdata objects.
Chain if-else statements in has/put/delproperty.
Set the internal length attribute for C constructors.
Document js_try and js_endtry.
Add callback example to docs to show how to use js_ref.
Don't use unsafe _snprintf on MSVC older than 2015.
Make js_try, js_savetry and js_endtry public functions/macros.
Make convenience stack manipulation functions public.
Add userdata has/put callbacks for custom properties.
Clean up stack on errors in js_pcall and js_pconstruct.
Remove 'report' argument from js_dostring.
Rework try macros to simplify setjmp expression.
Rewrite parseInt to follow spec.
Use fabs rather than integer abs for taking absolute value of floats.
Rename our internal regex.h to not collide with system regex.h.
Fix mistake when compiling array literals.
strict mode: 'this' is undefined for normal function calls.
strict mode: No redefining 'eval' or 'arguments'.
strict mode: Check duplicate property names.
strict mode: No duplicate formal parameters.
strict mode: No delete operator with an unqualified name.
strict mode: Errors when extending non-extensible objects.
strict mode: Errors on read-only and non-configurable properties.
strict mode: No automatic creation of global variables.
strict mode: No arguments.callee property.
strict mode: eval code is evaluated in its own scope.
strict mode: No 'with' statements allowed.
Add strict mode flag to constructor.
Add finalize callback to userdata objects.
Add eval op-code to implement proper 'this' binding for eval code.
Clean up some error messages.
Use last resort '[object]' ToPrimitive rather than throwing an error.
Remove redundant type checking in iterator opcode.
Add paranoid asserts to check js_Value struct layout and alignment.
Apply short string changes in jsvalue.c as well.
Use offsetof instead of hardcoded short string length.
Use manual loop instead of memcpy/strcpy when creating short strings.
Annotate fall through switch cases.
Fix test for empty string in String.prototype.split with regexp.
Check error for all fseek/ftell calls.
Deoptimize isalpha macro due to potential overflow errors.
Use memcpy instead of strcpy when copying short strings.
Rename next/accept/expect macros in lexer and parser.
Fix bound checks in jsdump.
Fix memory leak when freeing js_State.
Add stack traces to error objects.
Clean up cassign[op] arguments.
Fix bug in js_pushlstring.
Add user context pointer and flag argument to js_State constructor.
Add short strings (with data embedded in js_Value).
Make js_toprimitive (and by consequence js_tonumber/string/...) in-place.
Add js_itoa for faster conversion of unsigned int to string.
Garbage collect (some) strings.
Fix ifdef order to allow building jsdate on cygwin.
Remove duplicate js_newerror prototype.
Use of try/catch must disqualify a function from being lightweight.
Optimize js_stringtofloat to use integer conversion when possible.
Track array sparseness to be smarter in jsV_resizearray.
Oops. Remove stray printf.
Fix bug in Array.prototype.splice().
Fix bug in js_setlength when used for relative indices.
Fix bug in maintaining property enumeration list.
Add missing js_endtry call in Fp_toString.
JSON.stringify: support 'space' argument.
Add static to some functions that should have it.
Fix JSON parsing problems:
Differentiate between "global code" and "eval code" scripts.
Fix js_strtod to set the sign of -0 correctly
Fix Math.min and Math.max to accept zero args and handle -0
Fix Math.atan2 and Math.pow argument evaluation order
Fix Math.abs to use fabs instead of int abs
Add public property iterator function.
Implement Math.round according to the (stupid) specification.
Fix return value of RegExp.prototype.exec()
Optimize isalpha/digit macros in lexer.
Allow identity escapes in regular expressions.
Allow unescaped / inside classes in regular expression tokens.
Typedef instruction and check addresses and literals for overflow when emitting code.
Change error message prefix to 'mujs:'.
Fix bug where some environment records were not marked by GC.
Strip backslash from escaped / when lexing regular expressions.
Optimize lexnumber when using strtod.
Add portable strtod implementation.
Improve MuJS interactive shell.
Fix compilation problem on VS 2013
Tweak argument order in js_is/touserdata.
Move ToPrimitive hint flags into jsvalue.h
Add "make tarball" rule to create release archives.
Silence "no return value"/"unreachable statement" warnings.
Add signbit() implementation for MSVC.
Add debug, release and install targets.