Hi, folks!<br><div class="gmail_quote"><br>I'm happy to announce that the new stable release of ngx_openresty, 1.0.10.24, has just been kicked out of door:<br><br> <a href="http://openresty.org/#Download" target="_blank">http://openresty.org/#Download</a><br>
<br>
This is the first stable release of ngx_openresty that is based on the Nginx core 1.0.10.<br>
<br>Special thanks go to all our contributors and users to help make this release happen :)<br><br>Here goes the complete change log for this release, as compared to the last stable release, 1.0.9.10, released nearly one month ago:<br>
<div><ul><li> upgraded the Nginx core to 1.0.10.</li><li> upgraded <a title="LuaNginxModule - ZhangYichun, Fri 26 Aug 2011 09:10:00 AM CST">LuaNginxModule</a> to 0.3.1rc38.<ul>
<li> feature: added opions <code>copy_all_vars</code> and <code>vars</code> to <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.location.capture" href="http://wiki.nginx.org/HttpLuaModule#ngx.location.capture" target="_blank">ngx.location.capture</a> and <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.location.capture_multi" href="http://wiki.nginx.org/HttpLuaModule#ngx.location.capture_multi" target="_blank">ngx.location.capture_multi</a>. thanks Marcus Clyne for the patch.</li>
<li> feature: added new Lua API <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.now" href="http://wiki.nginx.org/HttpLuaModule#ngx.now" target="_blank">ngx.now</a> to return the current time (including the ms part as the decimal part). thanks 林青.</li>
<li> feature: added new Lua API <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.update_time" href="http://wiki.nginx.org/HttpLuaModule#ngx.update_time" target="_blank">ngx.update_time</a> to forcibly updating nginx's time cache.</li>
<li> feature: added <code>wait</code> boolean argument to <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.flush" href="http://wiki.nginx.org/HttpLuaModule#ngx.flush" target="_blank">ngx.flush()</a> to support synchronous flushing; <code>ngx.flush(true)</code> will not return until all the data has been flushed into the system send buffer or the send timeout has expired.</li>
<li> feature: added constant <code>ngx.HTTP_GATEWAY_TIMEOUT</code> (504) per Fry-kun in <a title="External link to https://github.com/chaoslawful/lua-nginx-module/issues/73" href="https://github.com/chaoslawful/lua-nginx-module/issues/73" target="_blank">github issue #73</a>.</li>
<li> feature: added new regex options <code>"j"</code> and <code>"d"</code> to <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.re.match" href="http://wiki.nginx.org/HttpLuaModule#ngx.re.match" target="_blank">ngx.re.match</a>, <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.re.gmatch" href="http://wiki.nginx.org/HttpLuaModule#ngx.re.gmatch" target="_blank">ngx.re.gmatch</a>, <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.re.sub" href="http://wiki.nginx.org/HttpLuaModule#ngx.re.sub" target="_blank">ngx.re.sub</a>, and <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.re.gsub" href="http://wiki.nginx.org/HttpLuaModule#ngx.re.gsub" target="_blank">ngx.re.gsub</a> so as to enable the PCRE <a title="External link to http://www.manpagez.com/man/3/pcrejit/" href="http://www.manpagez.com/man/3/pcrejit/" target="_blank">JIT mode</a> and DFA mode, respectively. thanks <a title="External link to http://weibo.com/egis" href="http://weibo.com/egis" target="_blank">@姜大炮</a> for providing the patch.</li>
<li> feature: added <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.hmac_sha1" href="http://wiki.nginx.org/HttpLuaModule#ngx.hmac_sha1" target="_blank">ngx.hmac_sha1</a>. thanks <a title="External link to http://weibo.com/drdrxp" href="http://weibo.com/drdrxp" target="_blank">drdrxp</a>.</li>
<li> bugfix: fixed a bad regression in <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.location.capture_multi" href="http://wiki.nginx.org/HttpLuaModule#ngx.location.capture_multi" target="_blank">ngx.location.capture_multi</a> when the request option table is specified. this bug had appeared in ngx_lua 0.3.1rc26 and ngx_openresty 1.0.9.1.</li>
<li> bugfix: now we check timed out downstream connections in our write event handler.</li><li> bugfix: use of the <a href="http://ngx.re" target="_blank">ngx.re</a> API might lead to errors like <code>pcre_compile() failed: failed to get memory in ...</code> due to incorrect <code>pcre_malloc</code> and <code>pcre_free</code> handling. thanks Vittly for reporting this as <a title="External link to https://github.com/chaoslawful/lua-nginx-module/issues/72" href="https://github.com/chaoslawful/lua-nginx-module/issues/72" target="_blank">github issue #72</a>.</li>
<li> docs: documented the long-existent <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.md5" href="http://wiki.nginx.org/HttpLuaModule#ngx.md5" target="_blank">ngx.md5</a> and <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.md5_bin" href="http://wiki.nginx.org/HttpLuaModule#ngx.md5_bin" target="_blank">ngx.md5_bin</a> APIs.</li>
<li> docs: massive documentation improvements. thanks Nginx User.</li></ul></li><li> upgraded <a title="MemcNginxModule - ZhangYichun, Fri 26 Aug 2011 09:11:00 AM CST">MemcNginxModule</a> to 0.13rc2.<ul>
<li> bugfix: now we use <code>signed char</code> explicitly instead of the vague <code>char</code> type which could be unsigned by default in certain systems like PowerPC. thanks Dmitry E. Oboukhov.</li></ul></li><li> upgraded <a title="Redis2NginxModule - ZhangYichun, Tue 06 Sep 2011 04:34:00 PM CST">Redis2NginxModule</a> to 0.08rc2.<ul>
<li> bugfix: when <code>char</code> defaults to <code>unsigned char</code>, the Ragel-based Redis response parser could not accept non-ascci bytes. thanks Dmitry E. Oboukhov.</li></ul></li><li> upgraded <a title="RdsJsonNginxModule - ZhangYichun, Tue 21 Jun 2011 04:40:00 PM CST">RdsJsonNginxModule</a> to v0.12rc7.<ul>
<li> added more debug level error log outputs to ease debugging (as discussed in <a title="External link to https://github.com/agentzh/rds-json-nginx-module/issues/2" href="https://github.com/agentzh/rds-json-nginx-module/issues/2" target="_blank">github issue #2</a>).</li>
</ul></li><li> upgraded <a title="XssNginxModule - ZhangYichun, Tue 21 Jun 2011 05:07:00 PM CST">XssNginxModule</a> to v0.03rc7.<ul><li> now we use the <code>ngx_log_debugN</code> macros to emit debugging outputs instead of <code>info</code> level error logging because the latter is costly in production.</li>
<li> bugfix: now we use <code>signed char</code> explicitly instead of the vague <code>char</code> type which could be unsigned by default in certain systems like PowerPC. thanks Dmitry E. Oboukhov.</li></ul></li><li> bugfix: fixed a serious regression for Linux AIO in <a title="External link to https://github.com/agentzh/ngx_openresty/blob/master/patches/nginx-1.0.10-epoll_check_stale_wev.patch" href="https://github.com/agentzh/ngx_openresty/blob/master/patches/nginx-1.0.10-epoll_check_stale_wev.patch" target="_blank">nginx-1.0.10-epoll_check_stale_wev.patch</a>, thanks Maxim Dounin.</li>
</ul></div>
As always, you're welcome to report bugs and feature requests either here or directly to me :)<br><br>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.<br>
<br>By taking adantage of various well-designed Nginx modules, OpenResty effectively turns the nginx server into a powerful web app server, in which the web developers can use the Lua programming language to script various existing nginx C modules and Lua modules and construct extremely high-performance web applications that is capable to handle 10K+ connections.<br>
<br>OpenResty aims to run your server-side web app completely in the Nginx server, leveraging Nginx's event model to do non-blocking I/O not only with the HTTP clients, but also with remote backends like MySQL, PostgreSQL, Memcached, and Redis.<br>
<br>You can find more details on the homepage of ngx_openresty here:<br><br> <a href="http://openresty.org" target="_blank">http://openresty.org</a><br><br>Have fun!<br>
</div>-agentzh<br>