Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

0.8.33

Security: now nginx/Windows ignores trailing spaces in URI. Thanks to…
… Dan Crowley, Core Security Technologies.

Security: now nginx/Windows ignores short files names. Thanks to Dan Crowley, Core Security Technologies.

Change: now keepalive connections after POST requests are not disabled for MSIE 7.0+. Thanks to Adam Lounds.

Workaround: now keepalive connections are disabled for Safari. Thanks to Joshua Sierles.

Bugfix: if a proxied or FastCGI request was internally redirected to another proxied or FastCGI location, then $upstream_response_time variable may have abnormally large value; the bug had appeared in 0.8.7.

Bugfix: a segmentation fault might occur in a worker process, while discarding a request body; the bug had appeared in 0.8.11.

0.8.32

Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module. Thanks…
… to Maxim Dounin.

Bugfix: regular expression named captures worked for two names only. Thanks to Maxim Dounin.

Bugfix: now the "localhost" name is used in the "Host" request header line, if an unix domain socket is defined in the "auth_http" directive. Thanks to Maxim Dounin.

Bugfix: nginx did nor support chunked transfer encoding for 201 responses. Thanks to Julian Reich.

Bugfix: if the "expires modified" set date in the past, the a negative number was set in the "Cache-Control" response header line. Thanks to Alex Kapranoff.

0.8.31

Feature: now the "error_page" directive may redirect the 301 and 302 …
…responses.

Feature: the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude variables. Thanks to Arvind Sundararajan.

Feature: now the ngx_http_image_filter_module deletes always EXIF and other application specific data if the data consume more than 5% of a JPEG file.

Bugfix: nginx closed a connection if a cached response had an empty body. Thanks to Piotr Sikora.

Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher optimization option was used. Thanks to Maxim Dounin and Denis F. Latypoff.

Bugfix: regular expressions in location were always tested in case-sensitive mode; the bug had appeared in 0.8.25.

Bugfix: nginx cached a 304 response if there was the "If-None-Match" header line in a proxied request. Thanks to Tim Dettrick and David Kostal.

Bugfix: nginx/Windows tried to delete a temporary file twice if the file should replace an already existent file.

0.8.30

Change: now the default buffer size of the "large_client_header_buffe…
…rs" directive is 8K. Thanks to Andrew Cholakian.

Feature: the conf/fastcgi.conf for simple FastCGI configurations.

Bugfix: nginx/Windows tried to rename a temporary file twice if the file should replace an already existent file.

Bugfix: of "double free or corruption" error issued if host could not be resolved; the bug had appeared in 0.8.22. Thanks to Konstantin Svist.

Bugfix: in libatomic usage on some platforms. Thanks to W-Mark Kubacki.

0.8.29

Change: now the "009" status code is written to an access log for pro…
…xied HTTP/0.9 responses.

Feature: the "addition_types", "charset_types", "gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives support an "*" parameter.

Feature: GCC 4.1+ built-in atomic operations usage. Thanks to W-Mark Kubacki.

Feature: the --with-libatomic[=DIR] option in the configure. Thanks to W-Mark Kubacki.

Bugfix: listen unix domain socket had limited access rights.

Bugfix: cached HTTP/0.9 responses were handled incorrectly.

Bugfix: regular expression named captures given by "?P<...>" did not work in a "server_name" directive. Thanks to Maxim Dounin.

0.8.28

Bugfix: nginx could not be built with the --without-pcre parameter; t…
…he bug had appeared in 0.8.25.

0.8.27

Bugfix: regular expressions did not work in nginx/Windows; the bug ha…
…d appeared in 0.8.25.

0.8.26

Bugfix: in captures usage in "rewrite" directive; the bug had appeare…
…d in 0.8.25.

Bugfix: nginx could not be built without the --with-debug option; the bug had appeared in 0.8.25.

0.8.25

Change: now no message is written in an error log if a variable is no…
…t found by $r->variable() method.

Feature: the ngx_http_degradation_module.

Feature: regular expression named captures.

Feature: now URI part is not required a "proxy_pass" directive if variables are used.

Feature: now the "msie_padding" directive works for Chrome too.

Bugfix: a segmentation fault occurred in a worker process on low memory condition; the bug had appeared in 0.8.18.

Bugfix: nginx sent gzipped responses to clients those do not support gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared in 0.8.16.

0.8.24

Bugfix: nginx always added "Content-Encoding: gzip" response header l…
…ine in 304 responses sent by ngx_http_gzip_static_module.

Bugfix: nginx could not be built without the --with-debug option; the bug had appeared in 0.8.23.

Bugfix: the "unix:" parameter of the "set_real_ip_from" directive inherited incorrectly from previous level.

Bugfix: in resolving empty name.

0.8.23

Security: now SSL/TLS renegotiation is disabled. Thanks to Maxim Dounin.
Bugfix: listen unix domain socket did not inherit while online upgrade.

Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did not without yet another directive with any IP address.

Bugfix: segmentation fault and infinite looping in resolver.

Bugfix: in resolver. Thanks to Artem Bokhan.

0.8.22

Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind" direc…
…tives.

Feature: the "access" and the "deny" directives support IPv6.

Feature: the "set_real_ip_from" directive supports IPv6 addresses in request headers.

Feature: the "unix:" parameter of the "set_real_ip_from" directive.

Bugfix: nginx did not delete unix domain socket after configuration testing.

Bugfix: nginx deleted unix domain socket while online upgrade.

Bugfix: the "!-x" operator did not work. Thanks to Maxim Dounin.

Bugfix: a segmentation fault might occur in a worker process, if limit_rate was used in HTTPS server. Thanks to Maxim Dounin.

Bugfix: a segmentation fault might occur in a worker process while $limit_rate logging. Thanks to Maxim Dounin.

Bugfix: a segmentation fault might occur in a worker process, if there was no "listen" directive in "server" block; the bug had appeared in 0.8.21.

0.8.21

Feature: now the "-V" switch shows TLS SNI support.
Feature: the "listen" directive of the HTTP module supports unix domain sockets. Thanks to Hongli Lai.

Feature: the "default_server" parameter of the "listen" directive.

Feature: now a "default" parameter is not required to set listen socket options.

Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;

Bugfix: socket leak; the bug had appeared in 0.8.11.

0.8.20

Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
Bugfix: the ngx_http_autoindex_module did not show the trailing slash in links to a directory; the bug had appeared in 0.7.15.

Bugfix: nginx did not close a log file set by the --error-log-path configuration option; the bug had appeared in 0.7.53.

Bugfix: nginx did not treat a comma as separator in the "Cache-Control" backend response header line.

Bugfix: nginx/Windows might not create temporary file, a cache file, or "proxy/fastcgi_store"d file if a worker has no enough access rights for top level directories.

Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden while caching if no "fastcgi_hide_header" directives were used with any parameters.

Bugfix: nginx counted incorrectly disk cache size.

0.8.19

Change: now SSLv2 protocol is disabled by default.
Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".

Bugfix: a "limit_req" directive did not work; the bug had appeared in 0.8.18.

0.8.18

Feature: the "read_ahead" directive.
Feature: now several "perl_modules" directive may be used.

Feature: the "limit_req_log_level" and "limit_conn_log_level" directives.

Bugfix: now "limit_req" directive conforms to the leaky bucket algorithm. Thanks to Maxim Dounin.

Bugfix: nginx did not work on Linux/sparc. Thanks to Marcus Ramberg.

Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL request. Thanks to Xie Zhenye.

Bugfix: zero status code was logged instead of 499 status code; the bug had appeared in 0.8.11.

Bugfix: socket leak; the bug had appeared in 0.8.11.

0.8.17

Security: now "/../" are disabled in "Destination" request header line.
Change: now $host variable value is always low case.

Feature: the $ssl_session_id variable.

Bugfix: socket leak; the bug had appeared in 0.8.11.

0.8.16

Feature: the "image_filter_transparency" directive.
Bugfix: "addition_types" directive was incorrectly named "addtion_types".

Bugfix: resolver cache poisoning. Thanks to Matthew Dempsky.

Bugfix: memory leak in resolver. Thanks to Matthew Dempsky.

Bugfix: invalid request line in $request variable was written in access_log only if error_log was set to "info" or "debug" level.

Bugfix: in PNG alpha-channel support in the ngx_http_image_filter_module.

Bugfix: nginx always added "Vary: Accept-Encoding" response header line, if both "gzip_static" and "gzip_vary" were on.

Bugfix: in UTF-8 encoding support by "try_files" directive in nginx/Windows.

Bugfix: in "post_action" directive usage; the bug had appeared in 0.8.11. Thanks to Igor Artemiev.

0.8.15

Security: a segmentation fault might occur in worker process while sp…
…ecially crafted request handling. Thanks to Chris Ries.

Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined, then the name .sub.domain.tld was matched by .domain.tld.

Bugfix: in transparency support in the ngx_http_image_filter_module.

Bugfix: in file AIO.

Bugfix: in X-Accel-Redirect usage; the bug had appeared in 0.8.11.

Bugfix: in embedded perl module; the bug had appeared in 0.8.11.

0.8.14

Bugfix: an expired cached response might stick in the "UPDATING" state.
Bugfix: a segmentation fault might occur in worker process, if error_log was set to info or debug level. Thanks to Sergey Bochenkov.

Bugfix: in embedded perl module; the bug had appeared in 0.8.11.

Bugfix: an "error_page" directive did not redirect a 413 error; the bug had appeared in 0.6.10.

0.8.13

Bugfix: in the "aio sendfile" directive; the bug had appeared in 0.8.12.
Bugfix: nginx could not be built without the --with-file-aio option on FreeBSD; the bug had appeared in 0.8.12.

0.8.12

Feature: the "sendfile" parameter in the "aio" directive on FreeBSD.
Bugfix: in try_files; the bug had appeared in 0.8.11.

Bugfix: in memcached; the bug had appeared in 0.8.11.

0.8.11

Change: now directive "gzip_disable msie6" does not disable gzipping …
…for MSIE 6.0 SV1.

Feature: file AIO support on FreeBSD and Linux.

Feature: the "directio_alignment" directive.

0.8.10

Bugfix: memory leaks if GeoIP City database was used.
Bugfix: in copying temporary files to permanent storage area; the bug had appeared in 0.8.9.

0.8.9

Feature: now the start cache loader runs in a separate process; this …
…should improve large caches handling.

Feature: now temporary files and permanent storage area may reside at different file systems.

0.8.8

Bugfix: in handling FastCGI headers split in records.
Bugfix: a segmentation fault occurred in worker process, if a request was handled in two proxied or FastCGIed locations and a caching was enabled in the first location; the bug had appeared in 0.8.7.

0.8.7

Change: minimum supported OpenSSL version is 0.9.7.
Change: the "ask" parameter of the "ssl_verify_client" directive was changed to the "optional" parameter and now it checks a client certificate if it was offered. Thanks to Brice Figureau.

Feature: the $ssl_client_verify variable. Thanks to Brice Figureau.

Feature: the "ssl_crl" directive. Thanks to Brice Figureau.

Feature: the "proxy" parameter of the "geo" directive.

Feature: the "image_filter" directive supports variables for setting size.

Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug had appeared in 0.7.7. Thanks to Sergey Zhuravlev.

Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering", and "X-Accel-Charset" lines from backend response header. Thanks to Maxim Dounin.

Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend response header lines; the bug had appeared in 0.7.44. Thanks to Maxim Dounin.

Bugfix: the "[alert] zero size buf" error if subrequest returns an empty response; the bug had appeared in 0.8.5.

0.8.6

Feature: the ngx_http_geoip_module.
Bugfix: XSLT filter may fail with message "not well formed XML document" for valid XML document. Thanks to Kuramoto Eiji.

Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a regular expression are always tested in case insensitive mode.

Bugfix: now nginx/Windows ignores trailing dots in URI. Thanks to Hugo Leisink.

Bugfix: name of file specified in --conf-path was not honored during installation; the bug had appeared in 0.6.6. Thanks to Maxim Dounin.

0.8.5

Bugfix: now nginx allows underscores in a request method.
Bugfix: a 500 error code was returned for invalid login/password while HTTP Basic authentication on Windows.

Bugfix: ngx_http_perl_module responses did not work in subrequests.

Bugfix: in ngx_http_limit_req_module. Thanks to Maxim Dounin.

0.8.4

Bugfix: nginx could not be built --without-http-cache; the bug had ap…
…peared in 0.8.3.

0.8.3

Feature: the $upstream_cache_status variable.
Bugfix: nginx could not be built on MacOSX 10.6.

Bugfix: nginx could not be built --without-http-cache; the bug had appeared in 0.8.2.

Bugfix: a segmentation fault occurred in worker process, if a backend 401 error was intercepted and the backend did not set the "WWW-Authenticate" response header line. Thanks to Eugene Mychlo.

0.8.2

Bugfix: in open_file_cache and proxy/fastcgi cache interaction on sta…
…rt up.

Bugfix: open_file_cache might cache open file descriptors too long; the bug had appeared in 0.7.4.

0.8.1

Feature: the "updating" parameter in "proxy_cache_use_stale" and "fas…
…tcgi_cache_use_stale" directives.

Bugfix: the "If-Modified-Since", "If-Range", etc. client request header lines were passed to backend while caching if no "proxy_set_header" directive was used with any parameters.

Bugfix: the "Set-Cookie" and "P3P" response header lines were not hidden while caching if no "proxy_hide_header/fastcgi_hide_header" directives were used with any parameters.

Bugfix: the ngx_http_image_filter_module did not support GIF87a format. Thanks to Denis Ilyinyh.

Bugfix: nginx could not be built modules on Solaris 10 and early; the bug had appeared in 0.7.56.

0.8.0

Feature: the "keepalive_requests" directive.
Feature: the "limit_rate_after" directive. Thanks to Ivan Debnar.

Bugfix: XLST filter did not work in subrequests.

Bugfix: in relative paths handling in nginx/Windows.

Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows.

Bugfix: in memory allocation error handling. Thanks to Maxim Dounin and Kirill A. Korinskiy.
Something went wrong with that request. Please try again.