Ngx_openresty devel version 1.2.4.7 released

Hello!

I am happy to announce the new development version of ngx_openresty,
1.2.4.7:

http://openresty.org/#Download

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

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

  • upgraded LuaJIT to 2.0.0rc3.

  • upgraded LuaNginxModule to 0.7.4.

    • feature: added new directive lua_check_client_abort (default
      to “off”) for monitoring and processing the event that the
      client closes the (downstream) connection prematurely.
      thanks Zhu Dejiang for request this feature.

    • feature: added new Lua API ngx.on_abort() which is used to
      register user Lua function callback for the event that the
      client closes the (downstream) connection prematurely.
      thanks Matthieu T. for suggesting this feature.

    • feature: ngx.exit(N) can now abort pending subrequests when
      “N = 408” (request time out) or “N = 499” (client closed
      request) or “N = -1” (error).

    • bugfix: The TCP/stream cosocket’s connect() method could not
      detect errors like “connection refused” when kqueue was used
      (on FreeBSD or Mac OS X, for example). thanks smallfish for
      reporting this issue.

    • bugfix: reading operations on ngx.req.socket() did not
      return any errors when the request body got truncated; now
      we return the “client aborted” error.

  • upgraded LuaRestyDNSLibrary to 0.09.

    • refactor: avoided using “package.seeall” in Lua module
      definitions, which improves performance and also prevents
      subtle bad side-effects.

    • bugfix: a debugging output might be sent to stdout
      unexpectedly in some code path.

  • upgraded LuaRestyMemcachedLibrary to 0.10.

    • refactor: avoided using “package.seeall” in Lua module
      definitions, which improves performance and also prevents
      subtle bad side-effects.

    • docs: fixed typos in README. thanks cyberty for the patch.

  • upgraded LuaRestyRedisLibrary to 0.15.

    • refactor: avoided using “package.seeall” in Lua module
      definitions, which improves performance and also prevents
      subtle bad side-effects.

    • optimize: avoided using “ipairs()” which is slower than
      plain “for i=1,N” loops.

  • upgraded LuaRestyMySQLLibrary to 0.11.

    • refactor: avoided using “package.seeall” in Lua module
      definitions, which improves performance and also prevents
      subtle bad side-effects.

    • feature: now the new() method will return a string
      describing the error as the second return value in case of
      failures.

  • upgraded LuaRestyUploadLibrary to 0.04.

    • refactor: avoided using “package.seeall” in Lua module
      definitions, which improves performance and also prevents
      subtle bad side-effects.
  • upgraded LuaRestyStringLibrary to 0.07.

    • refactor: avoided using “package.seeall” in Lua module
      definitions, which improves performance and also prevents
      subtle bad side-effects.

    • docs: typo-fixes in the code samples from Bearnard Hibbins.

  • bugfix: Nginx upstream modules could not detect the “connection
    refused” error in time if kqueue was used; now we apply the
    upstream_test_connect_kqueue patch for the Nginx core.

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

http://openresty.org/#ChangeLog1002004

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

http://openresty.org/

We have been running extensive testing on our Amazon EC2 test cluster
and
ensure that all the components (including the Nginx core) play well
together. The latest test report can always be found here:

http://qa.openresty.org

Have fun!
-agentzh