[ANN] ngx_openresty devel version 1.2.1.7 released

agentzh agentzh at gmail.com
Sun Jul 15 01:21:57 UTC 2012


Hi, folks!

After 10 days' active development, I'm pleased to announce the new
development version of ngx_openresty, 1.2.1.7:

   http://openresty.org/#Download

This release features the new UDP and datagram unix domain cosocket
API in the ngx_lua module.

Below is the complete change log for this release, as compared to the
last release (1.2.1.5):

 *   upraded HeadersMoreNginxModule to 0.17.

     *   bugfix: more_clear_input_headers did not remove all the
         instances for the built-in headers or custom headers.

     *   bugfix: more_clear_input_headers might accidentally remove
         request headers that were not specified at all and left the
         specified headers with just empty header values when
         removing multiple built-in headers. thanks Matthieu Tourne
         for reporting the issues.

 *   upgraded LuaNginxModule to 0.5.7.

     *   feature: added an optional "option table" to
         tcpsock:connect() which accepts a "pool" option to allow the
         user specify a custom pool name intead of the automatically
         generated one based on the host-port pair or the socket file
         path. thanks Brian Akins for the patches.

     *   feature: implemented the UDP/unix-datagram cosocket API. the
         entry point is ngx.socket.udp. we preserve API compatibility
         with the LuaSocket library but everything is non-blocking in
         our implementation.

     *   feature: added new Nginx API for Lua:
         ngx.req.set_method(method_id) and ngx.req.get_method. thanks
         Matthieu Tourne for suggesting these.

     *   bugfix: the tcp/stream-unix cosocket object might hang when
         another concurrent request is accessing it while its
         operation is still in progress; now we always check for
         potential access conflicts and return the "socket busy"
         error string if it is indeed the case.

     *   bugfix: the tcpsock:connect() method always returned the
         (vague) error strng "connect peer error" instead of the
         (detailed) system error string when the connect syscall
         failed.

     *   bugfix: the TCP/stream-unix cosocket object might go wrong
         after it connected successfully in a single run (that is, no
         "EAGAIN" returned in the middle) and DNS domain names were
         used.

     *   bugfix: tcpsock:receive() and tcpsock:send() always returned
         "error" as the error message instead of the (detailed)
         system error string.

     *   bugfix: ngx.req.clear_header() did not remove all the
         instances for the built-in headers or custom headers.

     *   bugfix: ngx.req.clear_header() might accidentally remove
         request headers that are not specified at all and left the
         specified headers with just empty header values when
         removing multiple built-in headers. thanks Matthieu Tourne
         for reporting the issues.

     *   bugfix: we did not always test if the request object pointer
         is null in the "ngx.req.*_body" API.

     *   bugfix: ngx.exec() did not accept the "nil" value for its
         second (optional) argument.

     *   bugfix: "ngx.exit(404/500/...)" would throw out Lua errors
         when the response headers with exactly the same status code
         had already been sent. thanks Matthieu Tourne for reporting
         this.

     *   bugfix: gcc might issue the "unused variable" warning when
         PCRE was disabled. thanks Dirk Feytons for the patch.

 *   upgraded LuaRestyRedisLibrary to 0.11.

     *   feature: added the "array_to_hash" method. thanks Brian
         Akins for the patch in github #8.

 *   upgraded LuaRestyMySQLLibrary to 0.09.

     *   feature: added the "compact_arrays" option to the
         "connect()" method to make the driver return arrays of
         arrays instead of the (default) arrays of hashes. thanks
         Lance Li for requesting this feature.

     *   feature: added new method "set_compact_arrays" to change the
         current "compact_arrays" option value used by the current
         object for subsequent queries. thanks Lance Li for
         suggesting it.

     *   feature: added the "pool" option to the "connect()" method.

     *   bugfix: connections to different MySQL databases and/or
         different MySQL users would incorrectly share the same
         connection pool as long as they were connecting to the same
         MySQL server. thanks lhmwzy for reporting the issue.

     *   docs: fixed the "path" option value for the "connect()"
         method in README. it should not take the "unix:" prefix.
         thanks Lance Li.

     *   docs: documented that storing the object instance into lua
         module-level variables will result in failures for
         concurrent requests.

     *   docs: documented that this library cannot be used in those
         contexts where the cosocket API is unavailable.

 *   upgraded the standard Lua interpreter to 5.1.5.

 *   disabled the Lua 5.0 compatibility in the standard Lua
     interpreter bundled.

The HTML version of this change log with some useful hyper-links 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/

Enjoy!
-agentzh



More information about the nginx mailing list