• Remove usage of disallowed entrypoints in compiled code
  • Sync bundled QuickJS-NG engine to 9d6e372 to address gcc-ubsan error
  • Patch bundled cpp11 headers for whitespace in literal operator declarations
  • Fix conversions of NULL/NA/undefined values between R and JS
  • Fix compilation under emscripten/WASM
  • Fix installation under R < 4.2
  • Bundled QuickJS engine updated to the QuickJS-NG fork, which is under more active development than the original QuickJS engine
  • Several Non-API R calls fixed
  • Unity/jumbo build implemented for QuickJS sources, allowing for faster compilation and improved compiler optimisations
  • Bugfixes for feature detection when system CC differs from R CMD config CC
  • Fix non-canonical CRAN URL in READMEE
  • Fix installation under C++11
  • Fix installation for FreeBSD
  • Fix detection of atomics support under Windows and ARM64
  • Fix module loading
  • Add $get() and $assign() methods to JSContext
  • Support passing R environments, getting and setting values
  • Add global R object with access to package environments
  • Rcpp dependency replaced with vendored cpp11 headers
  • R6 dependency removed
  • R and JS interoperability added, removing jsonlite dependency
  • Fixes for libatomic linking on 32-bit systems
  • Added to_json and from_json functions for testing R/JS interop
  • Fixed UBSAN error in JS_Eval
  • Fixed compilation errors with older GCC & Clang (stdatomic.h not found)
  • Bundled QuickJS engine updated to the 2024-01-13 release:
    • top-level-await support in modules
    • allow ‘await’ in the REPL
    • added Array.prototype.{with,toReversed,toSpliced,toSorted} and TypedArray.prototype.{with,toReversed,toSorted}
    • added String.prototype.isWellFormed and String.prototype.toWellFormed
    • added Object.groupBy and Map.groupBy
    • added Promise.withResolvers
    • class static block
    • ‘in’ operator support for private fields
    • optional chaining fixes
    • added RegExp ‘d’ flag
    • fixed RegExp zero length match logic
    • fixed RegExp case insensitive flag
    • added os.sleepAsync(), os.getpid() and os.now()
    • added cosmopolitan build
    • misc bug fixes
  • Bundled QuickJS engine updated to the 2023-12-09 release:
    • added Object.hasOwn, {String|Array|TypedArray}.prototype.at, {Array|TypedArray}.prototype.findLast{Index}
    • BigInt support is enabled even if CONFIG_BIGNUM disabled
    • updated to Unicode 15.0.0
    • misc bug fixes