- 16-08-2022 - 0.6.3 - Truffle ruby support! Thanks to Brandon Fish and the truffle team - Hide libv8 symbols on ELF targets - Slightly shrunk binary size - Simplified timeout implementation - Some stability fixes - 17-01-2022 - 0.6.2 - Fix support for compilation on 2.6, llvm compiles - Stability patches to handle rare memory leaks - Corrected re-raising of exceptions to support strings - During early termination of context under certain conditions MiniRacer could crash - 31-12-2021 - 0.6.1 - Added support for single threaded platform: `MiniRacer::Platform.set_flags! :single_threaded` must be called prior to booting ANY MiniRacer::Context - 0.6.0 - Ruby 3.1 support - Fixes memory leak in heap snapshotting - Improved compilation ergonomics in clang - Migrated internal storage in c extension to TypedData - 11-04-2021 - 0.5.0 - Fixes issues on aarch (Apple M1) - Update to use libv8-node 16.x (#210) [Loic Nageleisen] - FEATURE: Configurable max marshal stack depth (#202) [seanmakesgames] - Ruby 2.3 and 2.4 are EOL, we no longer support them - 0.4.0 - FEATURE: upgrade to libv8 node 15.14.0 (v8 8.6.395.17) - Promote 0.4.0.beta1 to release, using libv8-node release path - 08-04-2021 - 0.4.0.beta1 - FIX: on downgrade mkmf was picking the wrong version of libv8, this fix will correct future issues - FEATURE: upgraded libv8 to use node libv8 build which supports M1 and various ARM builds v8 moved to (8.6.395.17) - 23-07-2020 - 0.3.1 - FIX: specify that libv8 must be larger than 8.4.255 but smaller than 8.5, this avoids issues going forward - 22-07-2020 - 0.3.0 - FEATURE: upgraded to libv8 version 8.4.255.0 - 29-06-2020 - 0.2.15 - FEATURE: basic wasm support via pump_message_loop - 15-05-2020 - 0.2.14 - FIX: ensure_gc_after_idle should take in milliseconds like the rest of the APIs not seconds - FEATURE: strict params on MiniRacer::Context.new - 15-05-2020 - 0.2.13 - FIX: edge case around ensure_gc_after_idle possibly firing when context is not idle - 15-05-2020 - 0.2.12 - FEATURE: isolate.low_memory_notification which can force a full GC - FEATURE: MiniRacer::Context.new(ensure_gc_after_idle: 2) - to force full GC 2 seconds after context is idle, this allows you to conserve memory on isolates - 14-05-2020 - 0.2.11 - FIX: dumping heap snapshots was not flushing the file leading to corrupt snapshots - FIX: a use-after-free shutdown crash - 0.2.10 - 22-04-2020 - FEATURE: memory softlimit support for nogvl_context_call - 0.2.9 - 09-01-2020 - FIX: correct segfault when JS returns a Symbol and properly cast to ruby symbol - 0.2.8 - 11-11-2019 - FIX: ensure thread live cycle is properly accounter for following file descriptor fix - 0.2.7 - 11-11-2019 - FIX: release the file descriptor for timeout pipe earlier (this avoids holding too many files open in Ruby 2.7) - 14-05-2019 - 0.2.6 - FEATURE: add support for write_heap_snapshot which helps you analyze memory - 25-04-2019 - 0.2.5 - FIX: Compatiblity fixes for V8 7 and above @ignisf - FIX: Memory leak in gc_callback @messense - IMPROVEMENT: Added example of sourcemap support @ianks - URGENT: you will need this release for latest version of libv8 to work - 02-11-2018 - 0.2.4 - FIX: deadlock releasing context when shared isolates are used - FEATURE: include js backtrace when snapshots do not compile - 28-09-2018 - 0.2.3 - Drop all conditional logic from Mini Racer compilation for clang, always rely on MacOS being High Sierra or up - 26-09-2018 - 0.2.2 - WORKAROUND: RUBY_PLATFORM is hardcoded on Ruby compile and can not be trusted for feature detection, use a different technique when checking for macOS Mojave - 25-09-2018 - 0.2.1 - FEATURE: Mojave macOS support - 06-07-2018 - 0.2.0 - FEATURE: context#call to allow for cheaper invocation of functions - FIX: rare memory leak when terminating a long running attached function - FIX: rare segfault when terminating a long running attached function - FIX: Reimplement Isolate#idle_notification using idle_notification_deadline, API remains the same @ignisf - Account for changes in the upstream V8 API @ignisf - Support for libv8 6.7 23-08-2017 - 0.1.15 - bump dependency of libv8 to 6.3 23-08-2017 - 0.1.14 - libv8 erronuously bumped to beta, reverted change 23-08-2017 - 0.1.13 - Fix: amend array buffer allocator to use v8 6.0 compatible allocator @ignisf 18-07-2017 - 0.1.12 - Feature: upgrade libv8 to 5.9 - Fix: warning when runnin with ruby warnings enabled (missed @disposed initialize) 18-07-2017 - 0.1.11 - Feature: upgrade libv8 to 5.7 13-07-2017 - 0.1.10 - Fix leak: memory leak when disposing a context (20 bytes per context) - Feature: added #heap_stats so you can get visibility from context to actual memory usage of isolate - Feature: added #dispose so you reclaim all v8 memory right away as opposed to waiting for GC - Feature: you can now specify filename in an eval eg: eval('a = 1', filename: 'my_awesome.js') 09-03-2017 - 0.1.9 - Perf: speed up ruby/node boundary performance when moving large objects 06-02-2017 - 0.1.8 - Fix: Include math.h to fix use of undeclared identifier floor with rbx. See #51 02-11-2016 - 0.1.7 - Fix: if for some reason an isolate was forked don't free it and raise a warning instead to avoid hanging process 25-10-2016 - 0.1.6 - Fix: timeout behavior was incorrect, in some cases stop could be called on already stopped contexts 10-10-2016 - 0.1.5 - Support for snapshots, shared isolates, runtime flags thanks to @wk8 - Fix timeout behavior when it occurs in an attached Ruby method 19-05-2016 - 0.1.4 - Set upper bound for libv8 inclusion @ignisf - Support conversion of Date, Time and DateTime from Ruby to JS @seanmakesgames - Support conversion of large numbers back from Ruby to JS @seanmakesgames - 0.1.3 - Support more conversions from Ruby back to JS (Hash, Symbol, Array) - Support attaching nested objects 17-05-2016 - 0.1.2 - Gemspec specifies minimal version of Ruby (2.0) - Implement #load on Context to load files 17-05-2016 - 0.1.1 - Added unblock function so SIGINT does not lead to a crash 14-05-2016 - 0.1.1.beta.1 - First release