<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Hello,</div><div class=""><br class=""></div><div class="">I’m glad to announce a new release of NGINX JavaScript module (njs).</div><div class=""><br class=""></div><div class="">This release mostly focuses on stability issues in njs core after regular</div><div class="">fuzzing tests were introduced.</div><div class=""><br class=""></div><div class="">Notable new features:</div><div class="">- Added ES5 property getter/setter runtime support:</div><div class="">: > var o = {a:2};</div><div class="">: undefined</div><div class="">: > Object.defineProperty(o, ‘b’, {get:function(){return 2*this.a}}); o.b</div><div class="">: 4</div><div class=""><br class=""></div><div class="">- Added global “process” variable:</div><div class="">: > process.pid</div><div class=""><current process pid></div><div class="">: > process.env.HOME</div><div class=""><current process HOME env variable></div><div class=""><br class=""></div><div class="">You can learn more about njs:</div><div class=""><br class=""></div><div class="">- Overview and introduction: <a href="http://nginx.org/en/docs/njs/" class="">http://nginx.org/en/docs/njs/</a></div><div class="">- Presentation: <a href="https://youtu.be/Jc_L6UffFOs" class="">https://youtu.be/Jc_L6UffFOs</a></div><div class=""><br class=""></div><div class="">Feel free to try it and give us feedback on:</div><div class=""><br class=""></div><div class="">- Github: <a href="https://github.com/nginx/njs/issues" class="">https://github.com/nginx/njs/issues</a></div><div class="">- Mailing list: <a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" class="">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class="">Changes with njs 0.3.3 25 Jun 2019</div><div class=""><br class=""></div><div class=""> nginx modules:</div><div class=""><br class=""></div><div class=""> *) Improvement: getting of special response headers in headersOut.</div><div class=""><br class=""></div><div class=""> *) Improvement: working with unknown methods in r.subrequest().</div><div class=""><br class=""></div><div class=""> *) Improvement: added support for null as a second argument</div><div class=""> of r.subrequest().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed processing empty output chain in stream body filter.</div><div class=""><br class=""></div><div class=""> Core:</div><div class=""> *) Feature: added runtime support for property getter/setter.</div><div class=""> Thanks to 洪志道 (Hong Zhi Dao) and Artem S. Povalyukhin.</div><div class=""><br class=""></div><div class=""> *) Feature: added “process” global object.</div><div class=""><br class=""></div><div class=""> *) Feature: writable most of built-in properties and methods.</div><div class=""><br class=""></div><div class=""> *) Feature: added generic implementation of Array.prototype.fill().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed integer-overflow in String.prototype.concat().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed setting of object properties.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed Array.prototype.toString().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed Date.prototype.toJSON().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed overwriting “constructor” property of built-in</div><div class=""> prototypes.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed processing of invalid surrogate pairs in strings.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed processing of invalid surrogate pairs in JSON</div><div class=""> strings.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed heap-buffer-overflow in toUpperCase() and</div><div class=""> toLowerCase().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed escaping lone closing square brackets in RegExp()</div><div class=""> constructor.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed String.prototype.toBytes() for ASCII strings.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed handling zero byte characters inside RegExp</div><div class=""> pattern strings.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed String.prototype.toBytes() for ASCII strings.</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed truth value of JSON numbers in JSON.parse().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed use-of-uninitialized-value in </div><div class=""> njs_string_replace_join().</div><div class=""><br class=""></div><div class=""> *) Bugfix: fixed parseInt(‘-0’).</div><div class=""> Thanks to Artem S. Povalyukhin.</div></div></body></html>