njs-0.7.6

Dmitry Volyntsev xeioex at nginx.com
Tue Jul 19 16:30:09 UTC 2022


Hello,

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

Notable new features:
  - improved r.args:
     Now, duplicate keys are returned as an array, keys are
     case-sensitive, both keys and values are percent-decoded.

     For example, the query string

     'a=1&b=%32&A=3&b=4&B=two%20words'

     is converted to r.args as:

     {a: "1", b: ["2", "4"], A: "3", B: "two words"}

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
- Mailing list: https://mailman.nginx.org/mailman/listinfo/nginx-devel

Additional examples and howtos can be found here:

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

Changes with njs 0.7.6                                    19 Jul 2022

     nginx modules:

     *) Feature: improved r.args object. Added support for multiple
        arguments with the same key. Added case sensitivity for
        keys. Keys and values are percent-decoded now.

     *) Bugfix: fixed r.headersOut setter for special headers.

     Core:

     *) Feature: added Symbol.for() and Symbol.keyfor().

     *) Feature: added btoa() and atob() from WHATWG spec.

     *) Bugfix: fixed large non-decimal literals.

     *) Bugfix: fixed unicode argument trimming in parseInt().

     *) Bugfix: fixed break instruction in a try-catch block.

     *) Bugfix: fixed async function declaration in CLI.



More information about the nginx mailing list