Ngx_openresty devel version released


After more than one week’s active development, I’m happy to announce
that ngx_openresty development version,, is now released:

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

  • upgraded LuaNginxModule to 0.5.5.

    • feature: added new configure directives init_by_lua and
      init_by_lua_file. they can be used to pre-load Lua modules,
      register true Lua global variables, and initialize the
      shared-memory storage defined via lua_shared_dict, at Nginx
      config-loading time. thanks drdrxp for suggesting this new

    • feature: now we print backtrace to “error.log” when Lua
      errors happen in set_by_lua*, header_filter_by_lua*,
      body_filter_by_lua*, and log_by_lua.

    • bugfix: upstream data buffers were not marked as fully
      consumed when body_filter_by_lua* was used and “ngx.arg[1]”
      was overwritten. this could result in connection hang for
      large response bodies. thanks Tzury Bar Yochay for reporting
      this issue.

    • bugfix: gcc complained that “dereferencing type-punned
      pointer will break strict-aliasing rules” when “-O2” or
      above was enabled while compiling. thanks Ryan Ooi for
      reporting this and chaoslawful for fixing it.

  • upgraded LuaRestyRedisLibrary to 0.10.

    • feature: added the Redis “script” command introduced in
      Redis 2.6. thanks Evgeniy D. for suggesting this.

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

    • docs: documented that this lib cannot be used in those
      contexts where the ngx_lua cosocket API is unavailable.

  • upgraded SrcacheNginxModule to 0.14.

    • feature: added new nginx variable $srcache_fetch_status
      which takes one of three values, “BYASS”, “MISS”, and “HIT”.
      thanks Feibo Li for the patch.

    • feature: added new Nginx variable $srcache_store_status
      which takes the value “BYASS” or “STORE”.

    • optimize: removed unused context data field “fetch_sr” on
      the C level to reduce the memory footprint a bit.

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

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

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