What's Changed
- Use built-in methods in bjson test by @bnoordhuis in #1749
- Fix String.prototype.repeat with a large count on an empty string by @ethanstoner in #1741
- Port bellard/quickjs@10c81b1 to fix GCC 14+ performance regression by @gengjiawen in #1744
- Fix precision loss in performance.now() and timeOrigin by @josefguenther in #1746
- Fix use-after-free when JS_NewContext runs out of memory by @IamYipi in #1781
- Fix os.poll dispatch when a later descriptor is ready by @gengjiawen in #1786
- Update MSVC version for ARM64 builds in CI by @saghul in #1785
- Ensure function prototype is propagated when bound by @sr5434 in #1733
- Use mi_usable_size for the mimalloc usable-size hook by @saghul in #1788
- Pass JSContext to JSInterruptHandler by @bnoordhuis in #1802
- Accept Unicode spaces in Date.parse by @goffrie in #1774
- Return false instead of error with undefined receiver in Reflect.set by @sr5434 in #1734
- Fix evaluation order of computed property assignment by @goffrie in #1780
- Record the source location of import() calls by @yspbwx2010 in #1755
- Fix leak in JSON.stringify when an array index can't be converted by @IamYipi in #1784
- Tweak GC-on-new-object heuristic by @bnoordhuis in #1806
- Make OOM exceptions uncatchable by JS code by @bnoordhuis in #1810
- docs: add DuckDB QuickJS extension to projects list by @rustyconover in #1812
- Make InternalErrors uncatchable by JS code by @bnoordhuis in #1814
- Template literals convert substitutions too late (and look up String.prototype.concat) by @Iann29 in #1811
- Explain new security policy in SECURITY.md by @bnoordhuis in #1818
- Upgrade macos-14 runners to macos-15 by @bnoordhuis in #1830
- Fix infinite loop on allocation failure in unicode_script() by @Kayyo321 in #1829
- Export all API symbols in the QJS_WASI_REACTOR build by @effulgentsia in #1804
- Export the indirect function table in the WASI reactor and make it growable by @effulgentsia in #1841
- Fix leak in JS_ReadBigInt on truncated input by @theaddonn in #1840
- Cosmopolitan libc build by @bnoordhuis in #1839
- Support asynchronous dynamic import() by @bnoordhuis in #1860
- Fix use-after-free when freeing a WeakMap with symbol values by @wleeaf in #1844
- Array.fromAsync: use internal call instead of .call lookup (#1795) by @Chieler in #1832
- Use $RUNNER_TEMP instead of /tmp in CI recipes by @bnoordhuis in #1861
New Contributors
- @ethanstoner made their first contribution in #1741
- @gengjiawen made their first contribution in #1744
- @IamYipi made their first contribution in #1781
- @yspbwx2010 made their first contribution in #1755
- @rustyconover made their first contribution in #1812
- @Iann29 made their first contribution in #1811
- @Kayyo321 made their first contribution in #1829
- @effulgentsia made their first contribution in #1804
- @theaddonn made their first contribution in #1840
- @wleeaf made their first contribution in #1844
- @Chieler made their first contribution in #1832
Full Changelog: v0.17.0...v0.18.0