Back to home page

Nginx cross reference

 
 

    


0001 
0002 Changes with nginx 1.5.0                                         07 May 2013
0003 
0004     *) Security: a stack-based buffer overflow might occur in a worker
0005        process while handling a specially crafted request, potentially
0006        resulting in arbitrary code execution (CVE-2013-2028); the bug had
0007        appeared in 1.3.9.
0008        Thanks to Greg MacManus, iSIGHT Partners Labs.
0009 
0010 
0011 Changes with nginx 1.4.0                                         24 Apr 2013
0012 
0013     *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
0014        --with-openssl option was used; the bug had appeared in 1.3.16.
0015 
0016     *) Bugfix: in a request body handling in the ngx_http_perl_module; the
0017        bug had appeared in 1.3.9.
0018 
0019 
0020 Changes with nginx 1.3.16                                        16 Apr 2013
0021 
0022     *) Bugfix: a segmentation fault might occur in a worker process if
0023        subrequests were used; the bug had appeared in 1.3.9.
0024 
0025     *) Bugfix: the "tcp_nodelay" directive caused an error if a WebSocket
0026        connection was proxied into a unix domain socket.
0027 
0028     *) Bugfix: the $upstream_response_length variable has an incorrect value
0029        "0" if buffering was not used.
0030        Thanks to Piotr Sikora.
0031 
0032     *) Bugfix: in the eventport and /dev/poll methods.
0033 
0034 
0035 Changes with nginx 1.3.15                                        26 Mar 2013
0036 
0037     *) Change: opening and closing a connection without sending any data in
0038        it is no longer logged to access_log with error code 400.
0039 
0040     *) Feature: the ngx_http_spdy_module.
0041        Thanks to Automattic for sponsoring this work.
0042 
0043     *) Feature: the "limit_req_status" and "limit_conn_status" directives.
0044        Thanks to Nick Marden.
0045 
0046     *) Feature: the "image_filter_interlace" directive.
0047        Thanks to Ian Babrou.
0048 
0049     *) Feature: $connections_waiting variable in the
0050        ngx_http_stub_status_module.
0051 
0052     *) Feature: the mail proxy module now supports IPv6 backends.
0053 
0054     *) Bugfix: request body might be transmitted incorrectly when retrying a
0055        request to the next upstream server; the bug had appeared in 1.3.9.
0056        Thanks to Piotr Sikora.
0057 
0058     *) Bugfix: in the "client_body_in_file_only" directive; the bug had
0059        appeared in 1.3.9.
0060 
0061     *) Bugfix: responses might hang if subrequests were used and a DNS error
0062        happened during subrequest processing.
0063        Thanks to Lanshun Zhou.
0064 
0065     *) Bugfix: in backend usage accounting.
0066 
0067 
0068 Changes with nginx 1.3.14                                        05 Mar 2013
0069 
0070     *) Feature: $connections_active, $connections_reading, and
0071        $connections_writing variables in the ngx_http_stub_status_module.
0072 
0073     *) Feature: support of WebSocket connections in the
0074        ngx_http_uwsgi_module and ngx_http_scgi_module.
0075 
0076     *) Bugfix: in virtual servers handling with SNI.
0077 
0078     *) Bugfix: new sessions were not always stored if the "ssl_session_cache
0079        shared" directive was used and there was no free space in shared
0080        memory.
0081        Thanks to Piotr Sikora.
0082 
0083     *) Bugfix: multiple X-Forwarded-For headers were handled incorrectly.
0084        Thanks to Neal Poole for sponsoring this work.
0085 
0086     *) Bugfix: in the ngx_http_mp4_module.
0087        Thanks to Gernot Vormayr.
0088 
0089 
0090 Changes with nginx 1.3.13                                        19 Feb 2013
0091 
0092     *) Change: a compiler with name "cc" is now used by default.
0093 
0094     *) Feature: support for proxying of WebSocket connections.
0095        Thanks to Apcera and CloudBees for sponsoring this work.
0096 
0097     *) Feature: the "auth_basic_user_file" directive supports "{SHA}"
0098        password encryption method.
0099        Thanks to Louis Opter.
0100 
0101 
0102 Changes with nginx 1.3.12                                        05 Feb 2013
0103 
0104     *) Feature: variables support in the "proxy_bind", "fastcgi_bind",
0105        "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
0106 
0107     *) Feature: the $pipe, $request_length, $time_iso8601, and $time_local
0108        variables can now be used not only in the "log_format" directive.
0109        Thanks to Kiril Kalchev.
0110 
0111     *) Feature: IPv6 support in the ngx_http_geoip_module.
0112        Thanks to Gregor Kališnik.
0113 
0114     *) Bugfix: in the "proxy_method" directive.
0115 
0116     *) Bugfix: a segmentation fault might occur in a worker process if
0117        resolver was used with the poll method.
0118 
0119     *) Bugfix: nginx might hog CPU during SSL handshake with a backend if
0120        the select, poll, or /dev/poll methods were used.
0121 
0122     *) Bugfix: the "[crit] SSL_write() failed (SSL:)" error.
0123 
0124     *) Bugfix: in the "client_body_in_file_only" directive; the bug had
0125        appeared in 1.3.9.
0126 
0127     *) Bugfix: in the "fastcgi_keep_conn" directive.
0128 
0129 
0130 Changes with nginx 1.3.11                                        10 Jan 2013
0131 
0132     *) Bugfix: a segmentation fault might occur if logging was used; the bug
0133        had appeared in 1.3.10.
0134 
0135     *) Bugfix: the "proxy_pass" directive did not work with IP addresses
0136        without port specified; the bug had appeared in 1.3.10.
0137 
0138     *) Bugfix: a segmentation fault occurred on start or during
0139        reconfiguration if the "keepalive" directive was specified more than
0140        once in a single upstream block.
0141 
0142     *) Bugfix: parameter "default" of the "geo" directive did not set
0143        default value for IPv6 addresses.
0144 
0145 
0146 Changes with nginx 1.3.10                                        25 Dec 2012
0147 
0148     *) Change: domain names specified in configuration file are now resolved
0149        to IPv6 addresses as well as IPv4 ones.
0150 
0151     *) Change: now if the "include" directive with mask is used on Unix
0152        systems, included files are sorted in alphabetical order.
0153 
0154     *) Change: the "add_header" directive adds headers to 201 responses.
0155 
0156     *) Feature: the "geo" directive now supports IPv6 addresses in CIDR
0157        notation.
0158 
0159     *) Feature: the "flush" and "gzip" parameters of the "access_log"
0160        directive.
0161 
0162     *) Feature: variables support in the "auth_basic" directive.
0163 
0164     *) Bugfix: nginx could not be built with the ngx_http_perl_module in
0165        some cases.
0166 
0167     *) Bugfix: a segmentation fault might occur in a worker process if the
0168        ngx_http_xslt_module was used.
0169 
0170     *) Bugfix: nginx could not be built on MacOSX in some cases.
0171        Thanks to Piotr Sikora.
0172 
0173     *) Bugfix: the "limit_rate" directive with high rates might result in
0174        truncated responses on 32-bit platforms.
0175        Thanks to Alexey Antropov.
0176 
0177     *) Bugfix: a segmentation fault might occur in a worker process if the
0178        "if" directive was used.
0179        Thanks to Piotr Sikora.
0180 
0181     *) Bugfix: a "100 Continue" response was issued with "413 Request Entity
0182        Too Large" responses.
0183 
0184     *) Bugfix: the "image_filter", "image_filter_jpeg_quality" and
0185        "image_filter_sharpen" directives might be inherited incorrectly.
0186        Thanks to Ian Babrou.
0187 
0188     *) Bugfix: "crypt_r() failed" errors might appear if the "auth_basic"
0189        directive was used on Linux.
0190 
0191     *) Bugfix: in backup servers handling.
0192        Thanks to Thomas Chen.
0193 
0194     *) Bugfix: proxied HEAD requests might return incorrect response if the
0195        "gzip" directive was used.
0196 
0197 
0198 Changes with nginx 1.3.9                                         27 Nov 2012
0199 
0200     *) Feature: support for chunked transfer encoding while reading client
0201        request body.
0202 
0203     *) Feature: the $request_time and $msec variables can now be used not
0204        only in the "log_format" directive.
0205 
0206     *) Bugfix: cache manager and cache loader processes might not be able to
0207        start if more than 512 listen sockets were used.
0208 
0209     *) Bugfix: in the ngx_http_dav_module.
0210 
0211 
0212 Changes with nginx 1.3.8                                         30 Oct 2012
0213 
0214     *) Feature: the "optional_no_ca" parameter of the "ssl_verify_client"
0215        directive.
0216        Thanks to Mike Kazantsev and Eric O'Connor.
0217 
0218     *) Feature: the $bytes_sent, $connection, and $connection_requests
0219        variables can now be used not only in the "log_format" directive.
0220        Thanks to Benjamin Grössing.
0221 
0222     *) Feature: the "auto" parameter of the "worker_processes" directive.
0223 
0224     *) Bugfix: "cache file ... has md5 collision" alert.
0225 
0226     *) Bugfix: in the ngx_http_gunzip_filter_module.
0227 
0228     *) Bugfix: in the "ssl_stapling" directive.
0229 
0230 
0231 Changes with nginx 1.3.7                                         02 Oct 2012
0232 
0233     *) Feature: OCSP stapling support.
0234        Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work.
0235 
0236     *) Feature: the "ssl_trusted_certificate" directive.
0237 
0238     *) Feature: resolver now randomly rotates addresses returned from cache.
0239        Thanks to Anton Jouline.
0240 
0241     *) Bugfix: OpenSSL 0.9.7 compatibility.
0242 
0243 
0244 Changes with nginx 1.3.6                                         12 Sep 2012
0245 
0246     *) Feature: the ngx_http_gunzip_filter_module.
0247 
0248     *) Feature: the "memcached_gzip_flag" directive.
0249 
0250     *) Feature: the "always" parameter of the "gzip_static" directive.
0251 
0252     *) Bugfix: in the "limit_req" directive; the bug had appeared in 1.1.14.
0253        Thanks to Charles Chen.
0254 
0255     *) Bugfix: nginx could not be built by gcc 4.7 with -O2 optimization if
0256        the --with-ipv6 option was used.
0257 
0258 
0259 Changes with nginx 1.3.5                                         21 Aug 2012
0260 
0261     *) Change: the ngx_http_mp4_module module no longer skips tracks in
0262        formats other than H.264 and AAC.
0263 
0264     *) Bugfix: a segmentation fault might occur in a worker process if the
0265        "map" directive was used with variables as values.
0266 
0267     *) Bugfix: a segmentation fault might occur in a worker process if the
0268        "geo" directive was used with the "ranges" parameter but without the
0269        "default" parameter; the bug had appeared in 0.8.43.
0270        Thanks to Zhen Chen and Weibin Yao.
0271 
0272     *) Bugfix: in the -p command-line parameter handling.
0273 
0274     *) Bugfix: in the mail proxy server.
0275 
0276     *) Bugfix: of minor potential bugs.
0277        Thanks to Coverity.
0278 
0279     *) Bugfix: nginx/Windows could not be built with Visual Studio 2005
0280        Express.
0281        Thanks to HAYASHI Kentaro.
0282 
0283 
0284 Changes with nginx 1.3.4                                         31 Jul 2012
0285 
0286     *) Change: the "ipv6only" parameter is now turned on by default for
0287        listening IPv6 sockets.
0288 
0289     *) Feature: the Clang compiler support.
0290 
0291     *) Bugfix: extra listening sockets might be created.
0292        Thanks to Roman Odaisky.
0293 
0294     *) Bugfix: nginx/Windows might hog CPU if a worker process failed to
0295        start.
0296        Thanks to Ricardo Villalobos Guevara.
0297 
0298     *) Bugfix: the "proxy_pass_header", "fastcgi_pass_header",
0299        "scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header",
0300        "fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header"
0301        directives might be inherited incorrectly.
0302 
0303 
0304 Changes with nginx 1.3.3                                         10 Jul 2012
0305 
0306     *) Feature: entity tags support and the "etag" directive.
0307 
0308     *) Bugfix: trailing dot in a source value was not ignored if the "map"
0309        directive was used with the "hostnames" parameter.
0310 
0311     *) Bugfix: incorrect location might be used to process a request if a
0312        URI was changed via a "rewrite" directive before an internal redirect
0313        to a named location.
0314 
0315 
0316 Changes with nginx 1.3.2                                         26 Jun 2012
0317 
0318     *) Change: the "single" parameter of the "keepalive" directive is now
0319        ignored.
0320 
0321     *) Change: SSL compression is now disabled when using all versions of
0322        OpenSSL, including ones prior to 1.0.0.
0323 
0324     *) Feature: it is now possible to use the "ip_hash" directive to balance
0325        IPv6 clients.
0326 
0327     *) Feature: the $status variable can now be used not only in the
0328        "log_format" directive.
0329 
0330     *) Bugfix: a segmentation fault might occur in a worker process on
0331        shutdown if the "resolver" directive was used.
0332 
0333     *) Bugfix: a segmentation fault might occur in a worker process if the
0334        ngx_http_mp4_module was used.
0335 
0336     *) Bugfix: in the ngx_http_mp4_module.
0337 
0338     *) Bugfix: a segmentation fault might occur in a worker process if
0339        conflicting wildcard server names were used.
0340 
0341     *) Bugfix: nginx might be terminated abnormally on a SIGBUS signal on
0342        ARM platform.
0343 
0344     *) Bugfix: an alert "sendmsg() failed (9: Bad file number)" on HP-UX
0345        while reconfiguration.
0346 
0347 
0348 Changes with nginx 1.3.1                                         05 Jun 2012
0349 
0350     *) Security: now nginx/Windows ignores trailing dot in URI path
0351        component, and does not allow URIs with ":$" in it.
0352        Thanks to Vladimir Kochetkov, Positive Research Center.
0353 
0354     *) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass"
0355        directives, and the "server" directive inside the "upstream" block,
0356        now support IPv6 addresses.
0357 
0358     *) Feature: the "resolver" directive now supports IPv6 addresses and an
0359        optional port specification.
0360 
0361     *) Feature: the "least_conn" directive inside the "upstream" block.
0362 
0363     *) Feature: it is now possible to specify a weight for servers while
0364        using the "ip_hash" directive.
0365 
0366     *) Bugfix: a segmentation fault might occur in a worker process if the
0367        "image_filter" directive was used; the bug had appeared in 1.3.0.
0368 
0369     *) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug
0370        had appeared in 1.1.12.
0371 
0372     *) Bugfix: access to variables from SSI and embedded perl module might
0373        not work after reconfiguration.
0374        Thanks to Yichun Zhang.
0375 
0376     *) Bugfix: in the ngx_http_xslt_filter_module.
0377        Thanks to Kuramoto Eiji.
0378 
0379     *) Bugfix: memory leak if $geoip_org variable was used.
0380        Thanks to Denis F. Latypoff.
0381 
0382     *) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path"
0383        directives.
0384 
0385 
0386 Changes with nginx 1.3.0                                         15 May 2012
0387 
0388     *) Feature: the "debug_connection" directive now supports IPv6 addresses
0389        and the "unix:" parameter.
0390 
0391     *) Feature: the "set_real_ip_from" directive and the "proxy" parameter
0392        of the "geo" directive now support IPv6 addresses.
0393 
0394     *) Feature: the "real_ip_recursive", "geoip_proxy", and
0395        "geoip_proxy_recursive" directives.
0396 
0397     *) Feature: the "proxy_recursive" parameter of the "geo" directive.
0398 
0399     *) Bugfix: a segmentation fault might occur in a worker process if the
0400        "resolver" directive was used.
0401 
0402     *) Bugfix: a segmentation fault might occur in a worker process if the
0403        "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and
0404        backend returned incorrect response.
0405 
0406     *) Bugfix: a segmentation fault might occur in a worker process if the
0407        "rewrite" directive was used and new request arguments in a
0408        replacement used variables.
0409 
0410     *) Bugfix: nginx might hog CPU if the open file resource limit was
0411        reached.
0412 
0413     *) Bugfix: nginx might loop infinitely over backends if the
0414        "proxy_next_upstream" directive with the "http_404" parameter was
0415        used and there were backup servers specified in an upstream block.
0416 
0417     *) Bugfix: adding the "down" parameter of the "server" directive might
0418        cause unneeded client redistribution among backend servers if the
0419        "ip_hash" directive was used.
0420 
0421     *) Bugfix: socket leak.
0422        Thanks to Yichun Zhang.
0423 
0424     *) Bugfix: in the ngx_http_fastcgi_module.
0425 
0426 
0427 Changes with nginx 1.2.0                                         23 Apr 2012
0428 
0429     *) Bugfix: a segmentation fault might occur in a worker process if the
0430        "try_files" directive was used; the bug had appeared in 1.1.19.
0431 
0432     *) Bugfix: response might be truncated if there were more than IOV_MAX
0433        buffers used.
0434 
0435     *) Bugfix: in the "crop" parameter of the "image_filter" directive.
0436        Thanks to Maxim Bublis.
0437 
0438 
0439 Changes with nginx 1.1.19                                        12 Apr 2012
0440 
0441     *) Security: specially crafted mp4 file might allow to overwrite memory
0442        locations in a worker process if the ngx_http_mp4_module was used,
0443        potentially resulting in arbitrary code execution (CVE-2012-2089).
0444        Thanks to Matthew Daley.
0445 
0446     *) Bugfix: nginx/Windows might be terminated abnormally.
0447        Thanks to Vincent Lee.
0448 
0449     *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
0450        "backup".
0451 
0452     *) Bugfix: the "allow" and "deny" directives might be inherited
0453        incorrectly if they were used with IPv6 addresses.
0454 
0455     *) Bugfix: the "modern_browser" and "ancient_browser" directives might
0456        be inherited incorrectly.
0457 
0458     *) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC.
0459 
0460     *) Bugfix: in the ngx_http_mp4_module.
0461 
0462 
0463 Changes with nginx 1.1.18                                        28 Mar 2012
0464 
0465     *) Change: keepalive connections are no longer disabled for Safari by
0466        default.
0467 
0468     *) Feature: the $connection_requests variable.
0469 
0470     *) Feature: $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and
0471        $tcpinfo_rcv_space variables.
0472 
0473     *) Feature: the "worker_cpu_affinity" directive now works on FreeBSD.
0474 
0475     *) Feature: the "xslt_param" and "xslt_string_param" directives.
0476        Thanks to Samuel Behan.
0477 
0478     *) Bugfix: in configure tests.
0479        Thanks to Piotr Sikora.
0480 
0481     *) Bugfix: in the ngx_http_xslt_filter_module.
0482 
0483     *) Bugfix: nginx could not be built on Debian GNU/Hurd.
0484 
0485 
0486 Changes with nginx 1.1.17                                        15 Mar 2012
0487 
0488     *) Security: content of previously freed memory might be sent to a
0489        client if backend returned specially crafted response.
0490        Thanks to Matthew Daley.
0491 
0492     *) Bugfix: in the embedded perl module if used from SSI.
0493        Thanks to Matthew Daley.
0494 
0495     *) Bugfix: in the ngx_http_uwsgi_module.
0496 
0497 
0498 Changes with nginx 1.1.16                                        29 Feb 2012
0499 
0500     *) Change: the simultaneous subrequest limit has been raised to 200.
0501 
0502     *) Feature: the "from" parameter of the "disable_symlinks" directive.
0503 
0504     *) Feature: the "return" and "error_page" directives can now be used to
0505        return 307 redirections.
0506 
0507     *) Bugfix: a segmentation fault might occur in a worker process if the
0508        "resolver" directive was used and there was no "error_log" directive
0509        specified at global level.
0510        Thanks to Roman Arutyunyan.
0511 
0512     *) Bugfix: a segmentation fault might occur in a worker process if the
0513        "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were
0514        used.
0515 
0516     *) Bugfix: memory leaks.
0517        Thanks to Lanshun Zhou.
0518 
0519     *) Bugfix: in the "disable_symlinks" directive.
0520 
0521     *) Bugfix: on ZFS filesystem disk cache size might be calculated
0522        incorrectly; the bug had appeared in 1.0.1.
0523 
0524     *) Bugfix: nginx could not be built by the icc 12.1 compiler.
0525 
0526     *) Bugfix: nginx could not be built by gcc on Solaris; the bug had
0527        appeared in 1.1.15.
0528 
0529 
0530 Changes with nginx 1.1.15                                        15 Feb 2012
0531 
0532     *) Feature: the "disable_symlinks" directive.
0533 
0534     *) Feature: the "proxy_cookie_domain" and "proxy_cookie_path"
0535        directives.
0536 
0537     *) Bugfix: nginx might log incorrect error "upstream prematurely closed
0538        connection" instead of correct "upstream sent too big header" one.
0539        Thanks to Feibo Li.
0540 
0541     *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
0542        --with-openssl option was used.
0543 
0544     *) Bugfix: the number of internal redirects to named locations was not
0545        limited.
0546 
0547     *) Bugfix: calling $r->flush() multiple times might cause errors in the
0548        ngx_http_gzip_filter_module.
0549 
0550     *) Bugfix: temporary files might be not removed if the "proxy_store"
0551        directive was used with SSI includes.
0552 
0553     *) Bugfix: in some cases non-cacheable variables (such as the $args
0554        variable) returned old empty cached value.
0555 
0556     *) Bugfix: a segmentation fault might occur in a worker process if too
0557        many SSI subrequests were issued simultaneously; the bug had appeared
0558        in 0.7.25.
0559 
0560 
0561 Changes with nginx 1.1.14                                        30 Jan 2012
0562 
0563     *) Feature: multiple "limit_req" limits may be used simultaneously.
0564 
0565     *) Bugfix: in error handling while connecting to a backend.
0566        Thanks to Piotr Sikora.
0567 
0568     *) Bugfix: in AIO error handling on FreeBSD.
0569 
0570     *) Bugfix: in the OpenSSL library initialization.
0571 
0572     *) Bugfix: the "proxy_redirect" directives might be inherited
0573        incorrectly.
0574 
0575     *) Bugfix: memory leak during reconfiguration if the "pcre_jit"
0576        directive was used.
0577 
0578 
0579 Changes with nginx 1.1.13                                        16 Jan 2012
0580 
0581     *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the
0582        "ssl_protocols" directive.
0583 
0584     *) Bugfix: the "limit_req" directive parameters were not inherited
0585        correctly; the bug had appeared in 1.1.12.
0586 
0587     *) Bugfix: the "proxy_redirect" directive incorrectly processed
0588        "Refresh" header if regular expression were used.
0589 
0590     *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter
0591        did not return answer from cache if there were no live upstreams.
0592 
0593     *) Bugfix: the "worker_cpu_affinity" directive might not work.
0594 
0595     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
0596        1.1.12.
0597 
0598     *) Bugfix: in the ngx_http_mp4_module.
0599 
0600 
0601 Changes with nginx 1.1.12                                        26 Dec 2011
0602 
0603     *) Change: a "proxy_pass" directive without URI part now uses changed
0604        URI after redirection with the "error_page" directive.
0605        Thanks to Lanshun Zhou.
0606 
0607     *) Feature: the "proxy/fastcgi/scgi/uwsgi_cache_lock",
0608        "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.
0609 
0610     *) Feature: the "pcre_jit" directive.
0611 
0612     *) Feature: the "if" SSI command supports captures in regular
0613        expressions.
0614 
0615     *) Bugfix: the "if" SSI command did not work inside the "block" command.
0616 
0617     *) Bugfix: the "limit_conn_log_level" and "limit_req_log_level"
0618        directives might not work.
0619 
0620     *) Bugfix: the "limit_rate" directive did not allow to use full
0621        throughput, even if limit value was very high.
0622 
0623     *) Bugfix: the "sendfile_max_chunk" directive did not work, if the
0624        "limit_rate" directive was used.
0625 
0626     *) Bugfix: a "proxy_pass" directive without URI part always used
0627        original request URI if variables were used.
0628 
0629     *) Bugfix: a "proxy_pass" directive without URI part might use original
0630        request after redirection with the "try_files" directive.
0631        Thanks to Lanshun Zhou.
0632 
0633     *) Bugfix: in the ngx_http_scgi_module.
0634 
0635     *) Bugfix: in the ngx_http_mp4_module.
0636 
0637     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
0638        1.1.9.
0639 
0640 
0641 Changes with nginx 1.1.11                                        12 Dec 2011
0642 
0643     *) Feature: the "so_keepalive" parameter of the "listen" directive.
0644        Thanks to Vsevolod Stakhov.
0645 
0646     *) Feature: the "if_not_empty" parameter of the
0647        "fastcgi/scgi/uwsgi_param" directives.
0648 
0649     *) Feature: the $https variable.
0650 
0651     *) Feature: the "proxy_redirect" directive supports variables in the
0652        first parameter.
0653 
0654     *) Feature: the "proxy_redirect" directive supports regular expressions.
0655 
0656     *) Bugfix: the $sent_http_cache_control variable might contain a wrong
0657        value if the "expires" directive was used.
0658        Thanks to Yichun Zhang.
0659 
0660     *) Bugfix: the "read_ahead" directive might not work combined with
0661        "try_files" and "open_file_cache".
0662 
0663     *) Bugfix: a segmentation fault might occur in a worker process if small
0664        time was used in the "inactive" parameter of the "proxy_cache_path"
0665        directive.
0666 
0667     *) Bugfix: responses from cache might hang.
0668 
0669 
0670 Changes with nginx 1.1.10                                        30 Nov 2011
0671 
0672     *) Bugfix: a segmentation fault occured in a worker process if AIO was
0673        used on Linux; the bug had appeared in 1.1.9.
0674 
0675 
0676 Changes with nginx 1.1.9                                         28 Nov 2011
0677 
0678     *) Change: now double quotes are encoded in an "echo" SSI-command
0679        output.
0680        Thanks to Zaur Abasmirzoev.
0681 
0682     *) Feature: the "valid" parameter of the "resolver" directive. By
0683        default TTL returned by a DNS server is used.
0684        Thanks to Kirill A. Korinskiy.
0685 
0686     *) Bugfix: nginx might hang after a worker process abnormal termination.
0687 
0688     *) Bugfix: a segmentation fault might occur in a worker process if SNI
0689        was used; the bug had appeared in 1.1.2.
0690 
0691     *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in
0692        1.1.8.
0693        Thanks to Alexander Usov.
0694 
0695     *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the
0696        bug had appeared in 1.1.1.
0697 
0698     *) Bugfix: backend responses with length not matching "Content-Length"
0699        header line are no longer cached.
0700 
0701     *) Bugfix: in the "scgi_param" directive, if complex parameters were
0702        used.
0703 
0704     *) Bugfix: in the "epoll" event method.
0705        Thanks to Yichun Zhang.
0706 
0707     *) Bugfix: in the ngx_http_flv_module.
0708        Thanks to Piotr Sikora.
0709 
0710     *) Bugfix: in the ngx_http_mp4_module.
0711 
0712     *) Bugfix: IPv6 addresses are now handled properly in a request line and
0713        in a "Host" request header line.
0714 
0715     *) Bugfix: "add_header" and "expires" directives did not work if a
0716        request was proxied and response status code was 206.
0717 
0718     *) Bugfix: nginx could not be built on FreeBSD 10.
0719 
0720     *) Bugfix: nginx could not be built on AIX.
0721 
0722 
0723 Changes with nginx 1.1.8                                         14 Nov 2011
0724 
0725     *) Change: the ngx_http_limit_zone_module was renamed to the
0726        ngx_http_limit_conn_module.
0727 
0728     *) Change: the "limit_zone" directive was superseded by the
0729        "limit_conn_zone" directive with a new syntax.
0730 
0731     *) Feature: support for multiple "limit_conn" limits on the same level.
0732 
0733     *) Feature: the "image_filter_sharpen" directive.
0734 
0735     *) Bugfix: a segmentation fault might occur in a worker process if
0736        resolver got a big DNS response.
0737        Thanks to Ben Hawkes.
0738 
0739     *) Bugfix: in cache key calculation if internal MD5 implementation was
0740        used; the bug had appeared in 1.0.4.
0741 
0742     *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
0743        header lines might be passed to backend while caching; or not passed
0744        without caching if caching was enabled in another part of the
0745        configuration.
0746 
0747     *) Bugfix: the module ngx_http_mp4_module sent incorrect
0748        "Content-Length" response header line if the "start" argument was
0749        used.
0750        Thanks to Piotr Sikora.
0751 
0752 
0753 Changes with nginx 1.1.7                                         31 Oct 2011
0754 
0755     *) Feature: support of several DNS servers in the "resolver" directive.
0756        Thanks to Kirill A. Korinskiy.
0757 
0758     *) Bugfix: a segmentation fault occurred on start or during
0759        reconfiguration if the "ssl" directive was used at http level and
0760        there was no "ssl_certificate" defined.
0761 
0762     *) Bugfix: reduced memory consumption while proxying big files if they
0763        were buffered to disk.
0764 
0765     *) Bugfix: a segmentation fault might occur in a worker process if
0766        "proxy_http_version 1.1" directive was used.
0767 
0768     *) Bugfix: in the "expires @time" directive.
0769 
0770 
0771 Changes with nginx 1.1.6                                         17 Oct 2011
0772 
0773     *) Change in internal API: now module context data are cleared while
0774        internal redirect to named location.
0775        Requested by Yichun Zhang.
0776 
0777     *) Change: if a server in an upstream failed, only one request will be
0778        sent to it after fail_timeout; the server will be considered alive if
0779        it will successfully respond to the request.
0780 
0781     *) Change: now the 0x7F-0x1F characters are escaped as \xXX in an
0782        access_log.
0783 
0784     *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support
0785        the following additional values: X-Accel-Limit-Rate,
0786        X-Accel-Buffering, X-Accel-Charset.
0787 
0788     *) Feature: decrease of memory consumption if SSL is used.
0789 
0790     *) Bugfix: some UTF-8 characters were processed incorrectly.
0791        Thanks to Alexey Kuts.
0792 
0793     *) Bugfix: the ngx_http_rewrite_module directives specified at "server"
0794        level were executed twice if no matching locations were defined.
0795 
0796     *) Bugfix: a socket leak might occurred if "aio sendfile" was used.
0797 
0798     *) Bugfix: connections with fast clients might be closed after
0799        send_timeout if file AIO was used.
0800 
0801     *) Bugfix: in the ngx_http_autoindex_module.
0802 
0803     *) Bugfix: the module ngx_http_mp4_module did not support seeking on
0804        32-bit platforms.
0805 
0806 
0807 Changes with nginx 1.1.5                                         05 Oct 2011
0808 
0809     *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
0810        Thanks to Peter Smit.
0811 
0812     *) Bugfix: non-cacheable responses might be cached if
0813        "proxy_cache_bypass" directive was used.
0814        Thanks to John Ferlito.
0815 
0816     *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module.
0817 
0818     *) Bugfix: cached responses with an empty body were returned
0819        incorrectly; the bug had appeared in 0.8.31.
0820 
0821     *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
0822        bug had appeared in 0.8.32.
0823 
0824     *) Bugfix: in the "return" directive.
0825 
0826     *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation
0827        fault; the bug had appeared in 1.1.1.
0828 
0829 
0830 Changes with nginx 1.1.4                                         20 Sep 2011
0831 
0832     *) Feature: the ngx_http_upstream_keepalive module.
0833 
0834     *) Feature: the "proxy_http_version" directive.
0835 
0836     *) Feature: the "fastcgi_keep_conn" directive.
0837 
0838     *) Feature: the "worker_aio_requests" directive.
0839 
0840     *) Bugfix: if nginx was built --with-file-aio it could not be run on
0841        Linux kernel which did not support AIO.
0842 
0843     *) Bugfix: in Linux AIO error processing.
0844        Thanks to Hagai Avrahami.
0845 
0846     *) Bugfix: reduced memory consumption for long-lived requests.
0847 
0848     *) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4
0849        "co64" atom.
0850 
0851 
0852 Changes with nginx 1.1.3                                         14 Sep 2011
0853 
0854     *) Feature: the module ngx_http_mp4_module.
0855 
0856     *) Bugfix: in Linux AIO combined with open_file_cache.
0857 
0858     *) Bugfix: open_file_cache did not update file info on retest if file
0859        was not atomically changed.
0860 
0861     *) Bugfix: nginx could not be built on MacOSX 10.7.
0862 
0863 
0864 Changes with nginx 1.1.2                                         05 Sep 2011
0865 
0866     *) Change: now if total size of all ranges is greater than source
0867        response size, then nginx disables ranges and returns just the source
0868        response.
0869 
0870     *) Feature: the "max_ranges" directive.
0871 
0872     *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and
0873        "ssl_prefer_server_ciphers" directives might work incorrectly if SNI
0874        was used.
0875 
0876     *) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
0877        directives.
0878 
0879 
0880 Changes with nginx 1.1.1                                         22 Aug 2011
0881 
0882     *) Change: now cache loader processes either as many files as specified
0883        by "loader_files" parameter or works no longer than time specified by
0884        the "loader_threshold" parameter during each iteration.
0885 
0886     *) Change: now SIGWINCH signal works only in daemon mode.
0887 
0888     *) Feature: now shared zones and caches use POSIX semaphores on Solaris.
0889        Thanks to Den Ivanov.
0890 
0891     *) Feature: accept filters are now supported on NetBSD.
0892 
0893     *) Bugfix: nginx could not be built on Linux 3.0.
0894 
0895     *) Bugfix: nginx did not use gzipping in some cases; the bug had
0896        appeared in 1.1.0.
0897 
0898     *) Bugfix: request body might be processed incorrectly if client used
0899        pipelining.
0900 
0901     *) Bugfix: in the "request_body_in_single_buf" directive.
0902 
0903     *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
0904        if SSL connection to backend was used.
0905 
0906     *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
0907        "down".
0908 
0909     *) Bugfix: a segmentation fault might occur during reconfiguration if
0910        ssl_session_cache was defined but not used in previous configuration.
0911 
0912     *) Bugfix: a segmentation fault might occur in a worker process if many
0913        backup servers were used in an upstream.
0914 
0915     *) Bugfix: a segmentation fault might occur in a worker process if
0916        "fastcgi/scgi/uwsgi_param" directives were used with values starting
0917        with "HTTP_"; the bug had appeared in 0.8.40.
0918 
0919 
0920 Changes with nginx 1.1.0                                         01 Aug 2011
0921 
0922     *) Feature: cache loader run time decrease.
0923 
0924     *) Feature: "loader_files", "loader_sleep", and "loader_threshold"
0925        options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
0926 
0927     *) Feature: loading time decrease of configuration with large number of
0928        HTTPS sites.
0929 
0930     *) Feature: now nginx supports ECDHE key exchange ciphers.
0931        Thanks to Adrian Kotelba.
0932 
0933     *) Feature: the "lingering_close" directive.
0934        Thanks to Maxim Dounin.
0935 
0936     *) Bugfix: in closing connection for pipelined requests.
0937        Thanks to Maxim Dounin.
0938 
0939     *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in
0940        "Accept-Encoding" request header line.
0941 
0942     *) Bugfix: in timeout in unbuffered proxied mode.
0943        Thanks to Maxim Dounin.
0944 
0945     *) Bugfix: memory leaks when a "proxy_pass" directive contains variables
0946        and proxies to an HTTPS backend.
0947        Thanks to Maxim Dounin.
0948 
0949     *) Bugfix: in parameter validaiton of a "proxy_pass" directive with
0950        variables.
0951        Thanks to Lanshun Zhou.
0952 
0953     *) Bugfix: SSL did not work on QNX.
0954        Thanks to Maxim Dounin.
0955 
0956     *) Bugfix: SSL modules could not be built by gcc 4.6 without
0957        --with-debug option.
0958 
0959 
0960 Changes with nginx 1.0.5                                         19 Jul 2011
0961 
0962     *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5".
0963        Thanks to Rob Stradling.
0964 
0965     *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size"
0966        directives.
0967        Thanks to Witold Filipczyk.
0968 
0969     *) Feature: $uid_reset variable.
0970 
0971     *) Bugfix: a segmentation fault might occur in a worker process, if a
0972        caching was used.
0973        Thanks to Lanshun Zhou.
0974 
0975     *) Bugfix: worker processes may got caught in an endless loop during
0976        reconfiguration, if a caching was used; the bug had appeared in
0977        0.8.48.
0978        Thanks to Maxim Dounin.
0979 
0980     *) Bugfix: "stalled cache updating" alert.
0981        Thanks to Maxim Dounin.
0982 
0983 
0984 Changes with nginx 1.0.4                                         01 Jun 2011
0985 
0986     *) Change: now regular expressions case sensitivity in the "map"
0987        directive is given by prefixes "~" or "~*".
0988 
0989     *) Feature: now shared zones and caches use POSIX semaphores on Linux.
0990        Thanks to Denis F. Latypoff.
0991 
0992     *) Bugfix: "stalled cache updating" alert.
0993 
0994     *) Bugfix: nginx could not be built --without-http_auth_basic_module;
0995        the bug had appeared in 1.0.3.
0996 
0997 
0998 Changes with nginx 1.0.3                                         25 May 2011
0999 
1000     *) Feature: the "auth_basic_user_file" directive supports "$apr1",
1001        "{PLAIN}", and "{SSHA}" password encryption methods.
1002        Thanks to Maxim Dounin.
1003 
1004     *) Feature: the "geoip_org" directive and $geoip_org variable.
1005        Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
1006 
1007     *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4
1008        addresses mapped to IPv6 addresses.
1009 
1010     *) Bugfix: a segmentation fault occurred in a worker process during
1011        testing IPv4 address mapped to IPv6 address, if access or deny rules
1012        were defined only for IPv6; the bug had appeared in 0.8.22.
1013 
1014     *) Bugfix: a cached response may be broken if "proxy/fastcgi/scgi/
1015        uwsgi_cache_bypass" and "proxy/fastcgi/scgi/uwsgi_no_cache" directive
1016        values were different; the bug had appeared in 0.8.46.
1017 
1018 
1019 Changes with nginx 1.0.2                                         10 May 2011
1020 
1021     *) Feature: now shared zones and caches use POSIX semaphores.
1022 
1023     *) Bugfix: in the "rotate" parameter of the "image_filter" directive.
1024        Thanks to Adam Bocim.
1025 
1026     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
1027        1.0.1.
1028 
1029 
1030 Changes with nginx 1.0.1                                         03 May 2011
1031 
1032     *) Change: now the "split_clients" directive uses MurmurHash2 algorithm
1033        because of better distribution.
1034        Thanks to Oleg Mamontov.
1035 
1036     *) Change: now long strings starting with zero are not considered as
1037        false values.
1038        Thanks to Maxim Dounin.
1039 
1040     *) Change: now nginx uses a default listen backlog value 511 on Linux.
1041 
1042     *) Feature: the $upstream_... variables may be used in the SSI and perl
1043        modules.
1044 
1045     *) Bugfix: now nginx limits better disk cache size.
1046        Thanks to Oleg Mamontov.
1047 
1048     *) Bugfix: a segmentation fault might occur while parsing incorrect IPv4
1049        address; the bug had appeared in 0.9.3.
1050        Thanks to Maxim Dounin.
1051 
1052     *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug
1053        option.
1054 
1055     *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug
1056        had appeared in 0.9.3.
1057        Thanks to Dagobert Michelsen.
1058 
1059     *) Bugfix: $request_time variable had invalid values if subrequests were
1060        used; the bug had appeared in 0.8.47.
1061        Thanks to Igor A. Valcov.
1062 
1063 
1064 Changes with nginx 1.0.0                                         12 Apr 2011
1065 
1066     *) Bugfix: a cache manager might hog CPU after reload.
1067        Thanks to Maxim Dounin.
1068 
1069     *) Bugfix: an "image_filter crop" directive worked incorrectly coupled
1070        with an "image_filter rotate 180" directive.
1071 
1072     *) Bugfix: a "satisfy any" directive disabled custom 401 error page.
1073 
1074 
1075 Changes with nginx 0.9.7                                         04 Apr 2011
1076 
1077     *) Feature: now keepalive connections may be closed premature, if there
1078        are no free worker connections.
1079        Thanks to Maxim Dounin.
1080 
1081     *) Feature: the "rotate" parameter of the "image_filter" directive.
1082        Thanks to Adam Bocim.
1083 
1084     *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or
1085        "uwsgi_pass" directives is given by expression and refers to a
1086        defined upstream.
1087 
1088 
1089 Changes with nginx 0.9.6                                         21 Mar 2011
1090 
1091     *) Feature: the "map" directive supports regular expressions as value of
1092        the first parameter.
1093 
1094     *) Feature: $time_iso8601 access_log variable.
1095        Thanks to Michael Lustfield.
1096 
1097 
1098 Changes with nginx 0.9.5                                         21 Feb 2011
1099 
1100     *) Change: now nginx uses a default listen backlog value -1 on Linux.
1101        Thanks to Andrei Nigmatulin.
1102 
1103     *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city"
1104        directives.
1105        Thanks to Denis F. Latypoff.
1106 
1107     *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass"
1108        directive has no URI part.
1109        Thanks to Maxim Dounin.
1110 
1111     *) Bugfix: an "error_page" directive did not work with nonstandard error
1112        codes; the bug had appeared in 0.8.53.
1113        Thanks to Maxim Dounin.
1114 
1115 
1116 Changes with nginx 0.9.4                                         21 Jan 2011
1117 
1118     *) Feature: the "server_name" directive supports the $hostname variable.
1119 
1120     *) Feature: 494 code for "Request Header Too Large" error.
1121 
1122 
1123 Changes with nginx 0.9.3                                         13 Dec 2010
1124 
1125     *) Bugfix: if there was a single server for given IPv6 address:port
1126        pair, then captures in regular expressions in a "server_name"
1127        directive did not work.
1128 
1129     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
1130        0.9.0.
1131 
1132 
1133 Changes with nginx 0.9.2                                         06 Dec 2010
1134 
1135     *) Feature: the "If-Unmodified-Since" client request header line
1136        support.
1137 
1138     *) Workaround: fallback to accept() syscall if accept4() was not
1139        implemented; the issue had appeared in 0.9.0.
1140 
1141     *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in
1142        0.9.0.
1143 
1144     *) Bugfix: for OpenSSL vulnerability CVE-2010-4180.
1145        Thanks to Maxim Dounin.
1146 
1147 
1148 Changes with nginx 0.9.1                                         30 Nov 2010
1149 
1150     *) Bugfix: "return CODE message" directives did not work; the bug had
1151        appeared in 0.9.0.
1152 
1153 
1154 Changes with nginx 0.9.0                                         29 Nov 2010
1155 
1156     *) Feature: the "keepalive_disable" directive.
1157 
1158     *) Feature: the "map" directive supports variables as value of a defined
1159        variable.
1160 
1161     *) Feature: the "map" directive supports empty strings as value of the
1162        first parameter.
1163 
1164     *) Feature: the "map" directive supports expressions as the first
1165        parameter.
1166 
1167     *) Feature: nginx(8) manual page.
1168        Thanks to Sergey Osokin.
1169 
1170     *) Feature: Linux accept4() support.
1171        Thanks to Simon Liu.
1172 
1173     *) Workaround: elimination of Linux linker warning about "sys_errlist"
1174        and "sys_nerr"; the warning had appeared in 0.8.35.
1175 
1176     *) Bugfix: a segmentation fault might occur in a worker process, if the
1177        "auth_basic" directive was used.
1178        Thanks to Michail Laletin.
1179 
1180     *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared
1181        in 0.8.42.
1182 
1183 
1184 Changes with nginx 0.8.53                                        18 Oct 2010
1185 
1186     *) Feature: now the "error_page" directive allows to change a status
1187        code in a redirect.
1188 
1189     *) Feature: the "gzip_disable" directive supports special "degradation"
1190        mask.
1191 
1192     *) Bugfix: a socket leak might occurred if file AIO was used.
1193        Thanks to Maxim Dounin.
1194 
1195     *) Bugfix: if the first server had no "listen" directive and there was
1196        no explicit default server, then a next server with a "listen"
1197        directive became the default server; the bug had appeared in 0.8.21.
1198 
1199 
1200 Changes with nginx 0.8.52                                        28 Sep 2010
1201 
1202     *) Bugfix: nginx used SSL mode for a listen socket if any listen option
1203        was set; the bug had appeared in 0.8.51.
1204 
1205 
1206 Changes with nginx 0.8.51                                        27 Sep 2010
1207 
1208     *) Change: the "secure_link_expires" directive has been canceled.
1209 
1210     *) Change: a logging level of resolver errors has been lowered from
1211        "alert" to "error".
1212 
1213     *) Feature: now a listen socket "ssl" parameter may be set several
1214        times.
1215 
1216 
1217 Changes with nginx 0.8.50                                        02 Sep 2010
1218 
1219     *) Feature: the "secure_link", "secure_link_md5", and
1220        "secure_link_expires" directives of the ngx_http_secure_link_module.
1221 
1222     *) Feature: the -q switch.
1223        Thanks to Gena Makhomed.
1224 
1225     *) Bugfix: worker processes may got caught in an endless loop during
1226        reconfiguration, if a caching was used; the bug had appeared in
1227        0.8.48.
1228 
1229     *) Bugfix: in the "gzip_disable" directive.
1230        Thanks to Derrick Petzold.
1231 
1232     *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload
1233        signals to a process run in other session.
1234 
1235 
1236 Changes with nginx 0.8.49                                        09 Aug 2010
1237 
1238     *) Feature: the "image_filter_jpeg_quality" directive supports
1239        variables.
1240 
1241     *) Bugfix: a segmentation fault might occur in a worker process, if the
1242        $geoip_region_name variables was used; the bug had appeared in
1243        0.8.48.
1244 
1245     *) Bugfix: errors intercepted by error_page were cached only for next
1246        request; the bug had appeared in 0.8.48.
1247 
1248 
1249 Changes with nginx 0.8.48                                        03 Aug 2010
1250 
1251     *) Change: now the "server_name" directive default value is an empty
1252        name "".
1253        Thanks to Gena Makhomed.
1254 
1255     *) Change: now the "server_name_in_redirect" directive default value is
1256        "off".
1257 
1258     *) Feature: the $geoip_dma_code, $geoip_area_code, and
1259        $geoip_region_name variables.
1260        Thanks to Christine McGonagle.
1261 
1262     *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and
1263        "scgi_pass" directives were not inherited inside "limit_except"
1264        blocks.
1265 
1266     *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
1267        "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not
1268        work; the bug had appeared in 0.8.46.
1269 
1270     *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly
1271        captures, if only parts of an URI were captured.
1272        Thanks to Yuriy Taraday and Frank Enderle.
1273 
1274     *) Bugfix: the "rewrite" directive did not escape a ";" character during
1275        copying from URI to query string.
1276        Thanks to Daisuke Murase.
1277 
1278     *) Bugfix: the ngx_http_image_filter_module closed a connection, if an
1279        image was larger than "image_filter_buffer" size.
1280 
1281 
1282 Changes with nginx 0.8.47                                        28 Jul 2010
1283 
1284     *) Bugfix: $request_time variable had invalid values for subrequests.
1285 
1286     *) Bugfix: errors intercepted by error_page could not be cached.
1287 
1288     *) Bugfix: a cache manager process may got caught in an endless loop, if
1289        max_size parameter was used; the bug had appeared in 0.8.46.
1290 
1291 
1292 Changes with nginx 0.8.46                                        19 Jul 2010
1293 
1294     *) Change: now the "proxy_no_cache", "fastcgi_no_cache",
1295        "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached
1296        response saving only.
1297 
1298     *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass",
1299        "uwsgi_cache_bypass", and "scgi_cache_bypass" directives.
1300 
1301     *) Bugfix: nginx did not free memory in cache keys zones if there was an
1302        error during working with backend: the memory was freed only after
1303        inactivity time or on memory low condition.
1304 
1305 
1306 Changes with nginx 0.8.45                                        13 Jul 2010
1307 
1308     *) Feature: ngx_http_xslt_filter improvements.
1309        Thanks to Laurence Rowe.
1310 
1311     *) Bugfix: SSI response might be truncated after include with
1312        wait="yes"; the bug had appeared in 0.7.25.
1313        Thanks to Maxim Dounin.
1314 
1315     *) Bugfix: the "listen" directive did not support the "setfib=0"
1316        parameter.
1317 
1318 
1319 Changes with nginx 0.8.44                                        05 Jul 2010
1320 
1321     *) Change: now nginx does not cache by default backend responses, if
1322        they have a "Set-Cookie" header line.
1323 
1324     *) Feature: the "listen" directive supports the "setfib" parameter.
1325        Thanks to Andrew Filonov.
1326 
1327     *) Bugfix: the "sub_filter" directive might change character case on
1328        partial match.
1329 
1330     *) Bugfix: compatibility with HP/UX.
1331 
1332     *) Bugfix: compatibility with AIX xlC_r compiler.
1333 
1334     *) Bugfix: nginx treated large SSLv2 packets as plain requests.
1335        Thanks to Miroslaw Jaworski.
1336 
1337 
1338 Changes with nginx 0.8.43                                        30 Jun 2010
1339 
1340     *) Feature: large geo ranges base loading speed-up.
1341 
1342     *) Bugfix: an error_page redirection to "location /zero {return 204;}"
1343        without changing status code kept the error body; the bug had
1344        appeared in 0.8.42.
1345 
1346     *) Bugfix: nginx might close IPv6 listen socket during reconfiguration.
1347        Thanks to Maxim Dounin.
1348 
1349     *) Bugfix: the $uid_set variable may be used at any request processing
1350        stage.
1351 
1352 
1353 Changes with nginx 0.8.42                                        21 Jun 2010
1354 
1355     *) Change: now nginx tests locations given by regular expressions, if
1356        request was matched exactly by a location given by a prefix string.
1357        The previous behavior has been introduced in 0.7.1.
1358 
1359     *) Feature: the ngx_http_scgi_module.
1360        Thanks to Manlio Perillo.
1361 
1362     *) Feature: a text answer may be added to a "return" directive.
1363 
1364 
1365 Changes with nginx 0.8.41                                        15 Jun 2010
1366 
1367     *) Security: nginx/Windows worker might be terminated abnormally if a
1368        requested file name has invalid UTF-8 encoding.
1369 
1370     *) Change: now nginx allows to use spaces in a request line.
1371 
1372     *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend
1373        "Refresh" response header line.
1374        Thanks to Andrey Andreew and Max Sogin.
1375 
1376     *) Bugfix: nginx did not support path without host name in "Destination"
1377        request header line.
1378 
1379 
1380 Changes with nginx 0.8.40                                        07 Jun 2010
1381 
1382     *) Security: now nginx/Windows ignores default file stream name.
1383        Thanks to Jose Antonio Vazquez Gonzalez.
1384 
1385     *) Feature: the ngx_http_uwsgi_module.
1386        Thanks to Roberto De Ioris.
1387 
1388     *) Feature: a "fastcgi_param" directive with value starting with "HTTP_"
1389        overrides a client request header line.
1390 
1391     *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
1392        header lines were passed to FastCGI-server while caching.
1393 
1394     *) Bugfix: listen unix domain socket could not be changed during
1395        reconfiguration.
1396        Thanks to Maxim Dounin.
1397 
1398 
1399 Changes with nginx 0.8.39                                        31 May 2010
1400 
1401     *) Bugfix: an inherited "alias" directive worked incorrectly in
1402        inclusive location.
1403 
1404     *) Bugfix: in "alias" with variables and "try_files" directives
1405        combination.
1406 
1407     *) Bugfix: listen unix domain and IPv6 sockets did not inherit while
1408        online upgrade.
1409        Thanks to Maxim Dounin.
1410 
1411 
1412 Changes with nginx 0.8.38                                        24 May 2010
1413 
1414     *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives.
1415 
1416     *) Feature: now the "rewrite" directive does a redirect automatically if
1417        the $scheme variable is used.
1418        Thanks to Piotr Sikora.
1419 
1420     *) Bugfix: now "limit_req" delay directive conforms to the described
1421        algorithm.
1422        Thanks to Maxim Dounin.
1423 
1424     *) Bugfix: the $uid_got variable might not be used in the SSI and perl
1425        modules.
1426 
1427 
1428 Changes with nginx 0.8.37                                        17 May 2010
1429 
1430     *) Feature: the ngx_http_split_clients_module.
1431 
1432     *) Feature: the "map" directive supports keys more than 255 characters.
1433 
1434     *) Bugfix: nginx ignored the "private" and "no-store" values in the
1435        "Cache-Control" backend response header line.
1436 
1437     *) Bugfix: a "stub" parameter of an "include" SSI directive was not
1438        used, if empty response has 200 status code.
1439 
1440     *) Bugfix: if a proxied or FastCGI request was internally redirected to
1441        another proxied or FastCGI location, then a segmentation fault might
1442        occur in a worker process; the bug had appeared in 0.8.33.
1443        Thanks to Yichun Zhang.
1444 
1445     *) Bugfix: IMAP connections may hang until they timed out while talking
1446        to Zimbra server.
1447        Thanks to Alan Batie.
1448 
1449 
1450 Changes with nginx 0.8.36                                        22 Apr 2010
1451 
1452     *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, COPY,
1453        and MOVE methods for symlinks.
1454 
1455     *) Bugfix: values of the $query_string, $arg_..., etc. variables cached
1456        in main request were used by the SSI module in subrequests.
1457 
1458     *) Bugfix: a variable value was repeatedly encoded after each an "echo"
1459        SSI-command output; the bug had appeared in 0.6.14.
1460 
1461     *) Bugfix: a worker process hung if a FIFO file was requested.
1462        Thanks to Vicente Aguilar and Maxim Dounin.
1463 
1464     *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux.
1465        Thanks to Maxim Dounin.
1466 
1467     *) Bugfix: nginx could not be built --without-http-cache; the bug had
1468        appeared in 0.8.35.
1469 
1470 
1471 Changes with nginx 0.8.35                                        01 Apr 2010
1472 
1473     *) Change: now the charset filter runs before the SSI filter.
1474 
1475     *) Feature: the "chunked_transfer_encoding" directive.
1476 
1477     *) Bugfix: an "&" character was not escaped when it was copied in
1478        arguments part in a rewrite rule.
1479 
1480     *) Bugfix: nginx might be terminated abnormally while a signal
1481        processing or if the directive "timer_resolution" was used on
1482        platforms which do not support kqueue or eventport notification
1483        methods.
1484        Thanks to George Xie and Maxim Dounin.
1485 
1486     *) Bugfix: if temporary files and permanent storage area resided at
1487        different file systems, then permanent file modification times were
1488        incorrect.
1489        Thanks to Maxim Dounin.
1490 
1491     *) Bugfix: ngx_http_memcached_module might issue the error message
1492        "memcached sent invalid trailer".
1493        Thanks to Maxim Dounin.
1494 
1495     *) Bugfix: nginx could not built zlib-1.2.4 library using the library
1496        sources.
1497        Thanks to Maxim Dounin.
1498 
1499     *) Bugfix: a segmentation fault occurred in a worker process, if there
1500        was large stderr output before FastCGI response; the bug had appeared
1501        in 0.8.34.
1502        Thanks to Maxim Dounin.
1503 
1504 
1505 Changes with nginx 0.8.34                                        03 Mar 2010
1506 
1507     *) Bugfix: nginx did not support all ciphers and digests used in client
1508        certificates.
1509        Thanks to Innocenty Enikeew.
1510 
1511     *) Bugfix: nginx cached incorrectly FastCGI responses if there was large
1512        stderr output before response.
1513 
1514     *) Bugfix: nginx did not support HTTPS referrers.
1515 
1516     *) Bugfix: nginx/Windows might not find file if path in configuration
1517        was given in other character case; the bug had appeared in 0.8.33.
1518 
1519     *) Bugfix: the $date_local variable has an incorrect value, if the "%s"
1520        format was used.
1521        Thanks to Maxim Dounin.
1522 
1523     *) Bugfix: if ssl_session_cache was not set or was set to "none", then
1524        during client certificate verify the error "session id context
1525        uninitialized" might occur; the bug had appeared in 0.7.1.
1526 
1527     *) Bugfix: a geo range returned default value if the range included two
1528        or more /16 networks and did not begin at /16 network boundary.
1529 
1530     *) Bugfix: a block used in a "stub" parameter of an "include" SSI
1531        directive was output with "text/plain" MIME type.
1532 
1533     *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11.
1534 
1535 
1536 Changes with nginx 0.8.33                                        01 Feb 2010
1537 
1538     *) Security: now nginx/Windows ignores trailing spaces in URI.
1539        Thanks to Dan Crowley, Core Security Technologies.
1540 
1541     *) Security: now nginx/Windows ignores short files names.
1542        Thanks to Dan Crowley, Core Security Technologies.
1543 
1544     *) Change: now keepalive connections after POST requests are not
1545        disabled for MSIE 7.0+.
1546        Thanks to Adam Lounds.
1547 
1548     *) Workaround: now keepalive connections are disabled for Safari.
1549        Thanks to Joshua Sierles.
1550 
1551     *) Bugfix: if a proxied or FastCGI request was internally redirected to
1552        another proxied or FastCGI location, then $upstream_response_time
1553        variable may have abnormally large value; the bug had appeared in
1554        0.8.7.
1555 
1556     *) Bugfix: a segmentation fault might occur in a worker process, while
1557        discarding a request body; the bug had appeared in 0.8.11.
1558 
1559 
1560 Changes with nginx 0.8.32                                        11 Jan 2010
1561 
1562     *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
1563        Thanks to Maxim Dounin.
1564 
1565     *) Bugfix: regular expression named captures worked for two names only.
1566        Thanks to Maxim Dounin.
1567 
1568     *) Bugfix: now the "localhost" name is used in the "Host" request header
1569        line, if an unix domain socket is defined in the "auth_http"
1570        directive.
1571        Thanks to Maxim Dounin.
1572 
1573     *) Bugfix: nginx did not support chunked transfer encoding for 201
1574        responses.
1575        Thanks to Julian Reich.
1576 
1577     *) Bugfix: if the "expires modified" set date in the past, then a
1578        negative number was set in the "Cache-Control" response header line.
1579        Thanks to Alex Kapranoff.
1580 
1581 
1582 Changes with nginx 0.8.31                                        23 Dec 2009
1583 
1584     *) Feature: now the "error_page" directive may redirect the 301 and 302
1585        responses.
1586 
1587     *) Feature: the $geoip_city_continent_code, $geoip_latitude, and
1588        $geoip_longitude variables.
1589        Thanks to Arvind Sundararajan.
1590 
1591     *) Feature: now the ngx_http_image_filter_module deletes always EXIF and
1592        other application specific data if the data consume more than 5% of a
1593        JPEG file.
1594 
1595     *) Bugfix: nginx closed a connection if a cached response had an empty
1596        body.
1597        Thanks to Piotr Sikora.
1598 
1599     *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher
1600        optimization option was used.
1601        Thanks to Maxim Dounin and Denis F. Latypoff.
1602 
1603     *) Bugfix: regular expressions in location were always tested in
1604        case-sensitive mode; the bug had appeared in 0.8.25.
1605 
1606     *) Bugfix: nginx cached a 304 response if there was the "If-None-Match"
1607        header line in a proxied request.
1608        Thanks to Tim Dettrick and David Kostal.
1609 
1610     *) Bugfix: nginx/Windows tried to delete a temporary file twice if the
1611        file should replace an already existent file.
1612 
1613 
1614 Changes with nginx 0.8.30                                        15 Dec 2009
1615 
1616     *) Change: now the default buffer size of the
1617        "large_client_header_buffers" directive is 8K.
1618        Thanks to Andrew Cholakian.
1619 
1620     *) Feature: the conf/fastcgi.conf for simple FastCGI configurations.
1621 
1622     *) Bugfix: nginx/Windows tried to rename a temporary file twice if the
1623        file should replace an already existent file.
1624 
1625     *) Bugfix: of "double free or corruption" error issued if host could not
1626        be resolved; the bug had appeared in 0.8.22.
1627        Thanks to Konstantin Svist.
1628 
1629     *) Bugfix: in libatomic usage on some platforms.
1630        Thanks to W-Mark Kubacki.
1631 
1632 
1633 Changes with nginx 0.8.29                                        30 Nov 2009
1634 
1635     *) Change: now the "009" status code is written to an access log for
1636        proxied HTTP/0.9 responses.
1637 
1638     *) Feature: the "addition_types", "charset_types", "gzip_types",
1639        "ssi_types", "sub_filter_types", and "xslt_types" directives support
1640        an "*" parameter.
1641 
1642     *) Feature: GCC 4.1+ built-in atomic operations usage.
1643        Thanks to W-Mark Kubacki.
1644 
1645     *) Feature: the --with-libatomic[=DIR] option in the configure.
1646        Thanks to W-Mark Kubacki.
1647 
1648     *) Bugfix: listen unix domain socket had limited access rights.
1649 
1650     *) Bugfix: cached HTTP/0.9 responses were handled incorrectly.
1651 
1652     *) Bugfix: regular expression named captures given by "?P<...>" did not
1653        work in a "server_name" directive.
1654        Thanks to Maxim Dounin.
1655 
1656 
1657 Changes with nginx 0.8.28                                        23 Nov 2009
1658 
1659     *) Bugfix: nginx could not be built with the --without-pcre parameter;
1660        the bug had appeared in 0.8.25.
1661 
1662 
1663 Changes with nginx 0.8.27                                        17 Nov 2009
1664 
1665     *) Bugfix: regular expressions did not work in nginx/Windows; the bug
1666        had appeared in 0.8.25.
1667 
1668 
1669 Changes with nginx 0.8.26                                        16 Nov 2009
1670 
1671     *) Bugfix: in captures usage in "rewrite" directive; the bug had
1672        appeared in 0.8.25.
1673 
1674     *) Bugfix: nginx could not be built without the --with-debug option; the
1675        bug had appeared in 0.8.25.
1676 
1677 
1678 Changes with nginx 0.8.25                                        16 Nov 2009
1679 
1680     *) Change: now no message is written in an error log if a variable is
1681        not found by $r->variable() method.
1682 
1683     *) Feature: the ngx_http_degradation_module.
1684 
1685     *) Feature: regular expression named captures.
1686 
1687     *) Feature: now URI part is not required a "proxy_pass" directive if
1688        variables are used.
1689 
1690     *) Feature: now the "msie_padding" directive works for Chrome too.
1691 
1692     *) Bugfix: a segmentation fault occurred in a worker process on low
1693        memory condition; the bug had appeared in 0.8.18.
1694 
1695     *) Bugfix: nginx sent gzipped responses to clients those do not support
1696        gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared
1697        in 0.8.16.
1698 
1699 
1700 Changes with nginx 0.8.24                                        11 Nov 2009
1701 
1702     *) Bugfix: nginx always added "Content-Encoding: gzip" response header
1703        line in 304 responses sent by ngx_http_gzip_static_module.
1704 
1705     *) Bugfix: nginx could not be built without the --with-debug option; the
1706        bug had appeared in 0.8.23.
1707 
1708     *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive
1709        inherited incorrectly from previous level.
1710 
1711     *) Bugfix: in resolving empty name.
1712 
1713 
1714 Changes with nginx 0.8.23                                        11 Nov 2009
1715 
1716     *) Security: now SSL/TLS renegotiation is disabled.
1717        Thanks to Maxim Dounin.
1718 
1719     *) Bugfix: listen unix domain socket did not inherit while online
1720        upgrade.
1721 
1722     *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did
1723        not without yet another directive with any IP address.
1724 
1725     *) Bugfix: segmentation fault and infinite looping in resolver.
1726 
1727     *) Bugfix: in resolver.
1728        Thanks to Artem Bokhan.
1729 
1730 
1731 Changes with nginx 0.8.22                                        03 Nov 2009
1732 
1733     *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind"
1734        directives.
1735 
1736     *) Feature: the "access" and the "deny" directives support IPv6.
1737 
1738     *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in
1739        request headers.
1740 
1741     *) Feature: the "unix:" parameter of the "set_real_ip_from" directive.
1742 
1743     *) Bugfix: nginx did not delete unix domain socket after configuration
1744        testing.
1745 
1746     *) Bugfix: nginx deleted unix domain socket while online upgrade.
1747 
1748     *) Bugfix: the "!-x" operator did not work.
1749        Thanks to Maxim Dounin.
1750 
1751     *) Bugfix: a segmentation fault might occur in a worker process, if
1752        limit_rate was used in HTTPS server.
1753        Thanks to Maxim Dounin.
1754 
1755     *) Bugfix: a segmentation fault might occur in a worker process while
1756        $limit_rate logging.
1757        Thanks to Maxim Dounin.
1758 
1759     *) Bugfix: a segmentation fault might occur in a worker process, if
1760        there was no "listen" directive in "server" block; the bug had
1761        appeared in 0.8.21.
1762 
1763 
1764 Changes with nginx 0.8.21                                        26 Oct 2009
1765 
1766     *) Feature: now the "-V" switch shows TLS SNI support.
1767 
1768     *) Feature: the "listen" directive of the HTTP module supports unix
1769        domain sockets.
1770        Thanks to Hongli Lai.
1771 
1772     *) Feature: the "default_server" parameter of the "listen" directive.
1773 
1774     *) Feature: now a "default" parameter is not required to set listen
1775        socket options.
1776 
1777     *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;
1778 
1779     *) Bugfix: socket leak; the bug had appeared in 0.8.11.
1780 
1781 
1782 Changes with nginx 0.8.20                                        14 Oct 2009
1783 
1784     *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
1785 
1786     *) Bugfix: the ngx_http_autoindex_module did not show the trailing slash
1787        in links to a directory; the bug had appeared in 0.7.15.
1788 
1789     *) Bugfix: nginx did not close a log file set by the --error-log-path
1790        configuration option; the bug had appeared in 0.7.53.
1791 
1792     *) Bugfix: nginx did not treat a comma as separator in the
1793        "Cache-Control" backend response header line.
1794 
1795     *) Bugfix: nginx/Windows might not create temporary file, a cache file,
1796        or "proxy/fastcgi_store"d file if a worker had no enough access
1797        rights for top level directories.
1798 
1799     *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were
1800        not hidden while caching if no "fastcgi_hide_header" directives were
1801        used with any parameters.
1802 
1803     *) Bugfix: nginx counted incorrectly disk cache size.
1804 
1805 
1806 Changes with nginx 0.8.19                                        06 Oct 2009
1807 
1808     *) Change: now SSLv2 protocol is disabled by default.
1809 
1810     *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
1811 
1812     *) Bugfix: a "limit_req" directive did not work; the bug had appeared in
1813        0.8.18.
1814 
1815 
1816 Changes with nginx 0.8.18                                        06 Oct 2009
1817 
1818     *) Feature: the "read_ahead" directive.
1819 
1820     *) Feature: now several "perl_modules" directives may be used.
1821 
1822     *) Feature: the "limit_req_log_level" and "limit_conn_log_level"
1823        directives.
1824 
1825     *) Bugfix: now "limit_req" directive conforms to the leaky bucket
1826        algorithm.
1827        Thanks to Maxim Dounin.
1828 
1829     *) Bugfix: nginx did not work on Linux/sparc.
1830        Thanks to Marcus Ramberg.
1831 
1832     *) Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL
1833        request.
1834        Thanks to Xie Zhenye.
1835 
1836     *) Bugfix: zero status code was logged instead of 499 status code; the
1837        bug had appeared in 0.8.11.
1838 
1839     *) Bugfix: socket leak; the bug had appeared in 0.8.11.
1840 
1841 
1842 Changes with nginx 0.8.17                                        28 Sep 2009
1843 
1844     *) Security: now "/../" are disabled in "Destination" request header
1845        line.
1846 
1847     *) Change: now $host variable value is always low case.
1848 
1849     *) Feature: the $ssl_session_id variable.
1850 
1851     *) Bugfix: socket leak; the bug had appeared in 0.8.11.
1852 
1853 
1854 Changes with nginx 0.8.16                                        22 Sep 2009
1855 
1856     *) Feature: the "image_filter_transparency" directive.
1857 
1858     *) Bugfix: "addition_types" directive was incorrectly named
1859        "addtion_types".
1860 
1861     *) Bugfix: resolver cache poisoning.
1862        Thanks to Matthew Dempsky.
1863 
1864     *) Bugfix: memory leak in resolver.
1865        Thanks to Matthew Dempsky.
1866 
1867     *) Bugfix: invalid request line in $request variable was written in
1868        access_log only if error_log was set to "info" or "debug" level.
1869 
1870     *) Bugfix: in PNG alpha-channel support in the
1871        ngx_http_image_filter_module.
1872 
1873     *) Bugfix: nginx always added "Vary: Accept-Encoding" response header
1874        line, if both "gzip_static" and "gzip_vary" were on.
1875 
1876     *) Bugfix: in UTF-8 encoding support by "try_files" directive in
1877        nginx/Windows.
1878 
1879     *) Bugfix: in "post_action" directive usage; the bug had appeared in
1880        0.8.11.
1881        Thanks to Igor Artemiev.
1882 
1883 
1884 Changes with nginx 0.8.15                                        14 Sep 2009
1885 
1886     *) Security: a segmentation fault might occur in worker process while
1887        specially crafted request handling.
1888        Thanks to Chris Ries.
1889 
1890     *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld
1891        were defined, then the name .sub.domain.tld was matched by
1892        .domain.tld.
1893 
1894     *) Bugfix: in transparency support in the ngx_http_image_filter_module.
1895 
1896     *) Bugfix: in file AIO.
1897 
1898     *) Bugfix: in X-Accel-Redirect usage; the bug had appeared in 0.8.11.
1899 
1900     *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
1901 
1902 
1903 Changes with nginx 0.8.14                                        07 Sep 2009
1904 
1905     *) Bugfix: an expired cached response might stick in the "UPDATING"
1906        state.
1907 
1908     *) Bugfix: a segmentation fault might occur in worker process, if
1909        error_log was set to info or debug level.
1910        Thanks to Sergey Bochenkov.
1911 
1912     *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
1913 
1914     *) Bugfix: an "error_page" directive did not redirect a 413 error; the
1915        bug had appeared in 0.6.10.
1916 
1917 
1918 Changes with nginx 0.8.13                                        31 Aug 2009
1919 
1920     *) Bugfix: in the "aio sendfile" directive; the bug had appeared in
1921        0.8.12.
1922 
1923     *) Bugfix: nginx could not be built without the --with-file-aio option
1924        on FreeBSD; the bug had appeared in 0.8.12.
1925 
1926 
1927 Changes with nginx 0.8.12                                        31 Aug 2009
1928 
1929     *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD.
1930 
1931     *) Bugfix: in try_files; the bug had appeared in 0.8.11.
1932 
1933     *) Bugfix: in memcached; the bug had appeared in 0.8.11.
1934 
1935 
1936 Changes with nginx 0.8.11                                        28 Aug 2009
1937 
1938     *) Change: now directive "gzip_disable msie6" does not disable gzipping
1939        for MSIE 6.0 SV1.
1940 
1941     *) Feature: file AIO support on FreeBSD and Linux.
1942 
1943     *) Feature: the "directio_alignment" directive.
1944 
1945 
1946 Changes with nginx 0.8.10                                        24 Aug 2009
1947 
1948     *) Bugfix: memory leaks if GeoIP City database was used.
1949 
1950     *) Bugfix: in copying temporary files to permanent storage area; the bug
1951        had appeared in 0.8.9.
1952 
1953 
1954 Changes with nginx 0.8.9                                         17 Aug 2009
1955 
1956     *) Feature: now the start cache loader runs in a separate process; this
1957        should improve large caches handling.
1958 
1959     *) Feature: now temporary files and permanent storage area may reside at
1960        different file systems.
1961 
1962 
1963 Changes with nginx 0.8.8                                         10 Aug 2009
1964 
1965     *) Bugfix: in handling FastCGI headers split in records.
1966 
1967     *) Bugfix: a segmentation fault occurred in worker process, if a request
1968        was handled in two proxied or FastCGIed locations and a caching was
1969        enabled in the first location; the bug had appeared in 0.8.7.
1970 
1971 
1972 Changes with nginx 0.8.7                                         27 Jul 2009
1973 
1974     *) Change: minimum supported OpenSSL version is 0.9.7.
1975 
1976     *) Change: the "ask" parameter of the "ssl_verify_client" directive was
1977        changed to the "optional" parameter and now it checks a client
1978        certificate if it was offered.
1979        Thanks to Brice Figureau.
1980 
1981     *) Feature: the $ssl_client_verify variable.
1982        Thanks to Brice Figureau.
1983 
1984     *) Feature: the "ssl_crl" directive.
1985        Thanks to Brice Figureau.
1986 
1987     *) Feature: the "proxy" parameter of the "geo" directive.
1988 
1989     *) Feature: the "image_filter" directive supports variables for setting
1990        size.
1991 
1992     *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug
1993        had appeared in 0.7.7.
1994        Thanks to Sergey Zhuravlev.
1995 
1996     *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did
1997        not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate",
1998        "X-Accel-Buffering", and "X-Accel-Charset" lines from backend
1999        response header.
2000        Thanks to Maxim Dounin.
2001 
2002     *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend
2003        response header lines; the bug had appeared in 0.7.44.
2004        Thanks to Maxim Dounin.
2005 
2006     *) Bugfix: the "[alert] zero size buf" error if subrequest returns an
2007        empty response; the bug had appeared in 0.8.5.
2008 
2009 
2010 Changes with nginx 0.8.6                                         20 Jul 2009
2011 
2012     *) Feature: the ngx_http_geoip_module.
2013 
2014     *) Bugfix: XSLT filter may fail with message "not well formed XML
2015        document" for valid XML document.
2016        Thanks to Kuramoto Eiji.
2017 
2018     *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a
2019        regular expression are always tested in case insensitive mode.
2020 
2021     *) Bugfix: now nginx/Windows ignores trailing dots in URI.
2022        Thanks to Hugo Leisink.
2023 
2024     *) Bugfix: name of file specified in --conf-path was not honored during
2025        installation; the bug had appeared in 0.6.6.
2026        Thanks to Maxim Dounin.
2027 
2028 
2029 Changes with nginx 0.8.5                                         13 Jul 2009
2030 
2031     *) Bugfix: now nginx allows underscores in a request method.
2032 
2033     *) Bugfix: a 500 error code was returned for invalid login/password
2034        while HTTP Basic authentication on Windows.
2035 
2036     *) Bugfix: ngx_http_perl_module responses did not work in subrequests.
2037 
2038     *) Bugfix: in ngx_http_limit_req_module.
2039        Thanks to Maxim Dounin.
2040 
2041 
2042 Changes with nginx 0.8.4                                         22 Jun 2009
2043 
2044     *) Bugfix: nginx could not be built --without-http-cache; the bug had
2045        appeared in 0.8.3.
2046 
2047 
2048 Changes with nginx 0.8.3                                         19 Jun 2009
2049 
2050     *) Feature: the $upstream_cache_status variable.
2051 
2052     *) Bugfix: nginx could not be built on MacOSX 10.6.
2053 
2054     *) Bugfix: nginx could not be built --without-http-cache; the bug had
2055        appeared in 0.8.2.
2056 
2057     *) Bugfix: a segmentation fault occurred in worker process, if a backend
2058        401 error was intercepted and the backend did not set the
2059        "WWW-Authenticate" response header line.
2060        Thanks to Eugene Mychlo.
2061 
2062 
2063 Changes with nginx 0.8.2                                         15 Jun 2009
2064 
2065     *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on
2066        start up.
2067 
2068     *) Bugfix: open_file_cache might cache open file descriptors too long;
2069        the bug had appeared in 0.7.4.
2070 
2071 
2072 Changes with nginx 0.8.1                                         08 Jun 2009
2073 
2074     *) Feature: the "updating" parameter in "proxy_cache_use_stale" and
2075        "fastcgi_cache_use_stale" directives.
2076 
2077     *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
2078        header lines were passed to backend while caching if no
2079        "proxy_set_header" directive was used with any parameters.
2080 
2081     *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not
2082        hidden while caching if no "proxy_hide_header/fastcgi_hide_header"
2083        directives were used with any parameters.
2084 
2085     *) Bugfix: the ngx_http_image_filter_module did not support GIF87a
2086        format.
2087        Thanks to Denis Ilyinyh.
2088 
2089     *) Bugfix: nginx could not be built modules on Solaris 10 and early; the
2090        bug had appeared in 0.7.56.
2091 
2092 
2093 Changes with nginx 0.8.0                                         02 Jun 2009
2094 
2095     *) Feature: the "keepalive_requests" directive.
2096 
2097     *) Feature: the "limit_rate_after" directive.
2098        Thanks to Ivan Debnar.
2099 
2100     *) Bugfix: XLST filter did not work in subrequests.
2101 
2102     *) Bugfix: in relative paths handling in nginx/Windows.
2103 
2104     *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache
2105        in nginx/Windows.
2106 
2107     *) Bugfix: in memory allocation error handling.
2108        Thanks to Maxim Dounin and Kirill A. Korinskiy.
2109 
2110 
2111 Changes with nginx 0.7.59                                        25 May 2009
2112 
2113     *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods"
2114        directives.
2115 
2116     *) Bugfix: socket leak; the bug had appeared in 0.7.25.
2117        Thanks to Maxim Dounin.
2118 
2119     *) Bugfix: a segmentation fault occurred in worker process, if a request
2120        had no body and the $request_body variable was used;
2121        the bug had appeared in 0.7.58.
2122 
2123     *) Bugfix: the SSL modules might not built on Solaris and Linux;
2124        the bug had appeared in 0.7.56.
2125 
2126     *) Bugfix: ngx_http_xslt_filter_module responses were not handled by
2127        SSI, charset, and gzip filters.
2128 
2129     *) Bugfix: a "charset" directive did not set a charset to
2130        ngx_http_gzip_static_module responses.
2131 
2132 
2133 Changes with nginx 0.7.58                                        18 May 2009
2134 
2135     *) Feature: a "listen" directive of the mail proxy module supports IPv6.
2136 
2137     *) Feature: the "image_filter_jpeg_quality" directive.
2138 
2139     *) Feature: the "client_body_in_single_buffer" directive.
2140 
2141     *) Feature: the $request_body variable.
2142 
2143     *) Bugfix: in ngx_http_autoindex_module in file name links having a ":"
2144        symbol in the name.
2145 
2146     *) Bugfix: "make upgrade" procedure did not work; the bug had appeared
2147        in 0.7.53.
2148        Thanks to Denis F. Latypoff.
2149 
2150 
2151 Changes with nginx 0.7.57                                        12 May 2009
2152 
2153     *) Bugfix: a floating-point fault occurred in worker process, if the
2154        ngx_http_image_filter_module errors were redirected to named
2155        location; the bug had appeared in 0.7.56.
2156 
2157 
2158 Changes with nginx 0.7.56                                        11 May 2009
2159 
2160     *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the
2161        HTTP module.
2162 
2163     *) Bugfix: in ngx_http_image_filter_module.
2164 
2165 
2166 Changes with nginx 0.7.55                                        06 May 2009
2167 
2168     *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and
2169        "fastcgi_cache_use_stale" directives did not work.
2170 
2171     *) Bugfix: fastcgi cache did not cache header only responses.
2172 
2173     *) Bugfix: of "select() failed (9: Bad file descriptor)" error in
2174        nginx/Unix and "select() failed (10038: ...)" error in nginx/Windows.
2175 
2176     *) Bugfix: a segmentation fault might occur in worker process, if an
2177        "debug_connection" directive was used; the bug had appeared in
2178        0.7.54.
2179 
2180     *) Bugfix: fix ngx_http_image_filter_module building errors.
2181 
2182     *) Bugfix: the files bigger than 2G could not be transferred using
2183        $r->sendfile.
2184        Thanks to Maxim Dounin.
2185 
2186 
2187 Changes with nginx 0.7.54                                        01 May 2009
2188 
2189     *) Feature: the ngx_http_image_filter_module.
2190 
2191     *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers"
2192        directives.
2193 
2194     *) Bugfix: a segmentation fault might occur in worker process, if an
2195        "open_file_cache_errors off" directive was used; the bug had appeared
2196        in 0.7.53.
2197 
2198     *) Bugfix: the "port_in_redirect off" directive did not work; the bug
2199        had appeared in 0.7.39.
2200 
2201     *) Bugfix: improve handling of "select" method errors.
2202 
2203     *) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows.
2204 
2205     *) Bugfix: in error text descriptions in nginx/Windows; the bug had
2206        appeared in 0.7.53.
2207 
2208 
2209 Changes with nginx 0.7.53                                        27 Apr 2009
2210 
2211     *) Change: now a log set by --error-log-path is created from the very
2212        start-up.
2213 
2214     *) Feature: now the start up errors and warnings are outputted to an
2215        error_log and stderr.
2216 
2217     *) Feature: the empty --prefix= configure parameter forces nginx to use
2218        a directory where it was run as prefix.
2219 
2220     *) Feature: the -p switch.
2221 
2222     *) Feature: the -s switch on Unix platforms.
2223 
2224     *) Feature: the -? and -h switches.
2225        Thanks to Jerome Loyet.
2226 
2227     *) Feature: now switches may be set in condensed form.
2228 
2229     *) Bugfix: nginx/Windows did not work if configuration file was given by
2230        the -c switch.
2231 
2232     *) Bugfix: temporary files might be not removed if the "proxy_store",
2233        "fastcgi_store", "proxy_cache", or "fastcgi_cache" were used.
2234        Thanks to Maxim Dounin.
2235 
2236     *) Bugfix: an incorrect value was passed to mail proxy authentication
2237        server in "Auth-Method" header line; the bug had appeared
2238        in 0.7.34.
2239        Thanks to Simon Lecaille.
2240 
2241     *) Bugfix: system error text descriptions were not logged on Linux;
2242        the bug had appeared in 0.7.45.
2243 
2244     *) Bugfix: the "fastcgi_cache_min_uses" directive did not work.
2245        Thanks to Andrew Vorobyoff.
2246 
2247 
2248 Changes with nginx 0.7.52                                        20 Apr 2009
2249 
2250     *) Feature: the first native Windows binary release.
2251 
2252     *) Bugfix: in processing HEAD method while caching.
2253 
2254     *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc.
2255        client request header lines while caching.
2256 
2257     *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in
2258        cacheable responses.
2259 
2260     *) Bugfix: if nginx was built with the ngx_http_perl_module and with a
2261        perl which supports threads, then during a master process exit the
2262        message "panic: MUTEX_LOCK" might be issued.
2263 
2264     *) Bugfix: nginx could not be built --without-http-cache; the bug had
2265        appeared in 0.7.48.
2266 
2267     *) Bugfix: nginx could not be built on platforms different from i386,
2268        amd64, sparc, and ppc; the bug had appeared in 0.7.42.
2269 
2270 
2271 Changes with nginx 0.7.51                                        12 Apr 2009
2272 
2273     *) Feature: the "try_files" directive supports a response code in the
2274        fallback parameter.
2275 
2276     *) Feature: now any response code can be used in the "return" directive.
2277 
2278     *) Bugfix: the "error_page" directive made an external redirect without
2279        query string; the bug had appeared in 0.7.44.
2280 
2281     *) Bugfix: if servers listened on several defined explicitly addresses,
2282        then virtual servers might not work; the bug had appeared in 0.7.39.
2283 
2284 
2285 Changes with nginx 0.7.50                                        06 Apr 2009
2286 
2287     *) Bugfix: the $arg_... variables did not work; the bug had appeared in
2288        0.7.49.
2289 
2290 
2291 Changes with nginx 0.7.49                                        06 Apr 2009
2292 
2293     *) Bugfix: a segmentation fault might occur in worker process, if the
2294        $arg_... variables were used; the bug had appeared in 0.7.48.
2295 
2296 
2297 Changes with nginx 0.7.48                                        06 Apr 2009
2298 
2299     *) Feature: the "proxy_cache_key" directive.
2300 
2301     *) Bugfix: now nginx takes into account the "X-Accel-Expires",
2302        "Expires", and "Cache-Control" header lines in a backend response.
2303 
2304     *) Bugfix: now nginx caches responses for the GET requests only.
2305 
2306     *) Bugfix: the "fastcgi_cache_key" directive was not inherited.
2307 
2308     *) Bugfix: the $arg_... variables did not work with SSI subrequests.
2309        Thanks to Maxim Dounin.
2310 
2311     *) Bugfix: nginx could not be built with uclibc library.
2312        Thanks to Timothy Redaelli.
2313 
2314     *) Bugfix: nginx could not be built on OpenBSD; the bug had
2315        appeared in 0.7.46.
2316 
2317 
2318 Changes with nginx 0.7.47                                        01 Apr 2009
2319 
2320     *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; the
2321        bug had appeared in 0.7.46.
2322 
2323     *) Bugfix: nginx could not be built on MacOSX; the bug had
2324        appeared in 0.7.46.
2325 
2326     *) Bugfix: if the "max_size" parameter was set, then the cache manager
2327        might purge a whole cache; the bug had appeared in 0.7.46.
2328 
2329     *) Change: a segmentation fault might occur in worker process, if the
2330        "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/
2331        "fastcgi_cache_valid" were set on different levels; the bug had
2332        appeared in 0.7.46.
2333 
2334     *) Bugfix: a segmentation fault might occur in worker process, if a
2335        request was redirected to a proxied or FastCGI server via error_page
2336        or try_files; the bug had appeared in 0.7.44.
2337 
2338 
2339 Changes with nginx 0.7.46                                        30 Mar 2009
2340 
2341     *) Bugfix: the previous release tarball was incorrect.
2342 
2343 
2344 Changes with nginx 0.7.45                                        30 Mar 2009
2345 
2346     *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives
2347        can be set on different levels.
2348 
2349     *) Change: the "clean_time" parameter of the "proxy_cache_path"
2350        directive is canceled.
2351 
2352     *) Feature: the "max_size" parameter of the "proxy_cache_path"
2353        directive.
2354 
2355     *) Feature: the ngx_http_fastcgi_module preliminary cache support.
2356 
2357     *) Feature: now on shared memory allocation errors directive and zone
2358        names are logged.
2359 
2360     *) Bugfix: the directive "add_header last-modified ''" did not delete a
2361        "Last-Modified" response header line; the bug had appeared in 0.7.44.
2362 
2363     *) Bugfix: a relative path in the "auth_basic_user_file" directive given
2364        without variables did not work; the bug had appeared in 0.7.44.
2365        Thanks to Jerome Loyet.
2366 
2367     *) Bugfix: in an "alias" directive given using variables without
2368        references to captures of regular expressions; the bug had appeared
2369        in 0.7.42.
2370 
2371 
2372 Changes with nginx 0.7.44                                        23 Mar 2009
2373 
2374     *) Feature: the ngx_http_proxy_module preliminary cache support.
2375 
2376     *) Feature: the --with-pcre option in the configure.
2377 
2378     *) Feature: the "try_files" directive is now allowed on the server block
2379        level.
2380 
2381     *) Bugfix: the "try_files" directive handled incorrectly a query string
2382        in a fallback parameter.
2383 
2384     *) Bugfix: the "try_files" directive might test incorrectly directories.
2385 
2386     *) Bugfix: if there was a single server for given address:port pair,
2387        then captures in regular expressions in a "server_name" directive did
2388        not work.
2389 
2390 
2391 Changes with nginx 0.7.43                                        18 Mar 2009
2392 
2393     *) Bugfix: a request was handled incorrectly, if a "root" directive used
2394        variables; the bug had appeared in 0.7.42.
2395 
2396     *) Bugfix: if a server listened on wildcard address, then the
2397        $server_addr variable value was "0.0.0.0"; the bug had appeared in
2398        0.7.36.
2399 
2400 
2401 Changes with nginx 0.7.42                                        16 Mar 2009
2402 
2403     *) Change: now the "Invalid argument" error returned by
2404        setsockopt(TCP_NODELAY) on Solaris, is ignored.
2405 
2406     *) Change: now if a file specified in a "auth_basic_user_file" directive
2407        is absent, then the 403 error is returned instead of the 500 one.
2408 
2409     *) Feature: the "auth_basic_user_file" directive supports variables.
2410        Thanks to Kirill A. Korinskiy.
2411 
2412     *) Feature: the "listen" directive supports the "ipv6only" parameter.
2413        Thanks to Zhang Hua.
2414 
2415     *) Bugfix: in an "alias" directive with references to captures of
2416        regular expressions; the bug had appeared in 0.7.40.
2417 
2418     *) Bugfix: compatibility with Tru64 UNIX.
2419        Thanks to Dustin Marquess.
2420 
2421     *) Bugfix: nginx could not be built without PCRE library; the bug had
2422        appeared in 0.7.41.
2423 
2424 
2425 Changes with nginx 0.7.41                                        11 Mar 2009
2426 
2427     *) Bugfix: a segmentation fault might occur in worker process, if a
2428        "server_name" or a "location" directives had captures in regular
2429        expressions; the issue had appeared in 0.7.40.
2430        Thanks to Vladimir Sopot.
2431 
2432 
2433 Changes with nginx 0.7.40                                        09 Mar 2009
2434 
2435     *) Feature: the "location" directive supports captures in regular
2436        expressions.
2437 
2438     *) Feature: an "alias" directive with capture references may be used
2439        inside a location given by a regular expression with captures.
2440 
2441     *) Feature: the "server_name" directive supports captures in regular
2442        expressions.
2443 
2444     *) Workaround: the ngx_http_autoindex_module did not show the trailing
2445        slash in directories on XFS filesystem; the issue had appeared in
2446        0.7.15.
2447        Thanks to Dmitry Kuzmenko.
2448 
2449 
2450 Changes with nginx 0.7.39                                        02 Mar 2009
2451 
2452     *) Bugfix: large response with SSI might hang, if gzipping was enabled;
2453        the bug had appeared in 0.7.28.
2454        Thanks to Artem Bokhan.
2455 
2456     *) Bugfix: a segmentation fault might occur in worker process, if short
2457        static variants are used in a "try_files" directive.
2458 
2459 
2460 Changes with nginx 0.7.38                                        23 Feb 2009
2461 
2462     *) Feature: authentication failures logging.
2463 
2464     *) Bugfix: name/password in auth_basic_user_file were ignored after odd
2465        number of empty lines.
2466        Thanks to Alexander Zagrebin.
2467 
2468     *) Bugfix: a segmentation fault occurred in a master process, if long
2469        path was used in unix domain socket; the bug had appeared in 0.7.36.
2470 
2471 
2472 Changes with nginx 0.7.37                                        21 Feb 2009
2473 
2474     *) Bugfix: directives using upstreams did not work; the bug had appeared
2475        in 0.7.36.
2476 
2477 
2478 Changes with nginx 0.7.36                                        21 Feb 2009
2479 
2480     *) Feature: a preliminary IPv6 support; the "listen" directive of the
2481        HTTP module supports IPv6.
2482 
2483     *) Bugfix: the $ancient_browser variable did not work for browsers
2484        preset by a "modern_browser" directives.
2485 
2486 
2487 Changes with nginx 0.7.35                                        16 Feb 2009
2488 
2489     *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for
2490        asymmetric ciphers.
2491        Thanks to Marcin Gozdalik.
2492 
2493     *) Bugfix: a "try_files" directive set MIME type depending on an
2494        original request extension.
2495 
2496     *) Bugfix: "*domain.tld" names were handled incorrectly in
2497        "server_name", "valid_referers", and "map" directives, if
2498        ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
2499        the bug had appeared in 0.7.9.
2500 
2501 
2502 Changes with nginx 0.7.34                                        10 Feb 2009
2503 
2504     *) Feature: the "off" parameter of the "if_modified_since" directive.
2505 
2506     *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT
2507        command.
2508        Thanks to Maxim Dounin.
2509 
2510     *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support
2511        in mail proxy server.
2512        Thanks to Maxim Dounin.
2513 
2514     *) Bugfix: in a redirect rewrite directive original arguments were
2515        concatenated with new arguments by a "?" rather than an "&";
2516        the bug had appeared in 0.1.18.
2517        Thanks to Maxim Dounin.
2518 
2519     *) Bugfix: nginx could not be built on AIX.
2520 
2521 
2522 Changes with nginx 0.7.33                                        02 Feb 2009
2523 
2524     *) Bugfix: a double response might be returned if the epoll or rtsig
2525        methods are used and a redirect was returned to a request with body.
2526        Thanks to Eden Li.
2527 
2528     *) Bugfix: the $sent_http_location variable was empty for some redirects
2529        types.
2530 
2531     *) Bugfix: a segmentation fault might occur in worker process if
2532        "resolver" directive was used in SMTP proxy.
2533 
2534 
2535 Changes with nginx 0.7.32                                        26 Jan 2009
2536 
2537     *) Feature: now a directory existence testing can be set explicitly in
2538        the "try_files" directive.
2539 
2540     *) Bugfix: fastcgi_store stored files not always.
2541 
2542     *) Bugfix: in geo ranges.
2543 
2544     *) Bugfix: in shared memory allocations if nginx was built without
2545        debugging.
2546        Thanks to Andrey Kvasov.
2547 
2548 
2549 Changes with nginx 0.7.31                                        19 Jan 2009
2550 
2551     *) Change: now the "try_files" directive tests files only and ignores
2552        directories.
2553 
2554     *) Feature: the "fastcgi_split_path_info" directive.
2555 
2556     *) Bugfixes in an "Expect" request header line support.
2557 
2558     *) Bugfixes in geo ranges.
2559 
2560     *) Bugfix: in a miss case ngx_http_memcached_module returned the "END"
2561        line as response body instead of default 404 page body; the bug had
2562        appeared in 0.7.18.
2563        Thanks to Maxim Dounin.
2564 
2565     *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK"
2566        instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22.
2567        Thanks to Maxim Dounin.
2568 
2569 
2570 Changes with nginx 0.7.30                                        24 Dec 2008
2571 
2572     *) Bugfix: a segmentation fault occurred in worker process, if variables
2573        were used in the "fastcgi_pass" or "proxy_pass" directives and host
2574        name must be resolved; the bug had appeared in 0.7.29.
2575 
2576 
2577 Changes with nginx 0.7.29                                        24 Dec 2008
2578 
2579     *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not
2580        support variables if unix domain sockets were used.
2581 
2582     *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25.
2583 
2584     *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests;
2585        Thanks to Maxim Dounin.
2586 
2587     *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on
2588        Cygwin.
2589 
2590 
2591 Changes with nginx 0.7.28                                        22 Dec 2008
2592 
2593     *) Change: in memory allocation in the ngx_http_gzip_filter_module.
2594 
2595     *) Change: the default "gzip_buffers" directive values have been changed
2596        to 32 4k or 16 8k from 4 4k/8k.
2597 
2598 
2599 Changes with nginx 0.7.27                                        15 Dec 2008
2600 
2601     *) Feature: the "try_files" directive.
2602 
2603     *) Feature: variables support in the "fastcgi_pass" directive.
2604 
2605     *) Feature: now the $geo variable may get an address from a variable.
2606        Thanks to Andrei Nigmatulin.
2607 
2608     *) Feature: now a location's modifier may be used without space before
2609        name.
2610 
2611     *) Feature: the $upstream_response_length variable.
2612 
2613     *) Bugfix: now a "add_header" directive does not add an empty value.
2614 
2615     *) Bugfix: if zero length static file was requested, then nginx just
2616        closed connection; the bug had appeared in 0.7.25.
2617 
2618     *) Bugfix: a MOVE method could not move file in non-existent directory.
2619 
2620     *) Bugfix: a segmentation fault occurred in worker process, if no one
2621        named location was defined in server, but some one was used in an
2622        error_page directive.
2623        Thanks to Sergey Bochenkov.
2624 
2625 
2626 Changes with nginx 0.7.26                                        08 Dec 2008
2627 
2628     *) Bugfix: in subrequest processing; the bug had appeared in 0.7.25.
2629 
2630 
2631 Changes with nginx 0.7.25                                        08 Dec 2008
2632 
2633     *) Change: in subrequest processing.
2634 
2635     *) Change: now POSTs without "Content-Length" header line are allowed.
2636 
2637     *) Bugfix: now the "limit_req" and "limit_conn" directives log a
2638        prohibition reason.
2639 
2640     *) Bugfix: in the "delete" parameter of the "geo" directive.
2641 
2642 
2643 Changes with nginx 0.7.24                                        01 Dec 2008
2644 
2645     *) Feature: the "if_modified_since" directive.
2646 
2647     *) Bugfix: nginx did not process a FastCGI server response, if the
2648        server send too many messages to stderr before response.
2649 
2650     *) Bugfix: the "$cookie_..." variables did not work in the SSI and the
2651        perl module.
2652 
2653 
2654 Changes with nginx 0.7.23                                        27 Nov 2008
2655 
2656     *) Feature: the "delete" and "ranges" parameters in the "geo" directive.
2657 
2658     *) Feature: speeding up loading of geo base with large number of values.
2659 
2660     *) Feature: decrease of memory required for geo base load.
2661 
2662 
2663 Changes with nginx 0.7.22                                        20 Nov 2008
2664 
2665     *) Feature: the "none" parameter in the "smtp_auth" directive.
2666        Thanks to Maxim Dounin.
2667 
2668     *) Feature: the "$cookie_..." variables.
2669 
2670     *) Bugfix: the "directio" directive did not work in XFS filesystem.
2671 
2672     *) Bugfix: the resolver did not understand big DNS responses.
2673        Thanks to Zyb.
2674 
2675 
2676 Changes with nginx 0.7.21                                        11 Nov 2008
2677 
2678     *) Changes in the ngx_http_limit_req_module.
2679 
2680     *) Feature: the EXSLT support in the ngx_http_xslt_module.
2681        Thanks to Denis F. Latypoff.
2682 
2683     *) Workaround: compatibility with glibc 2.3.
2684        Thanks to Eric Benson and Maxim Dounin.
2685 
2686     *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had
2687        appeared in 0.7.6.
2688 
2689 
2690 Changes with nginx 0.7.20                                        10 Nov 2008
2691 
2692     *) Changes in the ngx_http_gzip_filter_module.
2693 
2694     *) Feature: the ngx_http_limit_req_module.
2695 
2696     *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and
2697        ppc platforms; the bug had appeared in 0.7.3.
2698        Thanks to Maxim Dounin.
2699 
2700     *) Bugfix: the "proxy_pass http://host/some:uri" directives did not
2701        work; the bug had appeared in 0.7.12.
2702 
2703     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
2704        error.
2705 
2706     *) Bugfix: the ngx_http_secure_link_module did not work inside
2707        locations, whose names are less than 3 characters.
2708 
2709     *) Bugfix: $server_addr variable might have no value.
2710 
2711 
2712 Changes with nginx 0.7.19                                        13 Oct 2008
2713 
2714     *) Bugfix: version number update.
2715 
2716 
2717 Changes with nginx 0.7.18                                        13 Oct 2008
2718 
2719     *) Change: the "underscores_in_headers" directive; now nginx does not
2720        allows underscores in a client request header line names.
2721 
2722     *) Feature: the ngx_http_secure_link_module.
2723 
2724     *) Feature: the "real_ip_header" directive supports any header.
2725 
2726     *) Feature: the "log_subrequest" directive.
2727 
2728     *) Feature: the $realpath_root variable.
2729 
2730     *) Feature: the "http_502" and "http_504" parameters of the
2731        "proxy_next_upstream" directive.
2732 
2733     *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or
2734        "fastcgi_next_upstream" directives did not work.
2735 
2736     *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line
2737        for HEAD requests.
2738 
2739     *) Bugfix: now accept threshold depends on worker_connections.
2740 
2741 
2742 Changes with nginx 0.7.17                                        15 Sep 2008
2743 
2744     *) Feature: now the "directio" directive works on Linux.
2745 
2746     *) Feature: the $pid variable.
2747 
2748     *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did
2749        not work with open_file_cache.
2750 
2751     *) Bugfix: the "access_log" with variables did not work on Linux; the
2752        bug had appeared in 0.7.7.
2753 
2754     *) Bugfix: the ngx_http_charset_module did not understand quoted charset
2755        name received from backend.
2756 
2757 
2758 Changes with nginx 0.7.16                                        08 Sep 2008
2759 
2760     *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
2761        appeared in 0.7.15.
2762 
2763 
2764 Changes with nginx 0.7.15                                        08 Sep 2008
2765 
2766     *) Feature: the ngx_http_random_index_module.
2767 
2768     *) Feature: the "directio" directive has been optimized for file
2769        requests starting from arbitrary position.
2770 
2771     *) Feature: the "directio" directive turns off sendfile if it is
2772        necessary.
2773 
2774     *) Feature: now nginx allows underscores in a client request header line
2775        names.
2776 
2777 
2778 Changes with nginx 0.7.14                                        01 Sep 2008
2779 
2780     *) Change: now the ssl_certificate and ssl_certificate_key directives
2781        have no default values.
2782 
2783     *) Feature: the "listen" directive supports the "ssl" parameter.
2784 
2785     *) Feature: now nginx takes into account a time zone change while
2786        reconfiguration on FreeBSD and Linux.
2787 
2788     *) Bugfix: the "listen" directive parameters such as "backlog",
2789        "rcvbuf", etc. were not set, if a default server was not the first
2790        one.
2791 
2792     *) Bugfix: if URI part captured by a "rewrite" directive was used as a
2793        query string, then the query string was not escaped.
2794 
2795     *) Bugfix: configuration file validity test improvements.
2796 
2797 
2798 Changes with nginx 0.7.13                                        26 Aug 2008
2799 
2800     *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
2801        appeared in 0.7.12.
2802 
2803 
2804 Changes with nginx 0.7.12                                        26 Aug 2008
2805 
2806     *) Feature: the "server_name" directive supports empty name "".
2807 
2808     *) Feature: the "gzip_disable" directive supports special "msie6" mask.
2809 
2810     *) Bugfix: if the "max_fails=0" parameter was used in upstream with
2811        several servers, then a worker process exited on a SIGFPE signal.
2812        Thanks to Maxim Dounin.
2813 
2814     *) Bugfix: a request body was dropped while redirection via an
2815        "error_page" directive.
2816 
2817     *) Bugfix: a full response was returned for request method HEAD while
2818        redirection via an "error_page" directive.
2819 
2820     *) Bugfix: the $r->header_in() method did not return value of the
2821        "Host", "User-Agent", and "Connection" request header lines; the bug
2822        had appeared in 0.7.0.
2823 
2824 
2825 Changes with nginx 0.7.11                                        18 Aug 2008
2826 
2827     *) Change: now ngx_http_charset_module does not work by default with
2828        text/css MIME type.
2829 
2830     *) Feature: now nginx returns the 405 status code for POST method
2831        requesting a static file only if the file exists.
2832 
2833     *) Feature: the "proxy_ssl_session_reuse" directive.
2834 
2835     *) Bugfix: a "proxy_pass" directive without URI part might use original
2836        request after the "X-Accel-Redirect" redirection was used;
2837 
2838     *) Bugfix: if a directory has search only rights and the first index
2839        file was absent, then nginx returned the 500 status code.
2840 
2841     *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1.
2842 
2843 
2844 Changes with nginx 0.7.10                                        13 Aug 2008
2845 
2846     *) Bugfix: in the "addition_types", "charset_types", "gzip_types",
2847        "ssi_types", "sub_filter_types", and "xslt_types" directives; the
2848        bugs had appeared in 0.7.9.
2849 
2850     *) Bugfix: of recursive error_page for 500 status code.
2851 
2852     *) Bugfix: now the ngx_http_realip_module sets address not for whole
2853        keepalive connection, but for each request passed via the connection.
2854 
2855 
2856 Changes with nginx 0.7.9                                         12 Aug 2008
2857 
2858     *) Change: now ngx_http_charset_module works by default with following
2859        MIME types: text/html, text/css, text/xml, text/plain,
2860        text/vnd.wap.wml, application/x-javascript, and application/rss+xml.
2861 
2862     *) Feature: the "charset_types" and "addition_types" directives.
2863 
2864     *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types"
2865        directives use hash.
2866 
2867     *) Feature: the ngx_cpp_test_module.
2868 
2869     *) Feature: the "expires" directive supports daily time.
2870 
2871     *) Feature: the ngx_http_xslt_module improvements and bug fixing.
2872        Thanks to Denis F. Latypoff and Maxim Dounin.
2873 
2874     *) Bugfix: the "log_not_found" directive did not work for index files
2875        tests.
2876 
2877     *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or
2878        eventport methods were used; the bug had appeared in 0.7.7.
2879 
2880     *) Bugfix: if the "server_name", "valid_referers", and "map" directives
2881        used an "*.domain.tld" wildcard and exact name "domain.tld" was not
2882        set, then the exact name was matched by the wildcard; the bug had
2883        appeared in 0.3.18.
2884 
2885 
2886 Changes with nginx 0.7.8                                         04 Aug 2008
2887 
2888     *) Feature: the ngx_http_xslt_module.
2889 
2890     *) Feature: the "$arg_..." variables.
2891 
2892     *) Feature: Solaris directio support.
2893        Thanks to Ivan Debnar.
2894 
2895     *) Bugfix: now if FastCGI server sends a "Location" header line without
2896        status line, then nginx uses 302 status code.
2897        Thanks to Maxim Dounin.
2898 
2899 
2900 Changes with nginx 0.7.7                                         30 Jul 2008
2901 
2902     *) Change: now the EAGAIN error returned by connect() is not considered
2903        as temporary error.
2904 
2905     *) Change: now the $ssl_client_cert variable value is a certificate with
2906        TAB character intended before each line except first one; an
2907        unchanged certificate is available in the $ssl_client_raw_cert
2908        variable.
2909 
2910     *) Feature: the "ask" parameter in the "ssl_verify_client" directive.
2911 
2912     *) Feature: byte-range processing improvements.
2913        Thanks to Maxim Dounin.
2914 
2915     *) Feature: the "directio" directive.
2916        Thanks to Jiang Hong.
2917 
2918     *) Feature: MacOSX 10.5 sendfile() support.
2919 
2920     *) Bugfix: now in MacOSX and Cygwin locations are tested in case
2921        insensitive mode; however, the compare is provided by single-byte
2922        locales only.
2923 
2924     *) Bugfix: mail proxy SSL connections hanged, if select, poll, or
2925        /dev/poll methods were used.
2926 
2927     *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
2928 
2929 
2930 Changes with nginx 0.7.6                                         07 Jul 2008
2931 
2932     *) Bugfix: now if variables are used in the "access_log" directive a
2933        request root existence is always tested.
2934 
2935     *) Bugfix: the ngx_http_flv_module did not support several values in a
2936        query string.
2937 
2938 
2939 Changes with nginx 0.7.5                                         01 Jul 2008
2940 
2941     *) Bugfixes in variables support in the "access_log" directive; the bugs
2942        had appeared in 0.7.4.
2943 
2944     *) Bugfix: nginx could not be built --without-http_gzip_module; the bug
2945        had appeared in 0.7.3.
2946        Thanks to Kirill A. Korinskiy.
2947 
2948     *) Bugfix: if sub_filter and SSI were used together, then responses
2949        might were transferred incorrectly.
2950 
2951 
2952 Changes with nginx 0.7.4                                         30 Jun 2008
2953 
2954     *) Feature: variables support in the "access_log" directive.
2955 
2956     *) Feature: the "open_log_file_cache" directive.
2957 
2958     *) Feature: the -g switch.
2959 
2960     *) Feature: the "Expect" request header line support.
2961 
2962     *) Bugfix: large SSI inclusions might be truncated.
2963 
2964 
2965 Changes with nginx 0.7.3                                         23 Jun 2008
2966 
2967     *) Change: the "rss" extension MIME type has been changed to
2968        "application/rss+xml".
2969 
2970     *) Change: now the "gzip_vary" directive turned on issues a
2971        "Vary: Accept-Encoding" header line for uncompressed responses too.
2972 
2973     *) Feature: now the "rewrite" directive does a redirect automatically if
2974        the "https://" protocol is used.
2975 
2976     *) Bugfix: the "proxy_pass" directive did not work with the HTTPS
2977        protocol; the bug had appeared in 0.6.9.
2978 
2979 
2980 Changes with nginx 0.7.2                                         16 Jun 2008
2981 
2982     *) Feature: now nginx supports EDH key exchange ciphers.
2983 
2984     *) Feature: the "ssl_dhparam" directive.
2985 
2986     *) Feature: the $ssl_client_cert variable.
2987        Thanks to Manlio Perillo.
2988 
2989     *) Bugfix: after changing URI via a "rewrite" directive nginx did not
2990        search a new location; the bug had appeared in 0.7.1.
2991        Thanks to Maxim Dounin.
2992 
2993     *) Bugfix: nginx could not be built without PCRE library; the bug had
2994        appeared in 0.7.1.
2995 
2996     *) Bugfix: when a request to a directory was redirected with the slash
2997        added, nginx dropped a query string from the original request.
2998 
2999 
3000 Changes with nginx 0.7.1                                         26 May 2008
3001 
3002     *) Change: now locations are searched in a tree.
3003 
3004     *) Change: the "optimize_server_names" directive was canceled due to the
3005        "server_name_in_redirect" directive introduction.
3006 
3007     *) Change: some long deprecated directives are not supported anymore.
3008 
3009     *) Change: the "none" parameter in the "ssl_session_cache" directive;
3010        now this is default parameter.
3011        Thanks to Rob Mueller.
3012 
3013     *) Bugfix: worker processes might not catch reconfiguration and log
3014        rotation signals.
3015 
3016     *) Bugfix: nginx could not be built on latest Fedora 9 Linux.
3017        Thanks to Roxis.
3018 
3019 
3020 Changes with nginx 0.7.0                                         19 May 2008
3021 
3022     *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX
3023        in an access_log.
3024        Thanks to Maxim Dounin.
3025 
3026     *) Change: now nginx allows several "Host" request header line.
3027 
3028     *) Feature: the "modified" flag in the "expires" directive.
3029 
3030     *) Feature: the $uid_got and $uid_set variables may be used at any
3031        request processing stage.
3032 
3033     *) Feature: the $hostname variable.
3034        Thanks to Andrei Nigmatulin.
3035 
3036     *) Feature: DESTDIR support.
3037        Thanks to Todd A. Fisher and Andras Voroskoi.
3038 
3039     *) Bugfix: a segmentation fault might occur in worker process on Linux,
3040        if keepalive was enabled.
3041 
3042 
3043 Changes with nginx 0.6.31                                        12 May 2008
3044 
3045     *) Bugfix: nginx did not process FastCGI response if header was at the
3046        end of FastCGI record; the bug had appeared in 0.6.2.
3047        Thanks to Sergey Serov.
3048 
3049     *) Bugfix: a segmentation fault might occur in worker process if a file
3050        was deleted and the "open_file_cache_errors" directive was off.
3051 
3052 
3053 Changes with nginx 0.6.30                                        29 Apr 2008
3054 
3055     *) Change: now if an "include" directive pattern does not match any
3056        file, then nginx does not issue an error.
3057 
3058     *) Feature: now the time in directives may be specified without spaces,
3059        for example, "1h50m".
3060 
3061     *) Bugfix: memory leaks if the "ssl_verify_client" directive was on.
3062        Thanks to Chavelle Vincent.
3063 
3064     *) Bugfix: the "sub_filter" directive might set text to change into
3065        output.
3066 
3067     *) Bugfix: the "error_page" directive did not take into account
3068        arguments in redirected URI.
3069 
3070     *) Bugfix: now nginx always opens files in binary mode under Cygwin.
3071 
3072     *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in
3073        0.6.15.
3074 
3075 
3076 Changes with nginx 0.6.29                                        18 Mar 2008
3077 
3078     *) Feature: the ngx_google_perftools_module.
3079 
3080     *) Bugfix: the ngx_http_perl_module could not be built on 64-bit
3081        platforms; the bug had appeared in 0.6.27.
3082 
3083 
3084 Changes with nginx 0.6.28                                        13 Mar 2008
3085 
3086     *) Bugfix: the rtsig method could not be built; the bug had appeared in
3087        0.6.27.
3088 
3089 
3090 Changes with nginx 0.6.27                                        12 Mar 2008
3091 
3092     *) Change: now by default the rtsig method is not built on
3093        Linux 2.6.18+.
3094 
3095     *) Change: now a request method is not changed while redirection to a
3096        named location via an "error_page" directive.
3097 
3098     *) Feature: the "resolver" and "resolver_timeout" directives in SMTP
3099        proxy.
3100 
3101     *) Feature: the "post_action" directive supports named locations.
3102 
3103     *) Bugfix: a segmentation fault occurred in worker process, if a request
3104        was redirected from proxy, FastCGI, or memcached location to static
3105        named locations.
3106 
3107     *) Bugfix: browsers did not repeat SSL handshake if there is no valid
3108        client certificate in first handshake.
3109        Thanks to Alexander V. Inyukhin.
3110 
3111     *) Bugfix: if response code 495-497 was redirected via an "error_page"
3112        directive without code change, then nginx tried to allocate too many
3113        memory.
3114 
3115     *) Bugfix: memory leak in long-lived non buffered connections.
3116 
3117     *) Bugfix: memory leak in resolver.
3118 
3119     *) Bugfix: a segmentation fault occurred in worker process, if a request
3120        was redirected from proxy, FastCGI, or memcached location to static
3121        named locations.
3122 
3123     *) Bugfix: in the $proxy_host and $proxy_port variables caching.
3124        Thanks to Sergey Bochenkov.
3125 
3126     *) Bugfix: a "proxy_pass" directive with variables used incorrectly the
3127        same port as in another "proxy_pass" directive with the same host
3128        name and without variables.
3129        Thanks to Sergey Bochenkov.
3130 
3131     *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some
3132        64-bit platforms while reconfiguration.
3133 
3134     *) Bugfix: a segmentation fault occurred in worker process, if empty
3135        stub block was used second time in SSI.
3136 
3137     *) Bugfix: in copying URI part contained escaped symbols into arguments.
3138 
3139 
3140 Changes with nginx 0.6.26                                        11 Feb 2008
3141 
3142     *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not
3143        check a response length.
3144 
3145     *) Bugfix: a segmentation fault occurred in worker process, if big value
3146        was used in a "expires" directive.
3147        Thanks to Joaquin Cuenca Abela.
3148 
3149     *) Bugfix: nginx incorrectly detected cache line size on Pentium 4.
3150        Thanks to Gena Makhomed.
3151 
3152     *) Bugfix: in proxied or FastCGI subrequests a client original method
3153        was used instead of the GET method.
3154 
3155     *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
3156        Thanks to Ben Maurer.
3157 
3158     *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed
3159        (SSL: )"; the bug had appeared in 0.6.23.
3160 
3161     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
3162        error; the bug had appeared in 0.6.23.
3163 
3164 
3165 Changes with nginx 0.6.25                                        08 Jan 2008
3166 
3167     *) Change: now the "server_name_in_redirect" directive is used instead
3168        of the "server_name" directive's special "*" parameter.
3169 
3170     *) Change: now wildcard and regex names can be used as main name in a
3171        "server_name" directive.
3172 
3173     *) Change: the "satisfy_any" directive was replaced by the "satisfy"
3174        directive.
3175 
3176     *) Workaround: old worker processes might hog CPU after reconfiguration
3177        if they was run under Linux OpenVZ.
3178 
3179     *) Feature: the "min_delete_depth" directive.
3180 
3181     *) Bugfix: the COPY and MOVE methods did not work with single files.
3182 
3183     *) Bugfix: the ngx_http_gzip_static_module did not allow the
3184        ngx_http_dav_module to work; the bug had appeared in 0.6.23.
3185 
3186     *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
3187        Thanks to Ben Maurer.
3188 
3189     *) Bugfix: nginx could not be built without PCRE library; the bug had
3190        appeared in 0.6.23.
3191 
3192 
3193 Changes with nginx 0.6.24                                        27 Dec 2007
3194 
3195     *) Bugfix: a segmentation fault might occur in worker process if HTTPS
3196        was used; the bug had appeared in 0.6.23.
3197 
3198 
3199 Changes with nginx 0.6.23                                        27 Dec 2007
3200 
3201     *) Change: the "off" parameter in the "ssl_session_cache" directive; now
3202        this is default parameter.
3203 
3204     *) Change: the "open_file_cache_retest" directive was renamed to the
3205        "open_file_cache_valid".
3206 
3207     *) Feature: the "open_file_cache_min_uses" directive.
3208 
3209     *) Feature: the ngx_http_gzip_static_module.
3210 
3211     *) Feature: the "gzip_disable" directive.
3212 
3213     *) Feature: the "memcached_pass" directive may be used inside the "if"
3214        block.
3215 
3216     *) Bugfix: a segmentation fault occurred in worker process, if the
3217        "memcached_pass" and "if" directives were used in the same location.
3218 
3219     *) Bugfix: if a "satisfy_any on" directive was used and not all access
3220        and auth modules directives were set, then other given access and
3221        auth directives were not tested;
3222 
3223     *) Bugfix: regex parameters in a "valid_referers" directive were not
3224        inherited from previous level.
3225 
3226     *) Bugfix: a "post_action" directive did run if a request was completed
3227        with 499 status code.
3228 
3229     *) Bugfix: optimization of 16K buffer usage in a SSL connection.
3230        Thanks to Ben Maurer.
3231 
3232     *) Bugfix: the STARTTLS in SMTP mode did not work.
3233        Thanks to Oleg Motienko.
3234 
3235     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
3236        error; the bug had appeared in 0.5.13.
3237 
3238 
3239 Changes with nginx 0.6.22                                        19 Dec 2007
3240 
3241     *) Change: now all ngx_http_perl_module methods return values copied to
3242        perl's allocated memory.
3243 
3244     *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before
3245        5.8.6 was used, and perl supported threads, then during
3246        reconfiguration the master process aborted; the bug had appeared in
3247        0.5.9.
3248        Thanks to Boris Zhmurov.
3249 
3250     *) Bugfix: the ngx_http_perl_module methods may get invalid values of
3251        the regex captures.
3252 
3253     *) Bugfix: a segmentation fault occurred in worker process, if the
3254        $r->has_request_body() method was called for a request whose small
3255        request body was already received.
3256 
3257     *) Bugfix: large_client_header_buffers did not freed before going to
3258        keep-alive state.
3259        Thanks to Olexander Shtepa.
3260 
3261     *) Bugfix: the last address was missed in the $upstream_addr variable;
3262        the bug had appeared in 0.6.18.
3263 
3264     *) Bugfix: the "fastcgi_catch_stderr" directive did return error code;
3265        now it returns 502 code, that can be rerouted to a next server using
3266        the "fastcgi_next_upstream invalid_header" directive.
3267 
3268     *) Bugfix: a segmentation fault occurred in master process if the
3269        "fastcgi_catch_stderr" directive was used; the bug had appeared in
3270        0.6.10.
3271        Thanks to Manlio Perillo.
3272 
3273 
3274 Changes with nginx 0.6.21                                        03 Dec 2007
3275 
3276     *) Change: if variable values used in a "proxy_pass" directive contain
3277        IP-addresses only, then a "resolver" directive is not mandatory.
3278 
3279     *) Bugfix: a segmentation fault might occur in worker process if a
3280        "proxy_pass" directive with URI-part was used; the bug had appeared
3281        in 0.6.19.
3282 
3283     *) Bugfix: if resolver was used on platform that does not support
3284        kqueue, then nginx issued an alert "name is out of response".
3285        Thanks to Andrei Nigmatulin.
3286 
3287     *) Bugfix: if the $server_protocol was used in FastCGI parameters and a
3288        request line length was near to the "client_header_buffer_size"
3289        directive value, then nginx issued an alert "fastcgi: the request
3290        record is too big".
3291 
3292     *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS
3293        server, then nginx returned usual response.
3294 
3295 
3296 Changes with nginx 0.6.20                                        28 Nov 2007
3297 
3298     *) Bugfix: a segmentation fault might occur in worker process if a
3299        "proxy_pass" directive with URI-part was used; the bug had appeared
3300        in 0.6.19.
3301 
3302 
3303 Changes with nginx 0.6.19                                        27 Nov 2007
3304 
3305     *) Bugfix: the 0.6.18 version could not be built.
3306 
3307 
3308 Changes with nginx 0.6.18                                        27 Nov 2007
3309 
3310     *) Change: now the ngx_http_userid_module adds start time microseconds
3311        to the cookie field contains a pid value.
3312 
3313     *) Change: now the full request line instead of URI only is written to
3314        error_log.
3315 
3316     *) Feature: variables support in the "proxy_pass" directive.
3317 
3318     *) Feature: the "resolver" and "resolver_timeout" directives.
3319 
3320     *) Feature: now the directive "add_header last-modified ''" deletes a
3321        "Last-Modified" response header line.
3322 
3323     *) Bugfix: the "limit_rate" directive did not allow to use full
3324        throughput, even if limit value was very high.
3325 
3326 
3327 Changes with nginx 0.6.17                                        15 Nov 2007
3328 
3329     *) Feature: the "If-Range" request header line support.
3330        Thanks to Alexander V. Inyukhin.
3331 
3332     *) Bugfix: URL double escaping in a redirect of the "msie_refresh"
3333        directive; the bug had appeared in 0.6.4.
3334 
3335     *) Bugfix: the "autoindex" directive did not work with the "alias /"
3336        directive.
3337 
3338     *) Bugfix: a segmentation fault might occur in worker process if
3339        subrequests were used.
3340 
3341     *) Bugfix: the big responses may be transferred truncated if SSL and
3342        gzip were used.
3343 
3344     *) Bugfix: the $status variable was equal to 0 if a proxied server
3345        returned response in HTTP/0.9 version.
3346 
3347 
3348 Changes with nginx 0.6.16                                        29 Oct 2007
3349 
3350     *) Change: now the uname(2) is used on Linux instead of procfs.
3351        Thanks to Ilya Novikov.
3352 
3353     *) Bugfix: if the "?" character was in a "error_page" directive, then it
3354        was escaped in a proxied request; the bug had appeared in 0.6.11.
3355 
3356     *) Bugfix: compatibility with mget.
3357 
3358 
3359 Changes with nginx 0.6.15                                        22 Oct 2007
3360 
3361     *) Feature: Cygwin compatibility.
3362        Thanks to Vladimir Kutakov.
3363 
3364     *) Feature: the "merge_slashes" directive.
3365 
3366     *) Feature: the "gzip_vary" directive.
3367 
3368     *) Feature: the "server_tokens" directive.
3369 
3370     *) Bugfix: nginx did not unescape URI in the "include" SSI command.
3371 
3372     *) Bugfix: the segmentation fault was occurred on start or while
3373        reconfiguration if variable was used in the "charset" or
3374        "source_charset" directives.
3375 
3376     *) Bugfix: nginx returned the 400 response on requests like
3377        "GET http://www.domain.com HTTP/1.0".
3378        Thanks to James Oakley.
3379 
3380     *) Bugfix: if request with request body was redirected using the
3381        "error_page" directive, then nginx tried to read the request body
3382        again; the bug had appeared in 0.6.7.
3383 
3384     *) Bugfix: a segmentation fault occurred in worker process if no
3385        server_name was explicitly defined for server processing request; the
3386        bug had appeared in 0.6.7.
3387 
3388 
3389 Changes with nginx 0.6.14                                        15 Oct 2007
3390 
3391     *) Change: now by default the "echo" SSI command uses entity encoding.
3392 
3393     *) Feature: the "encoding" parameter in the "echo" SSI command.
3394 
3395     *) Feature: the "access_log" directive may be used inside the
3396        "limit_except" block.
3397 
3398     *) Bugfix: if all upstream servers were failed, then all servers had got
3399        weight the was equal one until servers became alive; the bug had
3400        appeared in 0.6.6.
3401 
3402     *) Bugfix: a segmentation fault occurred in worker process if
3403        $date_local and $date_gmt were used outside the
3404        ngx_http_ssi_filter_module.
3405 
3406     *) Bugfix: a segmentation fault might occur in worker process if debug
3407        log was enabled.
3408        Thanks to Andrei Nigmatulin.
3409 
3410     *) Bugfix: ngx_http_memcached_module did not set
3411        $upstream_response_time.
3412        Thanks to Maxim Dounin.
3413 
3414     *) Bugfix: a worker process may got caught in an endless loop, if the
3415        memcached was used.
3416 
3417     *) Bugfix: nginx supported low case only "close" and "keep-alive" values
3418        in the "Connection" request header line; the bug had appeared in
3419        0.6.11.
3420 
3421     *) Bugfix: sub_filter did not work with empty substitution.
3422 
3423     *) Bugfix: in sub_filter parsing.
3424 
3425 
3426 Changes with nginx 0.6.13                                        24 Sep 2007
3427 
3428     *) Bugfix: nginx did not close directory file on HEAD request if
3429        autoindex was used.
3430        Thanks to Arkadiusz Patyk.
3431 
3432 
3433 Changes with nginx 0.6.12                                        21 Sep 2007
3434 
3435     *) Change: mail proxy was split on three modules: pop3, imap and smtp.
3436 
3437     *) Feature: the --without-mail_pop3_module, --without-mail_imap_module,
3438        and --without-mail_smtp_module configuration parameters.
3439 
3440     *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer"
3441        directives of the ngx_mail_smtp_module.
3442 
3443     *) Bugfix: the trailing wildcards did not work; the bug had appeared in
3444        0.6.9.
3445 
3446     *) Bugfix: nginx could not start on Solaris if the shared PCRE library
3447        located in non-standard place was used.
3448 
3449     *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives
3450        did not hide response header lines whose name was longer than 32
3451        characters.
3452        Thanks to Manlio Perillo.
3453 
3454 
3455 Changes with nginx 0.6.11                                        11 Sep 2007
3456 
3457     *) Bugfix: active connection counter always increased if mail proxy was
3458        used.
3459 
3460     *) Bugfix: if backend returned response header only using non-buffered
3461        proxy, then nginx closed backend connection on timeout.
3462 
3463     *) Bugfix: nginx did not support several "Connection" request header
3464        lines.
3465 
3466     *) Bugfix: if the "max_fails" was set for upstream server, then after
3467        first failure server weight was always one; the bug had appeared in
3468        0.6.6.
3469 
3470 
3471 Changes with nginx 0.6.10                                        03 Sep 2007
3472 
3473     *) Feature: the "open_file_cache", "open_file_cache_retest", and
3474        "open_file_cache_errors" directives.
3475 
3476     *) Bugfix: socket leak; the bug had appeared in 0.6.7.
3477 
3478     *) Bugfix: a charset set by the "charset" directive was not appended to
3479        the "Content-Type" header set by $r->send_http_header().
3480 
3481     *) Bugfix: a segmentation fault might occur in worker process if
3482        /dev/poll method was used.
3483 
3484 
3485 Changes with nginx 0.6.9                                         28 Aug 2007
3486 
3487     *) Bugfix: a worker process may got caught in an endless loop, if the
3488        HTTPS protocol was used; the bug had appeared in 0.6.7.
3489 
3490     *) Bugfix: if server listened on two addresses or ports and trailing
3491        wildcard was used, then nginx did not run.
3492 
3493     *) Bugfix: the "ip_hash" directive might incorrectly mark servers as
3494        down.
3495 
3496     *) Bugfix: nginx could not be built on amd64; the bug had appeared in
3497        0.6.8.
3498 
3499 
3500 Changes with nginx 0.6.8                                         20 Aug 2007
3501 
3502     *) Change: now nginx tries to set the "worker_priority",
3503        "worker_rlimit_nofile", "worker_rlimit_core", and
3504        "worker_rlimit_sigpending" without super-user privileges.
3505 
3506     *) Change: now nginx escapes space and "%" in request to a mail proxy
3507        authentication server.
3508 
3509     *) Change: now nginx escapes "%" in $memcached_key variable.
3510 
3511     *) Bugfix: nginx used path relative to configuration prefix for
3512        non-absolute configuration file path specified in the "-c" key; the
3513        bug had appeared in 0.6.6.
3514 
3515     *) Bugfix: nginx did not work on FreeBSD/sparc64.
3516 
3517 
3518 Changes with nginx 0.6.7                                         15 Aug 2007
3519 
3520     *) Change: now the paths specified in the "include",
3521        "auth_basic_user_file", "perl_modules", "ssl_certificate",
3522        "ssl_certificate_key", and "ssl_client_certificate" directives are
3523        relative to directory of nginx configuration file nginx.conf, but not
3524        to nginx prefix directory.
3525 
3526     *) Change: the --sysconfdir=PATH option in configure was canceled.
3527 
3528     *) Change: the special make target "upgrade1" was defined for online
3529        upgrade of 0.1.x versions.
3530 
3531     *) Feature: the "server_name" and "valid_referers" directives support
3532        regular expressions.
3533 
3534     *) Feature: the "server" directive in the "upstream" context supports
3535        the "backup" parameter.
3536 
3537     *) Feature: the ngx_http_perl_module supports the
3538        $r->discard_request_body.
3539 
3540     *) Feature: the "add_header Last-Modified ..." directive changes the
3541        "Last-Modified" response header line.
3542 
3543     *) Bugfix: if a response different than 200 was returned to a request
3544        with body and connection went to the keep-alive state after the
3545        request, then nginx returned 400 for the next request.
3546 
3547     *) Bugfix: a segmentation fault occurred in worker process if invalid
3548        address was set in the "auth_http" directive.
3549 
3550     *) Bugfix: now nginx uses default listen backlog value 511 on all
3551        platforms except FreeBSD.
3552        Thanks to Jiang Hong.
3553 
3554     *) Bugfix: a worker process may got caught in an endless loop, if a
3555        "server" inside "upstream" block was marked as "down"; the bug had
3556        appeared in 0.6.6.
3557 
3558     *) Bugfix: now Solaris sendfilev() is not used to transfer the client
3559        request body to FastCGI-server via the unix domain socket.
3560 
3561 
3562 Changes with nginx 0.6.6                                         30 Jul 2007
3563 
3564     *) Feature: the --sysconfdir=PATH option in configure.
3565 
3566     *) Feature: named locations.
3567 
3568     *) Feature: the $args variable can be set with the "set" directive.
3569 
3570     *) Feature: the $is_args variable.
3571 
3572     *) Bugfix: fair big weight upstream balancer.
3573 
3574     *) Bugfix: if a client has closed connection to mail proxy then nginx
3575        might not close connection to backend.
3576 
3577     *) Bugfix: if the same host without specified port was used as backend
3578        for HTTP and HTTPS, then nginx used only one port - 80 or 443.
3579 
3580     *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early
3581        versions; the bug had appeared in 0.6.4.
3582 
3583 
3584 Changes with nginx 0.6.5                                         23 Jul 2007
3585 
3586     *) Feature: $nginx_version variable.
3587        Thanks to Nick S. Grechukh.
3588 
3589     *) Feature: the mail proxy supports AUTHENTICATE in IMAP mode.
3590        Thanks to Maxim Dounin.
3591 
3592     *) Feature: the mail proxy supports STARTTLS in SMTP mode.
3593        Thanks to Maxim Dounin.
3594 
3595     *) Bugfix: now nginx escapes space in $memcached_key variable.
3596 
3597     *) Bugfix: nginx was incorrectly built by Sun Studio on Solaris/amd64.
3598        Thanks to Jiang Hong.
3599 
3600     *) Bugfix: of minor potential bugs.
3601        Thanks to Coverity's Scan.
3602 
3603 
3604 Changes with nginx 0.6.4                                         17 Jul 2007
3605 
3606     *) Security: the "msie_refresh" directive allowed XSS.
3607        Thanks to Maxim Boguk.
3608 
3609     *) Change: the "proxy_store" and "fastcgi_store" directives were
3610        changed.
3611 
3612     *) Feature: the "proxy_store_access" and "fastcgi_store_access"
3613        directives.
3614 
3615     *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
3616        Studio.
3617        Thanks to Andrei Nigmatulin.
3618 
3619     *) Workaround: for Sun Studio 12.
3620        Thanks to Jiang Hong.
3621 
3622 
3623 Changes with nginx 0.6.3                                         12 Jul 2007
3624 
3625     *) Feature: the "proxy_store" and "fastcgi_store" directives.
3626 
3627     *) Bugfix: a segmentation fault might occur in worker process if the
3628        "auth_http_header" directive was used.
3629        Thanks to Maxim Dounin.
3630 
3631     *) Bugfix: a segmentation fault occurred in worker process if the
3632        CRAM-MD5 authentication method was used, but it was not enabled.
3633 
3634     *) Bugfix: a segmentation fault might occur in worker process when the
3635        HTTPS protocol was used in the "proxy_pass" directive.
3636 
3637     *) Bugfix: a segmentation fault might occur in worker process if the
3638        eventport method was used.
3639 
3640     *) Bugfix: the "proxy_ignore_client_abort" and
3641        "fastcgi_ignore_client_abort" directives did not work; the bug had
3642        appeared in 0.5.13.
3643 
3644 
3645 Changes with nginx 0.6.2                                         09 Jul 2007
3646 
3647     *) Bugfix: if the FastCGI header was split in records, then nginx passed
3648        garbage in the header to a client.
3649 
3650 
3651 Changes with nginx 0.6.1                                         17 Jun 2007
3652 
3653     *) Bugfix: in SSI parsing.
3654 
3655     *) Bugfix: if remote SSI subrequest was used, then posterior local file
3656        subrequest might transferred to client in wrong order.
3657 
3658     *) Bugfix: large SSI inclusions buffered in temporary files were
3659        truncated.
3660 
3661     *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal
3662        to the master process identification number.
3663 
3664 
3665 Changes with nginx 0.6.0                                         14 Jun 2007
3666 
3667     *) Feature: the "server_name", "map", and "valid_referers" directives
3668        support the "www.example.*" wildcards.
3669 
3670 
3671 Changes with nginx 0.5.25                                        11 Jun 2007
3672 
3673     *) Bugfix: nginx could not be built with the
3674        --without-http_rewrite_module parameter; the bug had appeared in
3675        0.5.24.
3676 
3677 
3678 Changes with nginx 0.5.24                                        06 Jun 2007
3679 
3680     *) Security: the "ssl_verify_client" directive did not work if request
3681        was made using HTTP/0.9.
3682 
3683     *) Bugfix: a part of response body might be passed uncompressed if gzip
3684        was used; the bug had appeared in 0.5.23.
3685 
3686 
3687 Changes with nginx 0.5.23                                        04 Jun 2007
3688 
3689     *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS
3690        extension.
3691 
3692     *) Feature: the "fastcgi_catch_stderr" directive.
3693        Thanks to Nick S. Grechukh, OWOX project.
3694 
3695     *) Bugfix: a segmentation fault occurred in master process if two
3696        virtual servers should bind() to the overlapping ports.
3697 
3698     *) Bugfix: if nginx was built with ngx_http_perl_module and perl
3699        supported threads, then during second reconfiguration the error
3700        messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
3701 
3702     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
3703 
3704 
3705 Changes with nginx 0.5.22                                        29 May 2007
3706 
3707     *) Bugfix: a big request body might not be passed to backend; the bug
3708        had appeared in 0.5.21.
3709 
3710 
3711 Changes with nginx 0.5.21                                        28 May 2007
3712 
3713     *) Bugfix: if server has more than about ten locations, then regex
3714        locations might be choosen not in that order as they were specified.
3715 
3716     *) Bugfix: a worker process may got caught in an endless loop on 64-bit
3717        platform, if the 33-rd or next in succession backend has failed.
3718        Thanks to Anton Povarov.
3719 
3720     *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE
3721        library was used.
3722        Thanks to Andrei Nigmatulin.
3723 
3724     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
3725 
3726 
3727 Changes with nginx 0.5.20                                        07 May 2007
3728 
3729     *) Feature: the "sendfile_max_chunk" directive.
3730 
3731     *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..."
3732        variables may be changed using the "set" directive.
3733 
3734     *) Bugfix: a segmentation fault might occur in worker process if the SSI
3735        command 'if expr="$var = /"' was used.
3736 
3737     *) Bugfix: trailing boundary of multipart range response was transferred
3738        incorrectly.
3739        Thanks to Evan Miller.
3740 
3741     *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
3742        Studio.
3743        Thanks to Andrei Nigmatulin.
3744 
3745     *) Bugfix: the ngx_http_perl_module could not be built by Solaris make.
3746        Thanks to Andrei Nigmatulin.
3747 
3748 
3749 Changes with nginx 0.5.19                                        24 Apr 2007
3750 
3751     *) Change: now the $request_time variable has millisecond precision.
3752 
3753     *) Change: the method $r->rflush of ngx_http_perl_module was renamed to
3754        the $r->flush.
3755 
3756     *) Feature: the $upstream_addr variable.
3757 
3758     *) Feature: the "proxy_headers_hash_max_size" and
3759        "proxy_headers_hash_bucket_size" directives.
3760        Thanks to Volodymyr Kostyrko.
3761 
3762     *) Bugfix: the files more than 2G could not be transferred using
3763        sendfile and limit_rate on 64-bit platforms.
3764 
3765     *) Bugfix: the files more than 2G could not be transferred using
3766        sendfile on 64-bit Linux.
3767 
3768 
3769 Changes with nginx 0.5.18                                        19 Apr 2007
3770 
3771     *) Feature: the ngx_http_sub_filter_module.
3772 
3773     *) Feature: the "$upstream_http_..." variables.
3774 
3775     *) Feature: now the $upstream_status and $upstream_response_time
3776        variables keep data about all upstreams before X-Accel-Redirect.
3777 
3778     *) Bugfix: a segmentation fault occurred in master process after first
3779        reconfiguration and receiving any signal if nginx was built with
3780        ngx_http_perl_module and perl did not support multiplicity; the bug
3781        had appeared in 0.5.9.
3782 
3783     *) Bugfix: if perl did not support multiplicity, then after
3784        reconfiguration perl code did not work; the bug had appeared in
3785        0.3.38.
3786 
3787 
3788 Changes with nginx 0.5.17                                        02 Apr 2007
3789 
3790     *) Change: now nginx always returns the 405 status for the TRACE method.
3791 
3792     *) Feature: now nginx supports the "include" directive inside the
3793        "types" block.
3794 
3795     *) Bugfix: the $document_root variable usage in the "root" and "alias"
3796        directives is disabled: this caused recursive stack overflow.
3797 
3798     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
3799 
3800     *) Bugfix: in some cases non-cachable variables (such as $uri variable)
3801        returned old cached value.
3802 
3803 
3804 Changes with nginx 0.5.16                                        26 Mar 2007
3805 
3806     *) Bugfix: the C-class network was not used as hash key in the "ip_hash"
3807        directive.
3808        Thanks to Pavel Yarkovoy.
3809 
3810     *) Bugfix: a segmentation fault might occur in worker process if a
3811        charset was set in the "Content-Type" header line and the line has
3812        trailing ";"; the bug had appeared in 0.3.50.
3813 
3814     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
3815        used and a request body written in a temporary file was multiple of
3816        32K.
3817 
3818     *) Bugfix: nginx could not be built on Solaris without the --with-debug
3819        option; the bug had appeared in 0.5.15.
3820 
3821 
3822 Changes with nginx 0.5.15                                        19 Mar 2007
3823 
3824     *) Feature: the mail proxy supports authenticated SMTP proxying and the
3825        "smtp_auth", "smtp_capablities", and "xclient" directives.
3826        Thanks to Anton Yuzhaninov and Maxim Dounin.
3827 
3828     *) Feature: now the keep-alive connections are closed just after
3829        receiving the reconfiguration signal.
3830 
3831     *) Change: the "imap" and "auth" directives were renamed to the "mail"
3832        and "pop3_auth" directives.
3833 
3834     *) Bugfix: a segmentation fault occurred in worker process if the
3835        CRAM-MD5 authentication method was used and the APOP method was
3836        disabled.
3837 
3838     *) Bugfix: if the "starttls only" directive was used in POP3 protocol,
3839        then nginx allowed authentication without switching to the SSL mode.
3840 
3841     *) Bugfix: worker processes did not exit after reconfiguration and did
3842        not rotate logs if the eventport method was used.
3843 
3844     *) Bugfix: a worker process may got caught in an endless loop, if the
3845        "ip_hash" directive was used.
3846 
3847     *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll
3848        methods are used.
3849 
3850 
3851 Changes with nginx 0.5.14                                        23 Feb 2007
3852 
3853     *) Bugfix: nginx ignored superfluous closing "}" in the end of
3854        configuration file.
3855 
3856 
3857 Changes with nginx 0.5.13                                        19 Feb 2007
3858 
3859     *) Feature: the COPY and MOVE methods.
3860 
3861     *) Bugfix: the ngx_http_realip_module set garbage for requests passed
3862        via keep-alive connection.
3863 
3864     *) Bugfix: nginx did not work on big-endian 64-bit Linux.
3865        Thanks to Andrei Nigmatulin.
3866 
3867     *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes
3868        the connection right away, but not after timeout.
3869 
3870     *) Bugfix: if the "epoll" method was used and a client closed a
3871        connection prematurely, then nginx closed the connection after a send
3872        timeout only.
3873 
3874     *) Bugfix: nginx could not be built on platforms different from i386,
3875        amd64, sparc, and ppc; the bug had appeared in 0.5.8.
3876 
3877 
3878 Changes with nginx 0.5.12                                        12 Feb 2007
3879 
3880     *) Bugfix: nginx could not be built on platforms different from i386,
3881        amd64, sparc, and ppc; the bug had appeared in 0.5.8.
3882 
3883     *) Bugfix: a segmentation fault might occur in worker process if the
3884        temporary files were used while working with FastCGI server; the bug
3885        had appeared in 0.5.8.
3886 
3887     *) Bugfix: a segmentation fault might occur in worker process if the
3888        $fastcgi_script_name variable was logged.
3889 
3890     *) Bugfix: ngx_http_perl_module could not be built on Solaris.
3891 
3892 
3893 Changes with nginx 0.5.11                                        05 Feb 2007
3894 
3895     *) Feature: now configure detects system PCRE library in MacPorts.
3896        Thanks to Chris McGrath.
3897 
3898     *) Bugfix: the response was incorrect if several ranges were requested;
3899        the bug had appeared in 0.5.6.
3900 
3901     *) Bugfix: the "create_full_put_path" directive could not create the
3902        intermediate directories if no "dav_access" directive was set.
3903        Thanks to Evan Miller.
3904 
3905     *) Bugfix: the "0" response code might be logged in the access_log
3906        instead of the "400" and "408" error codes.
3907 
3908     *) Bugfix: a segmentation fault might occur in worker process if nginx
3909        was built with -O2 optimization.
3910 
3911 
3912 Changes with nginx 0.5.10                                        26 Jan 2007
3913 
3914     *) Bugfix: while online executable file upgrade the new master process
3915        did not inherit the listening sockets; the bug had appeared in 0.5.9.
3916 
3917     *) Bugfix: a segmentation fault might occur in worker process if nginx
3918        was built with -O2 optimization; the bug had appeared in 0.5.1.
3919 
3920 
3921 Changes with nginx 0.5.9                                         25 Jan 2007
3922 
3923     *) Change: now the ngx_http_memcached_module uses the $memcached_key
3924        variable value as a key.
3925 
3926     *) Feature: the $memcached_key variable.
3927 
3928     *) Feature: the "clean" parameter in the "client_body_in_file_only"
3929        directive.
3930 
3931     *) Feature: the "env" directive.
3932 
3933     *) Feature: the "sendfile" directive is available inside the "if" block.
3934 
3935     *) Feature: now on failure of the writing to access nginx logs a message
3936        to error_log, but not more often than once a minute.
3937 
3938     *) Bugfix: the "access_log off" directive did not always turn off the
3939        logging.
3940 
3941 
3942 Changes with nginx 0.5.8                                         19 Jan 2007
3943 
3944     *) Bugfix: a segmentation fault might occur if
3945        "client_body_in_file_only on" was used and a request body was small.
3946 
3947     *) Bugfix: a segmentation fault occurred if
3948        "client_body_in_file_only on" and "proxy_pass_request_body off" or
3949        "fastcgi_pass_request_body off" directives were used, and nginx
3950        switched to a next upstream.
3951 
3952     *) Bugfix: if the "proxy_buffering off" directive was used and a client
3953        connection was non-active, then the connection was closed after send
3954        timeout; the bug had appeared in 0.4.7.
3955 
3956     *) Bugfix: if the "epoll" method was used and a client closed a
3957        connection prematurely, then nginx closed the connection after a send
3958        timeout only.
3959 
3960     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
3961        used.
3962 
3963     *) Bugfixes in the "limit_zone" directive.
3964 
3965 
3966 Changes with nginx 0.5.7                                         15 Jan 2007
3967 
3968     *) Feature: the ssl_session_cache storage optimization.
3969 
3970     *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
3971 
3972     *) Bugfix: the segmentation fault was occurred on start or while
3973        reconfiguration if the "ssl_session_cache" or "limit_zone" directives
3974        were used on 64-bit platforms.
3975 
3976     *) Bugfix: a segmentation fault occurred if the "add_before_body" or
3977        "add_after_body" directives were used and there was no "Content-Type"
3978        header line in response.
3979 
3980     *) Bugfix: the OpenSSL library was always built with the threads
3981        support.
3982        Thanks to Den Ivanov.
3983 
3984     *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility.
3985 
3986 
3987 Changes with nginx 0.5.6                                         09 Jan 2007
3988 
3989     *) Change: now the ngx_http_index_module ignores all methods except the
3990        GET, HEAD, and POST methods.
3991 
3992     *) Feature: the ngx_http_limit_zone_module.
3993 
3994     *) Feature: the $binary_remote_addr variable.
3995 
3996     *) Feature: the "ssl_session_cache" directives of the
3997        ngx_http_ssl_module and ngx_imap_ssl_module.
3998 
3999     *) Feature: the DELETE method supports recursive removal.
4000 
4001     *) Bugfix: the byte-ranges were transferred incorrectly if the
4002        $r->sendfile() was used.
4003 
4004 
4005 Changes with nginx 0.5.5                                         24 Dec 2006
4006 
4007     *) Change: the -v switch does not show compiler information any more.
4008 
4009     *) Feature: the -V switch.
4010 
4011     *) Feature: the "worker_rlimit_core" directive supports size in K, M,
4012        and G.
4013 
4014     *) Bugfix: the nginx.pm module now could be installed by an unprivileged
4015        user.
4016 
4017     *) Bugfix: a segmentation fault might occur if the $r->request_body or
4018        $r->request_body_file methods were used.
4019 
4020     *) Bugfix: the ppc platform specific bugs.
4021 
4022 
4023 Changes with nginx 0.5.4                                         15 Dec 2006
4024 
4025     *) Feature: the "perl" directive may be used inside the "limit_except"
4026        block.
4027 
4028     *) Bugfix: the ngx_http_dav_module required the "Date" request header
4029        line for the DELETE method.
4030 
4031     *) Bugfix: if one only parameter was used in the "dav_access" directive,
4032        then nginx might report about configuration error.
4033 
4034     *) Bugfix: a segmentation fault might occur if the $host variable was
4035        used; the bug had appeared in 0.4.14.
4036 
4037 
4038 Changes with nginx 0.5.3                                         13 Dec 2006
4039 
4040     *) Feature: the ngx_http_perl_module supports the $r->status,
4041        $r->log_error, and $r->sleep methods.
4042 
4043     *) Feature: the $r->variable method supports variables that do not exist
4044        in nginx configuration.
4045 
4046     *) Bugfix: the $r->has_request_body method did not work.
4047 
4048 
4049 Changes with nginx 0.5.2                                         11 Dec 2006
4050 
4051     *) Bugfix: if the "proxy_pass" directive used the name of the "upstream"
4052        block, then nginx tried to resolve the name; the bug had appeared in
4053        0.5.1.
4054 
4055 
4056 Changes with nginx 0.5.1                                         11 Dec 2006
4057 
4058     *) Bugfix: the "post_action" directive might not run after a
4059        unsuccessful completion of a request.
4060 
4061     *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11.
4062        Thanks to Bron Gondwana.
4063 
4064     *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then
4065        the message "no port in upstream" was issued; the bug had appeared in
4066        0.5.0.
4067 
4068     *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
4069        same servers but different ports, then these directives uses the
4070        first described port; the bug had appeared in 0.5.0.
4071 
4072     *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
4073        unix domain sockets, then these directives used first described
4074        socket; the bug had appeared in 0.5.0.
4075 
4076     *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the
4077        last line in the password file and there was no the carriage return,
4078        the line feed, or the ":" symbol after the password.
4079 
4080     *) Bugfix: the $upstream_response_time variable might be equal to
4081        "0.000", although response time was more than 1 millisecond.
4082 
4083 
4084 Changes with nginx 0.5.0                                         04 Dec 2006
4085 
4086     *) Change: the parameters in the "%name" form in the "log_format"
4087        directive are not supported anymore.
4088 
4089     *) Change: the "proxy_upstream_max_fails",
4090        "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails",
4091        "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and
4092        "memcached_upstream_fail_timeout" directives are not supported
4093        anymore.
4094 
4095     *) Feature: the "server" directive in the "upstream" context supports
4096        the "max_fails", "fail_timeout", and "down" parameters.
4097 
4098     *) Feature: the "ip_hash" directive inside the "upstream" block.
4099 
4100     *) Feature: the WAIT status in the "Auth-Status" header line of the
4101        IMAP/POP3 proxy authentication server response.
4102 
4103     *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
4104        appeared in 0.4.14.
4105 
4106 
4107 Changes with nginx 0.4.14                                        27 Nov 2006
4108 
4109     *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
4110 
4111     *) Feature: now configure detects system PCRE library on FreeBSD, Linux,
4112        and NetBSD.
4113 
4114     *) Bugfix: ngx_http_perl_module did not work with perl built with the
4115        threads support; the bug had appeared in 0.3.38.
4116 
4117     *) Bugfix: ngx_http_perl_module did not work if perl was called
4118        recursively.
4119 
4120     *) Bugfix: nginx ignored a host name in a request line.
4121 
4122     *) Bugfix: a worker process may got caught in an endless loop, if a
4123        FastCGI server sent too many data to the stderr.
4124 
4125     *) Bugfix: the $upstream_response_time variable may be negative if the
4126        system time was changed backward.
4127 
4128     *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3
4129        proxy authentication server when POP3 was used.
4130 
4131     *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3
4132        proxy authentication server failed.
4133 
4134 
4135 Changes with nginx 0.4.13                                        15 Nov 2006
4136 
4137     *) Feature: the "proxy_pass" directive may be used inside the
4138        "limit_except" block.
4139 
4140     *) Feature: the "limit_except" directive supports all WebDAV methods.
4141 
4142     *) Bugfix: if the "add_before_body" directive was used without the
4143        "add_after_body" directive, then a response did not transferred
4144        complete.
4145 
4146     *) Bugfix: a large request body did not receive if the epoll method and
4147        the deferred accept() were used.
4148 
4149     *) Bugfix: a charset could not be set for ngx_http_autoindex_module
4150        responses; the bug had appeared in 0.3.50.
4151 
4152     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
4153        used;
4154 
4155     *) Bugfix: the --group= configuration parameter was ignored.
4156        Thanks to Thomas Moschny.
4157 
4158     *) Bugfix: the 50th subrequest in SSI response did not work; the bug had
4159        appeared in 0.3.50.
4160 
4161 
4162 Changes with nginx 0.4.12                                        31 Oct 2006
4163 
4164     *) Feature: the ngx_http_perl_module supports the $r->variable method.
4165 
4166     *) Bugfix: if a big static file was included using SSI in a response,
4167        then the response may be transferred incomplete.
4168 
4169     *) Bugfix: nginx did not omit the "#fragment" part in URI.
4170 
4171 
4172 Changes with nginx 0.4.11                                        25 Oct 2006
4173 
4174     *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
4175 
4176     *) Feature: the ngx_http_perl_module supports the $r->allow_ranges
4177        method.
4178 
4179     *) Bugfix: if the APOP was enabled in the POP3 proxy, then the USER/PASS
4180        commands might not work; the bug had appeared in 0.4.10.
4181 
4182 
4183 Changes with nginx 0.4.10                                        23 Oct 2006
4184 
4185     *) Feature: the POP3 proxy supports the APOP command.
4186 
4187     *) Bugfix: if the select, poll or /dev/poll methods were used, then
4188        while waiting authentication server response the IMAP/POP3 proxy
4189        hogged CPU.
4190 
4191     *) Bugfix: a segmentation fault might occur if the $server_addr variable
4192        was used in the "map" directive.
4193 
4194     *) Bugfix: the ngx_http_flv_module did not support the byte ranges for
4195        full responses; the bug had appeared in 0.4.7.
4196 
4197     *) Bugfix: nginx could not be built on Debian amd64; the bug had
4198        appeared in 0.4.9.
4199 
4200 
4201 Changes with nginx 0.4.9                                         13 Oct 2006
4202 
4203     *) Feature: the "set" parameter in the "include" SSI command.
4204 
4205     *) Feature: the ngx_http_perl_module now tests the nginx.pm module
4206        version.
4207 
4208 
4209 Changes with nginx 0.4.8                                         11 Oct 2006
4210 
4211     *) Bugfix: if an "include" SSI command were before another "include" SSI
4212        command with a "wait" parameter, then the "wait" parameter might not
4213        work.
4214 
4215     *) Bugfix: the ngx_http_flv_module added the FLV header to the full
4216        responses.
4217        Thanks to Alexey Kovyrin.
4218 
4219 
4220 Changes with nginx 0.4.7                                         10 Oct 2006
4221 
4222     *) Feature: the ngx_http_flv_module.
4223 
4224     *) Feature: the $request_body_file variable.
4225 
4226     *) Feature: the "charset" and "source_charset" directives support the
4227        variables.
4228 
4229     *) Bugfix: if an "include" SSI command were before another "include" SSI
4230        command with a "wait" parameter, then the "wait" parameter might not
4231        work.
4232 
4233     *) Bugfix: if the "proxy_buffering off" directive was used or while
4234        working with memcached the connections might not be closed on
4235        timeout.
4236 
4237     *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
4238        and ppc64.
4239 
4240 
4241 Changes with nginx 0.4.6                                         06 Oct 2006
4242 
4243     *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
4244        and ppc64.
4245 
4246     *) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
4247        if its length was set by text string in the
4248        $r->headers_out("Content-Length", ...) method.
4249 
4250     *) Bugfix: after redirecting error by an "error_page" directive any
4251        ngx_http_rewrite_module directive returned this error code; the bug
4252        had appeared in 0.4.4.
4253 
4254 
4255 Changes with nginx 0.4.5                                         02 Oct 2006
4256 
4257     *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
4258        appeared in 0.4.4.
4259 
4260 
4261 Changes with nginx 0.4.4                                         02 Oct 2006
4262 
4263     *) Feature: the $scheme variable.
4264 
4265     *) Feature: the "expires" directive supports the "max" parameter.
4266 
4267     *) Feature: the "include" directive supports the "*" mask.
4268        Thanks to Jonathan Dance.
4269 
4270     *) Bugfix: the "return" directive always overrode the "error_page"
4271        response code redirected by the "error_page" directive.
4272 
4273     *) Bugfix: a segmentation fault occurred if zero-length body was in PUT
4274        method.
4275 
4276     *) Bugfix: the redirect was changed incorrectly if the variables were
4277        used in the "proxy_redirect" directive.
4278 
4279 
4280 Changes with nginx 0.4.3                                         26 Sep 2006
4281 
4282     *) Change: now the 499 error could not be redirected using an
4283        "error_page" directive.
4284 
4285     *) Feature: the Solaris 10 event ports support.
4286 
4287     *) Feature: the ngx_http_browser_module.
4288 
4289     *) Bugfix: a segmentation fault may occur while redirecting the 400
4290        error to the proxied server using a "proxy_pass" directive.
4291 
4292     *) Bugfix: a segmentation fault occurred if an unix domain socket was
4293        used in a "proxy_pass" directive; the bug had appeared in 0.3.47.
4294 
4295     *) Bugfix: SSI did work with memcached and nonbuffered responses.
4296 
4297     *) Workaround: of the Sun Studio PAUSE hardware capability bug.
4298 
4299 
4300 Changes with nginx 0.4.2                                         14 Sep 2006
4301 
4302     *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug had
4303        appeared in 0.4.1.
4304 
4305 
4306 Changes with nginx 0.4.1                                         14 Sep 2006
4307 
4308     *) Bugfix: the DragonFlyBSD compatibility.
4309        Thanks to Pavel Nazarov.
4310 
4311     *) Workaround: of bug in 64-bit Linux sendfile(), when file is more than
4312        2G.
4313 
4314     *) Feature: now on Linux nginx uses O_NOATIME flag for static requests.
4315        Thanks to Yusuf Goolamabbas.
4316 
4317 
4318 Changes with nginx 0.4.0                                         30 Aug 2006
4319 
4320     *) Change in internal API: the HTTP modules initialization was moved
4321        from the init module phase to the HTTP postconfiguration phase.
4322 
4323     *) Change: now the request body is not read beforehand for the
4324        ngx_http_perl_module: it's required to start the reading using the
4325        $r->has_request_body method.
4326 
4327     *) Feature: the ngx_http_perl_module supports the DECLINED return code.
4328 
4329     *) Feature: the ngx_http_dav_module supports the incoming "Date" header
4330        line for the PUT method.
4331 
4332     *) Feature: the "ssi" directive is available inside the "if" block.
4333 
4334     *) Bugfix: a segmentation fault occurred if there was an "index"
4335        directive with variables and the first index name was without
4336        variables; the bug had appeared in 0.1.29.
4337 
4338 
4339 Changes with nginx 0.3.61                                        28 Aug 2006
4340 
4341     *) Change: now the "tcp_nodelay" directive is turned on by default.
4342 
4343     *) Feature: the "msie_refresh" directive.
4344 
4345     *) Feature: the "recursive_error_pages" directive.
4346 
4347     *) Bugfix: the "rewrite" directive returned incorrect redirect, if the
4348        redirect had the captured escaped symbols from original URI.
4349 
4350 
4351 Changes with nginx 0.3.60                                        18 Aug 2006
4352 
4353     *) Bugfix: a worker process may got caught in an endless loop while an
4354        error redirection; the bug had appeared in 0.3.59.
4355 
4356 
4357 Changes with nginx 0.3.59                                        16 Aug 2006
4358 
4359     *) Feature: now is possible to do several redirection using the
4360        "error_page" directive.
4361 
4362     *) Bugfix: the "dav_access" directive did not support three parameters.
4363 
4364     *) Bugfix: the "error_page" directive did not changes the "Content-Type"
4365        header line after the "X-Accel-Redirect" was used; the bug had
4366        appeared in 0.3.58.
4367 
4368 
4369 Changes with nginx 0.3.58                                        14 Aug 2006
4370 
4371     *) Feature: the "error_page" directive supports the variables.
4372 
4373     *) Change: now the procfs interface instead of sysctl is used on Linux.
4374 
4375     *) Change: now the "Content-Type" header line is inherited from first
4376        response when the "X-Accel-Redirect" was used.
4377 
4378     *) Bugfix: the "error_page" directive did not redirect the 413 error.
4379 
4380     *) Bugfix: the trailing "?" did not remove old arguments if no new
4381        arguments were added to a rewritten URI.
4382 
4383     *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
4384 
4385 
4386 Changes with nginx 0.3.57                                        09 Aug 2006
4387 
4388     *) Feature: the $ssl_client_serial variable.
4389 
4390     *) Bugfix: in the "!-e" operator of the "if" directive.
4391        Thanks to Andrian Budanstov.
4392 
4393     *) Bugfix: while a client certificate verification nginx did not send to
4394        a client the required certificates information.
4395 
4396     *) Bugfix: the $document_root variable did not support the variables in
4397        the "root" directive.
4398 
4399 
4400 Changes with nginx 0.3.56                                        04 Aug 2006
4401 
4402     *) Feature: the "dav_access" directive.
4403 
4404     *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e",
4405        "-x", and "!-x" operators.
4406 
4407     *) Bugfix: a segmentation fault occurred if a request returned a
4408        redirect and some sent to client header lines were logged in the
4409        access log.
4410 
4411 
4412 Changes with nginx 0.3.55                                        28 Jul 2006
4413 
4414     *) Feature: the "stub" parameter in the "include" SSI command.
4415 
4416     *) Feature: the "block" SSI command.
4417 
4418     *) Feature: the unicode2nginx script was added to contrib.
4419 
4420     *) Bugfix: if a "root" was specified by variable only, then the root was
4421        relative to a server prefix.
4422 
4423     *) Bugfix: if the request contained "//" or "/./" and escaped symbols
4424        after them, then the proxied request was sent unescaped.
4425 
4426     *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now
4427        returns all "Cookie" header lines.
4428 
4429     *) Bugfix: a segmentation fault occurred if
4430        "client_body_in_file_only on" was used and nginx switched to a next
4431        upstream.
4432 
4433     *) Bugfix: on some condition while reconfiguration character codes
4434        inside the "charset_map" may be treated invalid; the bug had appeared
4435        in 0.3.50.
4436 
4437 
4438 Changes with nginx 0.3.54                                        11 Jul 2006
4439 
4440     *) Feature: nginx now logs the subrequest information to the error log.
4441 
4442     *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and
4443        "memcached_next_upstream" directives support the "off" parameter.
4444 
4445     *) Feature: the "debug_connection" directive supports the CIDR address
4446        form.
4447 
4448     *) Bugfix: if a response of proxied server or FastCGI server was
4449        converted from UTF-8 or back, then it may be transferred incomplete.
4450 
4451     *) Bugfix: the $upstream_response_time variable had the time of the
4452        first request to a backend only.
4453 
4454     *) Bugfix: nginx could not be built on amd64 platform; the bug had
4455        appeared in 0.3.53.
4456 
4457 
4458 Changes with nginx 0.3.53                                        07 Jul 2006
4459 
4460     *) Change: the "add_header" directive adds the string to 204, 301, and
4461        302 responses.
4462 
4463     *) Feature: the "server" directive in the "upstream" context supports
4464        the "weight" parameter.
4465 
4466     *) Feature: the "server_name" directive supports the "*" wildcard.
4467 
4468     *) Feature: nginx supports the request body size more than 2G.
4469 
4470     *) Bugfix: if a client was successfully authorized using "satisfy_any
4471        on", then anyway the message "access forbidden by rule" was written
4472        in the log.
4473 
4474     *) Bugfix: the "PUT" method may erroneously not create a file and return
4475        the 409 code.
4476 
4477     *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx
4478        continued proxying anyway.
4479 
4480 
4481 Changes with nginx 0.3.52                                        03 Jul 2006
4482 
4483     *) Change: the ngx_http_index_module behavior for the "POST /" requests
4484        is reverted to the 0.3.40 version state: the module now does not
4485        return the 405 error.
4486 
4487     *) Bugfix: the worker process may got caught in an endless loop if the
4488        limit rate was used; the bug had appeared in 0.3.37.
4489 
4490     *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even
4491        if the recoding was not needed; the bug had appeared in 0.3.50.
4492 
4493     *) Bugfix: if a code response of the PUT request was 409, then a
4494        temporary file was not removed.
4495 
4496 
4497 Changes with nginx 0.3.51                                        30 Jun 2006
4498 
4499     *) Bugfix: the "<" symbols might disappeared some conditions in the SSI;
4500        the bug had appeared in 0.3.50.
4501 
4502 
4503 Changes with nginx 0.3.50                                        28 Jun 2006
4504 
4505     *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
4506        directives was renamed to the "proxy_intercept_errors" and
4507        "fastcgi_intercept_errors" directives.
4508 
4509     *) Feature: the ngx_http_charset_module supports the recoding from the
4510        single byte encodings to the UTF-8 encoding and back.
4511 
4512     *) Feature: the "X-Accel-Charset" response header line is supported in
4513        proxy and FastCGI mode.
4514 
4515     *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI
4516        command was removed only if the command also has the "$" symbol.
4517 
4518     *) Bugfix: the "<!--" string might be added on some conditions in the
4519        SSI after inclusion.
4520 
4521     *) Bugfix: if the "Content-Length: 0" header line was in response, then
4522        in nonbuffered proxying mode the client connection was not closed.
4523 
4524 
4525 Changes with nginx 0.3.49                                        31 May 2006
4526 
4527     *) Bugfix: in the "set" directive.
4528 
4529     *) Bugfix: if two or more FastCGI subrequests was in SSI, then first
4530        subrequest output was included instead of second and following
4531        subrequests.
4532 
4533 
4534 Changes with nginx 0.3.48                                        29 May 2006
4535 
4536     *) Change: now the ngx_http_charset_module works for subrequests, if the
4537        response has no "Content-Type" header line.
4538 
4539     *) Bugfix: if the "proxy_pass" directive has no URI part, then the
4540        "proxy_redirect default" directive add the unnecessary slash in start
4541        of the rewritten redirect.
4542 
4543     *) Bugfix: the internal redirect always transform client's HTTP method
4544        to GET, now the transformation is made for the "X-Accel-Redirect"
4545        redirects only and if the method is not HEAD; the bug had appeared in
4546        0.3.42.
4547 
4548     *) Bugfix: the ngx_http_perl_module could not be built, if the perl was
4549        built with the threads support; the bug had appeared in 0.3.46.
4550 
4551 
4552 Changes with nginx 0.3.47                                        23 May 2006
4553 
4554     *) Feature: the "upstream" directive.
4555 
4556     *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the
4557        SSI command is always removed.
4558 
4559 
4560 Changes with nginx 0.3.46                                        11 May 2006
4561 
4562     *) Feature: the "proxy_hide_header", "proxy_pass_header",
4563        "fastcgi_hide_header", and "fastcgi_pass_header" directives.
4564 
4565     *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and
4566        "proxy_pass_server" directives were canceled.
4567 
4568     *) Feature: the "X-Accel-Buffering" response header line is supported in
4569        proxy mode.
4570 
4571     *) Bugfix: the reconfiguration bug and memory leaks in the
4572        ngx_http_perl_module.
4573 
4574 
4575 Changes with nginx 0.3.45                                        06 May 2006
4576 
4577     *) Feature: the "ssl_verify_client", "ssl_verify_depth", and
4578        "ssl_client_certificate" directives.
4579 
4580     *) Change: the $request_method variable now returns the main request
4581        method.
4582 
4583     *) Change: the &deg; symbol codes were changed in koi-win conversion
4584        table.
4585 
4586     *) Feature: the euro and N symbols were added to koi-win conversion
4587        table.
4588 
4589     *) Bugfix: if nginx distributed the requests among several backends and
4590        some backend failed, then requests intended for this backend was
4591        directed to one live backend only instead of being distributed among
4592        the rest.
4593 
4594 
4595 Changes with nginx 0.3.44                                        04 May 2006
4596 
4597     *) Feature: the "wait" parameter in the "include" SSI command.
4598 
4599     *) Feature: the Ukrainian and Byelorussian characters were added to
4600        koi-win conversion table.
4601 
4602     *) Bugfix: in the SSI.
4603 
4604 
4605 Changes with nginx 0.3.43                                        26 Apr 2006
4606 
4607     *) Bugfix: in the SSI.
4608 
4609 
4610 Changes with nginx 0.3.42                                        26 Apr 2006
4611 
4612     *) Feature: the "bind" option of the "listen" directive in IMAP/POP3
4613        proxy.
4614 
4615     *) Bugfix: if the same capture in the "rewrite" directive was used more
4616        then once.
4617 
4618     *) Bugfix: the $sent_http_content_type, $sent_http_content_length,
4619        $sent_http_last_modified, $sent_http_connection,
4620        $sent_http_keep_alive, and $sent_http_transfer_encoding variables
4621        were not written to access log.
4622 
4623     *) Bugfix: the $sent_http_cache_control returned value of the single
4624        "Cache-Control" response header line.
4625 
4626 
4627 Changes with nginx 0.3.41                                        21 Apr 2006
4628 
4629     *) Feature: the -v switch.
4630 
4631     *) Bugfix: the segmentation fault may occurred if the SSI page has
4632        remote subrequests.
4633 
4634     *) Bugfix: in FastCGI handling.
4635 
4636     *) Bugfix: if the perl modules path was not set using
4637        --with-perl_modules_path=PATH or the "perl_modules", then the
4638        segmentation fault was occurred.
4639 
4640 
4641 Changes with nginx 0.3.40                                        19 Apr 2006
4642 
4643     *) Feature: the ngx_http_dav_module supports the MKCOL method.
4644 
4645     *) Feature: the "create_full_put_path" directive.
4646 
4647     *) Feature: the "$limit_rate" variable.
4648 
4649 
4650 Changes with nginx 0.3.39                                        17 Apr 2006
4651 
4652     *) Feature: the "uninitialized_variable_warn" directive; the logging
4653        level of the "uninitialized variable" message was lowered from
4654        "alert" to "warn".
4655 
4656     *) Feature: the "override_charset" directive.
4657 
4658     *) Change: now if the unknown variable is used in the "echo" and "if
4659        expr='$name'" SSI-commands, then the "unknown variable" message is
4660        not logged.
4661 
4662     *) Bugfix: the active connection counter increased on the exceeding of
4663        the connection limit specified by the "worker_connections" directive;
4664        the bug had appeared in 0.2.0.
4665 
4666     *) Bugfix: the limit rate might not work on some condition; the bug had
4667        appeared in 0.3.38.
4668 
4669 
4670 Changes with nginx 0.3.38                                        14 Apr 2006
4671 
4672     *) Feature: the ngx_http_dav_module.
4673 
4674     *) Change: the ngx_http_perl_module optimizations.
4675        Thanks to Sergey Skvortsov.
4676 
4677     *) Feature: the ngx_http_perl_module supports the $r->request_body_file
4678        method.
4679 
4680     *) Feature: the "client_body_in_file_only" directive.
4681 
4682     *) Workaround: now on disk overflow nginx tries to write access logs
4683        once a second only.
4684        Thanks to Anton Yuzhaninov and Maxim Dounin.
4685 
4686     *) Bugfix: now the "limit_rate" directive more precisely limits rate if
4687        rate is more than 100 Kbyte/s.
4688        Thanks to ForJest.
4689 
4690     *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in
4691        login and password to pass authorization server.
4692        Thanks to Maxim Dounin.
4693 
4694 
4695 Changes with nginx 0.3.37                                        07 Apr 2006
4696 
4697     *) Feature: the "limit_except" directive.
4698 
4699     *) Feature: the "if" directive supports the "!~", "!~*", "-f", and "!-f"
4700        operators.
4701 
4702     *) Feature: the ngx_http_perl_module supports the $r->request_body
4703        method.
4704 
4705     *) Bugfix: in the ngx_http_addition_filter_module.
4706 
4707 
4708 Changes with nginx 0.3.36                                        05 Apr 2006
4709 
4710     *) Feature: the ngx_http_addition_filter_module.
4711 
4712     *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used
4713        inside the "if" block.
4714 
4715     *) Feature: the "proxy_ignore_client_abort" and
4716        "fastcgi_ignore_client_abort" directives.
4717 
4718     *) Feature: the "$request_completion" variable.
4719 
4720     *) Feature: the ngx_http_perl_module supports the $r->request_method and
4721        $r->remote_addr.
4722 
4723     *) Feature: the ngx_http_ssi_module supports the "elif" command.
4724 
4725     *) Bugfix: the "\/" string in the expression of the "if" command of the
4726        ngx_http_ssi_module was treated incorrectly.
4727 
4728     *) Bugfix: in the regular expressions in the "if" command of the
4729        ngx_http_ssi_module.
4730 
4731     *) Bugfix: if the relative path was specified in the
4732        "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and
4733        "perl_modules" directives, then the directory was used relatively to
4734        a current path but not to a server prefix.
4735 
4736 
4737 Changes with nginx 0.3.35                                        22 Mar 2006
4738 
4739     *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set
4740        for first "listen" directive only; the bug had appeared in 0.3.31.
4741 
4742     *) Bugfix: in the "proxy_pass" directive without the URI part in a
4743        subrequest.
4744 
4745 
4746 Changes with nginx 0.3.34                                        21 Mar 2006
4747 
4748     *) Feature: the "add_header" directive supports the variables.
4749 
4750 
4751 Changes with nginx 0.3.33                                        15 Mar 2006
4752 
4753     *) Feature: the "http_503" parameter of the "proxy_next_upstream" or
4754        "fastcgi_next_upstream" directives.
4755 
4756     *) Bugfix: ngx_http_perl_module did not work with inlined in the
4757        configuration code, if it was not started with the "sub" word.
4758 
4759     *) Bugfix: in the "post_action" directive.
4760 
4761 
4762 Changes with nginx 0.3.32                                        11 Mar 2006
4763 
4764     *) Bugfix: the debug logging on startup and reconfiguration time was
4765        removed; the bug had appeared in 0.3.31.
4766 
4767 
4768 Changes with nginx 0.3.31                                        10 Mar 2006
4769 
4770     *) Change: now nginx passes the malformed proxied backend responses.
4771 
4772     *) Feature: the "listen" directives support the address in the "*:port"
4773        form.
4774 
4775     *) Feature: the EVFILER_TIMER support in MacOSX 10.4.
4776 
4777     *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout bug.
4778        Thanks to Andrei Nigmatulin.
4779 
4780     *) Bugfix: if there were several "listen" directives listening one
4781        various addresses inside one server, then server names like
4782        "*.domain.tld" worked for first address only; the bug had appeared in
4783        0.3.18.
4784 
4785     *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
4786        and the request body was in temporary file then the request was not
4787        transferred.
4788 
4789     *) Bugfix: perl 5.8.8 compatibility.
4790 
4791 
4792 Changes with nginx 0.3.30                                        22 Feb 2006
4793 
4794     *) Change: the ECONNABORTED error log level was changed to "error" from
4795        "crit".
4796 
4797     *) Bugfix: the ngx_http_perl_module could not be build without the
4798        ngx_http_ssi_filter_module.
4799 
4800     *) Bugfix: nginx could not be built on i386 platform, if the PIC was
4801        used; the bug had appeared in 0.3.27.
4802 
4803 
4804 Changes with nginx 0.3.29                                        20 Feb 2006
4805 
4806     *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends
4807        many warnings before the response.
4808 
4809     *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in
4810        the 204 responses for the HTTP/1.1 requests.
4811 
4812     *) Bugfix: nginx returned the 502 response, if the complete response
4813        header lines were transferred in a separate FastCGI records.
4814 
4815     *) Bugfix: if the proxied URI was specified in the "post_action"
4816        directive, then it ran only after a successful completion of a
4817        request.
4818 
4819 
4820 Changes with nginx 0.3.28                                        16 Feb 2006
4821 
4822     *) Feature: the "restrict_host_names" directive was canceled.
4823 
4824     *) Feature: the --with-cpu-opt=ppc64 configuration parameter.
4825 
4826     *) Bugfix: on some condition the proxied connection with a client was
4827        terminated prematurely.
4828        Thanks to Vladimir Shutoff.
4829 
4830     *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into
4831        account if the request was redirected using the "X-Accel-Redirect"
4832        header line.
4833 
4834     *) Bugfix: the "post_action" directive ran only after a successful
4835        completion of a request.
4836 
4837     *) Bugfix: the proxied response body generated by the "post_action"
4838        directive was transferred to a client.
4839 
4840 
4841 Changes with nginx 0.3.27                                        08 Feb 2006
4842 
4843     *) Change: the "variables_hash_max_size" and
4844        "variables_hash_bucket_size" directives.
4845 
4846     *) Feature: the $body_bytes_sent variable can be used not only in the
4847        "log_format" directive.
4848 
4849     *) Feature: the $ssl_protocol and $ssl_cipher variables.
4850 
4851     *) Feature: the cache line size detection for widespread CPUs at start
4852        time.
4853 
4854     *) Feature: now the "accept_mutex" directive is supported using fcntl(2)
4855        on platforms different from i386, amd64, sparc64, and ppc.
4856 
4857     *) Feature: the "lock_file" directive and the --with-lock-path=PATH
4858        autoconfiguration directive.
4859 
4860     *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
4861        then the requests with the body was not transferred.
4862 
4863 
4864 Changes with nginx 0.3.26                                        03 Feb 2006
4865 
4866     *) Change: the "optimize_host_names" directive was renamed to the
4867        "optimize_server_names".
4868 
4869     *) Bugfix: if in the "proxy_pass" directive was no the URI part, then
4870        the main request URI was transferred to a backend while proxying the
4871        SSI subrequest.
4872 
4873 
4874 Changes with nginx 0.3.25                                        01 Feb 2006
4875 
4876     *) Bugfix: the segmentation fault was occurred on start or while
4877        reconfiguration if there was invalid configuration; the bug had
4878        appeared in 0.3.24.
4879 
4880 
4881 Changes with nginx 0.3.24                                        01 Feb 2006
4882 
4883     *) Workaround: for bug in FreeBSD kqueue.
4884 
4885     *) Bugfix: now a response generated by the "post_action" directive is
4886        not transferred to a client.
4887 
4888     *) Bugfix: the memory leaks were occurring if many log files were used.
4889 
4890     *) Bugfix: the first "proxy_redirect" directive was working inside one
4891        location.
4892 
4893     *) Bugfix: on 64-bit platforms segmentation fault may occurred on start
4894        if the many names were used in the "server_name" directives; the bug
4895        had appeared in 0.3.18.
4896 
4897 
4898 Changes with nginx 0.3.23                                        24 Jan 2006
4899 
4900     *) Feature: the "optimize_host_names" directive.
4901 
4902     *) Bugfix: in using of the variables in the "path" and "alias"
4903        directives.
4904 
4905     *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and
4906        Solaris.
4907 
4908 
4909 Changes with nginx 0.3.22                                        17 Jan 2006
4910 
4911     *) Feature: the ngx_http_perl_module supports the $r->args and
4912        $r->unescape methods.
4913 
4914     *) Feature: the method $r->query_string of ngx_http_perl_module was
4915        canceled.
4916 
4917     *) Bugfix: segmentation fault was occurred if the "none" or "blocked"
4918        values was specified in the "valid_referers" directive; the bug had
4919        appeared in 0.3.18.
4920 
4921 
4922 Changes with nginx 0.3.21                                        16 Jan 2006
4923 
4924     *) Feature: the ngx_http_perl_module.
4925 
4926     *) Change: the "valid_referers" directive allows the referreres without
4927        URI part.
4928 
4929 
4930 Changes with nginx 0.3.20                                        11 Jan 2006
4931 
4932     *) Bugfix: in SSI handling.
4933 
4934     *) Bugfix: the ngx_http_memcached_module did not support the keys in the
4935        "/usr?args" form.
4936 
4937 
4938 Changes with nginx 0.3.19                                        28 Dec 2005
4939 
4940     *) Feature: the "path" and "alias" directives support the variables.
4941 
4942     *) Change: now the "valid_referers" directive again checks the URI part.
4943 
4944     *) Bugfix: in SSI handling.
4945 
4946 
4947 Changes with nginx 0.3.18                                        26 Dec 2005
4948 
4949     *) Feature: the "server_names" directive supports the ".domain.tld"
4950        names.
4951 
4952     *) Feature: the "server_names" directive uses the hash for the
4953        "*.domain.tld" names and more effective hash for usual names.
4954 
4955     *) Change: the "server_names_hash_max_size" and
4956        "server_names_hash_bucket_size" directives.
4957 
4958     *) Change: the "server_names_hash" and "server_names_hash_threshold"
4959        directives were canceled.
4960 
4961     *) Feature: the "valid_referers" directive uses the hash site names.
4962 
4963     *) Change: now the "valid_referers" directive checks the site names only
4964        without the URI part.
4965 
4966     *) Bugfix: some ".domain.tld" names incorrectly processed by the
4967        ngx_http_map_module.
4968 
4969     *) Bugfix: segmentation fault was occurred if configuration file did not
4970        exist; the bug had appeared in 0.3.12.
4971 
4972     *) Bugfix: on 64-bit platforms segmentation fault may occurred on start;
4973        the bug had appeared in 0.3.16.
4974 
4975 
4976 Changes with nginx 0.3.17                                        18 Dec 2005
4977 
4978     *) Change: now on Linux configure checks the presence of epoll and
4979        sendfile64() in kernel.
4980 
4981     *) Feature: the "map" directive supports domain names in the
4982        ".domain.tld" form.
4983 
4984     *) Bugfix: the timeouts were not used in SSL handshake; the bug had
4985        appeared in 0.2.4.
4986 
4987     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
4988 
4989     *) Bugfix: when the HTTPS protocol was used in the "proxy_pass"
4990        directive the port 80 was used by default.
4991 
4992 
4993 Changes with nginx 0.3.16                                        16 Dec 2005
4994 
4995     *) Feature: the ngx_http_map_module.
4996 
4997     *) Feature: the "types_hash_max_size" and "types_hash_bucket_size"
4998        directives.
4999 
5000     *) Feature: the "ssi_value_length" directive.
5001 
5002     *) Feature: the "worker_rlimit_core" directive.
5003 
5004     *) Workaround: the connection number in logs was always 1 if nginx was
5005        built by the icc 8.1 or 9.0 compilers with optimization for
5006        Pentium 4.
5007 
5008     *) Bugfix: the "config timefmt" SSI command set incorrect time format.
5009 
5010     *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
5011        SSL connections; the bug had appeared in 0.3.13.
5012        Thanks to Rob Mueller.
5013 
5014     *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
5015        had appeared in 0.3.13.
5016 
5017 
5018 Changes with nginx 0.3.15                                        07 Dec 2005
5019 
5020     *) Feature: the new 444 code of the "return" directive to close
5021        connection.
5022 
5023     *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy.
5024 
5025     *) Bugfix: if there are unclosed connection nginx now calls abort() only
5026        on gracefull quit and active "debug_points" directive.
5027 
5028 
5029 Changes with nginx 0.3.14                                        05 Dec 2005
5030 
5031     *) Bugfix: in the 304 response the body was transferred; the bug had
5032        appeared in 0.3.13.
5033 
5034 
5035 Changes with nginx 0.3.13                                        05 Dec 2005
5036 
5037     *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS.
5038 
5039     *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and
5040        /dev/poll methods.
5041 
5042     *) Bugfix: in SSI handling.
5043 
5044     *) Bugfix: now Solaris sendfilev() is not used to transfer the client
5045        request body to FastCGI-server via the unix domain socket.
5046 
5047     *) Bugfix: the "auth_basic" directive did not disable the authorization;
5048        the bug had appeared in 0.3.11.
5049 
5050 
5051 Changes with nginx 0.3.12                                        26 Nov 2005
5052 
5053     *) Security: if nginx was built with the ngx_http_realip_module and the
5054        "satisfy_any on" directive was used, then access and authorization
5055        directives did not work. The ngx_http_realip_module was not built and
5056        is not built by default.
5057 
5058     *) Change: the "$time_gmt" variable name was changed to "$time_local".
5059 
5060     *) Change: the "proxy_header_buffer_size" and
5061        "fastcgi_header_buffer_size" directives was renamed to the
5062        "proxy_buffer_size" and "fastcgi_buffer_size" directives.
5063 
5064     *) Feature: the ngx_http_memcached_module.
5065 
5066     *) Feature: the "proxy_buffering" directive.
5067 
5068     *) Bugfix: the changes in accept mutex handling when the "rtsig" method
5069        was used; the bug had appeared in 0.3.0.
5070 
5071     *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
5072        line, then nginx returns the 411 error.
5073 
5074     *) Bugfix: if the "auth_basic" directive was inherited from the http
5075        level, then the realm in the "WWW-Authenticate" header line was
5076        without the "Basic realm" text.
5077 
5078     *) Bugfix: if the "combined" format was explicitly specified in the
5079        "access_log" directive, then the empty lines was written to the log;
5080        the bug had appeared in 0.3.8.
5081 
5082     *) Bugfix: nginx did not run on the sparc platform under any OS except
5083        Solaris.
5084 
5085     *) Bugfix: now it is not necessary to place space between the quoted
5086        string and closing bracket in the "if" directive.
5087 
5088 
5089 Changes with nginx 0.3.11                                        15 Nov 2005
5090 
5091     *) Bugfix: nginx did not pass the client request headers and body while
5092        proxying; the bug had appeared in 0.3.10.
5093 
5094 
5095 Changes with nginx 0.3.10                                        15 Nov 2005
5096 
5097     *) Change: the "valid_referers" directive and the "$invalid_referer"
5098        variable were moved to the new ngx_http_referer_module from the
5099        ngx_http_rewrite_module.
5100 
5101     *) Change: the "$apache_bytes_sent" variable name was changed to
5102        "$body_bytes_sent".
5103 
5104     *) Feature: the "$sent_http_..." variables.
5105 
5106     *) Feature: the "if" directive supports the "=" and "!=" operations.
5107 
5108     *) Feature: the "proxy_pass" directive supports the HTTPS protocol.
5109 
5110     *) Feature: the "proxy_set_body" directive.
5111 
5112     *) Feature: the "post_action" directive.
5113 
5114     *) Feature: the ngx_http_empty_gif_module.
5115 
5116     *) Feature: the "worker_cpu_affinity" directive for Linux.
5117 
5118     *) Bugfix: the "rewrite" directive did not unescape URI part in
5119        redirect, now it is unescaped except the %00-%25 and %7F-%FF
5120        characters.
5121 
5122     *) Bugfix: nginx could not be built by the icc 9.0 compiler.
5123 
5124     *) Bugfix: if the SSI was enabled for zero size static file, then the
5125        chunked response was encoded incorrectly.
5126 
5127 
5128 Changes with nginx 0.3.9                                         10 Nov 2005
5129 
5130     *) Bugfix: nginx considered URI as unsafe if two any symbols was between
5131        two slashes; the bug had appeared in 0.3.8.
5132 
5133 
5134 Changes with nginx 0.3.8                                         09 Nov 2005
5135 
5136     *) Security: nginx now checks URI got from a backend in
5137        "X-Accel-Redirect" header line or in SSI file for the "/../" paths
5138        and zeroes.
5139 
5140     *) Change: nginx now does not treat the empty user name in the
5141        "Authorization" header line as valid one.
5142 
5143     *) Feature: the "ssl_session_timeout" directives of the
5144        ngx_http_ssl_module and ngx_imap_ssl_module.
5145 
5146     *) Feature: the "auth_http_header" directive of the
5147        ngx_imap_auth_http_module.
5148 
5149     *) Feature: the "add_header" directive.
5150 
5151     *) Feature: the ngx_http_realip_module.
5152 
5153     *) Feature: the new variables to use in the "log_format" directive:
5154        $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,
5155        $request_time, $request_length, $upstream_status,
5156        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
5157        $connection, $pipe, and $msec. The parameters in the "%name" form
5158        will be canceled soon.
5159 
5160     *) Change: now the false variable values in the "if" directive are the
5161        empty string "" and string starting with "0".
5162 
5163     *) Bugfix: while using proxied or FastCGI-server nginx may leave
5164        connections and temporary files with client requests in open state.
5165 
5166     *) Bugfix: the worker processes did not flush the buffered logs on
5167        graceful exit.
5168 
5169     *) Bugfix: if the request URI was changes by the "rewrite" directive and
5170        the request was proxied in location given by regular expression, then
5171        the incorrect request was transferred to backend; the bug had
5172        appeared in 0.2.6.
5173 
5174     *) Bugfix: the "expires" directive did not remove the previous "Expires"
5175        header.
5176 
5177     *) Bugfix: nginx may stop to accept requests if the "rtsig" method and
5178        several worker processes were used.
5179 
5180     *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in
5181        SSI commands.
5182 
5183     *) Bugfix: if the response was ended just after the SSI command and
5184        gzipping was used, then the response did not transferred complete or
5185        did not transferred at all.
5186 
5187 
5188 Changes with nginx 0.3.7                                         27 Oct 2005
5189 
5190     *) Feature: the "access_log" supports the "buffer=" parameter.
5191 
5192     *) Bugfix: nginx could not be built on platforms different from i386,
5193        amd64, sparc, and ppc; the bug had appeared in 0.3.2.
5194 
5195 
5196 Changes with nginx 0.3.6                                         24 Oct 2005
5197 
5198     *) Change: now the IMAP/POP3 proxy do not send the empty login to
5199        authorization server.
5200 
5201     *) Feature: the "log_format" supports the variables in the $name form.
5202 
5203     *) Bugfix: if at least in one server was no the "listen" directive, then
5204        nginx did not listen on the 80 port; the bug had appeared in 0.3.3.
5205 
5206     *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the 80
5207        port was always used.
5208 
5209 
5210 Changes with nginx 0.3.5                                         21 Oct 2005
5211 
5212     *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login
5213        was changed by authorization server; the bug had appeared in 0.2.2.
5214 
5215     *) Bugfix: the accept mutex did not work and all connections were
5216        handled by one process; the bug had appeared in 0.3.3.
5217 
5218     *) Bugfix: the timeout did not work if the "rtsig" method and the
5219        "timer_resolution" directive were used.
5220 
5221 
5222 Changes with nginx 0.3.4                                         19 Oct 2005
5223 
5224     *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug
5225        had appeared in 0.3.3.
5226 
5227 
5228 Changes with nginx 0.3.3                                         19 Oct 2005
5229 
5230     *) Change: the "bl" and "af" parameters of the "listen" directive was
5231        renamed to the "backlog" and "accept_filter".
5232 
5233     *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
5234        directive.
5235 
5236     *) Change: the "$msec" log parameter does not require now the additional
5237        the gettimeofday() system call.
5238 
5239     *) Feature: the -t switch now tests the "listen" directives.
5240 
5241     *) Bugfix: if the invalid address was specified in the "listen"
5242        directive, then after the -HUP signal nginx left an open socket in
5243        the CLOSED state.
5244 
5245     *) Bugfix: the mime type may be incorrectly set to default value for
5246        index file with variable in the name; the bug had appeared in 0.3.0.
5247 
5248     *) Feature: the "timer_resolution" directive.
5249 
5250     *) Feature: the millisecond "$upstream_response_time" log parameter.
5251 
5252     *) Bugfix: a temporary file with client request body now is removed just
5253        after the response header was transferred to a client.
5254 
5255     *) Bugfix: OpenSSL 0.9.6 compatibility.
5256 
5257     *) Bugfix: the SSL certificate and key file paths could not be relative.
5258 
5259     *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in the
5260        ngx_imap_ssl_module.
5261 
5262     *) Bugfix: the "ssl_protocols" directive allowed to specify the single
5263        protocol only.
5264 
5265 
5266 Changes with nginx 0.3.2                                         12 Oct 2005
5267 
5268     *) Feature: the Sun Studio 10 C compiler support.
5269 
5270     *) Feature: the "proxy_upstream_max_fails",
5271        "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and
5272        "fastcgi_upstream_fail_timeout" directives.
5273 
5274 
5275 Changes with nginx 0.3.1                                         10 Oct 2005
5276 
5277     *) Bugfix: the segmentation fault occurred when the signal queue
5278        overflowed if the "rtsig" method was used; the bug had appeared in
5279        0.2.0.
5280 
5281     *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in
5282        SSI.
5283 
5284 
5285 Changes with nginx 0.3.0                                         07 Oct 2005
5286 
5287     *) Change: the 10-days live time limit of worker process was eliminated.
5288        The limit was introduced because of millisecond timers overflow.
5289 
5290 
5291 Changes with nginx 0.2.6                                         05 Oct 2005
5292 
5293     *) Change: while using load-balancing the time before the failed backend
5294        retry was decreased from 60 to 10 seconds.
5295 
5296     *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI
5297        now passed, if the URI part is omitted in "proxy_pass" directive.
5298 
5299     *) Feature: the "error_page" directive supports redirects and allows
5300        more flexible to change an error code.
5301 
5302     *) Change: the charset in the "Content-Type" header line now is ignored
5303        in proxied subrequests.
5304 
5305     *) Bugfix: if the URI was changed in the "if" block and request did not
5306        found new configuration, then the ngx_http_rewrite_module rules ran
5307        again.
5308 
5309     *) Bugfix: if the "set" directive set the ngx_http_geo_module variable
5310        in some configuration part, the this variable was not available in
5311        other configuration parts and the "using uninitialized variable"
5312        error was occurred; the bug had appeared in 0.2.2.
5313 
5314 
5315 Changes with nginx 0.2.5                                         04 Oct 2005
5316 
5317     *) Change: the duplicate value of the ngx_http_geo_module variable now
5318        causes the warning and changes old value.
5319 
5320     *) Feature: the ngx_http_ssi_module supports the "set" command.
5321 
5322     *) Feature: the ngx_http_ssi_module supports the "file" parameter in the
5323        "include" command.
5324 
5325     *) Feature: the ngx_http_ssi_module supports the variable value
5326        substitutions in expressions of the "if" command.
5327 
5328 
5329 Changes with nginx 0.2.4                                         03 Oct 2005
5330 
5331     *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text",
5332        "$var=/text/", and "$var!=/text/" expressions in the "if" command.
5333 
5334     *) Bugfix: in proxying location without trailing slash; the bug had
5335        appeared in 0.1.44.
5336 
5337     *) Bugfix: the segmentation fault may occurred if the "rtsig" method was
5338        used; the bug had appeared in 0.2.0.
5339 
5340 
5341 Changes with nginx 0.2.3                                         30 Sep 2005
5342 
5343     *) Bugfix: nginx could not be built without the --with-debug option; the
5344        bug had appeared in 0.2.2.
5345 
5346 
5347 Changes with nginx 0.2.2                                         30 Sep 2005
5348 
5349     *) Feature: the "config errmsg" command of the ngx_http_ssi_module.
5350 
5351     *) Change: the ngx_http_geo_module variables can be overridden by the
5352        "set" directive.
5353 
5354     *) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers"
5355        directives of the ngx_http_ssl_module and ngx_imap_ssl_module.
5356 
5357     *) Bugfix: the ngx_http_autoindex_module did not show correctly the long
5358        file names;
5359 
5360     *) Bugfix: the ngx_http_autoindex_module now do not show the files
5361        starting by dot.
5362 
5363     *) Bugfix: if the SSL handshake failed then another connection may be
5364        closed too.
5365        Thanks to Rob Mueller.
5366 
5367     *) Bugfix: the export versions of MSIE 5.x could not connect via HTTPS.
5368 
5369 
5370 Changes with nginx 0.2.1                                         23 Sep 2005
5371 
5372     *) Bugfix: if all backend using in load-balancing failed after one
5373        error, then nginx may got caught in an endless loop; the bug had
5374        appeared in 0.2.0.
5375 
5376 
5377 Changes with nginx 0.2.0                                         23 Sep 2005
5378 
5379     *) The pid-file names used during online upgrade was changed and now is
5380        not required a manual rename operation. The old master process adds
5381        the ".oldbin" suffix to its pid-file and executes a new binary file.
5382        The new master process creates usual pid-file without the ".newbin"
5383        suffix. If the master process exits, then old master process renames
5384        back its pid-file with the ".oldbin" suffix to the pid-file without
5385        suffix.
5386 
5387     *) Change: the "worker_connections" directive, new name of the
5388        "connections" directive; now the directive specifies maximum number
5389        of connections, but not maximum socket descriptor number.
5390 
5391     *) Feature: SSL supports the session cache inside one worker process.
5392 
5393     *) Feature: the "satisfy_any" directive.
5394 
5395     *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do
5396        not run for subrequests.
5397 
5398     *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending"
5399        directives.
5400 
5401     *) Bugfix: if all backend using in load-balancing failed after one
5402        error, then nginx did not try do connect to them during 60 seconds.
5403 
5404     *) Bugfix: in IMAP/POP3 command argument parsing.
5405        Thanks to Rob Mueller.
5406 
5407     *) Bugfix: errors while using SSL in IMAP/POP3 proxy.
5408 
5409     *) Bugfix: errors while using SSI and gzipping.
5410 
5411     *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted
5412        from the 304 responses.
5413        Thanks to Alexandr Kukushkin.
5414 
5415 
5416 Changes with nginx 0.1.45                                        08 Sep 2005
5417 
5418     *) Change: the "ssl_engine" directive was canceled in the
5419        ngx_http_ssl_module and now is introduced at global level.
5420 
5421     *) Bugfix: the responses with SSI subrequests did not transferred via
5422        SSL connection.
5423 
5424     *) Various bug fixes in the IMAP/POP3 proxy.
5425 
5426 
5427 Changes with nginx 0.1.44                                        06 Sep 2005
5428 
5429     *) Feature: the IMAP/POP3 proxy supports SSL.
5430 
5431     *) Feature: the "proxy_timeout" directive of the ngx_imap_proxy_module.
5432 
5433     *) Feature: the "userid_mark" directive.
5434 
5435     *) Feature: the $remote_user variable value is determined independently
5436        of authorization use.
5437 
5438 
5439 Changes with nginx 0.1.43                                        30 Aug 2005
5440 
5441     *) Feature: the listen(2) backlog in the "listen" directive can be
5442        changed using the -HUP signal.
5443 
5444     *) Feature: the geo2nginx.pl script was added to contrib.
5445 
5446     *) Change: the FastCGI parameters with the empty values now are passed
5447        to a server.
5448 
5449     *) Bugfix: the segmentation fault occurred or the worker process may got
5450        caught in an endless loop if the proxied or FastCGI server sent the
5451        "Cache-Control" header line and the "expires" directive was used; in
5452        the proxied mode the bug had appeared in 0.1.29.
5453 
5454 
5455 Changes with nginx 0.1.42                                        23 Aug 2005
5456 
5457     *) Bugfix: if the request URI had a zero length after the processing in
5458        the ngx_http_proxy_module, then the segmentation fault or bus error
5459        occurred in the ngx_http_proxy_module.
5460 
5461     *) Bugfix: the "limit_rate" directive did not work inside the "if"
5462        block; the bug had appeared in 0.1.38.
5463 
5464 
5465 Changes with nginx 0.1.41                                        25 Jul 2005
5466 
5467     *) Bugfix: if the variable was used in the configuration file, then it
5468        can not be used in SSI.
5469 
5470 
5471 Changes with nginx 0.1.40                                        22 Jul 2005
5472 
5473     *) Bugfix: if a client sent too long header line, then the request
5474        information did not logged in the error log.
5475 
5476     *) Bugfix: the "Set-Cookie" header line was not transferred when the
5477        "X-Accel-Redirect" was used; the bug had appeared in 0.1.39.
5478 
5479     *) Bugfix: the "Content-Disposition" header line was not transferred
5480        when the "X-Accel-Redirect" was used.
5481 
5482     *) Bugfix: the master process did not close the listen socket on the
5483        SIGQUIT signal.
5484 
5485     *) Bugfix: after on-line upgrade on Linux and Solaris the process name
5486        became shorter in the "ps" command.
5487 
5488 
5489 Changes with nginx 0.1.39                                        14 Jul 2005
5490 
5491     *) The changes in the ngx_http_charset_module: the "default_charset"
5492        directive was canceled; the "charset" directive sets the response
5493        charset; the "source_charset" directive sets the source charset only.
5494 
5495     *) Bugfix: the backend "WWW-Authenticate" header line did not
5496        transferred while the 401 response code redirecting.
5497 
5498     *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may
5499        close a connection before anything was transferred to a client; the
5500        bug had appeared in 0.1.38.
5501 
5502     *) Workaround: the Linux glibc crypt_r() initialization bug.
5503 
5504     *) Bugfix: the ngx_http_ssi_module did not support the relative URI in
5505        the "include virtual" command.
5506 
5507     *) Bugfix: if the backend response had the "Location" header line and
5508        nginx should not rewrite this line, then the 500 code response body
5509        was transferred; the bug had appeared in 0.1.29.
5510 
5511     *) Bugfix: some directives of the ngx_http_proxy_module and
5512        ngx_http_fastcgi_module were not inherited from the server to the
5513        location level; the bug had appeared in 0.1.29.
5514 
5515     *) Bugfix: the ngx_http_ssl_module did not support the certificate
5516        chain.
5517 
5518     *) Bugfix: the ngx_http_autoindex_module did not show correctly the long
5519        file names; the bug had appeared in 0.1.38.
5520 
5521     *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the
5522        login state.
5523 
5524 
5525 Changes with nginx 0.1.38                                        08 Jul 2005
5526 
5527     *) Feature: the "limit_rate" directive is supported in proxy and FastCGI
5528        mode.
5529 
5530     *) Feature: the "X-Accel-Limit-Rate" response header line is supported
5531        in proxy and FastCGI mode.
5532 
5533     *) Feature: the "break" directive.
5534 
5535     *) Feature: the "log_not_found" directive.
5536 
5537     *) Bugfix: the response status code was not changed when request was
5538        redirected by the ""X-Accel-Redirect" header line.
5539 
5540     *) Bugfix: the variables set by the "set" directive could not be used in
5541        SSI.
5542 
5543     *) Bugfix: the segmentation fault may occurred if the SSI page has more
5544        than one remote subrequest.
5545 
5546     *) Bugfix: nginx treated the backend response as invalid if the status
5547        line in the header was transferred in two packets; the bug had
5548        appeared in 0.1.29.
5549 
5550     *) Feature: the "ssi_types" directive.
5551 
5552     *) Feature: the "autoindex_exact_size" directive.
5553 
5554     *) Bugfix: the ngx_http_autoindex_module did not support the long file
5555        names in UTF-8.
5556 
5557     *) Feature: the IMAP/POP3 proxy.
5558 
5559 
5560 Changes with nginx 0.1.37                                        23 Jun 2005
5561 
5562     *) Change: now the "\n" is added to the end of the "nginx.pid" file.
5563 
5564     *) Bugfix: the responses may be transferred not completely, if many
5565        parts or the big parts were included by SSI.
5566 
5567     *) Bugfix: if all backends had returned the 404 reponse and the
5568        "http_404" parameter of the "proxy_next_upstream" or
5569        "fastcgi_next_upstream" directives was used, then nginx started to
5570        request all backends again.
5571 
5572 
5573 Changes with nginx 0.1.36                                        15 Jun 2005
5574 
5575     *) Change: if the request header has duplicate the "Host", "Connection",
5576        "Content-Length", or "Authorization" lines, then nginx now returns
5577        the 400 error.
5578 
5579     *) Change: the "post_accept_timeout" directive was canceled.
5580 
5581     *) Feature: the "default", "af=", "bl=", "deferred", and "bind"
5582        parameters of the "listen" directive.
5583 
5584     *) Feature: the FreeBSD accept filters support.
5585 
5586     *) Feature: the Linux TCP_DEFER_ACCEPT support.
5587 
5588     *) Bugfix: the ngx_http_autoindex_module did not support the file names
5589        in UTF-8.
5590 
5591     *) Bugfix: the new log file can be rotated by the -USR1 signal only if
5592        the reconfiguration by the -HUP signal was made twice.
5593 
5594 
5595 Changes with nginx 0.1.35                                        07 Jun 2005
5596 
5597     *) Feature: the "working_directory" directive.
5598 
5599     *) Feature: the "port_in_redirect" directive.
5600 
5601     *) Bugfix: the segmentation fault was occurred if the backend response
5602        header was in several packets; the bug had appeared in 0.1.29.
5603 
5604     *) Bugfix: if more than 10 servers were configured or some server did
5605        not use the "listen" directive, then the segmentation fault was
5606        occurred on the start.
5607 
5608     *) Bugfix: the segmentation fault might occur if the response was bigger
5609        than the temporary file.
5610 
5611     *) Bugfix: nginx returned the 400 response on requests like
5612        "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in
5613        0.1.28.
5614 
5615 
5616 Changes with nginx 0.1.34                                        26 May 2005
5617 
5618     *) Bugfix: the worker process may got caught in an endless loop if the
5619        big response part were include by SSI.
5620 
5621     *) Bugfix: the variables set by the "set" directive were not available
5622        in SSI.
5623 
5624     *) Feature: the "autoindex_localtime" directive.
5625 
5626     *) Bugfix: the empty value of the "proxy_set_header" directive forbids
5627        the client request header line passing.
5628 
5629 
5630 Changes with nginx 0.1.33                                        23 May 2005
5631 
5632     *) Bugfix: nginx could not be built with the --without-pcre parameter;
5633        the bug had appeared in 0.1.29.
5634 
5635     *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one level
5636        cause the bus fault on start up.
5637 
5638     *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.
5639 
5640     *) Bugfix: if the "rewrite" directive used the captures inside the "if"
5641        directive, then the 500 error code was returned.
5642 
5643 
5644 Changes with nginx 0.1.32                                        19 May 2005
5645 
5646     *) Bugfix: the arguments were omitted in the redirects, issued by the
5647        "rewrite" directive; the bug had appeared in 0.1.29.
5648 
5649     *) Feature: the "if" directive supports the captures in regular
5650        expressions.
5651 
5652     *) Feature: the "set" directive supports the variables and the captures
5653        of regular expressions.
5654 
5655     *) Feature: the "X-Accel-Redirect" response header line is supported in
5656        proxy and FastCGI mode.
5657 
5658 
5659 Changes with nginx 0.1.31                                        16 May 2005
5660 
5661     *) Bugfix: the response encrypted by SSL may not transferred complete.
5662 
5663     *) Bugfix: errors while processing FastCGI response by SSI.
5664 
5665     *) Bugfix: errors while using SSI and gzipping.
5666 
5667     *) Bugfix: the redirect with the 301 code was transferred without
5668        response body; the bug had appeared in 0.1.30.
5669 
5670 
5671 Changes with nginx 0.1.30                                        14 May 2005
5672 
5673     *) Bugfix: the worker process may got caught in an endless loop if the
5674        SSI was used.
5675 
5676     *) Bugfix: the response encrypted by SSL may not transferred complete.
5677 
5678     *) Bugfix: if the length of the response part received at once from
5679        proxied or FastCGI server was equal to 500, then nginx returns the
5680        500 response code; in proxy mode the bug had appeared in 0.1.29 only.
5681 
5682     *) Bugfix: nginx did not consider the directives with 8 or 9 parameters
5683        as invalid.
5684 
5685     *) Feature: the "return" directive can return the 204 response code.
5686 
5687     *) Feature: the "ignore_invalid_headers" directive.
5688 
5689 
5690 Changes with nginx 0.1.29                                        12 May 2005
5691 
5692     *) Feature: the ngx_http_ssi_module supports "include virtual" command.
5693 
5694     *) Feature: the ngx_http_ssi_module supports the condition command like
5695        'if expr="$NAME"' and "else" and "endif" commands. Only one nested
5696        level is supported.
5697 
5698     *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT
5699        variables and "config timefmt" command.
5700 
5701     *) Feature: the "ssi_ignore_recycled_buffers" directive.
5702 
5703     *) Bugfix: the "echo" command did not show the default value for the
5704        empty QUERY_STRING variable.
5705 
5706     *) Change: the ngx_http_proxy_module was rewritten.
5707 
5708     *) Feature: the "proxy_redirect", "proxy_pass_request_headers",
5709        "proxy_pass_request_body", and "proxy_method" directives.
5710 
5711     *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
5712        canceled and must be replaced with the proxy_set_header directive.
5713 
5714     *) Change: the "proxy_preserve_host" is canceled and must be replaced
5715        with the "proxy_set_header Host $host" and the "proxy_redirect off"
5716        directives, the "proxy_set_header Host $host:$proxy_port" directive
5717        and the appropriate proxy_redirect directives.
5718 
5719     *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
5720        with the "proxy_set_header X-Real-IP $remote_addr" directive.
5721 
5722     *) Change: the "proxy_add_x_forwarded_for" is canceled and must be
5723        replaced with
5724        the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
5725        directive.
5726 
5727     *) Change: the "proxy_set_x_url" is canceled and must be replaced with
5728        the "proxy_set_header X-URL http://$host:$server_port$request_uri"
5729        directive.
5730 
5731     *) Feature: the "fastcgi_param" directive.
5732 
5733     *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
5734        directive are canceled and must be replaced with the fastcgi_param
5735        directives.
5736 
5737     *) Feature: the "index" directive can use the variables.
5738 
5739     *) Feature: the "index" directive can be used at http and server levels.
5740 
5741     *) Change: the last index only in the "index" directive can be absolute.
5742 
5743     *) Feature: the "rewrite" directive can use the variables.
5744 
5745     *) Feature: the "internal" directive.
5746 
5747     *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
5748        SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
5749        REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
5750 
5751     *) Change: nginx now passes the invalid lines in a client request
5752        headers or a backend response header.
5753 
5754     *) Bugfix: if the backend did not transfer response for a long time and
5755        the "send_timeout" was less than "proxy_read_timeout", then nginx
5756        returned the 408 response.
5757 
5758     *) Bugfix: the segmentation fault was occurred if the backend sent an
5759        invalid line in response header; the bug had appeared in 0.1.26.
5760 
5761     *) Bugfix: the segmentation fault may occurred in FastCGI fault
5762        tolerance configuration.
5763 
5764     *) Bugfix: the "expires" directive did not remove the previous "Expires"
5765        and "Cache-Control" headers.
5766 
5767     *) Bugfix: nginx did not take into account trailing dot in "Host" header
5768        line.
5769 
5770     *) Bugfix: the ngx_http_auth_module did not work under Linux.
5771 
5772     *) Bugfix: the rewrite directive worked incorrectly, if the arguments
5773        were in a request.
5774 
5775     *) Bugfix: nginx could not be built on MacOS X.
5776 
5777 
5778 Changes with nginx 0.1.28                                        08 Apr 2005
5779 
5780     *) Bugfix: nginx hogs CPU while proxying the huge files.
5781 
5782     *) Bugfix: nginx could not be built by gcc 4.0 on Linux.
5783 
5784 
5785 Changes with nginx 0.1.27                                        28 Mar 2005
5786 
5787     *) Feature: the "blocked" parameter of the "valid_referers" directive.
5788 
5789     *) Change: the errors while handling the request header now logged at
5790        "info" level. The server name and the "Host" and "Referer" header
5791        lines also logged.
5792 
5793     *) Change: the "Host" header line is also logged in error log.
5794 
5795     *) Feature: the proxy_pass_unparsed_uri directive. The special handling
5796        of the "://" symbols in URI, appeared in 0.1.11 version, now is
5797        canceled.
5798 
5799     *) Bugfix: nginx could not be built on FreeBSD and Linux, if the
5800        --without-ngx_http_auth_basic_module configuration parameter was
5801        used.
5802 
5803 
5804 Changes with nginx 0.1.26                                        22 Mar 2005
5805 
5806     *) Change: the invalid client header lines are now ignored and logged at
5807        the info level.
5808 
5809     *) Change: the server name is also logged in error log.
5810 
5811     *) Feature: the ngx_http_auth_basic_module module and the auth_basic and
5812        auth_basic_user_file directives.
5813 
5814 
5815 Changes with nginx 0.1.25                                        19 Mar 2005
5816 
5817     *) Bugfix: nginx did run on Linux parisc.
5818 
5819     *) Feature: nginx now does not start under FreeBSD if the sysctl
5820        kern.ipc.somaxconn value is too big.
5821 
5822     *) Bugfix: if a request was internally redirected by the
5823        ngx_http_index_module module to the ngx_http_proxy_module or
5824        ngx_http_fastcgi_module modules, then the index file was not closed
5825        after request completion.
5826 
5827     *) Feature: the "proxy_pass" can be used in location with regular
5828        expression.
5829 
5830     *) Feature: the ngx_http_rewrite_filter_module module supports the
5831        condition like "if ($HTTP_USER_AGENT ~ MSIE)".
5832 
5833     *) Bugfix: nginx started too slow if the large number of addresses and
5834        text values were used in the "geo" directive.
5835 
5836     *) Change: a variable name must be declared as "$name" in the "geo"
5837        directive. The previous variant without "$" is still supported, but
5838        will be removed soon.
5839 
5840     *) Feature: the "%{VARIABLE}v" logging parameter.
5841 
5842     *) Feature: the "set $name value" directive.
5843 
5844     *) Bugfix: gcc 4.0 compatibility.
5845 
5846     *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.
5847 
5848 
5849 Changes with nginx 0.1.24                                        04 Mar 2005
5850 
5851     *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING and
5852        DOCUMENT_URI variables.
5853 
5854     *) Bugfix: the ngx_http_autoindex_module may some times return the 404
5855        response for existent directory, if this directory was used in
5856        "alias" directive.
5857 
5858     *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large
5859        responses.
5860 
5861     *) Bugfix: the lack of the "Referer" header line was always accounted as
5862        valid referrer.
5863 
5864 
5865 Changes with nginx 0.1.23                                        01 Mar 2005
5866 
5867     *) Feature: the ngx_http_ssi_filter_module and the ssi,
5868        ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo
5869        var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are
5870        supported.
5871 
5872     *) Feature: the %request_time log parameter.
5873 
5874     *) Feature: if the request has no the "Host" header line, then the
5875        "proxy_preserve_host" directive set this header line to the first
5876        server name of the "server_name" directive.
5877 
5878     *) Bugfix: nginx could not be built on platforms different from i386,
5879        amd64, sparc, and ppc; the bug had appeared in 0.1.22.
5880 
5881     *) Bugfix: the ngx_http_autoindex_module now shows the information not
5882        about the symlink, but about file or directory it points to.
5883 
5884     *) Bugfix: the %apache_length parameter logged the negative length of
5885        the response header if the no response was transferred to a client.
5886 
5887 
5888 Changes with nginx 0.1.22                                        22 Feb 2005
5889 
5890     *) Bugfix: the ngx_http_stub_status_module showed incorrect handled
5891        connections statistics if the proxying or FastCGI server were used.
5892 
5893     *) Bugfix: the installation paths were incorrectly quoted on Linux and
5894        Solaris; the bug had appeared in 0.1.21.
5895 
5896 
5897 Changes with nginx 0.1.21                                        22 Feb 2005
5898 
5899     *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics
5900        if "rtsig" method was used or if several worker process ran on SMP.
5901 
5902     *) Bugfix: nginx could not be built by the icc compiler on Linux or if
5903        the zlib-1.2.x library was building from sources.
5904 
5905     *) Bugfix: nginx could not be built on NetBSD 2.0.
5906 
5907 
5908 Changes with nginx 0.1.20                                        17 Feb 2005
5909 
5910     *) Feature: the new "script_filename" and "remote_port" parameters of
5911        the fastcgi_params directive.
5912 
5913     *) Bugfix: the FastCGI stderr stream was handled incorrectly.
5914 
5915 
5916 Changes with nginx 0.1.19                                        16 Feb 2005
5917 
5918     *) Bugfix: now, if request contains the zero, then the 404 error is
5919        returned for the local requests.
5920 
5921     *) Bugfix: nginx could not be built on NetBSD 2.0.
5922 
5923     *) Bugfix: the timeout may occur while reading of the client request
5924        body via SSL connections.
5925 
5926 
5927 Changes with nginx 0.1.18                                        09 Feb 2005
5928 
5929     *) Workaround: the default values of the devpoll_events and the
5930        devpoll_changes directives changed from 512 to 32 to be compatible
5931        with Solaris 10.
5932 
5933     *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not
5934        inherited.
5935 
5936     *) Bugfix: in a redirect rewrite directive arguments were concatenated
5937        with URI by an "&" rather than a "?".
5938 
5939     *) Bugfix: the lines without trailing ";" in the file being included by
5940        the ngx_http_geo_module were silently ignored.
5941 
5942     *) Feature: the ngx_http_stub_status_module.
5943 
5944     *) Bugfix: the unknown log format in the access_log directive caused the
5945        segmentation fault.
5946 
5947     *) Feature: the new "document_root" parameter of the fastcgi_params
5948        directive.
5949 
5950     *) Feature: the fastcgi_redirect_errors directive.
5951 
5952     *) Feature: the new "break" modifier of the "rewrite" directive allows
5953        to stop the rewrite/location cycle and sets the current configuration
5954        to the request.
5955 
5956 
5957 Changes with nginx 0.1.17                                        03 Feb 2005
5958 
5959     *) Change: the ngx_http_rewrite_module was rewritten from the scratch.
5960        Now it is possible to redirect, to return the error codes, to check
5961        the variables and referrers. The directives can be used inside
5962        locations. The redirect directive was canceled.
5963 
5964     *) Feature: the ngx_http_geo_module.
5965 
5966     *) Feature: the proxy_set_x_var and fastcgi_set_var directives.
5967 
5968     *) Bugfix: the location configuration with "=" modifier may be used in
5969        another location.
5970 
5971     *) Bugfix: the correct content type was set only for requests that use
5972        small caps letters in extension.
5973 
5974     *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the
5975        location, and access was denied, and the error was redirected to a
5976        static page, then the segmentation fault occurred.
5977 
5978     *) Bugfix: if in a proxied "Location" header was a relative URL, then a
5979        host name and a slash were added to them; the bug had appeared in
5980        0.1.14.
5981 
5982     *) Bugfix: the system error message was not logged on Linux.
5983 
5984 
5985 Changes with nginx 0.1.16                                        25 Jan 2005
5986 
5987     *) Bugfix: if the response were transferred by chunks, then on the HEAD
5988        request the final chunk was issued.
5989 
5990     *) Bugfix: the "Connection: keep-alive" header were issued, even if the
5991        keepalive_timeout directive forbade the keep-alive use.
5992 
5993     *) Bugfix: the errors in the ngx_http_fastcgi_module caused the
5994        segmentation faults.
5995 
5996     *) Bugfix: the compressed response encrypted by SSL may not transferred
5997        complete.
5998 
5999     *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK
6000        options, are not used for the unix domain sockets.
6001 
6002     *) Feature: the rewrite directive supports the arguments rewriting.
6003 
6004     *) Bugfix: the response code 400 was returned for the POST request with
6005        the "Content-Length: 0" header; the bug had appeared in 0.1.14.
6006 
6007 
6008 Changes with nginx 0.1.15                                        19 Jan 2005
6009 
6010     *) Bugfix: the error while the connecting to the FastCGI server caused
6011        segmentation fault.
6012 
6013     *) Bugfix: the correct handling of the regular expression, that has
6014        different number of the captures and substitutions.
6015 
6016     *) Feature: the location, that is passed to the FastCGI server, can be
6017        regular expression.
6018 
6019     *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the
6020        arguments and in the original state.
6021 
6022     *) Bugfix: the ngx_http_rewrite_module module was required to be built
6023        to use the regular expressions in locations.
6024 
6025     *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the
6026        "Host" headers, if upstream listen on port 80; the bug had appeared
6027        in 0.1.14.
6028 
6029     *) Bugfix: the same paths in autoconfiguration parameters
6030        --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, or
6031        --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
6032        caused segmentation fault.
6033 
6034 
6035 Changes with nginx 0.1.14                                        18 Jan 2005
6036 
6037     *) Feature: the autoconfiguration directives:
6038        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
6039        --http-fastcgi-temp-path=PATH
6040 
6041     *) Change: the directory name for the temporary files with the client
6042        request body is specified by directive client_body_temp_path, by
6043        default it is <prefix>/client_body_temp.
6044 
6045     *) Feature: the ngx_http_fastcgi_module and the directives:
6046        fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
6047        fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
6048        fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
6049        fastcgi_busy_buffers_size, fastcgi_temp_path,
6050        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
6051        fastcgi_next_upstream, and fastcgi_x_powered_by.
6052 
6053     *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
6054        0.1.3.
6055 
6056     *) Change: the URI must be specified after the host name in the
6057        proxy_pass directive.
6058 
6059     *) Change: the %3F symbol in the URI was considered as the argument
6060        string start.
6061 
6062     *) Feature: the unix domain sockets support in the
6063        ngx_http_proxy_module.
6064 
6065     *) Feature: the ssl_engine and ssl_ciphers directives.
6066        Thanks to Sergey Skvortsov for SSL-accelerator.
6067 
6068 
6069 Changes with nginx 0.1.13                                        21 Dec 2004
6070 
6071     *) Feature: the server_names_hash and server_names_hash_threshold
6072        directives.
6073 
6074     *) Bugfix: the *.domain.tld names in the "server_name" directive did not
6075        work.
6076 
6077     *) Bugfix: the %request_length log parameter logged the incorrect
6078        length.
6079 
6080 
6081 Changes with nginx 0.1.12                                        06 Dec 2004
6082 
6083     *) Feature: the %request_length log parameter.
6084 
6085     *) Bugfix: when using the /dev/poll, select and poll on the platforms,
6086        where these methods may do the false reports, there may be the long
6087        delay when the request was passed via the keep-alive connection. It
6088        may be at least on Solaris when using the /dev/poll.
6089 
6090     *) Bugfix: the send_lowat directive is ignored on Linux because Linux
6091        does not support the SO_SNDLOWAT option.
6092 
6093 
6094 Changes with nginx 0.1.11                                        02 Dec 2004
6095 
6096     *) Feature: the worker_priority directive.
6097 
6098     *) Change: both tcp_nopush and tcp_nodelay directives affect the
6099        transferred response.
6100 
6101     *) Bugfix: nginx did not call initgroups().
6102        Thanks to Andrew Sitnikov and Andrei Nigmatulin.
6103 
6104     *) Change: now the ngx_http_autoindex_module shows the file size in the
6105        bytes.
6106 
6107     *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the
6108        broken symlink was in a directory.
6109 
6110     *) Bugfix: the files bigger than 4G could not be transferred using
6111        sendfile.
6112 
6113     *) Bugfix: if the backend was resolved to several backends and there was
6114        an error while the response waiting then process may got caught in an
6115        endless loop.
6116 
6117     *) Bugfix: the worker process may exit with the "unknown cycle" message
6118        when the /dev/poll method was used.
6119 
6120     *) Bugfix: "close() channel failed" errors.
6121 
6122     *) Bugfix: the autodetection of the "nobody" and "nogroup" groups.
6123 
6124     *) Bugfix: the send_lowat directive did not work on Linux.
6125 
6126     *) Bugfix: the segmentation fault occurred if there was no events
6127        section in configuration.
6128 
6129     *) Bugfix: nginx could not be built on OpenBSD.
6130 
6131     *) Bugfix: the double slashes in "://" in the URI were converted to
6132        ":/".
6133 
6134 
6135 Changes with nginx 0.1.10                                        26 Nov 2004
6136 
6137     *) Bugfix: if the request without arguments contains "//", "/./", "/../"
6138        or "%XX" then the last character in the request line was lost; the
6139        bug had appeared in 0.1.9.
6140 
6141     *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did
6142        not work.
6143 
6144 
6145 Changes with nginx 0.1.9                                         25 Nov 2004
6146 
6147     *) Bugfix: the proxied request was sent without arguments if the request
6148        contains "//", "/./", "/../" or "%XX".
6149 
6150     *) Bugfix: the large compressed responses may be transferred not
6151        completely.
6152 
6153     *) Bugfix: the files bigger than 2G was not transferred on Linux that
6154        does not support sendfile64().
6155 
6156     *) Bugfix: while the build configuration on Linux the --with-poll_module
6157        parameter was required; the bug had appeared in 0.1.8.
6158 
6159 
6160 Changes with nginx 0.1.8                                         20 Nov 2004
6161 
6162     *) Bugfix: in the ngx_http_autoindex_module if the long file names were
6163        in the listing.
6164 
6165     *) Feature: the "^~" modifier in the location directive.
6166 
6167     *) Feature: the proxy_max_temp_file_size directive.
6168 
6169 
6170 Changes with nginx 0.1.7                                         12 Nov 2004
6171 
6172     *) Bugfix: on FreeBSD the segmentation fault may occur if the size of
6173        the transferred file was changed; the bug had appeared in 0.1.5.
6174 
6175 
6176 Changes with nginx 0.1.6                                         11 Nov 2004
6177 
6178     *) Bugfix: some location directive combinations with the regular
6179        expressions caused the wrong configuration choose.
6180 
6181 
6182 Changes with nginx 0.1.5                                         11 Nov 2004
6183 
6184     *) Bugfix: on Solaris and Linux there may be too many "recvmsg()
6185        returned not enough data" alerts.
6186 
6187     *) Bugfix: there were the "writev() failed (22: Invalid argument)"
6188        errors on Solaris in proxy mode without sendfile. On other platforms
6189        that do not support sendfile at all the process got caught in an
6190        endless loop.
6191 
6192     *) Bugfix: segmentation fault on Solaris in proxy mode and using
6193        sendfile.
6194 
6195     *) Bugfix: segmentation fault on Solaris.
6196 
6197     *) Bugfix: on-line upgrade did not work on Linux.
6198 
6199     *) Bugfix: the ngx_http_autoindex_module module did not escape the
6200        spaces, the quotes, and the percent signs in the directory listing.
6201 
6202     *) Change: the decrease of the copy operations.
6203 
6204     *) Feature: the userid_p3p directive.
6205 
6206 
6207 Changes with nginx 0.1.4                                         26 Oct 2004
6208 
6209     *) Bugfix: in the ngx_http_autoindex_module.
6210 
6211 
6212 Changes with nginx 0.1.3                                         25 Oct 2004
6213 
6214     *) Feature: the ngx_http_autoindex_module and the autoindex directive.
6215 
6216     *) Feature: the proxy_set_x_url directive.
6217 
6218     *) Bugfix: proxy module may get caught in an endless loop when sendfile
6219        is not used.
6220 
6221 
6222 Changes with nginx 0.1.2                                         21 Oct 2004
6223 
6224     *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS
6225        options in configure.
6226 
6227     *) Feature: the server_name directive supports *.domain.tld.
6228 
6229     *) Bugfix: the portability improvements.
6230 
6231     *) Bugfix: if configuration file was set in command line, the
6232        reconfiguration was impossible; the bug had appeared in 0.1.1.
6233 
6234     *) Bugfix: proxy module may get caught in an endless loop when sendfile
6235        is not used.
6236 
6237     *) Bugfix: with sendfile the response was not recoded according to the
6238        charset module directives; the bug had appeared in 0.1.1.
6239 
6240     *) Bugfix: very seldom bug in the kqueue processing.
6241 
6242     *) Bugfix: the gzip module compressed the proxied responses that was
6243        already compressed.
6244 
6245 
6246 Changes with nginx 0.1.1                                         11 Oct 2004
6247 
6248     *) Feature: the gzip_types directive.
6249 
6250     *) Feature: the tcp_nodelay directive.
6251 
6252     *) Feature: the send_lowat directive is working not only on OSes that
6253        support kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
6254 
6255     *) Feature: the setproctitle() emulation for Linux and Solaris.
6256 
6257     *) Bugfix: the "Location" header rewrite bug fixed while the proxying.
6258 
6259     *) Bugfix: the ngx_http_chunked_module module may get caught in an
6260        endless loop.
6261 
6262     *) Bugfix: the /dev/poll module bugs fixed.
6263 
6264     *) Bugfix: the responses were corrupted when the temporary files were
6265        used while the proxying.
6266 
6267     *) Bugfix: the unescaped requests were passed to the backend.
6268 
6269     *) Bugfix: while the build configuration on Linux 2.4 the
6270        --with-poll_module parameter was required.
6271 
6272 
6273 Changes with nginx 0.1.0                                         04 Oct 2004
6274 
6275     *) The first public version.
6276