4.4.2 - Prevent Fedora from accidentally building against the legacy v8-314 library instead of the current v8-devel on that system. - Remove bundled underscore.js and examples 4.4.1 - Fix a printf warning for CRAN 4.4.0 - Windows (R-4.3 and up): update libv8 to 11.8.172.13 + arm64 support. 4.3.4 - MacOS: update libv8 to 11.5 - Windows (R-4.3 and up): update libv8 to 11.8 - Update wasm_features() detection with new wasm features 4.3.3 - Fix yet more version comparisons 4.3.2 - Fix another version comparison issue 4.3.1 - Fix getRversion() type requested by CRAN 4.3.0 - MacOS: update libv8 to 11.2 - Windows: use libv8 version 9.1 on all R >= 4.0, drop support for Win2008/Vista - Add feature test for V8_ENABLE_SANDBOX, required by some V8 10.8+ (#144) - Unbundle 3rd party JS libs that are only needed for examples. 4.2.2 - Fix a sanitizer error by avoiding a broken API on NodeJS (#152) - You can override build flags by setting V8_PKG_LIBS / V8_PKG_CFLAGS 4.2.1 - Fix a feature test for NodeJS 18 (#145) 4.2.0 - Use CXX17 on supported platforms. C++17 is required as of libv8 10.2 4.1.0 - engine_info() now includes a 'numeric_version' field for easy comparison - make js-to-r callback mechanism robust against -DRCPP_USE_UNWIND_PROTECT 4.0.0 - 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. - New section about promises in the intro vignette. - New function wasm_features() lists the supported WASM capabilities on the current installation. - Updated static libv8 for Mac and Linux to v8-v8-9.6.180.12 - Windows ucrt: update libv8 to 9.1.269.38 - Legacy libv8 versions (3.xx) are no longer supported. Package will still build but the examples and vignette now assume support for promises. - 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. 3.6.0 - 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. - 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. - Disable stacklimit when running in ASAN (which blows up the stack size) - Make DOWNLOAD_STATIC_LIBV8 the default on RHEL/CentOS based distros because these include a very old or no libv8. - Check and warn against very old libv8 when attaching the package. 3.5.0 - 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). 3.4.2 - Add Windows binaries for ucrt targets 3.4.1 - Minor compatibility fixes by Jan Marvin for new versions of libv8. 3.4.0 - 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. - 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. - Do not assume bash in configure script 3.3.1 - Fix a bug in the configure script 3.3.0 - Use CXX14 when available, required as of libv8 version 8.7.80 3.2.0 - Fix bug with pointer compression feature-test on Debian / Anaconda - Linux: increase JS stack limit, because of problems with new libv8 on Fedora. - Add FatalErrorHandler and MessageListener callbacks (that just print stuff) - Fix UBSAN error during teardown (package unload) 3.1.0 - Fix configure script for pointer compression in upcoming V8 engine 8.4 - MacOS: binary packagess now ship with V8 engine 8.3 3.0.2 - Windows: fix text encoding bug introduced in 3.0 for non-ascii text. - Fix unit test for big-endian systems 3.0.1 - Fix build for old versions of R using old compilers that do not default to C++11 3.0 - Internal rewrite of object serialization to prepare for wasm - Automatically convert raw vectors to/from Uint8Array in eval/get/assign - Experimental wasm API + test - Fix callback API crashes in V8 7.9+ (Jan Marvin, #70, #71, #75) - Build with -DV8_ENABLE_CHECKS to get better error messages 2.3 - Fix for removed API in libv8 version 7.7 2.2 - Fixes for API changes in libv8 version 7.4 and 7.5 - MacOS: fix include/linker path for new location of v8 2.1 - Remove special casing for libnode-dev on Debian: libnode-dev now officially provides and symlinks libv8-dev. - Fix build for new V8 7.3.492.22 (Jan Marvin, #55) 2.0 - 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. - For now we also still stupport building with legacy V8 (3.14) - Debian Buster: support building with libnode-dev - Fedora: support building with v8-devel (V8 6.7.17) - MacOS: update binary package to V8 7.2.502.24 1.6 (unreleased) - Let Rcpp generated R_init_V8() - Add unit test for the exception problem on OSX 10.11 1.5 - Homebrew has moved V8 (again), now it's called v8@3.15 1.4 - Fix autobrew for OSX Mavericks 1.3 - Extract autobrew script to separate repo - Add symbol registration 1.2 - Improve configure script to check for the correct version of libv8 - Fedora 25+ requires v8-314-devel instead of v8-devel 1.1 - Use C++ 'new' and 'delete' instead of nodelist to keep contexts in scope 1.0.3 - Update homebrew URL in configure script 1.0.2 - Update URL of browserify logo 1.0.1 - Fix internal stop() function for new testthat - ctx$eval(character(0)) does not raise error anymore - Remove references to new_context() in favor of v8() - Use the new 'COMPILED_BY' variable on windows - Updated the URL to the V8 homepage in DESCRIPTION 1.0 - Remove UTF-8 workarounds now that Rcpp has proper UTF-8 support 0.10 - Add the console.r callback JavaScript api 0.9 - Fix for OSX cran builder - Add 'v8' as a more descriptive alias for 'new_context' - Update libv8 on Windows to 3.15 - Add support for the new windows tool chain 0.8 - Fix configure script for OSX - Add 'v8' as a more descriptive alias for 'new_context' - Update libv8 on Windows to 3.15 - Add support for the new windows tool chain 0.7 - Deprecated support for I() removed. Use JS() instead - Refactored configure script to use pkg-config if available. - Updated libv8 brew script on OSX to v8-3.15 - Update libv8 static builds on windows to v3.14.5.10 - Ship separate libraries for win32 for more recent compilers 0.6 - Breaking change: use JS() instead of I() to mark strings as literal JavaScript. - ct$source() now always assumes UTF-8 data, even on Windows. - Use the new V8_types.h feature from Rcpp 0.11.5 - Start with custom code completion within ct$console() for R 3.2.0 0.5 - Add support for Typed Arrays