变化

njs 0.8.9 的更改

发布日期: 14 一月 2025

nginx 模块:

  • 错误修正:删除了每个服务器的额外 VM 创建。 以前,当js_importHTTPStream 块中声明,则会为每个服务器块创建一个额外的 VM 实例副本。 这不是必需的,并且对于具有许多 server 块。 此问题在 0.8.6 中引入,并且是 仅在 0.8.7 中部分修复了位置块的问题。

核心:

  • 特征: 为 QuickJS 引擎实施了 fs

njs 0.8.8 的更改

发布日期: 10 十二月 2024

nginx 模块:

核心:

  • 特征: 为 QuickJS 引擎实现的 process 对象

  • 特征: 实现了 process.kill() 方法。

  • 错误修正:修复了 libxml2 2.13 的 XML 测试 以及后来。

  • 修正:修复了 Promise 被继承时 Promise 解析的问题。

  • 修正:修复了克隆 VM 中的绝对范围。

njs 0.8.7 的更改

发布日期: 22 10月 2024

nginx 模块:

  • 修正:消除了不必要的 VM 创建。 以前,njs 消耗 memory 与 nginx 位置的数量成正比。 该问题在 0.8.6 中引入。

  • 改进:为 js_body_filter 添加了严格的语法验证。

  • 改进:改进了模块加载失败的错误消息。

核心:

  • 特点:已实现fs.readlinkSync().

  • 改进:实现了惰性堆栈符号化。

  • Bugfix:修复了 heap-buffer-overflow 中的Buffer.prototype.indexOf(). 该问题在 0.8.6 中引入。

  • Bugfix: 修复Buffer.prototype.lastIndexOf()当 'from' 为 提供。

njs 0.8.6 的更改

发布日期: 02 10月 2024

nginx 模块:

  • 特征: 引入了 QuickJS 引擎。

  • 特征: 添加可选nocacheflag 的js_setHTTP Stream 的指令。 感谢 Thomas P.

  • 特征: 在 HTTP 模块中暴露了捕获组变量。 感谢 Thomas P.

核心:

  • 特征: 添加Buffer模块。

  • 错误修正: 修复了函数中空 labelled 语句的处理。

  • 错误修正: 固定Function调用 Null 时 Constructor Handling 参数。

  • 错误修正: 固定Buffer.prototype.writeInt8()和朋友。

  • 错误修正: 固定Buffer.prototype.writeFloat()和朋友。

  • 错误修正: 固定Buffer.prototype.lastIndexOf().

  • 错误修正: 固定Buffer.prototype.write().

  • 错误修正: 修复了错误创建中可能未初始化的警告。

  • 错误修正: 固定ctx.codepointUTF-8 解码中的初始化。

  • 错误修正: 固定length初始化Array.prototype.pop().

  • 错误修正: 固定处理encodearg 在fs.readdir()fs.realpath().

njs 0.8.5 的更改

发布日期: 25 六月 2024

nginx 模块:

核心:

  • 特征: 添加zlibmodule 的QuickJS发动机。

  • 错误修正: 固定zlib.inflate().

  • 错误修正: 固定String.prototype.replaceAll()替换为 0 长度的参数。

  • 错误修正: 固定retval中异常后的处理Array.prototype.toSpliced(),Array.prototype.toReversed(),Array.prototype.toSorted().

  • 错误修正: 固定RegExp.prototype[@@replace]()带替换 包含 和 带有 Unicode 字符的字符串。$'$`

  • 错误修正: 修复了decodeURI()decodeURIComponent().

  • 错误修正: 修复了参数范围的跟踪。

  • 错误修正: 修复了 中的整数溢出Date.parse().

njs 0.8.4 的更改

发布日期: 16 四月 2024

nginx 模块:

  • 特征: 这Serverheader for outgoing header 可以设置。

  • 起色: 验证 URI 和 args 参数r.subrequest().

  • 起色: 检查重复的 js_set 变量。

  • 错误修正: 固定clear()没有超时的共享字典的方法 在 0.8.3 中引入。

  • 错误修正: 固定r.send()没有超时的共享字典的方法 跟Buffer论点。

核心:

  • 特征: 添加QuickJSCLI 中的 engine 支持。

  • 错误修正: 固定atob()带非衬垫base64字符串。

njs 0.8.3 的变化

发布日期: 07 二月 2024

nginx 模块:

核心:

  • 错误修正: 使用 libxml2 2.12 修复构建 以及后来。

  • 错误修正: 固定Dateoverflows 的构造函数 和NaN值。

  • 错误修正: 固定下溢querystring.parse().

  • 错误修正: 修复了潜在的缓冲区过读String.prototype.match().

  • 错误修正: 固定解析for-in循环。

  • 错误修正: 固定解析 没有数字的十六进制、八进制和二进制文本。

njs 0.8.2 的变化

发布日期: 24 10月 2023

nginx 模块:

核心:

  • 特征: 扩展fs模块。 添加fs.existsSync().

  • 错误修正: 固定xml模块。 中的 XML 异常处理中断xml.parse()方法已修复。

  • 错误修正: 固定Regexp.prototype.exec()使用全局 regexp 和 Unicode 输入。

njs 0.8.1 的更改

发布日期: 12 九月 2023

nginx 模块:

核心:

  • 错误修正: 修复了 Key 的顺序错误Object.getOwnPropertyNames().

njs 0.8.0 的变化

发布日期: 06 七月 2023

nginx 模块:

核心:

  • 改变: 本机方法由retval论点。 此更改破坏了与 njs 的 C 扩展的兼容性 要求修改代码。

  • 改变: 删除了不合规的已弃用 String 方法。 删除了以下方法:String.bytesFrom(),String.prototype.fromBytes(),String.prototype.fromUTF8(),String.prototype.toBytes(),String.prototype.toUTF8(),String.prototype.toString(encoding).

  • 改变: 删除了对使用 GNU readline 构建的支持。

  • 特征: 添加了符合 ES13 的Array方法:Array.from(),Array.prototype.toSorted(),Array.prototype.toSpliced(),Array.prototype.toReversed().

  • 特征: 添加了符合 ES13 的TypedArray方法:%TypedArray%.prototype.toSorted(),%TypedArray%.prototype.toSpliced(),%TypedArray%.prototype.toReversed().

  • 特征: 添加CryptoKey属性。 添加了以下属性:algorithm,extractable,type,usages.

  • 错误修正: 固定retvalсrypto.getRandomValues().

  • 错误修正: 修复了使用函数表达式计算属性名称的计算。

  • 错误修正: 修复了在数组中声明的函数表达式的隐式名称。

  • 错误修正: 固定解析for-in循环。

  • 错误修正: 固定Date.parse()使用 ISO-8601 格式和 UTC 时间偏移量。

njs 0.7.12 的更改

发布日期: 10 四月 2023

nginx 模块:

核心:

  • 特征: 添加Hash.copy()方法

  • 特征: 新增 zlib 模块。

  • 起色: 添加了对export {name as default}陈述。

  • 错误修正: 固定Number构造函数。

njs 0.7.11 的更改

发布日期: 09 三月 2023

nginx 模块:

  • 错误修正: 为 dynamic 模块添加了缺少与 libxml2 的链接。 该错误是在 0.7.10 中引入的。

核心:

  • 特征: 添加了 XMLNode API 以修改 XML 文档。

  • 改变: 删除XML_PARSE_DTDVALID在解析 XML 文档期间 由于安全隐患。 该漏洞在 0.7.10 中引入。 什么时候XML_PARSE_DTDVALID启用时,libxml2 将解析并执行 XML 文档中存在的外部实体。

  • 错误修正: 修复了awaitin 参数。

  • 错误修正: 固定Error()实例转储 当”name“ prop 不是原始的。

  • 错误修正: fixed 数组实例替换为getterproperty dumping (属性转储)。

  • 错误修正: 固定njs_object_property()NJS_WHITEOUT性能。

  • 错误修正: 固定func实例转储 替换为”name“作为 getter。

  • 错误修正: 修复了将堆栈附加到 Error 对象的问题。

  • 错误修正: 固定String.prototype.replace()带替换 包含 “”、“”、“”。$'$`

njs 0.7.10 的更改

发布日期: 07 二月 2023

nginx 模块:

核心:

  • 特征: 在 CLI 中添加了 signal 支持。

  • 特征: 添加xml模块。

  • 特征: 扩展了对 WebCrypto 中对称密钥和非对称密钥的支持。 尤其是JWK格式importKey()已添加。

  • 特征: 扩展了对 WebCrypto API 中对称和非对称密钥的支持。 尤其是JWK格式importKey()已添加。generateKey()exportKey()也实施了。

  • 特征: 添加String.prototype.replaceAll().

  • 错误修正: 固定for(expr1;条件语法错误处理。

  • 错误修正:Object.values()Object.entries()与外部对象。

  • 错误修正: 固定RegExp.prototype[@@replace]().

njs 0.7.9 的更改

发布日期: 17 十一月 2022

nginx 模块:

  • 错误修正: 固定Fetch响应原型重新初始化。 当至少一个js_import指令在 HTTPStream 中声明,ngx.fetch()在 Stream 中返回了不适当的响应。 该错误是在 0.7.7 中引入的。

核心:

  • 错误修正: 固定String.prototype.replace(re)如果re.exec()返回非平面数组。

  • 错误修正: 固定Array.prototype.fill()什么时候start对象更改this.

  • 错误修正: 修复了 的描述fs.mkdir()fs.rmdir()方法。

  • 错误修正: 固定%TypedArray%.prototype.set(s)什么时候s元素更改this.

  • 错误修正: 固定Array.prototype.splice(s,d)什么时候d调整this在 EVAL 期间。

  • 错误修正: 固定for-in循环。

njs 0.7.8 的变化

发布日期: 25 十月 2022

nginx 模块:

核心:

  • 特征: 添加namefunction 对象的 instance 属性。

  • 特征: 添加njs.memoryStats对象。

  • 错误修正: 固定String.prototype.trimEnd()使用 Unicode 字符串。

  • 错误修正: 固定Object.freeze()使用快速数组。

  • 错误修正: 固定Object.defineProperty()使用快速数组。

  • 错误修正: 固定asynctoken 作为对象的属性名称。

  • 错误修正: 修复了 key 修改 base binding 时的属性 set 指令。

  • 错误修正: 固定的复杂赋值。

  • 错误修正: 修复了对未处理的 Promise 拒绝的处理。

  • 错误修正: 修复 process.env 当存在重复的环境变量时。

  • 错误修正: 修复了模块中的双重声明检测。

  • 错误修正: 根据规范修复了 Bound 函数调用。

  • 错误修正: 固定 的 break 标签if陈述。

  • 错误修正: 修复了带标签的空语句。

njs 0.7.7 的更改

发布日期: 30 八月 2022

nginx 模块:

核心:

njs 0.7.6 的更改

发布日期: 19 七月 2022

nginx 模块:

  • 特征: 改进r.args{}对象。 添加了对具有相同键的多个参数的支持。 添加了键的区分大小写。 键和值现在是百分比解码的。

  • 错误修正: 固定r.headersOut{}setter 用于特殊标头。

核心:

  • 特征: 添加Symbol.for()Symbol.keyfor().

  • 特征: 添加atob()btoa()来自 WHATWG 规格。

  • 错误修正: 修复了较大的非十进制文本。

  • 错误修正: 修复了 Unicode 参数修剪parseInt().

  • 错误修正: 固定break指令 在try-catch块。

  • 错误修正: 固定asyncCLI 中的 function 声明。

njs 0.7.5 的更改

发布日期: 21 六月 2022

nginx 模块:

  • 改变: 适应 nginx 标头结构的变化。

  • 错误修正: 固定r.headersOut{}value 不存在时的特殊 getter。

  • 改变: 返回 的 undefined 值而不是空字符串Content-Type当标头不存在时。

核心:

  • 错误修正: 修复了捕获从 awaited 函数引发的异常。

  • 错误修正: fixed function value 初始化。

  • 错误修正: 修复了 await 失败时的解释器。

  • 错误修正: 修复了在迭代时更改源数组时的 typed-array 构造函数。

  • 修正:修复String.prototype.replace()使用字节字符串。

  • 错误修正: 修复了生成字节字符串的模板文本。

  • 错误修正: 修复了具有稀疏数组的数组迭代器。

  • 错误修正: 修复了将平面数组转换为慢速数组时的内存释放问题。

  • 错误修正: 正确处理NJS_DECLINEpromise本机函数。

  • 错误修正: 修复了在 中处理类似数组的对象Promise.all()和朋友。

njs 0.7.4 的变化

发布日期: 24 五月 2022

nginx 模块:

核心:

  • 特征: 添加njs.version_number财产。

  • 特征: 添加了与 WebCrypto API 的 BoringSSL 的兼容性。

  • 错误修正: 固定Array.prototype.sort()当 arr 大小在 Comparator 中发生变化时。

  • 错误修正: 固定Array.prototype.slice()用慢this论点。

  • 错误修正: 的固定聚合方法Promisector 替换为类似数组的对象。

  • 错误修正: 固定String.prototype.lastIndexOf()其中 Unicode 字符串为this.

  • 错误修正: 固定JSON.parse()什么时候reviver函数。

  • 错误修正: 固定Object.defineProperty()当提供递归描述符时。

  • 错误修正: 固定Array.prototype.fill()对于类型化数组。

  • 错误修正: 根据规范使函数表达式绑定不可变。

  • 错误修正: 修复了Object.defineProperty().

njs 0.7.3 的更改

发布日期: 12 四月 2022

核心:

  • 特征: 添加了对模块解析回调的支持。 此功能允许主机环境控制 导入的模块的加载方式。

  • 错误修正: 修复了遍历导入的用户模块时的回溯。

  • 错误修正: 固定Array.prototype.concat()什么时候this是一个慢速数组。

  • 错误修正: 从 awaited 帧中固定帧分配。

  • 错误修正: 修复了大型数组文本的分配。

  • 错误修正: 固定 interpreter whentoString转换失败。

njs 0.7.2 的更改

发布日期: 25 一月 2022

核心:

  • 错误修正: 固定Array.prototype.join()当 array 在迭代时被更改时。

  • 错误修正: 固定Array.prototype.slice()当 array 在迭代时被更改时。

  • 错误修正: 固定Array.prototype.concat()当 array 在迭代时被更改时。

  • 错误修正: 固定Array.prototype.reverse()当 array 在迭代时被更改时。

  • 错误修正: 固定Buffer.concat()替换为子数组。 感谢 Sylvain Etienne。

  • 错误修正: 固定 在 resolve promise 时键入 confusion bug。

  • 错误修正: 固定Function.prototype.apply()具有大型数组参数。

  • 错误修正: 固定递归async函数调用。

  • 错误修正: 修复了函数重新声明。 该 bug 是在 0.7.0 中引入的。

njs 0.7.1 的更改

发布日期: 28 十二月 2021

nginx 模块:

  • 改变: js_include 指令 自 0.4.0 已删除以来已废弃。

  • 改变: PCRE/PCRE2 特定代码已移至模块。 这可确保 njs 使用与 nginx 相同的 RegExp 库。

核心:

  • 错误修正: 固定decodeURI()decodeURIComponent()字节字符串无效。 该错误是在 0.4.3 中引入的。

  • 错误修正: 修复了 heap-use-after-freeawait框架。 该 bug 是在 0.7.0 中引入的。

  • 错误修正: 固定 WebCryptosign()verify()方法。

  • 错误修正: 修复了 RegExp 匹配失败时引发的异常。 该错误是在 0.1.15 中引入的。

  • 错误修正: 修复了捕获引发的异常try块 之async功能。 该 bug 是在 0.7.0 中引入的。

  • 错误修正: 固定执行async函数。 该 bug 是在 0.7.0 中引入的。

  • 错误修正: 修复了交互模式开启时 CLI 中的函数重新声明。 该错误是在 0.6.2 中引入的。

  • 错误修正: 固定typeof运算符替换为DataView对象。

  • Bugfix: 消除了Buffer.from().

njs 0.7.0 的更改

发布日期: 19 10月 2021

nginx 模块:

  • 特征: 添加了对 Fetch APIHTTPS 支持。

  • 特征: 添加setReturnValue()method 的 HTTP 和 Stream 的 HTTP 和 Stream 的 API 请求。

核心:

  • 特征: 介绍Async/Await实现。

  • 特征: 添加了 WebCrypto API 实现。

  • 错误修正: 修复了对已声明函数的闭包的复制。 该错误是在 0.6.0 中引入的。

  • 错误修正: 固定未处理promisehandle 事件中的 rejection。

  • 错误修正: 修复了 Fetch API 中的 Response.headers getter。

njs 0.6.2 的更改

发布日期: 31 八月 2021

nginx 模块:

  • 错误修正: 修复了 CPU 占用问题js_filter在两个方向上都注册。

核心:

  • 特征: 介绍AggregateError实现。

  • 特征: 添加剩余Promiseconstructor 方法。 添加了以下方法:Promise.all(),Promise.allSettled(),Promise.any(),Promise.race().

  • 起色: 从 Code generator 中删除了递归。

  • 错误修正: 修复了没有绑定标识符的 REST 参数解析问题。

  • 错误修正: 修复了 的 resolve/reject 回调Promise.prototype.finally().

  • 错误修正: 固定%TypedArray%.prototype.join()带有分离的缓冲区。

  • 错误修正: 修复了交互式 shell 中的内存泄漏。

njs 0.6.1 的更改

发布日期: 29 六月 2021

  • 错误修正: 固定RegExpBuiltinExec()仅使用 UTF-8 正则表达式。 该错误是在 0.4.2 中引入的。

  • 错误修正: 修复了使用非赋值表达式解析 export default 声明的问题。 感谢 Artem S. Povalyukhin。

njs 0.6.0 的更改

发布日期: 15 六月 2021

核心:

  • 特征: 添加letconst声明支持。

  • 特征: 添加RegExp.prototype[Symbol.split].

  • 特征: 添加了对 RegExp 的粘性标志支持。

  • 错误修正: 修复了 中的 heap-buffer-overflowString.prototype.lastIndexOf().

  • 错误修正: 固定RegExp.prototype.test()根据规范。

  • 错误修正: 固定String.prototype.split()根据规范。

  • 错误修正: 修复了在跟踪被拒绝的 Promise 时 use-of-uninitialized-value。

  • 错误修正: 固定njs.dump()对于具有循环引用的对象。

njs 0.5.3 的更改

发布日期: 30 三月 2021

nginx 模块:

  • 特征: 添加了js_varHTTP Stream 的指令。

njs 0.5.2 的变化

发布日期: 09 三月 2021

nginx 模块:

核心:

  • 特征: 添加njs.on (exit) 回调支持。

  • 错误修正: 修复了 Not Extensible 对象的属性描述符重用问题。 感谢 Artem S. Povalyukhin。

  • 错误修正: 固定Object.freeze()和朋友 根据规范。 感谢 Artem S. Povalyukhin。

  • 错误修正: 固定Function()在 CLI 模式下。

  • 错误修正: 固定for-in类型化数组值的迭代。 感谢 Artem S. Povalyukhin。

njs 0.5.1 的更改

发布日期: 16 二月 2021

nginx 模块:

核心:

  • 错误修正: 修复了安全模式旁路Function构造 函数。

  • 错误修正: 固定Date.prototype.toISOString()日期值无效。

njs 0.5.0 的变化

发布日期: 01 十二月 2020

nginx 模块:

核心:

  • 特征: 添加TypeScript内置模块的定义。 感谢 Jakub Jirutka。

  • 特征: 跟踪未处理promise拒绝。

  • 特征: 添加了初始迭代器支持。 感谢 Artem S. Povalyukhin。

  • 起色:TypeScript定义被重构。 感谢 Jakub Jirutka。

  • 起色: 添加了对Object.prototype.valueOf()Buffer.from().

  • 错误修正: 修复了 heap-use-after-freeJSON.parse().

  • 错误修正: 修复了 heap-use-after-freeJSON.stringify().

  • 错误修正: 固定JSON.stringify()对于通过 getter 调整大小的数组。

  • 错误修正: 修复了 的 heap-buffer-overflowRegExp.prototype[Symbol.replace].

  • 错误修正: 的固定返回值Buffer.prototype.write*功能。

  • 错误修正: 固定querystring.stringify(). 感谢 Artem S. Povalyukhin。

  • 错误修正: 修复了 的 catch 处理程序Promise.prototype.finally().

  • 错误修正: 固定querystring.parse().

njs 0.4.4 的变化

发布日期: 29 九月 2020

nginx 模块:

  • 错误修正: 固定位置合并。

  • 错误修正: 固定r.httpVersion对于 HTTP/2。

核心:

  • 特征: 添加了对数字分隔符 (ES12) 的支持。

  • 特征: 添加了%TypedArray%.prototype. 添加了以下方法:every(),filter(),find(),findIndex(),forEach(),includes(),indexOf(),lastIndexOf(),map(),reduce(),reduceRight(),reverse(),some().

  • 特征: 添加%TypedArray%其余方法。 添加了以下方法:from(),of().

  • 特征: 添加DataView对象。

  • 特征: 添加Buffer对象实现。

  • 特征: 添加了对ArrayBufferTextDecoder.prototype.decode()

  • 特征: 添加了对Buffer对象在crypto方法。

  • 特征: 添加了对Buffer对象在fs方法。

  • 改变:Hash.prototype.digest()Hmac.prototype.digest()现在返回一个Buffer实例而不是字节字符串 不提供编码。

  • 改变:fs.readFile()和朋友现在返回一个Buffer实例 而不是字节字符串(如果未提供编码)。

  • 错误修正: 固定功能prototypeproperty 处理程序。

  • 错误修正: 固定功能constructorproperty 处理程序。

  • 错误修正: 固定String.prototype.indexOf()对于字节字符串。

  • 错误修正: 固定RegExpBuiltinExec()使用全局标志和字节字符串。

  • 错误修正: 固定RegExp.prototype[Symbol.replace]When replacement 值是一个函数。

  • 错误修正: 固定TextDecoder.prototype.decode()使用非零TypedArray抵消。

njs 0.4.3 的变化

发布日期: 11 八月 2020

核心:

  • 特征: 添加Query String模块。

  • 特征: 改进fs.mkdir()以支持递归目录创建。 感谢 Artem S. Povalyukhin。

  • 特征: 改进fs.rmdir()以支持递归目录删除。 感谢 Artem S. Povalyukhin。

  • 特征: 根据 WHATWG 编码规范引入了 UTF-8 解码器。

  • 特征: 添加TextDecoder()TextEncoder()实现。

  • 错误修正: 修复了解析不带分号的 return 语句。

  • 错误修正: 固定njs_number_to_int32()适用于 big-endian 平台。

  • 错误修正: 修复了 big-endian 平台上的单元测试。

  • 错误修正: 修复了使用 “” 字符解析的 regexp 文本。=

  • 错误修正: 修复了赋值作中的 pre/post 递增/递减。

njs 0.4.2 的更改

发布日期: 07 七月 2020

核心:

  • 特征: 添加RegExp.prototype[Symbol.replace].

  • 特征: 引入了 Line Level Backtrace。

  • 特征: 添加%TypedArray%.prototype.sort().

  • 特征: 扩展fs模块。 添加mkdir(),readdir(),rmdir(), 和朋友。

  • 起色: 解析器重构。

  • 错误修正: 修复了 HTTP 标头的 TypedScript API 描述。

  • 错误修正: 修复了 的 TypedScript API 描述NjsByteString类型。

  • 错误修正: 固定String.prototype.repeat()根据规范。

  • 错误修正: 固定String.prototype.replace()根据规范。

  • 错误修正: 修复了 regexp 文字的标志解析。

  • 错误修正: 修复了 generator 中全局对象的索引生成。

  • 错误修正: 固定%TypedArray%.prototype.copyWithin()具有非零字节偏移量。

  • 错误修正: 固定Array.prototype.splice()对于稀疏数组。

  • 错误修正: 固定Array.prototype.reverse()对于稀疏数组。

  • 错误修正: 固定Array.prototype.sort()对于稀疏数组。

njs 0.4.1 的变化

发布日期: 19 五月 2020

nginx 模块:

核心:

  • 错误修正: 固定Array.prototype.slice()对于稀疏数组。

njs 0.4.0 的更改

发布日期: 23 四月 2020

nginx 模块:

核心:

  • 特征: 在 CLI 中添加了脚本参数支持。

  • 特征: 将 externals 值转换为原生 js 对象。

  • 错误修正: 修复了 NULL 指针取消引用 在__proto__property 处理程序。

  • 错误修正: 修复了脚本末尾对 no-newline 的处理。

  • 错误修正: 固定RegExp()构造 函数 具有空模式和非空标志。

  • 错误修正: 固定String.prototype.replace()when 函数返回 non-string。

  • 错误修正: 修复了 中伪文件的读取fs.

njs 0.3.9 的变化

发布日期: 03 三月 2020

nginx 模块:

  • 特征: 添加了 detached 模式r.subrequest(). 对分离的子请求的响应将被忽略。 与普通子请求不同, 可以在变量处理程序中创建分离的子请求。

核心:

  • 特征: 添加promisesAPI 用于fs模块。 感谢 Artem S. Povalyukhin。

  • 特征: 扩展fs模块。 添加access(),symlink(),unlink(),realpath(), 和朋友。 感谢 Artem S. Povalyukhin。

  • 起色: 引入了节省内存的普通数组。

  • 起色: 词法分析器重构。

  • 错误修正: 修复了回溯跟踪中原生函数的匹配。

  • 错误修正: 修复了 中的回调调用fs模块。 感谢 Artem S. Povalyukhin。

  • 错误修正: 固定Object.getOwnPropertySymbols().

  • 错误修正: 修复了 中的 heap-buffer-overflownjs_json_append_string().

  • 错误修正: 固定encodeURI()decodeURI()根据规范。

  • 错误修正: 固定Number.prototype.toPrecision().

  • 错误修正: 修复了 space 参数的处理JSON.stringify().

  • 错误修正: 固定JSON.stringify()Number()String()对象。

  • 错误修正: 修复了 Unicode 转义JSON.stringify()根据规格。

  • 错误修正: 修复了非原生模块导入问题。 感谢洪志道 (Hong Zhi Dao)。

  • 错误修正: 固定njs.dump()使用Date()实例。

njs 0.3.8 的变化

发布日期: 21 一月 2020

nginx 模块:

  • 特征: 添加Promise支持r.subrequest(). 如果未提供回调,r.subrequest()返回一个普通的Promise对象 解析为 SubRequest 响应对象。

  • 改变:r.parentproperty 处理程序现在返回undefined而不是在父对象不可用时引发异常。

核心:

  • 特征: 添加Promise支持。 根据规范实施,没有:Promise.all(),Promise.allSettled(),Promise.race().

  • 特征: 添加了初始类型化数组支持。 感谢 Tiago Natel de Moura。

  • 特征: 添加ArrayBuffer支持。 感谢 Tiago Natel de Moura。

  • 特征: 添加初始Symbol支持。 感谢 Artem S. Povalyukhin。

  • 特征: 添加了对JSON.stringify().

  • 特征: 添加Object.is(). 感谢 Artem S. Povalyukhin。

  • 特征: 添加Object.setPrototypeOf(). 感谢 Artem S. Povalyukhin。

  • 特征: 引入了 Nullish 合并运算符。

  • 错误修正: 固定Object.getPrototypeOf()根据规范。

  • 错误修正: 固定Object.prototype.valueOf()根据规范。

  • 错误修正: 固定JSON.stringify()具有 unprintable values 和 replacer 功能。

  • 错误修正: 固定运算符in根据规范。

  • 错误修正: 固定Object.defineProperties()根据规范。

  • 错误修正: 固定Object.create()根据规范。 感谢 Artem S. Povalyukhin。

  • 错误修正: 固定Number.prototype.toString(radix)启用 fast-math 时。

  • 错误修正: 固定RegExp()实例属性。

  • 错误修正: 修复 Import SegFault。 感谢洪志道 (Hong Zhi Dao)。

njs 0.3.7 的更改

发布日期: 19 十一月 2019

nginx 模块:

  • 起色: 重构了外部对象的迭代。

核心:

  • 特征: 添加Object.assign().

  • 特征: 添加Array.prototype.copyWithin().

  • 特征: 在console.time().

  • 改变: 删除console.help()从 CLI。

  • 起色: 将构造函数和顶级对象移动到 Global Object 中。

  • 起色: configure 脚本的参数验证。

  • 起色: 重构了 JSON 方法。

  • 错误修正: 修复了 中的 heap-buffer-overflownjs_array_reverse_iterator()功能。 以下功能受到影响:Array.prototype.lastIndexOf(),Array.prototype.reduceRight().

  • 错误修正: 固定[[Prototype]]slot 的NativeErrors.

  • 错误修正: 固定NativeError.prototype.message性能。

  • 错误修正: 添加了this值 (value to object in)Array.prototype functions.

  • 错误修正: 修复了 的迭代器Array.prototype.find()Array.prototype.findIndex()功能。

  • 错误修正: 固定Array.prototype.includes()Array.prototype.join()undefined论点。

  • 错误修正: 固定constructor的属性HashHmac对象。

  • 错误修正: 固定__proto__getter 和 setter 的属性。

  • 错误修正: 固定Date对象字符串格式。

  • 错误修正: 固定处理NaN-0中的 argumentsMath.min()Math.max().

  • 错误修正: 固定Math.round()根据规范。

  • 错误修正: 重新实施bound功能 根据规范。

njs 0.3.6 的变化

发布日期: 22 十月 2019

nginx 模块:

核心:

  • 特征: 新增Function()支持。

  • 特征: 添加Number.prototype.toFixed().

  • 特征: 添加Number.prototype.toPrecision().

  • 特征: 添加Number.prototype.toExponential().

  • 起色: 制作prototype函数实例的属性可写。

  • 起色: 在编译时限制递归深度。

  • 起色: 将全局函数移动到全局对象。

  • 错误修正: 修复了对象字面量的原型更改。

  • 错误修正: 修复了解析 regexp 文字时的 heap-buffer-overflow。

  • 错误修正: 修复了解析数字 Literals 指数时的整数溢出问题。

  • 错误修正: 固定parseFloat().

  • 错误修正: 固定Array.prototype功能 根据规范。 修复了以下功能:every,includes,indexOf,filter,find,findIndex,forEach,lastIndexOf,map,pop,push,reduce,reduceRight,shift,some,unshift.

  • 错误修正: 修复了Object.freeze().

  • 错误修正: 固定String.prototype.replace()当第一个参数不是字符串时。

  • 错误修正: 修复了 stack-use-after-scopeArray.prototype.map().

  • 错误修正:Date.prototype.toUTCString()格式与 ES9 保持一致。

  • 错误修正: 修复了 中的缓冲区溢出Number.prototype.toString(radix).

  • 错误修正: 固定Regexp.prototype.test()对于带有反向引用的 regexp。

  • 错误修正: 固定Array.prototype.map()对于值不存在的对象。

  • 错误修正: 固定Array.prototype.pop()shift()对于稀疏对象。

  • 错误修正: 固定Date.UTC()根据规范。

  • 错误修正: 固定Date()构造 函数 根据规范。

  • 错误修正: 固定类型Date.prototype. 感谢 Artem S. Povalyukhin。

  • 错误修正: 固定Date.prototype.setTime(). 感谢 Artem S. Povalyukhin。

  • 错误修正: 修复了内置函数所需的默认参数数。

  • 错误修正: 固定callerarguments属性。 感谢 Artem S. Povalyukhin。

njs 0.3.5 的更改

发布日期: 15 八月 2019

核心:

  • 错误修正: 修复了使用require(). 该错误是在 0.3.4 中引入的。

  • 错误修正: 固定[[SetPrototypeOf]].

njs 0.3.4 的变化

发布日期: 13 八月 2019

核心:

  • 特征: 添加Object速记方法和计算属性名称。 感谢洪志道 (Hong Zhi Dao) 和 Artem S. Povalyukhin。

  • 特征: 添加了 getter/setter 文字支持。 感谢洪志道 (Hong Zhi Dao) 和 Artem S. Povalyukhin。

  • 特征: 添加fs.renameSync().

  • 特征: 添加String.prototype.trimEnd()String.prototype.trimStart().

  • 起色: 添加了 memory-sanitizer 支持。

  • 起色: Unicode 事例表已更新至版本 12.1。

  • 起色: 添加了字符串文本的 UTF8 验证。

  • 错误修正: 修复了读取 中大小为零的文件fs.readFileSync().

  • 错误修正: 扩展了String.prototype.trim().

  • 错误修正: 修复了 中使用 中未初始化的值的问题String.prototype.padStart().

  • 错误修正: 固定String.prototype.replace()$0和替换字符串。$&

  • 错误修正: 固定String.prototype.replace()对于带有 regex 参数的字节字符串。

  • 错误修正: 修复了String.prototype.replace()with regexp 参数。

  • 错误修正: 固定Array.prototype.slice()对于基元类型。

  • 错误修正: 修复了导入 module 时的 heap-buffer-overflow。

  • 错误修正: 修复了 UTF-8 字符转义。

  • 错误修正: 固定Object.values()Object.entries()对于共享对象。

  • 错误修正: 修复了 中未初始化的内存访问String.prototype.match().

  • 错误修正: 固定String.prototype.match()对于带有 regex 参数的字节字符串。

  • 错误修正: 固定Array.prototype.lastIndexOf()替换为 undefined 参数。

  • 错误修正: 固定String.prototype.substring()子字符串为空。

  • 错误修正: 修复了 中的无效内存访问String.prototype.substring().

  • 错误修正: 固定String.fromCharCode()对于码位大于65535NaN.

  • 错误修正: 固定String.prototype.toLowerCase()String.prototype.toUpperCase().

  • 错误修正: 固定Error()constructor 的 Constructor 的 API 中。

  • 错误修正: 固定in运算符,用于具有访问器描述符的值。

  • 错误修正: 固定Object.defineProperty()对于非布尔 Descriptor 属性。

  • 错误修正: 固定Error.prototype.toString()具有 UTF8 字符串属性。

  • 错误修正: 固定Error.prototype.toString()替换为 的非字符串值namemessage.

njs 0.3.3 的变化

发布日期: 25 六月 2019

nginx 模块:

  • 起色: 获取 特殊响应标头r.headersOut{}.

  • 起色: 在 中使用未知方法r.subrequest().

  • 起色: 添加了对 null 作为r.subrequest().

  • 错误修正: 修复了在 Stream Body Filter 中处理空输出链的问题。

核心:

  • 特征: 添加了对属性 getter/setter 的运行时支持。 感谢洪志道 (Hong Zhi Dao) 和 Artem S. Povalyukhin。

  • 特征: 添加processglobal 对象。

  • 特征: writable 大多数内置属性和方法。

  • 特征: 添加了Array.prototype.fill().

  • 错误修正: 修复了 中的整数溢出String.prototype.concat().

  • 错误修正: 修复了对象属性的设置。

  • 错误修正: 固定Array.prototype.toString().

  • 错误修正: 固定Date.prototype.toJSON().

  • 错误修正: 修复了覆盖内置原型的 “constructor” 属性的问题。

  • 错误修正: 修复了字符串中无效代理对的处理。

  • 错误修正: 修复了 JSON 字符串中无效代理对的处理。

  • 错误修正: 修复了 中的 heap-buffer-overflowtoUpperCase()toLowerCase().

  • 错误修正: 修复了 中转义的单独右方括号RegExp()构造 函数。

  • 错误修正: 修复了处理 RegExp 模式字符串中的零字节字符的问题。

  • 错误修正: 固定String.prototype.toBytes()对于 ASCII 字符串。

  • 错误修正: 修复了 JSON 数字的真值JSON.parse().

  • 错误修正: 修复了 中的未初始化值的使用njs_string_replace_join().

  • 错误修正: 固定parseInt('-0'). 感谢 Artem S. Povalyukhin。

njs 0.3.2 的变化

发布日期: 21 五月 2019

核心:

  • 特征: 添加了对模板文本的支持。 感谢洪志道 (Hong Zhi Dao) 和 Artem S. Povalyukhin。

  • 特征: 从命令行参数执行命令。

  • 特征: 添加了对 RegExp 的支持groups对象 (ES9)。

  • 特征: 添加了块范围的函数定义支持。

  • 特征: 添加了对使用 GNU Readline 库构建的支持。

  • 特征: 可配置length,name, 以及大多数内置方法。

  • 特征: 使所有构造函数属性都可配置。

  • 错误修正: 固定Regexp.prototype.exec()对于仅限 Unicode 的 regexp。

  • 错误修正: 固定njs_vm_value_dump()表示空字符串值。

  • 错误修正: 修复了 regexp 值参数的 RegExp 构造函数。

  • 错误修正: 修复了在迭代对象期间在原型链上行走的问题。

  • 错误修正: 修复了 中的溢出Array.prototype.concat().

  • 错误修正: 带转义字符的 UTF-8 字符串的固定长度计算。

  • 错误修正: 修复了解析代理项对显示为 UTF-16 转义序列的问题。

  • 错误修正: 修复了处理 “*” 量词的问题String.prototype.match().

  • 错误修正: 固定Date()constructor 中。

  • 错误修正: fixed 数组扩展。

  • 错误修正: 修复了 中的 heap-buffer-overflowString.prototype.replace().

  • 错误修正: 修复了 中的 heap-buffer-overflowString.prototype.lastIndexOf().

  • 错误修正: 修复了使用转义反斜杠解析的 regexp 文本 和方括号中的反斜杠。

  • 错误修正: 修复了带有单独右括号的 regexp 文字。

  • 错误修正: 修复了 uninitialized-memory-accessObject.defineProperties().

  • 错误修正: 修复了处理 “*” 量词的问题String.prototype.replace().

  • 错误修正: 固定Array.prototype.slice()对于 UTF8 无效的字节字符串。

  • 错误修正: 固定String.prototype.split()对于 UTF8 无效的字节字符串。

  • 错误修正: 修复了空块语句的处理。

njs 0.3.1 的变化

发布日期: 16 四月 2019

核心:

  • 特征: 添加了箭头函数支持。 感谢洪志道 (Hong Zhi Dao) 和 Artem S. Povalyukhin。

  • 特征: 添加Object.getOwnPropertyNames(). 感谢 Artem S. Povalyukhin。

  • 特征: 添加Object.getOwnPropertyDescriptors(). 感谢 Artem S. Povalyukhin。

  • 特征: 制作__proto__访问器描述符 之Object实例可变的。

  • 特征: 在 CLI 中添加了 shebang 支持。

  • 特征: 添加了对 CLI 中模块模式执行的支持。 在 module mode global 中,这是不可用的。

  • 错误修正: 修复了 EditLine 检测。

  • 错误修正: 固定Function.prototype.bind(). 感谢洪志道 (Hong Zhi Dao)。

  • 错误修正: 修复了函数参数重复的检查。 感谢洪志道 (Hong Zhi Dao)。

  • 错误修正: fixed 函数声明。 感谢洪志道 (Hong Zhi Dao)。

  • 起色: 与对象、变量和 函数。 感谢洪志道 (Hong Zhi Dao)。

  • 起色: 大值输出改进console.log().

  • 起色: 字符串输出在console.log()以合规的方式(没有转义和引号)。

  • 起色: 使用 ES6 版本的ToInt32(),ToUint32(),ToLength().

njs 0.3.0 的更改

发布日期: 26 三月 2019

nginx 模块:

核心:

  • 特征: 添加了初始 ES6 模块支持。 支持 default import 和 default export 语句。 感谢洪志道 (Hong Zhi Dao)。

  • 特征: 添加Object.prototype.propertyIsEnumerable().

  • 特征: 在 Disassembler 输出中报告 File Name 和 Function Name。

  • 错误修正: 修复了交互式 shell 中的函数重新声明。 感谢洪志道 (Hong Zhi Dao)。

  • 错误修正: 修复了 RegExp 文本解析。

  • 错误修正: 固定 UTF8 字符串的设置长度fs.readFileSync().

  • 错误修正: 固定nxt_file_dirname()对于没有 dir 组件的路径。

njs 0.2.8 的变化

发布日期: 26 二月 2019

nginx 模块:

  • 改变: 删除了 0.2.2 中废弃的 HTTP 请求的属性。

  • 特征: 在 中添加了对 DELETE作的支持r.headersOut{}.

  • 特征: 添加了对设置 nginx 变量的支持。

  • 错误修正: 固定r.subrequest()对于空正文值。

  • 起色: 在 中设置特殊响应标头r.headersOut{}.

核心:

  • 特征: 添加了标签支持。

  • 特征: 添加setImmediate()方法。

  • 特征: 添加了对 Object 字面量的简写属性名称的支持。

  • 错误修正: 固定Function.prototype.bind().

  • 错误修正: 修复了包含换行符的字符串文本的解析。

  • 错误修正: 修复了报告变量引用错误中的行号。

  • 错误修正: 修复了长 UTF8 字符串的创建。

  • 错误修正: 固定 在 中设置特殊响应标头String.prototype.split()对于 Unicode 字符串。

  • 错误修正: 修复了 中的 heap-buffer-overflowString.prototype.split().

  • 错误修正: 固定Array.prototype.fill(). 感谢 Artem S. Povalyukhin。

  • 起色: 重构了函数调用相关的代码。 感谢洪志道 (Hong Zhi Dao)。

  • 起色: 重构了与变量相关的代码。 感谢洪志道 (Hong Zhi Dao)。

  • 改进:解析器被重构。 感谢洪志道 (Hong Zhi Dao)。

  • 起色: 在 Exceptions 中报告 filenames。

njs 0.2.7 的变化

发布日期: 25 十二月 2018

核心:

  • 特征: REST 参数语法(不支持解构)。 感谢 Alexander Pyshchev。

  • 特征: 添加Object.entries()方法。

  • 特征: 添加Object.values()方法。

  • 起色: 代码生成器重构和简化。

  • 错误修正: 修复了自动分号插入。

  • 错误修正: 修复了 Compound Assignment 中的 assignment 表达式。

  • 错误修正: 修复了 Byte 和 UTF8 字符串的比较。

  • 错误修正: 修复了 中的迭代变量类型for-in替换为数组值。

  • 错误修正: 修复了在没有 librt 的平台上建造的问题。

  • 错误修正: 其他错误已修复。

njs 0.2.6 的变化

发布日期: 27 十一月 2018

核心:

  • 特征: 使内置原型可变。

  • 特征: 使全局对象可变。

  • 特征:console.time()console.timeEnd()方法。

  • 特征: 允许重新声明变量和函数。

  • 特征: 扩展Object.defineProperty()规范一致性。

  • 特征: 为 CLI 引入了安静模式,以处理来自 stdin 的简单表达式。

  • 特征: 引入了 Compact 形式的回溯跟踪来处理堆栈溢出。

  • 起色: 改进了各种例外情况的措辞。

  • 错误修正: 修复了 Closure 值处理。

  • 错误修正: 修复了各种值类型的相等运算符。

  • 错误修正: 固定处理thiskeyword 的 intent 调用。

  • 错误修正: 修复了 中的非对象值处理Object.keys().

  • 错误修正: 修复了内部 throw 语句的解析if陈述。

  • 错误修正: 修复了 throw 语句后换行符的解析。

  • 错误修正: 修复了 if 语句中不带换行符的语句解析。

  • 错误修正: 固定大小uint32_t溢出 在njs_array_expand().

  • 错误修正: 固定typeof算子 为object_value类型。

  • 错误修正: 其他错误已修复。

njs 0.2.5 的变化

发布日期: 30 十月 2018

nginx 模块:

  • 错误修正: 修复了 Stream 模块中待处理事件的计数问题。

  • 错误修正: 固定s.off()in stream 模块。

  • 错误修正: 修复了 中数据块的处理js_filterin stream 模块。

  • 错误修正: 固定 HTTPstatuscontentTypegetter 的 HTTP 模块。

  • 错误修正: 修复了 HTTP 模块中的 HTTP 响应和父 getter。

核心:

  • 特征: arguments 对象支持。

  • 特征: 非整数分数支持。

  • 起色: 处理 中的非数组值Array.prototype.slice().

  • 错误修正: 固定Array.prototype.lengthsetter

  • 错误修正: 固定njs_array_alloc()长度> 2**31。

  • 错误修正: 处理 int 溢出njs_array_alloc()在 32 位拱门上。

  • 错误修正: 修复了 Code Size Mismatch 错误消息。

  • 错误修正: 修复了循环中的 delete 运算符。

  • 错误修正: 固定Object.getOwnPropertyDescriptor()对于复杂对象(继承自Arraystring值)。

  • 错误修正: 固定Object.prototype.hasOwnProperty()对于非对象属性

  • 错误修正: 其他错误已修复。

njs 0.2.4 的变化

发布日期: 18 九月 2018

nginx 模块:

核心:

  • 特征: 添加Function.prototype.length.

  • 特征: 引入了沙盒模式。

  • 起色: 在适当的地方添加了异常字符串。

  • 起色: 改进了 Primitive Type Conversion 异常的措辞。

  • 错误修正: 扔TypeError用于尝试更改冻结属性。

  • 错误修正: 固定Object.defineProperty()对于现有属性。

  • 错误修正: 尊重 enumerable 属性,同时通过 for in 进行迭代。

  • 错误修正: respect writable 属性。

  • 错误修正: 修复了函数参数中的异常处理。

  • 错误修正: 固定Object.prototype.toString对于不同的值类型。

  • 错误修正: 固定Object()constructor 的 Array 参数。

  • 错误修正: 修复了对象和字符串的比较。

  • 错误修正: 固定String.slice()for undefined 参数。

  • 错误修正: 其他错误已修复。

njs 0.2.3 的更改

发布日期: 31 七月 2018

nginx 模块:

  • 错误修正: 从Reply对象导致分段错误。

  • 错误修正: 获取主 HTTP Request 对象的 parent 属性会导致分段错误。

核心:

  • 特征: 添加了 Values 的 Pretty String 表示形式。

  • 特征: 正确打印浮点数。

  • 特征: 正确解析浮点数。

  • 特征:String.bytesFrom()方法 (解码hex,base64,base64url转换为字节字符串)。

  • 特征:String.padStart()String.padEnd()方法。

  • 特征: 添加了对二进制文本的支持。

  • 起色: 添加了 Number 解析中有关 Illegal Token 的信息。

  • 起色: 允许大写O以八进制文本值为单位。

  • 起色: 在console.log().

  • 错误修正: 固定应用call()到外部值的方法。

  • 错误修正: 修复了应用于对象的加法运算符。

  • 错误修正: 修复了 中的异常处理njs_vm_value_to_ext_string().

  • 错误修正: 固定Number()带有 boolean、null 和 undefined 参数。

  • 错误修正: 修复了设置非数字的错误处理Array.length.

  • 错误修正: 修复了全局对象的自动完成。

  • 错误修正: 其他错误已修复。

njs 0.2.2 的变化

发布日期: 19 六月 2018

nginx 模块:

  • 改变: 合并的 HTTPResponseReply转换为 HTTP 请求。 新成员Request:

    • req.status (res.status)

    • req.parent (reply.parent)

    • req.requestBody (req.body)

    • req.responseBody (reply.body)

    • req.headersIn (req.headers)

    • req.headersOut (res.headers)

    • req.sendHeader() (res.sendHeader())

    • req.send() (res.send())

    • req.finish() (res.finish())

    • req.return() (res.return())

    已弃用的成员Request:

    • req.body(使用req.requestBodyreq.responseBody)

    • req.headers(使用req.headersInreq.headersOut)

    • req.response

    已弃用的成员Response:

    已弃用的属性将在下一版本中删除。

  • 特征: HTTP internalRedirect() 方法。

核心:

  • 错误修正: 修复了 中的 heap-buffer-overflowcrypto.createHmac().

njs 0.2.1 的变化

发布日期: 31 五月 2018

nginx 模块:

  • 特征: HTTP 请求体 getter 中。

  • 起色: 将 NJS VM 移动到main配置。

  • 起色: 改进了 js_setjs_content 指令的日志记录。

  • 起色: 在 js_content 处理程序中将 Status Code 默认设置为 500

  • 起色: 在 js_content 处理程序中添加了返回状态代码的调试

  • 修正:修复了 js_include 中的错误日志记录。

核心:

  • 特征: 添加了数组长度 setter。

  • 起色: 公共标头cleanup. njscript.h已重命名为njs.h.

  • 错误修正: 固定加密update()method 之后digest()被调用。

  • 错误修正: 固定crypto.createHmac()对于大小为 <= ALG 大小的键 > 64 人。

  • 错误修正: 固定JSON.stringify()对于具有空单元格的数组。

  • 错误修正: 修复了 中不支持类型的异常类型JSON.stringify().

  • 错误修正: 修复了对函数的未定义参数的处理。

  • 错误修正: 修复了缺失的处理argObject.getOwnPropertyDescriptor().

  • 错误修正: 修复了 中的属性处理Object.getOwnPropertyDescriptor().

  • 错误修正: 修复了Array.length财产。

  • 修正:修复返回值类型clearTimeout().

  • 错误修正: 固定njs_vm_external_bind().

  • 错误修正: 其他错误已修复。

njs 0.2.0 的更改

发布日期: 03 四月 2018

  • 特征: 通过 CLI 报告 njs 版本。

  • 特征: 类型转换异常的文本描述。

  • 特征:setTimeout()clearTimeout()方法。
  • 特征: Byte string 设置为hex,base64,base64url编码。

  • 特点:Node.js风格 Crypto方法。

  • 特征: HTTP 和流warn()error()方法。

  • 特征: HTTP 协议subrequest()方法。

  • 特征: HTTP 协议return()方法。

  • 错误修正: 其他错误已在核心和 交互式 shell。

njs 0.1.15 的更改

发布日期: 20 十一月 2017

  • 特征:Error,EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError对象。

  • 特征: 八进制字面量支持。

  • 特点:Node.js风格 File system访问方法:fs.readFile(),fs.readFileSync(),fs.appendFile(),fs.appendFileSync(),fs.writeFile(),fs.writeFileSync().

  • 特征: nginx 模块在异常时打印 backtrace。

  • 错误修正: 其他错误已修复。

njs 0.1.14 的更改

发布日期: 09 十月 2017

  • 特征: JSON 对象。

  • 特征: 交互式 shell 中的对象级完成。

  • 特征: 各种配置改进。

  • 错误修正: 其他错误已在核心和 交互式 shell。

njs 0.1.13 的变化

发布日期: 31 八月 2017

  • 特征:console.log()console.help()交互式 shell 中的方法。

  • 特征: 交互式 shell 在异常时打印 Backtrace。

  • 特征: 默认为 interactive shell 如果libedit可用。

  • 错误修正: 处理大文件stdin在命令行模式下。

  • 错误修正: 改进editline检波。

njs 0.1.12 的变化

发布日期: 08 八月 2017

  • 特征: 交互式 shell。

  • 错误修正: 在Object.isSealed().

njs 0.1.11 的变化

发布日期: 27 六月 2017

  • 特征:Object.keys(),Object.prototype.hasOwnProperty()方法。

  • 特征:Object.defineProperty(),Object.defineProperties(),Object.getOwnPropertyDescriptor()方法。

  • 特征:Object.getPrototypeOf(),Object.prototype.isPrototypeOf()方法。

  • 特征:Object.preventExtensions(),Object.isExtensible(),Object.freeze(),Object.isFrozen(),Object.seal(),Object.isSealed()方法。

  • 特征: 科学记数法 (3.35e10) 字面量支持。

  • 特征: 十六进制 (0x1123) 字面量支持。

  • 错误修正: 处理大型数组索引。

  • 错误修正: 在parseInt()Date.parse().

njs 0.1.10 的变化

发布日期: 04 四月 2017

  • 特征: 嵌套函数和函数闭包。

  • 特征:Array.of(),Array.prototype.fill(),Array.prototype.find(),Array.prototype.findIndex()方法。

  • 错误修正: 其他错误和分段错误已修复。

njs 0.1.9 的更改

发布日期: 01 二月 2017

  • 错误修正: 使用 njs 时未初始化全局变量 在 nginx 中。

njs 0.1.8 的变化

发布日期: 24 一月 2017

  • 改变: 这strictmode 被强制执行, 变量必须显式声明。

  • 特征:forfor-inLoop 支持变量声明。

  • 错误修正: global 和 function 范围已修复。

  • 错误修正: 现在for-inloop 不会丢弃最后一个值 of 属性变量。

  • 错误修正: 其他错误和分段错误已修复。

njs 0.1.7 的变化

发布日期: 27 十二月 2016

  • 改变: js_include 指令 已在 Server 和 Location 级别禁用。

  • 特征: 幂运算符。

  • 错误修正: 其他错误和分段错误已修复。

njs 0.1.6 的更改

发布日期: 13 十二月 2016

  • 改变: js_set 指令 已在 Server 和 Location 级别禁用。

  • 特征: ES6 系列Math方法。

  • 错误修正: 其他错误和分段错误已修复。