./lang/njs, NGINX JavaScript command line utility

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.8.2nb1, Package name: njs-0.8.2nb1, Maintainer: osa

njs scripting language, or just njs, is a subset of the JavaScript language
that allows extending nginx functionality. njs is created in compliance
with ECMAScript 5.1 (strict mode) with some ECMAScript 6 and later
extensions. The compliance is still evolving.



Package options: pcre, ssl

Master sites:

Filesize: 716.715 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377)
Log message:
*: recursive bump for icu 74.1
   2023-10-25 18:04:47 by Sergey A. Osokin | Files touched by this commit (11) | Package updated
Log message:
*/*: update NGINX JavaScript 0.8.1 -> 0.8.2

Bump PKGREVISION for www/nginx, www/nginx-devel, and www/unit.

<ChangeLog>

nginx modules:

*) Feature: introduced console object. The following methods
   were introduced: error(), info(), log(), time(), timeEnd(),
   warn().

*) Bugfix: fixed HEAD response handling with large Content-Length
   in fetch API.

*) Bugfix: fixed items() method for a shared dictionary.

*) Bugfix: fixed delete() method for a shared dictionary.

Core:

*) Feature: extended "fs" module. Added existsSync().

*) Bugfix: fixed "xml" module. Fixed broken XML exception handling
   in parse() method.

*) Bugfix: fixed RegExp.prototype.exec() with global regexp and
   unicode input.

*) Bugfix: fixed return statement parsing with invalid expression.

</ChangeLog>
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3
   2023-09-18 19:49:32 by Sergey A. Osokin | Files touched by this commit (13) | Package updated
Log message:
*/*: update NGINX JavaScript 0.8.0 -> 0.8.1

Bump PKGREVISION for www/nginx, www/nginx-devel, and www/unit.

<ChangeLog>

    nginx modules:

    *) Feature: introduced js_periodic directive.
        The directive specifies a JS handler to run at regular intervals.

    *) Feature: implemented items() method for a shared dictionary.
       The method returns all the non-expired key-value pairs.

    *) Bugfix: fixed size() and keys() methods of a shared dictionary.

    *) Bugfix: fixed erroneous exception in r.internalRedirect()
       introduced in 0.8.0.

    Core:

    *) Bugfix: fixed incorrect order of keys in
       Object.getOwnPropertyNames().

</ChangeLog>
   2023-07-20 17:02:52 by Sergey A. Osokin | Files touched by this commit (15) | Package updated
Log message:
*/*: update NGINX JavaScript 0.7.12 -> 0.8.0

Bump PKGREVISION for www/nginx, www/nginx-devel, and www/unit.

<ChangeLog>

nginx modules:

*) Change: removed special treatment of forbidden headers in Fetch API
   introduced in 0.7.10.

*) Change: removed deprecated since 0.5.0 r.requestBody and
   r.responseBody in HTTP module.

*) Change: throwing an exception in r.internalRedirect() while
   filtering in HTTP module.

*) Feature: introduced global nginx properties.
    ngx.build - an optional nginx build name, corresponds to
    --build=name argument of configure script, by default is "".
    ngx.conf_file_path - the file path to current nginx configuration
        file.
    ngx.error_log_path - the file path to current error log file.
    ngx.prefix - the directory that keeps server files.
    ngx.version - the nginx version as a string, for example: "1.25.0".
    ngx.version_number - the nginx version as a number, for example:
        1025000.
    ngx.worker_id - corresponds to an nginx internal worker id.
       The value is between 0 and worker_processes - 1.

*) Feature: introduced js_shared_dict_zone directive.
    The directive allows to declare a dictionary that is shared among the
    working processes.

*) Improvement: added compile-time options to disable njs modules.
    For example to disable libxslt related code:
    NJS_LIBXSLT=NO ./configure  .. --add-module=/path/to/njs/module

*) Bugfix: fixed r.status setter when filtering in HTTP module.

*) Bugfix: fixed setting of Location header in HTTP module.

Core:

*) Change: native methods are provided with retval argument.
   This change breaks compatibility with C extension for njs
   requiring to modify the code.

*) Change: non-compliant deprecated String methods were removed.
    The following methods were removed: String.bytesFrom(),
    String.prototype.fromBytes(), String.prototype.fromUTF8(),
    String.prototype.toBytes(), String.prototype.toUTF8(),
    String.prototype.toString(encoding).

*) Change: removed support for building with GNU readline.

*) Feature: added Array.from(), Array.prototype.toSorted(),
    Array.prototype.toSpliced(), Array.prototype.toReversed().

*) Feature: added %TypedArray%.prototype.toSorted(),
    %TypedArray%.prototype.toSpliced(),
    %TypedArray%.prototype.toReversed().

*) Feature: added CryptoKey properties in WebCrypto.
    The following properties for CryptoKey were added:
    algorithm, extractable, type, usages.

*) Bugfix: fixed retval of crypto.getRandomValues().

*) Bugfix: fixed evaluation of computed property names with function
   expressions.

*) Bugfix: fixed implicit name for a function expression declared in
   arrays.

*) Bugfix: fixed parsing of for-in loops.

*) Bugfix: fixed Date.parse() with ISO-8601 format and UTC time
   offset.

</ChangeLog>
   2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) | Package updated
Log message:
revbump after textproc/icu update
   2023-04-13 18:45:47 by Sergey A. Osokin | Files touched by this commit (9) | Package updated
Log message:
*/*: update NGINX JavaScript 0.7.9 -> 0.7.12

Bump PKGREVISION for www/nginx and www/nginx-devel.

<ChangeLog>

Changes with njs 0.7.12                                       10 Apr 2023

nginx modules:

*) Bugfix: fixed Headers() constructor in Fetch API.

Core:

*) Feature: added Hash.copy() method in "crypto" module.

*) Feature: added "zlib" module.

*) Improvement: added support for export {name as default}
   statement.

*) Bugfix: fixed Number constructor according to the spec.

Changes with njs 0.7.11                                        9 Mar 2023
nginx modules:

*) Bugfix: added missed linking with libxml2 for the dynamic module.
   The bug was introduced in 0.7.10.

Core:

*) Feature: added XMLNode API to modify XML documents.

*) Change: removed XML_PARSE_DTDVALID during parsing of XML document
   due to security implications. The issue was introduced
   in 0.7.10. When XML_PARSE_DTDVALID is enabled, libxml2 parses and
   executes external entities present inside an XML document.

*) Bugfix: fixed the detection of await in arguments.

*) Bugfix: fixed Error() instance dumping when "name" prop is not
   primitive.

*) Bugfix: fixed array instance with a getter property dumping.

*) Bugfix: fixed njs_object_property() with NJS_WHITEOUT properties.

*) Bugfix: fixed func instance dumping with "name" as getter.

*) Bugfix: fixed attaching of a stack to an error object.

*) Bugfix: fixed String.prototype.replace() with replacement containing
   "$'", "$`".

Changes with njs 0.7.10                                        7 Feb 2023
nginx modules:

*) Feature: added Request, Response and Headers ctors in Fetch API.

*) Bugfix: fixed nginx logger callback for calls in master process.

Core:

*) Feature: added signal support in CLI.

*) Feature: added "xml" module for working with XML documents.

*) Feature: extended support for symmetric and asymmetric keys
   in WebCrypto. Most notably JWK format for importKey() was added.

*) Feature: extended support for symmetric and asymmetric keys
   in WebCrypto. Most notably JWK format for importKey() was added.
   generateKey() and exportKey() were also implemented.

*) Feature: added String.prototype.replaceAll().

*) Bugfix: fixed for(expr1; conditional syntax error handling.

*) Bugfix: fixed Object.values() and Object.entries() with external
   objects.

*) Bugfix: fixed RegExp.prototype[@@replace]().

</ChangeLog>
   2022-11-17 17:04:27 by Sergey A. Osokin | Files touched by this commit (8) | Package updated
Log message:
*/*: update NGINX JavaScript 0.7.8 -> 0.7.9

Bump PKGREVISION for www/nginx and www/nginx-devel.

<ChangeLog>

nginx modules:

*) Bugfix: fixed Fetch Response prototype reinitialization.
   When at least one js_import directive was declared in both HTTP
   and Stream, ngx.fetch() returned inapproriate response in Stream.
   The bug was introduced in 0.7.7.

Core:

*) Bugfix: fixed String.prototype.replace(re) if re.exec() returns
   non-flat array.

*) Bugfix: fixed Array.prototype.fill() when start object changes
   "this".

*) Bugfix: fixed description for fs.mkdir() and fs.rmdir() methods.

*) Bugfix: fixed %TypedArray%.prototype.set(s) when s element changes
   "this".

*) Bugfix: fixed Array.prototype.splice(s, d) when d resizes "this"
   during evaluation.

*) Bugfix: fixed for-in loop with left and right hand side
   expressions.

</ChangeLog>