Ngx_openresty devel version 1.0.15.9 released

Hello!

After more than one week’s active development, the new development
version of ngx_openresty, 1.0.15.9, is now released:

OpenResty® - Open source

Below is the change log for this release:

  • upgraded LuaNginxModule to 0.5.0rc30.

    • feature: new Lua API, ngx.sleep(), for doing non-blocking
      sleep in Lua. thanks jinglong for the patch.

    • feature: ngx.log() now checks if the log level number is in
      the valid range (0 ~ 8). thanks Xiaoyu Chen (smallfish) for
      suggesting this improvement.

    • bugfix: cosocket:receiveuntil could leak memory, especially
      for long pattern string arguments. this bug was caught by
      Test::Nginx::Socket when setting the environment
      “TEST_NGINX_CHECK_LEAK=1”.

    • bugfix: ngx.re.sub() could leak memory when the “replace”
      template argument string is not well-formed and the “o”
      regex option is also specified. this issue was caught by
      Test::Nginx::Socket when setting environment
      “TEST_NGINX_CHECK_LEAK=1”.

    • bugfix: ngx.re.gmatch leaked memory when the “o” option was
      not specified. this bug was caught by Test::Nginx::Socket
      when setting the environment “TEST_NGINX_CHECK_LEAK=1”.

    • bugfix: the Lua “_G” special table did not get cleared when
      lua_code_cache is turned off. thanks Moven for reporting
      this issue.

    • bugfix: cosocket:connect() might hang on socket creation
      errors or segfault later due to left-over state flags.

    • bugfix: refactored on-demand handler registration. the old
      approach rewrites to static (global) variables at
      config-time, which could have potential problems with nginx
      config reloading via the “HUP” signal.

    • optimize: now we no longer call “ngx_http_post_request” to
      wake up the request associated with the current cosocket
      upstream from within the cosocket upstream event handlers,
      but rather call “r->write_event_handler” directly. this
      change can also make backtraces more meaningful because we
      preserve the original calling stack.

    • docs: massive wording improvements from the Nginx Wiki site.
      thanks Dayo.

  • upgraded RdsJsonNginxModule to 0.12rc10.

    • bugfix: refactored on-demand handler registration. the old
      approach rewrites to static (global) variables at
      config-time, which could have potential problems with nginx
      config reloading via the “HUP” signal.
  • bugfix: the (optional) no-pool patch might leak memory. now we
    have updated the no-pool patch to the latest version that is a
    thorough rewrite.

  • bugfix: applied poll_del_event_at_exit patch that fixed a
    segmentation fault in the nginx core when the poll event type is
    used:
    http://mailman.nginx.org/pipermail/nginx-devel/2012-June/002328.html

  • bugfix: applied the resolver_debug_log patch that fixed reads of
    uninitialized memory in the nginx core:
    http://mailman.nginx.org/pipermail/nginx-devel/2012-June/002281.html

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

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 more details:

http://openresty.org/

Have fun!
-agentzh