feature: the C implementation for set SSL private keys now supports
non-RSA private keys as well. thanks Alessandro Ghedini for the patch.
feature: ngx.log() and print() now accept Lua tables with the __tostring
metamethod.
feature: added new API, ngx.config.subsystem, which always takes the Lua string value "http" in this module.
feature: added new API function ngx.socket.stream() which is an alias to ngx.socket.tcp().
feature: added HTTP 2.0 support to ngx.req.http_version().
feature: this module can now be built as a "dynamic module" with NGINX 1.9.11+ via the --add-dynamic-module=PATH
option of ./configure
.
bugfix: balancer_by_lua* did not respect "lua_code_cache off". thanks XI WANG for the report and Dejiang Zhu for the patch.
bugfix: hot loop might happen when balancer_by_lua* was used with the keepalive directive. thanks GhostZch for the report.
bugfix: balancer_by_lua* might crash the nginx worker when SSL (https) is used for upstream connections. thanks Alistair Wooldrige for the report.
bugfix: stream-typed cosockets: we did not set the "error" field of the ngx_connection_t
object which MIGHT lead to socket leaks.
bugfix: avoided a potential memory issue when the request handler is aborted prematurely (via ngx.exit, for example) while a light thread is still waiting on ngx.flush(true).
bugfix: we might not respond to client abort events when lua_check_client_abort is on.
bugfix: fixed the compiler warning "unused variable" when compiling
with nginx cores older than 1.7.5 (exclusive). thanks Marc Neudert for
the patch.
bugfix: fixed compilation errors with LibreSSL by disabling ssl_certificiate_by_lua* and some ngx.ssl API functions that are not supported by LibreSSL. thanks George Liu and Bret for the reports.
bugfix: fixed compilation errors with nginx 1.9.11+. thanks Charles R. Portwood II and Tomas Kvasnicka for the reports.
bugfix: fixed compatibility issues with other nginx modules loaded as "dynamic modules" in NGINX 1.9.11+.
bugfix: SSL: set error message on i2d_X509()
failure as well. thanks Alessandro Ghedini for the patch.
bugfix: SSL: remove leading white space from error messages. thanks Alessandro Ghedini for the patch.
optimize: use lua_pushliteral()
for string literals. thanks Tatsuhiko Kubo for the patch.
change: unmatched submatch captures are now set to false
instead of nil
in the captures table (named captures are not affected). thanks Julien Desgats for the patch.
change: ngx.req.get_post_args: returns error message instead of raising an exception when request body is in temp file. thanks yejingx for the patch.
change: ngx.shared.DICT: throws a Lua error when the exptime
argument is invalid.
doc: documented that ngx.req.get_body_data() is available in the context of log_by_lua*. thanks YuanSheng Wang for the patch.
doc: added balancer_by_lua* and ssl_certificate_by_lua* to the context of some Lua API functions. thanks Dejiang Zhu for the patch.
doc: fixed the documentation of log_by_lua* which actually runs after nginx's access log handler.
doc: updated the documentation for ngx.req.discard_body() to reflect recent changes. now ignoring request bodies indeed trigger discarding the body upon request finalization.
doc: updated the docs of ngx.get_phase() for new Lua execution contexts. thanks Thibault Charbonnier for the patches.
doc: typo fix in sample configurations from othree.
doc: typo fix in sample configurations from Adam Malone.
doc: typo fix from Prayag Verma.
doc: typo fix from leemingtian.