[nginx-announce] njs-0.3.3

Dmitry Volyntsev xeioex at nginx.com
Tue Jun 25 15:32:37 UTC 2019


Hello,

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

This release mostly focuses on stability issues in njs core after regular
fuzzing tests were introduced.

Notable new features:
- Added ES5 property getter/setter runtime support:
: > var o = {a:2};
: undefined
: > Object.defineProperty(o, ‘b’, {get:function(){return 2*this.a}}); o.b
: 4

- Added global “process” variable:
: > process.pid
<current process pid>
:  > process.env.HOME
<current process HOME env variable>

You can learn more about njs:

- Overview and introduction: http://nginx.org/en/docs/njs/
- Presentation: https://youtu.be/Jc_L6UffFOs

Feel free to try it and give us feedback on:

- Github: https://github.com/nginx/njs/issues
- Mailing list: http://mailman.nginx.org/mailman/listinfo/nginx-devel <http://mailman.nginx.org/mailman/listinfo/nginx-devel>


Changes with njs 0.3.3                                           25 Jun 2019

    nginx modules:

    *) Improvement: getting of special response headers in headersOut.

    *) Improvement: working with unknown methods in r.subrequest().

    *) Improvement: added support for null as a second argument
       of r.subrequest().

    *) Bugfix: fixed processing empty output chain in stream body filter.

    Core:
    *) Feature: added runtime support for property getter/setter.
       Thanks to 洪志道 (Hong Zhi Dao) and Artem S. Povalyukhin.

    *) Feature: added “process” global object.

    *) Feature: writable most of built-in properties and methods.

    *) Feature: added generic implementation of Array.prototype.fill().

    *) Bugfix: fixed integer-overflow in String.prototype.concat().

    *) Bugfix: fixed setting of object properties.

    *) Bugfix: fixed Array.prototype.toString().

    *) Bugfix: fixed Date.prototype.toJSON().

    *) Bugfix: fixed overwriting “constructor” property of built-in
       prototypes.

    *) Bugfix: fixed processing of invalid surrogate pairs in strings.

    *) Bugfix: fixed processing of invalid surrogate pairs in JSON
       strings.

    *) Bugfix: fixed heap-buffer-overflow in toUpperCase() and
       toLowerCase().

    *) Bugfix: fixed escaping lone closing square brackets in RegExp()
       constructor.

    *) Bugfix: fixed String.prototype.toBytes() for ASCII strings.

    *) Bugfix: fixed handling zero byte characters inside RegExp
       pattern strings.

    *) Bugfix: fixed String.prototype.toBytes() for ASCII strings.

    *) Bugfix: fixed truth value of JSON numbers in JSON.parse().

    *) Bugfix: fixed use-of-uninitialized-value in 
       njs_string_replace_join().

    *) Bugfix: fixed parseInt(‘-0’).
       Thanks to Artem S. Povalyukhin.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-announce/attachments/20190625/2e512dea/attachment.html>


More information about the nginx-announce mailing list