Back to home page

Nginx displayed by LXR

Source navigation ]
Diff markup ]
Identifier search ]
general search ]
 
 
Version: nginx-1.15.12 ]​[ nginx-1.16.0 ]​

0001 
0002 Changes with nginx 1.15.12                                       16 Apr 2019
0003 
0004     *) Bugfix: a segmentation fault might occur in a worker process if
0005        variables were used in the "ssl_certificate" or "ssl_certificate_key"
0006        directives and OCSP stapling was enabled.
0007 
0008 
0009 Changes with nginx 1.15.11                                       09 Apr 2019
0010 
0011     *) Bugfix: in the "ssl_stapling_file" directive on Windows.
0012 
0013 
0014 Changes with nginx 1.15.10                                       26 Mar 2019
0015 
0016     *) Change: when using a hostname in the "listen" directive nginx now
0017        creates listening sockets for all addresses the hostname resolves to
0018        (previously, only the first address was used).
0019 
0020     *) Feature: port ranges in the "listen" directive.
0021 
0022     *) Feature: loading of SSL certificates and secret keys from variables.
0023 
0024     *) Workaround: the $ssl_server_name variable might be empty when using
0025        OpenSSL 1.1.1.
0026 
0027     *) Bugfix: nginx/Windows could not be built with Visual Studio 2015 or
0028        newer; the bug had appeared in 1.15.9.
0029 
0030 
0031 Changes with nginx 1.15.9                                        26 Feb 2019
0032 
0033     *) Feature: variables support in the "ssl_certificate" and
0034        "ssl_certificate_key" directives.
0035 
0036     *) Feature: the "poll" method is now available on Windows when using
0037        Windows Vista or newer.
0038 
0039     *) Bugfix: if the "select" method was used on Windows and an error
0040        occurred while establishing a backend connection, nginx waited for
0041        the connection establishment timeout to expire.
0042 
0043     *) Bugfix: the "proxy_upload_rate" and "proxy_download_rate" directives
0044        in the stream module worked incorrectly when proxying UDP datagrams.
0045 
0046 
0047 Changes with nginx 1.15.8                                        25 Dec 2018
0048 
0049     *) Feature: the $upstream_bytes_sent variable.
0050        Thanks to Piotr Sikora.
0051 
0052     *) Feature: new directives in vim syntax highlighting scripts.
0053        Thanks to Gena Makhomed.
0054 
0055     *) Bugfix: in the "proxy_cache_background_update" directive.
0056 
0057     *) Bugfix: in the "geo" directive when using unix domain listen sockets.
0058 
0059     *) Workaround: the "ignoring stale global SSL error ... bad length"
0060        alerts might appear in logs when using the "ssl_early_data" directive
0061        with OpenSSL.
0062 
0063     *) Bugfix: in nginx/Windows.
0064 
0065     *) Bugfix: in the ngx_http_autoindex_module on 32-bit platforms.
0066 
0067 
0068 Changes with nginx 1.15.7                                        27 Nov 2018
0069 
0070     *) Feature: the "proxy_requests" directive in the stream module.
0071 
0072     *) Feature: the "delay" parameter of the "limit_req" directive.
0073        Thanks to Vladislav Shabanov and Peter Shchuchkin.
0074 
0075     *) Bugfix: memory leak on errors during reconfiguration.
0076 
0077     *) Bugfix: in the $upstream_response_time, $upstream_connect_time, and
0078        $upstream_header_time variables.
0079 
0080     *) Bugfix: a segmentation fault might occur in a worker process if the
0081        ngx_http_mp4_module was used on 32-bit platforms.
0082 
0083 
0084 Changes with nginx 1.15.6                                        06 Nov 2018
0085 
0086     *) Security: when using HTTP/2 a client might cause excessive memory
0087        consumption (CVE-2018-16843) and CPU usage (CVE-2018-16844).
0088 
0089     *) Security: processing of a specially crafted mp4 file with the
0090        ngx_http_mp4_module might result in worker process memory disclosure
0091        (CVE-2018-16845).
0092 
0093     *) Feature: the "proxy_socket_keepalive", "fastcgi_socket_keepalive",
0094        "grpc_socket_keepalive", "memcached_socket_keepalive",
0095        "scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives.
0096 
0097     *) Bugfix: if nginx was built with OpenSSL 1.1.0 and used with OpenSSL
0098        1.1.1, the TLS 1.3 protocol was always enabled.
0099 
0100     *) Bugfix: working with gRPC backends might result in excessive memory
0101        consumption.
0102 
0103 
0104 Changes with nginx 1.15.5                                        02 Oct 2018
0105 
0106     *) Bugfix: a segmentation fault might occur in a worker process when
0107        using OpenSSL 1.1.0h or newer; the bug had appeared in 1.15.4.
0108 
0109     *) Bugfix: of minor potential bugs.
0110 
0111 
0112 Changes with nginx 1.15.4                                        25 Sep 2018
0113 
0114     *) Feature: now the "ssl_early_data" directive can be used with OpenSSL.
0115 
0116     *) Bugfix: in the ngx_http_uwsgi_module.
0117        Thanks to Chris Caputo.
0118 
0119     *) Bugfix: connections with some gRPC backends might not be cached when
0120        using the "keepalive" directive.
0121 
0122     *) Bugfix: a socket leak might occur when using the "error_page"
0123        directive to redirect early request processing errors, notably errors
0124        with code 400.
0125 
0126     *) Bugfix: the "return" directive did not change the response code when
0127        returning errors if the request was redirected by the "error_page"
0128        directive.
0129 
0130     *) Bugfix: standard error pages and responses of the
0131        ngx_http_autoindex_module module used the "bgcolor" attribute, and
0132        might be displayed incorrectly when using custom color settings in
0133        browsers.
0134        Thanks to Nova DasSarma.
0135 
0136     *) Change: the logging level of the "no suitable key share" and "no
0137        suitable signature algorithm" SSL errors has been lowered from "crit"
0138        to "info".
0139 
0140 
0141 Changes with nginx 1.15.3                                        28 Aug 2018
0142 
0143     *) Feature: now TLSv1.3 can be used with BoringSSL.
0144 
0145     *) Feature: the "ssl_early_data" directive, currently available with
0146        BoringSSL.
0147 
0148     *) Feature: the "keepalive_timeout" and "keepalive_requests" directives
0149        in the "upstream" block.
0150 
0151     *) Bugfix: the ngx_http_dav_module did not truncate destination file
0152        when copying a file over an existing one with the COPY method.
0153 
0154     *) Bugfix: the ngx_http_dav_module used zero access rights on the
0155        destination file and did not preserve file modification time when
0156        moving a file between different file systems with the MOVE method.
0157 
0158     *) Bugfix: the ngx_http_dav_module used default access rights when
0159        copying a file with the COPY method.
0160 
0161     *) Workaround: some clients might not work when using HTTP/2; the bug
0162        had appeared in 1.13.5.
0163 
0164     *) Bugfix: nginx could not be built with LibreSSL 2.8.0.
0165 
0166 
0167 Changes with nginx 1.15.2                                        24 Jul 2018
0168 
0169     *) Feature: the $ssl_preread_protocol variable in the
0170        ngx_stream_ssl_preread_module.
0171 
0172     *) Feature: now when using the "reset_timedout_connection" directive
0173        nginx will reset connections being closed with the 444 code.
0174 
0175     *) Change: a logging level of the "http request", "https proxy request",
0176        "unsupported protocol", and "version too low" SSL errors has been
0177        lowered from "crit" to "info".
0178 
0179     *) Bugfix: DNS requests were not resent if initial sending of a request
0180        failed.
0181 
0182     *) Bugfix: the "reuseport" parameter of the "listen" directive was
0183        ignored if the number of worker processes was specified after the
0184        "listen" directive.
0185 
0186     *) Bugfix: when using OpenSSL 1.1.0 or newer it was not possible to
0187        switch off "ssl_prefer_server_ciphers" in a virtual server if it was
0188        switched on in the default server.
0189 
0190     *) Bugfix: SSL session reuse with upstream servers did not work with the
0191        TLS 1.3 protocol.
0192 
0193 
0194 Changes with nginx 1.15.1                                        03 Jul 2018
0195 
0196     *) Feature: the "random" directive inside the "upstream" block.
0197 
0198     *) Feature: improved performance when using the "hash" and "ip_hash"
0199        directives with the "zone" directive.
0200 
0201     *) Feature: the "reuseport" parameter of the "listen" directive now uses
0202        SO_REUSEPORT_LB on FreeBSD 12.
0203 
0204     *) Bugfix: HTTP/2 server push did not work if SSL was terminated by a
0205        proxy server in front of nginx.
0206 
0207     *) Bugfix: the "tcp_nopush" directive was always used on backend
0208        connections.
0209 
0210     *) Bugfix: sending a disk-buffered request body to a gRPC backend might
0211        fail.
0212 
0213 
0214 Changes with nginx 1.15.0                                        05 Jun 2018
0215 
0216     *) Change: the "ssl" directive is deprecated; the "ssl" parameter of the
0217        "listen" directive should be used instead.
0218 
0219     *) Change: now nginx detects missing SSL certificates during
0220        configuration testing when using the "ssl" parameter of the "listen"
0221        directive.
0222 
0223     *) Feature: now the stream module can handle multiple incoming UDP
0224        datagrams from a client within a single session.
0225 
0226     *) Bugfix: it was possible to specify an incorrect response code in the
0227        "proxy_cache_valid" directive.
0228 
0229     *) Bugfix: nginx could not be built by gcc 8.1.
0230 
0231     *) Bugfix: logging to syslog stopped on local IP address changes.
0232 
0233     *) Bugfix: nginx could not be built by clang with CUDA SDK installed;
0234        the bug had appeared in 1.13.8.
0235 
0236     *) Bugfix: "getsockopt(TCP_FASTOPEN) ... failed" messages might appear
0237        in logs during binary upgrade when using unix domain listen sockets
0238        on FreeBSD.
0239 
0240     *) Bugfix: nginx could not be built on Fedora 28 Linux.
0241 
0242     *) Bugfix: request processing rate might exceed configured rate when
0243        using the "limit_req" directive.
0244 
0245     *) Bugfix: in handling of client addresses when using unix domain listen
0246        sockets to work with datagrams on Linux.
0247 
0248     *) Bugfix: in memory allocation error handling.
0249 
0250 
0251 Changes with nginx 1.13.12                                       10 Apr 2018
0252 
0253     *) Bugfix: connections with gRPC backends might be closed unexpectedly
0254        when returning a large response.
0255 
0256 
0257 Changes with nginx 1.13.11                                       03 Apr 2018
0258 
0259     *) Feature: the "proxy_protocol" parameter of the "listen" directive now
0260        supports the PROXY protocol version 2.
0261 
0262     *) Bugfix: nginx could not be built with OpenSSL 1.1.1 statically on
0263        Linux.
0264 
0265     *) Bugfix: in the "http_404", "http_500", etc. parameters of the
0266        "proxy_next_upstream" directive.
0267 
0268 
0269 Changes with nginx 1.13.10                                       20 Mar 2018
0270 
0271     *) Feature: the "set" parameter of the "include" SSI directive now
0272        allows writing arbitrary responses to a variable; the
0273        "subrequest_output_buffer_size" directive defines maximum response
0274        size.
0275 
0276     *) Feature: now nginx uses clock_gettime(CLOCK_MONOTONIC) if available,
0277        to avoid timeouts being incorrectly triggered on system time changes.
0278 
0279     *) Feature: the "escape=none" parameter of the "log_format" directive.
0280        Thanks to Johannes Baiter and Calin Don.
0281 
0282     *) Feature: the $ssl_preread_alpn_protocols variable in the
0283        ngx_stream_ssl_preread_module.
0284 
0285     *) Feature: the ngx_http_grpc_module.
0286 
0287     *) Bugfix: in memory allocation error handling in the "geo" directive.
0288 
0289     *) Bugfix: when using variables in the "auth_basic_user_file" directive
0290        a null character might appear in logs.
0291        Thanks to Vadim Filimonov.
0292 
0293 
0294 Changes with nginx 1.13.9                                        20 Feb 2018
0295 
0296     *) Feature: HTTP/2 server push support; the "http2_push" and
0297        "http2_push_preload" directives.
0298 
0299     *) Bugfix: "header already sent" alerts might appear in logs when using
0300        cache; the bug had appeared in 1.9.13.
0301 
0302     *) Bugfix: a segmentation fault might occur in a worker process if the
0303        "ssl_verify_client" directive was used and no SSL certificate was
0304        specified in a virtual server.
0305 
0306     *) Bugfix: in the ngx_http_v2_module.
0307 
0308     *) Bugfix: in the ngx_http_dav_module.
0309 
0310 
0311 Changes with nginx 1.13.8                                        26 Dec 2017
0312 
0313     *) Feature: now nginx automatically preserves the CAP_NET_RAW capability
0314        in worker processes when using the "transparent" parameter of the
0315        "proxy_bind", "fastcgi_bind", "memcached_bind", "scgi_bind", and
0316        "uwsgi_bind" directives.
0317 
0318     *) Feature: improved CPU cache line size detection.
0319        Thanks to Debayan Ghosh.
0320 
0321     *) Feature: new directives in vim syntax highlighting scripts.
0322        Thanks to Gena Makhomed.
0323 
0324     *) Bugfix: binary upgrade refused to work if nginx was re-parented to a
0325        process with PID different from 1 after its parent process has
0326        finished.
0327 
0328     *) Bugfix: the ngx_http_autoindex_module incorrectly handled requests
0329        with bodies.
0330 
0331     *) Bugfix: in the "proxy_limit_rate" directive when used with the
0332        "keepalive" directive.
0333 
0334     *) Bugfix: some parts of a response might be buffered when using
0335        "proxy_buffering off" if the client connection used SSL.
0336        Thanks to Patryk Lesiewicz.
0337 
0338     *) Bugfix: in the "proxy_cache_background_update" directive.
0339 
0340     *) Bugfix: it was not possible to start a parameter with a variable in
0341        the "${name}" form with the name in curly brackets without enclosing
0342        the parameter into single or double quotes.
0343 
0344 
0345 Changes with nginx 1.13.7                                        21 Nov 2017
0346 
0347     *) Bugfix: in the $upstream_status variable.
0348 
0349     *) Bugfix: a segmentation fault might occur in a worker process if a
0350        backend returned a "101 Switching Protocols" response to a
0351        subrequest.
0352 
0353     *) Bugfix: a segmentation fault occurred in a master process if a shared
0354        memory zone size was changed during a reconfiguration and the
0355        reconfiguration failed.
0356 
0357     *) Bugfix: in the ngx_http_fastcgi_module.
0358 
0359     *) Bugfix: nginx returned the 500 error if parameters without variables
0360        were specified in the "xslt_stylesheet" directive.
0361 
0362     *) Workaround: "gzip filter failed to use preallocated memory" alerts
0363        appeared in logs when using a zlib library variant from Intel.
0364 
0365     *) Bugfix: the "worker_shutdown_timeout" directive did not work when
0366        using mail proxy and when proxying WebSocket connections.
0367 
0368 
0369 Changes with nginx 1.13.6                                        10 Oct 2017
0370 
0371     *) Bugfix: switching to the next upstream server in the stream module
0372        did not work when using the "ssl_preread" directive.
0373 
0374     *) Bugfix: in the ngx_http_v2_module.
0375        Thanks to Piotr Sikora.
0376 
0377     *) Bugfix: nginx did not support dates after the year 2038 on 32-bit
0378        platforms with 64-bit time_t.
0379 
0380     *) Bugfix: in handling of dates prior to the year 1970 and after the
0381        year 10000.
0382 
0383     *) Bugfix: in the stream module timeouts waiting for UDP datagrams from
0384        upstream servers were not logged or logged at the "info" level
0385        instead of "error".
0386 
0387     *) Bugfix: when using HTTP/2 nginx might return the 400 response without
0388        logging the reason.
0389 
0390     *) Bugfix: in processing of corrupted cache files.
0391 
0392     *) Bugfix: cache control headers were ignored when caching errors
0393        intercepted by error_page.
0394 
0395     *) Bugfix: when using HTTP/2 client request body might be corrupted.
0396 
0397     *) Bugfix: in handling of client addresses when using unix domain
0398        sockets.
0399 
0400     *) Bugfix: nginx hogged CPU when using the "hash ... consistent"
0401        directive in the upstream block if large weights were used and all or
0402        most of the servers were unavailable.
0403 
0404 
0405 Changes with nginx 1.13.5                                        05 Sep 2017
0406 
0407     *) Feature: the $ssl_client_escaped_cert variable.
0408 
0409     *) Bugfix: the "ssl_session_ticket_key" directive and the "include"
0410        parameter of the "geo" directive did not work on Windows.
0411 
0412     *) Bugfix: incorrect response length was returned on 32-bit platforms
0413        when requesting more than 4 gigabytes with multiple ranges.
0414 
0415     *) Bugfix: the "expires modified" directive and processing of the
0416        "If-Range" request header line did not use the response last
0417        modification time if proxying without caching was used.
0418 
0419 
0420 Changes with nginx 1.13.4                                        08 Aug 2017
0421 
0422     *) Feature: the ngx_http_mirror_module.
0423 
0424     *) Bugfix: client connections might be dropped during configuration
0425        testing when using the "reuseport" parameter of the "listen"
0426        directive on Linux.
0427 
0428     *) Bugfix: request body might not be available in subrequests if it was
0429        saved to a file and proxying was used.
0430 
0431     *) Bugfix: cleaning cache based on the "max_size" parameter did not work
0432        on Windows.
0433 
0434     *) Bugfix: any shared memory allocation required 4096 bytes on Windows.
0435 
0436     *) Bugfix: nginx worker might be terminated abnormally when using the
0437        "zone" directive inside the "upstream" block on Windows.
0438 
0439 
0440 Changes with nginx 1.13.3                                        11 Jul 2017
0441 
0442     *) Security: a specially crafted request might result in an integer
0443        overflow and incorrect processing of ranges in the range filter,
0444        potentially resulting in sensitive information leak (CVE-2017-7529).
0445 
0446 
0447 Changes with nginx 1.13.2                                        27 Jun 2017
0448 
0449     *) Change: nginx now returns 200 instead of 416 when a range starting
0450        with 0 is requested from an empty file.
0451 
0452     *) Feature: the "add_trailer" directive.
0453        Thanks to Piotr Sikora.
0454 
0455     *) Bugfix: nginx could not be built on Cygwin and NetBSD; the bug had
0456        appeared in 1.13.0.
0457 
0458     *) Bugfix: nginx could not be built under MSYS2 / MinGW 64-bit.
0459        Thanks to Orgad Shaneh.
0460 
0461     *) Bugfix: a segmentation fault might occur in a worker process when
0462        using SSI with many includes and proxy_pass with variables.
0463 
0464     *) Bugfix: in the ngx_http_v2_module.
0465        Thanks to Piotr Sikora.
0466 
0467 
0468 Changes with nginx 1.13.1                                        30 May 2017
0469 
0470     *) Feature: now a hostname can be used as the "set_real_ip_from"
0471        directive parameter.
0472 
0473     *) Feature: vim syntax highlighting scripts improvements.
0474 
0475     *) Feature: the "worker_cpu_affinity" directive now works on DragonFly
0476        BSD.
0477        Thanks to Sepherosa Ziehau.
0478 
0479     *) Bugfix: SSL renegotiation on backend connections did not work when
0480        using OpenSSL before 1.1.0.
0481 
0482     *) Workaround: nginx could not be built with Oracle Developer Studio
0483        12.5.
0484 
0485     *) Workaround: now cache manager ignores long locked cache entries when
0486        cleaning cache based on the "max_size" parameter.
0487 
0488     *) Bugfix: client SSL connections were immediately closed if deferred
0489        accept and the "proxy_protocol" parameter of the "listen" directive
0490        were used.
0491 
0492     *) Bugfix: in the "proxy_cache_background_update" directive.
0493 
0494     *) Workaround: now the "tcp_nodelay" directive sets the TCP_NODELAY
0495        option before an SSL handshake.
0496 
0497 
0498 Changes with nginx 1.13.0                                        25 Apr 2017
0499 
0500     *) Change: SSL renegotiation is now allowed on backend connections.
0501 
0502     *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
0503        directives of the mail proxy and stream modules.
0504 
0505     *) Feature: the "return" and "error_page" directives can now be used to
0506        return 308 redirections.
0507        Thanks to Simon Leblanc.
0508 
0509     *) Feature: the "TLSv1.3" parameter of the "ssl_protocols" directive.
0510 
0511     *) Feature: when logging signals nginx now logs PID of the process which
0512        sent the signal.
0513 
0514     *) Bugfix: in memory allocation error handling.
0515 
0516     *) Bugfix: if a server in the stream module listened on a wildcard
0517        address, the source address of a response UDP datagram could differ
0518        from the original datagram destination address.
0519 
0520 
0521 Changes with nginx 1.11.13                                       04 Apr 2017
0522 
0523     *) Feature: the "http_429" parameter of the "proxy_next_upstream",
0524        "fastcgi_next_upstream", "scgi_next_upstream", and
0525        "uwsgi_next_upstream" directives.
0526        Thanks to Piotr Sikora.
0527 
0528     *) Bugfix: in memory allocation error handling.
0529 
0530     *) Bugfix: requests might hang when using the "sendfile" and
0531        "timer_resolution" directives on Linux.
0532 
0533     *) Bugfix: requests might hang when using the "sendfile" and "aio_write"
0534        directives with subrequests.
0535 
0536     *) Bugfix: in the ngx_http_v2_module.
0537        Thanks to Piotr Sikora.
0538 
0539     *) Bugfix: a segmentation fault might occur in a worker process when
0540        using HTTP/2.
0541 
0542     *) Bugfix: requests might hang when using the "limit_rate",
0543        "sendfile_max_chunk", "limit_req" directives, or the $r->sleep()
0544        embedded perl method with subrequests.
0545 
0546     *) Bugfix: in the ngx_http_slice_module.
0547 
0548 
0549 Changes with nginx 1.11.12                                       24 Mar 2017
0550 
0551     *) Bugfix: nginx might hog CPU; the bug had appeared in 1.11.11.
0552 
0553 
0554 Changes with nginx 1.11.11                                       21 Mar 2017
0555 
0556     *) Feature: the "worker_shutdown_timeout" directive.
0557 
0558     *) Feature: vim syntax highlighting scripts improvements.
0559        Thanks to Wei-Ko Kao.
0560 
0561     *) Bugfix: a segmentation fault might occur in a worker process if the
0562        $limit_rate variable was set to an empty string.
0563 
0564     *) Bugfix: the "proxy_cache_background_update",
0565        "fastcgi_cache_background_update", "scgi_cache_background_update",
0566        and "uwsgi_cache_background_update" directives might work incorrectly
0567        if the "if" directive was used.
0568 
0569     *) Bugfix: a segmentation fault might occur in a worker process if
0570        number of large_client_header_buffers in a virtual server was
0571        different from the one in the default server.
0572 
0573     *) Bugfix: in the mail proxy server.
0574 
0575 
0576 Changes with nginx 1.11.10                                       14 Feb 2017
0577 
0578     *) Change: cache header format has been changed, previously cached
0579        responses will be invalidated.
0580 
0581     *) Feature: support of "stale-while-revalidate" and "stale-if-error"
0582        extensions in the "Cache-Control" backend response header line.
0583 
0584     *) Feature: the "proxy_cache_background_update",
0585        "fastcgi_cache_background_update", "scgi_cache_background_update",
0586        and "uwsgi_cache_background_update" directives.
0587 
0588     *) Feature: nginx is now able to cache responses with the "Vary" header
0589        line up to 128 characters long (instead of 42 characters in previous
0590        versions).
0591 
0592     *) Feature: the "build" parameter of the "server_tokens" directive.
0593        Thanks to Tom Thorogood.
0594 
0595     *) Bugfix: "[crit] SSL_write() failed" messages might appear in logs
0596        when handling requests with the "Expect: 100-continue" request header
0597        line.
0598 
0599     *) Bugfix: the ngx_http_slice_module did not work in named locations.
0600 
0601     *) Bugfix: a segmentation fault might occur in a worker process when
0602        using AIO after an "X-Accel-Redirect" redirection.
0603 
0604     *) Bugfix: reduced memory consumption for long-lived requests using
0605        gzipping.
0606 
0607 
0608 Changes with nginx 1.11.9                                        24 Jan 2017
0609 
0610     *) Bugfix: nginx might hog CPU when using the stream module; the bug had
0611        appeared in 1.11.5.
0612 
0613     *) Bugfix: EXTERNAL authentication mechanism in mail proxy was accepted
0614        even if it was not enabled in the configuration.
0615 
0616     *) Bugfix: a segmentation fault might occur in a worker process if the
0617        "ssl_verify_client" directive of the stream module was used.
0618 
0619     *) Bugfix: the "ssl_verify_client" directive of the stream module might
0620        not work.
0621 
0622     *) Bugfix: closing keepalive connections due to no free worker
0623        connections might be too aggressive.
0624        Thanks to Joel Cunningham.
0625 
0626     *) Bugfix: an incorrect response might be returned when using the
0627        "sendfile" directive on FreeBSD and macOS; the bug had appeared in
0628        1.7.8.
0629 
0630     *) Bugfix: a truncated response might be stored in cache when using the
0631        "aio_write" directive.
0632 
0633     *) Bugfix: a socket leak might occur when using the "aio_write"
0634        directive.
0635 
0636 
0637 Changes with nginx 1.11.8                                        27 Dec 2016
0638 
0639     *) Feature: the "absolute_redirect" directive.
0640 
0641     *) Feature: the "escape" parameter of the "log_format" directive.
0642 
0643     *) Feature: client SSL certificates verification in the stream module.
0644 
0645     *) Feature: the "ssl_session_ticket_key" directive supports AES256
0646        encryption of TLS session tickets when used with 80-byte keys.
0647 
0648     *) Feature: vim-commentary support in vim scripts.
0649        Thanks to Armin Grodon.
0650 
0651     *) Bugfix: recursion when evaluating variables was not limited.
0652 
0653     *) Bugfix: in the ngx_stream_ssl_preread_module.
0654 
0655     *) Bugfix: if a server in an upstream in the stream module failed, it
0656        was considered alive only when a test connection sent to it after
0657        fail_timeout was closed; now a successfully established connection is
0658        enough.
0659 
0660     *) Bugfix: nginx/Windows could not be built with 64-bit Visual Studio.
0661 
0662     *) Bugfix: nginx/Windows could not be built with OpenSSL 1.1.0.
0663 
0664 
0665 Changes with nginx 1.11.7                                        13 Dec 2016
0666 
0667     *) Change: now in case of a client certificate verification error the
0668        $ssl_client_verify variable contains a string with the failure
0669        reason, for example, "FAILED:certificate has expired".
0670 
0671     *) Feature: the $ssl_ciphers, $ssl_curves, $ssl_client_v_start,
0672        $ssl_client_v_end, and $ssl_client_v_remain variables.
0673 
0674     *) Feature: the "volatile" parameter of the "map" directive.
0675 
0676     *) Bugfix: dependencies specified for a module were ignored while
0677        building dynamic modules.
0678 
0679     *) Bugfix: when using HTTP/2 and the "limit_req" or "auth_request"
0680        directives client request body might be corrupted; the bug had
0681        appeared in 1.11.0.
0682 
0683     *) Bugfix: a segmentation fault might occur in a worker process when
0684        using HTTP/2; the bug had appeared in 1.11.3.
0685 
0686     *) Bugfix: in the ngx_http_mp4_module.
0687        Thanks to Congcong Hu.
0688 
0689     *) Bugfix: in the ngx_http_perl_module.
0690 
0691 
0692 Changes with nginx 1.11.6                                        15 Nov 2016
0693 
0694     *) Change: format of the $ssl_client_s_dn and $ssl_client_i_dn variables
0695        has been changed to follow RFC 2253 (RFC 4514); values in the old
0696        format are available in the $ssl_client_s_dn_legacy and
0697        $ssl_client_i_dn_legacy variables.
0698 
0699     *) Change: when storing temporary files in a cache directory they will
0700        be stored in the same subdirectories as corresponding cache files
0701        instead of a separate subdirectory for temporary files.
0702 
0703     *) Feature: EXTERNAL authentication mechanism support in mail proxy.
0704        Thanks to Robert Norris.
0705 
0706     *) Feature: WebP support in the ngx_http_image_filter_module.
0707 
0708     *) Feature: variables support in the "proxy_method" directive.
0709        Thanks to Dmitry Lazurkin.
0710 
0711     *) Feature: the "http2_max_requests" directive in the
0712        ngx_http_v2_module.
0713 
0714     *) Feature: the "proxy_cache_max_range_offset",
0715        "fastcgi_cache_max_range_offset", "scgi_cache_max_range_offset", and
0716        "uwsgi_cache_max_range_offset" directives.
0717 
0718     *) Bugfix: graceful shutdown of old worker processes might require
0719        infinite time when using HTTP/2.
0720 
0721     *) Bugfix: in the ngx_http_mp4_module.
0722 
0723     *) Bugfix: "ignore long locked inactive cache entry" alerts might appear
0724        in logs when proxying WebSocket connections with caching enabled.
0725 
0726     *) Bugfix: nginx did not write anything to log and returned a response
0727        with code 502 instead of 504 when a timeout occurred during an SSL
0728        handshake to a backend.
0729 
0730 
0731 Changes with nginx 1.11.5                                        11 Oct 2016
0732 
0733     *) Change: the --with-ipv6 configure option was removed, now IPv6
0734        support is configured automatically.
0735 
0736     *) Change: now if there are no available servers in an upstream, nginx
0737        will not reset number of failures of all servers as it previously
0738        did, but will wait for fail_timeout to expire.
0739 
0740     *) Feature: the ngx_stream_ssl_preread_module.
0741 
0742     *) Feature: the "server" directive in the "upstream" context supports
0743        the "max_conns" parameter.
0744 
0745     *) Feature: the --with-compat configure option.
0746 
0747     *) Feature: "manager_files", "manager_threshold", and "manager_sleep"
0748        parameters of the "proxy_cache_path", "fastcgi_cache_path",
0749        "scgi_cache_path", and "uwsgi_cache_path" directives.
0750 
0751     *) Bugfix: flags passed by the --with-ld-opt configure option were not
0752        used while building perl module.
0753 
0754     *) Bugfix: in the "add_after_body" directive when used with the
0755        "sub_filter" directive.
0756 
0757     *) Bugfix: in the $realip_remote_addr variable.
0758 
0759     *) Bugfix: the "dav_access", "proxy_store_access",
0760        "fastcgi_store_access", "scgi_store_access", and "uwsgi_store_access"
0761        directives ignored permissions specified for user.
0762 
0763     *) Bugfix: unix domain listen sockets might not be inherited during
0764        binary upgrade on Linux.
0765 
0766     *) Bugfix: nginx returned the 400 response on requests with the "-"
0767        character in the HTTP method.
0768 
0769 
0770 Changes with nginx 1.11.4                                        13 Sep 2016
0771 
0772     *) Feature: the $upstream_bytes_received variable.
0773 
0774     *) Feature: the $bytes_received, $session_time, $protocol, $status,
0775        $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received,
0776        $upstream_connect_time, $upstream_first_byte_time, and
0777        $upstream_session_time variables in the stream module.
0778 
0779     *) Feature: the ngx_stream_log_module.
0780 
0781     *) Feature: the "proxy_protocol" parameter of the "listen" directive,
0782        the $proxy_protocol_addr and $proxy_protocol_port variables in the
0783        stream module.
0784 
0785     *) Feature: the ngx_stream_realip_module.
0786 
0787     *) Bugfix: nginx could not be built with the stream module and the
0788        ngx_http_ssl_module, but without ngx_stream_ssl_module; the bug had
0789        appeared in 1.11.3.
0790 
0791     *) Feature: the IP_BIND_ADDRESS_NO_PORT socket option was not used; the
0792        bug had appeared in 1.11.2.
0793 
0794     *) Bugfix: in the "ranges" parameter of the "geo" directive.
0795 
0796     *) Bugfix: an incorrect response might be returned when using the "aio
0797        threads" and "sendfile" directives; the bug had appeared in 1.9.13.
0798 
0799 
0800 Changes with nginx 1.11.3                                        26 Jul 2016
0801 
0802     *) Change: now the "accept_mutex" directive is turned off by default.
0803 
0804     *) Feature: now nginx uses EPOLLEXCLUSIVE on Linux.
0805 
0806     *) Feature: the ngx_stream_geo_module.
0807 
0808     *) Feature: the ngx_stream_geoip_module.
0809 
0810     *) Feature: the ngx_stream_split_clients_module.
0811 
0812     *) Feature: variables support in the "proxy_pass" and "proxy_ssl_name"
0813        directives in the stream module.
0814 
0815     *) Bugfix: socket leak when using HTTP/2.
0816 
0817     *) Bugfix: in configure tests.
0818        Thanks to Piotr Sikora.
0819 
0820 
0821 Changes with nginx 1.11.2                                        05 Jul 2016
0822 
0823     *) Change: now nginx always uses internal MD5 and SHA1 implementations;
0824        the --with-md5 and --with-sha1 configure options were canceled.
0825 
0826     *) Feature: variables support in the stream module.
0827 
0828     *) Feature: the ngx_stream_map_module.
0829 
0830     *) Feature: the ngx_stream_return_module.
0831 
0832     *) Feature: a port can be specified in the "proxy_bind", "fastcgi_bind",
0833        "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
0834 
0835     *) Feature: now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option
0836        when available.
0837 
0838     *) Bugfix: a segmentation fault might occur in a worker process when
0839        using HTTP/2 and the "proxy_request_buffering" directive.
0840 
0841     *) Bugfix: the "Content-Length" request header line was always added to
0842        requests passed to backends, including requests without body, when
0843        using HTTP/2.
0844 
0845     *) Bugfix: "http request count is zero" alerts might appear in logs when
0846        using HTTP/2.
0847 
0848     *) Bugfix: unnecessary buffering might occur when using the "sub_filter"
0849        directive; the issue had appeared in 1.9.4.
0850 
0851 
0852 Changes with nginx 1.11.1                                        31 May 2016
0853 
0854     *) Security: a segmentation fault might occur in a worker process while
0855        writing a specially crafted request body to a temporary file
0856        (CVE-2016-4450); the bug had appeared in 1.3.9.
0857 
0858 
0859 Changes with nginx 1.11.0                                        24 May 2016
0860 
0861     *) Feature: the "transparent" parameter of the "proxy_bind",
0862        "fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind"
0863        directives.
0864 
0865     *) Feature: the $request_id variable.
0866 
0867     *) Feature: the "map" directive supports combinations of multiple
0868        variables as resulting values.
0869 
0870     *) Feature: now nginx checks if EPOLLRDHUP events are supported by
0871        kernel, and optimizes connection handling accordingly if the "epoll"
0872        method is used.
0873 
0874     *) Feature: the "ssl_certificate" and "ssl_certificate_key" directives
0875        can be specified multiple times to load certificates of different
0876        types (for example, RSA and ECDSA).
0877 
0878     *) Feature: the "ssl_ecdh_curve" directive now allows specifying a list
0879        of curves when using OpenSSL 1.0.2 or newer; by default a list built
0880        into OpenSSL is used.
0881 
0882     *) Change: to use DHE ciphers it is now required to specify parameters
0883        using the "ssl_dhparam" directive.
0884 
0885     *) Feature: the $proxy_protocol_port variable.
0886 
0887     *) Feature: the $realip_remote_port variable in the
0888        ngx_http_realip_module.
0889 
0890     *) Feature: the ngx_http_realip_module is now able to set the client
0891        port in addition to the address.
0892 
0893     *) Change: the "421 Misdirected Request" response now used when
0894        rejecting requests to a virtual server different from one negotiated
0895        during an SSL handshake; this improves interoperability with some
0896        HTTP/2 clients when using client certificates.
0897 
0898     *) Change: HTTP/2 clients can now start sending request body
0899        immediately; the "http2_body_preread_size" directive controls size of
0900        the buffer used before nginx will start reading client request body.
0901 
0902     *) Bugfix: cached error responses were not updated when using the
0903        "proxy_cache_bypass" directive.
0904 
0905 
0906 Changes with nginx 1.9.15                                        19 Apr 2016
0907 
0908     *) Bugfix: "recv() failed" errors might occur when using HHVM as a
0909        FastCGI server.
0910 
0911     *) Bugfix: when using HTTP/2 and the "limit_req" or "auth_request"
0912        directives a timeout or a "client violated flow control" error might
0913        occur while reading client request body; the bug had appeared in
0914        1.9.14.
0915 
0916     *) Workaround: a response might not be shown by some browsers if HTTP/2
0917        was used and client request body was not fully read; the bug had
0918        appeared in 1.9.14.
0919 
0920     *) Bugfix: connections might hang when using the "aio threads"
0921        directive.
0922        Thanks to Mindaugas Rasiukevicius.
0923 
0924 
0925 Changes with nginx 1.9.14                                        05 Apr 2016
0926 
0927     *) Feature: OpenSSL 1.1.0 compatibility.
0928 
0929     *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering",
0930        "scgi_request_buffering", and "uwsgi_request_buffering" directives
0931        now work with HTTP/2.
0932 
0933     *) Bugfix: "zero size buf in output" alerts might appear in logs when
0934        using HTTP/2.
0935 
0936     *) Bugfix: the "client_max_body_size" directive might work incorrectly
0937        when using HTTP/2.
0938 
0939     *) Bugfix: of minor bugs in logging.
0940 
0941 
0942 Changes with nginx 1.9.13                                        29 Mar 2016
0943 
0944     *) Change: non-idempotent requests (POST, LOCK, PATCH) are no longer
0945        passed to the next server by default if a request has been sent to a
0946        backend; the "non_idempotent" parameter of the "proxy_next_upstream"
0947        directive explicitly allows retrying such requests.
0948 
0949     *) Feature: the ngx_http_perl_module can be built dynamically.
0950 
0951     *) Feature: UDP support in the stream module.
0952 
0953     *) Feature: the "aio_write" directive.
0954 
0955     *) Feature: now cache manager monitors number of elements in caches and
0956        tries to avoid cache keys zone overflows.
0957 
0958     *) Bugfix: "task already active" and "second aio post" alerts might
0959        appear in logs when using the "sendfile" and "aio" directives with
0960        subrequests.
0961 
0962     *) Bugfix: "zero size buf in output" alerts might appear in logs if
0963        caching was used and a client closed a connection prematurely.
0964 
0965     *) Bugfix: connections with clients might be closed needlessly if
0966        caching was used.
0967        Thanks to Justin Li.
0968 
0969     *) Bugfix: nginx might hog CPU if the "sendfile" directive was used on
0970        Linux or Solaris and a file being sent was changed during sending.
0971 
0972     *) Bugfix: connections might hang when using the "sendfile" and "aio
0973        threads" directives.
0974 
0975     *) Bugfix: in the "proxy_pass", "fastcgi_pass", "scgi_pass", and
0976        "uwsgi_pass" directives when using variables.
0977        Thanks to Piotr Sikora.
0978 
0979     *) Bugfix: in the ngx_http_sub_filter_module.
0980 
0981     *) Bugfix: if an error occurred in a cached backend connection, the
0982        request was passed to the next server regardless of the
0983        proxy_next_upstream directive.
0984 
0985     *) Bugfix: "CreateFile() failed" errors when creating temporary files on
0986        Windows.
0987 
0988 
0989 Changes with nginx 1.9.12                                        24 Feb 2016
0990 
0991     *) Feature: Huffman encoding of response headers in HTTP/2.
0992        Thanks to Vlad Krasnov.
0993 
0994     *) Feature: the "worker_cpu_affinity" directive now supports more than
0995        64 CPUs.
0996 
0997     *) Bugfix: compatibility with 3rd party C++ modules; the bug had
0998        appeared in 1.9.11.
0999        Thanks to Piotr Sikora.
1000 
1001     *) Bugfix: nginx could not be built statically with OpenSSL on Linux;
1002        the bug had appeared in 1.9.11.
1003 
1004     *) Bugfix: the "add_header ... always" directive with an empty value did
1005        not delete "Last-Modified" and "ETag" header lines from error
1006        responses.
1007 
1008     *) Workaround: "called a function you should not call" and "shutdown
1009        while in init" messages might appear in logs when using OpenSSL
1010        1.0.2f.
1011 
1012     *) Bugfix: invalid headers might be logged incorrectly.
1013 
1014     *) Bugfix: socket leak when using HTTP/2.
1015 
1016     *) Bugfix: in the ngx_http_v2_module.
1017 
1018 
1019 Changes with nginx 1.9.11                                        09 Feb 2016
1020 
1021     *) Feature: TCP support in resolver.
1022 
1023     *) Feature: dynamic modules.
1024 
1025     *) Bugfix: the $request_length variable did not include size of request
1026        headers when using HTTP/2.
1027 
1028     *) Bugfix: in the ngx_http_v2_module.
1029 
1030 
1031 Changes with nginx 1.9.10                                        26 Jan 2016
1032 
1033     *) Security: invalid pointer dereference might occur during DNS server
1034        response processing if the "resolver" directive was used, allowing an
1035        attacker who is able to forge UDP packets from the DNS server to
1036        cause segmentation fault in a worker process (CVE-2016-0742).
1037 
1038     *) Security: use-after-free condition might occur during CNAME response
1039        processing if the "resolver" directive was used, allowing an attacker
1040        who is able to trigger name resolution to cause segmentation fault in
1041        a worker process, or might have potential other impact
1042        (CVE-2016-0746).
1043 
1044     *) Security: CNAME resolution was insufficiently limited if the
1045        "resolver" directive was used, allowing an attacker who is able to
1046        trigger arbitrary name resolution to cause excessive resource
1047        consumption in worker processes (CVE-2016-0747).
1048 
1049     *) Feature: the "auto" parameter of the "worker_cpu_affinity" directive.
1050 
1051     *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did
1052        not work with IPv6 listen sockets.
1053 
1054     *) Bugfix: connections to upstream servers might be cached incorrectly
1055        when using the "keepalive" directive.
1056 
1057     *) Bugfix: proxying used the HTTP method of the original request after
1058        an "X-Accel-Redirect" redirection.
1059 
1060 
1061 Changes with nginx 1.9.9                                         09 Dec 2015
1062 
1063     *) Bugfix: proxying to unix domain sockets did not work when using
1064        variables; the bug had appeared in 1.9.8.
1065 
1066 
1067 Changes with nginx 1.9.8                                         08 Dec 2015
1068 
1069     *) Feature: pwritev() support.
1070 
1071     *) Feature: the "include" directive inside the "upstream" block.
1072 
1073     *) Feature: the ngx_http_slice_module.
1074 
1075     *) Bugfix: a segmentation fault might occur in a worker process when
1076        using LibreSSL; the bug had appeared in 1.9.6.
1077 
1078     *) Bugfix: nginx could not be built on OS X in some cases.
1079 
1080 
1081 Changes with nginx 1.9.7                                         17 Nov 2015
1082 
1083     *) Feature: the "nohostname" parameter of logging to syslog.
1084 
1085     *) Feature: the "proxy_cache_convert_head" directive.
1086 
1087     *) Feature: the $realip_remote_addr variable in the
1088        ngx_http_realip_module.
1089 
1090     *) Bugfix: the "expires" directive might not work when using variables.
1091 
1092     *) Bugfix: a segmentation fault might occur in a worker process when
1093        using HTTP/2; the bug had appeared in 1.9.6.
1094 
1095     *) Bugfix: if nginx was built with the ngx_http_v2_module it was
1096        possible to use the HTTP/2 protocol even if the "http2" parameter of
1097        the "listen" directive was not specified.
1098 
1099     *) Bugfix: in the ngx_http_v2_module.
1100 
1101 
1102 Changes with nginx 1.9.6                                         27 Oct 2015
1103 
1104     *) Bugfix: a segmentation fault might occur in a worker process when
1105        using HTTP/2.
1106        Thanks to Piotr Sikora and Denis Andzakovic.
1107 
1108     *) Bugfix: the $server_protocol variable was empty when using HTTP/2.
1109 
1110     *) Bugfix: backend SSL connections in the stream module might be timed
1111        out unexpectedly.
1112 
1113     *) Bugfix: a segmentation fault might occur in a worker process if
1114        different ssl_session_cache settings were used in different virtual
1115        servers.
1116 
1117     *) Bugfix: nginx/Windows could not be built with MinGW gcc; the bug had
1118        appeared in 1.9.4.
1119        Thanks to Kouhei Sutou.
1120 
1121     *) Bugfix: time was not updated when the timer_resolution directive was
1122        used on Windows.
1123 
1124     *) Miscellaneous minor fixes and improvements.
1125        Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora.
1126 
1127 
1128 Changes with nginx 1.9.5                                         22 Sep 2015
1129 
1130     *) Feature: the ngx_http_v2_module (replaces ngx_http_spdy_module).
1131        Thanks to Dropbox and Automattic for sponsoring this work.
1132 
1133     *) Change: now the "output_buffers" directive uses two buffers by
1134        default.
1135 
1136     *) Change: now nginx limits subrequests recursion, not simultaneous
1137        subrequests.
1138 
1139     *) Change: now nginx checks the whole cache key when returning a
1140        response from cache.
1141        Thanks to Gena Makhomed and Sergey Brester.
1142 
1143     *) Bugfix: "header already sent" alerts might appear in logs when using
1144        cache; the bug had appeared in 1.7.5.
1145 
1146     *) Bugfix: "writev() failed (4: Interrupted system call)" errors might
1147        appear in logs when using CephFS and the "timer_resolution" directive
1148        on Linux.
1149 
1150     *) Bugfix: in invalid configurations handling.
1151        Thanks to Markus Linnala.
1152 
1153     *) Bugfix: a segmentation fault occurred in a worker process if the
1154        "sub_filter" directive was used at http level; the bug had appeared
1155        in 1.9.4.
1156 
1157 
1158 Changes with nginx 1.9.4                                         18 Aug 2015
1159 
1160     *) Change: the "proxy_downstream_buffer" and "proxy_upstream_buffer"
1161        directives of the stream module are replaced with the
1162        "proxy_buffer_size" directive.
1163 
1164     *) Feature: the "tcp_nodelay" directive in the stream module.
1165 
1166     *) Feature: multiple "sub_filter" directives can be used simultaneously.
1167 
1168     *) Feature: variables support in the search string of the "sub_filter"
1169        directive.
1170 
1171     *) Workaround: configuration testing might fail under Linux OpenVZ.
1172        Thanks to Gena Makhomed.
1173 
1174     *) Bugfix: old worker processes might hog CPU after reconfiguration with
1175        a large number of worker_connections.
1176 
1177     *) Bugfix: a segmentation fault might occur in a worker process if the
1178        "try_files" and "alias" directives were used inside a location given
1179        by a regular expression; the bug had appeared in 1.7.1.
1180 
1181     *) Bugfix: the "try_files" directive inside a nested location given by a
1182        regular expression worked incorrectly if the "alias" directive was
1183        used in the outer location.
1184 
1185     *) Bugfix: in hash table initialization error handling.
1186 
1187     *) Bugfix: nginx could not be built with Visual Studio 2015.
1188 
1189 
1190 Changes with nginx 1.9.3                                         14 Jul 2015
1191 
1192     *) Change: duplicate "http", "mail", and "stream" blocks are now
1193        disallowed.
1194 
1195     *) Feature: connection limiting in the stream module.
1196 
1197     *) Feature: data rate limiting in the stream module.
1198 
1199     *) Bugfix: the "zone" directive inside the "upstream" block did not work
1200        on Windows.
1201 
1202     *) Bugfix: compatibility with LibreSSL in the stream module.
1203        Thanks to Piotr Sikora.
1204 
1205     *) Bugfix: in the "--builddir" configure parameter.
1206        Thanks to Piotr Sikora.
1207 
1208     *) Bugfix: the "ssl_stapling_file" directive did not work; the bug had
1209        appeared in 1.9.2.
1210        Thanks to Faidon Liambotis and Brandon Black.
1211 
1212     *) Bugfix: a segmentation fault might occur in a worker process if the
1213        "ssl_stapling" directive was used; the bug had appeared in 1.9.2.
1214        Thanks to Matthew Baldwin.
1215 
1216 
1217 Changes with nginx 1.9.2                                         16 Jun 2015
1218 
1219     *) Feature: the "backlog" parameter of the "listen" directives of the
1220        mail proxy and stream modules.
1221 
1222     *) Feature: the "allow" and "deny" directives in the stream module.
1223 
1224     *) Feature: the "proxy_bind" directive in the stream module.
1225 
1226     *) Feature: the "proxy_protocol" directive in the stream module.
1227 
1228     *) Feature: the -T switch.
1229 
1230     *) Feature: the REQUEST_SCHEME parameter added to the fastcgi.conf,
1231        fastcgi_params, scgi_params, and uwsgi_params standard configuration
1232        files.
1233 
1234     *) Bugfix: the "reuseport" parameter of the "listen" directive of the
1235        stream module did not work.
1236 
1237     *) Bugfix: OCSP stapling might return an expired OCSP response in some
1238        cases.
1239 
1240 
1241 Changes with nginx 1.9.1                                         26 May 2015
1242 
1243     *) Change: now SSLv3 protocol is disabled by default.
1244 
1245     *) Change: some long deprecated directives are not supported anymore.
1246 
1247     *) Feature: the "reuseport" parameter of the "listen" directive.
1248        Thanks to Yingqi Lu at Intel and Sepherosa Ziehau.
1249 
1250     *) Feature: the $upstream_connect_time variable.
1251 
1252     *) Bugfix: in the "hash" directive on big-endian platforms.
1253 
1254     *) Bugfix: nginx might fail to start on some old Linux variants; the bug
1255        had appeared in 1.7.11.
1256 
1257     *) Bugfix: in IP address parsing.
1258        Thanks to Sergey Polovko.
1259 
1260 
1261 Changes with nginx 1.9.0                                         28 Apr 2015
1262 
1263     *) Change: obsolete aio and rtsig event methods have been removed.
1264 
1265     *) Feature: the "zone" directive inside the "upstream" block.
1266 
1267     *) Feature: the stream module.
1268 
1269     *) Feature: byte ranges support in the ngx_http_memcached_module.
1270        Thanks to Martin Mlynář.
1271 
1272     *) Feature: shared memory can now be used on Windows versions with
1273        address space layout randomization.
1274        Thanks to Sergey Brester.
1275 
1276     *) Feature: the "error_log" directive can now be used on mail and server
1277        levels in mail proxy.
1278 
1279     *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did
1280        not work if not specified in the first "listen" directive for a
1281        listen socket.
1282 
1283 
1284 Changes with nginx 1.7.12                                        07 Apr 2015
1285 
1286     *) Feature: now the "tcp_nodelay" directive works with backend SSL
1287        connections.
1288 
1289     *) Feature: now thread pools can be used to read cache file headers.
1290 
1291     *) Bugfix: in the "proxy_request_buffering" directive.
1292 
1293     *) Bugfix: a segmentation fault might occur in a worker process when
1294        using thread pools on Linux.
1295 
1296     *) Bugfix: in error handling when using the "ssl_stapling" directive.
1297        Thanks to Filipe da Silva.
1298 
1299     *) Bugfix: in the ngx_http_spdy_module.
1300 
1301 
1302 Changes with nginx 1.7.11                                        24 Mar 2015
1303 
1304     *) Change: the "sendfile" parameter of the "aio" directive is
1305        deprecated; now nginx automatically uses AIO to pre-load data for
1306        sendfile if both "aio" and "sendfile" directives are used.
1307 
1308     *) Feature: experimental thread pools support.
1309 
1310     *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering",
1311        "scgi_request_buffering", and "uwsgi_request_buffering" directives.
1312 
1313     *) Feature: request body filters experimental API.
1314 
1315     *) Feature: client SSL certificates support in mail proxy.
1316        Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva.
1317 
1318     *) Feature: startup speedup when using the "hash ... consistent"
1319        directive in the upstream block.
1320        Thanks to Wai Keen Woon.
1321 
1322     *) Feature: debug logging into a cyclic memory buffer.
1323 
1324     *) Bugfix: in hash table handling.
1325        Thanks to Chris West.
1326 
1327     *) Bugfix: in the "proxy_cache_revalidate" directive.
1328 
1329     *) Bugfix: SSL connections might hang if deferred accept or the
1330        "proxy_protocol" parameter of the "listen" directive were used.
1331        Thanks to James Hamlin.
1332 
1333     *) Bugfix: the $upstream_response_time variable might contain a wrong
1334        value if the "image_filter" directive was used.
1335 
1336     *) Bugfix: in integer overflow handling.
1337        Thanks to Régis Leroy.
1338 
1339     *) Bugfix: it was not possible to enable SSLv3 with LibreSSL.
1340 
1341     *) Bugfix: the "ignoring stale global SSL error ... called a function
1342        you should not call" alerts appeared in logs when using LibreSSL.
1343 
1344     *) Bugfix: certificates specified by the "ssl_client_certificate" and
1345        "ssl_trusted_certificate" directives were inadvertently used to
1346        automatically construct certificate chains.
1347 
1348 
1349 Changes with nginx 1.7.10                                        10 Feb 2015
1350 
1351     *) Feature: the "use_temp_path" parameter of the "proxy_cache_path",
1352        "fastcgi_cache_path", "scgi_cache_path", and "uwsgi_cache_path"
1353        directives.
1354 
1355     *) Feature: the $upstream_header_time variable.
1356 
1357     *) Workaround: now on disk overflow nginx tries to write error logs once
1358        a second only.
1359 
1360     *) Bugfix: the "try_files" directive did not ignore normal files while
1361        testing directories.
1362        Thanks to Damien Tournoud.
1363 
1364     *) Bugfix: alerts "sendfile() failed" if the "sendfile" directive was
1365        used on OS X; the bug had appeared in 1.7.8.
1366 
1367     *) Bugfix: alerts "sem_post() failed" might appear in logs.
1368 
1369     *) Bugfix: nginx could not be built with musl libc.
1370        Thanks to James Taylor.
1371 
1372     *) Bugfix: nginx could not be built on Tru64 UNIX.
1373        Thanks to Goetz T. Fischer.
1374 
1375 
1376 Changes with nginx 1.7.9                                         23 Dec 2014
1377 
1378     *) Feature: variables support in the "proxy_cache", "fastcgi_cache",
1379        "scgi_cache", and "uwsgi_cache" directives.
1380 
1381     *) Feature: variables support in the "expires" directive.
1382 
1383     *) Feature: loading of secret keys from hardware tokens with OpenSSL
1384        engines.
1385        Thanks to Dmitrii Pichulin.
1386 
1387     *) Feature: the "autoindex_format" directive.
1388 
1389     *) Bugfix: cache revalidation is now only used for responses with 200
1390        and 206 status codes.
1391        Thanks to Piotr Sikora.
1392 
1393     *) Bugfix: the "TE" client request header line was passed to backends
1394        while proxying.
1395 
1396     *) Bugfix: the "proxy_pass", "fastcgi_pass", "scgi_pass", and
1397        "uwsgi_pass" directives might not work correctly inside the "if" and
1398        "limit_except" blocks.
1399 
1400     *) Bugfix: the "proxy_store" directive with the "on" parameter was
1401        ignored if the "proxy_store" directive with an explicitly specified
1402        file path was used on a previous level.
1403 
1404     *) Bugfix: nginx could not be built with BoringSSL.
1405        Thanks to Lukas Tribus.
1406 
1407 
1408 Changes with nginx 1.7.8                                         02 Dec 2014
1409 
1410     *) Change: now the "If-Modified-Since", "If-Range", etc. client request
1411        header lines are passed to a backend while caching if nginx knows in
1412        advance that the response will not be cached (e.g., when using
1413        proxy_cache_min_uses).
1414 
1415     *) Change: now after proxy_cache_lock_timeout nginx sends a request to a
1416        backend with caching disabled; the new directives
1417        "proxy_cache_lock_age", "fastcgi_cache_lock_age",
1418        "scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time
1419        after which the lock will be released and another attempt to cache a
1420        response will be made.
1421 
1422     *) Change: the "log_format" directive can now be used only at http
1423        level.
1424 
1425     *) Feature: the "proxy_ssl_certificate", "proxy_ssl_certificate_key",
1426        "proxy_ssl_password_file", "uwsgi_ssl_certificate",
1427        "uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file"
1428        directives.
1429        Thanks to Piotr Sikora.
1430 
1431     *) Feature: it is now possible to switch to a named location using
1432        "X-Accel-Redirect".
1433        Thanks to Toshikuni Fukaya.
1434 
1435     *) Feature: now the "tcp_nodelay" directive works with SPDY connections.
1436 
1437     *) Feature: new directives in vim syntax highliting scripts.
1438        Thanks to Peter Wu.
1439 
1440     *) Bugfix: nginx ignored the "s-maxage" value in the "Cache-Control"
1441        backend response header line.
1442        Thanks to Piotr Sikora.
1443 
1444     *) Bugfix: in the ngx_http_spdy_module.
1445        Thanks to Piotr Sikora.
1446 
1447     *) Bugfix: in the "ssl_password_file" directive when using OpenSSL
1448        0.9.8zc, 1.0.0o, 1.0.1j.
1449 
1450     *) Bugfix: alerts "header already sent" appeared in logs if the
1451        "post_action" directive was used; the bug had appeared in 1.5.4.
1452 
1453     *) Bugfix: alerts "the http output chain is empty" might appear in logs
1454        if the "postpone_output 0" directive was used with SSI includes.
1455 
1456     *) Bugfix: in the "proxy_cache_lock" directive with SSI subrequests.
1457        Thanks to Yichun Zhang.
1458 
1459 
1460 Changes with nginx 1.7.7                                         28 Oct 2014
1461 
1462     *) Change: now nginx takes into account the "Vary" header line in a
1463        backend response while caching.
1464 
1465     *) Feature: the "proxy_force_ranges", "fastcgi_force_ranges",
1466        "scgi_force_ranges", and "uwsgi_force_ranges" directives.
1467 
1468     *) Feature: the "proxy_limit_rate", "fastcgi_limit_rate",
1469        "scgi_limit_rate", and "uwsgi_limit_rate" directives.
1470 
1471     *) Feature: the "Vary" parameter of the "proxy_ignore_headers",
1472        "fastcgi_ignore_headers", "scgi_ignore_headers", and
1473        "uwsgi_ignore_headers" directives.
1474 
1475     *) Bugfix: the last part of a response received from a backend with
1476        unbufferred proxy might not be sent to a client if "gzip" or "gunzip"
1477        directives were used.
1478 
1479     *) Bugfix: in the "proxy_cache_revalidate" directive.
1480        Thanks to Piotr Sikora.
1481 
1482     *) Bugfix: in error handling.
1483        Thanks to Yichun Zhang and Daniil Bondarev.
1484 
1485     *) Bugfix: in the "proxy_next_upstream_tries" and
1486        "proxy_next_upstream_timeout" directives.
1487        Thanks to Feng Gu.
1488 
1489     *) Bugfix: nginx/Windows could not be built with MinGW-w64 gcc.
1490        Thanks to Kouhei Sutou.
1491 
1492 
1493 Changes with nginx 1.7.6                                         30 Sep 2014
1494 
1495     *) Change: the deprecated "limit_zone" directive is not supported
1496        anymore.
1497 
1498     *) Feature: the "limit_conn_zone" and "limit_req_zone" directives now
1499        can be used with combinations of multiple variables.
1500 
1501     *) Bugfix: request body might be transmitted incorrectly when retrying a
1502        FastCGI request to the next upstream server.
1503 
1504     *) Bugfix: in logging to syslog.
1505 
1506 
1507 Changes with nginx 1.7.5                                         16 Sep 2014
1508 
1509     *) Security: it was possible to reuse SSL sessions in unrelated contexts
1510        if a shared SSL session cache or the same TLS session ticket key was
1511        used for multiple "server" blocks (CVE-2014-3616).
1512        Thanks to Antoine Delignat-Lavaud.
1513 
1514     *) Change: now the "stub_status" directive does not require a parameter.
1515 
1516     *) Feature: the "always" parameter of the "add_header" directive.
1517 
1518     *) Feature: the "proxy_next_upstream_tries",
1519        "proxy_next_upstream_timeout", "fastcgi_next_upstream_tries",
1520        "fastcgi_next_upstream_timeout", "memcached_next_upstream_tries",
1521        "memcached_next_upstream_timeout", "scgi_next_upstream_tries",
1522        "scgi_next_upstream_timeout", "uwsgi_next_upstream_tries", and
1523        "uwsgi_next_upstream_timeout" directives.
1524 
1525     *) Bugfix: in the "if" parameter of the "access_log" directive.
1526 
1527     *) Bugfix: in the ngx_http_perl_module.
1528        Thanks to Piotr Sikora.
1529 
1530     *) Bugfix: the "listen" directive of the mail proxy module did not allow
1531        to specify more than two parameters.
1532 
1533     *) Bugfix: the "sub_filter" directive did not work with a string to
1534        replace consisting of a single character.
1535 
1536     *) Bugfix: requests might hang if resolver was used and a timeout
1537        occurred during a DNS request.
1538 
1539     *) Bugfix: in the ngx_http_spdy_module when using with AIO.
1540 
1541     *) Bugfix: a segmentation fault might occur in a worker process if the
1542        "set" directive was used to change the "$http_...", "$sent_http_...",
1543        or "$upstream_http_..." variables.
1544 
1545     *) Bugfix: in memory allocation error handling.
1546        Thanks to Markus Linnala and Feng Gu.
1547 
1548 
1549 Changes with nginx 1.7.4                                         05 Aug 2014
1550 
1551     *) Security: pipelined commands were not discarded after STARTTLS
1552        command in SMTP proxy (CVE-2014-3556); the bug had appeared in 1.5.6.
1553        Thanks to Chris Boulton.
1554 
1555     *) Change: URI escaping now uses uppercase hexadecimal digits.
1556        Thanks to Piotr Sikora.
1557 
1558     *) Feature: now nginx can be build with BoringSSL and LibreSSL.
1559        Thanks to Piotr Sikora.
1560 
1561     *) Bugfix: requests might hang if resolver was used and a DNS server
1562        returned a malformed response; the bug had appeared in 1.5.8.
1563 
1564     *) Bugfix: in the ngx_http_spdy_module.
1565        Thanks to Piotr Sikora.
1566 
1567     *) Bugfix: the $uri variable might contain garbage when returning errors
1568        with code 400.
1569        Thanks to Sergey Bobrov.
1570 
1571     *) Bugfix: in error handling in the "proxy_store" directive and the
1572        ngx_http_dav_module.
1573        Thanks to Feng Gu.
1574 
1575     *) Bugfix: a segmentation fault might occur if logging of errors to
1576        syslog was used; the bug had appeared in 1.7.1.
1577 
1578     *) Bugfix: the $geoip_latitude, $geoip_longitude, $geoip_dma_code, and
1579        $geoip_area_code variables might not work.
1580        Thanks to Yichun Zhang.
1581 
1582     *) Bugfix: in memory allocation error handling.
1583        Thanks to Tatsuhiko Kubo and Piotr Sikora.
1584 
1585 
1586 Changes with nginx 1.7.3                                         08 Jul 2014
1587 
1588     *) Feature: weak entity tags are now preserved on response
1589        modifications, and strong ones are changed to weak.
1590 
1591     *) Feature: cache revalidation now uses If-None-Match header if
1592        possible.
1593 
1594     *) Feature: the "ssl_password_file" directive.
1595 
1596     *) Bugfix: the If-None-Match request header line was ignored if there
1597        was no Last-Modified header in a response returned from cache.
1598 
1599     *) Bugfix: "peer closed connection in SSL handshake" messages were
1600        logged at "info" level instead of "error" while connecting to
1601        backends.
1602 
1603     *) Bugfix: in the ngx_http_dav_module module in nginx/Windows.
1604 
1605     *) Bugfix: SPDY connections might be closed prematurely if caching was
1606        used.
1607 
1608 
1609 Changes with nginx 1.7.2                                         17 Jun 2014
1610 
1611     *) Feature: the "hash" directive inside the "upstream" block.
1612 
1613     *) Feature: defragmentation of free shared memory blocks.
1614        Thanks to Wandenberg Peixoto and Yichun Zhang.
1615 
1616     *) Bugfix: a segmentation fault might occur in a worker process if the
1617        default value of the "access_log" directive was used; the bug had
1618        appeared in 1.7.0.
1619        Thanks to Piotr Sikora.
1620 
1621     *) Bugfix: trailing slash was mistakenly removed from the last parameter
1622        of the "try_files" directive.
1623 
1624     *) Bugfix: nginx could not be built on OS X in some cases.
1625 
1626     *) Bugfix: in the ngx_http_spdy_module.
1627 
1628 
1629 Changes with nginx 1.7.1                                         27 May 2014
1630 
1631     *) Feature: the "$upstream_cookie_..." variables.
1632 
1633     *) Feature: the $ssl_client_fingerprint variable.
1634 
1635     *) Feature: the "error_log" and "access_log" directives now support
1636        logging to syslog.
1637 
1638     *) Feature: the mail proxy now logs client port on connect.
1639 
1640     *) Bugfix: memory leak if the "ssl_stapling" directive was used.
1641        Thanks to Filipe da Silva.
1642 
1643     *) Bugfix: the "alias" directive used inside a location given by a
1644        regular expression worked incorrectly if the "if" or "limit_except"
1645        directives were used.
1646 
1647     *) Bugfix: the "charset" directive did not set a charset to encoded
1648        backend responses.
1649 
1650     *) Bugfix: a "proxy_pass" directive without URI part might use original
1651        request after the $args variable was set.
1652        Thanks to Yichun Zhang.
1653 
1654     *) Bugfix: in the "none" parameter in the "smtp_auth" directive; the bug
1655        had appeared in 1.5.6.
1656        Thanks to Svyatoslav Nikolsky.
1657 
1658     *) Bugfix: if sub_filter and SSI were used together, then responses
1659        might be transferred incorrectly.
1660 
1661     *) Bugfix: nginx could not be built with the --with-file-aio option on
1662        Linux/aarch64.
1663 
1664 
1665 Changes with nginx 1.7.0                                         24 Apr 2014
1666 
1667     *) Feature: backend SSL certificate verification.
1668 
1669     *) Feature: support for SNI while working with SSL backends.
1670 
1671     *) Feature: the $ssl_server_name variable.
1672 
1673     *) Feature: the "if" parameter of the "access_log" directive.
1674 
1675 
1676 Changes with nginx 1.5.13                                        08 Apr 2014
1677 
1678     *) Change: improved hash table handling; the default values of the
1679        "variables_hash_max_size" and "types_hash_bucket_size" were changed
1680        to 1024 and 64 respectively.
1681 
1682     *) Feature: the ngx_http_mp4_module now supports the "end" argument.
1683 
1684     *) Feature: byte ranges support in the ngx_http_mp4_module and while
1685        saving responses to cache.
1686 
1687     *) Bugfix: alerts "ngx_slab_alloc() failed: no memory" no longer logged
1688        when using shared memory in the "ssl_session_cache" directive and in
1689        the ngx_http_limit_req_module.
1690 
1691     *) Bugfix: the "underscores_in_headers" directive did not allow
1692        underscore as a first character of a header.
1693        Thanks to Piotr Sikora.
1694 
1695     *) Bugfix: cache manager might hog CPU on exit in nginx/Windows.
1696 
1697     *) Bugfix: nginx/Windows terminated abnormally if the
1698        "ssl_session_cache" directive was used with the "shared" parameter.
1699 
1700     *) Bugfix: in the ngx_http_spdy_module.
1701 
1702 
1703 Changes with nginx 1.5.12                                        18 Mar 2014
1704 
1705     *) Security: a heap memory buffer overflow might occur in a worker
1706        process while handling a specially crafted request by
1707        ngx_http_spdy_module, potentially resulting in arbitrary code
1708        execution (CVE-2014-0133).
1709        Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr.
1710        Manuel Sadosky, Buenos Aires, Argentina.
1711 
1712     *) Feature: the "proxy_protocol" parameters of the "listen" and
1713        "real_ip_header" directives, the $proxy_protocol_addr variable.
1714 
1715     *) Bugfix: in the "fastcgi_next_upstream" directive.
1716        Thanks to Lucas Molas.
1717 
1718 
1719 Changes with nginx 1.5.11                                        04 Mar 2014
1720 
1721     *) Security: memory corruption might occur in a worker process on 32-bit
1722        platforms while handling a specially crafted request by
1723        ngx_http_spdy_module, potentially resulting in arbitrary code
1724        execution (CVE-2014-0088); the bug had appeared in 1.5.10.
1725        Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr.
1726        Manuel Sadosky, Buenos Aires, Argentina.
1727 
1728     *) Feature: the $ssl_session_reused variable.
1729 
1730     *) Bugfix: the "client_max_body_size" directive might not work when
1731        reading a request body using chunked transfer encoding; the bug had
1732        appeared in 1.3.9.
1733        Thanks to Lucas Molas.
1734 
1735     *) Bugfix: a segmentation fault might occur in a worker process when
1736        proxying WebSocket connections.
1737 
1738     *) Bugfix: a segmentation fault might occur in a worker process if the
1739        ngx_http_spdy_module was used on 32-bit platforms; the bug had
1740        appeared in 1.5.10.
1741 
1742     *) Bugfix: the $upstream_status variable might contain wrong data if the
1743        "proxy_cache_use_stale" or "proxy_cache_revalidate" directives were
1744        used.
1745        Thanks to Piotr Sikora.
1746 
1747     *) Bugfix: a segmentation fault might occur in a worker process if
1748        errors with code 400 were redirected to a named location using the
1749        "error_page" directive.
1750 
1751     *) Bugfix: nginx/Windows could not be built with Visual Studio 2013.
1752 
1753 
1754 Changes with nginx 1.5.10                                        04 Feb 2014
1755 
1756     *) Feature: the ngx_http_spdy_module now uses SPDY 3.1 protocol.
1757        Thanks to Automattic and MaxCDN for sponsoring this work.
1758 
1759     *) Feature: the ngx_http_mp4_module now skips tracks too short for a
1760        seek requested.
1761 
1762     *) Bugfix: a segmentation fault might occur in a worker process if the
1763        $ssl_session_id variable was used in logs; the bug had appeared in
1764        1.5.9.
1765 
1766     *) Bugfix: the $date_local and $date_gmt variables used wrong format
1767        outside of the ngx_http_ssi_filter_module.
1768 
1769     *) Bugfix: client connections might be immediately closed if deferred
1770        accept was used; the bug had appeared in 1.3.15.
1771 
1772     *) Bugfix: alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs
1773        during binary upgrade on Linux; the bug had appeared in 1.5.8.
1774        Thanks to Piotr Sikora.
1775 
1776 
1777 Changes with nginx 1.5.9                                         22 Jan 2014
1778 
1779     *) Change: now nginx expects escaped URIs in "X-Accel-Redirect" headers.
1780 
1781     *) Feature: the "ssl_buffer_size" directive.
1782 
1783     *) Feature: the "limit_rate" directive can now be used to rate limit
1784        responses sent in SPDY connections.
1785 
1786     *) Feature: the "spdy_chunk_size" directive.
1787 
1788     *) Feature: the "ssl_session_tickets" directive.
1789        Thanks to Dirkjan Bussink.
1790 
1791     *) Bugfix: the $ssl_session_id variable contained full session
1792        serialized instead of just a session id.
1793        Thanks to Ivan Ristić.
1794 
1795     *) Bugfix: nginx incorrectly handled escaped "?" character in the
1796        "include" SSI command.
1797 
1798     *) Bugfix: the ngx_http_dav_module did not unescape destination URI of
1799        the COPY and MOVE methods.
1800 
1801     *) Bugfix: resolver did not understand domain names with a trailing dot.
1802        Thanks to Yichun Zhang.
1803 
1804     *) Bugfix: alerts "zero size buf in output" might appear in logs while
1805        proxying; the bug had appeared in 1.3.9.
1806 
1807     *) Bugfix: a segmentation fault might occur in a worker process if the
1808        ngx_http_spdy_module was used.
1809 
1810     *) Bugfix: proxied WebSocket connections might hang right after
1811        handshake if the select, poll, or /dev/poll methods were used.
1812 
1813     *) Bugfix: the "xclient" directive of the mail proxy module incorrectly
1814        handled IPv6 client addresses.
1815 
1816 
1817 Changes with nginx 1.5.8                                         17 Dec 2013
1818 
1819     *) Feature: IPv6 support in resolver.
1820 
1821     *) Feature: the "listen" directive supports the "fastopen" parameter.
1822        Thanks to Mathew Rodley.
1823 
1824     *) Feature: SSL support in the ngx_http_uwsgi_module.
1825        Thanks to Roberto De Ioris.
1826 
1827     *) Feature: vim syntax highlighting scripts were added to contrib.
1828        Thanks to Evan Miller.
1829 
1830     *) Bugfix: a timeout might occur while reading client request body in an
1831        SSL connection using chunked transfer encoding.
1832 
1833     *) Bugfix: the "master_process" directive did not work correctly in
1834        nginx/Windows.
1835 
1836     *) Bugfix: the "setfib" parameter of the "listen" directive might not
1837        work.
1838 
1839     *) Bugfix: in the ngx_http_spdy_module.
1840 
1841 
1842 Changes with nginx 1.5.7                                         19 Nov 2013
1843 
1844     *) Security: a character following an unescaped space in a request line
1845        was handled incorrectly (CVE-2013-4547); the bug had appeared in
1846        0.8.41.
1847        Thanks to Ivan Fratric of the Google Security Team.
1848 
1849     *) Change: a logging level of auth_basic errors about no user/password
1850        provided has been lowered from "error" to "info".
1851 
1852     *) Feature: the "proxy_cache_revalidate", "fastcgi_cache_revalidate",
1853        "scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives.
1854 
1855     *) Feature: the "ssl_session_ticket_key" directive.
1856        Thanks to Piotr Sikora.
1857 
1858     *) Bugfix: the directive "add_header Cache-Control ''" added a
1859        "Cache-Control" response header line with an empty value.
1860 
1861     *) Bugfix: the "satisfy any" directive might return 403 error instead of
1862        401 if auth_request and auth_basic directives were used.
1863        Thanks to Jan Marc Hoffmann.
1864 
1865     *) Bugfix: the "accept_filter" and "deferred" parameters of the "listen"
1866        directive were ignored for listen sockets created during binary
1867        upgrade.
1868        Thanks to Piotr Sikora.
1869 
1870     *) Bugfix: some data received from a backend with unbufferred proxy
1871        might not be sent to a client immediately if "gzip" or "gunzip"
1872        directives were used.
1873        Thanks to Yichun Zhang.
1874 
1875     *) Bugfix: in error handling in ngx_http_gunzip_filter_module.
1876 
1877     *) Bugfix: responses might hang if the ngx_http_spdy_module was used
1878        with the "auth_request" directive.
1879 
1880     *) Bugfix: memory leak in nginx/Windows.
1881 
1882 
1883 Changes with nginx 1.5.6                                         01 Oct 2013
1884 
1885     *) Feature: the "fastcgi_buffering" directive.
1886 
1887     *) Feature: the "proxy_ssl_protocols" and "proxy_ssl_ciphers"
1888        directives.
1889        Thanks to Piotr Sikora.
1890 
1891     *) Feature: optimization of SSL handshakes when using long certificate
1892        chains.
1893 
1894     *) Feature: the mail proxy supports SMTP pipelining.
1895 
1896     *) Bugfix: in the ngx_http_auth_basic_module when using "$apr1$"
1897        password encryption method.
1898        Thanks to Markus Linnala.
1899 
1900     *) Bugfix: in MacOSX, Cygwin, and nginx/Windows incorrect location might
1901        be used to process a request if locations were given using characters
1902        in different cases.
1903 
1904     *) Bugfix: automatic redirect with appended trailing slash for proxied
1905        locations might not work.
1906 
1907     *) Bugfix: in the mail proxy server.
1908 
1909     *) Bugfix: in the ngx_http_spdy_module.
1910 
1911 
1912 Changes with nginx 1.5.5                                         17 Sep 2013
1913 
1914     *) Change: now nginx assumes HTTP/1.0 by default if it is not able to
1915        detect protocol reliably.
1916 
1917     *) Feature: the "disable_symlinks" directive now uses O_PATH on Linux.
1918 
1919     *) Feature: now nginx uses EPOLLRDHUP events to detect premature
1920        connection close by clients if the "epoll" method is used.
1921 
1922     *) Bugfix: in the "valid_referers" directive if the "server_names"
1923        parameter was used.
1924 
1925     *) Bugfix: the $request_time variable did not work in nginx/Windows.
1926 
1927     *) Bugfix: in the "image_filter" directive.
1928        Thanks to Lanshun Zhou.
1929 
1930     *) Bugfix: OpenSSL 1.0.1f compatibility.
1931        Thanks to Piotr Sikora.
1932 
1933 
1934 Changes with nginx 1.5.4                                         27 Aug 2013
1935 
1936     *) Change: the "js" extension MIME type has been changed to
1937        "application/javascript"; default value of the "charset_types"
1938        directive was changed accordingly.
1939 
1940     *) Change: now the "image_filter" directive with the "size" parameter
1941        returns responses with the "application/json" MIME type.
1942 
1943     *) Feature: the ngx_http_auth_request_module.
1944 
1945     *) Bugfix: a segmentation fault might occur on start or during
1946        reconfiguration if the "try_files" directive was used with an empty
1947        parameter.
1948 
1949     *) Bugfix: memory leak if relative paths were specified using variables
1950        in the "root" or "auth_basic_user_file" directives.
1951 
1952     *) Bugfix: the "valid_referers" directive incorrectly executed regular
1953        expressions if a "Referer" header started with "https://".
1954        Thanks to Liangbin Li.
1955 
1956     *) Bugfix: responses might hang if subrequests were used and an SSL
1957        handshake error happened during subrequest processing.
1958        Thanks to Aviram Cohen.
1959 
1960     *) Bugfix: in the ngx_http_autoindex_module.
1961 
1962     *) Bugfix: in the ngx_http_spdy_module.
1963 
1964 
1965 Changes with nginx 1.5.3                                         30 Jul 2013
1966 
1967     *) Change in internal API: now u->length defaults to -1 if working with
1968        backends in unbuffered mode.
1969 
1970     *) Change: now after receiving an incomplete response from a backend
1971        server nginx tries to send an available part of the response to a
1972        client, and then closes client connection.
1973 
1974     *) Bugfix: a segmentation fault might occur in a worker process if the
1975        ngx_http_spdy_module was used with the "client_body_in_file_only"
1976        directive.
1977 
1978     *) Bugfix: the "so_keepalive" parameter of the "listen" directive might
1979        be handled incorrectly on DragonFlyBSD.
1980        Thanks to Sepherosa Ziehau.
1981 
1982     *) Bugfix: in the ngx_http_xslt_filter_module.
1983 
1984     *) Bugfix: in the ngx_http_sub_filter_module.
1985 
1986 
1987 Changes with nginx 1.5.2                                         02 Jul 2013
1988 
1989     *) Feature: now several "error_log" directives can be used.
1990 
1991     *) Bugfix: the $r->header_in() embedded perl method did not return value
1992        of the "Cookie" and "X-Forwarded-For" request header lines; the bug
1993        had appeared in 1.3.14.
1994 
1995     *) Bugfix: in the ngx_http_spdy_module.
1996        Thanks to Jim Radford.
1997 
1998     *) Bugfix: nginx could not be built on Linux with x32 ABI.
1999        Thanks to Serguei Ivantsov.
2000 
2001 
2002 Changes with nginx 1.5.1                                         04 Jun 2013
2003 
2004     *) Feature: the "ssi_last_modified", "sub_filter_last_modified", and
2005        "xslt_last_modified" directives.
2006        Thanks to Alexey Kolpakov.
2007 
2008     *) Feature: the "http_403" parameter of the "proxy_next_upstream",
2009        "fastcgi_next_upstream", "scgi_next_upstream", and
2010        "uwsgi_next_upstream" directives.
2011 
2012     *) Feature: the "allow" and "deny" directives now support unix domain
2013        sockets.
2014 
2015     *) Bugfix: nginx could not be built with the ngx_mail_ssl_module, but
2016        without ngx_http_ssl_module; the bug had appeared in 1.3.14.
2017 
2018     *) Bugfix: in the "proxy_set_body" directive.
2019        Thanks to Lanshun Zhou.
2020 
2021     *) Bugfix: in the "lingering_time" directive.
2022        Thanks to Lanshun Zhou.
2023 
2024     *) Bugfix: the "fail_timeout" parameter of the "server" directive in the
2025        "upstream" context might not work if "max_fails" parameter was used;
2026        the bug had appeared in 1.3.0.
2027 
2028     *) Bugfix: a segmentation fault might occur in a worker process if the
2029        "ssl_stapling" directive was used.
2030        Thanks to Piotr Sikora.
2031 
2032     *) Bugfix: in the mail proxy server.
2033        Thanks to Filipe Da Silva.
2034 
2035     *) Bugfix: nginx/Windows might stop accepting connections if several
2036        worker processes were used.
2037 
2038 
2039 Changes with nginx 1.5.0                                         07 May 2013
2040 
2041     *) Security: a stack-based buffer overflow might occur in a worker
2042        process while handling a specially crafted request, potentially
2043        resulting in arbitrary code execution (CVE-2013-2028); the bug had
2044        appeared in 1.3.9.
2045        Thanks to Greg MacManus, iSIGHT Partners Labs.
2046 
2047 
2048 Changes with nginx 1.4.0                                         24 Apr 2013
2049 
2050     *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
2051        --with-openssl option was used; the bug had appeared in 1.3.16.
2052 
2053     *) Bugfix: in a request body handling in the ngx_http_perl_module; the
2054        bug had appeared in 1.3.9.
2055 
2056 
2057 Changes with nginx 1.3.16                                        16 Apr 2013
2058 
2059     *) Bugfix: a segmentation fault might occur in a worker process if
2060        subrequests were used; the bug had appeared in 1.3.9.
2061 
2062     *) Bugfix: the "tcp_nodelay" directive caused an error if a WebSocket
2063        connection was proxied into a unix domain socket.
2064 
2065     *) Bugfix: the $upstream_response_length variable has an incorrect value
2066        "0" if buffering was not used.
2067        Thanks to Piotr Sikora.
2068 
2069     *) Bugfix: in the eventport and /dev/poll methods.
2070 
2071 
2072 Changes with nginx 1.3.15                                        26 Mar 2013
2073 
2074     *) Change: opening and closing a connection without sending any data in
2075        it is no longer logged to access_log with error code 400.
2076 
2077     *) Feature: the ngx_http_spdy_module.
2078        Thanks to Automattic for sponsoring this work.
2079 
2080     *) Feature: the "limit_req_status" and "limit_conn_status" directives.
2081        Thanks to Nick Marden.
2082 
2083     *) Feature: the "image_filter_interlace" directive.
2084        Thanks to Ian Babrou.
2085 
2086     *) Feature: $connections_waiting variable in the
2087        ngx_http_stub_status_module.
2088 
2089     *) Feature: the mail proxy module now supports IPv6 backends.
2090 
2091     *) Bugfix: request body might be transmitted incorrectly when retrying a
2092        request to the next upstream server; the bug had appeared in 1.3.9.
2093        Thanks to Piotr Sikora.
2094 
2095     *) Bugfix: in the "client_body_in_file_only" directive; the bug had
2096        appeared in 1.3.9.
2097 
2098     *) Bugfix: responses might hang if subrequests were used and a DNS error
2099        happened during subrequest processing.
2100        Thanks to Lanshun Zhou.
2101 
2102     *) Bugfix: in backend usage accounting.
2103 
2104 
2105 Changes with nginx 1.3.14                                        05 Mar 2013
2106 
2107     *) Feature: $connections_active, $connections_reading, and
2108        $connections_writing variables in the ngx_http_stub_status_module.
2109 
2110     *) Feature: support of WebSocket connections in the
2111        ngx_http_uwsgi_module and ngx_http_scgi_module.
2112 
2113     *) Bugfix: in virtual servers handling with SNI.
2114 
2115     *) Bugfix: new sessions were not always stored if the "ssl_session_cache
2116        shared" directive was used and there was no free space in shared
2117        memory.
2118        Thanks to Piotr Sikora.
2119 
2120     *) Bugfix: multiple X-Forwarded-For headers were handled incorrectly.
2121        Thanks to Neal Poole for sponsoring this work.
2122 
2123     *) Bugfix: in the ngx_http_mp4_module.
2124        Thanks to Gernot Vormayr.
2125 
2126 
2127 Changes with nginx 1.3.13                                        19 Feb 2013
2128 
2129     *) Change: a compiler with name "cc" is now used by default.
2130 
2131     *) Feature: support for proxying of WebSocket connections.
2132        Thanks to Apcera and CloudBees for sponsoring this work.
2133 
2134     *) Feature: the "auth_basic_user_file" directive supports "{SHA}"
2135        password encryption method.
2136        Thanks to Louis Opter.
2137 
2138 
2139 Changes with nginx 1.3.12                                        05 Feb 2013
2140 
2141     *) Feature: variables support in the "proxy_bind", "fastcgi_bind",
2142        "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
2143 
2144     *) Feature: the $pipe, $request_length, $time_iso8601, and $time_local
2145        variables can now be used not only in the "log_format" directive.
2146        Thanks to Kiril Kalchev.
2147 
2148     *) Feature: IPv6 support in the ngx_http_geoip_module.
2149        Thanks to Gregor Kališnik.
2150 
2151     *) Bugfix: in the "proxy_method" directive.
2152 
2153     *) Bugfix: a segmentation fault might occur in a worker process if
2154        resolver was used with the poll method.
2155 
2156     *) Bugfix: nginx might hog CPU during SSL handshake with a backend if
2157        the select, poll, or /dev/poll methods were used.
2158 
2159     *) Bugfix: the "[crit] SSL_write() failed (SSL:)" error.
2160 
2161     *) Bugfix: in the "client_body_in_file_only" directive; the bug had
2162        appeared in 1.3.9.
2163 
2164     *) Bugfix: in the "fastcgi_keep_conn" directive.
2165 
2166 
2167 Changes with nginx 1.3.11                                        10 Jan 2013
2168 
2169     *) Bugfix: a segmentation fault might occur if logging was used; the bug
2170        had appeared in 1.3.10.
2171 
2172     *) Bugfix: the "proxy_pass" directive did not work with IP addresses
2173        without port specified; the bug had appeared in 1.3.10.
2174 
2175     *) Bugfix: a segmentation fault occurred on start or during
2176        reconfiguration if the "keepalive" directive was specified more than
2177        once in a single upstream block.
2178 
2179     *) Bugfix: parameter "default" of the "geo" directive did not set
2180        default value for IPv6 addresses.
2181 
2182 
2183 Changes with nginx 1.3.10                                        25 Dec 2012
2184 
2185     *) Change: domain names specified in configuration file are now resolved
2186        to IPv6 addresses as well as IPv4 ones.
2187 
2188     *) Change: now if the "include" directive with mask is used on Unix
2189        systems, included files are sorted in alphabetical order.
2190 
2191     *) Change: the "add_header" directive adds headers to 201 responses.
2192 
2193     *) Feature: the "geo" directive now supports IPv6 addresses in CIDR
2194        notation.
2195 
2196     *) Feature: the "flush" and "gzip" parameters of the "access_log"
2197        directive.
2198 
2199     *) Feature: variables support in the "auth_basic" directive.
2200 
2201     *) Bugfix: nginx could not be built with the ngx_http_perl_module in
2202        some cases.
2203 
2204     *) Bugfix: a segmentation fault might occur in a worker process if the
2205        ngx_http_xslt_module was used.
2206 
2207     *) Bugfix: nginx could not be built on MacOSX in some cases.
2208        Thanks to Piotr Sikora.
2209 
2210     *) Bugfix: the "limit_rate" directive with high rates might result in
2211        truncated responses on 32-bit platforms.
2212        Thanks to Alexey Antropov.
2213 
2214     *) Bugfix: a segmentation fault might occur in a worker process if the
2215        "if" directive was used.
2216        Thanks to Piotr Sikora.
2217 
2218     *) Bugfix: a "100 Continue" response was issued with "413 Request Entity
2219        Too Large" responses.
2220 
2221     *) Bugfix: the "image_filter", "image_filter_jpeg_quality" and
2222        "image_filter_sharpen" directives might be inherited incorrectly.
2223        Thanks to Ian Babrou.
2224 
2225     *) Bugfix: "crypt_r() failed" errors might appear if the "auth_basic"
2226        directive was used on Linux.
2227 
2228     *) Bugfix: in backup servers handling.
2229        Thanks to Thomas Chen.
2230 
2231     *) Bugfix: proxied HEAD requests might return incorrect response if the
2232        "gzip" directive was used.
2233 
2234 
2235 Changes with nginx 1.3.9                                         27 Nov 2012
2236 
2237     *) Feature: support for chunked transfer encoding while reading client
2238        request body.
2239 
2240     *) Feature: the $request_time and $msec variables can now be used not
2241        only in the "log_format" directive.
2242 
2243     *) Bugfix: cache manager and cache loader processes might not be able to
2244        start if more than 512 listen sockets were used.
2245 
2246     *) Bugfix: in the ngx_http_dav_module.
2247 
2248 
2249 Changes with nginx 1.3.8                                         30 Oct 2012
2250 
2251     *) Feature: the "optional_no_ca" parameter of the "ssl_verify_client"
2252        directive.
2253        Thanks to Mike Kazantsev and Eric O'Connor.
2254 
2255     *) Feature: the $bytes_sent, $connection, and $connection_requests
2256        variables can now be used not only in the "log_format" directive.
2257        Thanks to Benjamin Grössing.
2258 
2259     *) Feature: the "auto" parameter of the "worker_processes" directive.
2260 
2261     *) Bugfix: "cache file ... has md5 collision" alert.
2262 
2263     *) Bugfix: in the ngx_http_gunzip_filter_module.
2264 
2265     *) Bugfix: in the "ssl_stapling" directive.
2266 
2267 
2268 Changes with nginx 1.3.7                                         02 Oct 2012
2269 
2270     *) Feature: OCSP stapling support.
2271        Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work.
2272 
2273     *) Feature: the "ssl_trusted_certificate" directive.
2274 
2275     *) Feature: resolver now randomly rotates addresses returned from cache.
2276        Thanks to Anton Jouline.
2277 
2278     *) Bugfix: OpenSSL 0.9.7 compatibility.
2279 
2280 
2281 Changes with nginx 1.3.6                                         12 Sep 2012
2282 
2283     *) Feature: the ngx_http_gunzip_filter_module.
2284 
2285     *) Feature: the "memcached_gzip_flag" directive.
2286 
2287     *) Feature: the "always" parameter of the "gzip_static" directive.
2288 
2289     *) Bugfix: in the "limit_req" directive; the bug had appeared in 1.1.14.
2290        Thanks to Charles Chen.
2291 
2292     *) Bugfix: nginx could not be built by gcc 4.7 with -O2 optimization if
2293        the --with-ipv6 option was used.
2294 
2295 
2296 Changes with nginx 1.3.5                                         21 Aug 2012
2297 
2298     *) Change: the ngx_http_mp4_module module no longer skips tracks in
2299        formats other than H.264 and AAC.
2300 
2301     *) Bugfix: a segmentation fault might occur in a worker process if the
2302        "map" directive was used with variables as values.
2303 
2304     *) Bugfix: a segmentation fault might occur in a worker process if the
2305        "geo" directive was used with the "ranges" parameter but without the
2306        "default" parameter; the bug had appeared in 0.8.43.
2307        Thanks to Zhen Chen and Weibin Yao.
2308 
2309     *) Bugfix: in the -p command-line parameter handling.
2310 
2311     *) Bugfix: in the mail proxy server.
2312 
2313     *) Bugfix: of minor potential bugs.
2314        Thanks to Coverity.
2315 
2316     *) Bugfix: nginx/Windows could not be built with Visual Studio 2005
2317        Express.
2318        Thanks to HAYASHI Kentaro.
2319 
2320 
2321 Changes with nginx 1.3.4                                         31 Jul 2012
2322 
2323     *) Change: the "ipv6only" parameter is now turned on by default for
2324        listening IPv6 sockets.
2325 
2326     *) Feature: the Clang compiler support.
2327 
2328     *) Bugfix: extra listening sockets might be created.
2329        Thanks to Roman Odaisky.
2330 
2331     *) Bugfix: nginx/Windows might hog CPU if a worker process failed to
2332        start.
2333        Thanks to Ricardo Villalobos Guevara.
2334 
2335     *) Bugfix: the "proxy_pass_header", "fastcgi_pass_header",
2336        "scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header",
2337        "fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header"
2338        directives might be inherited incorrectly.
2339 
2340 
2341 Changes with nginx 1.3.3                                         10 Jul 2012
2342 
2343     *) Feature: entity tags support and the "etag" directive.
2344 
2345     *) Bugfix: trailing dot in a source value was not ignored if the "map"
2346        directive was used with the "hostnames" parameter.
2347 
2348     *) Bugfix: incorrect location might be used to process a request if a
2349        URI was changed via a "rewrite" directive before an internal redirect
2350        to a named location.
2351 
2352 
2353 Changes with nginx 1.3.2                                         26 Jun 2012
2354 
2355     *) Change: the "single" parameter of the "keepalive" directive is now
2356        ignored.
2357 
2358     *) Change: SSL compression is now disabled when using all versions of
2359        OpenSSL, including ones prior to 1.0.0.
2360 
2361     *) Feature: it is now possible to use the "ip_hash" directive to balance
2362        IPv6 clients.
2363 
2364     *) Feature: the $status variable can now be used not only in the
2365        "log_format" directive.
2366 
2367     *) Bugfix: a segmentation fault might occur in a worker process on
2368        shutdown if the "resolver" directive was used.
2369 
2370     *) Bugfix: a segmentation fault might occur in a worker process if the
2371        ngx_http_mp4_module was used.
2372 
2373     *) Bugfix: in the ngx_http_mp4_module.
2374 
2375     *) Bugfix: a segmentation fault might occur in a worker process if
2376        conflicting wildcard server names were used.
2377 
2378     *) Bugfix: nginx might be terminated abnormally on a SIGBUS signal on
2379        ARM platform.
2380 
2381     *) Bugfix: an alert "sendmsg() failed (9: Bad file number)" on HP-UX
2382        while reconfiguration.
2383 
2384 
2385 Changes with nginx 1.3.1                                         05 Jun 2012
2386 
2387     *) Security: now nginx/Windows ignores trailing dot in URI path
2388        component, and does not allow URIs with ":$" in it.
2389        Thanks to Vladimir Kochetkov, Positive Research Center.
2390 
2391     *) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass"
2392        directives, and the "server" directive inside the "upstream" block,
2393        now support IPv6 addresses.
2394 
2395     *) Feature: the "resolver" directive now supports IPv6 addresses and an
2396        optional port specification.
2397 
2398     *) Feature: the "least_conn" directive inside the "upstream" block.
2399 
2400     *) Feature: it is now possible to specify a weight for servers while
2401        using the "ip_hash" directive.
2402 
2403     *) Bugfix: a segmentation fault might occur in a worker process if the
2404        "image_filter" directive was used; the bug had appeared in 1.3.0.
2405 
2406     *) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug
2407        had appeared in 1.1.12.
2408 
2409     *) Bugfix: access to variables from SSI and embedded perl module might
2410        not work after reconfiguration.
2411        Thanks to Yichun Zhang.
2412 
2413     *) Bugfix: in the ngx_http_xslt_filter_module.
2414        Thanks to Kuramoto Eiji.
2415 
2416     *) Bugfix: memory leak if $geoip_org variable was used.
2417        Thanks to Denis F. Latypoff.
2418 
2419     *) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path"
2420        directives.
2421 
2422 
2423 Changes with nginx 1.3.0                                         15 May 2012
2424 
2425     *) Feature: the "debug_connection" directive now supports IPv6 addresses
2426        and the "unix:" parameter.
2427 
2428     *) Feature: the "set_real_ip_from" directive and the "proxy" parameter
2429        of the "geo" directive now support IPv6 addresses.
2430 
2431     *) Feature: the "real_ip_recursive", "geoip_proxy", and
2432        "geoip_proxy_recursive" directives.
2433 
2434     *) Feature: the "proxy_recursive" parameter of the "geo" directive.
2435 
2436     *) Bugfix: a segmentation fault might occur in a worker process if the
2437        "resolver" directive was used.
2438 
2439     *) Bugfix: a segmentation fault might occur in a worker process if the
2440        "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and
2441        backend returned incorrect response.
2442 
2443     *) Bugfix: a segmentation fault might occur in a worker process if the
2444        "rewrite" directive was used and new request arguments in a
2445        replacement used variables.
2446 
2447     *) Bugfix: nginx might hog CPU if the open file resource limit was
2448        reached.
2449 
2450     *) Bugfix: nginx might loop infinitely over backends if the
2451        "proxy_next_upstream" directive with the "http_404" parameter was
2452        used and there were backup servers specified in an upstream block.
2453 
2454     *) Bugfix: adding the "down" parameter of the "server" directive might
2455        cause unneeded client redistribution among backend servers if the
2456        "ip_hash" directive was used.
2457 
2458     *) Bugfix: socket leak.
2459        Thanks to Yichun Zhang.
2460 
2461     *) Bugfix: in the ngx_http_fastcgi_module.
2462 
2463 
2464 Changes with nginx 1.2.0                                         23 Apr 2012
2465 
2466     *) Bugfix: a segmentation fault might occur in a worker process if the
2467        "try_files" directive was used; the bug had appeared in 1.1.19.
2468 
2469     *) Bugfix: response might be truncated if there were more than IOV_MAX
2470        buffers used.
2471 
2472     *) Bugfix: in the "crop" parameter of the "image_filter" directive.
2473        Thanks to Maxim Bublis.
2474 
2475 
2476 Changes with nginx 1.1.19                                        12 Apr 2012
2477 
2478     *) Security: specially crafted mp4 file might allow to overwrite memory
2479        locations in a worker process if the ngx_http_mp4_module was used,
2480        potentially resulting in arbitrary code execution (CVE-2012-2089).
2481        Thanks to Matthew Daley.
2482 
2483     *) Bugfix: nginx/Windows might be terminated abnormally.
2484        Thanks to Vincent Lee.
2485 
2486     *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
2487        "backup".
2488 
2489     *) Bugfix: the "allow" and "deny" directives might be inherited
2490        incorrectly if they were used with IPv6 addresses.
2491 
2492     *) Bugfix: the "modern_browser" and "ancient_browser" directives might
2493        be inherited incorrectly.
2494 
2495     *) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC.
2496 
2497     *) Bugfix: in the ngx_http_mp4_module.
2498 
2499 
2500 Changes with nginx 1.1.18                                        28 Mar 2012
2501 
2502     *) Change: keepalive connections are no longer disabled for Safari by
2503        default.
2504 
2505     *) Feature: the $connection_requests variable.
2506 
2507     *) Feature: $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and
2508        $tcpinfo_rcv_space variables.
2509 
2510     *) Feature: the "worker_cpu_affinity" directive now works on FreeBSD.
2511 
2512     *) Feature: the "xslt_param" and "xslt_string_param" directives.
2513        Thanks to Samuel Behan.
2514 
2515     *) Bugfix: in configure tests.
2516        Thanks to Piotr Sikora.
2517 
2518     *) Bugfix: in the ngx_http_xslt_filter_module.
2519 
2520     *) Bugfix: nginx could not be built on Debian GNU/Hurd.
2521 
2522 
2523 Changes with nginx 1.1.17                                        15 Mar 2012
2524 
2525     *) Security: content of previously freed memory might be sent to a
2526        client if backend returned specially crafted response.
2527        Thanks to Matthew Daley.
2528 
2529     *) Bugfix: in the embedded perl module if used from SSI.
2530        Thanks to Matthew Daley.
2531 
2532     *) Bugfix: in the ngx_http_uwsgi_module.
2533 
2534 
2535 Changes with nginx 1.1.16                                        29 Feb 2012
2536 
2537     *) Change: the simultaneous subrequest limit has been raised to 200.
2538 
2539     *) Feature: the "from" parameter of the "disable_symlinks" directive.
2540 
2541     *) Feature: the "return" and "error_page" directives can now be used to
2542        return 307 redirections.
2543 
2544     *) Bugfix: a segmentation fault might occur in a worker process if the
2545        "resolver" directive was used and there was no "error_log" directive
2546        specified at global level.
2547        Thanks to Roman Arutyunyan.
2548 
2549     *) Bugfix: a segmentation fault might occur in a worker process if the
2550        "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were
2551        used.
2552 
2553     *) Bugfix: memory leaks.
2554        Thanks to Lanshun Zhou.
2555 
2556     *) Bugfix: in the "disable_symlinks" directive.
2557 
2558     *) Bugfix: on ZFS filesystem disk cache size might be calculated
2559        incorrectly; the bug had appeared in 1.0.1.
2560 
2561     *) Bugfix: nginx could not be built by the icc 12.1 compiler.
2562 
2563     *) Bugfix: nginx could not be built by gcc on Solaris; the bug had
2564        appeared in 1.1.15.
2565 
2566 
2567 Changes with nginx 1.1.15                                        15 Feb 2012
2568 
2569     *) Feature: the "disable_symlinks" directive.
2570 
2571     *) Feature: the "proxy_cookie_domain" and "proxy_cookie_path"
2572        directives.
2573 
2574     *) Bugfix: nginx might log incorrect error "upstream prematurely closed
2575        connection" instead of correct "upstream sent too big header" one.
2576        Thanks to Feibo Li.
2577 
2578     *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
2579        --with-openssl option was used.
2580 
2581     *) Bugfix: the number of internal redirects to named locations was not
2582        limited.
2583 
2584     *) Bugfix: calling $r->flush() multiple times might cause errors in the
2585        ngx_http_gzip_filter_module.
2586 
2587     *) Bugfix: temporary files might be not removed if the "proxy_store"
2588        directive was used with SSI includes.
2589 
2590     *) Bugfix: in some cases non-cacheable variables (such as the $args
2591        variable) returned old empty cached value.
2592 
2593     *) Bugfix: a segmentation fault might occur in a worker process if too
2594        many SSI subrequests were issued simultaneously; the bug had appeared
2595        in 0.7.25.
2596 
2597 
2598 Changes with nginx 1.1.14                                        30 Jan 2012
2599 
2600     *) Feature: multiple "limit_req" limits may be used simultaneously.
2601 
2602     *) Bugfix: in error handling while connecting to a backend.
2603        Thanks to Piotr Sikora.
2604 
2605     *) Bugfix: in AIO error handling on FreeBSD.
2606 
2607     *) Bugfix: in the OpenSSL library initialization.
2608 
2609     *) Bugfix: the "proxy_redirect" directives might be inherited
2610        incorrectly.
2611 
2612     *) Bugfix: memory leak during reconfiguration if the "pcre_jit"
2613        directive was used.
2614 
2615 
2616 Changes with nginx 1.1.13                                        16 Jan 2012
2617 
2618     *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the
2619        "ssl_protocols" directive.
2620 
2621     *) Bugfix: the "limit_req" directive parameters were not inherited
2622        correctly; the bug had appeared in 1.1.12.
2623 
2624     *) Bugfix: the "proxy_redirect" directive incorrectly processed
2625        "Refresh" header if regular expression were used.
2626 
2627     *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter
2628        did not return answer from cache if there were no live upstreams.
2629 
2630     *) Bugfix: the "worker_cpu_affinity" directive might not work.
2631 
2632     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
2633        1.1.12.
2634 
2635     *) Bugfix: in the ngx_http_mp4_module.
2636 
2637 
2638 Changes with nginx 1.1.12                                        26 Dec 2011
2639 
2640     *) Change: a "proxy_pass" directive without URI part now uses changed
2641        URI after redirection with the "error_page" directive.
2642        Thanks to Lanshun Zhou.
2643 
2644     *) Feature: the "proxy/fastcgi/scgi/uwsgi_cache_lock",
2645        "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.
2646 
2647     *) Feature: the "pcre_jit" directive.
2648 
2649     *) Feature: the "if" SSI command supports captures in regular
2650        expressions.
2651 
2652     *) Bugfix: the "if" SSI command did not work inside the "block" command.
2653 
2654     *) Bugfix: the "limit_conn_log_level" and "limit_req_log_level"
2655        directives might not work.
2656 
2657     *) Bugfix: the "limit_rate" directive did not allow to use full
2658        throughput, even if limit value was very high.
2659 
2660     *) Bugfix: the "sendfile_max_chunk" directive did not work, if the
2661        "limit_rate" directive was used.
2662 
2663     *) Bugfix: a "proxy_pass" directive without URI part always used
2664        original request URI if variables were used.
2665 
2666     *) Bugfix: a "proxy_pass" directive without URI part might use original
2667        request after redirection with the "try_files" directive.
2668        Thanks to Lanshun Zhou.
2669 
2670     *) Bugfix: in the ngx_http_scgi_module.
2671 
2672     *) Bugfix: in the ngx_http_mp4_module.
2673 
2674     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
2675        1.1.9.
2676 
2677 
2678 Changes with nginx 1.1.11                                        12 Dec 2011
2679 
2680     *) Feature: the "so_keepalive" parameter of the "listen" directive.
2681        Thanks to Vsevolod Stakhov.
2682 
2683     *) Feature: the "if_not_empty" parameter of the
2684        "fastcgi/scgi/uwsgi_param" directives.
2685 
2686     *) Feature: the $https variable.
2687 
2688     *) Feature: the "proxy_redirect" directive supports variables in the
2689        first parameter.
2690 
2691     *) Feature: the "proxy_redirect" directive supports regular expressions.
2692 
2693     *) Bugfix: the $sent_http_cache_control variable might contain a wrong
2694        value if the "expires" directive was used.
2695        Thanks to Yichun Zhang.
2696 
2697     *) Bugfix: the "read_ahead" directive might not work combined with
2698        "try_files" and "open_file_cache".
2699 
2700     *) Bugfix: a segmentation fault might occur in a worker process if small
2701        time was used in the "inactive" parameter of the "proxy_cache_path"
2702        directive.
2703 
2704     *) Bugfix: responses from cache might hang.
2705 
2706 
2707 Changes with nginx 1.1.10                                        30 Nov 2011
2708 
2709     *) Bugfix: a segmentation fault occurred in a worker process if AIO was
2710        used on Linux; the bug had appeared in 1.1.9.
2711 
2712 
2713 Changes with nginx 1.1.9                                         28 Nov 2011
2714 
2715     *) Change: now double quotes are encoded in an "echo" SSI-command
2716        output.
2717        Thanks to Zaur Abasmirzoev.
2718 
2719     *) Feature: the "valid" parameter of the "resolver" directive. By
2720        default TTL returned by a DNS server is used.
2721        Thanks to Kirill A. Korinskiy.
2722 
2723     *) Bugfix: nginx might hang after a worker process abnormal termination.
2724 
2725     *) Bugfix: a segmentation fault might occur in a worker process if SNI
2726        was used; the bug had appeared in 1.1.2.
2727 
2728     *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in
2729        1.1.8.
2730        Thanks to Alexander Usov.
2731 
2732     *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the
2733        bug had appeared in 1.1.1.
2734 
2735     *) Bugfix: backend responses with length not matching "Content-Length"
2736        header line are no longer cached.
2737 
2738     *) Bugfix: in the "scgi_param" directive, if complex parameters were
2739        used.
2740 
2741     *) Bugfix: in the "epoll" event method.
2742        Thanks to Yichun Zhang.
2743 
2744     *) Bugfix: in the ngx_http_flv_module.
2745        Thanks to Piotr Sikora.
2746 
2747     *) Bugfix: in the ngx_http_mp4_module.
2748 
2749     *) Bugfix: IPv6 addresses are now handled properly in a request line and
2750        in a "Host" request header line.
2751 
2752     *) Bugfix: "add_header" and "expires" directives did not work if a
2753        request was proxied and response status code was 206.
2754 
2755     *) Bugfix: nginx could not be built on FreeBSD 10.
2756 
2757     *) Bugfix: nginx could not be built on AIX.
2758 
2759 
2760 Changes with nginx 1.1.8                                         14 Nov 2011
2761 
2762     *) Change: the ngx_http_limit_zone_module was renamed to the
2763        ngx_http_limit_conn_module.
2764 
2765     *) Change: the "limit_zone" directive was superseded by the
2766        "limit_conn_zone" directive with a new syntax.
2767 
2768     *) Feature: support for multiple "limit_conn" limits on the same level.
2769 
2770     *) Feature: the "image_filter_sharpen" directive.
2771 
2772     *) Bugfix: a segmentation fault might occur in a worker process if
2773        resolver got a big DNS response.
2774        Thanks to Ben Hawkes.
2775 
2776     *) Bugfix: in cache key calculation if internal MD5 implementation was
2777        used; the bug had appeared in 1.0.4.
2778 
2779     *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
2780        header lines might be passed to backend while caching; or not passed
2781        without caching if caching was enabled in another part of the
2782        configuration.
2783 
2784     *) Bugfix: the module ngx_http_mp4_module sent incorrect
2785        "Content-Length" response header line if the "start" argument was
2786        used.
2787        Thanks to Piotr Sikora.
2788 
2789 
2790 Changes with nginx 1.1.7                                         31 Oct 2011
2791 
2792     *) Feature: support of several DNS servers in the "resolver" directive.
2793        Thanks to Kirill A. Korinskiy.
2794 
2795     *) Bugfix: a segmentation fault occurred on start or during
2796        reconfiguration if the "ssl" directive was used at http level and
2797        there was no "ssl_certificate" defined.
2798 
2799     *) Bugfix: reduced memory consumption while proxying big files if they
2800        were buffered to disk.
2801 
2802     *) Bugfix: a segmentation fault might occur in a worker process if
2803        "proxy_http_version 1.1" directive was used.
2804 
2805     *) Bugfix: in the "expires @time" directive.
2806 
2807 
2808 Changes with nginx 1.1.6                                         17 Oct 2011
2809 
2810     *) Change in internal API: now module context data are cleared while
2811        internal redirect to named location.
2812        Requested by Yichun Zhang.
2813 
2814     *) Change: if a server in an upstream failed, only one request will be
2815        sent to it after fail_timeout; the server will be considered alive if
2816        it will successfully respond to the request.
2817 
2818     *) Change: now the 0x7F-0xFF characters are escaped as \xXX in an
2819        access_log.
2820 
2821     *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support
2822        the following additional values: X-Accel-Limit-Rate,
2823        X-Accel-Buffering, X-Accel-Charset.
2824 
2825     *) Feature: decrease of memory consumption if SSL is used.
2826 
2827     *) Bugfix: some UTF-8 characters were processed incorrectly.
2828        Thanks to Alexey Kuts.
2829 
2830     *) Bugfix: the ngx_http_rewrite_module directives specified at "server"
2831        level were executed twice if no matching locations were defined.
2832 
2833     *) Bugfix: a socket leak might occurred if "aio sendfile" was used.
2834 
2835     *) Bugfix: connections with fast clients might be closed after
2836        send_timeout if file AIO was used.
2837 
2838     *) Bugfix: in the ngx_http_autoindex_module.
2839 
2840     *) Bugfix: the module ngx_http_mp4_module did not support seeking on
2841        32-bit platforms.
2842 
2843 
2844 Changes with nginx 1.1.5                                         05 Oct 2011
2845 
2846     *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
2847        Thanks to Peter Smit.
2848 
2849     *) Bugfix: non-cacheable responses might be cached if
2850        "proxy_cache_bypass" directive was used.
2851        Thanks to John Ferlito.
2852 
2853     *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module.
2854 
2855     *) Bugfix: cached responses with an empty body were returned
2856        incorrectly; the bug had appeared in 0.8.31.
2857 
2858     *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
2859        bug had appeared in 0.8.32.
2860 
2861     *) Bugfix: in the "return" directive.
2862 
2863     *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation
2864        fault; the bug had appeared in 1.1.1.
2865 
2866 
2867 Changes with nginx 1.1.4                                         20 Sep 2011
2868 
2869     *) Feature: the ngx_http_upstream_keepalive module.
2870 
2871     *) Feature: the "proxy_http_version" directive.
2872 
2873     *) Feature: the "fastcgi_keep_conn" directive.
2874 
2875     *) Feature: the "worker_aio_requests" directive.
2876 
2877     *) Bugfix: if nginx was built --with-file-aio it could not be run on
2878        Linux kernel which did not support AIO.
2879 
2880     *) Bugfix: in Linux AIO error processing.
2881        Thanks to Hagai Avrahami.
2882 
2883     *) Bugfix: reduced memory consumption for long-lived requests.
2884 
2885     *) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4
2886        "co64" atom.
2887 
2888 
2889 Changes with nginx 1.1.3                                         14 Sep 2011
2890 
2891     *) Feature: the module ngx_http_mp4_module.
2892 
2893     *) Bugfix: in Linux AIO combined with open_file_cache.
2894 
2895     *) Bugfix: open_file_cache did not update file info on retest if file
2896        was not atomically changed.
2897 
2898     *) Bugfix: nginx could not be built on MacOSX 10.7.
2899 
2900 
2901 Changes with nginx 1.1.2                                         05 Sep 2011
2902 
2903     *) Change: now if total size of all ranges is greater than source
2904        response size, then nginx disables ranges and returns just the source
2905        response.
2906 
2907     *) Feature: the "max_ranges" directive.
2908 
2909     *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and
2910        "ssl_prefer_server_ciphers" directives might work incorrectly if SNI
2911        was used.
2912 
2913     *) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
2914        directives.
2915 
2916 
2917 Changes with nginx 1.1.1                                         22 Aug 2011
2918 
2919     *) Change: now cache loader processes either as many files as specified
2920        by "loader_files" parameter or works no longer than time specified by
2921        the "loader_threshold" parameter during each iteration.
2922 
2923     *) Change: now SIGWINCH signal works only in daemon mode.
2924 
2925     *) Feature: now shared zones and caches use POSIX semaphores on Solaris.
2926        Thanks to Den Ivanov.
2927 
2928     *) Feature: accept filters are now supported on NetBSD.
2929 
2930     *) Bugfix: nginx could not be built on Linux 3.0.
2931 
2932     *) Bugfix: nginx did not use gzipping in some cases; the bug had
2933        appeared in 1.1.0.
2934 
2935     *) Bugfix: request body might be processed incorrectly if client used
2936        pipelining.
2937 
2938     *) Bugfix: in the "request_body_in_single_buf" directive.
2939 
2940     *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
2941        if SSL connection to backend was used.
2942 
2943     *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
2944        "down".
2945 
2946     *) Bugfix: a segmentation fault might occur during reconfiguration if
2947        ssl_session_cache was defined but not used in previous configuration.
2948 
2949     *) Bugfix: a segmentation fault might occur in a worker process if many
2950        backup servers were used in an upstream.
2951 
2952     *) Bugfix: a segmentation fault might occur in a worker process if
2953        "fastcgi/scgi/uwsgi_param" directives were used with values starting
2954        with "HTTP_"; the bug had appeared in 0.8.40.
2955 
2956 
2957 Changes with nginx 1.1.0                                         01 Aug 2011
2958 
2959     *) Feature: cache loader run time decrease.
2960 
2961     *) Feature: "loader_files", "loader_sleep", and "loader_threshold"
2962        options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
2963 
2964     *) Feature: loading time decrease of configuration with large number of
2965        HTTPS sites.
2966 
2967     *) Feature: now nginx supports ECDHE key exchange ciphers.
2968        Thanks to Adrian Kotelba.
2969 
2970     *) Feature: the "lingering_close" directive.
2971        Thanks to Maxim Dounin.
2972 
2973     *) Bugfix: in closing connection for pipelined requests.
2974        Thanks to Maxim Dounin.
2975 
2976     *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in
2977        "Accept-Encoding" request header line.
2978 
2979     *) Bugfix: in timeout in unbuffered proxied mode.
2980        Thanks to Maxim Dounin.
2981 
2982     *) Bugfix: memory leaks when a "proxy_pass" directive contains variables
2983        and proxies to an HTTPS backend.
2984        Thanks to Maxim Dounin.
2985 
2986     *) Bugfix: in parameter validation of a "proxy_pass" directive with
2987        variables.
2988        Thanks to Lanshun Zhou.
2989 
2990     *) Bugfix: SSL did not work on QNX.
2991        Thanks to Maxim Dounin.
2992 
2993     *) Bugfix: SSL modules could not be built by gcc 4.6 without
2994        --with-debug option.
2995 
2996 
2997 Changes with nginx 1.0.5                                         19 Jul 2011
2998 
2999     *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5".
3000        Thanks to Rob Stradling.
3001 
3002     *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size"
3003        directives.
3004        Thanks to Witold Filipczyk.
3005 
3006     *) Feature: $uid_reset variable.
3007 
3008     *) Bugfix: a segmentation fault might occur in a worker process, if a
3009        caching was used.
3010        Thanks to Lanshun Zhou.
3011 
3012     *) Bugfix: worker processes may got caught in an endless loop during
3013        reconfiguration, if a caching was used; the bug had appeared in
3014        0.8.48.
3015        Thanks to Maxim Dounin.
3016 
3017     *) Bugfix: "stalled cache updating" alert.
3018        Thanks to Maxim Dounin.
3019 
3020 
3021 Changes with nginx 1.0.4                                         01 Jun 2011
3022 
3023     *) Change: now regular expressions case sensitivity in the "map"
3024        directive is given by prefixes "~" or "~*".
3025 
3026     *) Feature: now shared zones and caches use POSIX semaphores on Linux.
3027        Thanks to Denis F. Latypoff.
3028 
3029     *) Bugfix: "stalled cache updating" alert.
3030 
3031     *) Bugfix: nginx could not be built --without-http_auth_basic_module;
3032        the bug had appeared in 1.0.3.
3033 
3034 
3035 Changes with nginx 1.0.3                                         25 May 2011
3036 
3037     *) Feature: the "auth_basic_user_file" directive supports "$apr1",
3038        "{PLAIN}", and "{SSHA}" password encryption methods.
3039        Thanks to Maxim Dounin.
3040 
3041     *) Feature: the "geoip_org" directive and $geoip_org variable.
3042        Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
3043 
3044     *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4
3045        addresses mapped to IPv6 addresses.
3046 
3047     *) Bugfix: a segmentation fault occurred in a worker process during
3048        testing IPv4 address mapped to IPv6 address, if access or deny rules
3049        were defined only for IPv6; the bug had appeared in 0.8.22.
3050 
3051     *) Bugfix: a cached response may be broken if "proxy/fastcgi/scgi/
3052        uwsgi_cache_bypass" and "proxy/fastcgi/scgi/uwsgi_no_cache" directive
3053        values were different; the bug had appeared in 0.8.46.
3054 
3055 
3056 Changes with nginx 1.0.2                                         10 May 2011
3057 
3058     *) Feature: now shared zones and caches use POSIX semaphores.
3059 
3060     *) Bugfix: in the "rotate" parameter of the "image_filter" directive.
3061        Thanks to Adam Bocim.
3062 
3063     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
3064        1.0.1.
3065 
3066 
3067 Changes with nginx 1.0.1                                         03 May 2011
3068 
3069     *) Change: now the "split_clients" directive uses MurmurHash2 algorithm
3070        because of better distribution.
3071        Thanks to Oleg Mamontov.
3072 
3073     *) Change: now long strings starting with zero are not considered as
3074        false values.
3075        Thanks to Maxim Dounin.
3076 
3077     *) Change: now nginx uses a default listen backlog value 511 on Linux.
3078 
3079     *) Feature: the $upstream_... variables may be used in the SSI and perl
3080        modules.
3081 
3082     *) Bugfix: now nginx limits better disk cache size.
3083        Thanks to Oleg Mamontov.
3084 
3085     *) Bugfix: a segmentation fault might occur while parsing incorrect IPv4
3086        address; the bug had appeared in 0.9.3.
3087        Thanks to Maxim Dounin.
3088 
3089     *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug
3090        option.
3091 
3092     *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug
3093        had appeared in 0.9.3.
3094        Thanks to Dagobert Michelsen.
3095 
3096     *) Bugfix: $request_time variable had invalid values if subrequests were
3097        used; the bug had appeared in 0.8.47.
3098        Thanks to Igor A. Valcov.
3099 
3100 
3101 Changes with nginx 1.0.0                                         12 Apr 2011
3102 
3103     *) Bugfix: a cache manager might hog CPU after reload.
3104        Thanks to Maxim Dounin.
3105 
3106     *) Bugfix: an "image_filter crop" directive worked incorrectly coupled
3107        with an "image_filter rotate 180" directive.
3108 
3109     *) Bugfix: a "satisfy any" directive disabled custom 401 error page.
3110 
3111 
3112 Changes with nginx 0.9.7                                         04 Apr 2011
3113 
3114     *) Feature: now keepalive connections may be closed premature, if there
3115        are no free worker connections.
3116        Thanks to Maxim Dounin.
3117 
3118     *) Feature: the "rotate" parameter of the "image_filter" directive.
3119        Thanks to Adam Bocim.
3120 
3121     *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or
3122        "uwsgi_pass" directives is given by expression and refers to a
3123        defined upstream.
3124 
3125 
3126 Changes with nginx 0.9.6                                         21 Mar 2011
3127 
3128     *) Feature: the "map" directive supports regular expressions as value of
3129        the first parameter.
3130 
3131     *) Feature: $time_iso8601 access_log variable.
3132        Thanks to Michael Lustfield.
3133 
3134 
3135 Changes with nginx 0.9.5                                         21 Feb 2011
3136 
3137     *) Change: now nginx uses a default listen backlog value -1 on Linux.
3138        Thanks to Andrei Nigmatulin.
3139 
3140     *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city"
3141        directives.
3142        Thanks to Denis F. Latypoff.
3143 
3144     *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass"
3145        directive has no URI part.
3146        Thanks to Maxim Dounin.
3147 
3148     *) Bugfix: an "error_page" directive did not work with nonstandard error
3149        codes; the bug had appeared in 0.8.53.
3150        Thanks to Maxim Dounin.
3151 
3152 
3153 Changes with nginx 0.9.4                                         21 Jan 2011
3154 
3155     *) Feature: the "server_name" directive supports the $hostname variable.
3156 
3157     *) Feature: 494 code for "Request Header Too Large" error.
3158 
3159 
3160 Changes with nginx 0.9.3                                         13 Dec 2010
3161 
3162     *) Bugfix: if there was a single server for given IPv6 address:port
3163        pair, then captures in regular expressions in a "server_name"
3164        directive did not work.
3165 
3166     *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
3167        0.9.0.
3168 
3169 
3170 Changes with nginx 0.9.2                                         06 Dec 2010
3171 
3172     *) Feature: the "If-Unmodified-Since" client request header line
3173        support.
3174 
3175     *) Workaround: fallback to accept() syscall if accept4() was not
3176        implemented; the issue had appeared in 0.9.0.
3177 
3178     *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in
3179        0.9.0.
3180 
3181     *) Bugfix: for OpenSSL vulnerability CVE-2010-4180.
3182        Thanks to Maxim Dounin.
3183 
3184 
3185 Changes with nginx 0.9.1                                         30 Nov 2010
3186 
3187     *) Bugfix: "return CODE message" directives did not work; the bug had
3188        appeared in 0.9.0.
3189 
3190 
3191 Changes with nginx 0.9.0                                         29 Nov 2010
3192 
3193     *) Feature: the "keepalive_disable" directive.
3194 
3195     *) Feature: the "map" directive supports variables as value of a defined
3196        variable.
3197 
3198     *) Feature: the "map" directive supports empty strings as value of the
3199        first parameter.
3200 
3201     *) Feature: the "map" directive supports expressions as the first
3202        parameter.
3203 
3204     *) Feature: nginx(8) manual page.
3205        Thanks to Sergey Osokin.
3206 
3207     *) Feature: Linux accept4() support.
3208        Thanks to Simon Liu.
3209 
3210     *) Workaround: elimination of Linux linker warning about "sys_errlist"
3211        and "sys_nerr"; the warning had appeared in 0.8.35.
3212 
3213     *) Bugfix: a segmentation fault might occur in a worker process, if the
3214        "auth_basic" directive was used.
3215        Thanks to Michail Laletin.
3216 
3217     *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared
3218        in 0.8.42.
3219 
3220 
3221 Changes with nginx 0.8.53                                        18 Oct 2010
3222 
3223     *) Feature: now the "error_page" directive allows to change a status
3224        code in a redirect.
3225 
3226     *) Feature: the "gzip_disable" directive supports special "degradation"
3227        mask.
3228 
3229     *) Bugfix: a socket leak might occurred if file AIO was used.
3230        Thanks to Maxim Dounin.
3231 
3232     *) Bugfix: if the first server had no "listen" directive and there was
3233        no explicit default server, then a next server with a "listen"
3234        directive became the default server; the bug had appeared in 0.8.21.
3235 
3236 
3237 Changes with nginx 0.8.52                                        28 Sep 2010
3238 
3239     *) Bugfix: nginx used SSL mode for a listen socket if any listen option
3240        was set; the bug had appeared in 0.8.51.
3241 
3242 
3243 Changes with nginx 0.8.51                                        27 Sep 2010
3244 
3245     *) Change: the "secure_link_expires" directive has been canceled.
3246 
3247     *) Change: a logging level of resolver errors has been lowered from
3248        "alert" to "error".
3249 
3250     *) Feature: now a listen socket "ssl" parameter may be set several
3251        times.
3252 
3253 
3254 Changes with nginx 0.8.50                                        02 Sep 2010
3255 
3256     *) Feature: the "secure_link", "secure_link_md5", and
3257        "secure_link_expires" directives of the ngx_http_secure_link_module.
3258 
3259     *) Feature: the -q switch.
3260        Thanks to Gena Makhomed.
3261 
3262     *) Bugfix: worker processes may got caught in an endless loop during
3263        reconfiguration, if a caching was used; the bug had appeared in
3264        0.8.48.
3265 
3266     *) Bugfix: in the "gzip_disable" directive.
3267        Thanks to Derrick Petzold.
3268 
3269     *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload
3270        signals to a process run in other session.
3271 
3272 
3273 Changes with nginx 0.8.49                                        09 Aug 2010
3274 
3275     *) Feature: the "image_filter_jpeg_quality" directive supports
3276        variables.
3277 
3278     *) Bugfix: a segmentation fault might occur in a worker process, if the
3279        $geoip_region_name variables was used; the bug had appeared in
3280        0.8.48.
3281 
3282     *) Bugfix: errors intercepted by error_page were cached only for next
3283        request; the bug had appeared in 0.8.48.
3284 
3285 
3286 Changes with nginx 0.8.48                                        03 Aug 2010
3287 
3288     *) Change: now the "server_name" directive default value is an empty
3289        name "".
3290        Thanks to Gena Makhomed.
3291 
3292     *) Change: now the "server_name_in_redirect" directive default value is
3293        "off".
3294 
3295     *) Feature: the $geoip_dma_code, $geoip_area_code, and
3296        $geoip_region_name variables.
3297        Thanks to Christine McGonagle.
3298 
3299     *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and
3300        "scgi_pass" directives were not inherited inside "limit_except"
3301        blocks.
3302 
3303     *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
3304        "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not
3305        work; the bug had appeared in 0.8.46.
3306 
3307     *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly
3308        captures, if only parts of an URI were captured.
3309        Thanks to Yuriy Taraday and Frank Enderle.
3310 
3311     *) Bugfix: the "rewrite" directive did not escape a ";" character during
3312        copying from URI to query string.
3313        Thanks to Daisuke Murase.
3314 
3315     *) Bugfix: the ngx_http_image_filter_module closed a connection, if an
3316        image was larger than "image_filter_buffer" size.
3317 
3318 
3319 Changes with nginx 0.8.47                                        28 Jul 2010
3320 
3321     *) Bugfix: $request_time variable had invalid values for subrequests.
3322 
3323     *) Bugfix: errors intercepted by error_page could not be cached.
3324 
3325     *) Bugfix: a cache manager process may got caught in an endless loop, if
3326        max_size parameter was used; the bug had appeared in 0.8.46.
3327 
3328 
3329 Changes with nginx 0.8.46                                        19 Jul 2010
3330 
3331     *) Change: now the "proxy_no_cache", "fastcgi_no_cache",
3332        "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached
3333        response saving only.
3334 
3335     *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass",
3336        "uwsgi_cache_bypass", and "scgi_cache_bypass" directives.
3337 
3338     *) Bugfix: nginx did not free memory in cache keys zones if there was an
3339        error during working with backend: the memory was freed only after
3340        inactivity time or on memory low condition.
3341 
3342 
3343 Changes with nginx 0.8.45                                        13 Jul 2010
3344 
3345     *) Feature: ngx_http_xslt_filter improvements.
3346        Thanks to Laurence Rowe.
3347 
3348     *) Bugfix: SSI response might be truncated after include with
3349        wait="yes"; the bug had appeared in 0.7.25.
3350        Thanks to Maxim Dounin.
3351 
3352     *) Bugfix: the "listen" directive did not support the "setfib=0"
3353        parameter.
3354 
3355 
3356 Changes with nginx 0.8.44                                        05 Jul 2010
3357 
3358     *) Change: now nginx does not cache by default backend responses, if
3359        they have a "Set-Cookie" header line.
3360 
3361     *) Feature: the "listen" directive supports the "setfib" parameter.
3362        Thanks to Andrew Filonov.
3363 
3364     *) Bugfix: the "sub_filter" directive might change character case on
3365        partial match.
3366 
3367     *) Bugfix: compatibility with HP/UX.
3368 
3369     *) Bugfix: compatibility with AIX xlC_r compiler.
3370 
3371     *) Bugfix: nginx treated large SSLv2 packets as plain requests.
3372        Thanks to Miroslaw Jaworski.
3373 
3374 
3375 Changes with nginx 0.8.43                                        30 Jun 2010
3376 
3377     *) Feature: large geo ranges base loading speed-up.
3378 
3379     *) Bugfix: an error_page redirection to "location /zero {return 204;}"
3380        without changing status code kept the error body; the bug had
3381        appeared in 0.8.42.
3382 
3383     *) Bugfix: nginx might close IPv6 listen socket during reconfiguration.
3384        Thanks to Maxim Dounin.
3385 
3386     *) Bugfix: the $uid_set variable may be used at any request processing
3387        stage.
3388 
3389 
3390 Changes with nginx 0.8.42                                        21 Jun 2010
3391 
3392     *) Change: now nginx tests locations given by regular expressions, if
3393        request was matched exactly by a location given by a prefix string.
3394        The previous behavior has been introduced in 0.7.1.
3395 
3396     *) Feature: the ngx_http_scgi_module.
3397        Thanks to Manlio Perillo.
3398 
3399     *) Feature: a text answer may be added to a "return" directive.
3400 
3401 
3402 Changes with nginx 0.8.41                                        15 Jun 2010
3403 
3404     *) Security: nginx/Windows worker might be terminated abnormally if a
3405        requested file name has invalid UTF-8 encoding.
3406 
3407     *) Change: now nginx allows to use spaces in a request line.
3408 
3409     *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend
3410        "Refresh" response header line.
3411        Thanks to Andrey Andreew and Max Sogin.
3412 
3413     *) Bugfix: nginx did not support path without host name in "Destination"
3414        request header line.
3415 
3416 
3417 Changes with nginx 0.8.40                                        07 Jun 2010
3418 
3419     *) Security: now nginx/Windows ignores default file stream name.
3420        Thanks to Jose Antonio Vazquez Gonzalez.
3421 
3422     *) Feature: the ngx_http_uwsgi_module.
3423        Thanks to Roberto De Ioris.
3424 
3425     *) Feature: a "fastcgi_param" directive with value starting with "HTTP_"
3426        overrides a client request header line.
3427 
3428     *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
3429        header lines were passed to FastCGI-server while caching.
3430 
3431     *) Bugfix: listen unix domain socket could not be changed during
3432        reconfiguration.
3433        Thanks to Maxim Dounin.
3434 
3435 
3436 Changes with nginx 0.8.39                                        31 May 2010
3437 
3438     *) Bugfix: an inherited "alias" directive worked incorrectly in
3439        inclusive location.
3440 
3441     *) Bugfix: in "alias" with variables and "try_files" directives
3442        combination.
3443 
3444     *) Bugfix: listen unix domain and IPv6 sockets did not inherit while
3445        online upgrade.
3446        Thanks to Maxim Dounin.
3447 
3448 
3449 Changes with nginx 0.8.38                                        24 May 2010
3450 
3451     *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives.
3452 
3453     *) Feature: now the "rewrite" directive does a redirect automatically if
3454        the $scheme variable is used.
3455        Thanks to Piotr Sikora.
3456 
3457     *) Bugfix: now "limit_req" delay directive conforms to the described
3458        algorithm.
3459        Thanks to Maxim Dounin.
3460 
3461     *) Bugfix: the $uid_got variable might not be used in the SSI and perl
3462        modules.
3463 
3464 
3465 Changes with nginx 0.8.37                                        17 May 2010
3466 
3467     *) Feature: the ngx_http_split_clients_module.
3468 
3469     *) Feature: the "map" directive supports keys more than 255 characters.
3470 
3471     *) Bugfix: nginx ignored the "private" and "no-store" values in the
3472        "Cache-Control" backend response header line.
3473 
3474     *) Bugfix: a "stub" parameter of an "include" SSI directive was not
3475        used, if empty response has 200 status code.
3476 
3477     *) Bugfix: if a proxied or FastCGI request was internally redirected to
3478        another proxied or FastCGI location, then a segmentation fault might
3479        occur in a worker process; the bug had appeared in 0.8.33.
3480        Thanks to Yichun Zhang.
3481 
3482     *) Bugfix: IMAP connections may hang until they timed out while talking
3483        to Zimbra server.
3484        Thanks to Alan Batie.
3485 
3486 
3487 Changes with nginx 0.8.36                                        22 Apr 2010
3488 
3489     *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, COPY,
3490        and MOVE methods for symlinks.
3491 
3492     *) Bugfix: values of the $query_string, $arg_..., etc. variables cached
3493        in main request were used by the SSI module in subrequests.
3494 
3495     *) Bugfix: a variable value was repeatedly encoded after each an "echo"
3496        SSI-command output; the bug had appeared in 0.6.14.
3497 
3498     *) Bugfix: a worker process hung if a FIFO file was requested.
3499        Thanks to Vicente Aguilar and Maxim Dounin.
3500 
3501     *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux.
3502        Thanks to Maxim Dounin.
3503 
3504     *) Bugfix: nginx could not be built --without-http-cache; the bug had
3505        appeared in 0.8.35.
3506 
3507 
3508 Changes with nginx 0.8.35                                        01 Apr 2010
3509 
3510     *) Change: now the charset filter runs before the SSI filter.
3511 
3512     *) Feature: the "chunked_transfer_encoding" directive.
3513 
3514     *) Bugfix: an "&" character was not escaped when it was copied in
3515        arguments part in a rewrite rule.
3516 
3517     *) Bugfix: nginx might be terminated abnormally while a signal
3518        processing or if the directive "timer_resolution" was used on
3519        platforms which do not support kqueue or eventport notification
3520        methods.
3521        Thanks to George Xie and Maxim Dounin.
3522 
3523     *) Bugfix: if temporary files and permanent storage area resided at
3524        different file systems, then permanent file modification times were
3525        incorrect.
3526        Thanks to Maxim Dounin.
3527 
3528     *) Bugfix: ngx_http_memcached_module might issue the error message
3529        "memcached sent invalid trailer".
3530        Thanks to Maxim Dounin.
3531 
3532     *) Bugfix: nginx could not built zlib-1.2.4 library using the library
3533        sources.
3534        Thanks to Maxim Dounin.
3535 
3536     *) Bugfix: a segmentation fault occurred in a worker process, if there
3537        was large stderr output before FastCGI response; the bug had appeared
3538        in 0.8.34.
3539        Thanks to Maxim Dounin.
3540 
3541 
3542 Changes with nginx 0.8.34                                        03 Mar 2010
3543 
3544     *) Bugfix: nginx did not support all ciphers and digests used in client
3545        certificates.
3546        Thanks to Innocenty Enikeew.
3547 
3548     *) Bugfix: nginx cached incorrectly FastCGI responses if there was large
3549        stderr output before response.
3550 
3551     *) Bugfix: nginx did not support HTTPS referrers.
3552 
3553     *) Bugfix: nginx/Windows might not find file if path in configuration
3554        was given in other character case; the bug had appeared in 0.8.33.
3555 
3556     *) Bugfix: the $date_local variable has an incorrect value, if the "%s"
3557        format was used.
3558        Thanks to Maxim Dounin.
3559 
3560     *) Bugfix: if ssl_session_cache was not set or was set to "none", then
3561        during client certificate verify the error "session id context
3562        uninitialized" might occur; the bug had appeared in 0.7.1.
3563 
3564     *) Bugfix: a geo range returned default value if the range included two
3565        or more /16 networks and did not begin at /16 network boundary.
3566 
3567     *) Bugfix: a block used in a "stub" parameter of an "include" SSI
3568        directive was output with "text/plain" MIME type.
3569 
3570     *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11.
3571 
3572 
3573 Changes with nginx 0.8.33                                        01 Feb 2010
3574 
3575     *) Security: now nginx/Windows ignores trailing spaces in URI.
3576        Thanks to Dan Crowley, Core Security Technologies.
3577 
3578     *) Security: now nginx/Windows ignores short files names.
3579        Thanks to Dan Crowley, Core Security Technologies.
3580 
3581     *) Change: now keepalive connections after POST requests are not
3582        disabled for MSIE 7.0+.
3583        Thanks to Adam Lounds.
3584 
3585     *) Workaround: now keepalive connections are disabled for Safari.
3586        Thanks to Joshua Sierles.
3587 
3588     *) Bugfix: if a proxied or FastCGI request was internally redirected to
3589        another proxied or FastCGI location, then $upstream_response_time
3590        variable may have abnormally large value; the bug had appeared in
3591        0.8.7.
3592 
3593     *) Bugfix: a segmentation fault might occur in a worker process, while
3594        discarding a request body; the bug had appeared in 0.8.11.
3595 
3596 
3597 Changes with nginx 0.8.32                                        11 Jan 2010
3598 
3599     *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
3600        Thanks to Maxim Dounin.
3601 
3602     *) Bugfix: regular expression named captures worked for two names only.
3603        Thanks to Maxim Dounin.
3604 
3605     *) Bugfix: now the "localhost" name is used in the "Host" request header
3606        line, if an unix domain socket is defined in the "auth_http"
3607        directive.
3608        Thanks to Maxim Dounin.
3609 
3610     *) Bugfix: nginx did not support chunked transfer encoding for 201
3611        responses.
3612        Thanks to Julian Reich.
3613 
3614     *) Bugfix: if the "expires modified" set date in the past, then a
3615        negative number was set in the "Cache-Control" response header line.
3616        Thanks to Alex Kapranoff.
3617 
3618 
3619 Changes with nginx 0.8.31                                        23 Dec 2009
3620 
3621     *) Feature: now the "error_page" directive may redirect the 301 and 302
3622        responses.
3623 
3624     *) Feature: the $geoip_city_continent_code, $geoip_latitude, and
3625        $geoip_longitude variables.
3626        Thanks to Arvind Sundararajan.
3627 
3628     *) Feature: now the ngx_http_image_filter_module deletes always EXIF and
3629        other application specific data if the data consume more than 5% of a
3630        JPEG file.
3631 
3632     *) Bugfix: nginx closed a connection if a cached response had an empty
3633        body.
3634        Thanks to Piotr Sikora.
3635 
3636     *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher
3637        optimization option was used.
3638        Thanks to Maxim Dounin and Denis F. Latypoff.
3639 
3640     *) Bugfix: regular expressions in location were always tested in
3641        case-sensitive mode; the bug had appeared in 0.8.25.
3642 
3643     *) Bugfix: nginx cached a 304 response if there was the "If-None-Match"
3644        header line in a proxied request.
3645        Thanks to Tim Dettrick and David Kostal.
3646 
3647     *) Bugfix: nginx/Windows tried to delete a temporary file twice if the
3648        file should replace an already existent file.
3649 
3650 
3651 Changes with nginx 0.8.30                                        15 Dec 2009
3652 
3653     *) Change: now the default buffer size of the
3654        "large_client_header_buffers" directive is 8K.
3655        Thanks to Andrew Cholakian.
3656 
3657     *) Feature: the conf/fastcgi.conf for simple FastCGI configurations.
3658 
3659     *) Bugfix: nginx/Windows tried to rename a temporary file twice if the
3660        file should replace an already existent file.
3661 
3662     *) Bugfix: of "double free or corruption" error issued if host could not
3663        be resolved; the bug had appeared in 0.8.22.
3664        Thanks to Konstantin Svist.
3665 
3666     *) Bugfix: in libatomic usage on some platforms.
3667        Thanks to W-Mark Kubacki.
3668 
3669 
3670 Changes with nginx 0.8.29                                        30 Nov 2009
3671 
3672     *) Change: now the "009" status code is written to an access log for
3673        proxied HTTP/0.9 responses.
3674 
3675     *) Feature: the "addition_types", "charset_types", "gzip_types",
3676        "ssi_types", "sub_filter_types", and "xslt_types" directives support
3677        an "*" parameter.
3678 
3679     *) Feature: GCC 4.1+ built-in atomic operations usage.
3680        Thanks to W-Mark Kubacki.
3681 
3682     *) Feature: the --with-libatomic[=DIR] option in the configure.
3683        Thanks to W-Mark Kubacki.
3684 
3685     *) Bugfix: listen unix domain socket had limited access rights.
3686 
3687     *) Bugfix: cached HTTP/0.9 responses were handled incorrectly.
3688 
3689     *) Bugfix: regular expression named captures given by "?P<...>" did not
3690        work in a "server_name" directive.
3691        Thanks to Maxim Dounin.
3692 
3693 
3694 Changes with nginx 0.8.28                                        23 Nov 2009
3695 
3696     *) Bugfix: nginx could not be built with the --without-pcre parameter;
3697        the bug had appeared in 0.8.25.
3698 
3699 
3700 Changes with nginx 0.8.27                                        17 Nov 2009
3701 
3702     *) Bugfix: regular expressions did not work in nginx/Windows; the bug
3703        had appeared in 0.8.25.
3704 
3705 
3706 Changes with nginx 0.8.26                                        16 Nov 2009
3707 
3708     *) Bugfix: in captures usage in "rewrite" directive; the bug had
3709        appeared in 0.8.25.
3710 
3711     *) Bugfix: nginx could not be built without the --with-debug option; the
3712        bug had appeared in 0.8.25.
3713 
3714 
3715 Changes with nginx 0.8.25                                        16 Nov 2009
3716 
3717     *) Change: now no message is written in an error log if a variable is
3718        not found by $r->variable() method.
3719 
3720     *) Feature: the ngx_http_degradation_module.
3721 
3722     *) Feature: regular expression named captures.
3723 
3724     *) Feature: now URI part is not required a "proxy_pass" directive if
3725        variables are used.
3726 
3727     *) Feature: now the "msie_padding" directive works for Chrome too.
3728 
3729     *) Bugfix: a segmentation fault occurred in a worker process on low
3730        memory condition; the bug had appeared in 0.8.18.
3731 
3732     *) Bugfix: nginx sent gzipped responses to clients those do not support
3733        gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared
3734        in 0.8.16.
3735 
3736 
3737 Changes with nginx 0.8.24                                        11 Nov 2009
3738 
3739     *) Bugfix: nginx always added "Content-Encoding: gzip" response header
3740        line in 304 responses sent by ngx_http_gzip_static_module.
3741 
3742     *) Bugfix: nginx could not be built without the --with-debug option; the
3743        bug had appeared in 0.8.23.
3744 
3745     *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive
3746        inherited incorrectly from previous level.
3747 
3748     *) Bugfix: in resolving empty name.
3749 
3750 
3751 Changes with nginx 0.8.23                                        11 Nov 2009
3752 
3753     *) Security: now SSL/TLS renegotiation is disabled.
3754        Thanks to Maxim Dounin.
3755 
3756     *) Bugfix: listen unix domain socket did not inherit while online
3757        upgrade.
3758 
3759     *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did
3760        not without yet another directive with any IP address.
3761 
3762     *) Bugfix: segmentation fault and infinite looping in resolver.
3763 
3764     *) Bugfix: in resolver.
3765        Thanks to Artem Bokhan.
3766 
3767 
3768 Changes with nginx 0.8.22                                        03 Nov 2009
3769 
3770     *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind"
3771        directives.
3772 
3773     *) Feature: the "access" and the "deny" directives support IPv6.
3774 
3775     *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in
3776        request headers.
3777 
3778     *) Feature: the "unix:" parameter of the "set_real_ip_from" directive.
3779 
3780     *) Bugfix: nginx did not delete unix domain socket after configuration
3781        testing.
3782 
3783     *) Bugfix: nginx deleted unix domain socket while online upgrade.
3784 
3785     *) Bugfix: the "!-x" operator did not work.
3786        Thanks to Maxim Dounin.
3787 
3788     *) Bugfix: a segmentation fault might occur in a worker process, if
3789        limit_rate was used in HTTPS server.
3790        Thanks to Maxim Dounin.
3791 
3792     *) Bugfix: a segmentation fault might occur in a worker process while
3793        $limit_rate logging.
3794        Thanks to Maxim Dounin.
3795 
3796     *) Bugfix: a segmentation fault might occur in a worker process, if
3797        there was no "listen" directive in "server" block; the bug had
3798        appeared in 0.8.21.
3799 
3800 
3801 Changes with nginx 0.8.21                                        26 Oct 2009
3802 
3803     *) Feature: now the "-V" switch shows TLS SNI support.
3804 
3805     *) Feature: the "listen" directive of the HTTP module supports unix
3806        domain sockets.
3807        Thanks to Hongli Lai.
3808 
3809     *) Feature: the "default_server" parameter of the "listen" directive.
3810 
3811     *) Feature: now a "default" parameter is not required to set listen
3812        socket options.
3813 
3814     *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;
3815 
3816     *) Bugfix: socket leak; the bug had appeared in 0.8.11.
3817 
3818 
3819 Changes with nginx 0.8.20                                        14 Oct 2009
3820 
3821     *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
3822 
3823     *) Bugfix: the ngx_http_autoindex_module did not show the trailing slash
3824        in links to a directory; the bug had appeared in 0.7.15.
3825 
3826     *) Bugfix: nginx did not close a log file set by the --error-log-path
3827        configuration option; the bug had appeared in 0.7.53.
3828 
3829     *) Bugfix: nginx did not treat a comma as separator in the
3830        "Cache-Control" backend response header line.
3831 
3832     *) Bugfix: nginx/Windows might not create temporary file, a cache file,
3833        or "proxy/fastcgi_store"d file if a worker had no enough access
3834        rights for top level directories.
3835 
3836     *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were
3837        not hidden while caching if no "fastcgi_hide_header" directives were
3838        used with any parameters.
3839 
3840     *) Bugfix: nginx counted incorrectly disk cache size.
3841 
3842 
3843 Changes with nginx 0.8.19                                        06 Oct 2009
3844 
3845     *) Change: now SSLv2 protocol is disabled by default.
3846 
3847     *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
3848 
3849     *) Bugfix: a "limit_req" directive did not work; the bug had appeared in
3850        0.8.18.
3851 
3852 
3853 Changes with nginx 0.8.18                                        06 Oct 2009
3854 
3855     *) Feature: the "read_ahead" directive.
3856 
3857     *) Feature: now several "perl_modules" directives may be used.
3858 
3859     *) Feature: the "limit_req_log_level" and "limit_conn_log_level"
3860        directives.
3861 
3862     *) Bugfix: now "limit_req" directive conforms to the leaky bucket
3863        algorithm.
3864        Thanks to Maxim Dounin.
3865 
3866     *) Bugfix: nginx did not work on Linux/sparc.
3867        Thanks to Marcus Ramberg.
3868 
3869     *) Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL
3870        request.
3871        Thanks to Xie Zhenye.
3872 
3873     *) Bugfix: zero status code was logged instead of 499 status code; the
3874        bug had appeared in 0.8.11.
3875 
3876     *) Bugfix: socket leak; the bug had appeared in 0.8.11.
3877 
3878 
3879 Changes with nginx 0.8.17                                        28 Sep 2009
3880 
3881     *) Security: now "/../" are disabled in "Destination" request header
3882        line.
3883 
3884     *) Change: now $host variable value is always low case.
3885 
3886     *) Feature: the $ssl_session_id variable.
3887 
3888     *) Bugfix: socket leak; the bug had appeared in 0.8.11.
3889 
3890 
3891 Changes with nginx 0.8.16                                        22 Sep 2009
3892 
3893     *) Feature: the "image_filter_transparency" directive.
3894 
3895     *) Bugfix: "addition_types" directive was incorrectly named
3896        "addtion_types".
3897 
3898     *) Bugfix: resolver cache poisoning.
3899        Thanks to Matthew Dempsky.
3900 
3901     *) Bugfix: memory leak in resolver.
3902        Thanks to Matthew Dempsky.
3903 
3904     *) Bugfix: invalid request line in $request variable was written in
3905        access_log only if error_log was set to "info" or "debug" level.
3906 
3907     *) Bugfix: in PNG alpha-channel support in the
3908        ngx_http_image_filter_module.
3909 
3910     *) Bugfix: nginx always added "Vary: Accept-Encoding" response header
3911        line, if both "gzip_static" and "gzip_vary" were on.
3912 
3913     *) Bugfix: in UTF-8 encoding support by "try_files" directive in
3914        nginx/Windows.
3915 
3916     *) Bugfix: in "post_action" directive usage; the bug had appeared in
3917        0.8.11.
3918        Thanks to Igor Artemiev.
3919 
3920 
3921 Changes with nginx 0.8.15                                        14 Sep 2009
3922 
3923     *) Security: a segmentation fault might occur in worker process while
3924        specially crafted request handling.
3925        Thanks to Chris Ries.
3926 
3927     *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld
3928        were defined, then the name .sub.domain.tld was matched by
3929        .domain.tld.
3930 
3931     *) Bugfix: in transparency support in the ngx_http_image_filter_module.
3932 
3933     *) Bugfix: in file AIO.
3934 
3935     *) Bugfix: in X-Accel-Redirect usage; the bug had appeared in 0.8.11.
3936 
3937     *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
3938 
3939 
3940 Changes with nginx 0.8.14                                        07 Sep 2009
3941 
3942     *) Bugfix: an expired cached response might stick in the "UPDATING"
3943        state.
3944 
3945     *) Bugfix: a segmentation fault might occur in worker process, if
3946        error_log was set to info or debug level.
3947        Thanks to Sergey Bochenkov.
3948 
3949     *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
3950 
3951     *) Bugfix: an "error_page" directive did not redirect a 413 error; the
3952        bug had appeared in 0.6.10.
3953 
3954 
3955 Changes with nginx 0.8.13                                        31 Aug 2009
3956 
3957     *) Bugfix: in the "aio sendfile" directive; the bug had appeared in
3958        0.8.12.
3959 
3960     *) Bugfix: nginx could not be built without the --with-file-aio option
3961        on FreeBSD; the bug had appeared in 0.8.12.
3962 
3963 
3964 Changes with nginx 0.8.12                                        31 Aug 2009
3965 
3966     *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD.
3967 
3968     *) Bugfix: in try_files; the bug had appeared in 0.8.11.
3969 
3970     *) Bugfix: in memcached; the bug had appeared in 0.8.11.
3971 
3972 
3973 Changes with nginx 0.8.11                                        28 Aug 2009
3974 
3975     *) Change: now directive "gzip_disable msie6" does not disable gzipping
3976        for MSIE 6.0 SV1.
3977 
3978     *) Feature: file AIO support on FreeBSD and Linux.
3979 
3980     *) Feature: the "directio_alignment" directive.
3981 
3982 
3983 Changes with nginx 0.8.10                                        24 Aug 2009
3984 
3985     *) Bugfix: memory leaks if GeoIP City database was used.
3986 
3987     *) Bugfix: in copying temporary files to permanent storage area; the bug
3988        had appeared in 0.8.9.
3989 
3990 
3991 Changes with nginx 0.8.9                                         17 Aug 2009
3992 
3993     *) Feature: now the start cache loader runs in a separate process; this
3994        should improve large caches handling.
3995 
3996     *) Feature: now temporary files and permanent storage area may reside at
3997        different file systems.
3998 
3999 
4000 Changes with nginx 0.8.8                                         10 Aug 2009
4001 
4002     *) Bugfix: in handling FastCGI headers split in records.
4003 
4004     *) Bugfix: a segmentation fault occurred in worker process, if a request
4005        was handled in two proxied or FastCGIed locations and a caching was
4006        enabled in the first location; the bug had appeared in 0.8.7.
4007 
4008 
4009 Changes with nginx 0.8.7                                         27 Jul 2009
4010 
4011     *) Change: minimum supported OpenSSL version is 0.9.7.
4012 
4013     *) Change: the "ask" parameter of the "ssl_verify_client" directive was
4014        changed to the "optional" parameter and now it checks a client
4015        certificate if it was offered.
4016        Thanks to Brice Figureau.
4017 
4018     *) Feature: the $ssl_client_verify variable.
4019        Thanks to Brice Figureau.
4020 
4021     *) Feature: the "ssl_crl" directive.
4022        Thanks to Brice Figureau.
4023 
4024     *) Feature: the "proxy" parameter of the "geo" directive.
4025 
4026     *) Feature: the "image_filter" directive supports variables for setting
4027        size.
4028 
4029     *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug
4030        had appeared in 0.7.7.
4031        Thanks to Sergey Zhuravlev.
4032 
4033     *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did
4034        not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate",
4035        "X-Accel-Buffering", and "X-Accel-Charset" lines from backend
4036        response header.
4037        Thanks to Maxim Dounin.
4038 
4039     *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend
4040        response header lines; the bug had appeared in 0.7.44.
4041        Thanks to Maxim Dounin.
4042 
4043     *) Bugfix: the "[alert] zero size buf" error if subrequest returns an
4044        empty response; the bug had appeared in 0.8.5.
4045 
4046 
4047 Changes with nginx 0.8.6                                         20 Jul 2009
4048 
4049     *) Feature: the ngx_http_geoip_module.
4050 
4051     *) Bugfix: XSLT filter may fail with message "not well formed XML
4052        document" for valid XML document.
4053        Thanks to Kuramoto Eiji.
4054 
4055     *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a
4056        regular expression are always tested in case insensitive mode.
4057 
4058     *) Bugfix: now nginx/Windows ignores trailing dots in URI.
4059        Thanks to Hugo Leisink.
4060 
4061     *) Bugfix: name of file specified in --conf-path was not honored during
4062        installation; the bug had appeared in 0.6.6.
4063        Thanks to Maxim Dounin.
4064 
4065 
4066 Changes with nginx 0.8.5                                         13 Jul 2009
4067 
4068     *) Bugfix: now nginx allows underscores in a request method.
4069 
4070     *) Bugfix: a 500 error code was returned for invalid login/password
4071        while HTTP Basic authentication on Windows.
4072 
4073     *) Bugfix: ngx_http_perl_module responses did not work in subrequests.
4074 
4075     *) Bugfix: in ngx_http_limit_req_module.
4076        Thanks to Maxim Dounin.
4077 
4078 
4079 Changes with nginx 0.8.4                                         22 Jun 2009
4080 
4081     *) Bugfix: nginx could not be built --without-http-cache; the bug had
4082        appeared in 0.8.3.
4083 
4084 
4085 Changes with nginx 0.8.3                                         19 Jun 2009
4086 
4087     *) Feature: the $upstream_cache_status variable.
4088 
4089     *) Bugfix: nginx could not be built on MacOSX 10.6.
4090 
4091     *) Bugfix: nginx could not be built --without-http-cache; the bug had
4092        appeared in 0.8.2.
4093 
4094     *) Bugfix: a segmentation fault occurred in worker process, if a backend
4095        401 error was intercepted and the backend did not set the
4096        "WWW-Authenticate" response header line.
4097        Thanks to Eugene Mychlo.
4098 
4099 
4100 Changes with nginx 0.8.2                                         15 Jun 2009
4101 
4102     *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on
4103        start up.
4104 
4105     *) Bugfix: open_file_cache might cache open file descriptors too long;
4106        the bug had appeared in 0.7.4.
4107 
4108 
4109 Changes with nginx 0.8.1                                         08 Jun 2009
4110 
4111     *) Feature: the "updating" parameter in "proxy_cache_use_stale" and
4112        "fastcgi_cache_use_stale" directives.
4113 
4114     *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
4115        header lines were passed to backend while caching if no
4116        "proxy_set_header" directive was used with any parameters.
4117 
4118     *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not
4119        hidden while caching if no "proxy_hide_header/fastcgi_hide_header"
4120        directives were used with any parameters.
4121 
4122     *) Bugfix: the ngx_http_image_filter_module did not support GIF87a
4123        format.
4124        Thanks to Denis Ilyinyh.
4125 
4126     *) Bugfix: nginx could not be built modules on Solaris 10 and early; the
4127        bug had appeared in 0.7.56.
4128 
4129 
4130 Changes with nginx 0.8.0                                         02 Jun 2009
4131 
4132     *) Feature: the "keepalive_requests" directive.
4133 
4134     *) Feature: the "limit_rate_after" directive.
4135        Thanks to Ivan Debnar.
4136 
4137     *) Bugfix: XLST filter did not work in subrequests.
4138 
4139     *) Bugfix: in relative paths handling in nginx/Windows.
4140 
4141     *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache
4142        in nginx/Windows.
4143 
4144     *) Bugfix: in memory allocation error handling.
4145        Thanks to Maxim Dounin and Kirill A. Korinskiy.
4146 
4147 
4148 Changes with nginx 0.7.59                                        25 May 2009
4149 
4150     *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods"
4151        directives.
4152 
4153     *) Bugfix: socket leak; the bug had appeared in 0.7.25.
4154        Thanks to Maxim Dounin.
4155 
4156     *) Bugfix: a segmentation fault occurred in worker process, if a request
4157        had no body and the $request_body variable was used;
4158        the bug had appeared in 0.7.58.
4159 
4160     *) Bugfix: the SSL modules might not built on Solaris and Linux;
4161        the bug had appeared in 0.7.56.
4162 
4163     *) Bugfix: ngx_http_xslt_filter_module responses were not handled by
4164        SSI, charset, and gzip filters.
4165 
4166     *) Bugfix: a "charset" directive did not set a charset to
4167        ngx_http_gzip_static_module responses.
4168 
4169 
4170 Changes with nginx 0.7.58                                        18 May 2009
4171 
4172     *) Feature: a "listen" directive of the mail proxy module supports IPv6.
4173 
4174     *) Feature: the "image_filter_jpeg_quality" directive.
4175 
4176     *) Feature: the "client_body_in_single_buffer" directive.
4177 
4178     *) Feature: the $request_body variable.
4179 
4180     *) Bugfix: in ngx_http_autoindex_module in file name links having a ":"
4181        symbol in the name.
4182 
4183     *) Bugfix: "make upgrade" procedure did not work; the bug had appeared
4184        in 0.7.53.
4185        Thanks to Denis F. Latypoff.
4186 
4187 
4188 Changes with nginx 0.7.57                                        12 May 2009
4189 
4190     *) Bugfix: a floating-point fault occurred in worker process, if the
4191        ngx_http_image_filter_module errors were redirected to named
4192        location; the bug had appeared in 0.7.56.
4193 
4194 
4195 Changes with nginx 0.7.56                                        11 May 2009
4196 
4197     *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the
4198        HTTP module.
4199 
4200     *) Bugfix: in ngx_http_image_filter_module.
4201 
4202 
4203 Changes with nginx 0.7.55                                        06 May 2009
4204 
4205     *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and
4206        "fastcgi_cache_use_stale" directives did not work.
4207 
4208     *) Bugfix: fastcgi cache did not cache header only responses.
4209 
4210     *) Bugfix: of "select() failed (9: Bad file descriptor)" error in
4211        nginx/Unix and "select() failed (10038: ...)" error in nginx/Windows.
4212 
4213     *) Bugfix: a segmentation fault might occur in worker process, if an
4214        "debug_connection" directive was used; the bug had appeared in
4215        0.7.54.
4216 
4217     *) Bugfix: fix ngx_http_image_filter_module building errors.
4218 
4219     *) Bugfix: the files bigger than 2G could not be transferred using
4220        $r->sendfile.
4221        Thanks to Maxim Dounin.
4222 
4223 
4224 Changes with nginx 0.7.54                                        01 May 2009
4225 
4226     *) Feature: the ngx_http_image_filter_module.
4227 
4228     *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers"
4229        directives.
4230 
4231     *) Bugfix: a segmentation fault might occur in worker process, if an
4232        "open_file_cache_errors off" directive was used; the bug had appeared
4233        in 0.7.53.
4234 
4235     *) Bugfix: the "port_in_redirect off" directive did not work; the bug
4236        had appeared in 0.7.39.
4237 
4238     *) Bugfix: improve handling of "select" method errors.
4239 
4240     *) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows.
4241 
4242     *) Bugfix: in error text descriptions in nginx/Windows; the bug had
4243        appeared in 0.7.53.
4244 
4245 
4246 Changes with nginx 0.7.53                                        27 Apr 2009
4247 
4248     *) Change: now a log set by --error-log-path is created from the very
4249        start-up.
4250 
4251     *) Feature: now the start up errors and warnings are outputted to an
4252        error_log and stderr.
4253 
4254     *) Feature: the empty --prefix= configure parameter forces nginx to use
4255        a directory where it was run as prefix.
4256 
4257     *) Feature: the -p switch.
4258 
4259     *) Feature: the -s switch on Unix platforms.
4260 
4261     *) Feature: the -? and -h switches.
4262        Thanks to Jerome Loyet.
4263 
4264     *) Feature: now switches may be set in condensed form.
4265 
4266     *) Bugfix: nginx/Windows did not work if configuration file was given by
4267        the -c switch.
4268 
4269     *) Bugfix: temporary files might be not removed if the "proxy_store",
4270        "fastcgi_store", "proxy_cache", or "fastcgi_cache" were used.
4271        Thanks to Maxim Dounin.
4272 
4273     *) Bugfix: an incorrect value was passed to mail proxy authentication
4274        server in "Auth-Method" header line; the bug had appeared
4275        in 0.7.34.
4276        Thanks to Simon Lecaille.
4277 
4278     *) Bugfix: system error text descriptions were not logged on Linux;
4279        the bug had appeared in 0.7.45.
4280 
4281     *) Bugfix: the "fastcgi_cache_min_uses" directive did not work.
4282        Thanks to Andrew Vorobyoff.
4283 
4284 
4285 Changes with nginx 0.7.52                                        20 Apr 2009
4286 
4287     *) Feature: the first native Windows binary release.
4288 
4289     *) Bugfix: in processing HEAD method while caching.
4290 
4291     *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc.
4292        client request header lines while caching.
4293 
4294     *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in
4295        cacheable responses.
4296 
4297     *) Bugfix: if nginx was built with the ngx_http_perl_module and with a
4298        perl which supports threads, then during a master process exit the
4299        message "panic: MUTEX_LOCK" might be issued.
4300 
4301     *) Bugfix: nginx could not be built --without-http-cache; the bug had
4302        appeared in 0.7.48.
4303 
4304     *) Bugfix: nginx could not be built on platforms different from i386,
4305        amd64, sparc, and ppc; the bug had appeared in 0.7.42.
4306 
4307 
4308 Changes with nginx 0.7.51                                        12 Apr 2009
4309 
4310     *) Feature: the "try_files" directive supports a response code in the
4311        fallback parameter.
4312 
4313     *) Feature: now any response code can be used in the "return" directive.
4314 
4315     *) Bugfix: the "error_page" directive made an external redirect without
4316        query string; the bug had appeared in 0.7.44.
4317 
4318     *) Bugfix: if servers listened on several defined explicitly addresses,
4319        then virtual servers might not work; the bug had appeared in 0.7.39.
4320 
4321 
4322 Changes with nginx 0.7.50                                        06 Apr 2009
4323 
4324     *) Bugfix: the $arg_... variables did not work; the bug had appeared in
4325        0.7.49.
4326 
4327 
4328 Changes with nginx 0.7.49                                        06 Apr 2009
4329 
4330     *) Bugfix: a segmentation fault might occur in worker process, if the
4331        $arg_... variables were used; the bug had appeared in 0.7.48.
4332 
4333 
4334 Changes with nginx 0.7.48                                        06 Apr 2009
4335 
4336     *) Feature: the "proxy_cache_key" directive.
4337 
4338     *) Bugfix: now nginx takes into account the "X-Accel-Expires",
4339        "Expires", and "Cache-Control" header lines in a backend response.
4340 
4341     *) Bugfix: now nginx caches responses for the GET requests only.
4342 
4343     *) Bugfix: the "fastcgi_cache_key" directive was not inherited.
4344 
4345     *) Bugfix: the $arg_... variables did not work with SSI subrequests.
4346        Thanks to Maxim Dounin.
4347 
4348     *) Bugfix: nginx could not be built with uclibc library.
4349        Thanks to Timothy Redaelli.
4350 
4351     *) Bugfix: nginx could not be built on OpenBSD; the bug had
4352        appeared in 0.7.46.
4353 
4354 
4355 Changes with nginx 0.7.47                                        01 Apr 2009
4356 
4357     *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; the
4358        bug had appeared in 0.7.46.
4359 
4360     *) Bugfix: nginx could not be built on MacOSX; the bug had
4361        appeared in 0.7.46.
4362 
4363     *) Bugfix: if the "max_size" parameter was set, then the cache manager
4364        might purge a whole cache; the bug had appeared in 0.7.46.
4365 
4366     *) Change: a segmentation fault might occur in worker process, if the
4367        "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/
4368        "fastcgi_cache_valid" were set on different levels; the bug had
4369        appeared in 0.7.46.
4370 
4371     *) Bugfix: a segmentation fault might occur in worker process, if a
4372        request was redirected to a proxied or FastCGI server via error_page
4373        or try_files; the bug had appeared in 0.7.44.
4374 
4375 
4376 Changes with nginx 0.7.46                                        30 Mar 2009
4377 
4378     *) Bugfix: the previous release tarball was incorrect.
4379 
4380 
4381 Changes with nginx 0.7.45                                        30 Mar 2009
4382 
4383     *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives
4384        can be set on different levels.
4385 
4386     *) Change: the "clean_time" parameter of the "proxy_cache_path"
4387        directive is canceled.
4388 
4389     *) Feature: the "max_size" parameter of the "proxy_cache_path"
4390        directive.
4391 
4392     *) Feature: the ngx_http_fastcgi_module preliminary cache support.
4393 
4394     *) Feature: now on shared memory allocation errors directive and zone
4395        names are logged.
4396 
4397     *) Bugfix: the directive "add_header last-modified ''" did not delete a
4398        "Last-Modified" response header line; the bug had appeared in 0.7.44.
4399 
4400     *) Bugfix: a relative path in the "auth_basic_user_file" directive given
4401        without variables did not work; the bug had appeared in 0.7.44.
4402        Thanks to Jerome Loyet.
4403 
4404     *) Bugfix: in an "alias" directive given using variables without
4405        references to captures of regular expressions; the bug had appeared
4406        in 0.7.42.
4407 
4408 
4409 Changes with nginx 0.7.44                                        23 Mar 2009
4410 
4411     *) Feature: the ngx_http_proxy_module preliminary cache support.
4412 
4413     *) Feature: the --with-pcre option in the configure.
4414 
4415     *) Feature: the "try_files" directive is now allowed on the server block
4416        level.
4417 
4418     *) Bugfix: the "try_files" directive handled incorrectly a query string
4419        in a fallback parameter.
4420 
4421     *) Bugfix: the "try_files" directive might test incorrectly directories.
4422 
4423     *) Bugfix: if there was a single server for given address:port pair,
4424        then captures in regular expressions in a "server_name" directive did
4425        not work.
4426 
4427 
4428 Changes with nginx 0.7.43                                        18 Mar 2009
4429 
4430     *) Bugfix: a request was handled incorrectly, if a "root" directive used
4431        variables; the bug had appeared in 0.7.42.
4432 
4433     *) Bugfix: if a server listened on wildcard address, then the
4434        $server_addr variable value was "0.0.0.0"; the bug had appeared in
4435        0.7.36.
4436 
4437 
4438 Changes with nginx 0.7.42                                        16 Mar 2009
4439 
4440     *) Change: now the "Invalid argument" error returned by
4441        setsockopt(TCP_NODELAY) on Solaris, is ignored.
4442 
4443     *) Change: now if a file specified in a "auth_basic_user_file" directive
4444        is absent, then the 403 error is returned instead of the 500 one.
4445 
4446     *) Feature: the "auth_basic_user_file" directive supports variables.
4447        Thanks to Kirill A. Korinskiy.
4448 
4449     *) Feature: the "listen" directive supports the "ipv6only" parameter.
4450        Thanks to Zhang Hua.
4451 
4452     *) Bugfix: in an "alias" directive with references to captures of
4453        regular expressions; the bug had appeared in 0.7.40.
4454 
4455     *) Bugfix: compatibility with Tru64 UNIX.
4456        Thanks to Dustin Marquess.
4457 
4458     *) Bugfix: nginx could not be built without PCRE library; the bug had
4459        appeared in 0.7.41.
4460 
4461 
4462 Changes with nginx 0.7.41                                        11 Mar 2009
4463 
4464     *) Bugfix: a segmentation fault might occur in worker process, if a
4465        "server_name" or a "location" directives had captures in regular
4466        expressions; the issue had appeared in 0.7.40.
4467        Thanks to Vladimir Sopot.
4468 
4469 
4470 Changes with nginx 0.7.40                                        09 Mar 2009
4471 
4472     *) Feature: the "location" directive supports captures in regular
4473        expressions.
4474 
4475     *) Feature: an "alias" directive with capture references may be used
4476        inside a location given by a regular expression with captures.
4477 
4478     *) Feature: the "server_name" directive supports captures in regular
4479        expressions.
4480 
4481     *) Workaround: the ngx_http_autoindex_module did not show the trailing
4482        slash in directories on XFS filesystem; the issue had appeared in
4483        0.7.15.
4484        Thanks to Dmitry Kuzmenko.
4485 
4486 
4487 Changes with nginx 0.7.39                                        02 Mar 2009
4488 
4489     *) Bugfix: large response with SSI might hang, if gzipping was enabled;
4490        the bug had appeared in 0.7.28.
4491        Thanks to Artem Bokhan.
4492 
4493     *) Bugfix: a segmentation fault might occur in worker process, if short
4494        static variants are used in a "try_files" directive.
4495 
4496 
4497 Changes with nginx 0.7.38                                        23 Feb 2009
4498 
4499     *) Feature: authentication failures logging.
4500 
4501     *) Bugfix: name/password in auth_basic_user_file were ignored after odd
4502        number of empty lines.
4503        Thanks to Alexander Zagrebin.
4504 
4505     *) Bugfix: a segmentation fault occurred in a master process, if long
4506        path was used in unix domain socket; the bug had appeared in 0.7.36.
4507 
4508 
4509 Changes with nginx 0.7.37                                        21 Feb 2009
4510 
4511     *) Bugfix: directives using upstreams did not work; the bug had appeared
4512        in 0.7.36.
4513 
4514 
4515 Changes with nginx 0.7.36                                        21 Feb 2009
4516 
4517     *) Feature: a preliminary IPv6 support; the "listen" directive of the
4518        HTTP module supports IPv6.
4519 
4520     *) Bugfix: the $ancient_browser variable did not work for browsers
4521        preset by a "modern_browser" directives.
4522 
4523 
4524 Changes with nginx 0.7.35                                        16 Feb 2009
4525 
4526     *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for
4527        asymmetric ciphers.
4528        Thanks to Marcin Gozdalik.
4529 
4530     *) Bugfix: a "try_files" directive set MIME type depending on an
4531        original request extension.
4532 
4533     *) Bugfix: "*domain.tld" names were handled incorrectly in
4534        "server_name", "valid_referers", and "map" directives, if
4535        ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
4536        the bug had appeared in 0.7.9.
4537 
4538 
4539 Changes with nginx 0.7.34                                        10 Feb 2009
4540 
4541     *) Feature: the "off" parameter of the "if_modified_since" directive.
4542 
4543     *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT
4544        command.
4545        Thanks to Maxim Dounin.
4546 
4547     *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support
4548        in mail proxy server.
4549        Thanks to Maxim Dounin.
4550 
4551     *) Bugfix: in a redirect rewrite directive original arguments were
4552        concatenated with new arguments by a "?" rather than an "&";
4553        the bug had appeared in 0.1.18.
4554        Thanks to Maxim Dounin.
4555 
4556     *) Bugfix: nginx could not be built on AIX.
4557 
4558 
4559 Changes with nginx 0.7.33                                        02 Feb 2009
4560 
4561     *) Bugfix: a double response might be returned if the epoll or rtsig
4562        methods are used and a redirect was returned to a request with body.
4563        Thanks to Eden Li.
4564 
4565     *) Bugfix: the $sent_http_location variable was empty for some redirects
4566        types.
4567 
4568     *) Bugfix: a segmentation fault might occur in worker process if
4569        "resolver" directive was used in SMTP proxy.
4570 
4571 
4572 Changes with nginx 0.7.32                                        26 Jan 2009
4573 
4574     *) Feature: now a directory existence testing can be set explicitly in
4575        the "try_files" directive.
4576 
4577     *) Bugfix: fastcgi_store stored files not always.
4578 
4579     *) Bugfix: in geo ranges.
4580 
4581     *) Bugfix: in shared memory allocations if nginx was built without
4582        debugging.
4583        Thanks to Andrey Kvasov.
4584 
4585 
4586 Changes with nginx 0.7.31                                        19 Jan 2009
4587 
4588     *) Change: now the "try_files" directive tests files only and ignores
4589        directories.
4590 
4591     *) Feature: the "fastcgi_split_path_info" directive.
4592 
4593     *) Bugfixes in an "Expect" request header line support.
4594 
4595     *) Bugfixes in geo ranges.
4596 
4597     *) Bugfix: in a miss case ngx_http_memcached_module returned the "END"
4598        line as response body instead of default 404 page body; the bug had
4599        appeared in 0.7.18.
4600        Thanks to Maxim Dounin.
4601 
4602     *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK"
4603        instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22.
4604        Thanks to Maxim Dounin.
4605 
4606 
4607 Changes with nginx 0.7.30                                        24 Dec 2008
4608 
4609     *) Bugfix: a segmentation fault occurred in worker process, if variables
4610        were used in the "fastcgi_pass" or "proxy_pass" directives and host
4611        name must be resolved; the bug had appeared in 0.7.29.
4612 
4613 
4614 Changes with nginx 0.7.29                                        24 Dec 2008
4615 
4616     *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not
4617        support variables if unix domain sockets were used.
4618 
4619     *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25.
4620 
4621     *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests;
4622        Thanks to Maxim Dounin.
4623 
4624     *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on
4625        Cygwin.
4626 
4627 
4628 Changes with nginx 0.7.28                                        22 Dec 2008
4629 
4630     *) Change: in memory allocation in the ngx_http_gzip_filter_module.
4631 
4632     *) Change: the default "gzip_buffers" directive values have been changed
4633        to 32 4k or 16 8k from 4 4k/8k.
4634 
4635 
4636 Changes with nginx 0.7.27                                        15 Dec 2008
4637 
4638     *) Feature: the "try_files" directive.
4639 
4640     *) Feature: variables support in the "fastcgi_pass" directive.
4641 
4642     *) Feature: now the $geo variable may get an address from a variable.
4643        Thanks to Andrei Nigmatulin.
4644 
4645     *) Feature: now a location's modifier may be used without space before
4646        name.
4647 
4648     *) Feature: the $upstream_response_length variable.
4649 
4650     *) Bugfix: now a "add_header" directive does not add an empty value.
4651 
4652     *) Bugfix: if zero length static file was requested, then nginx just
4653        closed connection; the bug had appeared in 0.7.25.
4654 
4655     *) Bugfix: a MOVE method could not move file in non-existent directory.
4656 
4657     *) Bugfix: a segmentation fault occurred in worker process, if no one
4658        named location was defined in server, but some one was used in an
4659        error_page directive.
4660        Thanks to Sergey Bochenkov.
4661 
4662 
4663 Changes with nginx 0.7.26                                        08 Dec 2008
4664 
4665     *) Bugfix: in subrequest processing; the bug had appeared in 0.7.25.
4666 
4667 
4668 Changes with nginx 0.7.25                                        08 Dec 2008
4669 
4670     *) Change: in subrequest processing.
4671 
4672     *) Change: now POSTs without "Content-Length" header line are allowed.
4673 
4674     *) Bugfix: now the "limit_req" and "limit_conn" directives log a
4675        prohibition reason.
4676 
4677     *) Bugfix: in the "delete" parameter of the "geo" directive.
4678 
4679 
4680 Changes with nginx 0.7.24                                        01 Dec 2008
4681 
4682     *) Feature: the "if_modified_since" directive.
4683 
4684     *) Bugfix: nginx did not process a FastCGI server response, if the
4685        server send too many messages to stderr before response.
4686 
4687     *) Bugfix: the "$cookie_..." variables did not work in the SSI and the
4688        perl module.
4689 
4690 
4691 Changes with nginx 0.7.23                                        27 Nov 2008
4692 
4693     *) Feature: the "delete" and "ranges" parameters in the "geo" directive.
4694 
4695     *) Feature: speeding up loading of geo base with large number of values.
4696 
4697     *) Feature: decrease of memory required for geo base load.
4698 
4699 
4700 Changes with nginx 0.7.22                                        20 Nov 2008
4701 
4702     *) Feature: the "none" parameter in the "smtp_auth" directive.
4703        Thanks to Maxim Dounin.
4704 
4705     *) Feature: the "$cookie_..." variables.
4706 
4707     *) Bugfix: the "directio" directive did not work in XFS filesystem.
4708 
4709     *) Bugfix: the resolver did not understand big DNS responses.
4710        Thanks to Zyb.
4711 
4712 
4713 Changes with nginx 0.7.21                                        11 Nov 2008
4714 
4715     *) Changes in the ngx_http_limit_req_module.
4716 
4717     *) Feature: the EXSLT support in the ngx_http_xslt_module.
4718        Thanks to Denis F. Latypoff.
4719 
4720     *) Workaround: compatibility with glibc 2.3.
4721        Thanks to Eric Benson and Maxim Dounin.
4722 
4723     *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had
4724        appeared in 0.7.6.
4725 
4726 
4727 Changes with nginx 0.7.20                                        10 Nov 2008
4728 
4729     *) Changes in the ngx_http_gzip_filter_module.
4730 
4731     *) Feature: the ngx_http_limit_req_module.
4732 
4733     *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and
4734        ppc platforms; the bug had appeared in 0.7.3.
4735        Thanks to Maxim Dounin.
4736 
4737     *) Bugfix: the "proxy_pass http://host/some:uri" directives did not
4738        work; the bug had appeared in 0.7.12.
4739 
4740     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
4741        error.
4742 
4743     *) Bugfix: the ngx_http_secure_link_module did not work inside
4744        locations, whose names are less than 3 characters.
4745 
4746     *) Bugfix: $server_addr variable might have no value.
4747 
4748 
4749 Changes with nginx 0.7.19                                        13 Oct 2008
4750 
4751     *) Bugfix: version number update.
4752 
4753 
4754 Changes with nginx 0.7.18                                        13 Oct 2008
4755 
4756     *) Change: the "underscores_in_headers" directive; now nginx does not
4757        allows underscores in a client request header line names.
4758 
4759     *) Feature: the ngx_http_secure_link_module.
4760 
4761     *) Feature: the "real_ip_header" directive supports any header.
4762 
4763     *) Feature: the "log_subrequest" directive.
4764 
4765     *) Feature: the $realpath_root variable.
4766 
4767     *) Feature: the "http_502" and "http_504" parameters of the
4768        "proxy_next_upstream" directive.
4769 
4770     *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or
4771        "fastcgi_next_upstream" directives did not work.
4772 
4773     *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line
4774        for HEAD requests.
4775 
4776     *) Bugfix: now accept threshold depends on worker_connections.
4777 
4778 
4779 Changes with nginx 0.7.17                                        15 Sep 2008
4780 
4781     *) Feature: now the "directio" directive works on Linux.
4782 
4783     *) Feature: the $pid variable.
4784 
4785     *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did
4786        not work with open_file_cache.
4787 
4788     *) Bugfix: the "access_log" with variables did not work on Linux; the
4789        bug had appeared in 0.7.7.
4790 
4791     *) Bugfix: the ngx_http_charset_module did not understand quoted charset
4792        name received from backend.
4793 
4794 
4795 Changes with nginx 0.7.16                                        08 Sep 2008
4796 
4797     *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
4798        appeared in 0.7.15.
4799 
4800 
4801 Changes with nginx 0.7.15                                        08 Sep 2008
4802 
4803     *) Feature: the ngx_http_random_index_module.
4804 
4805     *) Feature: the "directio" directive has been optimized for file
4806        requests starting from arbitrary position.
4807 
4808     *) Feature: the "directio" directive turns off sendfile if it is
4809        necessary.
4810 
4811     *) Feature: now nginx allows underscores in a client request header line
4812        names.
4813 
4814 
4815 Changes with nginx 0.7.14                                        01 Sep 2008
4816 
4817     *) Change: now the ssl_certificate and ssl_certificate_key directives
4818        have no default values.
4819 
4820     *) Feature: the "listen" directive supports the "ssl" parameter.
4821 
4822     *) Feature: now nginx takes into account a time zone change while
4823        reconfiguration on FreeBSD and Linux.
4824 
4825     *) Bugfix: the "listen" directive parameters such as "backlog",
4826        "rcvbuf", etc. were not set, if a default server was not the first
4827        one.
4828 
4829     *) Bugfix: if URI part captured by a "rewrite" directive was used as a
4830        query string, then the query string was not escaped.
4831 
4832     *) Bugfix: configuration file validity test improvements.
4833 
4834 
4835 Changes with nginx 0.7.13                                        26 Aug 2008
4836 
4837     *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
4838        appeared in 0.7.12.
4839 
4840 
4841 Changes with nginx 0.7.12                                        26 Aug 2008
4842 
4843     *) Feature: the "server_name" directive supports empty name "".
4844 
4845     *) Feature: the "gzip_disable" directive supports special "msie6" mask.
4846 
4847     *) Bugfix: if the "max_fails=0" parameter was used in upstream with
4848        several servers, then a worker process exited on a SIGFPE signal.
4849        Thanks to Maxim Dounin.
4850 
4851     *) Bugfix: a request body was dropped while redirection via an
4852        "error_page" directive.
4853 
4854     *) Bugfix: a full response was returned for request method HEAD while
4855        redirection via an "error_page" directive.
4856 
4857     *) Bugfix: the $r->header_in() method did not return value of the
4858        "Host", "User-Agent", and "Connection" request header lines; the bug
4859        had appeared in 0.7.0.
4860 
4861 
4862 Changes with nginx 0.7.11                                        18 Aug 2008
4863 
4864     *) Change: now ngx_http_charset_module does not work by default with
4865        text/css MIME type.
4866 
4867     *) Feature: now nginx returns the 405 status code for POST method
4868        requesting a static file only if the file exists.
4869 
4870     *) Feature: the "proxy_ssl_session_reuse" directive.
4871 
4872     *) Bugfix: a "proxy_pass" directive without URI part might use original
4873        request after the "X-Accel-Redirect" redirection was used.
4874 
4875     *) Bugfix: if a directory has search only rights and the first index
4876        file was absent, then nginx returned the 500 status code.
4877 
4878     *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1.
4879 
4880 
4881 Changes with nginx 0.7.10                                        13 Aug 2008
4882 
4883     *) Bugfix: in the "addition_types", "charset_types", "gzip_types",
4884        "ssi_types", "sub_filter_types", and "xslt_types" directives; the
4885        bugs had appeared in 0.7.9.
4886 
4887     *) Bugfix: of recursive error_page for 500 status code.
4888 
4889     *) Bugfix: now the ngx_http_realip_module sets address not for whole
4890        keepalive connection, but for each request passed via the connection.
4891 
4892 
4893 Changes with nginx 0.7.9                                         12 Aug 2008
4894 
4895     *) Change: now ngx_http_charset_module works by default with following
4896        MIME types: text/html, text/css, text/xml, text/plain,
4897        text/vnd.wap.wml, application/x-javascript, and application/rss+xml.
4898 
4899     *) Feature: the "charset_types" and "addition_types" directives.
4900 
4901     *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types"
4902        directives use hash.
4903 
4904     *) Feature: the ngx_cpp_test_module.
4905 
4906     *) Feature: the "expires" directive supports daily time.
4907 
4908     *) Feature: the ngx_http_xslt_module improvements and bug fixing.
4909        Thanks to Denis F. Latypoff and Maxim Dounin.
4910 
4911     *) Bugfix: the "log_not_found" directive did not work for index files
4912        tests.
4913 
4914     *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or
4915        eventport methods were used; the bug had appeared in 0.7.7.
4916 
4917     *) Bugfix: if the "server_name", "valid_referers", and "map" directives
4918        used an "*.domain.tld" wildcard and exact name "domain.tld" was not
4919        set, then the exact name was matched by the wildcard; the bug had
4920        appeared in 0.3.18.
4921 
4922 
4923 Changes with nginx 0.7.8                                         04 Aug 2008
4924 
4925     *) Feature: the ngx_http_xslt_module.
4926 
4927     *) Feature: the "$arg_..." variables.
4928 
4929     *) Feature: Solaris directio support.
4930        Thanks to Ivan Debnar.
4931 
4932     *) Bugfix: now if FastCGI server sends a "Location" header line without
4933        status line, then nginx uses 302 status code.
4934        Thanks to Maxim Dounin.
4935 
4936 
4937 Changes with nginx 0.7.7                                         30 Jul 2008
4938 
4939     *) Change: now the EAGAIN error returned by connect() is not considered
4940        as temporary error.
4941 
4942     *) Change: now the $ssl_client_cert variable value is a certificate with
4943        TAB character intended before each line except first one; an
4944        unchanged certificate is available in the $ssl_client_raw_cert
4945        variable.
4946 
4947     *) Feature: the "ask" parameter in the "ssl_verify_client" directive.
4948 
4949     *) Feature: byte-range processing improvements.
4950        Thanks to Maxim Dounin.
4951 
4952     *) Feature: the "directio" directive.
4953        Thanks to Jiang Hong.
4954 
4955     *) Feature: MacOSX 10.5 sendfile() support.
4956 
4957     *) Bugfix: now in MacOSX and Cygwin locations are tested in case
4958        insensitive mode; however, the compare is provided by single-byte
4959        locales only.
4960 
4961     *) Bugfix: mail proxy SSL connections hanged, if select, poll, or
4962        /dev/poll methods were used.
4963 
4964     *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
4965 
4966 
4967 Changes with nginx 0.7.6                                         07 Jul 2008
4968 
4969     *) Bugfix: now if variables are used in the "access_log" directive a
4970        request root existence is always tested.
4971 
4972     *) Bugfix: the ngx_http_flv_module did not support several values in a
4973        query string.
4974 
4975 
4976 Changes with nginx 0.7.5                                         01 Jul 2008
4977 
4978     *) Bugfixes in variables support in the "access_log" directive; the bugs
4979        had appeared in 0.7.4.
4980 
4981     *) Bugfix: nginx could not be built --without-http_gzip_module; the bug
4982        had appeared in 0.7.3.
4983        Thanks to Kirill A. Korinskiy.
4984 
4985     *) Bugfix: if sub_filter and SSI were used together, then responses
4986        might were transferred incorrectly.
4987 
4988 
4989 Changes with nginx 0.7.4                                         30 Jun 2008
4990 
4991     *) Feature: variables support in the "access_log" directive.
4992 
4993     *) Feature: the "open_log_file_cache" directive.
4994 
4995     *) Feature: the -g switch.
4996 
4997     *) Feature: the "Expect" request header line support.
4998 
4999     *) Bugfix: large SSI inclusions might be truncated.
5000 
5001 
5002 Changes with nginx 0.7.3                                         23 Jun 2008
5003 
5004     *) Change: the "rss" extension MIME type has been changed to
5005        "application/rss+xml".
5006 
5007     *) Change: now the "gzip_vary" directive turned on issues a
5008        "Vary: Accept-Encoding" header line for uncompressed responses too.
5009 
5010     *) Feature: now the "rewrite" directive does a redirect automatically if
5011        the "https://" protocol is used.
5012 
5013     *) Bugfix: the "proxy_pass" directive did not work with the HTTPS
5014        protocol; the bug had appeared in 0.6.9.
5015 
5016 
5017 Changes with nginx 0.7.2                                         16 Jun 2008
5018 
5019     *) Feature: now nginx supports EDH key exchange ciphers.
5020 
5021     *) Feature: the "ssl_dhparam" directive.
5022 
5023     *) Feature: the $ssl_client_cert variable.
5024        Thanks to Manlio Perillo.
5025 
5026     *) Bugfix: after changing URI via a "rewrite" directive nginx did not
5027        search a new location; the bug had appeared in 0.7.1.
5028        Thanks to Maxim Dounin.
5029 
5030     *) Bugfix: nginx could not be built without PCRE library; the bug had
5031        appeared in 0.7.1.
5032 
5033     *) Bugfix: when a request to a directory was redirected with the slash
5034        added, nginx dropped a query string from the original request.
5035 
5036 
5037 Changes with nginx 0.7.1                                         26 May 2008
5038 
5039     *) Change: now locations are searched in a tree.
5040 
5041     *) Change: the "optimize_server_names" directive was canceled due to the
5042        "server_name_in_redirect" directive introduction.
5043 
5044     *) Change: some long deprecated directives are not supported anymore.
5045 
5046     *) Change: the "none" parameter in the "ssl_session_cache" directive;
5047        now this is default parameter.
5048        Thanks to Rob Mueller.
5049 
5050     *) Bugfix: worker processes might not catch reconfiguration and log
5051        rotation signals.
5052 
5053     *) Bugfix: nginx could not be built on latest Fedora 9 Linux.
5054        Thanks to Roxis.
5055 
5056 
5057 Changes with nginx 0.7.0                                         19 May 2008
5058 
5059     *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX
5060        in an access_log.
5061        Thanks to Maxim Dounin.
5062 
5063     *) Change: now nginx allows several "Host" request header line.
5064 
5065     *) Feature: the "modified" flag in the "expires" directive.
5066 
5067     *) Feature: the $uid_got and $uid_set variables may be used at any
5068        request processing stage.
5069 
5070     *) Feature: the $hostname variable.
5071        Thanks to Andrei Nigmatulin.
5072 
5073     *) Feature: DESTDIR support.
5074        Thanks to Todd A. Fisher and Andras Voroskoi.
5075 
5076     *) Bugfix: a segmentation fault might occur in worker process on Linux,
5077        if keepalive was enabled.
5078 
5079 
5080 Changes with nginx 0.6.31                                        12 May 2008
5081 
5082     *) Bugfix: nginx did not process FastCGI response if header was at the
5083        end of FastCGI record; the bug had appeared in 0.6.2.
5084        Thanks to Sergey Serov.
5085 
5086     *) Bugfix: a segmentation fault might occur in worker process if a file
5087        was deleted and the "open_file_cache_errors" directive was off.
5088 
5089 
5090 Changes with nginx 0.6.30                                        29 Apr 2008
5091 
5092     *) Change: now if an "include" directive pattern does not match any
5093        file, then nginx does not issue an error.
5094 
5095     *) Feature: now the time in directives may be specified without spaces,
5096        for example, "1h50m".
5097 
5098     *) Bugfix: memory leaks if the "ssl_verify_client" directive was on.
5099        Thanks to Chavelle Vincent.
5100 
5101     *) Bugfix: the "sub_filter" directive might set text to change into
5102        output.
5103 
5104     *) Bugfix: the "error_page" directive did not take into account
5105        arguments in redirected URI.
5106 
5107     *) Bugfix: now nginx always opens files in binary mode under Cygwin.
5108 
5109     *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in
5110        0.6.15.
5111 
5112 
5113 Changes with nginx 0.6.29                                        18 Mar 2008
5114 
5115     *) Feature: the ngx_google_perftools_module.
5116 
5117     *) Bugfix: the ngx_http_perl_module could not be built on 64-bit
5118        platforms; the bug had appeared in 0.6.27.
5119 
5120 
5121 Changes with nginx 0.6.28                                        13 Mar 2008
5122 
5123     *) Bugfix: the rtsig method could not be built; the bug had appeared in
5124        0.6.27.
5125 
5126 
5127 Changes with nginx 0.6.27                                        12 Mar 2008
5128 
5129     *) Change: now by default the rtsig method is not built on
5130        Linux 2.6.18+.
5131 
5132     *) Change: now a request method is not changed while redirection to a
5133        named location via an "error_page" directive.
5134 
5135     *) Feature: the "resolver" and "resolver_timeout" directives in SMTP
5136        proxy.
5137 
5138     *) Feature: the "post_action" directive supports named locations.
5139 
5140     *) Bugfix: a segmentation fault occurred in worker process, if a request
5141        was redirected from proxy, FastCGI, or memcached location to static
5142        named locations.
5143 
5144     *) Bugfix: browsers did not repeat SSL handshake if there is no valid
5145        client certificate in first handshake.
5146        Thanks to Alexander V. Inyukhin.
5147 
5148     *) Bugfix: if response code 495-497 was redirected via an "error_page"
5149        directive without code change, then nginx tried to allocate too many
5150        memory.
5151 
5152     *) Bugfix: memory leak in long-lived non buffered connections.
5153 
5154     *) Bugfix: memory leak in resolver.
5155 
5156     *) Bugfix: a segmentation fault occurred in worker process, if a request
5157        was redirected from proxy, FastCGI, or memcached location to static
5158        named locations.
5159 
5160     *) Bugfix: in the $proxy_host and $proxy_port variables caching.
5161        Thanks to Sergey Bochenkov.
5162 
5163     *) Bugfix: a "proxy_pass" directive with variables used incorrectly the
5164        same port as in another "proxy_pass" directive with the same host
5165        name and without variables.
5166        Thanks to Sergey Bochenkov.
5167 
5168     *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some
5169        64-bit platforms while reconfiguration.
5170 
5171     *) Bugfix: a segmentation fault occurred in worker process, if empty
5172        stub block was used second time in SSI.
5173 
5174     *) Bugfix: in copying URI part contained escaped symbols into arguments.
5175 
5176 
5177 Changes with nginx 0.6.26                                        11 Feb 2008
5178 
5179     *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not
5180        check a response length.
5181 
5182     *) Bugfix: a segmentation fault occurred in worker process, if big value
5183        was used in a "expires" directive.
5184        Thanks to Joaquin Cuenca Abela.
5185 
5186     *) Bugfix: nginx incorrectly detected cache line size on Pentium 4.
5187        Thanks to Gena Makhomed.
5188 
5189     *) Bugfix: in proxied or FastCGI subrequests a client original method
5190        was used instead of the GET method.
5191 
5192     *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
5193        Thanks to Ben Maurer.
5194 
5195     *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed
5196        (SSL: )"; the bug had appeared in 0.6.23.
5197 
5198     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
5199        error; the bug had appeared in 0.6.23.
5200 
5201 
5202 Changes with nginx 0.6.25                                        08 Jan 2008
5203 
5204     *) Change: now the "server_name_in_redirect" directive is used instead
5205        of the "server_name" directive's special "*" parameter.
5206 
5207     *) Change: now wildcard and regex names can be used as main name in a
5208        "server_name" directive.
5209 
5210     *) Change: the "satisfy_any" directive was replaced by the "satisfy"
5211        directive.
5212 
5213     *) Workaround: old worker processes might hog CPU after reconfiguration
5214        if they was run under Linux OpenVZ.
5215 
5216     *) Feature: the "min_delete_depth" directive.
5217 
5218     *) Bugfix: the COPY and MOVE methods did not work with single files.
5219 
5220     *) Bugfix: the ngx_http_gzip_static_module did not allow the
5221        ngx_http_dav_module to work; the bug had appeared in 0.6.23.
5222 
5223     *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
5224        Thanks to Ben Maurer.
5225 
5226     *) Bugfix: nginx could not be built without PCRE library; the bug had
5227        appeared in 0.6.23.
5228 
5229 
5230 Changes with nginx 0.6.24                                        27 Dec 2007
5231 
5232     *) Bugfix: a segmentation fault might occur in worker process if HTTPS
5233        was used; the bug had appeared in 0.6.23.
5234 
5235 
5236 Changes with nginx 0.6.23                                        27 Dec 2007
5237 
5238     *) Change: the "off" parameter in the "ssl_session_cache" directive; now
5239        this is default parameter.
5240 
5241     *) Change: the "open_file_cache_retest" directive was renamed to the
5242        "open_file_cache_valid".
5243 
5244     *) Feature: the "open_file_cache_min_uses" directive.
5245 
5246     *) Feature: the ngx_http_gzip_static_module.
5247 
5248     *) Feature: the "gzip_disable" directive.
5249 
5250     *) Feature: the "memcached_pass" directive may be used inside the "if"
5251        block.
5252 
5253     *) Bugfix: a segmentation fault occurred in worker process, if the
5254        "memcached_pass" and "if" directives were used in the same location.
5255 
5256     *) Bugfix: if a "satisfy_any on" directive was used and not all access
5257        and auth modules directives were set, then other given access and
5258        auth directives were not tested;
5259 
5260     *) Bugfix: regex parameters in a "valid_referers" directive were not
5261        inherited from previous level.
5262 
5263     *) Bugfix: a "post_action" directive did run if a request was completed
5264        with 499 status code.
5265 
5266     *) Bugfix: optimization of 16K buffer usage in a SSL connection.
5267        Thanks to Ben Maurer.
5268 
5269     *) Bugfix: the STARTTLS in SMTP mode did not work.
5270        Thanks to Oleg Motienko.
5271 
5272     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
5273        error; the bug had appeared in 0.5.13.
5274 
5275 
5276 Changes with nginx 0.6.22                                        19 Dec 2007
5277 
5278     *) Change: now all ngx_http_perl_module methods return values copied to
5279        perl's allocated memory.
5280 
5281     *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before
5282        5.8.6 was used, and perl supported threads, then during
5283        reconfiguration the master process aborted; the bug had appeared in
5284        0.5.9.
5285        Thanks to Boris Zhmurov.
5286 
5287     *) Bugfix: the ngx_http_perl_module methods may get invalid values of
5288        the regex captures.
5289 
5290     *) Bugfix: a segmentation fault occurred in worker process, if the
5291        $r->has_request_body() method was called for a request whose small
5292        request body was already received.
5293 
5294     *) Bugfix: large_client_header_buffers did not freed before going to
5295        keep-alive state.
5296        Thanks to Olexander Shtepa.
5297 
5298     *) Bugfix: the last address was missed in the $upstream_addr variable;
5299        the bug had appeared in 0.6.18.
5300 
5301     *) Bugfix: the "fastcgi_catch_stderr" directive did return error code;
5302        now it returns 502 code, that can be rerouted to a next server using
5303        the "fastcgi_next_upstream invalid_header" directive.
5304 
5305     *) Bugfix: a segmentation fault occurred in master process if the
5306        "fastcgi_catch_stderr" directive was used; the bug had appeared in
5307        0.6.10.
5308        Thanks to Manlio Perillo.
5309 
5310 
5311 Changes with nginx 0.6.21                                        03 Dec 2007
5312 
5313     *) Change: if variable values used in a "proxy_pass" directive contain
5314        IP-addresses only, then a "resolver" directive is not mandatory.
5315 
5316     *) Bugfix: a segmentation fault might occur in worker process if a
5317        "proxy_pass" directive with URI-part was used; the bug had appeared
5318        in 0.6.19.
5319 
5320     *) Bugfix: if resolver was used on platform that does not support
5321        kqueue, then nginx issued an alert "name is out of response".
5322        Thanks to Andrei Nigmatulin.
5323 
5324     *) Bugfix: if the $server_protocol was used in FastCGI parameters and a
5325        request line length was near to the "client_header_buffer_size"
5326        directive value, then nginx issued an alert "fastcgi: the request
5327        record is too big".
5328 
5329     *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS
5330        server, then nginx returned usual response.
5331 
5332 
5333 Changes with nginx 0.6.20                                        28 Nov 2007
5334 
5335     *) Bugfix: a segmentation fault might occur in worker process if a
5336        "proxy_pass" directive with URI-part was used; the bug had appeared
5337        in 0.6.19.
5338 
5339 
5340 Changes with nginx 0.6.19                                        27 Nov 2007
5341 
5342     *) Bugfix: the 0.6.18 version could not be built.
5343 
5344 
5345 Changes with nginx 0.6.18                                        27 Nov 2007
5346 
5347     *) Change: now the ngx_http_userid_module adds start time microseconds
5348        to the cookie field contains a pid value.
5349 
5350     *) Change: now the full request line instead of URI only is written to
5351        error_log.
5352 
5353     *) Feature: variables support in the "proxy_pass" directive.
5354 
5355     *) Feature: the "resolver" and "resolver_timeout" directives.
5356 
5357     *) Feature: now the directive "add_header last-modified ''" deletes a
5358        "Last-Modified" response header line.
5359 
5360     *) Bugfix: the "limit_rate" directive did not allow to use full
5361        throughput, even if limit value was very high.
5362 
5363 
5364 Changes with nginx 0.6.17                                        15 Nov 2007
5365 
5366     *) Feature: the "If-Range" request header line support.
5367        Thanks to Alexander V. Inyukhin.
5368 
5369     *) Bugfix: URL double escaping in a redirect of the "msie_refresh"
5370        directive; the bug had appeared in 0.6.4.
5371 
5372     *) Bugfix: the "autoindex" directive did not work with the "alias /"
5373        directive.
5374 
5375     *) Bugfix: a segmentation fault might occur in worker process if
5376        subrequests were used.
5377 
5378     *) Bugfix: the big responses may be transferred truncated if SSL and
5379        gzip were used.
5380 
5381     *) Bugfix: the $status variable was equal to 0 if a proxied server
5382        returned response in HTTP/0.9 version.
5383 
5384 
5385 Changes with nginx 0.6.16                                        29 Oct 2007
5386 
5387     *) Change: now the uname(2) is used on Linux instead of procfs.
5388        Thanks to Ilya Novikov.
5389 
5390     *) Bugfix: if the "?" character was in a "error_page" directive, then it
5391        was escaped in a proxied request; the bug had appeared in 0.6.11.
5392 
5393     *) Bugfix: compatibility with mget.
5394 
5395 
5396 Changes with nginx 0.6.15                                        22 Oct 2007
5397 
5398     *) Feature: Cygwin compatibility.
5399        Thanks to Vladimir Kutakov.
5400 
5401     *) Feature: the "merge_slashes" directive.
5402 
5403     *) Feature: the "gzip_vary" directive.
5404 
5405     *) Feature: the "server_tokens" directive.
5406 
5407     *) Bugfix: nginx did not unescape URI in the "include" SSI command.
5408 
5409     *) Bugfix: the segmentation fault was occurred on start or while
5410        reconfiguration if variable was used in the "charset" or
5411        "source_charset" directives.
5412 
5413     *) Bugfix: nginx returned the 400 response on requests like
5414        "GET http://www.domain.com HTTP/1.0".
5415        Thanks to James Oakley.
5416 
5417     *) Bugfix: if request with request body was redirected using the
5418        "error_page" directive, then nginx tried to read the request body
5419        again; the bug had appeared in 0.6.7.
5420 
5421     *) Bugfix: a segmentation fault occurred in worker process if no
5422        server_name was explicitly defined for server processing request; the
5423        bug had appeared in 0.6.7.
5424 
5425 
5426 Changes with nginx 0.6.14                                        15 Oct 2007
5427 
5428     *) Change: now by default the "echo" SSI command uses entity encoding.
5429 
5430     *) Feature: the "encoding" parameter in the "echo" SSI command.
5431 
5432     *) Feature: the "access_log" directive may be used inside the
5433        "limit_except" block.
5434 
5435     *) Bugfix: if all upstream servers were failed, then all servers had got
5436        weight the was equal one until servers became alive; the bug had
5437        appeared in 0.6.6.
5438 
5439     *) Bugfix: a segmentation fault occurred in worker process if
5440        $date_local and $date_gmt were used outside the
5441        ngx_http_ssi_filter_module.
5442 
5443     *) Bugfix: a segmentation fault might occur in worker process if debug
5444        log was enabled.
5445        Thanks to Andrei Nigmatulin.
5446 
5447     *) Bugfix: ngx_http_memcached_module did not set
5448        $upstream_response_time.
5449        Thanks to Maxim Dounin.
5450 
5451     *) Bugfix: a worker process may got caught in an endless loop, if the
5452        memcached was used.
5453 
5454     *) Bugfix: nginx supported low case only "close" and "keep-alive" values
5455        in the "Connection" request header line; the bug had appeared in
5456        0.6.11.
5457 
5458     *) Bugfix: sub_filter did not work with empty substitution.
5459 
5460     *) Bugfix: in sub_filter parsing.
5461 
5462 
5463 Changes with nginx 0.6.13                                        24 Sep 2007
5464 
5465     *) Bugfix: nginx did not close directory file on HEAD request if
5466        autoindex was used.
5467        Thanks to Arkadiusz Patyk.
5468 
5469 
5470 Changes with nginx 0.6.12                                        21 Sep 2007
5471 
5472     *) Change: mail proxy was split on three modules: pop3, imap and smtp.
5473 
5474     *) Feature: the --without-mail_pop3_module, --without-mail_imap_module,
5475        and --without-mail_smtp_module configuration parameters.
5476 
5477     *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer"
5478        directives of the ngx_mail_smtp_module.
5479 
5480     *) Bugfix: the trailing wildcards did not work; the bug had appeared in
5481        0.6.9.
5482 
5483     *) Bugfix: nginx could not start on Solaris if the shared PCRE library
5484        located in non-standard place was used.
5485 
5486     *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives
5487        did not hide response header lines whose name was longer than 32
5488        characters.
5489        Thanks to Manlio Perillo.
5490 
5491 
5492 Changes with nginx 0.6.11                                        11 Sep 2007
5493 
5494     *) Bugfix: active connection counter always increased if mail proxy was
5495        used.
5496 
5497     *) Bugfix: if backend returned response header only using non-buffered
5498        proxy, then nginx closed backend connection on timeout.
5499 
5500     *) Bugfix: nginx did not support several "Connection" request header
5501        lines.
5502 
5503     *) Bugfix: if the "max_fails" was set for upstream server, then after
5504        first failure server weight was always one; the bug had appeared in
5505        0.6.6.
5506 
5507 
5508 Changes with nginx 0.6.10                                        03 Sep 2007
5509 
5510     *) Feature: the "open_file_cache", "open_file_cache_retest", and
5511        "open_file_cache_errors" directives.
5512 
5513     *) Bugfix: socket leak; the bug had appeared in 0.6.7.
5514 
5515     *) Bugfix: a charset set by the "charset" directive was not appended to
5516        the "Content-Type" header set by $r->send_http_header().
5517 
5518     *) Bugfix: a segmentation fault might occur in worker process if
5519        /dev/poll method was used.
5520 
5521 
5522 Changes with nginx 0.6.9                                         28 Aug 2007
5523 
5524     *) Bugfix: a worker process may got caught in an endless loop, if the
5525        HTTPS protocol was used; the bug had appeared in 0.6.7.
5526 
5527     *) Bugfix: if server listened on two addresses or ports and trailing
5528        wildcard was used, then nginx did not run.
5529 
5530     *) Bugfix: the "ip_hash" directive might incorrectly mark servers as
5531        down.
5532 
5533     *) Bugfix: nginx could not be built on amd64; the bug had appeared in
5534        0.6.8.
5535 
5536 
5537 Changes with nginx 0.6.8                                         20 Aug 2007
5538 
5539     *) Change: now nginx tries to set the "worker_priority",
5540        "worker_rlimit_nofile", "worker_rlimit_core", and
5541        "worker_rlimit_sigpending" without super-user privileges.
5542 
5543     *) Change: now nginx escapes space and "%" in request to a mail proxy
5544        authentication server.
5545 
5546     *) Change: now nginx escapes "%" in $memcached_key variable.
5547 
5548     *) Bugfix: nginx used path relative to configuration prefix for
5549        non-absolute configuration file path specified in the "-c" key; the
5550        bug had appeared in 0.6.6.
5551 
5552     *) Bugfix: nginx did not work on FreeBSD/sparc64.
5553 
5554 
5555 Changes with nginx 0.6.7                                         15 Aug 2007
5556 
5557     *) Change: now the paths specified in the "include",
5558        "auth_basic_user_file", "perl_modules", "ssl_certificate",
5559        "ssl_certificate_key", and "ssl_client_certificate" directives are
5560        relative to directory of nginx configuration file nginx.conf, but not
5561        to nginx prefix directory.
5562 
5563     *) Change: the --sysconfdir=PATH option in configure was canceled.
5564 
5565     *) Change: the special make target "upgrade1" was defined for online
5566        upgrade of 0.1.x versions.
5567 
5568     *) Feature: the "server_name" and "valid_referers" directives support
5569        regular expressions.
5570 
5571     *) Feature: the "server" directive in the "upstream" context supports
5572        the "backup" parameter.
5573 
5574     *) Feature: the ngx_http_perl_module supports the
5575        $r->discard_request_body.
5576 
5577     *) Feature: the "add_header Last-Modified ..." directive changes the
5578        "Last-Modified" response header line.
5579 
5580     *) Bugfix: if a response different than 200 was returned to a request
5581        with body and connection went to the keep-alive state after the
5582        request, then nginx returned 400 for the next request.
5583 
5584     *) Bugfix: a segmentation fault occurred in worker process if invalid
5585        address was set in the "auth_http" directive.
5586 
5587     *) Bugfix: now nginx uses default listen backlog value 511 on all
5588        platforms except FreeBSD.
5589        Thanks to Jiang Hong.
5590 
5591     *) Bugfix: a worker process may got caught in an endless loop, if a
5592        "server" inside "upstream" block was marked as "down"; the bug had
5593        appeared in 0.6.6.
5594 
5595     *) Bugfix: now Solaris sendfilev() is not used to transfer the client
5596        request body to FastCGI-server via the unix domain socket.
5597 
5598 
5599 Changes with nginx 0.6.6                                         30 Jul 2007
5600 
5601     *) Feature: the --sysconfdir=PATH option in configure.
5602 
5603     *) Feature: named locations.
5604 
5605     *) Feature: the $args variable can be set with the "set" directive.
5606 
5607     *) Feature: the $is_args variable.
5608 
5609     *) Bugfix: fair big weight upstream balancer.
5610 
5611     *) Bugfix: if a client has closed connection to mail proxy then nginx
5612        might not close connection to backend.
5613 
5614     *) Bugfix: if the same host without specified port was used as backend
5615        for HTTP and HTTPS, then nginx used only one port - 80 or 443.
5616 
5617     *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early
5618        versions; the bug had appeared in 0.6.4.
5619 
5620 
5621 Changes with nginx 0.6.5                                         23 Jul 2007
5622 
5623     *) Feature: $nginx_version variable.
5624        Thanks to Nick S. Grechukh.
5625 
5626     *) Feature: the mail proxy supports AUTHENTICATE in IMAP mode.
5627        Thanks to Maxim Dounin.
5628 
5629     *) Feature: the mail proxy supports STARTTLS in SMTP mode.
5630        Thanks to Maxim Dounin.
5631 
5632     *) Bugfix: now nginx escapes space in $memcached_key variable.
5633 
5634     *) Bugfix: nginx was incorrectly built by Sun Studio on Solaris/amd64.
5635        Thanks to Jiang Hong.
5636 
5637     *) Bugfix: of minor potential bugs.
5638        Thanks to Coverity's Scan.
5639 
5640 
5641 Changes with nginx 0.6.4                                         17 Jul 2007
5642 
5643     *) Security: the "msie_refresh" directive allowed XSS.
5644        Thanks to Maxim Boguk.
5645 
5646     *) Change: the "proxy_store" and "fastcgi_store" directives were
5647        changed.
5648 
5649     *) Feature: the "proxy_store_access" and "fastcgi_store_access"
5650        directives.
5651 
5652     *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
5653        Studio.
5654        Thanks to Andrei Nigmatulin.
5655 
5656     *) Workaround: for Sun Studio 12.
5657        Thanks to Jiang Hong.
5658 
5659 
5660 Changes with nginx 0.6.3                                         12 Jul 2007
5661 
5662     *) Feature: the "proxy_store" and "fastcgi_store" directives.
5663 
5664     *) Bugfix: a segmentation fault might occur in worker process if the
5665        "auth_http_header" directive was used.
5666        Thanks to Maxim Dounin.
5667 
5668     *) Bugfix: a segmentation fault occurred in worker process if the
5669        CRAM-MD5 authentication method was used, but it was not enabled.
5670 
5671     *) Bugfix: a segmentation fault might occur in worker process when the
5672        HTTPS protocol was used in the "proxy_pass" directive.
5673 
5674     *) Bugfix: a segmentation fault might occur in worker process if the
5675        eventport method was used.
5676 
5677     *) Bugfix: the "proxy_ignore_client_abort" and
5678        "fastcgi_ignore_client_abort" directives did not work; the bug had
5679        appeared in 0.5.13.
5680 
5681 
5682 Changes with nginx 0.6.2                                         09 Jul 2007
5683 
5684     *) Bugfix: if the FastCGI header was split in records, then nginx passed
5685        garbage in the header to a client.
5686 
5687 
5688 Changes with nginx 0.6.1                                         17 Jun 2007
5689 
5690     *) Bugfix: in SSI parsing.
5691 
5692     *) Bugfix: if remote SSI subrequest was used, then posterior local file
5693        subrequest might transferred to client in wrong order.
5694 
5695     *) Bugfix: large SSI inclusions buffered in temporary files were
5696        truncated.
5697 
5698     *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal
5699        to the master process identification number.
5700 
5701 
5702 Changes with nginx 0.6.0                                         14 Jun 2007
5703 
5704     *) Feature: the "server_name", "map", and "valid_referers" directives
5705        support the "www.example.*" wildcards.
5706 
5707 
5708 Changes with nginx 0.5.25                                        11 Jun 2007
5709 
5710     *) Bugfix: nginx could not be built with the
5711        --without-http_rewrite_module parameter; the bug had appeared in
5712        0.5.24.
5713 
5714 
5715 Changes with nginx 0.5.24                                        06 Jun 2007
5716 
5717     *) Security: the "ssl_verify_client" directive did not work if request
5718        was made using HTTP/0.9.
5719 
5720     *) Bugfix: a part of response body might be passed uncompressed if gzip
5721        was used; the bug had appeared in 0.5.23.
5722 
5723 
5724 Changes with nginx 0.5.23                                        04 Jun 2007
5725 
5726     *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS
5727        extension.
5728 
5729     *) Feature: the "fastcgi_catch_stderr" directive.
5730        Thanks to Nick S. Grechukh, OWOX project.
5731 
5732     *) Bugfix: a segmentation fault occurred in master process if two
5733        virtual servers should bind() to the overlapping ports.
5734 
5735     *) Bugfix: if nginx was built with ngx_http_perl_module and perl
5736        supported threads, then during second reconfiguration the error
5737        messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
5738 
5739     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
5740 
5741 
5742 Changes with nginx 0.5.22                                        29 May 2007
5743 
5744     *) Bugfix: a big request body might not be passed to backend; the bug
5745        had appeared in 0.5.21.
5746 
5747 
5748 Changes with nginx 0.5.21                                        28 May 2007
5749 
5750     *) Bugfix: if server has more than about ten locations, then regex
5751        locations might be chosen not in that order as they were specified.
5752 
5753     *) Bugfix: a worker process may got caught in an endless loop on 64-bit
5754        platform, if the 33-rd or next in succession backend has failed.
5755        Thanks to Anton Povarov.
5756 
5757     *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE
5758        library was used.
5759        Thanks to Andrei Nigmatulin.
5760 
5761     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
5762 
5763 
5764 Changes with nginx 0.5.20                                        07 May 2007
5765 
5766     *) Feature: the "sendfile_max_chunk" directive.
5767 
5768     *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..."
5769        variables may be changed using the "set" directive.
5770 
5771     *) Bugfix: a segmentation fault might occur in worker process if the SSI
5772        command 'if expr="$var = /"' was used.
5773 
5774     *) Bugfix: trailing boundary of multipart range response was transferred
5775        incorrectly.
5776        Thanks to Evan Miller.
5777 
5778     *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
5779        Studio.
5780        Thanks to Andrei Nigmatulin.
5781 
5782     *) Bugfix: the ngx_http_perl_module could not be built by Solaris make.
5783        Thanks to Andrei Nigmatulin.
5784 
5785 
5786 Changes with nginx 0.5.19                                        24 Apr 2007
5787 
5788     *) Change: now the $request_time variable has millisecond precision.
5789 
5790     *) Change: the method $r->rflush of ngx_http_perl_module was renamed to
5791        the $r->flush.
5792 
5793     *) Feature: the $upstream_addr variable.
5794 
5795     *) Feature: the "proxy_headers_hash_max_size" and
5796        "proxy_headers_hash_bucket_size" directives.
5797        Thanks to Volodymyr Kostyrko.
5798 
5799     *) Bugfix: the files more than 2G could not be transferred using
5800        sendfile and limit_rate on 64-bit platforms.
5801 
5802     *) Bugfix: the files more than 2G could not be transferred using
5803        sendfile on 64-bit Linux.
5804 
5805 
5806 Changes with nginx 0.5.18                                        19 Apr 2007
5807 
5808     *) Feature: the ngx_http_sub_filter_module.
5809 
5810     *) Feature: the "$upstream_http_..." variables.
5811 
5812     *) Feature: now the $upstream_status and $upstream_response_time
5813        variables keep data about all upstreams before X-Accel-Redirect.
5814 
5815     *) Bugfix: a segmentation fault occurred in master process after first
5816        reconfiguration and receiving any signal if nginx was built with
5817        ngx_http_perl_module and perl did not support multiplicity; the bug
5818        had appeared in 0.5.9.
5819 
5820     *) Bugfix: if perl did not support multiplicity, then after
5821        reconfiguration perl code did not work; the bug had appeared in
5822        0.3.38.
5823 
5824 
5825 Changes with nginx 0.5.17                                        02 Apr 2007
5826 
5827     *) Change: now nginx always returns the 405 status for the TRACE method.
5828 
5829     *) Feature: now nginx supports the "include" directive inside the
5830        "types" block.
5831 
5832     *) Bugfix: the $document_root variable usage in the "root" and "alias"
5833        directives is disabled: this caused recursive stack overflow.
5834 
5835     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
5836 
5837     *) Bugfix: in some cases non-cacheable variables (such as $uri variable)
5838        returned old cached value.
5839 
5840 
5841 Changes with nginx 0.5.16                                        26 Mar 2007
5842 
5843     *) Bugfix: the C-class network was not used as hash key in the "ip_hash"
5844        directive.
5845        Thanks to Pavel Yarkovoy.
5846 
5847     *) Bugfix: a segmentation fault might occur in worker process if a
5848        charset was set in the "Content-Type" header line and the line has
5849        trailing ";"; the bug had appeared in 0.3.50.
5850 
5851     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
5852        used and a request body written in a temporary file was multiple of
5853        32K.
5854 
5855     *) Bugfix: nginx could not be built on Solaris without the --with-debug
5856        option; the bug had appeared in 0.5.15.
5857 
5858 
5859 Changes with nginx 0.5.15                                        19 Mar 2007
5860 
5861     *) Feature: the mail proxy supports authenticated SMTP proxying and the
5862        "smtp_auth", "smtp_capabilities", and "xclient" directives.
5863        Thanks to Anton Yuzhaninov and Maxim Dounin.
5864 
5865     *) Feature: now the keep-alive connections are closed just after
5866        receiving the reconfiguration signal.
5867 
5868     *) Change: the "imap" and "auth" directives were renamed to the "mail"
5869        and "pop3_auth" directives.
5870 
5871     *) Bugfix: a segmentation fault occurred in worker process if the
5872        CRAM-MD5 authentication method was used and the APOP method was
5873        disabled.
5874 
5875     *) Bugfix: if the "starttls only" directive was used in POP3 protocol,
5876        then nginx allowed authentication without switching to the SSL mode.
5877 
5878     *) Bugfix: worker processes did not exit after reconfiguration and did
5879        not rotate logs if the eventport method was used.
5880 
5881     *) Bugfix: a worker process may got caught in an endless loop, if the
5882        "ip_hash" directive was used.
5883 
5884     *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll
5885        methods are used.
5886 
5887 
5888 Changes with nginx 0.5.14                                        23 Feb 2007
5889 
5890     *) Bugfix: nginx ignored superfluous closing "}" in the end of
5891        configuration file.
5892 
5893 
5894 Changes with nginx 0.5.13                                        19 Feb 2007
5895 
5896     *) Feature: the COPY and MOVE methods.
5897 
5898     *) Bugfix: the ngx_http_realip_module set garbage for requests passed
5899        via keep-alive connection.
5900 
5901     *) Bugfix: nginx did not work on big-endian 64-bit Linux.
5902        Thanks to Andrei Nigmatulin.
5903 
5904     *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes
5905        the connection right away, but not after timeout.
5906 
5907     *) Bugfix: if the "epoll" method was used and a client closed a
5908        connection prematurely, then nginx closed the connection after a send
5909        timeout only.
5910 
5911     *) Bugfix: nginx could not be built on platforms different from i386,
5912        amd64, sparc, and ppc; the bug had appeared in 0.5.8.
5913 
5914 
5915 Changes with nginx 0.5.12                                        12 Feb 2007
5916 
5917     *) Bugfix: nginx could not be built on platforms different from i386,
5918        amd64, sparc, and ppc; the bug had appeared in 0.5.8.
5919 
5920     *) Bugfix: a segmentation fault might occur in worker process if the
5921        temporary files were used while working with FastCGI server; the bug
5922        had appeared in 0.5.8.
5923 
5924     *) Bugfix: a segmentation fault might occur in worker process if the
5925        $fastcgi_script_name variable was logged.
5926 
5927     *) Bugfix: ngx_http_perl_module could not be built on Solaris.
5928 
5929 
5930 Changes with nginx 0.5.11                                        05 Feb 2007
5931 
5932     *) Feature: now configure detects system PCRE library in MacPorts.
5933        Thanks to Chris McGrath.
5934 
5935     *) Bugfix: the response was incorrect if several ranges were requested;
5936        the bug had appeared in 0.5.6.
5937 
5938     *) Bugfix: the "create_full_put_path" directive could not create the
5939        intermediate directories if no "dav_access" directive was set.
5940        Thanks to Evan Miller.
5941 
5942     *) Bugfix: the "0" response code might be logged in the access_log
5943        instead of the "400" and "408" error codes.
5944 
5945     *) Bugfix: a segmentation fault might occur in worker process if nginx
5946        was built with -O2 optimization.
5947 
5948 
5949 Changes with nginx 0.5.10                                        26 Jan 2007
5950 
5951     *) Bugfix: while online executable file upgrade the new master process
5952        did not inherit the listening sockets; the bug had appeared in 0.5.9.
5953 
5954     *) Bugfix: a segmentation fault might occur in worker process if nginx
5955        was built with -O2 optimization; the bug had appeared in 0.5.1.
5956 
5957 
5958 Changes with nginx 0.5.9                                         25 Jan 2007
5959 
5960     *) Change: now the ngx_http_memcached_module uses the $memcached_key
5961        variable value as a key.
5962 
5963     *) Feature: the $memcached_key variable.
5964 
5965     *) Feature: the "clean" parameter in the "client_body_in_file_only"
5966        directive.
5967 
5968     *) Feature: the "env" directive.
5969 
5970     *) Feature: the "sendfile" directive is available inside the "if" block.
5971 
5972     *) Feature: now on failure of the writing to access nginx logs a message
5973        to error_log, but not more often than once a minute.
5974 
5975     *) Bugfix: the "access_log off" directive did not always turn off the
5976        logging.
5977 
5978 
5979 Changes with nginx 0.5.8                                         19 Jan 2007
5980 
5981     *) Bugfix: a segmentation fault might occur if
5982        "client_body_in_file_only on" was used and a request body was small.
5983 
5984     *) Bugfix: a segmentation fault occurred if
5985        "client_body_in_file_only on" and "proxy_pass_request_body off" or
5986        "fastcgi_pass_request_body off" directives were used, and nginx
5987        switched to a next upstream.
5988 
5989     *) Bugfix: if the "proxy_buffering off" directive was used and a client
5990        connection was non-active, then the connection was closed after send
5991        timeout; the bug had appeared in 0.4.7.
5992 
5993     *) Bugfix: if the "epoll" method was used and a client closed a
5994        connection prematurely, then nginx closed the connection after a send
5995        timeout only.
5996 
5997     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
5998        used.
5999 
6000     *) Bugfixes in the "limit_zone" directive.
6001 
6002 
6003 Changes with nginx 0.5.7                                         15 Jan 2007
6004 
6005     *) Feature: the ssl_session_cache storage optimization.
6006 
6007     *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
6008 
6009     *) Bugfix: the segmentation fault was occurred on start or while
6010        reconfiguration if the "ssl_session_cache" or "limit_zone" directives
6011        were used on 64-bit platforms.
6012 
6013     *) Bugfix: a segmentation fault occurred if the "add_before_body" or
6014        "add_after_body" directives were used and there was no "Content-Type"
6015        header line in response.
6016 
6017     *) Bugfix: the OpenSSL library was always built with the threads
6018        support.
6019        Thanks to Den Ivanov.
6020 
6021     *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility.
6022 
6023 
6024 Changes with nginx 0.5.6                                         09 Jan 2007
6025 
6026     *) Change: now the ngx_http_index_module ignores all methods except the
6027        GET, HEAD, and POST methods.
6028 
6029     *) Feature: the ngx_http_limit_zone_module.
6030 
6031     *) Feature: the $binary_remote_addr variable.
6032 
6033     *) Feature: the "ssl_session_cache" directives of the
6034        ngx_http_ssl_module and ngx_imap_ssl_module.
6035 
6036     *) Feature: the DELETE method supports recursive removal.
6037 
6038     *) Bugfix: the byte-ranges were transferred incorrectly if the
6039        $r->sendfile() was used.
6040 
6041 
6042 Changes with nginx 0.5.5                                         24 Dec 2006
6043 
6044     *) Change: the -v switch does not show compiler information any more.
6045 
6046     *) Feature: the -V switch.
6047 
6048     *) Feature: the "worker_rlimit_core" directive supports size in K, M,
6049        and G.
6050 
6051     *) Bugfix: the nginx.pm module now could be installed by an unprivileged
6052        user.
6053 
6054     *) Bugfix: a segmentation fault might occur if the $r->request_body or
6055        $r->request_body_file methods were used.
6056 
6057     *) Bugfix: the ppc platform specific bugs.
6058 
6059 
6060 Changes with nginx 0.5.4                                         15 Dec 2006
6061 
6062     *) Feature: the "perl" directive may be used inside the "limit_except"
6063        block.
6064 
6065     *) Bugfix: the ngx_http_dav_module required the "Date" request header
6066        line for the DELETE method.
6067 
6068     *) Bugfix: if one only parameter was used in the "dav_access" directive,
6069        then nginx might report about configuration error.
6070 
6071     *) Bugfix: a segmentation fault might occur if the $host variable was
6072        used; the bug had appeared in 0.4.14.
6073 
6074 
6075 Changes with nginx 0.5.3                                         13 Dec 2006
6076 
6077     *) Feature: the ngx_http_perl_module supports the $r->status,
6078        $r->log_error, and $r->sleep methods.
6079 
6080     *) Feature: the $r->variable method supports variables that do not exist
6081        in nginx configuration.
6082 
6083     *) Bugfix: the $r->has_request_body method did not work.
6084 
6085 
6086 Changes with nginx 0.5.2                                         11 Dec 2006
6087 
6088     *) Bugfix: if the "proxy_pass" directive used the name of the "upstream"
6089        block, then nginx tried to resolve the name; the bug had appeared in
6090        0.5.1.
6091 
6092 
6093 Changes with nginx 0.5.1                                         11 Dec 2006
6094 
6095     *) Bugfix: the "post_action" directive might not run after a
6096        unsuccessful completion of a request.
6097 
6098     *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11.
6099        Thanks to Bron Gondwana.
6100 
6101     *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then
6102        the message "no port in upstream" was issued; the bug had appeared in
6103        0.5.0.
6104 
6105     *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
6106        same servers but different ports, then these directives uses the
6107        first described port; the bug had appeared in 0.5.0.
6108 
6109     *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
6110        unix domain sockets, then these directives used first described
6111        socket; the bug had appeared in 0.5.0.
6112 
6113     *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the
6114        last line in the password file and there was no the carriage return,
6115        the line feed, or the ":" symbol after the password.
6116 
6117     *) Bugfix: the $upstream_response_time variable might be equal to
6118        "0.000", although response time was more than 1 millisecond.
6119 
6120 
6121 Changes with nginx 0.5.0                                         04 Dec 2006
6122 
6123     *) Change: the parameters in the "%name" form in the "log_format"
6124        directive are not supported anymore.
6125 
6126     *) Change: the "proxy_upstream_max_fails",
6127        "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails",
6128        "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and
6129        "memcached_upstream_fail_timeout" directives are not supported
6130        anymore.
6131 
6132     *) Feature: the "server" directive in the "upstream" context supports
6133        the "max_fails", "fail_timeout", and "down" parameters.
6134 
6135     *) Feature: the "ip_hash" directive inside the "upstream" block.
6136 
6137     *) Feature: the WAIT status in the "Auth-Status" header line of the
6138        IMAP/POP3 proxy authentication server response.
6139 
6140     *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
6141        appeared in 0.4.14.
6142 
6143 
6144 Changes with nginx 0.4.14                                        27 Nov 2006
6145 
6146     *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
6147 
6148     *) Feature: now configure detects system PCRE library on FreeBSD, Linux,
6149        and NetBSD.
6150 
6151     *) Bugfix: ngx_http_perl_module did not work with perl built with the
6152        threads support; the bug had appeared in 0.3.38.
6153 
6154     *) Bugfix: ngx_http_perl_module did not work if perl was called
6155        recursively.
6156 
6157     *) Bugfix: nginx ignored a host name in a request line.
6158 
6159     *) Bugfix: a worker process may got caught in an endless loop, if a
6160        FastCGI server sent too many data to the stderr.
6161 
6162     *) Bugfix: the $upstream_response_time variable may be negative if the
6163        system time was changed backward.
6164 
6165     *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3
6166        proxy authentication server when POP3 was used.
6167 
6168     *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3
6169        proxy authentication server failed.
6170 
6171 
6172 Changes with nginx 0.4.13                                        15 Nov 2006
6173 
6174     *) Feature: the "proxy_pass" directive may be used inside the
6175        "limit_except" block.
6176 
6177     *) Feature: the "limit_except" directive supports all WebDAV methods.
6178 
6179     *) Bugfix: if the "add_before_body" directive was used without the
6180        "add_after_body" directive, then a response did not transferred
6181        complete.
6182 
6183     *) Bugfix: a large request body did not receive if the epoll method and
6184        the deferred accept() were used.
6185 
6186     *) Bugfix: a charset could not be set for ngx_http_autoindex_module
6187        responses; the bug had appeared in 0.3.50.
6188 
6189     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
6190        used;
6191 
6192     *) Bugfix: the --group= configuration parameter was ignored.
6193        Thanks to Thomas Moschny.
6194 
6195     *) Bugfix: the 50th subrequest in SSI response did not work; the bug had
6196        appeared in 0.3.50.
6197 
6198 
6199 Changes with nginx 0.4.12                                        31 Oct 2006
6200 
6201     *) Feature: the ngx_http_perl_module supports the $r->variable method.
6202 
6203     *) Bugfix: if a big static file was included using SSI in a response,
6204        then the response may be transferred incomplete.
6205 
6206     *) Bugfix: nginx did not omit the "#fragment" part in URI.
6207 
6208 
6209 Changes with nginx 0.4.11                                        25 Oct 2006
6210 
6211     *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
6212 
6213     *) Feature: the ngx_http_perl_module supports the $r->allow_ranges
6214        method.
6215 
6216     *) Bugfix: if the APOP was enabled in the POP3 proxy, then the USER/PASS
6217        commands might not work; the bug had appeared in 0.4.10.
6218 
6219 
6220 Changes with nginx 0.4.10                                        23 Oct 2006
6221 
6222     *) Feature: the POP3 proxy supports the APOP command.
6223 
6224     *) Bugfix: if the select, poll or /dev/poll methods were used, then
6225        while waiting authentication server response the IMAP/POP3 proxy
6226        hogged CPU.
6227 
6228     *) Bugfix: a segmentation fault might occur if the $server_addr variable
6229        was used in the "map" directive.
6230 
6231     *) Bugfix: the ngx_http_flv_module did not support the byte ranges for
6232        full responses; the bug had appeared in 0.4.7.
6233 
6234     *) Bugfix: nginx could not be built on Debian amd64; the bug had
6235        appeared in 0.4.9.
6236 
6237 
6238 Changes with nginx 0.4.9                                         13 Oct 2006
6239 
6240     *) Feature: the "set" parameter in the "include" SSI command.
6241 
6242     *) Feature: the ngx_http_perl_module now tests the nginx.pm module
6243        version.
6244 
6245 
6246 Changes with nginx 0.4.8                                         11 Oct 2006
6247 
6248     *) Bugfix: if an "include" SSI command were before another "include" SSI
6249        command with a "wait" parameter, then the "wait" parameter might not
6250        work.
6251 
6252     *) Bugfix: the ngx_http_flv_module added the FLV header to the full
6253        responses.
6254        Thanks to Alexey Kovyrin.
6255 
6256 
6257 Changes with nginx 0.4.7                                         10 Oct 2006
6258 
6259     *) Feature: the ngx_http_flv_module.
6260 
6261     *) Feature: the $request_body_file variable.
6262 
6263     *) Feature: the "charset" and "source_charset" directives support the
6264        variables.
6265 
6266     *) Bugfix: if an "include" SSI command were before another "include" SSI
6267        command with a "wait" parameter, then the "wait" parameter might not
6268        work.
6269 
6270     *) Bugfix: if the "proxy_buffering off" directive was used or while
6271        working with memcached the connections might not be closed on
6272        timeout.
6273 
6274     *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
6275        and ppc64.
6276 
6277 
6278 Changes with nginx 0.4.6                                         06 Oct 2006
6279 
6280     *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
6281        and ppc64.
6282 
6283     *) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
6284        if its length was set by text string in the
6285        $r->headers_out("Content-Length", ...) method.
6286 
6287     *) Bugfix: after redirecting error by an "error_page" directive any
6288        ngx_http_rewrite_module directive returned this error code; the bug
6289        had appeared in 0.4.4.
6290 
6291 
6292 Changes with nginx 0.4.5                                         02 Oct 2006
6293 
6294     *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
6295        appeared in 0.4.4.
6296 
6297 
6298 Changes with nginx 0.4.4                                         02 Oct 2006
6299 
6300     *) Feature: the $scheme variable.
6301 
6302     *) Feature: the "expires" directive supports the "max" parameter.
6303 
6304     *) Feature: the "include" directive supports the "*" mask.
6305        Thanks to Jonathan Dance.
6306 
6307     *) Bugfix: the "return" directive always overrode the "error_page"
6308        response code redirected by the "error_page" directive.
6309 
6310     *) Bugfix: a segmentation fault occurred if zero-length body was in PUT
6311        method.
6312 
6313     *) Bugfix: the redirect was changed incorrectly if the variables were
6314        used in the "proxy_redirect" directive.
6315 
6316 
6317 Changes with nginx 0.4.3                                         26 Sep 2006
6318 
6319     *) Change: now the 499 error could not be redirected using an
6320        "error_page" directive.
6321 
6322     *) Feature: the Solaris 10 event ports support.
6323 
6324     *) Feature: the ngx_http_browser_module.
6325 
6326     *) Bugfix: a segmentation fault may occur while redirecting the 400
6327        error to the proxied server using a "proxy_pass" directive.
6328 
6329     *) Bugfix: a segmentation fault occurred if an unix domain socket was
6330        used in a "proxy_pass" directive; the bug had appeared in 0.3.47.
6331 
6332     *) Bugfix: SSI did work with memcached and nonbuffered responses.
6333 
6334     *) Workaround: of the Sun Studio PAUSE hardware capability bug.
6335 
6336 
6337 Changes with nginx 0.4.2                                         14 Sep 2006
6338 
6339     *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug had
6340        appeared in 0.4.1.
6341 
6342 
6343 Changes with nginx 0.4.1                                         14 Sep 2006
6344 
6345     *) Bugfix: the DragonFlyBSD compatibility.
6346        Thanks to Pavel Nazarov.
6347 
6348     *) Workaround: of bug in 64-bit Linux sendfile(), when file is more than
6349        2G.
6350 
6351     *) Feature: now on Linux nginx uses O_NOATIME flag for static requests.
6352        Thanks to Yusuf Goolamabbas.
6353 
6354 
6355 Changes with nginx 0.4.0                                         30 Aug 2006
6356 
6357     *) Change in internal API: the HTTP modules initialization was moved
6358        from the init module phase to the HTTP postconfiguration phase.
6359 
6360     *) Change: now the request body is not read beforehand for the
6361        ngx_http_perl_module: it's required to start the reading using the
6362        $r->has_request_body method.
6363 
6364     *) Feature: the ngx_http_perl_module supports the DECLINED return code.
6365 
6366     *) Feature: the ngx_http_dav_module supports the incoming "Date" header
6367        line for the PUT method.
6368 
6369     *) Feature: the "ssi" directive is available inside the "if" block.
6370 
6371     *) Bugfix: a segmentation fault occurred if there was an "index"
6372        directive with variables and the first index name was without
6373        variables; the bug had appeared in 0.1.29.
6374 
6375 
6376 Changes with nginx 0.3.61                                        28 Aug 2006
6377 
6378     *) Change: now the "tcp_nodelay" directive is turned on by default.
6379 
6380     *) Feature: the "msie_refresh" directive.
6381 
6382     *) Feature: the "recursive_error_pages" directive.
6383 
6384     *) Bugfix: the "rewrite" directive returned incorrect redirect, if the
6385        redirect had the captured escaped symbols from original URI.
6386 
6387 
6388 Changes with nginx 0.3.60                                        18 Aug 2006
6389 
6390     *) Bugfix: a worker process may got caught in an endless loop while an
6391        error redirection; the bug had appeared in 0.3.59.
6392 
6393 
6394 Changes with nginx 0.3.59                                        16 Aug 2006
6395 
6396     *) Feature: now is possible to do several redirection using the
6397        "error_page" directive.
6398 
6399     *) Bugfix: the "dav_access" directive did not support three parameters.
6400 
6401     *) Bugfix: the "error_page" directive did not changes the "Content-Type"
6402        header line after the "X-Accel-Redirect" was used; the bug had
6403        appeared in 0.3.58.
6404 
6405 
6406 Changes with nginx 0.3.58                                        14 Aug 2006
6407 
6408     *) Feature: the "error_page" directive supports the variables.
6409 
6410     *) Change: now the procfs interface instead of sysctl is used on Linux.
6411 
6412     *) Change: now the "Content-Type" header line is inherited from first
6413        response when the "X-Accel-Redirect" was used.
6414 
6415     *) Bugfix: the "error_page" directive did not redirect the 413 error.
6416 
6417     *) Bugfix: the trailing "?" did not remove old arguments if no new
6418        arguments were added to a rewritten URI.
6419 
6420     *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
6421 
6422 
6423 Changes with nginx 0.3.57                                        09 Aug 2006
6424 
6425     *) Feature: the $ssl_client_serial variable.
6426 
6427     *) Bugfix: in the "!-e" operator of the "if" directive.
6428        Thanks to Andrian Budanstov.
6429 
6430     *) Bugfix: while a client certificate verification nginx did not send to
6431        a client the required certificates information.
6432 
6433     *) Bugfix: the $document_root variable did not support the variables in
6434        the "root" directive.
6435 
6436 
6437 Changes with nginx 0.3.56                                        04 Aug 2006
6438 
6439     *) Feature: the "dav_access" directive.
6440 
6441     *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e",
6442        "-x", and "!-x" operators.
6443 
6444     *) Bugfix: a segmentation fault occurred if a request returned a
6445        redirect and some sent to client header lines were logged in the
6446        access log.
6447 
6448 
6449 Changes with nginx 0.3.55                                        28 Jul 2006
6450 
6451     *) Feature: the "stub" parameter in the "include" SSI command.
6452 
6453     *) Feature: the "block" SSI command.
6454 
6455     *) Feature: the unicode2nginx script was added to contrib.
6456 
6457     *) Bugfix: if a "root" was specified by variable only, then the root was
6458        relative to a server prefix.
6459 
6460     *) Bugfix: if the request contained "//" or "/./" and escaped symbols
6461        after them, then the proxied request was sent unescaped.
6462 
6463     *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now
6464        returns all "Cookie" header lines.
6465 
6466     *) Bugfix: a segmentation fault occurred if
6467        "client_body_in_file_only on" was used and nginx switched to a next
6468        upstream.
6469 
6470     *) Bugfix: on some condition while reconfiguration character codes
6471        inside the "charset_map" may be treated invalid; the bug had appeared
6472        in 0.3.50.
6473 
6474 
6475 Changes with nginx 0.3.54                                        11 Jul 2006
6476 
6477     *) Feature: nginx now logs the subrequest information to the error log.
6478 
6479     *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and
6480        "memcached_next_upstream" directives support the "off" parameter.
6481 
6482     *) Feature: the "debug_connection" directive supports the CIDR address
6483        form.
6484 
6485     *) Bugfix: if a response of proxied server or FastCGI server was
6486        converted from UTF-8 or back, then it may be transferred incomplete.
6487 
6488     *) Bugfix: the $upstream_response_time variable had the time of the
6489        first request to a backend only.
6490 
6491     *) Bugfix: nginx could not be built on amd64 platform; the bug had
6492        appeared in 0.3.53.
6493 
6494 
6495 Changes with nginx 0.3.53                                        07 Jul 2006
6496 
6497     *) Change: the "add_header" directive adds the string to 204, 301, and
6498        302 responses.
6499 
6500     *) Feature: the "server" directive in the "upstream" context supports
6501        the "weight" parameter.
6502 
6503     *) Feature: the "server_name" directive supports the "*" wildcard.
6504 
6505     *) Feature: nginx supports the request body size more than 2G.
6506 
6507     *) Bugfix: if a client was successfully authorized using "satisfy_any
6508        on", then anyway the message "access forbidden by rule" was written
6509        in the log.
6510 
6511     *) Bugfix: the "PUT" method may erroneously not create a file and return
6512        the 409 code.
6513 
6514     *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx
6515        continued proxying anyway.
6516 
6517 
6518 Changes with nginx 0.3.52                                        03 Jul 2006
6519 
6520     *) Change: the ngx_http_index_module behavior for the "POST /" requests
6521        is reverted to the 0.3.40 version state: the module now does not
6522        return the 405 error.
6523 
6524     *) Bugfix: the worker process may got caught in an endless loop if the
6525        limit rate was used; the bug had appeared in 0.3.37.
6526 
6527     *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even
6528        if the recoding was not needed; the bug had appeared in 0.3.50.
6529 
6530     *) Bugfix: if a code response of the PUT request was 409, then a
6531        temporary file was not removed.
6532 
6533 
6534 Changes with nginx 0.3.51                                        30 Jun 2006
6535 
6536     *) Bugfix: the "<" symbols might disappeared some conditions in the SSI;
6537        the bug had appeared in 0.3.50.
6538 
6539 
6540 Changes with nginx 0.3.50                                        28 Jun 2006
6541 
6542     *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
6543        directives was renamed to the "proxy_intercept_errors" and
6544        "fastcgi_intercept_errors" directives.
6545 
6546     *) Feature: the ngx_http_charset_module supports the recoding from the
6547        single byte encodings to the UTF-8 encoding and back.
6548 
6549     *) Feature: the "X-Accel-Charset" response header line is supported in
6550        proxy and FastCGI mode.
6551 
6552     *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI
6553        command was removed only if the command also has the "$" symbol.
6554 
6555     *) Bugfix: the "<!--" string might be added on some conditions in the
6556        SSI after inclusion.
6557 
6558     *) Bugfix: if the "Content-Length: 0" header line was in response, then
6559        in nonbuffered proxying mode the client connection was not closed.
6560 
6561 
6562 Changes with nginx 0.3.49                                        31 May 2006
6563 
6564     *) Bugfix: in the "set" directive.
6565 
6566     *) Bugfix: if two or more FastCGI subrequests was in SSI, then first
6567        subrequest output was included instead of second and following
6568        subrequests.
6569 
6570 
6571 Changes with nginx 0.3.48                                        29 May 2006
6572 
6573     *) Change: now the ngx_http_charset_module works for subrequests, if the
6574        response has no "Content-Type" header line.
6575 
6576     *) Bugfix: if the "proxy_pass" directive has no URI part, then the
6577        "proxy_redirect default" directive add the unnecessary slash in start
6578        of the rewritten redirect.
6579 
6580     *) Bugfix: the internal redirect always transform client's HTTP method
6581        to GET, now the transformation is made for the "X-Accel-Redirect"
6582        redirects only and if the method is not HEAD; the bug had appeared in
6583        0.3.42.
6584 
6585     *) Bugfix: the ngx_http_perl_module could not be built, if the perl was
6586        built with the threads support; the bug had appeared in 0.3.46.
6587 
6588 
6589 Changes with nginx 0.3.47                                        23 May 2006
6590 
6591     *) Feature: the "upstream" directive.
6592 
6593     *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the
6594        SSI command is always removed.
6595 
6596 
6597 Changes with nginx 0.3.46                                        11 May 2006
6598 
6599     *) Feature: the "proxy_hide_header", "proxy_pass_header",
6600        "fastcgi_hide_header", and "fastcgi_pass_header" directives.
6601 
6602     *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and
6603        "proxy_pass_server" directives were canceled.
6604 
6605     *) Feature: the "X-Accel-Buffering" response header line is supported in
6606        proxy mode.
6607 
6608     *) Bugfix: the reconfiguration bug and memory leaks in the
6609        ngx_http_perl_module.
6610 
6611 
6612 Changes with nginx 0.3.45                                        06 May 2006
6613 
6614     *) Feature: the "ssl_verify_client", "ssl_verify_depth", and
6615        "ssl_client_certificate" directives.
6616 
6617     *) Change: the $request_method variable now returns the main request
6618        method.
6619 
6620     *) Change: the &deg; symbol codes were changed in koi-win conversion
6621        table.
6622 
6623     *) Feature: the euro and N symbols were added to koi-win conversion
6624        table.
6625 
6626     *) Bugfix: if nginx distributed the requests among several backends and
6627        some backend failed, then requests intended for this backend was
6628        directed to one live backend only instead of being distributed among
6629        the rest.
6630 
6631 
6632 Changes with nginx 0.3.44                                        04 May 2006
6633 
6634     *) Feature: the "wait" parameter in the "include" SSI command.
6635 
6636     *) Feature: the Ukrainian and Byelorussian characters were added to
6637        koi-win conversion table.
6638 
6639     *) Bugfix: in the SSI.
6640 
6641 
6642 Changes with nginx 0.3.43                                        26 Apr 2006
6643 
6644     *) Bugfix: in the SSI.
6645 
6646 
6647 Changes with nginx 0.3.42                                        26 Apr 2006
6648 
6649     *) Feature: the "bind" option of the "listen" directive in IMAP/POP3
6650        proxy.
6651 
6652     *) Bugfix: if the same capture in the "rewrite" directive was used more
6653        then once.
6654 
6655     *) Bugfix: the $sent_http_content_type, $sent_http_content_length,
6656        $sent_http_last_modified, $sent_http_connection,
6657        $sent_http_keep_alive, and $sent_http_transfer_encoding variables
6658        were not written to access log.
6659 
6660     *) Bugfix: the $sent_http_cache_control returned value of the single
6661        "Cache-Control" response header line.
6662 
6663 
6664 Changes with nginx 0.3.41                                        21 Apr 2006
6665 
6666     *) Feature: the -v switch.
6667 
6668     *) Bugfix: the segmentation fault may occurred if the SSI page has
6669        remote subrequests.
6670 
6671     *) Bugfix: in FastCGI handling.
6672 
6673     *) Bugfix: if the perl modules path was not set using
6674        --with-perl_modules_path=PATH or the "perl_modules", then the
6675        segmentation fault was occurred.
6676 
6677 
6678 Changes with nginx 0.3.40                                        19 Apr 2006
6679 
6680     *) Feature: the ngx_http_dav_module supports the MKCOL method.
6681 
6682     *) Feature: the "create_full_put_path" directive.
6683 
6684     *) Feature: the "$limit_rate" variable.
6685 
6686 
6687 Changes with nginx 0.3.39                                        17 Apr 2006
6688 
6689     *) Feature: the "uninitialized_variable_warn" directive; the logging
6690        level of the "uninitialized variable" message was lowered from
6691        "alert" to "warn".
6692 
6693     *) Feature: the "override_charset" directive.
6694 
6695     *) Change: now if the unknown variable is used in the "echo" and "if
6696        expr='$name'" SSI-commands, then the "unknown variable" message is
6697        not logged.
6698 
6699     *) Bugfix: the active connection counter increased on the exceeding of
6700        the connection limit specified by the "worker_connections" directive;
6701        the bug had appeared in 0.2.0.
6702 
6703     *) Bugfix: the limit rate might not work on some condition; the bug had
6704        appeared in 0.3.38.
6705 
6706 
6707 Changes with nginx 0.3.38                                        14 Apr 2006
6708 
6709     *) Feature: the ngx_http_dav_module.
6710 
6711     *) Change: the ngx_http_perl_module optimizations.
6712        Thanks to Sergey Skvortsov.
6713 
6714     *) Feature: the ngx_http_perl_module supports the $r->request_body_file
6715        method.
6716 
6717     *) Feature: the "client_body_in_file_only" directive.
6718 
6719     *) Workaround: now on disk overflow nginx tries to write access logs
6720        once a second only.
6721        Thanks to Anton Yuzhaninov and Maxim Dounin.
6722 
6723     *) Bugfix: now the "limit_rate" directive more precisely limits rate if
6724        rate is more than 100 Kbyte/s.
6725        Thanks to ForJest.
6726 
6727     *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in
6728        login and password to pass authorization server.
6729        Thanks to Maxim Dounin.
6730 
6731 
6732 Changes with nginx 0.3.37                                        07 Apr 2006
6733 
6734     *) Feature: the "limit_except" directive.
6735 
6736     *) Feature: the "if" directive supports the "!~", "!~*", "-f", and "!-f"
6737        operators.
6738 
6739     *) Feature: the ngx_http_perl_module supports the $r->request_body
6740        method.
6741 
6742     *) Bugfix: in the ngx_http_addition_filter_module.
6743 
6744 
6745 Changes with nginx 0.3.36                                        05 Apr 2006
6746 
6747     *) Feature: the ngx_http_addition_filter_module.
6748 
6749     *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used
6750        inside the "if" block.
6751 
6752     *) Feature: the "proxy_ignore_client_abort" and
6753        "fastcgi_ignore_client_abort" directives.
6754 
6755     *) Feature: the "$request_completion" variable.
6756 
6757     *) Feature: the ngx_http_perl_module supports the $r->request_method and
6758        $r->remote_addr.
6759 
6760     *) Feature: the ngx_http_ssi_module supports the "elif" command.
6761 
6762     *) Bugfix: the "\/" string in the expression of the "if" command of the
6763        ngx_http_ssi_module was treated incorrectly.
6764 
6765     *) Bugfix: in the regular expressions in the "if" command of the
6766        ngx_http_ssi_module.
6767 
6768     *) Bugfix: if the relative path was specified in the
6769        "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and
6770        "perl_modules" directives, then the directory was used relatively to
6771        a current path but not to a server prefix.
6772 
6773 
6774 Changes with nginx 0.3.35                                        22 Mar 2006
6775 
6776     *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set
6777        for first "listen" directive only; the bug had appeared in 0.3.31.
6778 
6779     *) Bugfix: in the "proxy_pass" directive without the URI part in a
6780        subrequest.
6781 
6782 
6783 Changes with nginx 0.3.34                                        21 Mar 2006
6784 
6785     *) Feature: the "add_header" directive supports the variables.
6786 
6787 
6788 Changes with nginx 0.3.33                                        15 Mar 2006
6789 
6790     *) Feature: the "http_503" parameter of the "proxy_next_upstream" or
6791        "fastcgi_next_upstream" directives.
6792 
6793     *) Bugfix: ngx_http_perl_module did not work with inlined in the
6794        configuration code, if it was not started with the "sub" word.
6795 
6796     *) Bugfix: in the "post_action" directive.
6797 
6798 
6799 Changes with nginx 0.3.32                                        11 Mar 2006
6800 
6801     *) Bugfix: the debug logging on startup and reconfiguration time was
6802        removed; the bug had appeared in 0.3.31.
6803 
6804 
6805 Changes with nginx 0.3.31                                        10 Mar 2006
6806 
6807     *) Change: now nginx passes the malformed proxied backend responses.
6808 
6809     *) Feature: the "listen" directives support the address in the "*:port"
6810        form.
6811 
6812     *) Feature: the EVFILER_TIMER support in MacOSX 10.4.
6813 
6814     *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout bug.
6815        Thanks to Andrei Nigmatulin.
6816 
6817     *) Bugfix: if there were several "listen" directives listening one
6818        various addresses inside one server, then server names like
6819        "*.domain.tld" worked for first address only; the bug had appeared in
6820        0.3.18.
6821 
6822     *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
6823        and the request body was in temporary file then the request was not
6824        transferred.
6825 
6826     *) Bugfix: perl 5.8.8 compatibility.
6827 
6828 
6829 Changes with nginx 0.3.30                                        22 Feb 2006
6830 
6831     *) Change: the ECONNABORTED error log level was changed to "error" from
6832        "crit".
6833 
6834     *) Bugfix: the ngx_http_perl_module could not be build without the
6835        ngx_http_ssi_filter_module.
6836 
6837     *) Bugfix: nginx could not be built on i386 platform, if the PIC was
6838        used; the bug had appeared in 0.3.27.
6839 
6840 
6841 Changes with nginx 0.3.29                                        20 Feb 2006
6842 
6843     *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends
6844        many warnings before the response.
6845 
6846     *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in
6847        the 204 responses for the HTTP/1.1 requests.
6848 
6849     *) Bugfix: nginx returned the 502 response, if the complete response
6850        header lines were transferred in a separate FastCGI records.
6851 
6852     *) Bugfix: if the proxied URI was specified in the "post_action"
6853        directive, then it ran only after a successful completion of a
6854        request.
6855 
6856 
6857 Changes with nginx 0.3.28                                        16 Feb 2006
6858 
6859     *) Feature: the "restrict_host_names" directive was canceled.
6860 
6861     *) Feature: the --with-cpu-opt=ppc64 configuration parameter.
6862 
6863     *) Bugfix: on some condition the proxied connection with a client was
6864        terminated prematurely.
6865        Thanks to Vladimir Shutoff.
6866 
6867     *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into
6868        account if the request was redirected using the "X-Accel-Redirect"
6869        header line.
6870 
6871     *) Bugfix: the "post_action" directive ran only after a successful
6872        completion of a request.
6873 
6874     *) Bugfix: the proxied response body generated by the "post_action"
6875        directive was transferred to a client.
6876 
6877 
6878 Changes with nginx 0.3.27                                        08 Feb 2006
6879 
6880     *) Change: the "variables_hash_max_size" and
6881        "variables_hash_bucket_size" directives.
6882 
6883     *) Feature: the $body_bytes_sent variable can be used not only in the
6884        "log_format" directive.
6885 
6886     *) Feature: the $ssl_protocol and $ssl_cipher variables.
6887 
6888     *) Feature: the cache line size detection for widespread CPUs at start
6889        time.
6890 
6891     *) Feature: now the "accept_mutex" directive is supported using fcntl(2)
6892        on platforms different from i386, amd64, sparc64, and ppc.
6893 
6894     *) Feature: the "lock_file" directive and the --with-lock-path=PATH
6895        autoconfiguration directive.
6896 
6897     *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
6898        then the requests with the body was not transferred.
6899 
6900 
6901 Changes with nginx 0.3.26                                        03 Feb 2006
6902 
6903     *) Change: the "optimize_host_names" directive was renamed to the
6904        "optimize_server_names".
6905 
6906     *) Bugfix: if in the "proxy_pass" directive was no the URI part, then
6907        the main request URI was transferred to a backend while proxying the
6908        SSI subrequest.
6909 
6910 
6911 Changes with nginx 0.3.25                                        01 Feb 2006
6912 
6913     *) Bugfix: the segmentation fault was occurred on start or while
6914        reconfiguration if there was invalid configuration; the bug had
6915        appeared in 0.3.24.
6916 
6917 
6918 Changes with nginx 0.3.24                                        01 Feb 2006
6919 
6920     *) Workaround: for bug in FreeBSD kqueue.
6921 
6922     *) Bugfix: now a response generated by the "post_action" directive is
6923        not transferred to a client.
6924 
6925     *) Bugfix: the memory leaks were occurring if many log files were used.
6926 
6927     *) Bugfix: the first "proxy_redirect" directive was working inside one
6928        location.
6929 
6930     *) Bugfix: on 64-bit platforms segmentation fault may occurred on start
6931        if the many names were used in the "server_name" directives; the bug
6932        had appeared in 0.3.18.
6933 
6934 
6935 Changes with nginx 0.3.23                                        24 Jan 2006
6936 
6937     *) Feature: the "optimize_host_names" directive.
6938 
6939     *) Bugfix: in using of the variables in the "path" and "alias"
6940        directives.
6941 
6942     *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and
6943        Solaris.
6944 
6945 
6946 Changes with nginx 0.3.22                                        17 Jan 2006
6947 
6948     *) Feature: the ngx_http_perl_module supports the $r->args and
6949        $r->unescape methods.
6950 
6951     *) Feature: the method $r->query_string of ngx_http_perl_module was
6952        canceled.
6953 
6954     *) Bugfix: segmentation fault was occurred if the "none" or "blocked"
6955        values was specified in the "valid_referers" directive; the bug had
6956        appeared in 0.3.18.
6957 
6958 
6959 Changes with nginx 0.3.21                                        16 Jan 2006
6960 
6961     *) Feature: the ngx_http_perl_module.
6962 
6963     *) Change: the "valid_referers" directive allows the referrers without
6964        URI part.
6965 
6966 
6967 Changes with nginx 0.3.20                                        11 Jan 2006
6968 
6969     *) Bugfix: in SSI handling.
6970 
6971     *) Bugfix: the ngx_http_memcached_module did not support the keys in the
6972        "/usr?args" form.
6973 
6974 
6975 Changes with nginx 0.3.19                                        28 Dec 2005
6976 
6977     *) Feature: the "path" and "alias" directives support the variables.
6978 
6979     *) Change: now the "valid_referers" directive again checks the URI part.
6980 
6981     *) Bugfix: in SSI handling.
6982 
6983 
6984 Changes with nginx 0.3.18                                        26 Dec 2005
6985 
6986     *) Feature: the "server_names" directive supports the ".domain.tld"
6987        names.
6988 
6989     *) Feature: the "server_names" directive uses the hash for the
6990        "*.domain.tld" names and more effective hash for usual names.
6991 
6992     *) Change: the "server_names_hash_max_size" and
6993        "server_names_hash_bucket_size" directives.
6994 
6995     *) Change: the "server_names_hash" and "server_names_hash_threshold"
6996        directives were canceled.
6997 
6998     *) Feature: the "valid_referers" directive uses the hash site names.
6999 
7000     *) Change: now the "valid_referers" directive checks the site names only
7001        without the URI part.
7002 
7003     *) Bugfix: some ".domain.tld" names incorrectly processed by the
7004        ngx_http_map_module.
7005 
7006     *) Bugfix: segmentation fault was occurred if configuration file did not
7007        exist; the bug had appeared in 0.3.12.
7008 
7009     *) Bugfix: on 64-bit platforms segmentation fault may occurred on start;
7010        the bug had appeared in 0.3.16.
7011 
7012 
7013 Changes with nginx 0.3.17                                        18 Dec 2005
7014 
7015     *) Change: now on Linux configure checks the presence of epoll and
7016        sendfile64() in kernel.
7017 
7018     *) Feature: the "map" directive supports domain names in the
7019        ".domain.tld" form.
7020 
7021     *) Bugfix: the timeouts were not used in SSL handshake; the bug had
7022        appeared in 0.2.4.
7023 
7024     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
7025 
7026     *) Bugfix: when the HTTPS protocol was used in the "proxy_pass"
7027        directive the port 80 was used by default.
7028 
7029 
7030 Changes with nginx 0.3.16                                        16 Dec 2005
7031 
7032     *) Feature: the ngx_http_map_module.
7033 
7034     *) Feature: the "types_hash_max_size" and "types_hash_bucket_size"
7035        directives.
7036 
7037     *) Feature: the "ssi_value_length" directive.
7038 
7039     *) Feature: the "worker_rlimit_core" directive.
7040 
7041     *) Workaround: the connection number in logs was always 1 if nginx was
7042        built by the icc 8.1 or 9.0 compilers with optimization for
7043        Pentium 4.
7044 
7045     *) Bugfix: the "config timefmt" SSI command set incorrect time format.
7046 
7047     *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
7048        SSL connections; the bug had appeared in 0.3.13.
7049        Thanks to Rob Mueller.
7050 
7051     *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
7052        had appeared in 0.3.13.
7053 
7054 
7055 Changes with nginx 0.3.15                                        07 Dec 2005
7056 
7057     *) Feature: the new 444 code of the "return" directive to close
7058        connection.
7059 
7060     *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy.
7061 
7062     *) Bugfix: if there are unclosed connection nginx now calls abort() only
7063        on graceful quit and active "debug_points" directive.
7064 
7065 
7066 Changes with nginx 0.3.14                                        05 Dec 2005
7067 
7068     *) Bugfix: in the 304 response the body was transferred; the bug had
7069        appeared in 0.3.13.
7070 
7071 
7072 Changes with nginx 0.3.13                                        05 Dec 2005
7073 
7074     *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS.
7075 
7076     *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and
7077        /dev/poll methods.
7078 
7079     *) Bugfix: in SSI handling.
7080 
7081     *) Bugfix: now Solaris sendfilev() is not used to transfer the client
7082        request body to FastCGI-server via the unix domain socket.
7083 
7084     *) Bugfix: the "auth_basic" directive did not disable the authorization;
7085        the bug had appeared in 0.3.11.
7086 
7087 
7088 Changes with nginx 0.3.12                                        26 Nov 2005
7089 
7090     *) Security: if nginx was built with the ngx_http_realip_module and the
7091        "satisfy_any on" directive was used, then access and authorization
7092        directives did not work. The ngx_http_realip_module was not built and
7093        is not built by default.
7094 
7095     *) Change: the "$time_gmt" variable name was changed to "$time_local".
7096 
7097     *) Change: the "proxy_header_buffer_size" and
7098        "fastcgi_header_buffer_size" directives was renamed to the
7099        "proxy_buffer_size" and "fastcgi_buffer_size" directives.
7100 
7101     *) Feature: the ngx_http_memcached_module.
7102 
7103     *) Feature: the "proxy_buffering" directive.
7104 
7105     *) Bugfix: the changes in accept mutex handling when the "rtsig" method
7106        was used; the bug had appeared in 0.3.0.
7107 
7108     *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
7109        line, then nginx returns the 411 error.
7110 
7111     *) Bugfix: if the "auth_basic" directive was inherited from the http
7112        level, then the realm in the "WWW-Authenticate" header line was
7113        without the "Basic realm" text.
7114 
7115     *) Bugfix: if the "combined" format was explicitly specified in the
7116        "access_log" directive, then the empty lines was written to the log;
7117        the bug had appeared in 0.3.8.
7118 
7119     *) Bugfix: nginx did not run on the sparc platform under any OS except
7120        Solaris.
7121 
7122     *) Bugfix: now it is not necessary to place space between the quoted
7123        string and closing bracket in the "if" directive.
7124 
7125 
7126 Changes with nginx 0.3.11                                        15 Nov 2005
7127 
7128     *) Bugfix: nginx did not pass the client request headers and body while
7129        proxying; the bug had appeared in 0.3.10.
7130 
7131 
7132 Changes with nginx 0.3.10                                        15 Nov 2005
7133 
7134     *) Change: the "valid_referers" directive and the "$invalid_referer"
7135        variable were moved to the new ngx_http_referer_module from the
7136        ngx_http_rewrite_module.
7137 
7138     *) Change: the "$apache_bytes_sent" variable name was changed to
7139        "$body_bytes_sent".
7140 
7141     *) Feature: the "$sent_http_..." variables.
7142 
7143     *) Feature: the "if" directive supports the "=" and "!=" operations.
7144 
7145     *) Feature: the "proxy_pass" directive supports the HTTPS protocol.
7146 
7147     *) Feature: the "proxy_set_body" directive.
7148 
7149     *) Feature: the "post_action" directive.
7150 
7151     *) Feature: the ngx_http_empty_gif_module.
7152 
7153     *) Feature: the "worker_cpu_affinity" directive for Linux.
7154 
7155     *) Bugfix: the "rewrite" directive did not unescape URI part in
7156        redirect, now it is unescaped except the %00-%25 and %7F-%FF
7157        characters.
7158 
7159     *) Bugfix: nginx could not be built by the icc 9.0 compiler.
7160 
7161     *) Bugfix: if the SSI was enabled for zero size static file, then the
7162        chunked response was encoded incorrectly.
7163 
7164 
7165 Changes with nginx 0.3.9                                         10 Nov 2005
7166 
7167     *) Bugfix: nginx considered URI as unsafe if two any symbols was between
7168        two slashes; the bug had appeared in 0.3.8.
7169 
7170 
7171 Changes with nginx 0.3.8                                         09 Nov 2005
7172 
7173     *) Security: nginx now checks URI got from a backend in
7174        "X-Accel-Redirect" header line or in SSI file for the "/../" paths
7175        and zeroes.
7176 
7177     *) Change: nginx now does not treat the empty user name in the
7178        "Authorization" header line as valid one.
7179 
7180     *) Feature: the "ssl_session_timeout" directives of the
7181        ngx_http_ssl_module and ngx_imap_ssl_module.
7182 
7183     *) Feature: the "auth_http_header" directive of the
7184        ngx_imap_auth_http_module.
7185 
7186     *) Feature: the "add_header" directive.
7187 
7188     *) Feature: the ngx_http_realip_module.
7189 
7190     *) Feature: the new variables to use in the "log_format" directive:
7191        $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,
7192        $request_time, $request_length, $upstream_status,
7193        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
7194        $connection, $pipe, and $msec. The parameters in the "%name" form
7195        will be canceled soon.
7196 
7197     *) Change: now the false variable values in the "if" directive are the
7198        empty string "" and string starting with "0".
7199 
7200     *) Bugfix: while using proxied or FastCGI-server nginx may leave
7201        connections and temporary files with client requests in open state.
7202 
7203     *) Bugfix: the worker processes did not flush the buffered logs on
7204        graceful exit.
7205 
7206     *) Bugfix: if the request URI was changes by the "rewrite" directive and
7207        the request was proxied in location given by regular expression, then
7208        the incorrect request was transferred to backend; the bug had
7209        appeared in 0.2.6.
7210 
7211     *) Bugfix: the "expires" directive did not remove the previous "Expires"
7212        header.
7213 
7214     *) Bugfix: nginx may stop to accept requests if the "rtsig" method and
7215        several worker processes were used.
7216 
7217     *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in
7218        SSI commands.
7219 
7220     *) Bugfix: if the response was ended just after the SSI command and
7221        gzipping was used, then the response did not transferred complete or
7222        did not transferred at all.
7223 
7224 
7225 Changes with nginx 0.3.7                                         27 Oct 2005
7226 
7227     *) Feature: the "access_log" supports the "buffer=" parameter.
7228 
7229     *) Bugfix: nginx could not be built on platforms different from i386,
7230        amd64, sparc, and ppc; the bug had appeared in 0.3.2.
7231 
7232 
7233 Changes with nginx 0.3.6                                         24 Oct 2005
7234 
7235     *) Change: now the IMAP/POP3 proxy do not send the empty login to
7236        authorization server.
7237 
7238     *) Feature: the "log_format" supports the variables in the $name form.
7239 
7240     *) Bugfix: if at least in one server was no the "listen" directive, then
7241        nginx did not listen on the 80 port; the bug had appeared in 0.3.3.
7242 
7243     *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the 80
7244        port was always used.
7245 
7246 
7247 Changes with nginx 0.3.5                                         21 Oct 2005
7248 
7249     *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login
7250        was changed by authorization server; the bug had appeared in 0.2.2.
7251 
7252     *) Bugfix: the accept mutex did not work and all connections were
7253        handled by one process; the bug had appeared in 0.3.3.
7254 
7255     *) Bugfix: the timeout did not work if the "rtsig" method and the
7256        "timer_resolution" directive were used.
7257 
7258 
7259 Changes with nginx 0.3.4                                         19 Oct 2005
7260 
7261     *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug
7262        had appeared in 0.3.3.
7263 
7264 
7265 Changes with nginx 0.3.3                                         19 Oct 2005
7266 
7267     *) Change: the "bl" and "af" parameters of the "listen" directive was
7268        renamed to the "backlog" and "accept_filter".
7269 
7270     *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
7271        directive.
7272 
7273     *) Change: the "$msec" log parameter does not require now the additional
7274        the gettimeofday() system call.
7275 
7276     *) Feature: the -t switch now tests the "listen" directives.
7277 
7278     *) Bugfix: if the invalid address was specified in the "listen"
7279        directive, then after the -HUP signal nginx left an open socket in
7280        the CLOSED state.
7281 
7282     *) Bugfix: the mime type may be incorrectly set to default value for
7283        index file with variable in the name; the bug had appeared in 0.3.0.
7284 
7285     *) Feature: the "timer_resolution" directive.
7286 
7287     *) Feature: the millisecond "$upstream_response_time" log parameter.
7288 
7289     *) Bugfix: a temporary file with client request body now is removed just
7290        after the response header was transferred to a client.
7291 
7292     *) Bugfix: OpenSSL 0.9.6 compatibility.
7293 
7294     *) Bugfix: the SSL certificate and key file paths could not be relative.
7295 
7296     *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in the
7297        ngx_imap_ssl_module.
7298 
7299     *) Bugfix: the "ssl_protocols" directive allowed to specify the single
7300        protocol only.
7301 
7302 
7303 Changes with nginx 0.3.2                                         12 Oct 2005
7304 
7305     *) Feature: the Sun Studio 10 C compiler support.
7306 
7307     *) Feature: the "proxy_upstream_max_fails",
7308        "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and
7309        "fastcgi_upstream_fail_timeout" directives.
7310 
7311 
7312 Changes with nginx 0.3.1                                         10 Oct 2005
7313 
7314     *) Bugfix: the segmentation fault occurred when the signal queue
7315        overflowed if the "rtsig" method was used; the bug had appeared in
7316        0.2.0.
7317 
7318     *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in
7319        SSI.
7320 
7321 
7322 Changes with nginx 0.3.0                                         07 Oct 2005
7323 
7324     *) Change: the 10-days live time limit of worker process was eliminated.
7325        The limit was introduced because of millisecond timers overflow.
7326 
7327 
7328 Changes with nginx 0.2.6                                         05 Oct 2005
7329 
7330     *) Change: while using load-balancing the time before the failed backend
7331        retry was decreased from 60 to 10 seconds.
7332 
7333     *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI
7334        now passed, if the URI part is omitted in "proxy_pass" directive.
7335 
7336     *) Feature: the "error_page" directive supports redirects and allows
7337        more flexible to change an error code.
7338 
7339     *) Change: the charset in the "Content-Type" header line now is ignored
7340        in proxied subrequests.
7341 
7342     *) Bugfix: if the URI was changed in the "if" block and request did not
7343        found new configuration, then the ngx_http_rewrite_module rules ran
7344        again.
7345 
7346     *) Bugfix: if the "set" directive set the ngx_http_geo_module variable
7347        in some configuration part, the this variable was not available in
7348        other configuration parts and the "using uninitialized variable"
7349        error was occurred; the bug had appeared in 0.2.2.
7350 
7351 
7352 Changes with nginx 0.2.5                                         04 Oct 2005
7353 
7354     *) Change: the duplicate value of the ngx_http_geo_module variable now
7355        causes the warning and changes old value.
7356 
7357     *) Feature: the ngx_http_ssi_module supports the "set" command.
7358 
7359     *) Feature: the ngx_http_ssi_module supports the "file" parameter in the
7360        "include" command.
7361 
7362     *) Feature: the ngx_http_ssi_module supports the variable value
7363        substitutions in expressions of the "if" command.
7364 
7365 
7366 Changes with nginx 0.2.4                                         03 Oct 2005
7367 
7368     *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text",
7369        "$var=/text/", and "$var!=/text/" expressions in the "if" command.
7370 
7371     *) Bugfix: in proxying location without trailing slash; the bug had
7372        appeared in 0.1.44.
7373 
7374     *) Bugfix: the segmentation fault may occurred if the "rtsig" method was
7375        used; the bug had appeared in 0.2.0.
7376 
7377 
7378 Changes with nginx 0.2.3                                         30 Sep 2005
7379 
7380     *) Bugfix: nginx could not be built without the --with-debug option; the
7381        bug had appeared in 0.2.2.
7382 
7383 
7384 Changes with nginx 0.2.2                                         30 Sep 2005
7385 
7386     *) Feature: the "config errmsg" command of the ngx_http_ssi_module.
7387 
7388     *) Change: the ngx_http_geo_module variables can be overridden by the
7389        "set" directive.
7390 
7391     *) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers"
7392        directives of the ngx_http_ssl_module and ngx_imap_ssl_module.
7393 
7394     *) Bugfix: the ngx_http_autoindex_module did not show correctly the long
7395        file names;
7396 
7397     *) Bugfix: the ngx_http_autoindex_module now do not show the files
7398        starting by dot.
7399 
7400     *) Bugfix: if the SSL handshake failed then another connection may be
7401        closed too.
7402        Thanks to Rob Mueller.
7403 
7404     *) Bugfix: the export versions of MSIE 5.x could not connect via HTTPS.
7405 
7406 
7407 Changes with nginx 0.2.1                                         23 Sep 2005
7408 
7409     *) Bugfix: if all backend using in load-balancing failed after one
7410        error, then nginx may got caught in an endless loop; the bug had
7411        appeared in 0.2.0.
7412 
7413 
7414 Changes with nginx 0.2.0                                         23 Sep 2005
7415 
7416     *) The pid-file names used during online upgrade was changed and now is
7417        not required a manual rename operation. The old master process adds
7418        the ".oldbin" suffix to its pid-file and executes a new binary file.
7419        The new master process creates usual pid-file without the ".newbin"
7420        suffix. If the master process exits, then old master process renames
7421        back its pid-file with the ".oldbin" suffix to the pid-file without
7422        suffix.
7423 
7424     *) Change: the "worker_connections" directive, new name of the
7425        "connections" directive; now the directive specifies maximum number
7426        of connections, but not maximum socket descriptor number.
7427 
7428     *) Feature: SSL supports the session cache inside one worker process.
7429 
7430     *) Feature: the "satisfy_any" directive.
7431 
7432     *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do
7433        not run for subrequests.
7434 
7435     *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending"
7436        directives.
7437 
7438     *) Bugfix: if all backend using in load-balancing failed after one
7439        error, then nginx did not try do connect to them during 60 seconds.
7440 
7441     *) Bugfix: in IMAP/POP3 command argument parsing.
7442        Thanks to Rob Mueller.
7443 
7444     *) Bugfix: errors while using SSL in IMAP/POP3 proxy.
7445 
7446     *) Bugfix: errors while using SSI and gzipping.
7447 
7448     *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted
7449        from the 304 responses.
7450        Thanks to Alexandr Kukushkin.
7451 
7452 
7453 Changes with nginx 0.1.45                                        08 Sep 2005
7454 
7455     *) Change: the "ssl_engine" directive was canceled in the
7456        ngx_http_ssl_module and now is introduced at global level.
7457 
7458     *) Bugfix: the responses with SSI subrequests did not transferred via
7459        SSL connection.
7460 
7461     *) Various bug fixes in the IMAP/POP3 proxy.
7462 
7463 
7464 Changes with nginx 0.1.44                                        06 Sep 2005
7465 
7466     *) Feature: the IMAP/POP3 proxy supports SSL.
7467 
7468     *) Feature: the "proxy_timeout" directive of the ngx_imap_proxy_module.
7469 
7470     *) Feature: the "userid_mark" directive.
7471 
7472     *) Feature: the $remote_user variable value is determined independently
7473        of authorization use.
7474 
7475 
7476 Changes with nginx 0.1.43                                        30 Aug 2005
7477 
7478     *) Feature: the listen(2) backlog in the "listen" directive can be
7479        changed using the -HUP signal.
7480 
7481     *) Feature: the geo2nginx.pl script was added to contrib.
7482 
7483     *) Change: the FastCGI parameters with the empty values now are passed
7484        to a server.
7485 
7486     *) Bugfix: the segmentation fault occurred or the worker process may got
7487        caught in an endless loop if the proxied or FastCGI server sent the
7488        "Cache-Control" header line and the "expires" directive was used; in
7489        the proxied mode the bug had appeared in 0.1.29.
7490 
7491 
7492 Changes with nginx 0.1.42                                        23 Aug 2005
7493 
7494     *) Bugfix: if the request URI had a zero length after the processing in
7495        the ngx_http_proxy_module, then the segmentation fault or bus error
7496        occurred in the ngx_http_proxy_module.
7497 
7498     *) Bugfix: the "limit_rate" directive did not work inside the "if"
7499        block; the bug had appeared in 0.1.38.
7500 
7501 
7502 Changes with nginx 0.1.41                                        25 Jul 2005
7503 
7504     *) Bugfix: if the variable was used in the configuration file, then it
7505        can not be used in SSI.
7506 
7507 
7508 Changes with nginx 0.1.40                                        22 Jul 2005
7509 
7510     *) Bugfix: if a client sent too long header line, then the request
7511        information did not logged in the error log.
7512 
7513     *) Bugfix: the "Set-Cookie" header line was not transferred when the
7514        "X-Accel-Redirect" was used; the bug had appeared in 0.1.39.
7515 
7516     *) Bugfix: the "Content-Disposition" header line was not transferred
7517        when the "X-Accel-Redirect" was used.
7518 
7519     *) Bugfix: the master process did not close the listen socket on the
7520        SIGQUIT signal.
7521 
7522     *) Bugfix: after on-line upgrade on Linux and Solaris the process name
7523        became shorter in the "ps" command.
7524 
7525 
7526 Changes with nginx 0.1.39                                        14 Jul 2005
7527 
7528     *) The changes in the ngx_http_charset_module: the "default_charset"
7529        directive was canceled; the "charset" directive sets the response
7530        charset; the "source_charset" directive sets the source charset only.
7531 
7532     *) Bugfix: the backend "WWW-Authenticate" header line did not
7533        transferred while the 401 response code redirecting.
7534 
7535     *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may
7536        close a connection before anything was transferred to a client; the
7537        bug had appeared in 0.1.38.
7538 
7539     *) Workaround: the Linux glibc crypt_r() initialization bug.
7540 
7541     *) Bugfix: the ngx_http_ssi_module did not support the relative URI in
7542        the "include virtual" command.
7543 
7544     *) Bugfix: if the backend response had the "Location" header line and
7545        nginx should not rewrite this line, then the 500 code response body
7546        was transferred; the bug had appeared in 0.1.29.
7547 
7548     *) Bugfix: some directives of the ngx_http_proxy_module and
7549        ngx_http_fastcgi_module were not inherited from the server to the
7550        location level; the bug had appeared in 0.1.29.
7551 
7552     *) Bugfix: the ngx_http_ssl_module did not support the certificate
7553        chain.
7554 
7555     *) Bugfix: the ngx_http_autoindex_module did not show correctly the long
7556        file names; the bug had appeared in 0.1.38.
7557 
7558     *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the
7559        login state.
7560 
7561 
7562 Changes with nginx 0.1.38                                        08 Jul 2005
7563 
7564     *) Feature: the "limit_rate" directive is supported in proxy and FastCGI
7565        mode.
7566 
7567     *) Feature: the "X-Accel-Limit-Rate" response header line is supported
7568        in proxy and FastCGI mode.
7569 
7570     *) Feature: the "break" directive.
7571 
7572     *) Feature: the "log_not_found" directive.
7573 
7574     *) Bugfix: the response status code was not changed when request was
7575        redirected by the ""X-Accel-Redirect" header line.
7576 
7577     *) Bugfix: the variables set by the "set" directive could not be used in
7578        SSI.
7579 
7580     *) Bugfix: the segmentation fault may occurred if the SSI page has more
7581        than one remote subrequest.
7582 
7583     *) Bugfix: nginx treated the backend response as invalid if the status
7584        line in the header was transferred in two packets; the bug had
7585        appeared in 0.1.29.
7586 
7587     *) Feature: the "ssi_types" directive.
7588 
7589     *) Feature: the "autoindex_exact_size" directive.
7590 
7591     *) Bugfix: the ngx_http_autoindex_module did not support the long file
7592        names in UTF-8.
7593 
7594     *) Feature: the IMAP/POP3 proxy.
7595 
7596 
7597 Changes with nginx 0.1.37                                        23 Jun 2005
7598 
7599     *) Change: now the "\n" is added to the end of the "nginx.pid" file.
7600 
7601     *) Bugfix: the responses may be transferred not completely, if many
7602        parts or the big parts were included by SSI.
7603 
7604     *) Bugfix: if all backends had returned the 404 response and the
7605        "http_404" parameter of the "proxy_next_upstream" or
7606        "fastcgi_next_upstream" directives was used, then nginx started to
7607        request all backends again.
7608 
7609 
7610 Changes with nginx 0.1.36                                        15 Jun 2005
7611 
7612     *) Change: if the request header has duplicate the "Host", "Connection",
7613        "Content-Length", or "Authorization" lines, then nginx now returns
7614        the 400 error.
7615 
7616     *) Change: the "post_accept_timeout" directive was canceled.
7617 
7618     *) Feature: the "default", "af=", "bl=", "deferred", and "bind"
7619        parameters of the "listen" directive.
7620 
7621     *) Feature: the FreeBSD accept filters support.
7622 
7623     *) Feature: the Linux TCP_DEFER_ACCEPT support.
7624 
7625     *) Bugfix: the ngx_http_autoindex_module did not support the file names
7626        in UTF-8.
7627 
7628     *) Bugfix: the new log file can be rotated by the -USR1 signal only if
7629        the reconfiguration by the -HUP signal was made twice.
7630 
7631 
7632 Changes with nginx 0.1.35                                        07 Jun 2005
7633 
7634     *) Feature: the "working_directory" directive.
7635 
7636     *) Feature: the "port_in_redirect" directive.
7637 
7638     *) Bugfix: the segmentation fault was occurred if the backend response
7639        header was in several packets; the bug had appeared in 0.1.29.
7640 
7641     *) Bugfix: if more than 10 servers were configured or some server did
7642        not use the "listen" directive, then the segmentation fault was
7643        occurred on the start.
7644 
7645     *) Bugfix: the segmentation fault might occur if the response was bigger
7646        than the temporary file.
7647 
7648     *) Bugfix: nginx returned the 400 response on requests like
7649        "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in
7650        0.1.28.
7651 
7652 
7653 Changes with nginx 0.1.34                                        26 May 2005
7654 
7655     *) Bugfix: the worker process may got caught in an endless loop if the
7656        big response part were include by SSI.
7657 
7658     *) Bugfix: the variables set by the "set" directive were not available
7659        in SSI.
7660 
7661     *) Feature: the "autoindex_localtime" directive.
7662 
7663     *) Bugfix: the empty value of the "proxy_set_header" directive forbids
7664        the client request header line passing.
7665 
7666 
7667 Changes with nginx 0.1.33                                        23 May 2005
7668 
7669     *) Bugfix: nginx could not be built with the --without-pcre parameter;
7670        the bug had appeared in 0.1.29.
7671 
7672     *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one level
7673        cause the bus fault on start up.
7674 
7675     *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.
7676 
7677     *) Bugfix: if the "rewrite" directive used the captures inside the "if"
7678        directive, then the 500 error code was returned.
7679 
7680 
7681 Changes with nginx 0.1.32                                        19 May 2005
7682 
7683     *) Bugfix: the arguments were omitted in the redirects, issued by the
7684        "rewrite" directive; the bug had appeared in 0.1.29.
7685 
7686     *) Feature: the "if" directive supports the captures in regular
7687        expressions.
7688 
7689     *) Feature: the "set" directive supports the variables and the captures
7690        of regular expressions.
7691 
7692     *) Feature: the "X-Accel-Redirect" response header line is supported in
7693        proxy and FastCGI mode.
7694 
7695 
7696 Changes with nginx 0.1.31                                        16 May 2005
7697 
7698     *) Bugfix: the response encrypted by SSL may not transferred complete.
7699 
7700     *) Bugfix: errors while processing FastCGI response by SSI.
7701 
7702     *) Bugfix: errors while using SSI and gzipping.
7703 
7704     *) Bugfix: the redirect with the 301 code was transferred without
7705        response body; the bug had appeared in 0.1.30.
7706 
7707 
7708 Changes with nginx 0.1.30                                        14 May 2005
7709 
7710     *) Bugfix: the worker process may got caught in an endless loop if the
7711        SSI was used.
7712 
7713     *) Bugfix: the response encrypted by SSL may not transferred complete.
7714 
7715     *) Bugfix: if the length of the response part received at once from
7716        proxied or FastCGI server was equal to 500, then nginx returns the
7717        500 response code; in proxy mode the bug had appeared in 0.1.29 only.
7718 
7719     *) Bugfix: nginx did not consider the directives with 8 or 9 parameters
7720        as invalid.
7721 
7722     *) Feature: the "return" directive can return the 204 response code.
7723 
7724     *) Feature: the "ignore_invalid_headers" directive.
7725 
7726 
7727 Changes with nginx 0.1.29                                        12 May 2005
7728 
7729     *) Feature: the ngx_http_ssi_module supports "include virtual" command.
7730 
7731     *) Feature: the ngx_http_ssi_module supports the condition command like
7732        'if expr="$NAME"' and "else" and "endif" commands. Only one nested
7733        level is supported.
7734 
7735     *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT
7736        variables and "config timefmt" command.
7737 
7738     *) Feature: the "ssi_ignore_recycled_buffers" directive.
7739 
7740     *) Bugfix: the "echo" command did not show the default value for the
7741        empty QUERY_STRING variable.
7742 
7743     *) Change: the ngx_http_proxy_module was rewritten.
7744 
7745     *) Feature: the "proxy_redirect", "proxy_pass_request_headers",
7746        "proxy_pass_request_body", and "proxy_method" directives.
7747 
7748     *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
7749        canceled and must be replaced with the proxy_set_header directive.
7750 
7751     *) Change: the "proxy_preserve_host" is canceled and must be replaced
7752        with the "proxy_set_header Host $host" and the "proxy_redirect off"
7753        directives, the "proxy_set_header Host $host:$proxy_port" directive
7754        and the appropriate proxy_redirect directives.
7755 
7756     *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
7757        with the "proxy_set_header X-Real-IP $remote_addr" directive.
7758 
7759     *) Change: the "proxy_add_x_forwarded_for" is canceled and must be
7760        replaced with
7761        the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
7762        directive.
7763 
7764     *) Change: the "proxy_set_x_url" is canceled and must be replaced with
7765        the "proxy_set_header X-URL http://$host:$server_port$request_uri"
7766        directive.
7767 
7768     *) Feature: the "fastcgi_param" directive.
7769 
7770     *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
7771        directive are canceled and must be replaced with the fastcgi_param
7772        directives.
7773 
7774     *) Feature: the "index" directive can use the variables.
7775 
7776     *) Feature: the "index" directive can be used at http and server levels.
7777 
7778     *) Change: the last index only in the "index" directive can be absolute.
7779 
7780     *) Feature: the "rewrite" directive can use the variables.
7781 
7782     *) Feature: the "internal" directive.
7783 
7784     *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
7785        SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
7786        REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
7787 
7788     *) Change: nginx now passes the invalid lines in a client request
7789        headers or a backend response header.
7790 
7791     *) Bugfix: if the backend did not transfer response for a long time and
7792        the "send_timeout" was less than "proxy_read_timeout", then nginx
7793        returned the 408 response.
7794 
7795     *) Bugfix: the segmentation fault was occurred if the backend sent an
7796        invalid line in response header; the bug had appeared in 0.1.26.
7797 
7798     *) Bugfix: the segmentation fault may occurred in FastCGI fault
7799        tolerance configuration.
7800 
7801     *) Bugfix: the "expires" directive did not remove the previous "Expires"
7802        and "Cache-Control" headers.
7803 
7804     *) Bugfix: nginx did not take into account trailing dot in "Host" header
7805        line.
7806 
7807     *) Bugfix: the ngx_http_auth_module did not work under Linux.
7808 
7809     *) Bugfix: the rewrite directive worked incorrectly, if the arguments
7810        were in a request.
7811 
7812     *) Bugfix: nginx could not be built on MacOS X.
7813 
7814 
7815 Changes with nginx 0.1.28                                        08 Apr 2005
7816 
7817     *) Bugfix: nginx hogs CPU while proxying the huge files.
7818 
7819     *) Bugfix: nginx could not be built by gcc 4.0 on Linux.
7820 
7821 
7822 Changes with nginx 0.1.27                                        28 Mar 2005
7823 
7824     *) Feature: the "blocked" parameter of the "valid_referers" directive.
7825 
7826     *) Change: the errors while handling the request header now logged at
7827        "info" level. The server name and the "Host" and "Referer" header
7828        lines also logged.
7829 
7830     *) Change: the "Host" header line is also logged in error log.
7831 
7832     *) Feature: the proxy_pass_unparsed_uri directive. The special handling
7833        of the "://" symbols in URI, appeared in 0.1.11 version, now is
7834        canceled.
7835 
7836     *) Bugfix: nginx could not be built on FreeBSD and Linux, if the
7837        --without-ngx_http_auth_basic_module configuration parameter was
7838        used.
7839 
7840 
7841 Changes with nginx 0.1.26                                        22 Mar 2005
7842 
7843     *) Change: the invalid client header lines are now ignored and logged at
7844        the info level.
7845 
7846     *) Change: the server name is also logged in error log.
7847 
7848     *) Feature: the ngx_http_auth_basic_module module and the auth_basic and
7849        auth_basic_user_file directives.
7850 
7851 
7852 Changes with nginx 0.1.25                                        19 Mar 2005
7853 
7854     *) Bugfix: nginx did run on Linux parisc.
7855 
7856     *) Feature: nginx now does not start under FreeBSD if the sysctl
7857        kern.ipc.somaxconn value is too big.
7858 
7859     *) Bugfix: if a request was internally redirected by the
7860        ngx_http_index_module module to the ngx_http_proxy_module or
7861        ngx_http_fastcgi_module modules, then the index file was not closed
7862        after request completion.
7863 
7864     *) Feature: the "proxy_pass" can be used in location with regular
7865        expression.
7866 
7867     *) Feature: the ngx_http_rewrite_filter_module module supports the
7868        condition like "if ($HTTP_USER_AGENT ~ MSIE)".
7869 
7870     *) Bugfix: nginx started too slow if the large number of addresses and
7871        text values were used in the "geo" directive.
7872 
7873     *) Change: a variable name must be declared as "$name" in the "geo"
7874        directive. The previous variant without "$" is still supported, but
7875        will be removed soon.
7876 
7877     *) Feature: the "%{VARIABLE}v" logging parameter.
7878 
7879     *) Feature: the "set $name value" directive.
7880 
7881     *) Bugfix: gcc 4.0 compatibility.
7882 
7883     *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.
7884 
7885 
7886 Changes with nginx 0.1.24                                        04 Mar 2005
7887 
7888     *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING and
7889        DOCUMENT_URI variables.
7890 
7891     *) Bugfix: the ngx_http_autoindex_module may some times return the 404
7892        response for existent directory, if this directory was used in
7893        "alias" directive.
7894 
7895     *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large
7896        responses.
7897 
7898     *) Bugfix: the lack of the "Referer" header line was always accounted as
7899        valid referrer.
7900 
7901 
7902 Changes with nginx 0.1.23                                        01 Mar 2005
7903 
7904     *) Feature: the ngx_http_ssi_filter_module and the ssi,
7905        ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo
7906        var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are
7907        supported.
7908 
7909     *) Feature: the %request_time log parameter.
7910 
7911     *) Feature: if the request has no the "Host" header line, then the
7912        "proxy_preserve_host" directive set this header line to the first
7913        server name of the "server_name" directive.
7914 
7915     *) Bugfix: nginx could not be built on platforms different from i386,
7916        amd64, sparc, and ppc; the bug had appeared in 0.1.22.
7917 
7918     *) Bugfix: the ngx_http_autoindex_module now shows the information not
7919        about the symlink, but about file or directory it points to.
7920 
7921     *) Bugfix: the %apache_length parameter logged the negative length of
7922        the response header if the no response was transferred to a client.
7923 
7924 
7925 Changes with nginx 0.1.22                                        22 Feb 2005
7926 
7927     *) Bugfix: the ngx_http_stub_status_module showed incorrect handled
7928        connections statistics if the proxying or FastCGI server were used.
7929 
7930     *) Bugfix: the installation paths were incorrectly quoted on Linux and
7931        Solaris; the bug had appeared in 0.1.21.
7932 
7933 
7934 Changes with nginx 0.1.21                                        22 Feb 2005
7935 
7936     *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics
7937        if "rtsig" method was used or if several worker process ran on SMP.
7938 
7939     *) Bugfix: nginx could not be built by the icc compiler on Linux or if
7940        the zlib-1.2.x library was building from sources.
7941 
7942     *) Bugfix: nginx could not be built on NetBSD 2.0.
7943 
7944 
7945 Changes with nginx 0.1.20                                        17 Feb 2005
7946 
7947     *) Feature: the new "script_filename" and "remote_port" parameters of
7948        the fastcgi_params directive.
7949 
7950     *) Bugfix: the FastCGI stderr stream was handled incorrectly.
7951 
7952 
7953 Changes with nginx 0.1.19                                        16 Feb 2005
7954 
7955     *) Bugfix: now, if request contains the zero, then the 404 error is
7956        returned for the local requests.
7957 
7958     *) Bugfix: nginx could not be built on NetBSD 2.0.
7959 
7960     *) Bugfix: the timeout may occur while reading of the client request
7961        body via SSL connections.
7962 
7963 
7964 Changes with nginx 0.1.18                                        09 Feb 2005
7965 
7966     *) Workaround: the default values of the devpoll_events and the
7967        devpoll_changes directives changed from 512 to 32 to be compatible
7968        with Solaris 10.
7969 
7970     *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not
7971        inherited.
7972 
7973     *) Bugfix: in a redirect rewrite directive arguments were concatenated
7974        with URI by an "&" rather than a "?".
7975 
7976     *) Bugfix: the lines without trailing ";" in the file being included by
7977        the ngx_http_geo_module were silently ignored.
7978 
7979     *) Feature: the ngx_http_stub_status_module.
7980 
7981     *) Bugfix: the unknown log format in the access_log directive caused the
7982        segmentation fault.
7983 
7984     *) Feature: the new "document_root" parameter of the fastcgi_params
7985        directive.
7986 
7987     *) Feature: the fastcgi_redirect_errors directive.
7988 
7989     *) Feature: the new "break" modifier of the "rewrite" directive allows
7990        to stop the rewrite/location cycle and sets the current configuration
7991        to the request.
7992 
7993 
7994 Changes with nginx 0.1.17                                        03 Feb 2005
7995 
7996     *) Change: the ngx_http_rewrite_module was rewritten from the scratch.
7997        Now it is possible to redirect, to return the error codes, to check
7998        the variables and referrers. The directives can be used inside
7999        locations. The redirect directive was canceled.
8000 
8001     *) Feature: the ngx_http_geo_module.
8002 
8003     *) Feature: the proxy_set_x_var and fastcgi_set_var directives.
8004 
8005     *) Bugfix: the location configuration with "=" modifier may be used in
8006        another location.
8007 
8008     *) Bugfix: the correct content type was set only for requests that use
8009        small caps letters in extension.
8010 
8011     *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the
8012        location, and access was denied, and the error was redirected to a
8013        static page, then the segmentation fault occurred.
8014 
8015     *) Bugfix: if in a proxied "Location" header was a relative URL, then a
8016        host name and a slash were added to them; the bug had appeared in
8017        0.1.14.
8018 
8019     *) Bugfix: the system error message was not logged on Linux.
8020 
8021 
8022 Changes with nginx 0.1.16                                        25 Jan 2005
8023 
8024     *) Bugfix: if the response were transferred by chunks, then on the HEAD
8025        request the final chunk was issued.
8026 
8027     *) Bugfix: the "Connection: keep-alive" header were issued, even if the
8028        keepalive_timeout directive forbade the keep-alive use.
8029 
8030     *) Bugfix: the errors in the ngx_http_fastcgi_module caused the
8031        segmentation faults.
8032 
8033     *) Bugfix: the compressed response encrypted by SSL may not transferred
8034        complete.
8035 
8036     *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPUSH, and TCP_CORK
8037        options, are not used for the unix domain sockets.
8038 
8039     *) Feature: the rewrite directive supports the arguments rewriting.
8040 
8041     *) Bugfix: the response code 400 was returned for the POST request with
8042        the "Content-Length: 0" header; the bug had appeared in 0.1.14.
8043 
8044 
8045 Changes with nginx 0.1.15                                        19 Jan 2005
8046 
8047     *) Bugfix: the error while the connecting to the FastCGI server caused
8048        segmentation fault.
8049 
8050     *) Bugfix: the correct handling of the regular expression, that has
8051        different number of the captures and substitutions.
8052 
8053     *) Feature: the location, that is passed to the FastCGI server, can be
8054        regular expression.
8055 
8056     *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the
8057        arguments and in the original state.
8058 
8059     *) Bugfix: the ngx_http_rewrite_module module was required to be built
8060        to use the regular expressions in locations.
8061 
8062     *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the
8063        "Host" headers, if upstream listen on port 80; the bug had appeared
8064        in 0.1.14.
8065 
8066     *) Bugfix: the same paths in autoconfiguration parameters
8067        --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, or
8068        --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
8069        caused segmentation fault.
8070 
8071 
8072 Changes with nginx 0.1.14                                        18 Jan 2005
8073 
8074     *) Feature: the autoconfiguration directives:
8075        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
8076        --http-fastcgi-temp-path=PATH
8077 
8078     *) Change: the directory name for the temporary files with the client
8079        request body is specified by directive client_body_temp_path, by
8080        default it is <prefix>/client_body_temp.
8081 
8082     *) Feature: the ngx_http_fastcgi_module and the directives:
8083        fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
8084        fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
8085        fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
8086        fastcgi_busy_buffers_size, fastcgi_temp_path,
8087        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
8088        fastcgi_next_upstream, and fastcgi_x_powered_by.
8089 
8090     *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
8091        0.1.3.
8092 
8093     *) Change: the URI must be specified after the host name in the
8094        proxy_pass directive.
8095 
8096     *) Change: the %3F symbol in the URI was considered as the argument
8097        string start.
8098 
8099     *) Feature: the unix domain sockets support in the
8100        ngx_http_proxy_module.
8101 
8102     *) Feature: the ssl_engine and ssl_ciphers directives.
8103        Thanks to Sergey Skvortsov for SSL-accelerator.
8104 
8105 
8106 Changes with nginx 0.1.13                                        21 Dec 2004
8107 
8108     *) Feature: the server_names_hash and server_names_hash_threshold
8109        directives.
8110 
8111     *) Bugfix: the *.domain.tld names in the "server_name" directive did not
8112        work.
8113 
8114     *) Bugfix: the %request_length log parameter logged the incorrect
8115        length.
8116 
8117 
8118 Changes with nginx 0.1.12                                        06 Dec 2004
8119 
8120     *) Feature: the %request_length log parameter.
8121 
8122     *) Bugfix: when using the /dev/poll, select and poll on the platforms,
8123        where these methods may do the false reports, there may be the long
8124        delay when the request was passed via the keep-alive connection. It
8125        may be at least on Solaris when using the /dev/poll.
8126 
8127     *) Bugfix: the send_lowat directive is ignored on Linux because Linux
8128        does not support the SO_SNDLOWAT option.
8129 
8130 
8131 Changes with nginx 0.1.11                                        02 Dec 2004
8132 
8133     *) Feature: the worker_priority directive.
8134 
8135     *) Change: both tcp_nopush and tcp_nodelay directives affect the
8136        transferred response.
8137 
8138     *) Bugfix: nginx did not call initgroups().
8139        Thanks to Andrew Sitnikov and Andrei Nigmatulin.
8140 
8141     *) Change: now the ngx_http_autoindex_module shows the file size in the
8142        bytes.
8143 
8144     *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the
8145        broken symlink was in a directory.
8146 
8147     *) Bugfix: the files bigger than 4G could not be transferred using
8148        sendfile.
8149 
8150     *) Bugfix: if the backend was resolved to several backends and there was
8151        an error while the response waiting then process may got caught in an
8152        endless loop.
8153 
8154     *) Bugfix: the worker process may exit with the "unknown cycle" message
8155        when the /dev/poll method was used.
8156 
8157     *) Bugfix: "close() channel failed" errors.
8158 
8159     *) Bugfix: the autodetection of the "nobody" and "nogroup" groups.
8160 
8161     *) Bugfix: the send_lowat directive did not work on Linux.
8162 
8163     *) Bugfix: the segmentation fault occurred if there was no events
8164        section in configuration.
8165 
8166     *) Bugfix: nginx could not be built on OpenBSD.
8167 
8168     *) Bugfix: the double slashes in "://" in the URI were converted to
8169        ":/".
8170 
8171 
8172 Changes with nginx 0.1.10                                        26 Nov 2004
8173 
8174     *) Bugfix: if the request without arguments contains "//", "/./", "/../"
8175        or "%XX" then the last character in the request line was lost; the
8176        bug had appeared in 0.1.9.
8177 
8178     *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did
8179        not work.
8180 
8181 
8182 Changes with nginx 0.1.9                                         25 Nov 2004
8183 
8184     *) Bugfix: the proxied request was sent without arguments if the request
8185        contains "//", "/./", "/../" or "%XX".
8186 
8187     *) Bugfix: the large compressed responses may be transferred not
8188        completely.
8189 
8190     *) Bugfix: the files bigger than 2G was not transferred on Linux that
8191        does not support sendfile64().
8192 
8193     *) Bugfix: while the build configuration on Linux the --with-poll_module
8194        parameter was required; the bug had appeared in 0.1.8.
8195 
8196 
8197 Changes with nginx 0.1.8                                         20 Nov 2004
8198 
8199     *) Bugfix: in the ngx_http_autoindex_module if the long file names were
8200        in the listing.
8201 
8202     *) Feature: the "^~" modifier in the location directive.
8203 
8204     *) Feature: the proxy_max_temp_file_size directive.
8205 
8206 
8207 Changes with nginx 0.1.7                                         12 Nov 2004
8208 
8209     *) Bugfix: on FreeBSD the segmentation fault may occur if the size of
8210        the transferred file was changed; the bug had appeared in 0.1.5.
8211 
8212 
8213 Changes with nginx 0.1.6                                         11 Nov 2004
8214 
8215     *) Bugfix: some location directive combinations with the regular
8216        expressions caused the wrong configuration choose.
8217 
8218 
8219 Changes with nginx 0.1.5                                         11 Nov 2004
8220 
8221     *) Bugfix: on Solaris and Linux there may be too many "recvmsg()
8222        returned not enough data" alerts.
8223 
8224     *) Bugfix: there were the "writev() failed (22: Invalid argument)"
8225        errors on Solaris in proxy mode without sendfile. On other platforms
8226        that do not support sendfile at all the process got caught in an
8227        endless loop.
8228 
8229     *) Bugfix: segmentation fault on Solaris in proxy mode and using
8230        sendfile.
8231 
8232     *) Bugfix: segmentation fault on Solaris.
8233 
8234     *) Bugfix: on-line upgrade did not work on Linux.
8235 
8236     *) Bugfix: the ngx_http_autoindex_module module did not escape the
8237        spaces, the quotes, and the percent signs in the directory listing.
8238 
8239     *) Change: the decrease of the copy operations.
8240 
8241     *) Feature: the userid_p3p directive.
8242 
8243 
8244 Changes with nginx 0.1.4                                         26 Oct 2004
8245 
8246     *) Bugfix: in the ngx_http_autoindex_module.
8247 
8248 
8249 Changes with nginx 0.1.3                                         25 Oct 2004
8250 
8251     *) Feature: the ngx_http_autoindex_module and the autoindex directive.
8252 
8253     *) Feature: the proxy_set_x_url directive.
8254 
8255     *) Bugfix: proxy module may get caught in an endless loop when sendfile
8256        is not used.
8257 
8258 
8259 Changes with nginx 0.1.2                                         21 Oct 2004
8260 
8261     *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS
8262        options in configure.
8263 
8264     *) Feature: the server_name directive supports *.domain.tld.
8265 
8266     *) Bugfix: the portability improvements.
8267 
8268     *) Bugfix: if configuration file was set in command line, the
8269        reconfiguration was impossible; the bug had appeared in 0.1.1.
8270 
8271     *) Bugfix: proxy module may get caught in an endless loop when sendfile
8272        is not used.
8273 
8274     *) Bugfix: with sendfile the response was not recoded according to the
8275        charset module directives; the bug had appeared in 0.1.1.
8276 
8277     *) Bugfix: very seldom bug in the kqueue processing.
8278 
8279     *) Bugfix: the gzip module compressed the proxied responses that was
8280        already compressed.
8281 
8282 
8283 Changes with nginx 0.1.1                                         11 Oct 2004
8284 
8285     *) Feature: the gzip_types directive.
8286 
8287     *) Feature: the tcp_nodelay directive.
8288 
8289     *) Feature: the send_lowat directive is working not only on OSes that
8290        support kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
8291 
8292     *) Feature: the setproctitle() emulation for Linux and Solaris.
8293 
8294     *) Bugfix: the "Location" header rewrite bug fixed while the proxying.
8295 
8296     *) Bugfix: the ngx_http_chunked_module module may get caught in an
8297        endless loop.
8298 
8299     *) Bugfix: the /dev/poll module bugs fixed.
8300 
8301     *) Bugfix: the responses were corrupted when the temporary files were
8302        used while the proxying.
8303 
8304     *) Bugfix: the unescaped requests were passed to the backend.
8305 
8306     *) Bugfix: while the build configuration on Linux 2.4 the
8307        --with-poll_module parameter was required.
8308 
8309 
8310 Changes with nginx 0.1.0                                         04 Oct 2004
8311 
8312     *) The first public version.
8313