0.000074 2018-09-11 * Treat references with more care: + Recursively dereference any references. + For \0 and \1, convert into false and true. + For any other references, use the underlying data. * Allow passing blessed objects to JS and back; ignore the fact that they are blessed and treat them as data. * Improve tests. 0.000073 2018-09-10 * Bring back dispatch_function_in_event_loop() to have an easy migration path from this to eval(); we will remove it soon. 0.000072 2018-08-30 * Get rid of parse_js_stacktrace -- too specific. 0.000071 2018-08-28 * Convert JS booleans into JSON::PP::Boolean objects. This allows us to roundtrip, especially for cases such as reading a JSON file in JS (which will likely use booleans) and passing that to / from Perl. * Get rid of dispatch_function_in_event_loop(). It is actually better that calling eval() always tries to dispatch any pending timers after running the requested code. 0.000070 2018-07-30 * Fix compilation on threaded perls. 0.000069 2018-07-27 * Add support for removing objects / slots. 0.000068 2018-07-11 * Add method reset() to reset the VM to pristine conditions. * Add method global_objects(). * Make release script more generic -- Duktape vs V8. * Minor test improvements. * Update ppport.h. 0.000067 2018-06-10 * Be explicit about imports from Test::Output. 0.000066 2018-06-10 * Allow saying which files should be prioritised for a stack trace. * Cleanup eventloop implementation, removing code that deals with files and sockets, since we don't actually use that. * Remove test dependencies on Ref::Util, it stopped working on my laptop for some reason... :-(. * Made tests easier to compare with tests for JavaScript::V8::XS. * Add more tests. 0.000065 2018-06-08 * Fix some linux warnings. 0.000064 2018-06-08 * Avoid using stuff that will make linux compilatio fail. 0.000063 2018-06-08 * Embed all required JS code into the module. 0.000062 2018-06-07 * Add support for sandboxing: when creating the duktape object, you can now specify limits for how much memory will be allocated, and how long a duktape operation can run before aborting. * Add more specific types returned by typeof. * Support data structures with cycles, both in Perl and duktape. * Add more error checking when gathering stats. * Several Code refactorings. * Fixed and improved documentation. 0.000061 2018-05-30 * Stop declaring variables inside a for loop -- doh. 0.000060 2018-05-30 * Add new methods: exists, typeof, instanceof and run_gc. * Allow get, exists, typeof and instanceof to work on global objects and on object properties. * Add support for node-like modules. * Fix hash keys with UTF8 characters. * Add a REPL in bin/duktape-repl. * Refactor C code and split into multiple files. 0.000052 2018-05-09 * Mark Perl strings as UTF-8 always. 0.000051 2018-04-25 * Add test-time dependencies. 0.000050 2018-04-23 * Add routines reset_stats and reset_msgs. * Add routine to parse a JS stacktrace and get structured information from it. 0.000049 2018-04-23 * Greatly improved docs. 0.000048 2018-04-19 * Unify error checking after calling a JS function. 0.000047 2018-04-19 * Stop forcing all console output to stderr. 0.000046 2018-04-19 * Clean up implementation of console handlers. 0.000045 2018-04-18 * Change console implementation to allow registering a handler to log the messages. * Add option to grab console messages and stash them. 0.000044 2018-04-17 * Add an optional parameter to eval, to specify a JS file name for stack traces * Print a JS stack trace to the console when running JS throws errors. 0.000043 2018-04-16 * Bubble-up to the console any errors that happen in setTimeout. * Fix pointers to github repo. 0.000042 2018-04-13 * Add test-time dependencies. 0.000041 2018-04-12 * Gather stats in all calls, not just eval. 0.000040 2018-04-12 * Send all console output to stderr by default. 0.000039 2018-04-12 * Add support for gathering and returning stats for JS compilation and running (both time and memory usage). 0.000038 2018-04-10 * Add support for JS console. 0.000037 2018-04-10 * Split JS code compilation and running. * Add some performance stats, retrievable with get_stats(). 0.000036 2018-04-04 * Add a native function timestamp_ms() callable from JS. * Add some more tests. 0.000035 2018-03-30 * Test timeouts firing in the correct order. * Fix dependencies for testing. 0.000034 2018-03-29 * Add method dispatch_function_in_event_loop to call a function inside an actual event loop; this makes setTimeout actually work. 0.000033 2018-03-28 * Switch to an almost pure C-based implementation of setInterval. 0.000032 2018-03-26 * Avoid floating point values in tests that would cause rounding errors. 0.000031 2018-03-23 * Restrict to Perl 5.18 and above, to avoid CPAN testing failures. 0.000030 2018-03-22 * Initial release.