njs-0.8.6

Dmitry Volyntsev xeioex at nginx.com
Wed Oct 2 21:58:26 UTC 2024


Hello,

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

This release introduced the QuickJS engine support in nginx modules.
Read more here: https://nginx.org/en/docs/njs/engine.html

Notable new features:
- QuickJS in nginx:
: nginx.conf:
: location /engine {
:     js_engine qjs;
:     js_content main.entry;
: }
:
: main.js:
: function entry(r) {
:     let  m = new Map();
:     m.set(1, "QJS");
:     r.return(200, "Hello from " + m.get(1));
: }

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.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().


More information about the nginx mailing list