njs 0.8.5 已发布,具体更新内容包括:
nginx modules:
Core:
- 功能:为
QuickJS引擎增加了zlib模块。
- 错误修复:已修复
zlib.inflate()。
- 错误修复:修复了长度为零的参数
String.prototype.replaceAll() 。
- 错误修复:修复了
Array.prototype.toSpliced()、Array.prototype.toReversed()、Array.prototype.toSorted()出现异常后的retval处理。
- 错误修复:解决了
RegExp.prototype[@@replace]()中包含$'、$`和 Unicode 字符的替换问题。
- 错误修复:修复了
decodeURI()和decodeURIComponent()中的一个 one-byte overread 问题 。
- 错误修复:修复了参数范围的跟踪。
- 错误修复:修复了
Date.parse()中的整数溢出。
njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、能耗更低、更符合 nginx 应用场景的小虚拟机实现,可以理解成 nginx 为其实现了一套自己的词法解析。
作为 nginx 的插件,njs 的安装方式是重新编译 nginx。
详情可查看:https://nginx.org/en/docs/njs/changes.html#njs0.8.5