- 0.14.0 - 06-08-2024 - Node 22.5.1.0 is not stable in production, reverting to last known good build - 0.13.0 - 29-07-2024 - Target Node to 22.5.1.0 0 - corrects segfault in earlier release - Remove Ruby 3.0 which is EOL (use ealier version of gem if needed) - 0.9.0 - 25-03-2024 - Target Node to 18.19.0.0 - 0.8.0 - 29-05-2023 - Target Node to 18.16.0.0 - Drop supporting EOL'd Ruby 2.7 - 0.7.0 - 26-05-2023 - Target Node to 17.9.1.0 - 0.6.4 - 25-05-2022 - Target Node 16.19.0.0 - 0.6.3 - 16-08-2022 - 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 - 0.6.1 - 31-12-2021 - Added support for single threaded platform: `MiniRacer::Platform.set_flags! :single_threaded` must be called prior to booting ANY MiniRacer::Context - 0.6.0 - 11-04-2021 - Ruby 3.1 support - Fixes memory leak in heap snapshotting - Improved compilation ergonomics in clang - Migrated internal storage in c extension to TypedData - 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 - 08-04-2021 - 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 - 0.4.0.beta1 - 23-07-2020 - 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) - 0.3.1 - 22-07-2020 - FIX: specify that libv8 must be larger than 8.4.255 but smaller than 8.5, this avoids issues going forward - 0.3.0 - 29-06-2020 - FEATURE: upgraded to libv8 version 8.4.255.0 - 0.2.15 - 15-05-2020 - FEATURE: basic wasm support via pump_message_loop - 0.2.14 - 15-05-2020 - FIX: ensure_gc_after_idle should take in milliseconds like the rest of the APIs not seconds - FEATURE: strict params on MiniRacer::Context.new - 0.2.13 - 15-05-2020 - FIX: edge case around ensure_gc_after_idle possibly firing when context is not idle - 0.2.12 - 14-05-2020 - 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 - 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) - 0.2.6 - 14-05-2019 - FEATURE: add support for write_heap_snapshot which helps you analyze memory - 0.2.5 - 25-04-2019 - FIX: Compatibility 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 - 0.2.4 - 02-11-2018 - FIX: deadlock releasing context when shared isolates are used - FEATURE: include js backtrace when snapshots do not compile - 0.2.3 - 28-09-2018 - Drop all conditional logic from Mini Racer compilation for clang, always rely on MacOS being High Sierra or up - 0.2.2 - 26-09-2018 - 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 - 0.2.1 - 25-09-2018 - FEATURE: Mojave macOS support - 0.2.0 - 06-07-2018 - 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 - 0.1.15 - 23-08-2017 - bump dependency of libv8 to 6.3 - 0.1.14 - 23-08-2017 - libv8 erroneously bumped to beta, reverted change - 0.1.13 - 23-08-2017 - Fix: amend array buffer allocator to use v8 6.0 compatible allocator @ignisf - 0.1.12 - 18-07-2017 - Feature: upgrade libv8 to 5.9 - Fix: warning when running with ruby warnings enabled (missed @disposed initialize) - 0.1.11 - 18-07-2017 - Feature: upgrade libv8 to 5.7 - 0.1.10 - 13-07-2017 - 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') - 0.1.9 - 09-03-2017 - Perf: speed up ruby/node boundary performance when moving large objects - 0.1.8 - 06-02-2017 - Fix: Include math.h to fix use of undeclared identifier floor with rbx. See #51 - 0.1.7 - 02-11-2016 - Fix: if for some reason an isolate was forked don't free it and raise a warning instead to avoid hanging process - 0.1.6 - 25-10-2016 - Fix: timeout behavior was incorrect, in some cases stop could be called on already stopped contexts - 0.1.5 - 10-10-2016 - Support for snapshots, shared isolates, runtime flags thanks to @wk8 - Fix timeout behavior when it occurs in an attached Ruby method - 0.1.4 - 19-05-2016 - 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 - 17-05-2016 - Support more conversions from Ruby back to JS (Hash, Symbol, Array) - Support attaching nested objects - 0.1.2 - 17-05-2016 - Gemspec specifies minimal version of Ruby (2.0) - Implement #load on Context to load files - 0.1.1 - Added unblock function so SIGINT does not lead to a crash - 0.1.1.beta.1 - 14-05-2016 - First release