feature: added ngx.HTTP_MKCOL, ngx.HTTP_COPY, ngx.HTTP_MOVE, and other WebDAV request method constants; also added corresponding support to ngx.req.set_method and ngx.location.capture. thanks Adallom Roy for the patch.
feature: allow injecting new user Lua APIs (and overriding existing Lua APIs) in the "ngx" table.
bugfix: ngx.req.set_body_file() always enabled Direct I/O which caused the alert message "fcntl(O_DIRECT) ... Invalid argument" in error logs on file systems lacking the Direct I/O support. thanks Matthieu Tourne for reporting this issue.
bugfix: buffer corruption might happen in ngx.req.set_body_file() when Nginx upstream modules were used later because ngx.req.set_body_file() incorrectly set r->request_body->buf to the in-file buffer which could get reused by ngx_http_upstream for its own purposes.
bugfix: segmentation fault might happen in nginx 1.4.x when calling ngx.req.set_header on the Cookie request headers because recent versions of Nginx no longer always initialize r->headers_in.cookies. thanks Rob W for reporting this issue.
bugfix: fixed the C compiler warning "argument 'nret' might be clobbered by 'longjmp' or 'vfork'" when compiling with Ubuntu 13.04's gcc 4.7.3. thanks jacky and Rajeev's reports.
optimize: ngx.escape_uri now runs faster when the input string contains no special bytes to be escaped.
testing: added custom test scaffold t::TestNginxLua which subclasses Test::Nginx::Socket. it supports the environment TEST_NGINX_INIT_BY_LUA which can be used to add more custom Lua code to the value of the init_by_lua directive in the Nginx configuration.
feature: added the "U" regex option to the ngx.re API to mean enabling the UTF-8 matching mode but disabling UTF-8 validity check on the subject strings. thanks Lance Li for the patch.
bugfix: setting ngx.header.etag could not affect other things reading the ETag response header (like the etag directive introduced in Nginx 1.3.3+). thanks Brian Akins for the patch.
bugfix: when lua_http10_buffering is on, for HTTP 1.0 requests, ngx.exit(N) would always trigger the Nginx's own error pages when N >= 300. thanks Matthieu Tourne for reporting this issue.
bugfix: modifying the Cookie request headers via ngx.req.set_header or ngx.req.clear_header did not update the Nginx internal data structure, r->headers_in.cookies, at the same time, which might cause issues when reading variables $cookie_COOKIE, for example. thanks Matthieu Tourne for the patch.
bugfix: modifying the Connection request header via ngx.req.set_header or ngx.req.clear_header did not update the special internal field in the Nginx core, r->headers_in.connection_type. Thanks Matthieu Tourne for the patch.
bugfix: modifying the User-Agent request header via ngx.req.set_header or ngx.req.clear_header did not update those special internal flags in the Nginx core, like r->headers_in.msie6 and r->headers_in.opera. Thanks Matthieu Tourne for the patch.
bugfix: fixed several places in the header API where we should return NGX_ERROR instead of NGX_HTTP_INTERNAL_SERVER_ERROR.
bugfix: no longer pass -O0 to gcc when the --with-debug configure option
is specified because gcc often generates bogus DWARF info when optimization
is turned off.
See ChangeLog 1.2.7 for change log for OpenResty 1.2.7.x.