blob: 3e4626badb4f0789b79c0cd4e5f07fbe425b18cb [file] [log] [blame]
<?xml version="1.0" encoding="koi8-r" ?>
<!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" >
<change_log link="/nginx/changes.html" path="/nginx/" root=".."
title="nginx">
<title lang="ru">éÚÍÅÎÅÎÉÑ × nginx</title>
<title lang="en">nginx changelog</title>
<changes ver="0.1.27" date="28.03.2005">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ blocked × ÄÉÒÅËÔÉ×Å invalid_referers.
</para>
<para lang="en">
the "blocked" parameter of the "invalid_referers" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÏÛÉÂËÉ ÏÂÒÁÂÏÔËÉ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÀÔÓÑ ÎÁ ÕÒÏ×ÎÅ
info, × ÌÏÇ ÔÁËÖÅ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÉÍÑ ÓÅÒ×ÅÒÁ É ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ
ÚÁÐÒÏÓÁ "Host" É "Referer".
</para>
<para lang="en">
the errors while handling the request header now logged at "info" level.
The server name and the "Host" and "Referer" header lines also logged.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÒÉ ÚÁÐÉÓÉ ÏÛÉÂÏË × ÌÏÇ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÔÁËÖÅ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ "Host".
</para>
<para lang="en">
the "Host" header line is also logged in error log.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass_unparsed_uri.
óÐÅÃÉÁÌØÎÁÑ ÏÂÒÁÂÏÔËÁ ÓÉÍ×ÏÌÏ× "://" × URI, ××ÅÄ£ÎÎÁÑ × ×ÅÒÓÉÉ 0.1.11,
ÔÅÐÅÒØ ÕÐÒÁÚÄÎÅÎÁ.
</para>
<para lang="en">
the proxy_pass_unparsed_uri directive.
The special handling of the "://" symbols in URI, appeared in 0.1.11 version,
now is canceled.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ FreeBSD É Linux, ÅÓÌÉ ÂÙÌ ÕËÁÚÁÎ ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ
--without-ngx_http_auth_basic_module.
</para>
<para lang="en">
nginx could not be built on FreeBSD and Linux, if the
--without-ngx_http_auth_basic_module configuration parameter was used.
</para>
</change>
</changes>
<changes ver="0.1.26" date="22.03.2005">
<change type="change">
<para lang="ru">
ÎÅ×ÅÒÎÙÅ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ, ÐÅÒÅÄÁÎÎÙÅ ËÌÉÅÎÔÏÍ, ÔÅÐÅÒØ ÉÇÎÏÒÉÒÕÅÔÓÑ É
ÚÁÐÉÓÙ×ÁÀÔÓÑ × error_log ÎÁ ÕÒÏ×ÎÅ info.
</para>
<para lang="en">
the invalid client header lines are now ignored and logged at the info level.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÒÉ ÚÁÐÉÓÉ ÏÛÉÂÏË × ÌÏÇ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÔÁËÖÅ ÉÍÑ ÓÅÒ×ÅÒÁ, ÐÒÉ ÏÂÒÁÝÅÎÉÉ
Ë ËÏÔÏÒÏÍÕ ÐÒÏÉÚÏÛÌÁ ÏÛÉÂËÁ.
</para>
<para lang="en">
the server name is also logged in error log.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_auth_basic_module É ÄÉÒÅËÔÉ×Ù auth_basic É
auth_basic_user_file.
</para>
<para lang="en">
the ngx_http_auth_basic_module module and the auth_basic and
auth_basic_user_file directives.
</para>
</change>
</changes>
<changes ver="0.1.25" date="19.03.2005">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ Linux parisc.
</para>
<para lang="en">
nginx did run on Linux parisc.
</para>
</change>
<change type="feature">
<para lang="ru">
nginx ÔÅÐÅÒØ ÎÅ ÚÁÐÕÓËÁÅÔÓÑ ÐÏÄ FreeBSD, ÅÓÌÉ ÚÎÁÞÅÎÉÅ
sysctl kern.ipc.somaxconn ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ.
</para>
<para lang="en">
nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn
value is too big.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÍÏÄÕÌØ ngx_http_index_module ÄÅÌÁÌ ×ÎÕÔÒÅÎÎÅÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ÚÁÐÒÏÓÁ
× ÍÏÄÕÌÉ ngx_http_proxy_module ÉÌÉ ngx_http_fastcgi_module, ÔÏ ÆÁÊÌ ÉÎÄÅËÓÁ
ÎÅ ÚÁËÒÙ×ÁÌÓÑ ÐÏÓÌÅ ÏÂÓÌÕÖÉ×ÁÎÉÑ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
if a request was internally redirected by the ngx_http_index_module
module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules,
then the index file was not closed after request completion.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × location, ÚÁÄÁÎÎÙÈ ÒÅÇÕÌÑÒÎÙÍ
×ÙÒÁÖÅÎÉÅÍ.
</para>
<para lang="en">
the "proxy_pass" can be used in location with regular expression.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_rewrite_filter_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÕÓÌÏ×ÉÑ ×ÉÄÁ
"if ($HTTP_USER_AGENT ~ MSIE)".
</para>
<para lang="en">
the ngx_http_rewrite_filter_module module supports the condition like
"if ($HTTP_USER_AGENT ~ MSIE)".
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÏÞÅÎØ ÍÅÄÌÅÎÎÏ ÚÁÐÕÓËÁÌÓÑ ÐÒÉ ÂÏÌØÛÏÍ ËÏÌÉÞÅÓÔ×Å ÁÄÒÅÓÏ× É
ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÔÅËÓÔÏ×ÙÈ ÚÎÁÞÅÎÉÊ × ÄÉÒÅËÔÉ×Å geo.
</para>
<para lang="en">
nginx started too slow if the large number of addresses and text values
were used in the "geo" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ × ÄÉÒÅËÔÉ×Å geo ÎÕÖÎÏ ÕËÁÚÙ×ÁÔØ, ËÁË $name.
ðÒÅÖÎÉÊ ×ÁÒÉÁÎÔ ÂÅÚ "$" ÐÏËÁ ÒÁÂÏÔÁÅÔ, ÎÏ ×ÓËÏÒÅ ÂÕÄÅÔ ÕÂÒÁÎ.
</para>
<para lang="en">
a variable name must be declared as "$name" in the "geo" directive.
The previous variant without "$" is still supported, but will be removed soon.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ "%{VARIABLE}v".
</para>
<para lang="en">
the "%{VARIABLE}v" logging parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á "set $name value".
</para>
<para lang="en">
the "set $name value" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó gcc 4.0.
</para>
<para lang="en">
gcc 4.0 compatibility.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ --with-openssl-opt=OPTIONS.
</para>
<para lang="en">
the --with-openssl-opt=OPTIONS autoconfiguration directive.
</para>
</change>
</changes>
<changes ver="0.1.24" date="04.03.2005">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_filter_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ
QUERY_STRING É DOCUMENT_URI.
</para>
<para lang="en">
the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI
variables.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module ÍÏÇ ×ÙÄÁ×ÁÔØ ÏÔ×ÅÔ 404
ÎÁ ÓÕÝÅÓÔ×ÕÀÝÉÊ ËÁÔÁÌÏÇ, ÅÓÌÉ ÜÔÏÔ ËÁÔÁÌÏÇ ÂÙÌ ÕËÁÚÁÎ ËÁË alias.
</para>
<para lang="en">
the ngx_http_autoindex_module may some times return the 404 response
for existent directory, if this directory was used in "alias" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_filter_module ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÂÏÔÁÌ ÐÒÉ ÂÏÌØÛÉÈ
ÏÔ×ÅÔÁÈ.
</para>
<para lang="en">
the ngx_http_ssi_filter_module ran incorrectly for large responses.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔÓÕÔÓÔ×ÉÅ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ "Referer" ×ÓÅÇÄÁ ÓÞÉÔÁÌÏÓØ ÐÒÁ×ÉÌØÎÙÍ referrer'ÏÍ.
</para>
<para lang="en">
the lack of the "Referer" header line was always accounted as valid referrer.
</para>
</change>
</changes>
<changes ver="0.1.23" date="01.03.2005">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_filter_module É
ÄÉÒÅËÔÉ×Ù ssi, ssi_silent_errors É ssi_min_file_chunk.
ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ ËÏÍÁÎÄÙ 'echo var="HTTP_..." default=""' É
'echo var="REMOTE_ADDR"'.
</para>
<para lang="en">
the ngx_http_ssi_filter_module and
the ssi, ssi_silent_errors, and ssi_min_file_chunk directives.
The 'echo var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands
are supported.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_time.
</para>
<para lang="en">
the %request_time log parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÅÓÌÉ ÚÁÐÒÏÓ ÐÒÉÛ£Ì ÂÅÚ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ "Host", ÔÏ ÄÉÒÅËÔÉ×Á
proxy_preserve_host ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ × ËÁÞÅÓÔ×Å ÜÔÏÇÏ ÚÁÇÏÌÏ×ËÁ ÐÅÒ×ÏÅ ÉÍÑ
ÓÅÒ×ÅÒÁ ÉÚ ÄÉÒÅËÔÉ×Ù server_name.
</para>
<para lang="en">
if the request has no the "Host" header line, then the proxy_preserve_host
directive set this header line to the first server name of the server_name
directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, amd64, sparc É ppc;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.22.
</para>
<para lang="en">
nginx could not be built on platforms different from i386, amd64, sparc É ppc;
bug appeared in 0.1.22.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module ÔÅÐÅÒØ ÐÏËÁÚÙ×ÁÅÔ ÉÎÆÏÒÍÁÃÉÀ ÎÅ Ï
ÓÉÍ×ÏÌÉÞÅÓËÏÍ ÌÉÎËÅ, Á Ï ÆÁÊÌÅ ÉÌÉ ËÁÔÁÌÏÇÅ, ÎÁ ËÏÔÏÒÙÊ ÏÎ ÕËÁÚÙ×ÁÅÔ.
</para>
<para lang="en">
the ngx_http_autoindex_module now shows the information not about the symlink,
but about file or directory it points to.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ËÌÉÅÎÔÕ ÎÉÞÅÇÏ ÎÅ ÐÅÒÅÄÁ×ÁÌÏÓØ, ÔÏ ÐÁÒÁÍÅÔÒ %apache_length
ÚÁÐÉÓÙ×ÁÌ × ÌÏÇ ÏÔÒÉÃÁÔÅÌØÎÕÀ ÄÌÉÎÕ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ.
</para>
<para lang="en">
the %apache_length parameter logged the negative length
of the response header if the no response was transferred to a client.
</para>
</change>
</changes>
<changes ver="0.1.22" date="22.02.2005">
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_stub_status_module ÐÏËÁÚÙ×ÁÌ ÎÅ×ÅÒÎÕÀ ÓÔÁÔÉÓÔÉËÕ
ÄÌÑ ÏÂÒÁÂÏÔÁÎÎÙÈ ÓÏÅÄÉÎÅÎÉÊ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÏÓØ ÐÒÏËÓÉÒÏ×ÁÎÉÅ
ÉÌÉ FastCGI-ÓÅÒ×ÅÒ.
</para>
<para lang="en">
the ngx_http_stub_status_module showed incorrect handled connections
statistics if the proxing or FastCGI server were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ Linux É Solaris ÕÓÔÁÎÏ×ÏÞÎÙÅ ÐÕÔÉ ÂÙÌÉ ÎÅ×ÅÒÎÏ ÚÁËÌÀÞÅÎÙ × ËÁ×ÙÞËÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.21.
</para>
<para lang="en">
the installation paths were incorrectly quoted on Linux and Solaris;
bug appeared in 0.1.21.
</para>
</change>
</changes>
<changes ver="0.1.21" date="22.02.2005">
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_stub_status_module ÐÏËÁÚÙ×ÁÌ ÎÅ×ÅÒÎÕÀ ÓÔÁÔÉÓÔÉËÕ
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig ÉÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÓËÏÌØËÉÈ
ÒÁÂÏÞÉÈ ÐÒÏÃÅÓÓÏ× ÎÁ SMP ÍÁÛÉÎÅ.
</para>
<para lang="en">
the ngx_http_stub_status_module showed incorrect statistics
if "rtsig" method was used or if several worker process ran on SMP.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ËÏÍÐÉÌÑÔÏÒÏÍ icc ÐÏÄ ìÉÎÕËÓÏÍ ÉÌÉ
ÅÓÌÉ ÂÉÂÌÉÏÔÅËÁ zlib-1.2.x ÓÏÂÉÒÁÌÁÓØ ÉÚ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×.
</para>
<para lang="en">
nginx could not be built by the icc compiler on Linux or
if the zlib-1.2.x library was building from sources.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ NetBSD 2.0.
</para>
<para lang="en">
nginx could not be built on NetBSD 2.0.
</para>
</change>
</changes>
<changes ver="0.1.20" date="17.02.2005">
<change type="feature">
<para lang="ru">
ÎÏ×ÙÅ ÐÁÒÁÍÅÔÒÙ script_filename É remote_port × ÄÉÒÅËÔÉ×Å fastcgi_params.
</para>
<para lang="en">
the new "script_filename" and "remote_port" parameters
of the fastcgi_params directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÓÑ ÐÏÔÏË stderr ÏÔ FastCGI-ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
the FastCGI stderr stream was handled incorrectly.
</para>
</change>
</changes>
<changes ver="0.1.19" date="16.02.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÐÒÏÓÅ ÅÓÔØ ÎÕÌØ, ÔÏ ÄÌÑ ÌÏËÁÌØÎÙÈ ÚÁÐÒÏÓÏ× ÔÅÐÅÒØ ×ÏÚ×ÒÁÝÁÅÔÓÑ
ÏÛÉÂËÁ 404.
</para>
<para lang="en">
now, if request contains the zero, then the 404 error is returned
for the local requests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ NetBSD 2.0.
</para>
<para lang="en">
nginx could not be built on NetBSD 2.0.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×Ï ×ÒÅÍÑ ÞÔÅÎÉÑ ÔÅÌÁ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ × SSL ÓÏÅÄÉÎÅÎÉÉ ÍÏÇ ÐÒÏÉÚÏÊÔÉ ÔÁÊÍÁÕÔ.
</para>
<para lang="en">
the timeout may occur while reading of the the client request body
via SSL connections.
</para>
</change>
</changes>
<changes ver="0.1.18" date="09.02.2005">
<change type="workaround">
<para lang="ru">
ÄÌÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó Solaris 10 × ÄÉÒÅËÔÉ×ÁÈ devpoll_events É devpoll_changes
ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÕÍÅÎØÛÅÎÙ Ó 512 ÄÏ 32.
</para>
<para lang="en">
the default values of the devpoll_events and the devpoll_changes directives
changed from 512 to 32 to be compatible with Solaris 10.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_set_x_var É fastcgi_set_var ÎÅ ÎÁÓÌÅÄÏ×ÁÌÉÓØ.
</para>
<para lang="en">
the proxy_set_x_var and fastcgi_set_var directives were not inherited.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å rewrite, ×ÏÚ×ÒÁÝÁÀÝÅÊ ÒÅÄÉÒÅËÔ, ÁÒÇÕÍÅÎÔÙ ÐÒÉÓÏÅÄÉÎÑÌÉÓØ
Ë URI ÞÅÒÅÚ ÓÉÍ×ÏÌ "&amp;" ×ÍÅÓÔÏ "?".
</para>
<para lang="en">
in the redirect rewrite directive the arguments were concatenated with URI
by the "&amp;" rather than the "?".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÔÒÏËÉ ÄÌÑ ÍÏÄÕÌÑ ngx_http_geo_module ÂÅÚ ÓÉÍ×ÏÌÁ ";" ×Ï ×ËÌÀÞ£ÎÎÏÍ ÆÁÊÌÅ
ÉÇÎÏÒÉÒÏ×ÁÌÉÓØ.
</para>
<para lang="en">
the lines without trailing ";" in the file being included
by the ngx_http_geo_module were silently ignored.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_stub_status_module.
</para>
<para lang="en">
the ngx_http_stub_status_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅÉÚ×ÅÓÔÎÙÊ ÆÏÒÍÁÔ ÌÏÇ-ÆÁÊÌÁ × ÄÉÒÅËÔÉ×Å access_log ×ÙÚÙ×ÁÌ segmentation fault.
</para>
<para lang="en">
the unknown log format in the access_log directive caused
the segmentation fault.
</para>
</change>
<change type="feature">
<para lang="ru">
ÎÏ×ÙÊ ÐÁÒÁÍÅÔÒ document_root × ÄÉÒÅËÔÉ×Å fastcgi_params.
</para>
<para lang="en">
the new "document_root" parameter of the fastcgi_params directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_redirect_errors.
</para>
<para lang="en">
the fastcgi_redirect_errors directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÎÏ×ÙÊ ÍÏÄÉÆÉËÁÔÏÒ break × ÄÉÒÅËÔÉ×Å rewrite ÐÏÚ×ÏÌÑÅÔ ÐÒÅËÒÁÔÉÔØ
ÃÉËÌ rewrite/location É ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÅËÕÝÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ ÄÌÑ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the new "break" modifier of the "rewrite" directive allows to stop
the rewrite/location cycle and sets the current configuration to the request.
</para>
</change>
</changes>
<changes ver="0.1.17" date="03.02.2005">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_rewrite_module ÐÏÌÎÏÓÔØÀ ÐÅÒÅÐÉÓÁÎ.
ôÅÐÅÒØ ÍÏÖÎÏ ÄÅÌÁÔØ ÒÅÄÉÒÅËÔÙ, ×ÏÚ×ÒÁÝÁÔØ ËÏÄÙ ÏÛÉÂÏË
É ÐÒÏ×ÅÒÑÔØ ÐÅÒÅÍÅÎÎÙÅ É ÒÅÆÅÒÅÒÙ.
üÔÉ ÄÉÒÅËÔÉ×Ù ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ location.
äÉÒÅËÔÉ×Á redirect ÕÐÒÁÚÄÎÅÎÁ.
</para>
<para lang="en">
the ngx_http_rewrite_module was rewritten from the scratch.
Now it is possible to redirect, to return the error codes,
to check the variables and referrers. The directives can be used
inside locations.
The redirect directive was canceled.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_geo_module.
</para>
<para lang="en">
the ngx_http_geo_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_set_x_var É fastcgi_set_var.
</para>
<para lang="en">
the proxy_set_x_var and fastcgi_set_var directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ËÏÎÆÉÇÕÒÁÃÉÑ location Ó ÍÏÄÉÆÉËÁÔÏÒÏÍ "=" ÍÏÇÌÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
× ÄÒÕÇÏÍ location.
</para>
<para lang="en">
the location configuration with "=" modifier may be used in another
location.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÁ×ÉÌØÎÙÊ ÔÉÐ ÏÔ×ÅÔÁ ×ÙÓÔÁ×ÌÑÌÓÑ ÔÏÌØËÏ ÄÌÑ ÚÁÐÒÏÓÏ×, Õ ËÏÔÏÒÙÈ × ÒÁÓÛÉÒÅÎÉÉ
ÂÙÌÉ ÔÏÌØËÏ ÍÁÌÅÎØËÉÅ ÂÕË×Ù.
</para>
<para lang="en">
the correct content type was set only for requests that use small caps letters
in extension.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÌÑ location ÕÓÔÁÎÏ×ÌÅÎ proxy_pass ÉÌÉ fastcgi_pass, É ÄÏÓÔÕÐ
Ë ÎÅÍÕ ÚÁÐÒÅÝÁÌÓÑ, Á ÏÛÉÂËÁ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÁÓØ ÎÁ ÓÔÁÔÉÞÅÓËÕÀ ÓÔÒÁÎÉÃÕ,
ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
if the proxy_pass or fastcgi_pass directives were set in the location,
and access was denied, and the error was redirected to a static page,
then the segmentation fault occurred.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÐÒÏËÓÉÒÏ×ÁÎÎÏÍ ÏÔ×ÅÔÅ × ÚÁÇÏÌÏ×ËÅ "Location" ÐÅÒÅÄÁ×ÁÌÓÑ
ÏÔÎÏÓÉÔÅÌØÎÙÊ URL, ÔÏ Ë ÎÅÍÕ ÄÏÂÁ×ÌÑÌÏÓØ ÉÍÑ ÈÏÓÔÁ É ÓÌÜÛ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14.
</para>
<para lang="en">
if in a proxied "Location" header was a relative URL,
then a host name and a slash were added to them;
bug appeared in 0.1.14.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ Linux × ÌÏÇ ÎÅ ÚÁÐÉÓÙ×ÁÌÓÑ ÔÅËÓÔ ÓÉÓÔÅÍÎÏÊ ÏÛÉÂËÉ.
</para>
<para lang="en">
the system error message was not logged on Linux.
</para>
</change>
</changes>
<changes ver="0.1.16" date="25.01.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ chunk'ÁÍÉ, ÔÏ ÐÒÉ ÚÁÐÒÏÓÅ HEAD ×ÙÄÁ×ÁÌÓÑ
ÚÁ×ÅÒÛÁÀÝÉÊ chunk.
</para>
<para lang="en">
if the response were transferred by chunks, then on the HEAD request
the final chunk was issued.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÚÁÇÏÌÏ×ÏË "Connection: keep-alive" ×ÙÄÁ×ÁÌÓÑ, ÄÁÖÅ ÅÓÌÉ ÄÉÒÅËÔÉ×Á
keepalive_timeout ÚÁÐÒÅÝÁÌÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ keep-alive.
</para>
<para lang="en">
the "Connection: keep-alive" header were issued, even if the
keepalive_timeout directive forbade the keep-alive use.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ × ÍÏÄÕÌÅ ngx_http_fastcgi_module ×ÙÚÙ×ÁÌÉ segmentation fault.
</para>
<para lang="en">
the errors in the ngx_http_fastcgi_module caused the segmentation faults.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÓÖÁÔÙÊ ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÄÏ ËÏÎÃÁ.
</para>
<para lang="en">
the compressed response encrypted by SSL may not transferred complete.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÐÃÉÉ TCP_NODELAY, TCP_NOPSUH É TCP_CORK, ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ TCP ÓÏËÅÔÏ×,
ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ unix domain ÓÏËÅÔÏ×.
</para>
<para lang="en">
the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options,
are not used for the unix domain sockets.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á rewrite ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÚÁÐÉÓÙ×ÁÎÉÅ ÁÒÇÕÍÅÎÔÏ×.
</para>
<para lang="en">
the rewrite directive supports the arguments rewriting.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ ÚÁÐÒÏÓ POST Ó ÚÁÇÏÌÏ×ËÏÍ "Content-Length: 0" ×ÏÚ×ÒÁÝÁÌÓÑ ÏÔ×ÅÔ 400;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14.
</para>
<para lang="en">
the response code 400 was returned for the POST request with the
"Content-Length: 0" header;
bug appeared in 0.1.14.
</para>
</change>
</changes>
<changes ver="0.1.15" date="19.01.2005">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ ÓÏÅÄÉÎÅÎÉÑ Ó FastCGI-ÓÅÒ×ÅÒÏÍ ×ÙÚÙ×ÁÌÁ segmentation fault.
</para>
<para lang="en">
the error while the connecting to the FastCGI server caused
segmentation fault.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ, × ËÏÔÏÒÏÍ ÞÉÓÌÏ
×ÙÄÅÌÅÎÎÙÈ ÞÁÓÔÅÊ ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÞÉÓÌÏÍ ÐÏÄÓÔÁÎÏ×ÏË.
</para>
<para lang="en">
the correct handling of the regular expression, that
has different number of the captures and substitutions.
</para>
</change>
<change type="feature">
<para lang="ru">
location, ËÏÔÏÒÙÊ ÐÅÒÅÄÁ£ÔÓÑ FastCGI-ÓÅÒ×ÅÒÕ, ÍÏÖÅÔ ÂÙÔØ ÚÁÄÁÎ
Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ.
</para>
<para lang="en">
the location, that is passed to the FastCGI server, can be
regular expression.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒ FastCGI REQUEST_URI ÔÅÐÅÒØ ÐÅÒÅÄÁ£ÔÓÑ ×ÍÅÓÔÅ Ó ÁÒÇÕÍÅÎÔÁÍÉ
É × ÔÏÍ ×ÉÄÅ, × ËÏÔÏÒÏÍ ÂÙÌ ÐÏÌÕÞÅÎ ÏÔ ËÌÉÅÎÔÁ.
</para>
<para lang="en">
the FastCGI's parameter REQUEST_URI is now passed with the arguments
and in the original state.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ × location ÎÕÖÎÏ ÂÙÌÏ
ÓÏÂÉÒÁÔØ nginx ×ÍÅÓÔÅ Ó ngx_http_rewrite_module.
</para>
<para lang="en">
the ngx_http_rewrite_module module was required to be built to use
the regular expressions in locations.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÜËÅÎÄ ÓÌÕÛÁÌ ÎÁ 80-ÏÍ ÐÏÒÔÕ, ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù
<nobr>"proxy_preserve_host on"</nobr> × ÚÁÇÏÌÏ×ËÅ "Host" ÕËÁÚÙ×ÁÌÓÑ
ÔÁËÖÅ ÐÏÒÔ 80;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14.
</para>
<para lang="en">
the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80
to the "Host" headers, if upstream listen on port 80;
bug appeared in 0.1.14.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÚÁÄÁÔØ ÏÄÉÎÁËÏ×ÙÅ ÐÕÔÉ × ÐÁÒÁÍÅÔÒÁÈ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ
--http-client-body-temp-path=PATH É --http-proxy-temp-path=PATH
ÉÌÉ --http-client-body-temp-path=PATH É --http-fastcgi-temp-path=PATH,
ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
the same paths in autoconfiguration parameters
--http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
caused segmentation fault.
</para>
</change>
</changes>
<changes ver="0.1.14" date="18.01.2005">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ
--http-client-body-temp-path=PATH,
--http-proxy-temp-path=PATH
É --http-fastcgi-temp-path=PATH
</para>
<para lang="en">
the autoconfiguration directives:
--http-client-body-temp-path=PATH,
--http-proxy-temp-path=PATH,
and --http-fastcgi-temp-path=PATH
</para>
</change>
<change type="change">
<para lang="ru">
ÉÍÑ ËÁÔÁÌÏÇÁ Ó ×ÒÅÍÅÎÎÙÍÉ ÆÁÊÌÁÍÉ, ÓÏÄÅÒÖÁÝÉÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ,
ÚÁÄÁ£ÔÓÑ ÄÉÒÅËÔÉ×ÏÊ client_body_temp_path,
ÐÏ ÕÍÏÌÞÁÎÉÀ &lt;prefix&gt;/client_body_temp.
</para>
<para lang="en">
the directory name for the temporary files with the client request body
is specified by directive client_body_temp_path,
by default it is &lt;prefix&gt;/client_body_temp.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_fastcgi_module É ÄÉÒÅËÔÉ×Ù
fastcgi_pass,
fastcgi_root,
fastcgi_index,
fastcgi_params,
fastcgi_connect_timeout,
fastcgi_send_timeout,
fastcgi_read_timeout,
fastcgi_send_lowat,
fastcgi_header_buffer_size,
fastcgi_buffers,
fastcgi_busy_buffers_size,
fastcgi_temp_path,
fastcgi_max_temp_file_size,
fastcgi_temp_file_write_size,
fastcgi_next_upstream
É fastcgi_x_powered_by.
</para>
<para lang="en">
the ngx_http_fastcgi_module and the directives:
fastcgi_pass,
fastcgi_root,
fastcgi_index,
fastcgi_params,
fastcgi_connect_timeout,
fastcgi_send_timeout,
fastcgi_read_timeout,
fastcgi_send_lowat,
fastcgi_header_buffer_size,
fastcgi_buffers,
fastcgi_busy_buffers_size,
fastcgi_temp_path,
fastcgi_max_temp_file_size,
fastcgi_temp_file_write_size,
fastcgi_next_upstream,
and fastcgi_x_powered_by.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ "[alert] zero size buf";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.3.
</para>
<para lang="en">
the "[alert] zero size buf" error;
bug appeared in 0.1.3.
</para>
</change>
<change type="change">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å proxy_pass ÎÕÖÎÏ ÏÂÑÚÁÔÅÌØÎÏ ÕËÁÚÙ×ÁÔØ URI ÐÏÓÌÅ ÉÍÅÎÉ ÈÏÓÔÁ.
</para>
<para lang="en">
the URI must be specified after the host name in the proxy_pass directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÅÓÌÉ × URI ×ÓÔÒÅÞÁÌÓÑ ÓÉÍ×ÏÌ %3F, ÔÏ ÏÎ ÓÞÉÔÁÌÓÑ ÎÁÞÁÌÏÍ ÓÔÒÏËÉ ÁÒÇÕÍÅÎÔÏ×.
</para>
<para lang="en">
the %3F symbol in the URI was considered as the argument string start.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ unix domain ÓoËÅÔÏ× × ÍÏÄÕÌÅ ngx_http_proxy_module.
</para>
<para lang="en">
the unix domain sockets support in the ngx_http_proxy_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù ssl_engine É ssl_ciphers.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ óË×ÏÒÃÏ×Õ ÚÁ SSL-ÁËÓÅÌÅÒÁÔÏÒ.
</para>
<para lang="en">
the ssl_engine and ssl_ciphers directives.<br/>
Thanks to Sergey Skvortsov for SSL-accelerator.
</para>
</change>
</changes>
<changes ver="0.1.13" date="21.12.2004">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù server_names_hash É server_names_hash_threshold.
</para>
<para lang="en">
the server_names_hash and server_names_hash_threshold directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÍÅÎÁ *.domain.tld × ÄÉÒÅËÔÉ×Å server_name ÎÅ ÒÁÂÏÔÁÌÉ.
</para>
<para lang="en">
the *.domain.tld names in the server_name directive did not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_length ÚÁÐÉÓÙ×ÁÌ ÎÅ×ÅÒÎÕÀ ÄÌÉÎÕ.
</para>
<para lang="en">
the %request_length log parameter logged the incorrect length.
</para>
</change>
</changes>
<changes ver="0.1.12" date="06.12.2004">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_length.
</para>
<para lang="en">
the %request_length log parameter.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ /dev/poll, select É poll ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÇÄÅ ×ÏÚÍÏÖÎÙ
ÌÏÖÎÙÅ ÓÒÁÂÁÔÙ×ÁÎÉÑ ÕËÁÚÁÎÎÙÈ ÍÅÔÏÄÏ×, ÍÏÇÌÉ ÂÙÔØ ÄÌÉÔÅÌØÎÙÅ ÚÁÄÅÒÖËÉ
ÐÒÉ ÏÂÒÁÂÏÔËÅ ÚÁÐÒÏÓÁ ÐÏ keep-alive ÓÏÅÄÉÎÅÎÉÀ.
îÁÂÌÀÄÁÌÏÓØ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÎÁ Solaris Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ /dev/poll.
</para>
<para lang="en">
when using the /dev/poll, select and poll on the platforms, where
these methods may do the false reports, there may be the long delay when
the request was passed via the keep-alive connection.
It may be at least on Solaris when using the /dev/poll.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á send_lowat ÉÇÎÏÒÉÒÕÅÔÓÑ ÎÁ Linux, ÔÁË ËÁË Linux ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ
ÏÐÃÉÀ SO_SNDLOWAT.
</para>
<para lang="en">
the send_lowat directive is ignored on Linux because Linux does not support
the SO_SNDLOWAT option.
</para>
</change>
</changes>
<changes ver="0.1.11" date="02.12.2004">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á worker_priority.
</para>
<para lang="en">
the worker_priority directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÏÄ FreeBSD ÄÉÒÅËÔÉ×Ù tcp_nopush É tcp_nodelay ×ÍÅÓÔÅ ×ÌÉÑÀÔ ÎÁ ÐÅÒÅÄÁÞÕ
ÏÔ×ÅÔÁ.
</para>
<para lang="en">
both tcp_nopush and tcp_nodelay directives affect the transferred response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ×ÙÚÙ×ÁÌ initgroups().<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ óÉÔÎÉËÏ×Õ É áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
nginx did not call initgroups().<br/>
Thanks to Andrew Sitnikov and Andrei Nigmatulin.
</para>
</change>
<change type="change">
<para lang="ru">
ngx_http_auto_index_module ÔÅÐÅÒØ ×ÙÄÁ£Ô ÒÁÚÍÅÒ ÆÁÊÌÏ× × ÂÁÊÔÁÈ.
</para>
<para lang="en">
now the ngx_http_autoindex_module shows the file size in the bytes.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_auto_index_module ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 500, ÅÓÌÉ × ËÁÔÁÌÏÇÅ ÅÓÔØ
ÂÉÔÙÊ symlink.
</para>
<para lang="en">
the ngx_http_autoindex_module returned the 500 error if the broken symlink
was in a directory.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÆÁÊÌÙ ÂÏÌØÛÅ 4G ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ sendfile.
</para>
<para lang="en">
the files bigger than 4G could not be transferred using sendfile.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÜËÅÎÄ ÒÅÚÏÌ×ÉÌÓÑ × ÎÅÓËÏÌØËÏ ÁÄÒÅÓÏ× É ÐÒÉ ÏÖÉÄÁÎÉÉ ÏÔ ÎÅÇÏ ÏÔ×ÅÔÁ
ÐÒÏÉÓÈÏÄÉÌÁ ÏÛÉÂËÁ, ÔÏ ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ.
</para>
<para lang="en">
if the backend was resolved to several backends and there was an error while
the response waiting then process may got caught in an endless loop.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ /dev/poll ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁ×ÅÒÛÉÔØÓÑ
Ó ÓÏÏÂÝÅÎÉÅÍ "unknown cycle".
</para>
<para lang="en">
the worker process may exit with the "unknown cycle" message when the /dev/poll
method was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ "close() channel failed".
</para>
<para lang="en">
"close() channel failed" errors.
</para>
</change>
<change type="bugfix">
<para lang="ru">
Á×ÔÏÍÁÔÉÞÅÓËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÇÒÕÐÐ nobody É nogroup.
</para>
<para lang="en">
the autodetection of the "nobody" and "nogroup" groups.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á send_lowat ÎÅ ÒÁÂÏÔÁÌÁ ÎÁ Linux.
</para>
<para lang="en">
the send_lowat directive did not work on Linux.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ËÏÎÆÉÇÕÒÁÃÉÉ ÎÅ ÂÙÌÏ ÒÁÚÄÅÌÁ events, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
the segmentation fault occurred if there was no events section
in configuration.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ OpenBSD.
</para>
<para lang="en">
nginx could not be built on OpenBSD.
</para>
</change>
<change type="bugfix">
<para lang="ru">
Ä×ÏÊÎÙÅ ÓÌÜÛÙ × "://" × URI ÐÒÅ×ÒÁÝÁÌÉÓØ × ":/".
</para>
<para lang="en">
the double slashes in "://" in the URI were converted to ":/".
</para>
</change>
</changes>
<changes ver="0.1.10" date="26.11.2004">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÐÒÏÓÅ ÂÅÚ ÁÒÇÕÍÅÎÔÏ× ÅÓÔØ "//", "/./", "/../" ÉÌÉ "%XX",
ÔÏ ÔÅÒÑÌÓÑ ÐÏÓÌÅÄÎÉÊ ÓÉÍ×ÏÌ × ÓÔÒÏËÅ ÚÁÐÒÏÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.9.
</para>
<para lang="en">
if the request without arguments contains "//", "/./", "/../" or "%XX"
then the lost character in the request line was lost;
bug appeared in 0.1.9.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÓÐÒÁ×ÌÅÎÉÅ × ×ÅÒÓÉÉ 0.1.9 ÄÌÑ ÆÁÊÌÏ× ÂÏÌØÛÅ 2G ÎÁ Linux ÎÅ ÒÁÂÏÔÁÌÏ.
</para>
<para lang="en">
the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
</para>
</change>
</changes>
<changes ver="0.1.9" date="25.11.2004">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÐÒÏÓÅ ÅÓÔØ "//", "/./", "/../" ÉÌÉ "%XX", ÔÏ ÐÒÏËÓÉÒÕÅÍÙÊ
ÚÁÐÒÏÓ ÐÅÒÅÄÁ×ÁÌÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÏ×.
</para>
<para lang="en">
the proxied request was sent without arguments if the request contains
"//", "/./", "/../" or "%XX".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÓÖÁÔÉÉ ÂÏÌØÛÉÈ ÏÔ×ÅÔÏ× ÉÎÏÇÄÁ ÏÎÉ ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
the large compressed responses may be transferred not completely.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ ÆÁÊÌÙ ÂÏÌØÛÅ 2G ÎÁ Linux, ÎÅÐÏÄÄÅÒÖÉ×ÁÀÝÅÍ sendfile64().
</para>
<para lang="en">
the files bigger than 2G was not transferred on Linux that does not support
sendfile64().
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ Linux ÐÒÉ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÂÏÒËÉ ÎÕÖÎÏ ÂÙÌÏ ÏÂÑÚÁÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ
ÐÁÒÁÍÅÔÒ --with-poll_module;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.8.
</para>
<para lang="en">
while the build configuration on Linux the --with-poll_module parameter
was required;
bug appeared in 0.1.8.
</para>
</change>
</changes>
<changes ver="0.1.8" date="20.11.2004">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module ÐÒÉ ÐÏËÁÚÅ ÄÌÉÎÎÙÈ ÉͣΠÆÁÊÌÏ×.
</para>
<para lang="en">
in the ngx_http_autoindex_module if the long file names were in the listing.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÉÆÉËÁÔÏÒ "^~" × ÄÉÒÅËÔÉ×Å location.
</para>
<para lang="en">
the "^~" modifier in the location directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_max_temp_file_size.
</para>
<para lang="en">
the proxy_max_temp_file_size directive.
</para>
</change>
</changes>
<changes ver="0.1.7" date="12.11.2004">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile, ÅÓÌÉ ÐÅÒÅÄÁ×ÁÅÍÙÊ ÆÁÊÌ ÍÅÎÑÌÓÑ, ÔÏ ÍÏÇ
ÐÒÏÉÚÏÊÔÉ segmentation fault ÎÁ FreeBSD;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.5.
</para>
<para lang="en">
on FreeBSD the segmentation fault may occur if the size of the transferred
file was changed;
bug appeared in 0.1.5.
</para>
</change>
</changes>
<changes ver="0.1.6" date="11.11.2004">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ËÏÍÂÉÎÁÃÉÑÈ ÄÉÒÅËÔÉ× location c ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ
ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ËÏÎÆÉÇÕÒÁÃÉÑ ÎÅ ÉÚ ÔÏÇÏ location.
</para>
<para lang="en">
some location directive combinations with the regular expressions caused
the wrong configuration choose.
</para>
</change>
</changes>
<changes ver="0.1.5" date="11.11.2004">
<change type="bugfix">
<para lang="ru">
ÎÁ Solaris É Linux ÍÏÇÌÏ ÂÙÔØ ÏÞÅÎØ ÍÎÏÇÏ ÓÏÏÂÝÅÎÉÊ "recvmsg() returned
not enough data".
</para>
<para lang="en">
on Solaris and Linux there may be too many "recvmsg() returned not enough data"
alerts.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ sendfile ÎÁ Solaris ×ÏÚÎÉËÁÌÁ
ÏÛÉÂËÁ "writev() failed <nobr>(22: Invalid argument)".</nobr>
îÁ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ sendfile, ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ.
</para>
<para lang="en">
there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
Solaris in proxy mode without sendfile. On other platforms that do not
support sendfile at all the process got caught in an endless loop.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÎÁ Solaris ×ÏÚÎÉËÁÌ
segmentation fault.
</para>
<para lang="en">
segmentation fault on Solaris in proxy mode and using sendfile.
</para>
</change>
<change type="bugfix">
<para lang="ru">
segmentation fault ÎÁ Solaris.
</para>
<para lang="en">
segmentation fault on Solaris.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÂÎÏ×ÌÅÎÉÅ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ ÎÁ ÌÅÔÕ ÎÅ ÒÁÂÏÔÁÌÏ ÎÁ Linux.
</para>
<para lang="en">
on-line upgrade did not work on Linux.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÓÐÉÓËÅ ÆÁÊÌÏ×, ×ÙÄÁ×ÁÅÍÏÍ ÍÏÄÕÌÅÍ ngx_http_autoindex_module,
ÎÅ ÐÅÒÅËÏÄÉÒÏ×ÁÌÉÓØ ÐÒÏÂÅÌÙ, ËÁ×ÙÞËÉ É ÚÎÁËÉ ÐÒÏÃÅÎÔÁ.
</para>
<para lang="en">
the ngx_http_autoindex_module module did not escape the spaces,
the quotes, and the percent signs in the directory listing.
</para>
</change>
<change type="change">
<para lang="ru">
ÕÍÅÎØÛÅÎÉÅ ÏÐÅÒÁÃÉÊ ËÏÐÉÒÏ×ÁÎÉÑ.
</para>
<para lang="en">
the decrease of the copy operations.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á userid_p3p.
</para>
<para lang="en">
the userid_p3p directive.
</para>
</change>
</changes>
<changes ver="0.1.4" date="26.10.2004">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module.
</para>
<para lang="en">
in the ngx_http_autoindex_module.
</para>
</change>
</changes>
<changes ver="0.1.3" date="25.10.2004">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module É ÄÉÒÅËÔÉ×Á autoindex.
</para>
<para lang="en">
the ngx_http_autoindex_module and the autoindex directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_set_x_url.
</para>
<para lang="en">
the proxy_set_x_url directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÍÏÇ ÐÒÉ×ÅÓÔÉ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ, ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ
sendfile.
</para>
<para lang="en">
proxy module may get caught in an endless loop when sendfile is not used.
</para>
</change>
</changes>
<changes ver="0.1.2" date="21.10.2004">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ --user=USER, --group=GROUP É --with-ld-opt=OPTIONS × configure.
</para>
<para lang="en">
the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ *.domain.tld.
</para>
<para lang="en">
the server_name directive supports *.domain.tld.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÌÕÞÛÅÎÁ ÐÅÒÅÎÏÓÉÍÏÓÔØ ÎÁ ÎÅÉÚ×ÅÓÔÎÙÅ ÐÌÁÔÆÏÒÍÙ.
</para>
<para lang="en">
the portability improvements.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅÌØÚÑ ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ nginx, ÅÓÌÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÕËÁÚÁÎ
× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.1.
</para>
<para lang="en">
if configuration file was set in command line, the reconfiguration
was impossible;
bug appeared in 0.1.1.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÍÏÇ ÐÒÉ×ÅÓÔÉ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ, ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ
sendfile.
</para>
<para lang="en">
proxy module may get caught in an endless loop when sendfile is not used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile ÔÅËÓÔ ÏÔ×ÅÔÁ ÎÅ ÐÅÒÅËÏÄÉÒÏ×ÁÌÓÑ
ÓÏÇÌÁÓÎÏ ÄÉÒÅËÔÉ×ÁÍ ÍÏÄÕÌÑ charset;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.1.
</para>
<para lang="en">
with sendfile the response was not recoded according to the charset
module directives;
bug appeared in 0.1.1.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÞÅÎØ ÒÅÄËÁÑ ÏÛÉÂËÁ ÐÒÉ ÏÂÒÁÂÏÔËÅ kqueue.
</para>
<para lang="en">
very seldom bug in the kqueue processing.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ÓÖÁÔÉÑ ÓÖÉÍÁÌ ÕÖÅ ÓÖÁÔÙÅ ÏÔ×ÅÔÙ, ÐÏÌÕÞÅÎÎÙÅ ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ.
</para>
<para lang="en">
the gzip module compressed the proxied responses that was already compressed.
</para>
</change>
</changes>
<changes ver="0.1.1" date="11.10.2004">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á gzip_types.
</para>
<para lang="en">
the gzip_types directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á tcp_nodelay.
</para>
<para lang="en">
the tcp_nodelay directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á send_lowat ÒÁÂÏÔÁÅÔ ÎÅ ÔÏÌØËÏ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ
kqueue NOTE_LOWAT, ÎÏ É ÎÁ ×ÓÅÈ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ SO_SNDLOWAT.
</para>
<para lang="en">
the send_lowat directive is working not only on OSes that support
kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
</para>
</change>
<change type="feature">
<para lang="ru">
ÜÍÕÌÑÃÉÑ setproctitle() ÄÌÑ Linux É Solaris.
</para>
<para lang="en">
the setproctitle() emulation for Linux and Solaris.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ ÐÒÉ ÐÅÒÅÐÉÓÙ×ÁÎÉÉ ÚÁÇÏÌÏ×ËÁ "Location" ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ.
</para>
<para lang="en">
the "Location" header rewrite bug fixed while the proxing.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_chunked_module, ÐÒÉ×ÏÄÉ×ÛÁÑ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ.
</para>
<para lang="en">
the ngx_http_chunked_module module may get caught in an endless loop.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ × ÍÏÄÕÌÅ /dev/poll.
</para>
<para lang="en">
the /dev/poll module bugs fixed.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ É ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ× ÏÔ×ÅÔÙ ÐÏÒÔÉÌÉÓØ.
</para>
<para lang="en">
the responses were corrupted when the temporary files were used
while the proxing.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÜËÅÎÄÕ ÐÅÒÅÄÁ×ÁÌÉÓØ ÚÁÐÒÏÓÙ Ó ÎÅÐÅÒÅËÏÄÉÒÏ×ÁÎÎÙÍÉ ÓÉÍ×ÏÌÁÍÉ.
</para>
<para lang="en">
the unescaped requests were passed to the backend.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ Linux 2.4 ÐÒÉ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÂÏÒËÉ ÎÕÖÎÏ ÂÙÌÏ ÏÂÑÚÁÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ
ÐÁÒÁÍÅÔÒ --with-poll_module.
</para>
<para lang="en">
while the build configuration on Linux 2.4 the --with-poll_module parameter
was required.
</para>
</change>
</changes>
<changes ver="0.1.0" date="04.10.2004">
<change>
<para lang="ru">
ðÅÒ×ÁÑ ÐÕÂÌÉÞÎÏ ÄÏÓÔÕÐÎÁÑ ×ÅÒÓÉÑ.
</para>
<para lang="en">
The first public version.
</para>
</change>
</changes>
</change_log>