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