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

openSUSE Build Service is sponsored by