[nginx-announce] njs-0.3.6
Dmitry Volyntsev
xeioex at nginx.com
Tue Oct 22 15:49:16 UTC 2019
Hello,
I'm glad to announce a new release of NGINX JavaScript module (njs).
This release proceeds to extend the coverage of ECMAScript
specifications.
Notable new features:
- Function constructor:
: > var sum = new Function('a, b', 'return a + b');
: undefined
: > sum(2, 3)
: 5
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
Changes with njs 0.3.6 22 Oct 2019
nginx modules:
*) Improvement: getting special headers from r.headersIn.
Core:
*) Feature: added new Function() support.
*) Feature: added Number.prototype.toFixed().
*) Feature: added Number.prototype.toPrecision().
*) Feature: added Number.prototype.toExponential().
*) Improvement: making "prototype" property of function
instances writable.
*) Improvement: limiting recursion depth while compiling.
*) Improvement: moving global functions to the global object.
*) Bugfix: fixed prototype mutation for object literals.
*) Bugfix: fixed heap-buffer-overflow while parsing regexp literals.
*) Bugfix: fixed integer-overflow while parsing exponent
of number literals.
*) Bugfix: fixed parseFloat().
*) Bugfix: fixed Array.prototype functions according to the
specification.
The following functions were fixed: every, includes, indexOf,
filter,
find, findIndex, forEach, lastIndexOf, map, pop, push, reduce,
reduceRight, shift, some, unshift.
*) Bugfix: fixed handing of accessor descriptors in Object.freeze().
*) Bugfix: fixed String.prototype.replace() when first argument
is not a string.
*) Bugfix: fixed stack-use-after-scope in Array.prototype.map().
*) Bugfix: Date.prototype.toUTCString() format was aligned to ES9.
*) Bugfix: fixed buffer overflow in Number.prototype.toString(radix).
*) Bugfix: fixed Regexp.prototype.test() for regexps with
backreferences.
*) Bugfix: fixed Array.prototype.map() for objects with nonexistent
values.
*) Bugfix: fixed Array.prototype.pop() and shift() for sparse objects.
*) Bugfix: fixed Date.UTC() according to the specification.
*) Bugfix: fixed Date() constructor according to the specification.
*) Bugfix: fixed type of Date.prototype.
Thanks to Artem S. Povalyukhin.
*) Bugfix: fixed Date.prototype.setTime().
Thanks to Artem S. Povalyukhin.
*) Bugfix: fixed default number of arguments expected by built-in
functions.
*) Bugfix: fixed "caller" and "arguments" properties of a function
instance.
Thanks to Artem S. Povalyukhin.
More information about the nginx-announce
mailing list