[nginx-announce] njs-0.9.1

Dmitry Volyntsev xeioex at nginx.com
Thu Jul 10 21:38:24 UTC 2025


Hello,

I'm glad to announce a new release of NGINX JavaScript module (njs).

This release adds Fetch API support to the QuickJS engine, bringing
it to feature parity with njs. Additionally, the shared dictionary now
includes state file support, allowing its contents to persist across
nginx restarts.

Read more about QuickJS support:
     https://blog.nginx.org/blog/quickjs-engine-support-for-njs

Learn more about njs:

- Overview and introduction:
       https://nginx.org/en/docs/njs/
- NGINX JavaScript in Your Web Server Configuration:
       https://youtu.be/Jc_L6UffFOs
- Extending NGINX with Custom Code:
       https://youtu.be/0CVhq4AUU7M
- Using node modules with njs:
       https://nginx.org/en/docs/njs/node_modules.html
- Writing njs code using TypeScript definition files:
       https://nginx.org/en/docs/njs/typescript.html

Feel free to try it and give us feedback on:

- Github:
       https://github.com/nginx/njs/issues

Additional examples and howtos can be found here:

- Github:
       https://github.com/nginx/njs-examples

Changes with njs 0.9.1                                       10 Jul 2025

     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 at 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.



More information about the nginx-announce mailing list