Ngx_openresty devel version 1.2.7.5 released

Hi folks!

I am happy to announce that the new development version of
ngx_openresty, 1.2.7.5, is now released:

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.7.3:

  • upgraded EchoNginxModule to 0.45.

    • bugfix: $echo_client_request_headers would return the first
      part of the request body when request body was read before
      reading this variable.

    • bugfix: $echo_client_request_headers might not work properly
      in a subrequest.

  • upgraded DrizzleNginxModule to 0.1.5.

    • bugfix: compilation errors occurred with nginx 1.3.15.
      thanks Karl Blessing for reporting this issue.

    • docs: fixed a typo in the sample code for $drizzle_thread_id
      reported by Lanfeng/yyQiuye.

    • docs: documented the config syntax for db passwords with
      special chars in them.

  • upgraded LuaNginxModule to 0.7.20.

    • feature: now we allow the “0” time argument in ngx.sleep().

    • feature: ngx.location.capture and ngx.location.capture_multi
      now return a lua table with the boolean field “truncated”,
      which indicates whether the subrequest response body is
      truncated.

    • bugfix: request hung when rewrite cycled in
      ngx.req.set_uri(uri, true) instead of throwing out an error
      log message and a 500 page properly. thanks Calin D. for
      the report.

    • bugfix: assignment to ngx.status did not take effect when
      the response status line had already been generated (by
      ngx_proxy or others). thanks eqiuno for reporting this
      issue.

    • bugfix: ngx.req.raw_header() would return the first part of
      the request body when request body was read before the call.
      thanks Matthieu T. for reporting this issue.

    • bugfix: ngx.req.raw_header() might not work properly in a
      subrequest.

    • bugfix: we would override the subrequest response status
      code later when error happens.

    • bugfix: the debug log message "lua set uri jump to "
      generated by ngx.req.set_uri(uri, true) was wrong for
      “” was the old URI.

  • upgraded LuaRestyMySQLLibrary to 0.13.

    • bugfix: 64-bit integer values in the MySQL packets (like
      last insert ids) could not be properly parsed due to the
      lack of support for 64-bit integers in LuaJIT’s standard
      “bit” module. thanks Azure Wang for the patch implementing a
      temporary workaround.

    • docs: various typo fixes from Tor Hveem and doledoletree.

  • upgraded LuaRestyMemcachedLibrary to 0.11.

    • feature: added new method “touch” for the new Memcached
      command “touch”. thanks merlin for the patch.
  • updated the upstream_truncation patch for the Nginx core.

    • bugfix: chunked upstream response bodies were treated as
      502. thanks Andy Yuan for the report.

    • bugfix: request response status was changed to 502 after
      response header was sent in case of data truncation.

    • bugfix: the “last buf” (i.e., bufs with “last_buf” or
      “last_in_chain” set) should not be sent downstream in case
      of upstream data truncation.

  • updated the dtrace patch for the Nginx core.

    • feature: made the stap function “ngx_chain_dump()” print out
      info about the “last_buf” and “last_in_chain” flags in bufs
      and removed the old “” notation in the output.

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

http://openresty.org/#ChangeLog1002007

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!