|agentzh||Jan 13, 2012 1:10 am|
|Subject:||[ANN] ngx_echo module v0.37 released!|
|Date:||Jan 13, 2012 1:10:19 am|
I'm happy to announce the v0.37 release of the ngx_echo module, which includes lots of bugfixes in the last 6 months.
You can get the release tarball from the download page below
Here's the complete change log for this release (compared to the last release, v0.36):
* bugfix: data truncation might occur with echo_after_body in not-so-good networks (we should be prepared for NGX_AGAIN returned by downstream output filters). thanks Kindy Lin for reporting it.
* bugfix: we no longer check sync buffers for subrequests because it is incorrect.
* bugfix: fixed a bug when sending out response headers: we did not take into account the NGX_ERROR error code returned by ngx_http_send_header.
* bugfix: we did not work with HEAD http requests before.
* bugfix: now we carefully eliminate empty flush buffers in echo_after_body to work around a long-standing bug in the standard HttpGzipModule.
* bugfix: we might send empty chain link in echo_after_body because it may trigger the infamous "the http output chain is empty" alert in error.log when the standard HttpSsiModule is disabled. thanks Sparsh Gupta.
* bugfix: we did not set subrequest's Content-Length request headers which could cause problems in the backends.
* bugfix: echo_exec + named locations might cause weird issues and now we explicitly clear all the modules' contexts before calling ngx_http_named_location.
* bugfix: echo_exec might hang when running after echo_sleep (or other I/O interruption calls): we should have called ngx_http_finalize_request on NGX_DONE to decrement r->main->count anyway.
* bugfix: there was a memory issue in both echo_sleep and echo_blocking_sleep: we should not pass ngx_str_t strings to atof() which expects C strings.
* bugfix: some users report that this module cannot be compiled with Nginx 1.0.x on their systems due to ngx_time_update (as in github issue #7). this is a blind attemp to fix it because we could not reproduce it on our side.
* bugfix: fixed places in the source code that we did not check null pointers returned by the memory allocator.
You can also view the HTML-version of the change log here (which may look better):
The ngx_echo module wraps lots of Nginx internal APIs for streaming input and output, parallel/sequential subrequests, timers and sleeping, as well as various meta data accessing. You can read the full documentation on the following wiki page:
and you can always get the latest source code from GitHub:
The ngx_echo module is included and enabled by default in our ngx_openresty bundle:
Happy echoing! -agentzh