Back to home page

Nginx displayed by LXR

Source navigation ]
Diff markup ]
Identifier search ]
general search ]
 
 
Version: nginx-1.13.12 ]​[ nginx-1.12.2 ]​

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