./lang/njs, NGINX JavaScript command line utility

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


Branch: CURRENT, Version: 0.8.7nb3, Package name: njs-0.8.7nb3, 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: 859.587 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-14 23:22:33 by Thomas Klausner | Files touched by this commit (2429)
Log message:
*: recursive bump for icu 76 shlib major version bump
   2024-11-01 13:55:19 by Thomas Klausner | Files touched by this commit (2426)
Log message:
*: revbump for icu downgrade
   2024-11-01 01:54:33 by Thomas Klausner | Files touched by this commit (2427)
Log message:
*: recursive bump for icu 76.1 shlib bump
   2024-10-23 15:15:19 by Sergey A. Osokin | Files touched by this commit (11) | Package updated
Log message:
*/*: update NGINX JavaScript 0.8.5 -> 0.8.7

Bump PKGREVISIONs for www/nginx, www/nginx-devel, www/unit.

<ChangeLog>

Changes with njs 0.8.7                                       22 Oct 2024

nginx modules:

*) Bugfix: eliminated unnecessary VM creation.
   Previously, njs consumed memory proportionally to the number of
   nginx locations. The issue was introduced in 9b674412 (0.8.6).

*) Improvement: added strict syntax validation for js_body_filter.

*) Improvement: improved error messages for module loading
   failures.

Core:

*) Feature: implemented fs.readlink() and friends.

*) Improvement: implemented lazy stack symbolization.

*) Bugfix: fixed heap-buffer-overflow in Buffer.prototype.indexOf().
   The issue was introduced in 5d15a8d6 (0.8.6).

*) Bugfix: fixed Buffer.prototype.lastIndexOf() when `from` is
   provided.

Changes with njs 0.8.6                                       02 Oct 2024

nginx modules:

*) Feature: introduced QuickJS engine.

*) Feature: added optional nocache flag for js_set directive.
   Thanks to Thomas P.

*) Feature: exposed capture group variables in HTTP module.
   Thanks to Thomas P.

Core:

*) Feature: added Buffer module for QuickJS engine.

*) Bugfix: fixed handling of empty labelled statement in a function.

*) Bugfix: fixed Function constructor handling when called without
   arguments.

*) Bugfix: fixed Buffer.prototype.writeInt8() and friends.

*) Bugfix: fixed Buffer.prototype.writeFloat() and friends.

*) Bugfix: fixed Buffer.prototype.lastIndexOf().

*) Bugfix: fixed Buffer.prototype.write().

*) Bugfix: fixed maybe-uninitialized warnings in error creation.

*) Bugfix: fixed 'ctx.codepoint' initialization in UTF-8 decoding.

*) Bugfix: fixed 'length' initialization in Array.prototype.pop().

*) Bugfix: fixed handling of encode arg in fs.readdir() and
   fs.realpath().

</ChangeLog>
   2024-06-27 18:03:25 by Sergey A. Osokin | Files touched by this commit (15) | Package updated
Log message:
*/*: update NGINX JavaScript 0.8.4 -> 0.8.5

Bump PKGREVISIONs for www/nginx, www/nginx-devel, www/unit.

<ChangeLog>

nginx modules:

*) Change: r.variables.var, r.requestText, r.responseText,
   s.variables.var, and the "data" argument of the s.on() callback
   with "upload" or "download" event types will now convert bytes
   invalid in UTF-8 encoding into the replacement character.  When
   working with binary data, use r.rawVariables.var, r.requestBuffer,
   r.responseBuffer, s.rawVariables.var, and the "upstream" or
   "downstream" event type for s.on() instead.

*) Feature: added timeout argument for shared dictionary methods
   add(), set() and incr().

*) Bugfix: fixed checking for duplicate js_set variables.

*) Bugfix: fixed request Host header when the port is non-standard.

*) Bugfix: fixed handling of a zero-length request body in ngx.fetch()
   and r.subrequest().

*) Bugfix: fixed heap-buffer-overflow in Headers.get().

*) Bugfix: fixed r.subrequest() error handling.

Core:

*) Feature: added zlib module for QuickJS engine.

*) Bugfix: fixed zlib.inflate().

*) Bugfix: fixed String.prototype.replaceAll() with zero-length
   argument.

*) Bugfix: fixed retval handling after an exception in
   Array.prototype.toSpliced(), Array.prototype.toReversed(),
   Array.prototype.toSorted().

*) Bugfix: fixed RegExp.prototype[@@replace]() with replacements
   containing "$'", "$\`" and strings with Unicode characters.

*) Bugfix: fixed a one-byte overread in decodeURI() and
   decodeURIComponent().

*) Bugfix: fixed tracking of argument scope.

*) Bugfix: fixed integer overflow in Date.parse().

</ChangeLog>
   2024-05-29 18:35:19 by Adam Ciarcinski | Files touched by this commit (1929) | Package updated
Log message:
revbump after icu and protobuf updates
   2024-05-07 15:43:56 by Sergey A. Osokin | Files touched by this commit (12) | Package updated
Log message:
*/*: update NGINX JavaScript 0.8.2 -> 0.8.4

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

<ChangeLog>

Changes with njs 0.8.4                                16 Apr 2024

nginx modules:

*) Feature: allowing to set Server header for outgoing headers.

*) Improvement: validating URI and args arguments in r.subrequest().

*) Improvement: checking for duplicate js_set variables.

*) Bugfix: fixed clear() method of a shared dictionary without
   timeout introduced in 0.8.3.

*) Bugfix: fixed r.send() with Buffer argument.

Core:

*) Feature: added QuickJS engine support in CLI.

*) Bugfix: fixed atob() with non-padded base64 strings.

Changes with njs 0.8.3                                07 Feb 2024

nginx modules:

*) Bugfix: fixed Headers.set().

*) Bugfix: fixed js_set with Buffer values.

*) Bugfix: fixed clear() method of a shared dictionary when
   a timeout is not specified.

*) Bugfix: fixed stub_status statistics when js_periodic is
   enabled.

Core:

*) Bugfix: fixed building with libxml2 2.12 and later.

*) Bugfix: fixed Date constructor for overflows and with
   NaN values.

*) Bugfix: fixed underflow in querystring.parse().

*) Bugfix: fixed potential buffer overread in
   String.prototype.match().

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

*) Bugfix: fixed parsing of hexadecimal, octal, and binary
   literals with no digits.

Changes with njs 0.8.2                                       24 Oct 2023

nginx modules:

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

Changes with njs 0.8.4                                       16 Apr 2024

nginx modules:

*) Feature: allowing to set Server header for outgoing headers.

*) Improvement: validating URI and args arguments in r.subrequest().

*) Improvement: checking for duplicate js_set variables.

*) Bugfix: fixed clear() method of a shared dictionary without
   timeout introduced in 0.8.3.

*) Bugfix: fixed r.send() with Buffer argument.

Core:

*) Feature: added QuickJS engine support in CLI.

*) Bugfix: fixed atob() with non-padded base64 strings.

Changes with njs 0.8.3                                       07 Feb 2024

nginx modules:

*) Bugfix: fixed Headers.set().

*) Bugfix: fixed js_set with Buffer values.

*) Bugfix: fixed clear() method of a shared dictionary when
   a timeout is not specified.

*) Bugfix: fixed stub_status statistics when js_periodic is
   enabled.

Core:

*) Bugfix: fixed building with libxml2 2.12 and later.

*) Bugfix: fixed Date constructor for overflows and with
   NaN values.

*) Bugfix: fixed underflow in querystring.parse().

*) Bugfix: fixed potential buffer overread in
   String.prototype.match().

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

*) Bugfix: fixed parsing of hexadecimal, octal, and binary
   literals with no digits.

</ChangeLog>
   2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377)
Log message:
*: recursive bump for icu 74.1