[nginx-announce] njs-0.3.4
Dmitry Volyntsev
xeioex at nginx.com
Tue Aug 13 16:10:33 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. Apart from specs conformance fuzzing under
Memory-Sanitizer is introduced which allowed to catch new types of bugs.
Notable new features:
- Shorthand method names (ES2015):
: > ({foo(){return 123}}).foo() // ({foo:function(){return 123}})
: 123
- Computed property names (ES2015)
: > ({['b' + 'ar']:123}).bar
: 123
- added getter/setter literal support:
: > ({get foo(){return 123}}).foo
: 123
: > ({get ['f' + 'oo'](){return 123}}).foo
: 123
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.4 13 Aug 2019
Core:
*) Feature: added Object shorthand methods and computed property
names. Thanks to 洪志道 (Hong Zhi Dao) and Artem S. Povalyukhin.
*) Feature: added getter/setter literal support.
Thanks to 洪志道 (Hong Zhi Dao) and Artem S. Povalyukhin.
*) Feature: added fs.renameSync().
*) Feature: added String.prototype.trimStart() and
String.prototype.trimEnd().
*) Improvement: added memory-sanitizer support.
*) Improvement: Unicode case tables updated to version 12.1.
*) Improvement: added UTF8 validation for string literals.
*) Bugfix: fixed reading files with zero size in fs.readFileSync().
*) Bugfix: extended the list of space separators in
String.prototype.trim().
*) Bugfix: fixed using of uninitialized value in
String.prototype.padStart().
*) Bugfix: fixed String.prototype.replace() for '$0' and '$&'
replacement string.
*) Bugfix: fixed String.prototype.replace() for byte strings with
regex argument.
*) Bugfix: fixed global match in String.prototype.replace()
with regexp argument.
*) Bugfix: fixed Array.prototype.slice() for primitive types.
*) Bugfix: fixed heap-buffer-overflow while importing module.
*) Bugfix: fixed UTF-8 character escaping.
*) Bugfix: fixed Object.values() and Object.entries() for shared
objects.
*) Bugfix: fixed uninitialized memory access in
String.prototype.match().
*) Bugfix: fixed String.prototype.match() for byte strings with
regex argument.
*) Bugfix: fixed Array.prototype.lastIndexOf() with undefined
arguments.
*) Bugfix: fixed String.prototype.substring() with empty substring.
*) Bugfix: fixed invalid memory access in
String.prototype.substring().
*) Bugfix: fixed String.fromCharCode() for code points > 65535
and NaN.
*) Bugfix: fixed String.prototype.toLowerCase() and
String.prototype.toUpperCase().
*) Bugfix: fixed Error() constructor with no arguments.
*) Bugfix: fixed "in" operator for values with accessor descriptors.
*) Bugfix: fixed Object.defineProperty() for non-boolean descriptor
props.
*) Bugfix: fixed Error.prototype.toString() with UTF8 string
properties.
*) Bugfix: fixed Error.prototype.toString() with non-string values
for "name" and "message".
More information about the nginx-announce
mailing list