]> git.kaiwu.me - quickjs.git/commitdiff
new release
authorFabrice Bellard <fabrice@bellard.org>
Sat, 13 Jan 2024 10:16:02 +0000 (11:16 +0100)
committerFabrice Bellard <fabrice@bellard.org>
Sat, 13 Jan 2024 10:16:02 +0000 (11:16 +0100)
Changelog
VERSION
doc/quickjs.texi

index 0ced9956db31c43783b300a60fec3a17a40b31a2..944d96ac92dd539b1e16d8f74636731961370b9f 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,22 @@
+2024-01-13:
+
+- 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.getpid() and os.now()
+- added cosmopolitan build
+- misc bug fixes
+
 2023-12-09:
 
 - added Object.hasOwn, {String|Array|TypedArray}.prototype.at,
diff --git a/VERSION b/VERSION
index 08d122201dcfd503f5acb83c2d700076da735cc4..e89de35f2d60d0369119c171a732c8e6af21db5e 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2023-12-09
+2024-01-13
index b064e7da5e13e38f06d585c90430031c5e07b52a..898d46c82d023a831d3e6e8a630521db573d7d64 100644 (file)
@@ -19,9 +19,9 @@
 
 @chapter Introduction
 
-QuickJS is a small and embeddable Javascript engine. It supports the
-ES2020 specification
-@footnote{@url{https://tc39.es/ecma262/}}
+QuickJS is a small and embeddable Javascript engine. It supports most of the
+ES2023 specification
+@footnote{@url{https://tc39.es/ecma262/2023 }}
 including modules, asynchronous generators, proxies and BigInt.
 
 It supports mathematical extensions such as big decimal float float
@@ -34,14 +34,14 @@ and operator overloading.
 
 @item Small and easily embeddable: just a few C files, no external dependency, 210 KiB of x86 code for a simple ``hello world'' program.
 
-@item Fast interpreter with very low startup time: runs the 69000 tests of the ECMAScript Test Suite@footnote{@url{https://github.com/tc39/test262}} in about 95 seconds on a single core of a desktop PC. The complete life cycle of a runtime instance completes in less than 300 microseconds.
+@item Fast interpreter with very low startup time: runs the 77000 tests of the ECMAScript Test Suite@footnote{@url{https://github.com/tc39/test262}} in less than 2 minutes on a single core of a desktop PC. The complete life cycle of a runtime instance completes in less than 300 microseconds.
 
-@item Almost complete ES2020 support including modules, asynchronous
-generators and full Annex B support (legacy web compatibility). Many
-features from the upcoming ES2021 specification
-@footnote{@url{https://tc39.github.io/ecma262/}} are also supported.
+@item Almost complete ES2023 support including modules, asynchronous
+generators and full Annex B support (legacy web compatibility). Some
+features from the upcoming ES2024 specification
+@footnote{@url{https://tc39.es/ecma262/}} are also supported.
 
-@item Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2020 features.
+@item Passes nearly 100% of the ECMAScript Test Suite tests when selecting the ES2023 features.
 
 @item Compile Javascript sources to executables with no external dependency.
 
@@ -270,9 +270,9 @@ about 100 seconds).
 
 @section Language support
 
-@subsection ES2020 support
+@subsection ES2023 support
 
-The ES2020 specification is almost fully supported including the Annex
+The ES2023 specification is almost fully supported including the Annex
 B (legacy web compatibility) and the Unicode related features.
 
 The following features are not supported yet:
@@ -281,6 +281,10 @@ The following features are not supported yet:
 
 @item Tail calls@footnote{We believe the current specification of tails calls is too complicated and presents limited practical interests.}
 
+@item WeakRef and FinalizationRegistry objects
+
+@item Symbols as WeakMap keys
+
 @end itemize
 
 @subsection ECMA402
@@ -1075,7 +1079,7 @@ stack holds the Javascript parameters and local variables.
 @section RegExp
 
 A specific regular expression engine was developed. It is both small
-and efficient and supports all the ES2020 features including the
+and efficient and supports all the ES2023 features including the
 Unicode properties. As the Javascript compiler, it directly generates
 bytecode without a parse tree.
 
@@ -1083,9 +1087,6 @@ Backtracking with an explicit stack is used so that there is no
 recursion on the system stack. Simple quantifiers are specifically
 optimized to avoid recursions.
 
-Infinite recursions coming from quantifiers with empty terms are
-avoided.
-
 The full regexp library weights about 15 KiB (x86 code), excluding the
 Unicode library.