[ANN] ngx_openresty devel version 1.2.1.9 released

agentzh agentzh at gmail.com
Tue Jul 31 06:15:56 UTC 2012


Hi, folks!

After more than two weeks' active development, I'm pleased to announce the
new development version of ngx_openresty, 1.2.1.9:

   http://openresty.org/#Download

Below is the complete change log for this release, as compared to the last
release, 1.2.1.7:

 *   upgraded LuaRestyMySQLLibrary to 0.10.

     *   bugfix: the MySQL "bigint" fields might overflow when
         converting to lua numbers. now we no longer convert such
         fields into Lua numbers and instead, just treat them as Lua
         strings. thanks Lance Li for reporting this issue.

 *   upgraded LuaNginxModule to 0.5.11.

     *   feature: added new Lua API ngx.req.init_body,
         ngx.req.append_body, and ngx.req.finish_body. These new
         functions can be used with the existing "downstream cosocket
         API" (provided by ngx.req.socket) to implement efficient
         Nginx "input filters" in pure Lua. thanks Matthieu Tourne
         for the patches.

     *   feature: added new Lua API ngx.get_phase for retrieving the
         current running phase of the Lua code being executed. thanks
         James Hurst for the patch.

     *   feature: added the first dtrace static probe:
         "nginx_lua:::http-lua-register-preload-package" and
         "nginx_lua:::http-lua-req-socket-consume-preread".

     *   bugfix: the ngx.req.socket() object could not handle
         pipelined requests correctly and resulted in the "400 Bad
         Request" error page in some special cases. thanks Matthieu
         Tourne for helping catching this bug.

     *   bugfix: "buffer error" would happen when the "args" option
         table to ngx.location.capture (and ngx.encode_args)
         contained a multi-value argument whose key also required URI
         escaping. thanks Matthieu Tourne for reporting this.

     *   bugfix: ngx.re.gmatch() might result in segmentation faults
         during nginx request cleanups if the iterator returned by
         ngx.re.gmatch() was collected (by Lua GC) before request
         cleanups. this bug had appeared in LuaNginxModule 0.5.0rc30
         (and OpenResty 1.0.15.9). thanks Wayne for reporting this
         issue.

     *   bugfix: 3rd-party nginx C modules that use the public C API
         function, "ngx_http_lua_add_package_preload", could result
         in segmentation faults at nginx server startup due to
         uninitialized Lua VM pointer. thanks Ray Bejjani for
         reporting this.

     *   bugfix: proper error messages were not always thrown when
         the iterator returned by ngx.re.gmatch was (incorrectly)
         used in the context of another nginx request.

     *   bugfix: fixed several Clang compilation warnings.

 *   feature: applied the dtrace patch to the nginx core that adds
     dtrace static probing support for both the Nginx core and
     3rd-party modules to the Nginx build system. this support can be
     enabled by "./configure --with-dtrace-probes".

 *   feature: added new dtrace static probes to the Nginx core

     *   added 8 kinds of static probes to the subrequest mechanism:
         "nginx:::http-subrequest-cycle",
         "nginx:::http-subrequest-start",
         "nginx:::http-subrequest-finalize-writing",
         "nginx:::http-subrequest-finalize-nonactive",
         "nginx:::http-subrequest-wake-parent",
         "nginx:::http-subrequest-done",
         "nginx:::http-subrequest-post-start", and
         "nginx:::http-subrequest-post-done".

     *   added 2 kinds of static probes to the standard request body
         reader: "nginx:::http-read-body-abort" and
         "nginx:::http-read-body-done".

     *   added 2 kinds of static probes to the standard main request
         header reader: "nginx:::http-read-req-line-done" and
         "nginx:::http-read-req-header-done".

     *   added 1 kind of static probes to the configuration loader:
         "nginx:::http-module-post-config".

     *   added the "nginx.stp" stapset script for systemtap:
         https://github.com/agentzh/nginx-dtrace/blob/master/src/dtra
         ce/nginx.stp

     *   added the stap-nginx wrapper sh script for systemtap's
         "stap" command for nginx. this script will be installed to
         "$PREFIX/sbin/" when the "./configure" option
         "--with-dtrace-probes" is specified.

 *   bugfix: fixed an issue regarding subrequests in
     allow_request_body_updating.patch.

The HTML version of the change contains lots of helpful hyper-links
and can be browsed here:

    http://openresty.org/#ChangeLog1002001

Special thanks go to all our contributors and users for helping make this
happen :)

OpenResty (aka. ngx_openresty) is a full-fledged web application server by
bundling the standard Nginx core, lots of 3rd-party Nginx modules, as well
as most of their external dependencies. See OpenResty's homepage for
details:

    http://openresty.org/

Have fun!
-agentzh



More information about the nginx mailing list