Releases: quickjs-ng/quickjs
Releases · quickjs-ng/quickjs
v0.3.0
What's Changed
- Update LICENSE by @saghul in #175
- Simplify Makefile by @saghul in #176
- Detect JOBS in a more portable way by @saghul in #178
- Fix Makefile rebuilding every target by @saghul in #181
- Add NetBSD support by @FGasper in #177
- Fix private field setters by @saghul in #182
- Use named constant for regexp bytecode size field by @bnoordhuis in #183
- Rename LRE_FLAG_UTF16 to LRE_FLAG_UNICODE by @bnoordhuis in #186
- Remove duplicate JS_GetBigInt call by @bnoordhuis in #188
- Remove js_new_bf() by @bnoordhuis in #189
- Use JS_ToBigIntFree() instead of JS_ToBigInt() by @bnoordhuis in #190
- Change regexp flags field from uint8 to uint16 by @bnoordhuis in #185
- Fix OP_FMT_none_loc bytecode dumping by @bnoordhuis in #192
- Remove CONFIG_CHECK_JSVALUE build mode by @bnoordhuis in #194
- Replace JSValueConst with JSValue by @bnoordhuis in #195
- Cherry-pick fixes from bellard/quickjs by @bnoordhuis in #197
- Implement TypedArray.prototype.toReversed by @bnoordhuis in #198
- Implement TypedArray.prototype.toSorted by @bnoordhuis in #199
- Implement TypedArray.prototype.with by @bnoordhuis in #200
- Change to SIGTERM in child process test by @bnoordhuis in #203
- Handle TypedArray detach during iteration by @bnoordhuis in #201
- Disable flaky test on Cygwin by @bnoordhuis in #202
- Record source column positions by @bnoordhuis in #193
- Add navigator.userAgent to qjs CLI by @saghul in #204
- Remove JSFunctionBytecode.has_debug flag by @bnoordhuis in #207
- Don't throw OOB exception for detached typed array by @bnoordhuis in #208
- Handle TypedArray detach during iteration by @bnoordhuis in #209
- Handle negative zero typed array indices correctly by @bnoordhuis in #212
- Add / adapt upstream fixes by @saghul in #211
- Remove broken JS_READ_OBJ_ROM_DATA flag by @bnoordhuis in #216
- Partially port bellard/quickjs@58f374ef42 by @bnoordhuis in #214
- Remove unused member from JSContext by @saghul in #219
- Retain function source code in serialized bytecode by @bnoordhuis in #218
- Drop non-standard Error properties by @saghul in #220
- Fix typo in #undef by @bnoordhuis in #222
- Implement Error.prepareStackTrace support by @saghul in #223
- Implement Error.stackTraceLimit by @saghul in #226
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Overview
This release bring full ES2022 compliance, polymorphic inline caching for some extra performance, and more! 🚀
What's Changed
- Specialized bytecode for default constructors by @littledivy in #112
- Implement Object.groupBy + Map.groupBy by @bnoordhuis in #123
- Add MinGW 32 CI target by @saghul in #124
- Fix repl autocompletion for regexp with flags by @indutny in #128
- Fix not making library include path public by @saghul in #130
- Add API to build Date objects by @saghul in #129
- Add APIs to build a Uint8Array from binary data directly by @saghul in #126
- Fix implicit enum conversion by @saghul in #132
- Squelch a -Wcast-function-type warnings by @saghul in #137
- Expose class name to static initializers by @bnoordhuis in #139
- Set default visibility to hidden and export the public API by @saghul in #140
- Remove no-op OP_swap+OP_swap bytecode sequence by @bnoordhuis in #143
- Implement static class initializer blocks by @bnoordhuis in #144
- Ignore testdir config when -d or -f is passed by @bnoordhuis in #145
- Add clang64 MinGW environment to CI by @saghul in #146
- Implement WeakRef by @saghul in #148
- Unbreak run-test262 by @bnoordhuis in #151
- Handle serialization endianness transparently by @bnoordhuis in #152
- Implement RegExp serialization by @bnoordhuis in #153
- Add Poly IC by @littledivy in #120
- Enable support for GCC compler v < 4.9 by @loganek in #154
- Remove dead code by @bnoordhuis in #155
- Fix null pointer arithmetic UB in libregexp by @linusg in #136
- Drop ctx argument from functions that don't need it by @bnoordhuis in #156
- Make -DDUMP_BYTECODE=64 print executed bytecode by @bnoordhuis in #158
- Add os.cputime() by @bnoordhuis in #159
- Prohibit freezing/sealing module namespace objects by @bnoordhuis in #160
- Add support for building with ClangCL on Windows by @saghul in #111
- Test Debug and Release on ClangCL by @saghul in #162
- Add Emscripten target to CI by @saghul in #163
- Re-enable stack depth checks under ASan by @bnoordhuis in #161
- Always enable stack checking by @saghul in #166
- Fix stack overflow in CVE-2023-31922 by @nickva in #157
- Fix UB in bf_set_ui() by @saghul in #169
- Fix building with tcc by @bnoordhuis in #170
- Add Cygwin compatibility. by @FGasper in #171
- Add OpenBSD and FreeBSD support by @saghul in #172
- Implement FinalizationRegistry by @saghul in #168
New Contributors
- @indutny made their first contribution in #128
- @loganek made their first contribution in #154
- @linusg made their first contribution in #136
- @nickva made their first contribution in #157
- @FGasper made their first contribution in #171
Full Changelog: v0.1.0...v0.2.0
v0.1.0
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!