こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
nginx njs の最新バージョン、0.2.6がリリースされました。
njsとは?
nginxの機能を拡張する JavaScriptのサブセットです。
Changelogs
更新内容は、以下の通り。
https://nginx.org/en/docs/njs/changes.html#njs0.2.6
Changes with 0.2.6
Release Date: 27 November 2018
Core:
Feature: making built-in prototypes mutable.
Feature: making global object mutable.
Feature: console.time() and console.timeEnd() methods.
Feature: allowing variables and functions to be redeclared.
Feature: extending Object.defineProperty() spec conformance.
Feature: introduced quiet mode for CLI to handle simple expressions from stdin.
Feature: introduced compact form of backtraces to handle stack overflows.
Improvement: improved wording for various exceptions.
Bugfix: fixed closure values handling.
Bugfix: fixed equality operator for various value types.
Bugfix: fixed handling of “this” keyword in various scopes.
Bugfix: fixed handling non-object values in Object.keys().
Bugfix: fixed parsing of throw statement inside if statement.
Bugfix: fixed parsing of newline after throw statement.
Bugfix: fixed parsing of statements in if statement without newline.
Bugfix: fixed size uint32_t overflow in njs_array_expand().
Bugfix: fixed typeof operator for object_value type.
Bugfix: miscellaneous additional bugs have been fixed.
Changelogs(日本語訳)
0.2.6の変更
リリース日:2018年11月27日
コア:
機能追加:組み込みのプロトタイプを変更可能にする。
機能追加:グローバルオブジェクトを変更可能にする。
機能追加:console.time()およびconsole.timeEnd()メソッド。
機能追加:変数と関数の再宣言を可能にしました。
機能追加:Object.defineProperty()の仕様準拠を拡張しました。
機能追加:CLIがstdinから簡単な式を処理するためのquietモードを導入しました。
機能追加:スタックオーバーフローを処理するバックトレースのコンパクトなフォームを導入しました。
改善:さまざまな例外に対する表現を改善しました。
バグ修正:クロージャ値処理を修正しました。
バグ修正:さまざまな値の型の等価演算子を修正しました。
バグ修正:さまざまなスコープでの "this"キーワードの処理を修正しました。
バグ修正:Object.keys()の非オブジェクト値の処理を修正しました。
バグ修正:if文の中のthrow文の解析を修正しました。
バグ修正:throw文の後の改行の解析を修正しました。
バグ修正:改行なしのif文での文の解析を修正しました。
バグ修正:njs_array_expand()でuint32_tのサイズ オーバーフロー。
バグ修正:object_value型のtypeof演算子。
バグ修正:その他の追加バグが修正されました。