Expose magic properties in Object.keys and Object.getOwnPropertyNames.
Add virtual string array index properties for characters.
Make argc/undefined checks more resilient.
Implement ES5 array functions.
Use length property of cfunctions to make sure we have at least N args.
Handle js_tostring on objects without toString or toValue methods.
Implement Function constructor.
Implement extensible object attribute.
Implement ES5 prototype descriptor and misc object functions.
Add decode/encode URI functions.
Use getter/setter also for properties used by the with statement.
Check list of future reserved words for primary expression identifiers.
Add functions to let C bindings define setters and getters.
Rename DontDelete flag to DontConf.
Implement getters and setters.
Compile ES5 getters and setters.
Auto-generate the AST name list.
Check for value stack overflow.
Reset the lastIndex property in String.match() and replace().
Special case handling of regexp source, flags and lastIndex properties.
Encapsulate all regexp state in js_Regexp struct.
Handle global flag in RexExp.exec() and .test().
Fix bug where do/while continue statement jumped to the wrong location.
The typeof operator should return 'function' for callable objects.
Calculate exponent the same way as fractions for symmetry in the lexer.
Abort main.c with return status if a script fails.
Fix typo in CR/LF handling in lexer.
K&R style braces in pretty printer.
Add load() function to main.c
Handle global flag in String.match().
Handle String.replace() when the search matches the empty string.
Use precedence table when pretty-printing syntax.
Add js_pushlstring to avoid a lot of try/malloc/pushstring boilerplate.
Use POSIX regcomp/regexec.
Fix clang scan-build warning.
Add RegExp class (with no actual regex implementation hooked up).
Make the array has/get/setindex functions part of the public API.
Array.sort() using insertion sort.
Maintain order of property enumeration by keeping a linked list.
Let hasproperty push the value of the property on the stack if it exists.
Rename non-js utility sources to not have the 'js' prefix.
Implement substring and slice.
Add some more String functions.
Implement some Array functions.
Guard String.fromCharCode malloc with try/endtry.
Add js_hasproperty function.
Update LICENSE and AUTHORS
Create variables as DontDelete and DontEnum.
Fix off-by-one error in String.fromCharCode().
Add 'own' argument to iterator.
Implement a smarter deletion of properties when resizing an array.
Print a better error message when trying to call a non-function.
Make sure to pop error object when we catch them at the top level dofile call.
Fix bug in case OP_INITPROP_N where we used the value as the key.
Don't look for labels past function borders.
Push result of delete operator.
Create special initializer opcodes for brevity.
Automagically update Array length property.
Refactor property get/set internals.
Move non-standard 'gc' and 'print' global functions into main.c example.
Add a registry for stashing hidden javascript objects from C code.
Use ES5 specification for implementation of Error.prototype.toString().
Leave last evaluated expression on the stack for script code.
Record whether a function is script or function code.
Fix switch test-chain stack leftovers. Fix iterator on null and undefined.
Free iterator nodes as they are being iterated over.
Set property attributes on built-in objects and respect DontEnum.
Omit needless setjmp guard over catch block in try/catch statement.
Add 'string' operand versions of get/set/del property opcodes.
Use 'emitraw' function to emit operands in preparation for eventual peephole optimisations.
Add iterator object class for internal use in for-in loops.
Make instanceof a public function.
Implement instanceof expression.
Compile switch statements.
Add stack and scope balancing to exits from try/catch blocks.
Support empty expressions in for statements.
Implement try/catch/finally exception handling.
Clean up stack and with/endwith balancing on abrupt exits.
Remove incorrect eval result hack.
Break and continue to labelled statements.
Implement unlabeled break and continue.
Add prefixes and remove duplicate functions.
Make jsY_error return void (as it is a noreturn function).
Remove jsconf.h as it is not really useful.