quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

Changelog (4608B)


      1 2024-01-13:
      2 
      3 - top-level-await support in modules
      4 - allow 'await' in the REPL
      5 - added Array.prototype.{with,toReversed,toSpliced,toSorted} and
      6 TypedArray.prototype.{with,toReversed,toSorted}
      7 - added String.prototype.isWellFormed and String.prototype.toWellFormed
      8 - added Object.groupBy and Map.groupBy
      9 - added Promise.withResolvers
     10 - class static block
     11 - 'in' operator support for private fields
     12 - optional chaining fixes
     13 - added RegExp 'd' flag
     14 - fixed RegExp zero length match logic
     15 - fixed RegExp case insensitive flag
     16 - added os.sleepAsync(), os.getpid() and os.now()
     17 - added cosmopolitan build
     18 - misc bug fixes
     19 
     20 2023-12-09:
     21 
     22 - added Object.hasOwn, {String|Array|TypedArray}.prototype.at,
     23   {Array|TypedArray}.prototype.findLast{Index}
     24 - BigInt support is enabled even if CONFIG_BIGNUM disabled
     25 - updated to Unicode 15.0.0
     26 - misc bug fixes
     27 
     28 2021-03-27:
     29 
     30 - faster Array.prototype.push and Array.prototype.unshift
     31 - added JS_UpdateStackTop()
     32 - fixed Windows console
     33 - misc bug fixes
     34 
     35 2020-11-08:
     36 
     37 - improved function parameter initializers
     38 - added std.setenv(), std.unsetenv() and std.getenviron()
     39 - added JS_EvalThis()
     40 - misc bug fixes
     41 
     42 2020-09-06:
     43 
     44 - added logical assignment operators
     45 - added IsHTMLDDA support
     46 - faster for-of loops
     47 - os.Worker now takes a module filename as parameter
     48 - qjsc: added -D option to compile dynamically loaded modules or workers
     49 - misc bug fixes
     50 
     51 2020-07-05:
     52 
     53 - modified JS_GetPrototype() to return a live value
     54 - REPL: support unicode characters larger than 16 bits
     55 - added os.Worker
     56 - improved object serialization
     57 - added std.parseExtJSON
     58 - misc bug fixes
     59 
     60 2020-04-12:
     61 
     62 - added cross realm support
     63 - added AggregateError and Promise.any
     64 - added env, uid and gid options in os.exec()
     65 - misc bug fixes
     66 
     67 2020-03-16:
     68 
     69 - reworked error handling in std and os libraries: suppressed I/O
     70   exceptions in std FILE functions and return a positive errno value
     71   when it is explicit
     72 - output exception messages to stderr
     73 - added std.loadFile(), std.strerror(), std.FILE.prototype.tello()
     74 - added JS_GetRuntimeOpaque(), JS_SetRuntimeOpaque(), JS_NewUint32()
     75 - updated to Unicode 13.0.0
     76 - misc bug fixes
     77 
     78 2020-01-19:
     79 
     80 - keep CONFIG_BIGNUM in the makefile
     81 - added os.chdir()
     82 - qjs: added -I option
     83 - more memory checks in the bignum operations
     84 - modified operator overloading semantics to be closer to the TC39
     85   proposal
     86 - suppressed "use bigint" mode. Simplified "use math" mode
     87 - BigDecimal: changed suffix from 'd' to 'm'
     88 - misc bug fixes
     89 
     90 2020-01-05:
     91 
     92 - always compile the bignum code. Added '--bignum' option to qjs.
     93 - added BigDecimal
     94 - added String.prototype.replaceAll
     95 - misc bug fixes
     96 
     97 2019-12-21:
     98 
     99 - added nullish coalescing operator (ES2020)
    100 - added optional chaining (ES2020)
    101 - removed recursions in garbage collector
    102 - test stack overflow in the parser
    103 - improved backtrace logic
    104 - added JS_SetHostPromiseRejectionTracker()
    105 - allow exotic constructors
    106 - improved c++ compatibility
    107 - misc bug fixes
    108 
    109 2019-10-27:
    110 
    111 - added example of C class in a module (examples/test_point.js)
    112 - added JS_GetTypedArrayBuffer()
    113 - misc bug fixes
    114 
    115 2019-09-18:
    116 
    117 - added os.exec and other system calls
    118 - exported JS_ValueToAtom()
    119 - qjsc: added 'qjsc_' prefix to the generated C identifiers
    120 - added cross-compilation support
    121 - misc bug fixes
    122 
    123 2019-09-01:
    124 
    125 - added globalThis
    126 - documented JS_EVAL_FLAG_COMPILE_ONLY
    127 - added import.meta.url and import.meta.main
    128 - added 'debugger' statement
    129 - misc bug fixes
    130 
    131 2019-08-18:
    132 
    133 - added os.realpath, os.getcwd, os.mkdir, os.stat, os.lstat,
    134   os.readlink, os.readdir, os.utimes, std.popen
    135 - module autodetection
    136 - added import.meta
    137 - misc bug fixes
    138 
    139 2019-08-10:
    140 
    141 - added public class fields and private class fields, methods and
    142   accessors (TC39 proposal)
    143 - changed JS_ToCStringLen() prototype
    144 - qjsc: handle '-' in module names and modules with the same filename
    145 - added std.urlGet
    146 - exported JS_GetOwnPropertyNames() and JS_GetOwnProperty()
    147 - exported some bigint C functions
    148 - added support for eshost in run-test262
    149 - misc bug fixes
    150 
    151 2019-07-28:
    152 
    153 - added dynamic import
    154 - added Promise.allSettled
    155 - added String.prototype.matchAll
    156 - added Object.fromEntries
    157 - reduced number of ticks in await
    158 - added BigInt support in Atomics
    159 - exported JS_NewPromiseCapability()
    160 - misc async function and async generator fixes
    161 - enabled hashbang support by default
    162 
    163 2019-07-21:
    164 
    165 - updated test262 tests
    166 - updated to Unicode version 12.1.0
    167 - fixed missing Date object in qjsc
    168 - fixed multi-context creation
    169 - misc ES2020 related fixes
    170 - simplified power and division operators in bignum extension
    171 - fixed several crash conditions
    172 
    173 2019-07-09:
    174 
    175 - first public release