Releases: quickjs-ng/quickjs
Releases · quickjs-ng/quickjs
v0.13.0
What's Changed
- add import attributes to the normalize function by @nitsky in #1349
- Add update-version.sh script by @saghul in #1351
- Add JS_FreezeArrayBuffer by @bnoordhuis in #1350
- Update copyright notices by @bnoordhuis in #1353
- Add {js,go}-quickjs-wasi-reactor to projects list by @paralin in #1356
- Fix FinalizationRegistry reference counting bug by @bnoordhuis in #1358
- Fix out of bounds read in regex engine by @bnoordhuis in #1357
- Remove SAB support from bjson module by @saghul in #1359
- Fix async generator lifecycle bug by @bnoordhuis in #1360
- Fix file handle leak in js_new_std_file error path by @bnoordhuis in #1362
- Simplify make_obj_error by @bnoordhuis in #1363
- Add os.mkdtemp() and os.mkstemp() by @bnoordhuis in #1364
- Improve std file read/write ergonomics by @bnoordhuis in #1365
- Fix heap use-after-free in FinalizationRegistry by @saghul in #1366
- Optimize String.prototype.concat by @bnoordhuis in #1295
- Add regexp object instantiation fast path by @bnoordhuis in #1367
- Fix UAF in Iterator.concat by @bnoordhuis in #1370
- Add regexp result instantiation fast path by @bnoordhuis in #1369
- Remove get_shape_prop by @bnoordhuis in #1371
- Prevent malloc_size underflolw by @saghul in #1372
- Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #1373
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #1374
- Validate function locals count when deserializing by @bnoordhuis in #1381
- LRE fixes by @saghul in #1377
- Add quickjs.ml to projects.md by @davesnx in #1385
- Add python bindings and px to projects.md by @genotrance in #1384
- Add checksum field to bjson by @bnoordhuis in #1386
- Update projects.md with reference to std::slop by @hsaliak in #1388
- Add JS_NewSettledPromise by @saghul in #1389
- Add fast path for Promise creation by @saghul in #1387
- Add linux armv7 build by @anenasa in #1391
- feat: allow build to control the generation of install steps by @Almamu in #1395
- Fix parsing error involving private fields and division by @saghul in #1398
- Fix underflow with generator in iterable by @saghul in #1396
- Fix UAF when handling non-detached var-refs in mapped arguments by @saghul in #1401
- Faster context creation and exception checks in JS_NewContext by @saghul in #1402
- Use a better hash table magic constant by @bnoordhuis in #1403
- Update test262 by @bnoordhuis in #1405
- Sort test262_errors.txt by @bnoordhuis in #1406
- Check return values of fallible functions by @bnoordhuis in #1409
- Remove big endian support by @bnoordhuis in #1412
- Run UBsan also on macOS in the CI by @saghul in #1411
- Fix memory leak in Iterator.prototype.map by @saghul in #1413
- Fix TypedArray.prototype.with TOCTOU heap over-read by @saghul in #1415
- Add support for text imports by @bnoordhuis in #1407
New Contributors
- @nitsky made their first contribution in #1349
- @davesnx made their first contribution in #1385
- @genotrance made their first contribution in #1384
- @hsaliak made their first contribution in #1388
- @anenasa made their first contribution in #1391
- @Almamu made their first contribution in #1395
Full Changelog: v0.12.1...v0.13.0
v0.12.1
What's Changed
- Don't set -Werror by default by @bnoordhuis in #1340
- Fix C23 -Wdiscarded-qualifiers compiler warning by @bnoordhuis in #1338
- Make compiling regular expressions zero copy by @bnoordhuis in #1342
- inline all of cutils, fix embedding from other libraries without cutils by @TaylorRichberger in #1344
New Contributors
- @TaylorRichberger made their first contribution in #1344
Full Changelog: v0.12.0...v0.12.1
v0.12.0
What's Changed
- Add Dependabot configuration for GitHub Actions by @saghul in #1213
- Support for iOS, tvOS and watchOS by @wkornewald in #1214
- Bump actions/download-artifact from 4 to 6 by @dependabot[bot] in #1216
- Bump mymindstorm/setup-emsdk from 13 to 14 by @dependabot[bot] in #1219
- Bump softprops/action-gh-release from 1 to 2 by @dependabot[bot] in #1218
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #1217
- Bump actions/setup-node from 4 to 6 by @dependabot[bot] in #1220
- Reject pathological regular expressions by @bnoordhuis in #1222
- Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #1226
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1227
- Add n_digits=101 precision boundary tests by @jiang1997 in #1224
- Update the download from link in building.md docs by @speedskater1610 in #1230
- Fix missing include guards for dtoa header by @andrjohns in #1233
- Optimize boolean fields in JSFunctionDef, JSParseState and JSToken by @speedskater1610 in #1232
- Fix Atomics.pause on 32 bits platforms by @bnoordhuis in #1235
- Add/meson version check by @Gottox in #1239
- Add edbrowse to projects list by @bavier in #1243
- Fix JS number rounding on x87 by @bnoordhuis in #1244
- Add js_std_set_worker_new_runtime_func() by @bnoordhuis in #1246
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #1247
- Add C Closures by @akrieger in #1228
- Make JSIteratorConcatData smaller by @bnoordhuis in #1251
- Make JSString smaller by @bnoordhuis in #1252
- Corrected the compilation options for the C files output by qjsc by @nus in #1254
- Update to Unicode 17.0.0 by @bnoordhuis in #1253
- ci: remove meaningless clang-cl+msan config by @mochaaP in #1255
- Propagate exceptions in Iterator.concat by @bnoordhuis in #1256
- Expose JS_DupAtomRT in quickjs.h by @bnoordhuis in #1258
- Add JS_NewProxy by @bnoordhuis in #1263
- Add 'JS_FreeCStringRT' by @nathanvoglsam in #1262
- Add JS_PROMISE_NOT_A_PROMISE to JSPromiseStateEnum by @bnoordhuis in #1269
- Make run-test262 -vv print stack traces by @bnoordhuis in #1270
- Tab-complete keywords in REPL by @bnoordhuis in #1267
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #1272
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #1273
- Update wasi SDK to v29 by @paralin in #1283
- Micro-optimisations to perform better on JSON and String processing by @djinn in #1280
- Remove INF and NEG_INF macros by @bnoordhuis in #1289
- Work around msvc definition of INFINITY by @bnoordhuis in #1276
- Replace fmin/fmax with plain comparison by @bnoordhuis in #1290
- Add JS_ToCStringTwoByte by @bnoordhuis in #1293
- Compilation fixes for DJGPP by @rkd77 in #1287
- Rename TwoByte functions to UTF16 by @bnoordhuis in #1294
- illumos build fix by @jwntree in #1292
- Fix heap buffer overflow in js_typed_array_constructor_ta by @saghul in #1306
- Fix OOB access in atomic ops by @saghul in #1303
- Fix OOB access in TA sort by @saghul in #1298
- Update release workflow wasi SDK to v29 by @paralin in #1309
- Add Iterator.zip by @bnoordhuis in #1274
- Fix heap buffer overflow via side-effects in js_typed_array_constructor by @saghul in #1299
- Squelch cl.exe C4232 build warning by @bnoordhuis in #1312
- Add Iterator.zipKeyed by @bnoordhuis in #1277
- Add support for import attributes and JSON modules by @saghul in #1300
- Fix pedantic i386 compiler build error by @bnoordhuis in #1314
- Port closure optimizations by @saghul in #1313
- Add WASI reactor build and re-entrant event loop APIs by @paralin in #1308
- Port some perf improvement commits by @saghul in #1315
- Change the naming of a type error to be more specific, of either set/add by @speedskater1610 in #1323
- Port rope strings by @saghul in #1324
- Check for NULL object references in deserializer by @bnoordhuis in #1327
- typo: the the to the by @cuiweixie in #1326
- Include winsock2 before windows header by @saghul in #1330
- Implement immutable ArrayBuffers by @bnoordhuis in #1331
- CMake/meson fixes, Windows support for shared lib build by @BalkanMadman in #1225
- Remove force_inline macro by @bnoordhuis in #1335
New Contributors
- @wkornewald made their first contribution in #1214
- @dependabot[bot] made their first contribution in #1216
- @jiang1997 made their first contribution in #1224
- @speedskater1610 made their first contribution in #1230
- @bavier made their first contribution in #1243
- @akrieger made their first contribution in #1228
- @nus made their first contribution in #1254
- @nathanvoglsam made their first contribution in #1262
- @paralin made their first contribution in #1283
- @djinn made their first contribution in #1280
- @rkd77 made their first contribution in #1287
- @jwntree made their first contribution in #1292
- @cuiweixie made their first contribution in #1326
- @BalkanMadman made their first contribution in #1225
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- Make os.exec support supplementary groups by @bnoordhuis in #1056
- Make Function.prototype.arguments conform to spec by @bnoordhuis in #1057
- Rework promise rejection tracker by @saghul in #1058
- Make Iterator proto methods conform to spec by @bnoordhuis in #1059
- Fix Iterator.prototype.constructor by @bnoordhuis in #1060
- Remove no-op set_cycle_flag function by @bnoordhuis in #1061
- Fix Array.fromAsync function prototype by @bnoordhuis in #1062
- Remove unused context argument from JS_IsBigInt by @bnoordhuis in #1063
- Fix String.prototype match/split/etc. methods by @bnoordhuis in #1064
- Fix Object.defineProperty with RAB typed arrays by @bnoordhuis in #1067
- Make TypedArray.prototype.includes conform to spec by @bnoordhuis in #1068
- Fixed the delete operator with global variables (bellard/quickjs) by @past-due in #1070
- Atom to CString len by @harumazzz in #1071
- Remove unused JSContext argument by @bnoordhuis in #1072
- Fix async iterator throw/return method invocation by @bnoordhuis in #1073
- Support for AVX MSVC builds by @mekhontsev in #1054
- Add JS_IsSet function by @harumazzz in #1075
- Port recent OOM-handling and memory leak fixes from bellard/quickjs by @past-due in #1069
- Add JS_IsWeakRef function by @harumazzz in #1081
- Add C API to check if an JSValue is a DataView/WeakMap/WeakSet by @harumazzz in #1082
- GNU/Hurd build fixes by @pinotree in #1092
- run-test262: disable progress indicator on non-TTY outputs by @pinotree in #1094
- Use poll() instead of select() in js_os_poll by @bnoordhuis in #1097
- Enforce R^W in std.popen() by @bnoordhuis in #1101
- Handle zero limb when counting leading zeroes by @bnoordhuis in #1110
- Fix regression in 0.10.x: fix type for is_detached by @barracuda156 in #1123
- Make TypedArray constructor extensible by @bnoordhuis in #1113
- Add JS_New{Internal,Plain,Range,Reference,Syntax,Type}Error by @bnoordhuis in #1131
- Implement os.readdir() natively on Windows by @bnoordhuis in #1132
- Remove wrong assertion by @bnoordhuis in #1117
- Optimize {proto:null} object literal creation by @bnoordhuis in #1118
- Make initial shape hash table bigger by @bnoordhuis in #1120
- Simplify a number of JS_IsFoo() functions by @bnoordhuis in #1137
- Add DOMException by @bptato in #1040
- Fix crash on failure to read bytecode (arguments, local variables, etc.) by @penneryu in #1146
- Use internal functions for creating primitives by @bnoordhuis in #1148
- Introduce js_empty_string by @bnoordhuis in #1147
- Update test262 by @bnoordhuis in #1151
- Make quickjs-libc symbols visible at link time by @bnoordhuis in #1154
- Add Map and WeakMap upsert methods by @bnoordhuis in #1156
- Fix wrong type for class_id in public api by @echoptic in #1155
- DRY "is function?" type checks by @bnoordhuis in #1159
- Add Iterator.concat by @bnoordhuis in #1158
- Port bellard/quickjs "dtoa library" commits by @past-due in #1142
- Fix Valgrind warning by @bnoordhuis in #1161
- Fix Valgrind warning by @bnoordhuis in #1163
- Call return() method of Set-like iterators by @bnoordhuis in #1167
- Port bellard/quickjs sumPrecise by @bptato in #1170
- DRY set-like property lookups by @bnoordhuis in #1169
- Improve handling of set-like .size properties by @bnoordhuis in #1171
- Improve error handling in Promise.withResolvers by @bnoordhuis in #1173
- Port recent bellard/quickjs leak fixes by @past-due in #1165
- Port bellard/quickjs CVE fixes - batch 1 by @past-due in #1164
- Add ref-counted string slices by @bnoordhuis in #1175
- Fix realloc with size == 0 in dbuf_default_realloc() by @mikma in #1177
- Fix leak in JS_NewArrayFrom at OOM by @bptato in #1176
- Improve computed property lookup error messages by @bnoordhuis in #1179
- Test that global object prototype can be changed by @bnoordhuis in #1180
- Handle string slices correctly in JS_ToCString by @bnoordhuis in #1184
- Store start of slice string as bytes, not chars by @bnoordhuis in #1186
- Add Lua JS Regexp library as one project using this by @mcepl in #1189
- repl: respect xdg base dir, default on linux by @mochaaP in #1193
- Add JS_NewCFunctionData2 by @bnoordhuis in #1195
- Add ES2020 string export/import name support by @karlseguin in #1188
- Update meson.build by @mochaaP in #1192
- Show JSCFunctionData callbacks in stack traces by @bnoordhuis in #1204
- Add function name to "not a constructor" errors by @bnoordhuis in #1207
- Remove unused JSContext argument from JS_IsError by @bnoordhuis in #1206
- Fix use-after-free in ArrayBuffer.prototype.transfer by @bnoordhuis in #1209
New Contributors
- @harumazzz made their first contribution in #1071
- @mekhontsev made their first contribution in #1054
- @pinotree made their first contribution in #1092
- @echoptic made their first contribution in #1155
- @mikma made their first contribution in #1177
- @mcepl made their first contribution in #1189
- @mochaaP made their first contribution in #1193
- @karlseguin made their first contribution in #1188
Full Changelog: v0.10.1...v0.11.0
v0.10.1
What's Changed
- Fix compilation error with GCC 15 by @saghul in #1045
- Fix the library version number by @osokin in #1048
- qjsc: Add -P flag to disable adding default system modules by @Gottox in #1051
- JS_DumpMemoryUsage will crash if u use promise by @sallmann in #1046
- Fix unhandled promise rejection tracker, again by @saghul in #1049
New Contributors
Full Changelog: v0.10.0...v0.10.1
v0.10.0
What's Changed
- Don't use
timein CI by @saghul in #964 - Normalize directory names in run-test262 by @bnoordhuis in #971
- Make autoinit dispatch table read-only by @bnoordhuis in #972
- Add more JSValueConst by @bptato in #973
- Add Array.fromAsync by @bnoordhuis in #975
- Add qjsc -C flag to compile as classic script by @bnoordhuis in #978
- Simplify Array.fromAsync lazy loading by @bnoordhuis in #982
- Fix parsing dates with more than 9 contiguous digits by @nickva in #967
- Remove getopt dependency and getopt_compat.h by @bnoordhuis in #995
- Fix updating DataView length when backing buffer is resized by @saghul in #990
- Sync from bellard/ by @saghul in #984
- Update projects.md by @andrieshiemstra in #998
- Add JS_NewTwoByteString by @bnoordhuis in #1000
- Add pointer cast magic to avoid pedantic warnings with gcc-13 by @Gottox in #1001
- Support os.Worker on Windows by @bnoordhuis in #1003
- Update wasi SDK by @saghul in #1005
- Switch to new BigInt implementation by @saghul in #997
- Switch to using the xsum small accumulator by @saghul in #1007
- Use 32bit limbs for BigInt implementation by @saghul in #1008
- Fix using OP_push_bigint_i32 opcode by @saghul in #1009
- fix memory leak in WeakMap by @kasonyang in #1010
- Fix refcount leak in generator function by @saghul in #1013
- removed memory leak in string padding by @saghul in #1012
- fixed hash_map_resize() - added Map/WeakMap in microbench by @saghul in #1011
- Silence MSVC chatty warnings by @saghul in #1014
- Fix weakmap gc by @kasonyang in #1016
- Fix OOB read in tag name array on corrupt input by @bnoordhuis in #1019
- Cherry-pick bellard/quickjs@1eb05e44fa by @bnoordhuis in #1020
- Add parserless build mode by @bnoordhuis in #1021
- Use js_free instead of bare free in api-test.c by @bnoordhuis in #1024
- qjsc.c: minor fix by @barracuda156 in #1025
- add support for parserless builds in meson by @Gottox in #1028
- Add os.exePath by @saghul in #1029
- Add Windows ARM64 to CI by @saghul in #958
- Move builtin-array-fromasync.h to toplevel by @bnoordhuis in #1034
- Update test262 by @bnoordhuis in #1035
- Add promise hooks by @bnoordhuis in #1033
- Remove unnecessary helper function by @saghul in #1036
- Fix reporting handled promises as unhandled in tracker by @saghul in #1038
- Workaround lack of C99 "static array bound" in C++ in
cutils.h. by @tritao in #1031
New Contributors
- @kasonyang made their first contribution in #1010
- @barracuda156 made their first contribution in #1025
- @tritao made their first contribution in #1031
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
- Fix compilation of quickjs-libc under emscripten by @andrjohns in #773
- Add string eq function by @richarddd in #765
- Update stack limit in ASan builds by @bnoordhuis in #778
- Update cli.md: Document --exe expects absolute path to qjs by @guest271314 in #783
- Expose JS_HasException API (#785) by @laishere in #786
- Fix comment of JS_NewClassID by @gschwind in #784
- Fix -Wunterminated-string-initialization warning by @bnoordhuis in #787
- Optimize derived class construction by @bnoordhuis in #753
- Track line and column numbers for expressions by @bnoordhuis in #781
- Update projects.md to include GodotJS by @ialex32x in #796
- Fix missing calls to va_end in libunicode by @ABBAPOH in #792
- Exit qjs on unhandled promise rejections by @saghul in #791
- Remove test_conv.c by @bnoordhuis in #800
- Make js_get_stack_pointer more portable by @ABBAPOH in #793
- Add JS_IsDate function by @ABBAPOH in #803
- Add JS_IsRegExp function by @ABBAPOH in #804
- Simplify exiting interpreter with exception by @saghul in #789
- fix a typo in projects.md by @ialex32x in #806
- Add JS_IsMap function by @ialex32x in #808
- Add JS_IsPromise function by @ialex32x in #807
- Build backtrace in JS_NewError by @saghul in #809
- Disable rejected promise tracker in REPL by @saghul in #815
- Replace BOOL with LRE_BOOL in libunicode.h by @linusg in #816
- Expose
JS_ToBoolean(),JS_ToNumber(),JS_ToObject(), andJS_SetUncatchableError()by @kasperisager in #824 - Add JS_SealObject and JS_FreezeObject methods by @ABBAPOH in #819
- Rework JS_SetUncatchableError by @bnoordhuis in #827
- Use stdbool rather than custom booleans by @saghul in #821
- Homogenize printf formatting by @saghul in #825
- Add Ubuntu ARM64 runners to CI by @saghul in #829
- Fix printf warnings on Windows by @saghul in #831
- Handle unprintable objects better in print() by @bnoordhuis in #834
- Add std.file.readAsArrayBuffer() by @bnoordhuis in #835
- Move debug dump constants to quickjs.h by @mrmbernardi in #770
- Throw exception on out of memory in dynamic buffer by @bnoordhuis in #838
- Fix uncatchable error inside a promise (#810) by @laishere in #811
- Handle js_module_set_import_meta errors by @saghul in #843
- Fix resetting current exception while in build_backtrace by @saghul in #846
- Fix exporting destructured variables by @saghul in #850
- Update copyright notices by @bnoordhuis in #853
- Record stack trace for non-object exceptions by @bnoordhuis in #805
- Update test262 by @bnoordhuis in #854
- DRY typed array type checking by @bnoordhuis in #855
- Support qjs -m flag in combination with -e by @bnoordhuis in #863
- Add -Wformat=2 compiler flag by @saghul in #860
- Unbreak tcc build by @bnoordhuis in #866
- Fix Error.stackTraceLimit = Infinity by @ammarahm-ed in #861
- Replace int parameters with bools in parser by @bnoordhuis in #867
- Simplify and optimize OP_rest by @bnoordhuis in #869
- Add JS_NewArrayFrom by @bnoordhuis in #870
- Fix format error that prevents build with GCC 14.2 by @nE0sIghT in #873
- Add JS_NewObjectFrom and JS_NewObjectFromStr by @bnoordhuis in #871
- Expose JS_NewCFunction3 by @bptato in #877
- Add JS_Eval* overloads taking line by @ABBAPOH in #822
- Fix qjsc static build by @bnoordhuis in #878
- Removed unneded macro by @saghul in #880
- Add define identifying NG to quickjs.h by @saghul in #881
- Disable flaky arm64 buildbots by @bnoordhuis in #882
- Refactor Error.stackTraceLimit by @saghul in #874
- DRY TypeError throwing code by @bnoordhuis in #888
- Fix unnoticed exception in JS_DetectModule by @bnoordhuis in #889
- Remove inline caches by @bnoordhuis in #884
- Add dir exclude override to run-test262.c by @bnoordhuis in #892
- Handle return value of JS_ToFloat64 by @saghul in #891
- Remove unused variable, fix issue #894 by @satk0 in #895
- MSVC fix: include <intrin.h> for
_AddressOfReturnAddressby @past-due in #899 - Rename CMake options, prefix with QJS_ by @past-due in #897
- Remove last JSValueConst vestiges by @bnoordhuis in #901
- CMake: Set _WIN32_WINNT=0x0601 by @past-due in #900
- Only look up .stack property on exception objects by @bnoordhuis in #905
- Fix calling build_backtrace too often by @bnoordhuis in #906
- Upgrade to ubuntu-22.04 CI image by @bnoordhuis in #908
- Fix global property access crash in raw context by @bnoordhuis in #915
- Print opcode count and total size in debug output by @bnoordhuis in #929
- Remove trailing zero-size arrays from JSString by @bnoordhuis in #930
- Add std.writeFile by @bnoordhuis in #932
- Add script to create amalgamated build by @bnoordhuis in #933
- Document amalgamated build on building page by @bnoordhuis in #935
- Fix release CI job by @bnoordhuis in #936
- Add JS_IsProxy, JS_GetProxyHandler and JS_GetProxyTarget by @bnoordhuis in #939
- Replace JS_DupValue() calls with js_dup() by @bnoordhuis in #941
- Remove obsolete test262 feature by @bnoordhuis in #943
- Support reading script source from stdin in qjs by @bnoordhuis in #947
- Add amalgamation Makefile target by @bnoordhuis in #949
- Fix ES module deserialization by @bnoordhuis in #942
- Fix disabling optimizations on Debug builds by @saghul in #953
- Remove explicit stack size from api-test by @saghul in #954
- Add compile-time refcount bug hunt build mode by @bnoordhuis in #952
- Add Meson build system support by @saghul in #957
New Contributors
- @guest271314 made their first contribution in #783
- @laishere made their first contribution in #786
- @gschwind made their first contribution in #784
- @ialex32x made their first contribution in #796
- @ABBAPOH made their first contribution in #792
- @kasperisager made their first contribution in #824
- @mrmbernardi made their first contribution in #770
- @ammarahm-ed made their first contribution in #861
- @nE0sIghT made their first contribution in https://github.com/quickjs-ng/quic...
v0.8.0 🎄
What's Changed
- Update release CI action versions by @saghul in #694
- Align JS_SetOpaque with other similar APIs by @saghul in #696
- Add Math.sumPrecise by @bnoordhuis in #697
- Fix harmless -Wsign-compare warning by @bnoordhuis in #699
- Work around msvc definition of NAN by @bnoordhuis in #702
- Bump CMake version to 3.10 by @saghul in #703
- Simplify iterator helpers code, remove duplication by @saghul in #700
- Fix null deref in js_iterator_helper_next by @saghul in #706
- Remove unnecessary parameters by @morn-0 in #708
- Update projects.md to include
quickjs-rustyby @Icemic in #709 - Use closefrom() to close open file descriptors by @bnoordhuis in #712
- Don't share class functions across Set and Map by @saghul in #715
- Do not depend on c99 for(int by @trufae in #719
- fix crash when add property maybe failed on build arguments by @penneryu in #721
- Fix catching all exceptions from std.evalScript by @saghul in #723
- Fix leak when interpreter exits due to exception by @saghul in #722
- Simplify release CI by @saghul in #724
- Drop GCC 4.8 CI by @saghul in #725
- Simplify close_lexical_var by @bnoordhuis in #726
- Implement Error.captureStackTrace by @saghul in #596
- Fix Date.prototype.set* when date is invalid by @saghul in #727
- Install qjsc as part of the install target by @saghul in #731
- Expose raw argv in CLI by @saghul in #735
- Add ability to load file as Uint8Array in std.loadFile by @saghul in #733
- Add "compile_module" and "eval_module" flags to std.evalScript by @saghul in #732
- Use UCRT64 variant when making 64bit Windows releases by @saghul in #734
- Rename __argv to execArgv by @saghul in #737
- Add support for the "x" flag in std.open() by @saghul in #738
- Fix exporting JS_GetModuleNamespace by @saghul in #740
- Add ability to create standalone binaries with qjs by @saghul in #739
- Add option to use clang's MSVC ABI by @Oliver-makes-code in #729
- Fix break statement in presence of labels by @bnoordhuis in #742
- Fixes timezone bias on Windows by @saghul in #744
- Update
.gitignorefor CMake and Visual Studio. by @crysehillmes in #746 - Expose
JS_IsUncatchableErrorAPI. by @crysehillmes in #745 - Drop checks for no longer used files by @saghul in #748
- Removed some of the offending functions #754 by @KaruroChori in #755
- Use 1 MB as the default stack size by @saghul in #756
- Add typed array utility functions by @richarddd in #760
- Catch error when target executable cannot be found by @saghul in #764
New Contributors
- @morn-0 made their first contribution in #708
- @trufae made their first contribution in #719
- @penneryu made their first contribution in #721
- @Oliver-makes-code made their first contribution in #729
Full Changelog: v0.7.0...v0.8.0
v0.7.0
QuickJS NG is 1 year old! 🍰
In november 2023 @bnoordhuis and @saghul banded together to create NG and try to reignite the project. So far so good, here is to the next one!
What's Changed
- Add Iterator by @bnoordhuis in #548
- Fix clearing screen in REPL with Ctrl-L by @saghul in #550
- New documentation website by @saghul in #549
- Add Iterator.prototype.toArray by @bnoordhuis in #552
- Add Ctrl-W support for REPL by @saghul in #553
- Simplify eval_and_print code in REPL by @saghul in #554
- Add Iterator.from by @bnoordhuis in #555
- Support the NO_COLOR env variable in the REPL by @saghul in #556
- Add -C compact mode switch to run-test262 by @bnoordhuis in #560
- Add -vv verboser mode switch to run-test262 by @bnoordhuis in #561
- Fix printing of slow tests with -T in run-test262 by @bnoordhuis in #563
- Fix ThreadSanitizer warning in quickjs-libc by @bnoordhuis in #562
- Support printing unicode characters on windows by @andrjohns in #449
- Run test262 tests in parallel by @bnoordhuis in #564
- Fix regexp split with zero-length capture group by @bnoordhuis in #566
- chore: move JS_{Dup,Free}Value and the RT variants from header, reduced duplication by @richarddd in #570
- Fix next token parsing after a function definition by @saghul in #573
- Run test262-update in a single thread by @saghul in #574
- Run ThreadSanitizer on push to master by @bnoordhuis in #575
- Don't allow closing stdio from quickjs-libc by @bnoordhuis in #576
- Fix thread-safety issue in quickjs-libc by @bnoordhuis in #578
- Implement proper Symbol.toStringTag for iterators by @saghul in #580
- Fix computed reference on null or undefined by @saghul in #581
- R2 patches (squash / rebased) by @saghul in #582
- Build all Windows targets when building in CI by @saghul in #583
- Include <intrin.h> on Windows by @bnoordhuis in #584
- Remove unused defines in cutils.h by @saghul in #587
- Enforce buffer length in utf8_encode definition by @bnoordhuis in #589
- Replace js_mode with is_strict_mode bit field by @bnoordhuis in #590
- DRY assertion functions in tests by @saghul in #588
- Run local tests with run-test262 by @bnoordhuis in #591
- Fix definition of minimum_length by @saghul in #593
- Implement Promise.try by @saghul in #597
- Fix cyclic import/export segfault by @bnoordhuis in #568
- Expose ctx->function_proto by @richarddd in #599
- Simplify extract_desc() by @bnoordhuis in #601
- Remove NetBSD CI buildbot by @bnoordhuis in #603
- Fix crash in deserializer by @bnoordhuis in #602
- Restrict atom count in deserializer to 1 million by @bnoordhuis in #605
- Allow turning on multiple sanitizers by @bnoordhuis in #611
- Improve JS_DetectModule by @bnoordhuis in #610
- Rework inline cache handling by @bnoordhuis in #609
- Remove macos-12 buildbots by @bnoordhuis in #604
- Avoid requiring atomics on quickjs-libc by @saghul in #613
- Fix stdc atomics detection and add vs2019 msvc job by @satk0 in #592
- Handle bytecode without IC state by @bnoordhuis in #617
- Implement Iterator.prototype.every by @saghul in #620
- Implement Iterator.prototype.forEach by @saghul in #619
- Prefix stdlib modules with "qjs:" by @saghul in #618
- Eval CLI included files as scripts by @saghul in #621
- Implement Iterator.prototype.find by @saghul in #625
- Implement Iterator.prototype.reduce by @saghul in #626
- Implement Iterator.prototype.some by @saghul in #627
- Add C++ compile test by @bnoordhuis in #615
- Make quickjs.h -Wall -Wextra -pedantic clean by @bnoordhuis in #628
- Improve run-test262 logging by @bnoordhuis in #631
- Auto-detect ASan at compile time by @bnoordhuis in #638
- Don't segfault on missing line number data by @bnoordhuis in #641
- Allow 'undefined' in let or const declaration by @bnoordhuis in #639
- Make qjs --std switch include bjson module by @bnoordhuis in #640
- Detect if stdout is a console in quickjs-libc by @bnoordhuis in #642
- Add stack trace to Test262Error by @bnoordhuis in #644
- Add resizable ArrayBuffers by @bnoordhuis in #646
- Move "no more objects" assert to right place by @bnoordhuis in #649
- Fix exception in WeakRef.prototype.deref by @bnoordhuis in #653
- Fix DUMP_LEAKS memory leak false positive by @bnoordhuis in #655
- Fix FinalizationRegistry refcounting bug by @bnoordhuis in #656
- Don't throw oob exception when setting numeric indexes on TAs by @saghul in #647
- Prevent JS_SetOpaque from overriding internal class state by @saghul in #658
- Improve line:column tracking by @bnoordhuis in #660
- Make global.performance writable by @richarddd in #661
- Don't automatically update test262 submodule by @richarddd in #663
- Remove
qjsnamespace backwards compatibility by @saghul in #662 - Update test262_errors.txt after commit 73cc00e by @bnoordhuis in #665
- Don't use _Thread_local in run-test262.c by @bnoordhuis in #667
- Update to Unicode 15.1, 16.0 by @bnoordhuis in #666
- Implement Iterator.prototype.drop by @saghul in #673
- Work around broken atomics in tinycc by @bnoordhuis in #669
- Implement Iterator.prototype.take by @saghul in #676
- Improve performance of variable resolver by @bnoordhuis in #672
- Implement Iterator.prototype.filter by @saghul in #678
- Remove error handling for JS_NewInt64, it's infallible by @saghul in #677
- Implement Iterator.prototype.map by @saghul in #679
- Update test262 by @bnoordhuis in #680
- Add Error.isError by @bnoordhuis in #682
- Fix detach check in ArrayBuffer.prototype.resize by @bnoordhuis in #681
- Implement Iterator.prototype.flatMap by @saghul in #684
- Fix bytecode stack frame printing by @bnoordhuis in #686
- Add RegExp.escape by @bnoordhuis in #687
- Fix Iterator.prototype by @saghul in #690
- Documentation updates by @saghul in #685
- Make Iterator.from spec compliant by @saghul in #689
- Fix NULL deref in JS_NewRuntime2 by @bptato in #691
- Add Atomics.pause by @bnoordhuis in #692
New Contributors
- @richarddd made their first contribution in https://github.com/quickjs-ng/quickj...
v0.6.1
What's Changed
- Ignore diff for generated files by @saghul in #540
- Provide a description for unitialized values in JS_ToStringInternal by @saghul in #543
- Add ability to (de)serialize symbols by @saghul in #539
- Add version to navigator.userAgent by @saghul in #542
- Fix use of js_malloc_usable_size by @saghul in #544
- Support private brand checks by @saghul in #545
- Enable iterator-helpers test262 feature by @bnoordhuis in #546
Full Changelog: v0.6.0...v0.6.1