Skip to content

v0.1.0

Compare
Choose a tag to compare
@saghul saghul released this 23 Nov 13:46
· 486 commits to master since this release
fd3d71b

Welcome to QuickJS-ng

Welcome to QuickJS-ng friendly for of QuickJS. With this project we aim to provide a worthy successor to QuickJS, packed with new features and bugfixes, and involving the community of QuickJS enthusiasts.

Hope you have as much fun using it as we do building it.

❤️ Ben, Saúl and the QuickJS-ng contributors.

New ES features

  • a9ac7a0: Add top-level await support (Saúl Ibarra Corretgé)
  • 18eb603: Implement Promise.withResolvers (#14) (Ben Noordhuis)
  • 99eb81e: Implement Array.prototype.at (#13) (Ben Noordhuis)
  • 5501834: Implement String.prototype.at (#12) (Ben Noordhuis)
  • 9b3b308: Implement TypedArray.prototype.at (#18) (Ben Noordhuis)
  • a3a57fe: Implement Array.prototype.toReversed (#19) (Ben Noordhuis)
  • 0720b06: Implement String.prototype.isWellFormed (#41) (Ben Noordhuis)
  • 15f798d: Implement Array.prototype.with (#45) (Ben Noordhuis)
  • a19b07a: Implement Array.prototype.toSorted (#44) (Ben Noordhuis)
  • cfe4251: Implement String.prototype.toWellFormed (#43) (Ben Noordhuis)
  • d2e632e: Allow symbols as WeakMap and WeakSet keys (#58) (Ben Noordhuis)
  • feebfbc: Add Array.prototype.toSpliced (#64) (Ben Noordhuis)
  • d88e9df: Implement TypedArray.prototype.findLast{Index} (#73) (Ben Noordhuis)
  • 7e955f6: Implement Array.prototype.findLast{Index} (#70) (Ben Noordhuis)
  • ea068d9: Add performance.{now,timeOrigin} (Saúl Ibarra Corretgé)
  • 20b3aca: Update to Unicode 15.0.0 (#89) (Ben Noordhuis)
  • 4727e40: Retrieve RegExp 'g' flag in spec conformant way (#92) (Ben Noordhuis)
  • b56cbb1: Implement extended named capture group identifiers (#90) (Ben Noordhuis)
  • d1960d1: Implement RegExp 'd' flag (#86) (Ben Noordhuis)
  • 7aabea9: Implement Error causes (#103) (Divy Srivastava)
  • 8d496b3: Add queueMicrotask (Saúl Ibarra Corretgé)
  • 1fcb573: Implement ArrayBuffer.prototype.transfer (#101) (Divy Srivastava)

New APIs

  • 6d7fd42: Add JS_GetUint8Array API (Saúl Ibarra Corretgé)
  • 55e845c: Add JS_GetVersion (Saúl Ibarra Corretgé)
  • 38f88c0: Remove CONFIG_BIGNUM, always enable BigInt (#34) (Ben Noordhuis)
  • 3c144fd: Add JS_GetAnyOpaque() to support polymorphism (Ole André Vadla Ravnås)
  • 5ce2957: Make JS_NewClassID thread aware (Saúl Ibarra Corretgé)

Build system

The build system has been replaced with CMake, here are some of the highlights:

  • 39e834f: Add initial CMake support (Saúl Ibarra Corretgé)
  • 0b09109: Add shared library target to CMake (#60) (Saúl Ibarra Corretgé)
  • 54a4f29: Refactor build system to use CMake only (Saúl Ibarra Corretgé)
  • 5d2e74f: Add -DBUILD_QJS_LIBC option (Divy Srivastava)

Testing infrastructure

Highlights:

  • 62f6789: ci: add macos build+test workflow (#3) (Ben Noordhuis)
  • 2f7fd38: ci: add linux build+test workflow (#2) (Ben Noordhuis)
  • 141b775: Enable sanitizers on CI (Ben Noordhuis)
  • cd4579d: Add MemorySanitizer support (Ben Noordhuis)
  • 83e6fca: Add UndefinedBehaviorSanitizer support (Ben Noordhuis)
  • f2a8f04: Enable UBSan sanitizer on CI (Ben Noordhuis)
  • 7be933e: Enable test262 on CI (#11) (Ben Noordhuis)
  • 2f51cbc: Add CI for MinGW on Windows (Saúl Ibarra Corretgé)
  • af456e6: Add workflow for making releases (Saúl Ibarra Corretgé)

More

Check the git commit history for more details!