<div class="gmail_quote">Hello, folks!<br><br>I'm happy to announce that the new stable release of <span>ngx_openresty</span>, <span>1.0</span>.9<span>.10</span>, 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 <span>ngx_openresty</span> that is based on the Nginx core <span>1.0</span>.9.<br><br>Special thanks go to all our contributors and users for helping make this release happen :)<br>
<br>Here goes the complete change log for this release, as compared to the last stable release, <span>1.0</span>.8.26, released two weeks ago:<br><div><ul><li> upgraded the Nginx core to 1.0.9.</li>
<li> applied the <a title="External link to http://mailman.nginx.org/pipermail/nginx-devel/2011-November/001408.html" href="http://mailman.nginx.org/pipermail/nginx-devel/2011-November/001408.html" target="_blank">epoll_check_stale_wev patch</a> to the Nginx 1.0.9 core. this issue affected <a title="PostgresNginxModule - ZhangYichun, Wed 22 Jun 2011 03:36:00 PM CST">PostgresNginxModule</a> when connecting to a remote PostgreSQL server over a slow network. thanks <a title="External link to http://weibo.com/u/1878897190" href="http://weibo.com/u/1878897190" target="_blank">@ÏþÐñXX</a>.</li>

<li> bugfix: <a title="External link to https://github.com/agentzh/ngx_openresty/blob/master/patches/nginx-1.0.9-variable_header_ignore_no_hash.patch" href="https://github.com/agentzh/ngx_openresty/blob/master/patches/nginx-1.0.9-variable_header_ignore_no_hash.patch" target="_blank">nginx-1.0.9-variable_header_ignore_no_hash.patch</a> might introduce a memory overflow issue in multi-header variables. thanks Markus Linnala.</li>

<li> bugfix: fixed the error message length while the <code>./configure</code> script fails.</li><li> feature: applied <a title="External link to https://github.com/agentzh/ngx_openresty/blob/master/patches/nginx-1.0.9-log_escape_non_ascii.patch" href="https://github.com/agentzh/ngx_openresty/blob/master/patches/nginx-1.0.9-log_escape_non_ascii.patch" target="_blank">a patch</a> to add new directives <code>log_escape_non_ascii</code> to prevent escaping non-ascii bytes in access log variable values. requested by <a title="External link to http://weibo.com/egis" href="http://weibo.com/egis" target="_blank">@½ª´óÅÚ</a>. It can be turned <code>on</code> and <code>off</code>, and default to <code>on</code> just as the standard Nginx version.</li>

<li> upgraded <a title="DrizzleNginxModule - ZhangYichun, Fri 26 Aug 2011 09:12:00 AM CST">DrizzleNginxModule</a> to 0.1.2rc4.<ul><li> bugfix: fixed issues with <code>poll</code>, <code>rtsig</code>, and <code>select</code> used by the Nginx event model by eliminating the <code>poll</code> syscall performed by <code>libdrizzle</code>. This also gives rise to a nice speedup (about 10% in simple cases).</li>

</ul></li><li> upgraded <a title="LuaNginxModule - ZhangYichun, Fri 26 Aug 2011 09:10:00 AM CST">LuaNginxModule</a> to 0.3.1rc28.<ul><li> feature: added the <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.encode_args" href="http://wiki.nginx.org/HttpLuaModule#ngx.encode_args" target="_blank">ngx.encode_args</a> method to encode a Lua code to a URI query string. thanks ¹ùÓ± (<a title="External link to http://weibo.com/shrimp0597" href="http://weibo.com/shrimp0597" target="_blank">0597Ϻ</a>).</li>

<li> feature: <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.exec" href="http://wiki.nginx.org/HttpLuaModule#ngx.exec" target="_blank">ngx.exec</a> now supports the same Lua args table format as in <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.encode_args" href="http://wiki.nginx.org/HttpLuaModule#ngx.encode_args" target="_blank">ngx.encode_args</a>. thanks ¹ùÓ± (<a title="External link to http://weibo.com/shrimp0597" href="http://weibo.com/shrimp0597" target="_blank">0597Ϻ</a>).</li>

<li> bugfix: <code>Cache-Control</code> header modification might introduce empty value headers when using with the standard <a title="External link to http://wiki.nginx.org/HttpHeadersModule" href="http://wiki.nginx.org/HttpHeadersModule" target="_blank">ngx_headers</a> module.</li>

<li> feature: added the <code>ctx</code> option 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>: you can now specify a custom Lua table to pass to the subrequest as its <a title="External link to http://wiki.nginx.org/HttpLuaModule#ngx.ctx" href="http://wiki.nginx.org/HttpLuaModule#ngx.ctx" target="_blank">ngx.ctx</a>. thanks <a title="External link to http://weibo.com/hugozhu" href="http://weibo.com/hugozhu" target="_blank">@hugozhu</a>.</li>

<li> bugfix: fixed compatibility with nginx 0.8.54. thanks <a title="External link to http://weibo.com/shrimp0597" href="http://weibo.com/shrimp0597" target="_blank">@0579Ϻ</a>.</li></ul></li><li> upgraded <a title="HeadersMoreNginxModule - ZhangYichun, Fri 26 Aug 2011 09:10:00 AM CST">HeadersMoreNginxModule</a> to 0.16rc4.<ul>

<li> bugfix: <code>Cache-Control</code> header modification might introduce empty value headers when using with the standard <a title="External link to http://wiki.nginx.org/HttpHeadersModule" href="http://wiki.nginx.org/HttpHeadersModule" target="_blank">ngx_headers</a> module.</li>

</ul></li><li> upgraded <a title="PostgresNginxModule - ZhangYichun, Wed 22 Jun 2011 03:36:00 PM CST">PostgresNginxModule</a> to 0.9rc2<ul><li> bugfix: now we log an error message when the <code>postgres_pass</code> target is not found at all and returns 500 in this case instead of returning empty response.</li>

<li>  bugfix: we should no longer return <code>NGX_AGAIN</code> when the re-polling returns IO WAIT in case of the "connection made" state.</li><li> feature: added some debugging outputs which be enabled by passing the <code>--with-debug</code> option while building Nginx or <a title="OpenResty - ZhangYichun, Tue 21 Jun 2011 01:09:00 PM CST">OpenResty</a>.</li>

<li> bugfix: fixed compatibility issues with Nginx 1.1.4+: <code>ngx_chain_update_chains</code> now requires a pool argument.</li></ul></li><li> upgraded <a title="LuaRdsParserLibrary - ZhangYichun, Wed 31 Aug 2011 03:40:00 PM CST">LuaRdsParserLibrary</a> to 0.04.<ul>

<li> bugfix: fixed a serious memory leak reported by bearnard.</li></ul></li><li> upgraded <a title="XssNginxModule - ZhangYichun, Tue 21 Jun 2011 05:07:00 PM CST">XssNginxModule</a> to 0.03rc5.<ul>
<li> bugfix: the callback argument value parser did not accept JavaScript identifier names started with underscores. thanks Sam Mulube.</li></ul></li></ul></div>As always, you're welcome to report bugs and feature requests either here or directly to me :)<br>

<br>It'll also be highly appreciated to try out the devel releases (based on the Nginx core <span>1.0</span>.10+) that are coming out later ;)<br>
<br>OpenResty (aka. <span><span>ngx_openresty</span></span>) is a full-fledged web application server by bundling the standard <a title="Nginx - ZhangYichun, Tue 21 Jun 2011 04:24:00 PM CST">Nginx</a> core, lots of <a title="External link to http://wiki.nginx.org/3rdPartyModules" href="http://wiki.nginx.org/3rdPartyModules" target="_blank">3rd-party Nginx modules</a>, 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 <span><span>ngx_openresty</span></span> here:<br><br>    <a href="http://openresty.org/" target="_blank">http://openresty.org</a><br>


<br>Have fun!<br>-agentzh<br>
</div><br>