changeset 2353:21f3a93fbe97

njs-0.3.0
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 26 Mar 2019 17:19:37 +0300
parents 1101e24c6d14
children a4ef92436fbc
files xml/en/docs/njs/changes.xml xml/en/docs/njs/compatibility.xml xml/en/docs/njs/reference.xml xml/index.xml xml/ru/docs/njs/compatibility.xml xml/ru/docs/njs/reference.xml
diffstat 6 files changed, 155 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/docs/njs/changes.xml
+++ b/xml/en/docs/njs/changes.xml
@@ -9,9 +9,126 @@
 <article name="Changes"
         link="/en/docs/njs/changes.html"
         lang="en"
-        rev="14"
+        rev="15"
         toc="no">
 
+<section id="njs0.3.0" name="Changes with 0.3.0">
+
+<para>
+Release Date:
+26 March 2019
+</para>
+
+<para>
+nginx modules:
+<list type="bullet">
+
+<listitem>
+<para>
+Feature:
+added the <literal>js_path</literal> directive for
+<link doc="../http/ngx_http_js_module.xml" id="js_path">http</link> and
+<link doc="../stream/ngx_stream_js_module.xml" id="js_path">stream</link>.
+</para>
+</listitem>
+
+<listitem>
+<para>
+Change:
+returning undefined value instead of empty strings
+for absent properties in the following objects:
+<link doc="reference.xml" id="r_args"><literal>r.args{}</literal></link>,
+<link doc="reference.xml" id="r_headers_in"><literal>r.headersIn{}</literal></link>,
+<link doc="reference.xml" id="r_headers_out"><literal>r.headersOut{}</literal></link>,
+<link doc="reference.xml" id="r_variables"><literal>r.variables{}</literal></link>,
+<link doc="reference.xml" id="s_variables"><literal>s.variables{}</literal></link>.
+</para>
+</listitem>
+
+<listitem>
+<para>
+Change:
+returning undefined value instead of throwing an exception for
+<link doc="reference.xml" id="r_request_body"><literal>r.requestBody</literal></link>
+when request body is unavailable.
+</para>
+</listitem>
+
+<listitem>
+<para>
+Bugfix:
+fixed crash while iterating over
+<link doc="reference.xml" id="r_args"><literal>r.args{}</literal></link>
+when a value is absent in a key-value pair.
+</para>
+</listitem>
+
+</list>
+</para>
+
+<para>
+Core:
+<list type="bullet">
+
+<listitem>
+<para>
+Feature:
+added initial ES6 modules support.
+Default import and default export statements are supported.
+Thanks to 洪志道 (Hong Zhi Dao).
+</para>
+</listitem>
+
+<listitem>
+<para>
+Feature:
+added <literal>Object.prototype.propertyIsEnumerable()</literal>.
+</para>
+</listitem>
+
+<listitem>
+<para>
+Feature:
+reporting file name and function name in disassembler output.
+</para>
+</listitem>
+
+<listitem>
+<para>
+Bugfix:
+fixed function redeclarations in interactive shell.
+Thanks to 洪志道 (Hong Zhi Dao).
+</para>
+</listitem>
+
+<listitem>
+<para>
+Bugfix:
+fixed RegExp literals parsing.
+</para>
+</listitem>
+
+<listitem>
+<para>
+Bugfix:
+fixed setting length of UTF8 string in
+<link doc="reference.xml" id="readfilesync"><literal>fs.readFileSync()</literal></link>.
+</para>
+</listitem>
+
+<listitem>
+<para>
+Bugfix:
+fixed <literal>nxt_file_dirname()</literal> for paths with no dir component.
+</para>
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+
 <section id="njs0.2.8" name="Changes with 0.2.8">
 
 <para>
--- a/xml/en/docs/njs/compatibility.xml
+++ b/xml/en/docs/njs/compatibility.xml
@@ -124,7 +124,9 @@ ES5.1:
 <literal>freeze</literal>,
 <literal>isFrozen</literal>,
 <literal>seal</literal>,
-<literal>isSealed</literal>
+<literal>isSealed</literal>,
+<literal>isEnumerable</literal>
+(<link doc="changes.xml" id="njs0.3.0">0.3.0</link>)
 </listitem>
 
 <listitem>
@@ -231,6 +233,13 @@ functions (0.2.0)
 <link doc="reference.xml" id="crypto_createhmac"><literal>crypto.createHmac</literal></link>
 </listitem>
 
+<listitem>
+ES6 modules support:
+default <literal>import</literal> and
+default <literal>export</literal> statements
+(<link doc="changes.xml" id="njs0.3.0">0.3.0</link>)
+</listitem>
+
 </list>
 </para>
 
--- a/xml/en/docs/njs/reference.xml
+++ b/xml/en/docs/njs/reference.xml
@@ -9,7 +9,7 @@
 <article name="Reference"
         link="/en/docs/njs/reference.html"
         lang="en"
-        rev="25">
+        rev="26">
 
 <section id="summary">
 
@@ -33,7 +33,7 @@ All string properties of the object are 
 
 <list type="tag">
 
-<tag-name><literal>r.args{}</literal></tag-name>
+<tag-name id="r_args"><literal>r.args{}</literal></tag-name>
 <tag-desc>
 request arguments object, read-only
 </tag-desc>
@@ -49,7 +49,7 @@ on the <literal>error</literal> level of
 finishes sending a response to the client
 </tag-desc>
 
-<tag-name><literal>r.headersIn{}</literal></tag-name>
+<tag-name id="r_headers_in"><literal>r.headersIn{}</literal></tag-name>
 <tag-desc>
 incoming headers object, read-only.
 <para>
@@ -113,7 +113,7 @@ and a sufficient buffer size should be s
 <link doc="../http/ngx_http_core_module.xml" id="client_body_buffer_size"/>.
 </tag-desc>
 
-<tag-name><literal>r.responseBody</literal></tag-name>
+<tag-name id="r_response_body"><literal>r.responseBody</literal></tag-name>
 <tag-desc>
 holds the <link id="subrequest">subrequest</link> response body, read-only.
 The size of <literal>r.responseBody</literal> is limited by the
--- a/xml/index.xml
+++ b/xml/index.xml
@@ -9,6 +9,14 @@
 
 <event date="2019-03-26">
 <para>
+<link doc="en/docs/njs/index.xml">njs-0.3.0</link>
+version has been released, featuring ES6 modules support
+and <link doc="en/docs/njs/changes.xml" id="njs0.3.0">more</link>.
+</para>
+</event>
+
+<event date="2019-03-26">
+<para>
 <link doc="en/download.xml">nginx-1.15.10</link>
 mainline version has been released.
 </para>
--- a/xml/ru/docs/njs/compatibility.xml
+++ b/xml/ru/docs/njs/compatibility.xml
@@ -124,7 +124,9 @@ ES5.1:
 <literal>freeze</literal>,
 <literal>isFrozen</literal>,
 <literal>seal</literal>,
-<literal>isSealed</literal>
+<literal>isSealed</literal>,
+<literal>isEnumerable</literal>
+(<link doc="changes.xml" id="njs0.3.0">0.3.0</link>)
 </listitem>
 
 <listitem>
@@ -232,6 +234,14 @@ ES5.1 глобальные функции:
 <link doc="reference.xml" id="crypto_createhmac"><literal>crypto.createHmac</literal></link>
 </listitem>
 
+<listitem>
+ES6 поддержка модулей:
+инструкции
+<literal>import</literal> по умолчанию и
+<literal>export</literal> по умолчанию
+(<link doc="changes.xml" id="njs0.3.0">0.3.0</link>)
+</listitem>
+
 </list>
 </para>
 
--- a/xml/ru/docs/njs/reference.xml
+++ b/xml/ru/docs/njs/reference.xml
@@ -34,7 +34,7 @@
 
 <list type="tag">
 
-<tag-name><literal>r.args{}</literal></tag-name>
+<tag-name id="r_args"><literal>r.args{}</literal></tag-name>
 <tag-desc>
 объект аргументов запроса, только чтение
 </tag-desc>
@@ -50,7 +50,7 @@
 завершает отправку ответа клиенту
 </tag-desc>
 
-<tag-name><literal>r.headersIn{}</literal></tag-name>
+<tag-name id="r_headers_in"><literal>r.headersIn{}</literal></tag-name>
 <tag-desc>
 объект входящих заголовков, только чтение.
 <para>
@@ -60,7 +60,7 @@
 </para>
 </tag-desc>
 
-<tag-name><literal>r.headersOut{}</literal></tag-name>
+<tag-name id="r_headers_out"><literal>r.headersOut{}</literal></tag-name>
 <tag-desc>
 объект исходящих заголовков, доступно для записи.
 <para>
@@ -114,7 +114,7 @@ HTTP метод, только чтение
 <link doc="../http/ngx_http_core_module.xml" id="client_body_buffer_size"/>.
 </tag-desc>
 
-<tag-name><literal>r.responseBody</literal></tag-name>
+<tag-name id="r_response_body"><literal>r.responseBody</literal></tag-name>
 <tag-desc>
 хранит тело ответа <link id="subrequest">подзапроса</link>, только чтение.
 Размер <literal>r.responseBody</literal> ограничивается директивой