NEWS
V8 6.0.0 (2024-10-12)
- Experimental support for dynamic ES modules
- Linux: update static libv8 to version 11.9
V8 5.0.1 (2024-09-20)
- Remove some test verbosity per CRAN request
- Update maintainer email address
V8 5.0.0 (2024-08-16)
- Drop support for legacy v8-314 library bindings
- Compile with C++20 when available (required as of libv8 version 12.7)
- Experimental @ accessor for v8 objects in R >= 4.3.0
- Fix 'anchored' links for CRAN
V8 4.4.2 (2024-02-15)
- 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
V8 4.4.1 (2023-12-04)
- Fix a printf warning for CRAN
V8 4.4.0 (2023-10-09)
- Windows (R-4.3 and up): update libv8 to 11.8.172.13 + arm64 support.
V8 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
V8 4.3.3 (2023-07-18)
- Fix yet more version comparisons
V8 4.3.2 (2023-06-30)
- Fix another version comparison issue
V8 4.3.1 (2023-06-29)
- Fix getRversion() type requested by CRAN
V8 4.3.0 (2023-04-08)
- 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.
V8 4.2.2 (2022-11-03)
- 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
V8 4.2.1 (2022-08-07)
- Fix a feature test for NodeJS 18 (#145)
V8 4.2.0 (2022-05-14)
- Use CXX17 on supported platforms. C++17 is required as of libv8 10.2
V8 4.1.0 (2022-02-06)
- engine_info() now includes a 'numeric_version' field for easy comparison
- make js-to-r callback mechanism robust against -DRCPP_USE_UNWIND_PROTECT
V8 4.0.0 (2021-12-23)
- 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.
V8 3.6.0 (2021-11-10)
- 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.
V8 3.5.0 (2021-11-03)
- 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).
V8 3.4.2 (2021-05-01)
- Add Windows binaries for ucrt targets
V8 3.4.1 (2021-04-23)
- Minor compatibility fixes by Jan Marvin for new versions of libv8.
V8 3.4.0 (2020-11-04)
- 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
V8 3.3.1 (2020-10-26)
- Fix a bug in the configure script
V8 3.3.0 (2020-10-24)
- Use CXX14 when available, required as of libv8 version 8.7.80
V8 3.2.0 (2020-06-19)
- 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)
V8 3.1.0 (2020-05-29)
- Fix configure script for pointer compression in upcoming V8 engine 8.4
- MacOS: binary packagess now ship with V8 engine 8.3
V8 3.0.2 (2020-03-14)
- Windows: fix text encoding bug introduced in 3.0 for non-ascii text.
- Fix unit test for big-endian systems
V8 3.0.1 (2020-01-22)
- Fix build for old versions of R using old compilers that do not default to C++11
V8 3.0 (2020-01-10)
- 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
V8 2.3 (2019-07-02)
- Fix for removed API in libv8 version 7.7
V8 2.2 (2019-04-13)
- Fixes for API changes in libv8 version 7.4 and 7.5
- MacOS: fix include/linker path for new location of v8
V8 2.1 (2019-03-16)
- 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)
V8 2.0 (2019-02-07)
- 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
V8 1.6
- Let Rcpp generated R_init_V8()
- Add unit test for the exception problem on OSX 10.11
V8 1.5 (2017-04-25)
V8 1.4 (2017-03-30)
- Fix autobrew for OSX Mavericks
V8 1.3 (2017-03-18)
- Extract autobrew script to separate repo
- Add symbol registration
V8 1.2 (2016-11-28)
- Improve configure script to check for the correct version of libv8
- Fedora 25+ requires v8-314-devel instead of v8-devel
V8 1.1 (2016-07-16)
- Use C++ 'new' and 'delete' instead of nodelist to keep contexts in scope
V8 1.0.3 (2016-06-28)
- Update homebrew URL in configure script
V8 1.0.2 (2016-06-14)
- Update URL of browserify logo
V8 1.0.1 (2016-04-04)
- 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
V8 1.0
- Remove UTF-8 workarounds now that Rcpp has proper UTF-8 support
V8 0.10 (2016-01-30)
- Add the console.r callback JavaScript api
V8 0.9 (2015-10-18)
- 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
V8 0.8 (2015-09-05)
- 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
V8 0.7 (2015-08-24)
- 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
V8 0.6 (2015-04-03)
- 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
V8 0.5 (2015-02-03)
- Add support for Typed Arrays