File nginx-module-njs.changes of Package nginx-module-njs
-------------------------------------------------------------------
Tue Jul 29 07:14:04 UTC 2025 - Alessio Biancalana <dottorblaster@opensuse.org>
- update to 0.9.1:
nginx modules:
* Feature: added Fetch API for QuickJS engine.
* Feature: added state file for a shared dictionary.
* Bugfix: fixed handling of Content-Length header when
a body is provided for Fetch API.
* Bugfix: fixed qjs engine after bellard/quickjs@458c34d2.
* Bugfix: fixed NULL pointer dereference when processing
If-* headers.
Core:
* Feature: added ECDH support for WebCrypto.
* Improvement: reduced memory consumption by the object hash.
The new hash uses 42% less memory per element.
* Improvement: reduced memory consumption for concatenation of
numbers and strings.
* Improvement: reduced memory consumption of
String.prototype.concat() with scalar values.
* Bugfix: fixed segfault in njs_property_query().
The issue was introduced in b28e50b1 (0.9.0).
* Bugfix: fixed Function constructor template injection.
* Bugfix: fixed GCC compilation with O3 optimization level.
* Bugfix: fixed constant is too large for 'long' warning
on MIPS -mabi=n32.
* Bugfix: fixed compilation with GCC 4.1.
* Bugfix: fixed %TypedArray%.from() with the buffer is detached
by the mapper.
* Bugfix: fixed %TypedArray%.prototype.slice() with overlapping
buffers.
* Bugfix: fixed handling of detached buffers for typed arrays.
* Bugfix: fixed frame saving for async functions with
closures.
* Bugfix: fixed RegExp compilation of patterns with
escaped '[' characters.
Changes with njs 0.9.0:
Core:
* Feature: refactored working with built-in strings, symbols
and small integers.
Performance improvements (arewefastyet/benchmarks/v8-v7 benchmark):
Richards: +57% (631 → 989)
Crypto: +7% (1445 → 1551)
RayTrace: +37% (562 → 772)
NavierStokes: +20% (2062 → 2465)
Overall score: +29% (1014 → 1307)
* Bugfix: fixed regexp undefined value of captured group.
* Bugfix: fixed GCC 15 build with -Wunterminated-string-initialization.
Changes with njs 0.8.10:
nginx modules:
* Feature: reading r.requestText or r.requestBuffer from
a temp file.
Previously, an exception was thrown when accessing r.requestText
or r.requestBuffer if a client request body size exceeded
client_body_buffer_size.
* Improvement: improved reporting of unhandled promise rejections.
* Bugfix: fixed name corruption in variable and header processing.
* Bugfix: fixed SharedDict.incr() with empty init argument
for QuickJS engine.
* Bugfix: accepting response headers with underscore characters
in Fetch API.
Core:
* Change: fixed serializeToString().
Previously, serializeToString() was exclusiveC14n() which returned
string instead of Buffer. According to the published documentation it
should be c14n().
* Feature: added WebCrypto API for QuickJS engine.
* Feature: added TextEncoder/TextDecoder for QuickJS engine.
* Feature: added querystring module for QuickJS engine.
* Feature: added crypto module for QuickJS engine.
* Feature: added xml module for QuickJS engine.
* Feature: added support for QuickJS-NG library.
* Bugfix: fixed buffer.concat() with a single argument in quickjs.
* Bugfix: added missed syntax error for await in template literal.
* Bugfix: fixed non-NULL terminated strings formatting in
exceptions for QuickJS engine.
* Bugfix: fixed compatibility with recent change in QuickJS
and QuickJS-NG.
Changes with njs 0.8.9:
nginx modules:
* Bugfix: removed extra VM creation per server.
This issue was introduced in 9b674412 (0.8.6) and was partially
fixed for location blocks only in 685b64f0 (0.8.7).
Core:
* Feature: added fs module for QuickJS engine.
Changes with njs 0.8.8:
nginx modules:
* Feature: implemented shared dictionary for QuickJS engine.
* Improvement: js_preload_object is refactored.
* Bugfix: fixed limit rated output.
* Bugfix: optimized use of SSL contexts for
js_fetch_trusted_certificate directive.
Core:
* Feature: implemented process object for QuickJS engine.
* Feature: implemented process.kill() method.
* Bugfix: fixed tests with libxml2 2.13 and later.
* Bugfix: fixed promise resolving when Promise is inherited.
* Bugfix: fixed absolute scope in cloned VMs.
Changes with njs 0.8.7:
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:
nginx modules:
* Feature: introduced QuickJS engine.
* Feature: added optional nocache flag for js_set directive.
* Feature: exposed capture group variables in HTTP module.
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().
-------------------------------------------------------------------
Mon Jul 22 12:42:55 UTC 2024 - Adam Majer <adam.majer@suse.de>
- update to 0.8.5:
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 add(), set(), and incr() methods of a shared dictionary.
* 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 a 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().
Changes with njs 0.8.4
nginx modules:
* Feature: the Server header for outgoing header can be set.
* 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 a timeout introduced in 0.8.3.
* Bugfix: fixed r.send() method of a shared dictionary without a timeout 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
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
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 fs.existsSync().
* Bugfix: fixed xml module. Broken XML exception handling in xml.parse() method was fixed.
* Bugfix: fixed Regexp.prototype.exec() with global regexp and Unicode input.
-------------------------------------------------------------------
Thu Oct 19 20:52:24 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 0.8.1:
* Implement a number of useful language facilities around shared
dictionaries, add more global nginx properties, and
configuration directives (js_periodic, js_shared_dict_zone)
* Possibly incompatible change: native methods are provided with
retval argument. This change breaks compatibility with C
extension for njs requiring the modification of the code.
* A number of non-compliant deprecated String methods were
removed
-------------------------------------------------------------------
Tue May 2 13:06:42 UTC 2023 - Adam Majer <adam.majer@suse.de> 0.7.12
- update to 0.7.12
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
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
"$'", "$`".
-------------------------------------------------------------------
Thu Feb 23 11:42:44 UTC 2023 - Adam Majer <adam.majer@suse.de> 0.7.10
- Initial package