optimize: avoided use of the nginx request objects in ngx.escape_uri, ngx.unescape_uri, ngx.quote_sql_str, ngx.decode_base64, ngx.encode_base64, and ngx.decode_args.
optimize: avoided use of the nginx request objects in ngx.encode_args.
updated README.markdown to reflect recent changes in docs.
refactor: added inline functions ngx_http_lua_get_req and ngx_http_lua_set_req to eliminate code duplication when storing or fetching the nginx request object from the lua global variable table.
refactor: no longer store cf->log into the lua registry table because we can directly access the global ngx_cycle->log thing.
bugfix: t::TestNginxLua: env TEST_NGINX_INIT_BY_LUA would break existing init_by_lua_file directive in the test case.
refactor: now we store the nginx request object as a named Lua global variable __ngx_req to help FFI-based Lua code access it.
bugfix: setting ngx.var.VARIABLE could lead to stack buffer over-read in luaL_error when an error happened.
bugfix: tcpsock:send("") resulted in the error log alert message "send() returned zero".
docs: bumped version to 0.8.4; also mentioned Nginx Systemtap Toolkit.
test: made the resolver less possible to time out in two test cases.
util/build2.sh: default to nginx 1.4.1 now.
bugfix: the ngx.ctx tables would leak memory when ngx.ctx, ngx.exec()/ngx.req.set_uri(uri, true), and log_by_lua were used together in a single location. thanks Guanlan Dai for writing the gdb utils to catch this.
docs: typo fixes in the code sample for body_filter_by_lua. thanks cyberty for reporting this issue as #261.
bugfix: when compiling with -DDDEBUG=1, there was a compilation error in ngx_http_lua_uthread.c. thanks tigeryang for the report in #259.
feature: added new directive lua_regex_match_limit for setting PCRE match_limit for regex matching.
documented the lua_regex_match_limit directive.
docs: documented the memory freeing behavior of shdict:flush_all and shdict:flush_expired.
bumped version to 0.8.5.
bugfix: when our atpanic handler for Lua VM gets called, the Lua VM is not recoverable for future use. so now we try to quit the current nginx worker gracefully so that the nginx master can spawn a new one.