Changes in version 8.2.0 (2026-04-21) o Windows: fix threading bug in libv8 Changes in version 8.1.0 (2026-04-12) o Windows / MacOS: update to libv8 version 14.6 Changes in version 8.0.1 (2025-10-10) o Windows: downgrade libv8 to 11.9 for now due to WASM bug in 14.0 o Enable experimental temporal api on libv8 > 14.1 Changes in version 8.0.0 (2025-09-26) o Add shim for emscripten to run JS/WASM in a web worker. o Windows: update libv8 and fix threading bug. Changes in version 7.0.0 (2025-09-01) o Static library for Linux has been updated to libv8 12.4.254.21 (node-22) o Static library for MacOS arm64 updated to libv8 13.6.233.10 (node-24) o Static library for Windows updated to libv8 14.0.365.4 o We now support arm64 and amd64 static libs for all platforms. Changes in version 6.0.6 (2025-08-18) o Update to wasm-feature-detect@1.8.0 o ctx$call() gains argument simplify which is passed to fromJSON() o ctx$eval('null', TRUE) now returns "null" instead of NULL Changes in version 6.0.5 (2025-07-31) o Remove -DV8_ENABLE_CHECKS from standard build flags because it causes problems with node24 on Fedora (#190) o Add scope to start_v8_isolate() for libv8 v14 and up (#189) Changes in version 6.0.4 (2025-06-04) o Enable wasm-reftypes on libv8 v8.5 - v9.9 which was opt-in back then. This feature is needed for rust compiled wasm. Changes in version 6.0.3 (2025-03-26) o Explicitly include in bindings as required by latest libv8 Changes in version 6.0.2 (2025-03-14) o Windows: minor update of libv8 to fix a warning with rtools45 Changes in version 6.0.1 (2025-02-02) o Fix build for legacy libv8 versions on CondaForge and Centos-7 Changes in version 6.0.0 (2024-10-12) o Experimental support for dynamic ES modules o Linux: update static libv8 to version 11.9 Changes in version 5.0.1 (2024-09-20) o Remove some test verbosity per CRAN request o Update maintainer email address Changes in version 5.0.0 (2024-08-16) o Drop support for legacy v8-314 library bindings o Compile with C++20 when available (required as of libv8 version 12.7) o Experimental @ accessor for v8 objects in R >= 4.3.0 o Fix 'anchored' links for CRAN Changes in version 4.4.2 (2024-02-15) o Prevent Fedora from accidentally building against the legacy v8-314 library instead of the current v8-devel on that system. o Remove bundled underscore.js and examples Changes in version 4.4.1 (2023-12-04) o Fix a printf warning for CRAN Changes in version 4.4.0 (2023-10-09) o Windows (R-4.3 and up): update libv8 to 11.8.172.13 + arm64 support. Changes in version 4.3.4 o MacOS: update libv8 to 11.5 o Windows (R-4.3 and up): update libv8 to 11.8 o Update wasm_features() detection with new wasm features Changes in version 4.3.3 (2023-07-18) o Fix yet more version comparisons Changes in version 4.3.2 (2023-06-30) o Fix another version comparison issue Changes in version 4.3.1 (2023-06-29) o Fix getRversion() type requested by CRAN Changes in version 4.3.0 (2023-04-08) o MacOS: update libv8 to 11.2 o Windows: use libv8 version 9.1 on all R >= 4.0, drop support for Win2008/Vista o Add feature test for V8_ENABLE_SANDBOX, required by some V8 10.8+ (#144) o Unbundle 3rd party JS libs that are only needed for examples. Changes in version 4.2.2 (2022-11-03) o Fix a sanitizer error by avoiding a broken API on NodeJS (#152) o You can override build flags by setting V8_PKG_LIBS / V8_PKG_CFLAGS Changes in version 4.2.1 (2022-08-07) o Fix a feature test for NodeJS 18 (#145) Changes in version 4.2.0 (2022-05-14) o Use CXX17 on supported platforms. C++17 is required as of libv8 10.2 Changes in version 4.1.0 (2022-02-06) o engine_info() now includes a 'numeric_version' field for easy comparison o make js-to-r callback mechanism robust against -DRCPP_USE_UNWIND_PROTECT Changes in version 4.0.0 (2021-12-23) o If a call to ct$eval(),ct$get(), or ct$call() returns a JavaScript promise, you can set await = TRUE to wait for the promise to be resolved. It will then return the result of the promise, or an error in case the promise is rejected. o New section about promises in the intro vignette. o New function wasm_features() lists the supported WASM capabilities on the current installation. o Updated static libv8 for Mac and Linux to v8-v8-9.6.180.12 o Windows ucrt: update libv8 to 9.1.269.38 o Legacy libv8 versions (3.xx) are no longer supported. Package will still build but the examples and vignette now assume support for promises. o On Ubuntu, RHEL, and MacOS we now default to DOWNLOAD_STATIC_LIBV8=1 for supported architectures (amd64 and arm64). If this fails it will fall back on finding a local libv8. Opt-out by setting DISABLE_STATIC_LIBV8=1. Changes in version 3.6.0 (2021-11-10) o Try to give better error message when unable to allocate, probably due to hitting the stack limit. Previously we would see 'string conversion failed' which was very confusing. o The same stacklimit is now used across all platforms. Previously we would only set it on Linux, but apparently it is also needed on Windows sometimes. o Disable stacklimit when running in ASAN (which blows up the stack size) o Make DOWNLOAD_STATIC_LIBV8 the default on RHEL/CentOS based distros because these include a very old or no libv8. o Check and warn against very old libv8 when attaching the package. Changes in version 3.5.0 (2021-11-03) o On legacy systems which still have libv8 version 3.x we now try to download a more recent static libv8. We plan to deprecate support for libv8 3.x, which is now over 10 years old, and does not support ES6 (modern JavaScript). Changes in version 3.4.2 (2021-05-01) o Add Windows binaries for ucrt targets Changes in version 3.4.1 (2021-04-23) o Minor compatibility fixes by Jan Marvin for new versions of libv8. Changes in version 3.4.0 (2020-11-04) o When setting envvar DOWNLOAD_STATIC_LIBV8=1 on Linux at build-time, the configure script automatically downloads a static libv8, instead of looking for libv8 on the system. This allows the package to be installed on distros that do not have libv8, or ship with a very old V8. o The above should work for all x86_64 Linux systems with at least gcc-4.8.5 and is enabled by default on Travis and Github Actions. o Do not assume bash in configure script Changes in version 3.3.1 (2020-10-26) o Fix a bug in the configure script Changes in version 3.3.0 (2020-10-24) o Use CXX14 when available, required as of libv8 version 8.7.80 Changes in version 3.2.0 (2020-06-19) o Fix bug with pointer compression feature-test on Debian / Anaconda o Linux: increase JS stack limit, because of problems with new libv8 on Fedora. o Add FatalErrorHandler and MessageListener callbacks (that just print stuff) o Fix UBSAN error during teardown (package unload) Changes in version 3.1.0 (2020-05-29) o Fix configure script for pointer compression in upcoming V8 engine 8.4 o MacOS: binary packagess now ship with V8 engine 8.3 Changes in version 3.0.2 (2020-03-14) o Windows: fix text encoding bug introduced in 3.0 for non-ascii text. o Fix unit test for big-endian systems Changes in version 3.0.1 (2020-01-22) o Fix build for old versions of R using old compilers that do not default to C++11 Changes in version 3.0 (2020-01-10) o Internal rewrite of object serialization to prepare for wasm o Automatically convert raw vectors to/from Uint8Array in eval/get/assign o Experimental wasm API + test o Fix callback API crashes in V8 7.9+ (Jan Marvin, #70, #71, #75) o Build with -DV8_ENABLE_CHECKS to get better error messages Changes in version 2.3 (2019-07-02) o Fix for removed API in libv8 version 7.7 Changes in version 2.2 (2019-04-13) o Fixes for API changes in libv8 version 7.4 and 7.5 o MacOS: fix include/linker path for new location of v8 Changes in version 2.1 (2019-03-16) o Remove special casing for libnode-dev on Debian: libnode-dev now officially provides and symlinks libv8-dev. o Fix build for new V8 7.3.492.22 (Jan Marvin, #55) Changes in version 2.0 (2019-02-07) o Major upgrade: now support libv8 version 6.x and up. Note that this means we move to ES2015+ adding support for promises, async, etc. This may change the behavior of certain JavaScript libraries. o For now we also still stupport building with legacy V8 (3.14) o Debian Buster: support building with libnode-dev o Fedora: support building with v8-devel (V8 6.7.17) o MacOS: update binary package to V8 7.2.502.24 Changes in version 1.6 o Let Rcpp generated R_init_V8() o Add unit test for the exception problem on OSX 10.11 Changes in version 1.5 (2017-04-25) o Homebrew has moved V8 (again), now it's called v8@3.15 Changes in version 1.4 (2017-03-30) o Fix autobrew for OSX Mavericks Changes in version 1.3 (2017-03-18) o Extract autobrew script to separate repo o Add symbol registration Changes in version 1.2 (2016-11-28) o Improve configure script to check for the correct version of libv8 o Fedora 25+ requires v8-314-devel instead of v8-devel Changes in version 1.1 (2016-07-16) o Use C++ 'new' and 'delete' instead of nodelist to keep contexts in scope Changes in version 1.0.3 (2016-06-28) o Update homebrew URL in configure script Changes in version 1.0.2 (2016-06-14) o Update URL of browserify logo Changes in version 1.0.1 (2016-04-04) o Fix internal stop() function for new testthat o ctx$eval(character(0)) does not raise error anymore o Remove references to new_context() in favor of v8() o Use the new 'COMPILED_BY' variable on windows o Updated the URL to the V8 homepage in DESCRIPTION Changes in version 1.0 o Remove UTF-8 workarounds now that Rcpp has proper UTF-8 support Changes in version 0.10 (2016-01-30) o Add the console.r callback JavaScript api Changes in version 0.9 (2015-10-18) o Fix for OSX cran builder o Add 'v8' as a more descriptive alias for 'new_context' o Update libv8 on Windows to 3.15 o Add support for the new windows tool chain Changes in version 0.8 (2015-09-05) o Fix configure script for OSX o Add 'v8' as a more descriptive alias for 'new_context' o Update libv8 on Windows to 3.15 o Add support for the new windows tool chain Changes in version 0.7 (2015-08-24) o Deprecated support for I() removed. Use JS() instead o Refactored configure script to use pkg-config if available. o Updated libv8 brew script on OSX to v8-3.15 o Update libv8 static builds on windows to v3.14.5.10 o Ship separate libraries for win32 for more recent compilers Changes in version 0.6 (2015-04-03) o Breaking change: use JS() instead of I() to mark strings as literal JavaScript. o ct$source() now always assumes UTF-8 data, even on Windows. o Use the new V8_types.h feature from Rcpp 0.11.5 o Start with custom code completion within ct$console() for R 3.2.0 Changes in version 0.5 (2015-02-03) o Add support for Typed Arrays