Back to home page

Nginx displayed by LXR

Source navigation ]
Diff markup ]
Identifier search ]
general search ]
 
 
Version: nginx-1.19.2 ]​[ nginx-1.18.0 ]​

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