Back to home page

Nginx displayed by LXR

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

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