This release focuses on stabilization of recently released features
and fixing bugs found by various fuzzers.
Learn more about njs:
- Overview and introduction: https://nginx.org/en/docs/njs/
- Extending NGINX with Custom Code: https://youtu.be/0CVhq4AUU7M
- Using node modules with njs:
- Writing njs code using TypeScript definition files:
We are hiring:
If you are a C programmer, passionate about Open Source and you
love what we do, consider the following career opportunity:
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.5 21 Jun 2022
*) Change: adapting to changes in nginx header structures.
*) Bugfix: fixed r.headersOut special getters when value
*) Change: returning undefined value instead of an empty string
for Content-Type when the header is absent.
*) Bugfix: fixed catching of the exception thrown from an
*) Bugfix: fixed function value initialization.
*) Bugfix: fixed interpreter when await fails.
*) Bugfix: fixed typed-array constructor when source array
is changed while iterating.
*) Bugfix: fixed String.prototype.replace() with byte strings.
*) Bugfix: fixed template literal from producing byte-strings.
*) Bugfix: fixed array iterator with sparse arrays.
*) Bugfix: fixed memory free while converting a flat array to
a slow array.
*) Bugfix: properly handling NJS_DECLINE in promise native
*) Bugfix: fixed working with an array-like object in Promise.all()
Changes with nginx 1.23.0 21 Jun 2022
*) Change in internal API: now header lines are represented as linked
*) Change: now nginx combines arbitrary header lines with identical
names when sending to FastCGI, SCGI, and uwsgi backends, in the
$r->header_in() method of the ngx_http_perl_module, and during lookup
of the "$http_...", "$sent_http_...", "$sent_trailer_...",
"$upstream_http_...", and "$upstream_trailer_..." variables.
*) Bugfix: if there were multiple "Vary" header lines in the backend
response, nginx only used the last of them when caching.
*) Bugfix: if there were multiple "WWW-Authenticate" header lines in the
backend response and errors with code 401 were intercepted or the
"auth_request" directive was used, nginx only sent the first of the
header lines to the client.
*) Change: the logging level of the "application data after close
notify" SSL errors has been lowered from "crit" to "info".
*) Bugfix: connections might hang if nginx was built on Linux 2.6.17 or
newer, but was used on systems without EPOLLRDHUP support, notably
with epoll emulation layers; the bug had appeared in 1.17.5.
Thanks to Marcus Ball.
*) Bugfix: nginx did not cache the response if the "Expires" response
header line disabled caching, but following "Cache-Control" header
line enabled caching.