blob: 20ec3b033c243620789f7df322686b3af9092592 [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.3.56" date="04.08.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á dav_access.
</para>
<para lang="en">
the "dav_access" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÅÒÁÔÏÒÙ "-d", "!-d", "-e", "!-e", "-x" É "!-x".
</para>
<para lang="en">
the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x"
operators.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÚÁÐÉÓÉ × access_log ÎÅËÏÔÏÒÙÈ ÐÅÒÅÄÁ×ÁÅÍÙÈ ËÌÉÅÎÔÕ ÓÔÒÏË ÚÁÇÏÌÏ×ËÏ×
ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ ÚÁÐÒÏÓ ×ÏÚ×ÒÁÝÁÌ ÒÅÄÉÒÅËÔ.
</para>
<para lang="en">
a segmentation fault occurred if an request returned an redirect and
some sent to client header lines were logged in the access log.
</para>
</change>
</changes>
<changes ver="0.3.55" date="28.07.2006">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ stub × ËÏÍÁÎÄÅ SSI include.
</para>
<para lang="en">
the "stub" parameter in the "include" SSI command.
</para>
</change>
<change type="feature">
<para lang="ru">
ËÏÍÁÎÄÁ SSI block.
</para>
<para lang="en">
the "block" SSI command.
</para>
</change>
<change type="feature">
<para lang="ru">
ÓËÒÉÐÔ unicode2nginx ÄÏÂÁ×ÌÅÎ × contrib.
</para>
<para lang="en">
the unicode2nginx script was added to contrib.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ root ÂÙÌ ÚÁÄÁÎ ÔÏÌØËÏ ÐÅÒÅÍÅÎÎÏÊ, ÔÏ ËÏÒÅÎØ ÚÁÄÁ×ÁÌÓÑ
ÏÔÎÏÓÉÔÅÌØÎÏ ÐÒÅÆÉËÓÁ ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
if a "root" was specified by variable only, then the root was relative
to a server prefix.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÐÒÏÓÅ ÂÙÌ "//" ÉÌÉ "/.", É ÐÏÓÌÅ ÜÔÏÇÏ ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ
ÓÉÍ×ÏÌÙ × ×ÉÄÅ "%XX", ÔÏ ÐÒÏËÓÉÒÕÅÍÙÊ ÚÁÐÒÏÓ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅÚÁËÏÄÉÒÏ×ÁÎÎÙÍ.
</para>
<para lang="en">
if the request contained "//" or "/./" and escaped symbols after them,
then the proxied request was sent unescaped.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÅÔÏÄ $r->headers_in("Cookie") ÍÏÄÕÌÑ ngx_http_perl_module ÔÅÐÅÒØ ×ÏÚ×ÒÁÝÁÅÔ
×ÓÅ ÓÔÒÏËÉ "Cookie" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the $r->headers_in("Cookie") of the ngx_http_perl_module now returns
all "Cookie" header lines.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ
<nobr>"client_body_in_file_only on"</nobr>
É ÄÅÌÁÌÓÑ ÐÅÒÅÈÏÄ Ë ÓÌÅÄÕÀÝÅÍÕ ÂÜËÅÎÄÕ.
</para>
<para lang="en">
a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
was used and nginx was switches to a next upstream.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ËÏÄÙ ÓÉÍ×ÏÌÏ×
×ÎÕÔÒÉ ÄÉÒÅËÔÉ×Ù charset_map ÍÏÇÌÉ ÓÞÉÔÁÔØÓÑ ÎÅ×ÅÒÎÙÍÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50.
</para>
<para lang="en">
on some condition while reconfiguration character codes
inside the "charset_map" may be treated invalid;
bug appeared in 0.3.50.
</para>
</change>
</changes>
<changes ver="0.3.54" date="11.07.2006">
<change type="feature">
<para lang="ru">
nginx ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÅÔ × ÌÏÇ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÏÄÚÁÐÒÏÓÁÈ.
</para>
<para lang="en">
nginx now logs the subrequest information to the error log.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_next_upstream, fastcgi_next_upstream É memcached_next_upstream
ÐÏÄÄÅÒÖÉ×ÁÀÔ ÐÁÒÁÍÅÔÒ off.
</para>
<para lang="en">
the "proxy_next_upstream", "fastcgi_next_upstream",
and "memcached_next_upstream" directives support the "off" parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á debug_connection ÐÏÄÄÅÒÖÉ×ÁÅÔ ÚÁÐÉÓØ ÁÄÒÅÓÏ× × ÆÏÒÍÁÔÅ CIDR.
</para>
<para lang="en">
the "debug_connection" directive supports the CIDR address form.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅËÏÄÉÒÏ×ÁÎÉÉ ÏÔ×ÅÔÁ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ ÉÌÉ ÓÅÒ×ÅÒÁ FastCGI
× UTF-8 ÉÌÉ ÎÁÏÂÏÒÏÔ ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
if a response of proxied server or FastCGI server was converted from UTF-8
or back, then it may be transferred incomplete.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $upstream_response_time ÓÏÄÅÒÖÁÌÁ ×ÒÅÍÑ ÔÏÌØËÏ ÐÅÒ×ÏÇÏ
ÏÂÒÁÝÅÎÉÑ Ë ÂÜËÅÎÄÕ.
</para>
<para lang="en">
the $upstream_response_time variable had the time of the first
request to a backend only.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÅ amd64;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.53.
</para>
<para lang="en">
nginx could not be built on amd64 platform;
bug appeared in 0.3.53.
</para>
</change>
</changes>
<changes ver="0.3.53" date="07.07.2006">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á add_header ÄÏÂÁ×ÌÑÅÔ ÓÔÒÏËÉ × ÏÔ×ÅÔÙ Ó ËÏÄÏÍ 204, 301 É 302.
</para>
<para lang="en">
the "add_header" directive adds the string to 204, 301, and 302 responses.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server × ÂÌÏËÅ upstream ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ weight.
</para>
<para lang="en">
the "server" directive if the "upstream" context supports
the "weight" parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÁÓËÕ "*".
</para>
<para lang="en">
the "server_name" directive supports the "*" wildcard.
</para>
</change>
<change type="feature">
<para lang="ru">
nginx ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÅÌÏ ÚÁÐÒÏÓÁ ÂÏÌØÛÅ 2G.
</para>
<para lang="en">
nginx supports the request body size more than 2G.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "satisfy_any on" ËÌÉÅÎÔ ÕÓÐÅÛÎÏ ÐÒÏÈÏÄÉÌ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ,
× ÌÏÇ ×Ó£ ÒÁ×ÎÏ ÚÁÐÉÓÁÌÏcØ ÓÏÏÂÝÅÎÉÅ "access forbidden by rule".
</para>
<para lang="en">
if a client was successfully authorized using "satisfy_any on", then anyway
the message "access forbidden by rule" was written in the log.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÅÔÏÄ PUT ÍÏÇ ÏÛÉÂÏÞÎÏ ÎÅ ÓÏÚÄÁÔØ ÆÁÊÌ É ×ÅÒÎÕÔØ ËÏÄ 409.
</para>
<para lang="en">
the "PUT" method may erroneously not create a file and return the 409 code.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×Ï ×ÒÅÍÑ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 ÂÜËÅÎÄ ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ, nginx
ÐÒÏÄÏÌÖÁÌ ÐÒÏËÓÉÒÏ×ÁÎÉÅ.
</para>
<para lang="en">
if the IMAP/POP3 backend returned an error, then nginx continued proxying
anyway.
</para>
</change>
</changes>
<changes ver="0.3.52" date="03.07.2006">
<change type="change">
<para lang="ru">
×ÏÓÓÔÁÎÏ×ÌÅÎÏ ÐÏ×ÅÄÅÎÉÅ ÍÏÄÕÌÑ ngx_http_index_module ÄÌÑ ÚÁÐÒÏÓÏ× "POST /":
ËÁË × ×ÅÒÓÉÉ ÄÏ 0.3.40, ÍÏÄÕÌØ ÔÅÐÅÒØ ÎÅ ×ÙÄÁ£Ô ÏÛÉÂËÕ 405.
</para>
<para lang="en">
the ngx_http_index_module behavior for the "POST /" requests is reverted
to the 0.3.40 version state: the module now does not return the 405 error.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÇÒÁÎÉÞÅÎÉÑ ÓËÏÒÏÓÔÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.37.
</para>
<para lang="en">
the worker process may got caught in an endless loop if the limit rate was used;
bug appeared in 0.3.37.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_charset_module ÚÁÐÉÓÙ×ÁÌ × ÌÏÇ ÏÛÉÂËÕ "unknown charset",
ÄÁÖÅ ÅÓÌÉ ÐÅÒÅËÏÄÉÒÏ×ËÁ ÎÅ ÔÒÅÂÏ×ÁÌÁÓØ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50.
</para>
<para lang="en">
ngx_http_charset_module logged "unknown charset" alert, even if the recoding
was not needed;
bug appeared in 0.3.50.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÒÅÚÕÌØÔÁÔÅ ÚÁÐÒÏÓÁ PUT ×ÏÚ×ÒÁÝÁÌÓÑ ËÏÄ 409, ÔÏ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ
ÎÅ ÕÄÁÌÑÌÓÑ.
</para>
<para lang="en">
if a code response of the PUT request was 409, then a temporary file
was not removed.
</para>
</change>
</changes>
<changes ver="0.3.51" date="30.06.2006">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ × SSI ÍÏÇ ÐÒÏÐÁÄÁÔØ ÓÉÍ×ÏÌÙ "&lt;";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50.
</para>
<para lang="en">
the "&lt;" symbols might disappeared some conditions in the SSI;
bug appeared in 0.3.50.
</para>
</change>
</changes>
<changes ver="0.3.50" date="28.06.2006">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_redirect_errors É fastcgi_redirect_errors
ÐÅÒÅÉÍÅÎÏ×ÁÎÙ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × proxy_intercept_errors É
fastcgi_intercept_errors.
</para>
<para lang="en">
the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives
was renamed to the "proxy_intercept_errors" and
"fastcgi_intercept_errors" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_charset_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅËÏÄÉÒÏ×ÁÎÉÅ ÉÚ
ÏÄÎÏÂÁÊÔÎÙÈ ËÏÄÉÒÏ×ÏË × UTF-8 É ÏÂÒÁÔÎÏ.
</para>
<para lang="en">
the ngx_http_charset_module supports the recoding from the single byte
encodings to the UTF-8 encoding and back.
</para>
</change>
<change type="feature">
<para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ É FastCGI ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "X-Accel-Charset"
× ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
the "X-Accel-Charset" response header line is supported in proxy
and FastCGI mode.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÉÍ×ÏÌ "\" × ÐÁÒÁÈ "\"" É "\'" × SSI ËÏÍÁÎÄÁÈ ÕÂÉÒÁÌÓÑ, ÔÏÌØËÏ ÅÓÌÉ
ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÓÉÍ×ÏÌ "$".
</para>
<para lang="en">
the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
was removed only if the command also has the "$" symbol.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ × SSI ÐÏÓÌÅ ×ÓÔÁ×ËÉ ÍÏÇÌÁ ÂÙÔØ ÄÏÂÁ×ÌÅÎÁ
ÓÔÒÏËÁ "&lt;!--".
</para>
<para lang="en">
the "&lt;!--" string might be added on some conditions
in the SSI after inclusion.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÙÌÁ ÓÔÒÏËÁ <nobr>"Content-Length: 0",</nobr>
ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÏÇÏ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÎÅ ÚÁËÒÙ×ÁÌÏÓØ ÓÏÅÄÉÎÅÎÉÅ
Ó ËÌÉÅÎÔÏÍ.
</para>
<para lang="en">
if the "Content-Length: 0" header line was in response, then
in nonbuffered proxying mode the client connection was not closed.
</para>
</change>
</changes>
<changes ver="0.3.49" date="31.05.2006">
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å set.
</para>
<para lang="en">
in the "set" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞÅÎÉÉ × ssi Ä×ÕÈ É ÂÏÌÅÅ ÐÏÄÚÁÐÒÏÓÏ×, ÏÂÒÁÂÁÔÙ×ÁÅÍÙÈ ÞÅÒÅÚ FastCGI,
×ÍÅÓÔÏ ×Ù×ÏÄÁ ×ÔÏÒÏÇÏ É ÏÓÔÁÌØÎÙÈ ÐÏÄÚÁÐÒÏÓÏ× × ÏÔ×ÅÔ ×ËÌÀÞÁÌÓÑ ×Ù×ÏÄ
ÐÅÒ×ÏÇÏ ÐÏÄÚÁÐÒÏÓÁ.
</para>
<para lang="en">
if two or more FastCGI subrequests was in SSI, then first subrequest output
was included instead of second and following subrequests.
</para>
</change>
</changes>
<changes ver="0.3.48" date="29.05.2006">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_charset_module ÒÁÂÏÔÁÅÔ ÄÌÑ ÐÏÄÚÁÐÒÏÓÏ×,
× ÏÔ×ÅÔÁÈ ËÏÔÏÒÙÈ ÎÅÔ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ "Content-Type".
</para>
<para lang="en">
now the ngx_http_charset_module works for subrequests,
if the response has no "Content-Type" header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÎÅ ÂÙÌÏ URI,
ÔÏ ÄÉÒÅËÔÉ×Á "proxy_redirect default" ÄÏÂÁ×ÌÑÌÁ × ÐÅÒÅÐÉÓÁÎÎÙÊ
ÒÅÄÉÒÅËÔ × ÎÁÞÁÌÏ ÌÉÛÎÉÊ ÓÌÜÛ.
</para>
<para lang="en">
if the "proxy_pass" directive has no URI part,
then the "proxy_redirect default" directive add the unnecessary slash
in start of the rewritten redirect.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×ÎÕÔÒÅÎÎÉÊ ÒÅÄÉÒÅËÔ ×ÓÅÇÄÁ ÐÒÅ×ÒÁÝÁÌ ÌÀÂÏÊ HTTP-ÍÅÔÏÄ × GET,
ÔÅÐÅÒØ ÜÔÏ ÄÅÌÁÅÔÓÑ ÔÏÌØËÏ ÄÌÑ ÒÅÄÉÒÅËÔÏ×, ×ÙÐÏÌÎÑÅÍÙÈ Ó ÐÏÍÏÝØÀ
X-Accel-Redirect, É Õ ËÏÔÏÒÙÈ ÍÅÔÏÄ ÎÅ ÒÁ×ÅÎ HEAD;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.42.
</para>
<para lang="en">
the internal redirect always transform client's HTTP method to GET,
now the transformation is made for the "X-Accel-Redirect" redirects only
and if the method is not HEAD;
bug appeared in 0.3.42.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ, ÅÓÌÉ ÐÅÒÌ ÂÙÌ Ó ÐÏÄÄÅÒÖËÏÊ ÐÏÔÏËÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.46.
</para>
<para lang="en">
the ngx_http_perl_module could not be built, if the perl was built
with the threads support;
bug appeared in 0.3.46.
</para>
</change>
</changes>
<changes ver="0.3.47" date="23.05.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á upstream.
</para>
<para lang="en">
the "upstream" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÓÉÍ×ÏÌ "\" × ÐÁÒÁÈ "\"" É "\'" × SSI ËÏÍÁÎÄÁÈ ÔÅÐÅÒØ ×ÓÅÇÄÁ ÕÂÉÒÁÅÔÓÑ.
</para>
<para lang="en">
now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
is always removed.
</para>
</change>
</changes>
<changes ver="0.3.46" date="11.05.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_hide_header, proxy_pass_header, fastcgi_hide_header
É fastcgi_pass_header.
</para>
<para lang="en">
the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header",
and "fastcgi_pass_header" directives.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_pass_x_powered_by, fastcgi_x_powered_by É proxy_pass_server
ÕÐÒÁÚÄÎÅÎÙ.
</para>
<para lang="en">
the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server"
directives were canceled.
</para>
</change>
<change type="feature">
<para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "X-Accel-Buffering"
× ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
the "X-Accel-Buffering" response header line is supported in proxy mode.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂÏË É ÕÔÅÞÅË ÐÁÍÑÔÉ ÐÒÉ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ × ÍÏÄÕÌÅ ngx_http_perl_module.
</para>
<para lang="en">
the reconfiguration bug and memory leaks in the ngx_http_perl_module.
</para>
</change>
</changes>
<changes ver="0.3.45" date="06.05.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù ssl_verify_client, ssl_verify_depth É ssl_client_certificate.
</para>
<para lang="en">
the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate"
directives.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÅÒÅÍÅÎÎÁÑ $request_method ×ÏÚ×ÒÁÝÁÅÔ ÍÅÔÏÄ ÔÏÌØËÏ ÏÓÎÏ×ÎÏÇÏ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the $request_method variable now returns the main request method.
</para>
</change>
<change type="change">
<para lang="ru">
× ÔÁÂÌÉÃÅ ÐÅÒÅËÏÄÉÒÏ×ËÉ koi-win ÉÚÍÅÎÅÎÙ ËÏÄÙ ÓÉÍ×ÏÌÁ &amp;deg;.
</para>
<para lang="en">
the &amp;deg; symbol codes were changed in koi-win conversion table.
</para>
</change>
<change type="feature">
<para lang="ru">
× ÔÁÂÌÉÃÕ ÐÅÒÅËÏÄÉÒÏ×ËÉ koi-win ÄÏÂÁ×ÌÅÎÙ ÓÉÍ×ÏÌÙ Å×ÒÏ É ÎÏÍÅÒÁ.
</para>
<para lang="en">
the euro É N symbols were added to koi-win conversion table.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ nginx ÒÁÓÐÒÅÄÅÌÑÌ ÚÁÐÒÏÓÙ ÎÁ ÎÅÓËÏÌØËÏ ÍÁÛÉÎ, ÔÏ ÐÒÉ ÐÁÄÅÎÉÉ
ÏÄÎÏÊ ÉÚ ÎÉÈ ÚÁÐÒÏÓÙ, ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÜÔÏÊ ÍÁÛÉÎÙ, ÐÅÒÅÎÁÐÒÁ×ÌÑÌÉÓØ ÔÏÌØËÏ
ÎÁ ÏÄÎÕ ÍÁÛÉÎÕ ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ÒÁ×ÎÏÍÅÒÎÏ ÒÁÓÐÒÅÄÅÌÑÔØÓÑ ÍÅÖÄÕ ÏÓÔÁÌØÎÙÍÉ.
</para>
<para lang="en">
if nginx distributed the requests among several backends and some backend
failed, then requests intended for this backend was directed to one live
backend only instead of being distributed among the rest.
</para>
</change>
</changes>
<changes ver="0.3.44" date="04.05.2006">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ wait × ËÏÍÁÎÄÅ SSI include.
</para>
<para lang="en">
the "wait" parameter in the "include" SSI command.
</para>
</change>
<change type="feature">
<para lang="ru">
× ÔÁÂÌÉÃÕ ÐÅÒÅËÏÄÉÒÏ×ËÉ koi-win ÄÏÂÁ×ÌÅÎÙ ÕËÒÁÉÎÓËÉÅ É ÂÅÌÏÒÕÓÓËÉÅ ÓÉÍ×ÏÌÙ.
</para>
<para lang="en">
the Ukrainian and Byelorussian characters were added to koi-win conversion
table.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× SSI.
</para>
<para lang="en">
in the SSI.
</para>
</change>
</changes>
<changes ver="0.3.43" date="26.04.2006">
<change type="bugfix">
<para lang="ru">
× SSI.
</para>
<para lang="en">
in the SSI.
</para>
</change>
</changes>
<changes ver="0.3.42" date="26.04.2006">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ bind × ÄÉÒÅËÔÉ×Å listen × IMAP/POP3 ÐÒÏËÓÉ.
</para>
<para lang="en">
the "bind" option of the "listen" directive in IMAP/POP3 proxy.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × ÄÉÒÅËÔÉ×Å rewrite ÏÄÎÏÇÏ É ÔÏÇÏ ÖÅ
×ÙÄÅÌÅÎÉÑ ÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ.
</para>
<para lang="en">
if the same capture in the "rewrite" directive was used more then once.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÌÏÇ ÎÅ ÚÁÐÉÓÙ×ÁÌÉÓØ ÐÅÒÅÍÅÎÎÙÅ
$sent_http_content_type, $sent_http_content_length, $sent_http_last_modified,
$sent_http_connection, $sent_http_keep_alive É $sent_http_transfer_encoding.
</para>
<para lang="en">
the $sent_http_content_type, $sent_http_content_length,
$sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive,
and $sent_http_transfer_encoding variables were not written to access log.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $sent_http_cache_control ×ÏÚ×ÒÁÝÁÌÁ ÓÏÄÅÒÖÉÍÏÅ ÔÏÌØËÏ ÏÄÎÏÊ
ÓÔÒÏËÉ "Cache-Control" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ.
</para>
<para lang="en">
the $sent_http_cache_control returned value of the single "Cache-Control"
response header line.
</para>
</change>
</changes>
<changes ver="0.3.41" date="21.04.2006">
<change type="feature">
<para lang="ru">
ËÌÀÞ -v.
</para>
<para lang="en">
the -v switch.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞÅÎÉÉ × SSI ÕÄÁÌ£ÎÎÙÈ ÐÏÄÚÁÐÒÏÓÏ×
ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
the segmentation fault may occurred if the SSI page has remote subrequests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÏÂÒÁÂÏÔËÅ FastCGI.
</para>
<para lang="en">
in FastCGI handling.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÕÔØ Ë ÐÅÒÌÏ×ÙÍ ÍÏÄÕÌÑÍ ÎÅ ÂÙÌ ÕËÁÚÁÎ Ó ÐÏÍÏÝØÀ
--with-perl_modules_path=PATH ÉÌÉ ÄÉÒÅËÔÉ×Ù perl_modules,
ÔÏ ÎÁ ÓÔÁÒÔÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
if the perl modules path was not set using
--with-perl_modules_path=PATH or the "perl_modules", then
the segmentation fault was occurred.
</para>
</change>
</changes>
<changes ver="0.3.40" date="19.04.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_dav_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ MKCOL.
</para>
<para lang="en">
the ngx_http_dav_module supports the MKCOL method.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á create_full_put_path.
</para>
<para lang="en">
the "create_full_put_path" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $limit_rate.
</para>
<para lang="en">
the "$limit_rate" variable.
</para>
</change>
</changes>
<changes ver="0.3.39" date="17.04.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á uninitialized_variable_warn; ÕÒÏ×ÅÎØ ÌÏÇÇÉÒÏ×ÁÎÉÑ ÓÏÏÂÝÅÎÉÑ
Ï ÎÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÏÊ ÐÅÒÅÍÅÎÎÏÊ ÐÏÎÉÖÅÎ Ó ÕÒÏ×ÎÑ alert ÎÁ warn.
</para>
<para lang="en">
the "uninitialized_variable_warn" directive; the logging level of the
"uninitialized variable" message was lowered from "alert" to "warn".
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á override_charset.
</para>
<para lang="en">
the "override_charset" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÉÚ×ÅÓÔÎÏÊ ÐÅÒÅÍÅÎÎÏÊ × SSI-ËÏÍÁÎÄÁÈ echo É if expr='$name'
ÔÅÐÅÒØ ÎÅ ÚÁÐÉÓÙ×ÁÅÔÓÑ × ÌÏÇ ÓÏÏÂÝÅÎÉÅ Ï ÎÅÉÚ×ÅÓÔÎÏÊ ÐÅÒÅÍÅÎÎÏÊ.
</para>
<para lang="en">
now if the unknown variable is used in the "echo" and "if expr='$name'"
SSI-commands, then the "unknown variable" message is not logged.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÞ£ÔÞÉË ÁËÔÉ×ÎÙÈ ÓÏÅÄÉÎÅÎÉÊ ÒÏÓ ÐÒÉ ÐÒÅ×ÙÛÅÎÉÉ ÌÉÍÉÔÁ ÓÏÅÄÉÎÅÎÉÊ,
ÚÁÄÁÎÎÏÇÏ ÄÉÒÅËÔÉ×ÏÊ worker_connections;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.0.
</para>
<para lang="en">
the active connection counter increased on the exceeding of the connection
limit specified by the "worker_connections" directive;
bug appeared in 0.2.0.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑ ÏÇÒÁÎÉÞÅÎÉÅ ÓËÏÒÏÓÔÉ ÓÏÅÄÉÎÅÎÉÑ ÍÏÇÌÏ ÎÅ ÒÁÂÏÔÁÔØ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.38.
</para>
<para lang="en">
the limit rate might not work on some condition;
bug appeared in 0.3.38.
</para>
</change>
</changes>
<changes ver="0.3.38" date="14.04.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_dav_module.
</para>
<para lang="en">
the ngx_http_dav_module.
</para>
</change>
<change type="change">
<para lang="ru">
ÏÐÔÉÍÉÚÁÃÉÑ ÍÏÄÕÌÑ ngx_http_perl_module.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ óË×ÏÒÃÏ×Õ.
</para>
<para lang="en">
the ngx_http_perl_module optimizations.<br/>
Thanks to Sergey Skvortsov.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ $r->request_body_file.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->request_body_file method.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á client_body_in_file_only.
</para>
<para lang="en">
the "client_body_in_file_only" directive.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÐÅÒÅÐÏÌÎÅÎÉÉ ÄÉÓËÁ nginx ÐÙÔÁÅÔÓÑ ÐÉÓÁÔØ access_log'É ÔÏÌØËÏ
ÒÁÚ × ÓÅËÕÎÄÕ.<br/>
óÐÁÓÉÂÏ áÎÔÏÎÕ àÖÁÎÉÎÏ×Õ É íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
no on disk overflow nginx tries to write access logs once a second only.<br/>
Thanks to Anton Yuzhaninov and Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á limit_rate ÔÏÞÎÅÅ ÏÇÒÁÎÉÞÉ×ÁÅÔ ÓËÏÒÏÓÔØ ÐÒÉ ÚÎÁÞÅÎÉÑÈ
ÂÏÌØÛÅ <nobr>100 Kbyte/s.</nobr><br/>
óÐÁÓÉÂÏ ForJest.
</para>
<para lang="en">
now the "limit_rate" directive more precisely limits rate if rate is more
than <nobr>100 Kbyte/s.</nobr><br/>
Thanks to ForJest.
</para>
</change>
<change type="bugfix">
<para lang="ru">
IMAP/POP3 ÐÒÏËÓÉ ÔÅÐÅÒØ ÐÅÒÅÄÁ£Ô ÓÅÒ×ÅÒÕ Á×ÔÏÒÉÚÁÃÉÉ ÓÉÍ×ÏÌÙ "\r" É "\n"
× ÌÏÇÉÎÅ É ÐÁÒÏÌÅ × ÚÁËÏÄÉÒÏ×ÁÎÎÏÍ ×ÉÄÅ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and
password to pass authorization server.<br/>
Thanks to Maxim Dounin.
</para>
</change>
</changes>
<changes ver="0.3.37" date="07.04.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á limit_except.
</para>
<para lang="en">
the "limit_except" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÅÒÁÔÏÒÙ "!~", "!~*", "-f" É "!-f".
</para>
<para lang="en">
the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ $r->request_body.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->request_body method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÍÏÄÕÌÅ ngx_http_addition_filter_module.
</para>
<para lang="en">
in the ngx_http_addition_filter_module.
</para>
</change>
</changes>
<changes ver="0.3.36" date="05.04.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_addition_filter_module.
</para>
<para lang="en">
the ngx_http_addition_filter_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_pass É fastcgi_pass ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ if.
</para>
<para lang="en">
the "proxy_pass" and "fastcgi_pass" directives may be used inside
the "if" block.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_ignore_client_abort É fastcgi_ignore_client_abort.
</para>
<para lang="en">
the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $request_completion.
</para>
<para lang="en">
the "$request_completion" variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄÙ $r->request_method É
$r->remote_addr.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->request_method and $r->remote_addr.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÍÁÎÄÕ elif.
</para>
<para lang="en">
the ngx_http_ssi_module supports the "elif" command.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÔÒÏËÁ "\/" × ÎÁÞÁÌÅ ×ÙÒÁÖÅÎÉÑ ËÏÍÁÎÄÙ if ÍÏÄÕÌÑ ngx_http_ssi_module
×ÏÓÐÒÉÎÉÍÁÌÁÓØ ÎÅ×ÅÒÎÏ.
</para>
<para lang="en">
the "\/" string in the expression of the "if" command of the
ngx_http_ssi_module was treated incorrectly.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ËÏÍÁÎÄÅ if ÍÏÄÕÌÑ ngx_http_ssi_module.
</para>
<para lang="en">
in the regular expressions in the "if" command of the ngx_http_ssi_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÚÁÄÁÎÉÉ ÏÔÎÏÓÉÔÅÌØÎÏÇÏ ÐÕÔÉ × ÄÉÒÅËÔÉ×ÁÈ
client_body_temp_path, proxy_temp_path, fastcgi_temp_path É perl_modules
ÉÓÐÏÌØÚÏ×ÁÌÓÑ ËÁÔÁÌÏÇ ÏÔÎÏÓÉÔÅÌØÎÏ ÔÅËÕÝÅÇÏ ËÁÔÁÌÏÇÁ, Á ÎÅ ÏÔÎÏÓÉÔÅÌØÎÏ
ÐÒÅÆÉËÓÁ ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
if the relative path was specified in the "client_body_temp_path",
"proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives,
then the directory was used relatively to a current path but not
to a server prefix.
</para>
</change>
</changes>
<changes ver="0.3.35" date="22.03.2006">
<change type="bugfix">
<para lang="ru">
accept-ÆÉÌØÔÒ É TCP_DEFER_ACCEPT ÕÓÔÁÎÁ×ÌÉ×ÁÌÉÓØ ÔÏÌØËÏ ÄÌÑ ÐÅÒ×ÏÊ
ÄÉÒÅËÔÉ×Ù listen;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.31.
</para>
<para lang="en">
the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen"
directive only;
bug appeared in 0.3.31.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å proxy_pass ÂÅÚ URI ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × ÐÏÄÚÁÐÒÏÓÅ.
</para>
<para lang="en">
in the "proxy_pass" directive without the URI part in a subrequest.
</para>
</change>
</changes>
<changes ver="0.3.34" date="21.03.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á add_header ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
the "add_header" directive supports the variables.
</para>
</change>
</changes>
<changes ver="0.3.33" date="15.03.2006">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ http_503 × ÄÉÒÅËÔÉ×ÁÈ proxy_next_upstream ÉÌÉ fastcgi_next_upstream.
</para>
<para lang="en">
the "http_503" parameter of the "proxy_next_upstream" or
"fastcgi_next_upstream" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌ ÓÏ ×ÓÔÒÏÅÎÎÙÍ × ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ËÏÄÏÍ,
ÅÓÌÉ ÏÎ ÎÅ ÎÁÞÉÎÁÌÓÑ ÓÒÁÚÕ ÖÅ Ó "sub".
</para>
<para lang="en">
ngx_http_perl_module did not work with inlined in the configuration code,
if it was not started with the "sub" word.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å post_action.
</para>
<para lang="en">
in the "post_action" directive.
</para>
</change>
</changes>
<changes ver="0.3.32" date="11.03.2006">
<change type="bugfix">
<para lang="ru">
ÕÄÁÌÅÎÉÅ ÏÔÌÁÄÏÞÎÏÇÏ ÌÏÇÇÉÒÏ×ÁÎÉÑ ÎÁ ÓÔÁÒÔÅ É ÐÒÉ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.31.
</para>
<para lang="en">
the debug logging on startup and reconfiguration time was removed;
bug appeared in 0.3.31.
</para>
</change>
</changes>
<changes ver="0.3.31" date="10.03.2006">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ nginx ÐÅÒÅÄÁ£Ô ÎÅ×ÅÒÎÙÅ ÏÔ×ÅÔÙ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
now nginx passes the malformed proxied backend responses.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù listen ÐÏÄÄÅÒÖÉ×ÁÀÔ ÁÄÒÅÓ × ×ÉÄÅ "*:ÐÏÒÔ".
</para>
<para lang="en">
the "listen" directives support the address in the "*:port" form.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ EVFILER_TIMER × MacOSX 10.4.
</para>
<para lang="en">
the EVFILER_TIMER support in MacOSX 10.4.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÏÂÈÏÄ ÏÛÉÂËÉ ÏÂÒÁÂÏÔËÉ ÍÉÌÌÉÓÅËÕÎÄÎÙÈ ÔÁÊÍÁÕÔÏ× kqueue × 64-ÂÉÔÎÏÍ ÑÄÒÅ
MacOSX.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/>
Thanks Andrei Nigmatulin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÎÕÔÒÉ ÏÄÎÏÇÏ ÓÅÒ×ÅÒÁ ÏÐÉÓÁÎÙ ÎÅÓËÏÌØËÏ ÄÉÒÅËÔÉ× listen, ÓÌÕÛÁÀÝÉÈ ÎÁ
ÒÁÚÎÙÈ ÁÄÒÅÓÁÈ, ÔÏ ÉÍÅÎÁ ÓÅÒ×ÅÒÏ× ×ÉÄÁ "*.domain.tld" ÒÁÂÏÔÁÌÉ ÔÏÌØËÏ
ÄÌÑ ÐÅÒ×ÏÇÏ ÁÄÒÅÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.18.
</para>
<para lang="en">
if there were several "listen" directives listening one various addresses
inside one server, then server names like "*.domain.tld" worked for first
address only;
bug appeared in 0.3.18.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ
ÚÁÐÒÏÓÙ Ó ÔÅÌÏÍ, ÚÁÐÉÓÁÎÎÙÍ ×Ï ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ.
</para>
<para lang="en">
if the HTTP protocol was used in the "proxy_pass" directive and
the request body was in temporarily file then the request was not transferred.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó perl 5.8.8.
</para>
<para lang="en">
perl 5.8.8 compatibility.
</para>
</change>
</changes>
<changes ver="0.3.30" date="22.02.2006">
<change type="change">
<para lang="ru">
ÕÒÏ×ÅÎØ ÚÁÐÉÓÉ × ÌÏÇ ÏÛÉÂËÉ ECONNABORTED ÉÚÍÅΣΠÎÁ error Ó ÕÒÏ×ÎÑ crit.
</para>
<para lang="en">
the ECONNABORTED error log level was changed to "error" from "crit".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÍÏÄÕÌÑ ngx_http_ssi_filter_module.
</para>
<para lang="en">
the ngx_http_perl_module could not be build without
the ngx_http_ssi_filter_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ i386 ÐÌÁÔÆÏÒÍÅ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ PIC;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.27.
</para>
<para lang="en">
nginx could not be built on i386 platform, if the PIC was used;
bug appeared in 0.3.27.
</para>
</change>
</changes>
<changes ver="0.3.29" date="20.02.2006">
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ nginx ÉÓÐÏÌØÚÕÅÔ ÍÅÎØÛÅ ÐÁÍÑÔÉ, ÅÓÌÉ PHP × ÒÅÖÉÍÅ FastCGI ÐÅÒÅÄÁ£Ô
ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ ÐÅÒÅÄ ÏÔ×ÅÔÏÍ.
</para>
<para lang="en">
now nginx uses less memory, if PHP in FastCGI mode sends many warnings
before the response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÏÔ×ÅÔÁÈ 204 ÄÌÑ ÚÁÐÒÏÓÏ× ×ÅÒÓÉÉ HTTP/1.1 ×ÙÄÁ×ÁÌÁÓØ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ
"Transfer-Encoding: chunked".
</para>
<para lang="en">
the "Transfer-Encoding: chunked" header line was issued in the 204 responses
for the HTTP/1.1 requests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ×ÏÚ×ÒÁÝÁÌ 502 ËÏÄ ÏÔ×ÅÔÁ, ÅÓÌÉ FastCGI ÓÅÒ×ÅÒ ÐÅÒÅÄÁ×ÁÌ ÐÏÌÎÙÅ ÓÔÒÏËÉ
ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ × ÏÔÄÅÌØÎÙÈ FastCGI ÚÁÐÉÓÑÈ.
</para>
<para lang="en">
nginx returned the 502 response, if the complete response header lines
were transferred in a separate FastCGI records.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å post_action ÂÙÌ ÕËÁÚÁÎ ÐÒÏËÓÉÒÕÅÍÙÊ URI, ÔÏ ÏÎ ×ÙÐÏÌÎÑÌÓÑ
ÔÏÌØËÏ ÐÏÓÌÅ ÕÓÐÅÛÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
if the proxied URI was specified in the "post_action" directive, then it ran
only after a successful completion of a request.
</para>
</change>
</changes>
<changes ver="0.3.28" date="16.02.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á restrict_host_names ÕÐÒÁÚÄÎÅÎÁ.
</para>
<para lang="en">
the "restrict_host_names" directive was canceled.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ --with-cpu-opt=ppc64.
</para>
<para lang="en">
the --with-cpu-opt=ppc64 configuration parameter.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ ÐÒÏËÓÉÒÏ×ÁÎÎÏÅ ÓÏÅÄÉÎÅÎÉÅ Ó ËÌÉÅÎÔÏÍ ÚÁ×ÅÒÛÁÌÏÓØ
ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏ.<br/>
óÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ ûÕÔÏ×Õ.
</para>
<para lang="en">
on some condition the proxied connection with a client was terminated
prematurely.<br/>
Thanks to Vladimir Shutoff.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "X-Accel-Limit-Rate" ÎÅ ÕÞÉÔÙ×ÁÌÁÓØ ÄÌÑ ÚÁÐÒÏÓÏ×,
ÐÅÒÅÎÁÐÒÁ×ÌÅÎÎÙÈ Ó ÐÏÍÏÝØÀ ÓÔÒÏËÉ "X-Accel-Redirect".
</para>
<para lang="en">
the "X-Accel-Limit-Rate" header line was not taken into account
if the request was redirected using the "X-Accel-Redirect" header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á post_action ÒÁÂÏÔÁÌÁ ÔÏÌØËÏ ÐÏÓÌÅ ÕÓÐÅÛÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the "post_action" directive ran only after a successful completion of a request.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÌÏ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÏÔ×ÅÔÁ, ÓÏÚÄÁ×ÁÅÍÏÇÏ ÄÉÒÅËÔÉ×ÏÊ post_action,
ÐÅÒÅÄÁ×ÁÌÏÓØ ËÌÉÅÎÔÕ.
</para>
<para lang="en">
the proxied response body generated by the "post_action" directive
was transferred to a client.
</para>
</change>
</changes>
<changes ver="0.3.27" date="08.02.2006">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù variables_hash_max_size É variables_hash_bucket_size.
</para>
<para lang="en">
the "variables_hash_max_size" and "variables_hash_bucket_size" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $body_bytes_sent ÄÏÓÔÕÐÎÁ ÎÅ ÔÏÌØËÏ × ÄÉÒÅËÔÉ×Å log_format.
</para>
<para lang="en">
the $body_bytes_sent variable can be used not only in the "log_format"
directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ $ssl_protocol É $ssl_cipher.
</para>
<para lang="en">
the $ssl_protocol and $ssl_cipher variables.
</para>
</change>
<change type="feature">
<para lang="ru">
ÏÐÒÅÄÅÌÅÎÉÅ ÒÁÚÍÅÒÁ ÓÔÒÏËÉ ËÜÛÁ ÒÁÓÐÒÏÓÔÒÁΣÎÎÙÈ ÐÒÏÃÅÓÓÏÒÏ× ÐÒÉ ÓÔÁÒÔÅ.
</para>
<para lang="en">
the cache line size detection for widespread CPUs at start time.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á accept_mutex ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏÓÒÅÄÓÔ×ÏÍ fcntl(2)
ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, amd64, sparc64 É ppc.
</para>
<para lang="en">
now the "accept_mutex" directive is supported using fcntl(2)
on platforms different from i386, amd64, sparc64, and ppc.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á lock_file É ÐÁÒÁÍÅÔÒ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ --with-lock-path=PATH.
</para>
<para lang="en">
the "lock_file" directive and the --with-lock-path=PATH autoconfiguration
directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ
ÚÁÐÒÏÓÙ Ó ÔÅÌÏÍ.
</para>
<para lang="en">
if the HTTP protocol was used in the "proxy_pass" directive then
the requests with the body was not transferred.
</para>
</change>
</changes>
<changes ver="0.3.26" date="03.02.2006">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á optimize_host_names ÐÅÒÅÉÍÅÎÏ×ÁÎÁ × optimize_server_names.
</para>
<para lang="en">
the "optimize_host_names" directive was renamed to the "optimize_server_names".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÐÏÄÚÁÐÒÏÓÁ × SSI ÂÜËÅÎÄÕ ÐÅÒÅÄÁ×ÁÌÓÑ URI ÏÓÎÏ×ÎÏÇÏ ÚÁÐÒÏÓÁ,
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÏÔÓÕÔÓÔ×Ï×ÁÌ URI.
</para>
<para lang="en">
if in the "proxy_pass" directive was no the URI part, then the main request
URI was transferred to a backend while proxying the SSI subrequest.
</para>
</change>
</changes>
<changes ver="0.3.25" date="01.02.2006">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅ×ÅÒÎÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ ÎÁ ÓÔÁÒÔÅ ÉÌÉ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÉÓÈÏÄÉÌ
segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.24.
</para>
<para lang="en">
the segmentation fault was occurred on start or while reconfiguration
if there was invalid configuration;
bug appeared in 0.3.24.
</para>
</change>
</changes>
<changes ver="0.3.24" date="01.02.2006">
<change type="workaround">
<para lang="ru">
ÏÂÈÏÄ ÏÛÉÂËÉ × kqueue ×Ï FreeBSD.
</para>
<para lang="en">
for bug in FreeBSD kqueue.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔ×ÅÔ, ÓÏÚÄÁ×ÁÅÍÙÊ ÄÉÒÅËÔÉ×ÏÊ post_action, ÔÅÐÅÒØ ÎÅ ÐÅÒÅÄÁ£ÔÓÑ ËÌÉÅÎÔÕ.
</para>
<para lang="en">
now a response generated by the "post_action" directive is not transferred
to a client.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÌÏÇ-ÆÁÊÌÏ× ÐÒÏÉÓÈÏÄÉÌÁ ÕÔÅÞËÁ ÐÁÍÑÔÉ.
</para>
<para lang="en">
the memory leaks were occurring if many log files were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×ÎÕÔÒÉ ÏÄÎÏÇÏ location ÒÁÂÏÔÁÌÁ ÔÏÌØËÏ ÐÅÒ×ÁÑ ÄÉÒÅËÔÉ×Á proxy_redirect.
</para>
<para lang="en">
the first "proxy_redirect" directive was working inside one location.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ ÐÒÉ ÓÔÁÒÔÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault,
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÏÓØ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÍ£Î × ÄÉÒÅËÔÉ×ÁÈ server_name;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.18.
</para>
<para lang="en">
on 64-bit platforms segmentation fault may occurred on start
if the many names were used in the "server_name" directives;
bug appeared in 0.3.18.
</para>
</change>
</changes>
<changes ver="0.3.23" date="24.01.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á optimize_host_names.
</para>
<para lang="en">
the "optimize_host_names" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×ÁÈ path É alias.
</para>
<para lang="en">
in using of the variables in the "path" and "alias" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÎÅÐÒÁ×ÉÌØÎÏ ÓÏÂÉÒÁÌÓÑ ÎÁ Linux É Solaris.
</para>
<para lang="en">
the ngx_http_perl_module was incorrectly built on Linux and Solaris.
</para>
</change>
</changes>
<changes ver="0.3.22" date="17.01.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄÙ $r->args É $r->unescape.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->args and $r->unescape methods.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÅÔÏÄ $r->query_string × ÍÏÄÕÌÅ ngx_http_perl_module ÕÐÒÁÚÄΣÎ.
</para>
<para lang="en">
the method $r->query_string of ngx_http_perl_module was canceled.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å valid_referers ÕËÁÚÁÎÙ ÔÏÌØËÏ none ÉÌÉ blocked, ÔÏ
ÐÒÏÉÓÈÏÄÉÌ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.18.
</para>
<para lang="en">
segmentation fault was occurred if the "none" or "blocked" values was
specified in the "valid_referers" directive;
bug appeared in 0.3.18.
</para>
</change>
</changes>
<changes ver="0.3.21" date="16.01.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module.
</para>
<para lang="en">
the ngx_http_perl_module.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á valid_referers ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÅÆÅÒÅÒÙ ÓÏ×ÓÅÍ ÂÅÚ URI.
</para>
<para lang="en">
the "valid_referers" directive allows the referreres without URI part.
</para>
</change>
</changes>
<changes ver="0.3.20" date="11.01.2006">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ × ÏÂÒÁÂÏÔËÅ SSI.
</para>
<para lang="en">
in SSI handling.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_memcached_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ËÌÀÞÉ × ×ÉÄÅ /uri?args.
</para>
<para lang="en">
the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
</para>
</change>
</changes>
<changes ver="0.3.19" date="28.12.2005">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù path É alias ÐÏÄÄÅÒÖÉ×ÁÀÔ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
the "path" and "alias" directives support the variables.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á valid_referers ÏÐÑÔØ ÕÞÉÔÙ×ÁÅÔ URI.
</para>
<para lang="en">
now the "valid_referers" directive again checks the URI part.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ × ÏÂÒÁÂÏÔËÅ SSI.
</para>
<para lang="en">
in SSI handling.
</para>
</change>
</changes>
<changes ver="0.3.18" date="26.12.2005">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_names ÐÏÄÄÅÒÖÉ×ÁÅÔ ÉÍÅÎÁ ×ÉÄÁ ".domain.tld".
</para>
<para lang="en">
the "server_names" directive supports the ".domain.tld" names.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_names ÉÓÐÏÌØÚÕÅÔ ÈÜÛ ÄÌÑ ÉͣΠ×ÉÄÁ "*.domain.tld"
É ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÙÊ ÈÜÛ ÄÌÑ ÏÂÙÞÎÙÈ ÉÍ£Î.
</para>
<para lang="en">
the "server_names" directive uses the hash for the "*.domain.tld" names
and more effective hash for usual names.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù server_names_hash_max_size É server_names_hash_bucket_size.
</para>
<para lang="en">
the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù server_names_hash É server_names_hash_threshold ÕÐÒÁÚÄÎÅÎÙ.
</para>
<para lang="en">
the "server_names_hash" and "server_names_hash_threshold" directives
were canceled.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á valid_referers ÉÓÐÏÌØÚÕÅÔ ÈÜÛ ÄÌÑ ÉͣΠÓÁÊÔÏ×.
</para>
<para lang="en">
the "valid_referers" directive uses the hash site names.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á valid_referers ÐÒÏ×ÅÒÑÅÔ ÔÏÌØËÏ ÉÍÅÎÁ ÓÁÊÔÏ× ÂÅÚ ÕÞ£ÔÁ URI.
</para>
<para lang="en">
now the "valid_referers" directive checks the site names only without
the URI part.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅËÏÔÏÒÙÅ ÉÍÅÎÁ ×ÉÄÁ ".domain.tld" ÎÅ×ÅÒÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ ÍÏÄÕÌÅÍ
ngx_http_map_module.
</para>
<para lang="en">
some ".domain.tld" names incorrectly processed by the ngx_http_map_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ ÎÅ ÂÙÌÏ, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.12.
</para>
<para lang="en">
segmentation fault was occurred if configuration file did not exist;
bug appeared in 0.3.12.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ ÐÒÉ ÓÔÁÒÔÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.16.
</para>
<para lang="en">
on 64-bit platforms segmentation fault may occurred on start;
bug appeared in 0.3.16.
</para>
</change>
</changes>
<changes ver="0.3.17" date="18.12.2005">
<change type="change">
<para lang="ru">
ÎÁ Linux configure ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÅÔ ÎÁÌÉÞÉÅ epoll É sendfile64() × ÑÄÒÅ.
</para>
<para lang="en">
now on Linux configure checks the presence of epoll and sendfile64() in kernel.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á map ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÏÍÅÎÎÙÅ ÉÍÅÎÁ × ÆÏÒÍÁÔÅ ".domain.tld".
</para>
<para lang="en">
the "map" directive supports domain names in the ".domain.tld" form.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×Ï ×ÒÅÍÑ SSL handshake ÎÅ ÉcÐÏÌØÚÏ×ÁÌÉÓØ ÔÁÊÍÁÕÔÙ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.4.
</para>
<para lang="en">
the timeouts were not used in SSL handshake;
bug appeared in 0.2.4.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass.
</para>
<para lang="en">
in the HTTP protocol in the "proxy_pass" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass ÐÏ ÕÍÏÌÞÁÎÉÀ
ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÏÒÔ 80.
</para>
<para lang="en">
when the HTTP protocol was used in the "proxy_pass" directive the port 80
was used by default.
</para>
</change>
</changes>
<changes ver="0.3.16" date="16.12.2005">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_map_module.
</para>
<para lang="en">
the ngx_http_map_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù types_hash_max_size É types_hash_bucket_size.
</para>
<para lang="en">
the "types_hash_max_size" and "types_hash_bucket_size" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssi_value_length.
</para>
<para lang="en">
the "ssi_value_length" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á worker_rlimit_core.
</para>
<para lang="en">
the "worker_rlimit_core" directive.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÐÒÉ ÓÂÏÒËÅ ËÏÍÐÉÌÑÔÏÒÁÍÉ icc 8.1 É 9.0 Ó ÏÐÔÉÍÉÚÁÃÉÅÊ ÄÌÑ
<nobr>Pentium 4</nobr> ÎÏÍÅÒ ÓÏÅÄÉÎÅÎÉÑ × ÌÏÇÁÈ ×ÓÅÇÄÁ ÂÙÌ ÒÁ×ÅÎ 1.
</para>
<para lang="en">
the connection number in logs was always 1 if nginx was built by the
icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr>
</para>
</change>
<change type="bugfix">
<para lang="ru">
ËÏÍÁÎÄÁ config timefmt × SSI ÚÁÄÁ×ÁÌÁ ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ ×ÒÅÍÅÎÉ.
</para>
<para lang="en">
the "config timefmt" SSI command set incorrect time format.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÑ Ó IMAP/POP3 ÂÜËÅÎÄÏÍ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL
ÓÏÅÄÉÎÅÎÉÊ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.13.<br/>
óÐÁÓÉÂÏ Rob Mueller.
</para>
<para lang="en">
nginx did not close connection to IMAP/POP3 backend for the SSL
connections;
bug appeared in 0.3.13.<br/>
Thanks to Rob Mueller.
</para>
</change>
<change type="bugfix">
<para lang="ru">
segmentation fault ÍÏÇ ÐÒÏÉÚÏÊÔÉ ×Ï ×ÒÅÍÑ SSL shutdown;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.13.
</para>
<para lang="en">
segmentation fault may occurred in at SSL shutdown;
bug appeared in 0.3.13.
</para>
</change>
</changes>
<changes ver="0.3.15" date="07.12.2005">
<change type="feature">
<para lang="ru">
ÎÏ×ÏÊ ËÏÄ 444 × ÄÉÒÅËÔÉ×Å return ÄÌÑ ÚÁËÒÙÔÉÑ ÓÏÅÄÉÎÅÎÉÑ.
</para>
<para lang="en">
the new 444 code of the "return" directive to close connection.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á so_keepalive × IMAP/POP3 ÐÒÏËÓÉ.
</para>
<para lang="en">
the "so_keepalive" directive in IMAP/POP3 proxy.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÔÅÐÅÒØ ×ÙÚÙ×ÁÅÔ abort() ÐÒÉ ÏÂÎÁÒÕÖÅÎÉÉ ÎÅÚÁËÒÙÔÙÈ ÓÏÅÄÉÎÅÎÉÊ
ÔÏÌØËÏ ÐÒÉ ÐÌÁÎÏÍ ×ÙÈÏÄÅ É ×ËÌÀÞ£ÎÎÏÊ ÄÉÒÅËÔÉ×Å debug_points.
</para>
<para lang="en">
if there are unclosed connection nginx now calls abort() only on gracefull
quit and active "debug_points" directive.
</para>
</change>
</changes>
<changes ver="0.3.14" date="05.12.2005">
<change type="bugfix">
<para lang="ru">
× ÏÔ×ÅÔÅ 304 ÐÅÒÅÄÁ×ÁÌÏÓØ ÔÅÌÏ ÏÔ×ÅÔÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.13.
</para>
<para lang="en">
in the 304 response the body was transferred;
bug appeared in 0.3.13.
</para>
</change>
</changes>
<changes ver="0.3.13" date="05.12.2005">
<change type="feature">
<para lang="ru">
IMAP/POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ STARTTLS É STLS.
</para>
<para lang="en">
the IMAP/POP3 proxy supports STARTTLS and STLS.
</para>
</change>
<change type="bugfix">
<para lang="ru">
IMAP/POP3 ÐÒÏËÓÉ ÎÅ ÒÁÂÏÔÁÌÁ Ó ÍÅÔÏÄÁÍÉ select, poll É /dev/poll.
</para>
<para lang="en">
the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ × ÏÂÒÁÂÏÔËÅ SSI.
</para>
<para lang="en">
in SSI handling.
</para>
</change>
<change type="bugfix">
<para lang="ru">
sendfilev() × Solaris ÔÅÐÅÒØ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÉ ÐÅÒÅÄÁÞÅ ÔÅÌÁ ÚÁÐÒÏÓÁ
FastCGI-ÓÅÒ×ÅÒÕ ÞÅÒÅÚ unix domain ÓÏËÅÔ.
</para>
<para lang="en">
now Solaris sendfilev() is not used to transfer the client request body
to FastCGI-server via the unix domain socket.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á auth_basic ÎÅ ÚÁÐÒÅÝÁÌÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.11.
</para>
<para lang="en">
the "auth_basic" directive did not disable the authorization;
bug appeared in 0.3.11.
</para>
</change>
</changes>
<changes ver="0.3.12" date="26.11.2005">
<change type="security">
<para lang="ru">
ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_realip_module, ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ
ÄÉÒÅËÔÉ×Ù "satisfy_any on" ÄÉÒÅËÔÉ×Ù ÄÏÓÔÕÐÁ É ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÎÅ ÒÁÂÏÔÁÌÉ.
íÏÄÕÌØ ngx_http_realip_module ÎÅ ÓÏÂÉÒÁÌÓÑ É ÎÅ ÓÏÂÉÒÁÅÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ.
</para>
<para lang="en">
if nginx was built with the ngx_http_realip_module and the "satisfy_any on"
directive was used, then access and authorization directives did not work.
The ngx_http_realip_module was not built and is not built by default.
</para>
</change>
<change type="change">
<para lang="ru">
ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ "$time_gmt" ÉÚÍÅÎÅÎÏ ÎÁ "$time_local".
</para>
<para lang="en">
the "$time_gmt" variable name was changed to "$time_local".
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_header_buffer_size É fastcgi_header_buffer_size
ÐÅÒÅÉÍÅÎÏ×ÁÎÙ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × proxy_buffer_size É fastcgi_buffer_size.
</para>
<para lang="en">
the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives
was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_memcached_module.
</para>
<para lang="en">
the ngx_http_memcached_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_buffering.
</para>
<para lang="en">
the "proxy_buffering" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÚÍÅÎÅÎÉÅ × ÒÁÂÏÔÅ Ó accept mutex ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.0.
</para>
<para lang="en">
the changes in accept mutex handling when the "rtsig" method was used;
bug appeared in 0.3.0.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ËÌÉÅÎÔ ÐÅÒÅÄÁÌ ÓÔÒÏËÕ "Transfer-Encoding: chunked" × ÚÁÇÏÌÏ×ËÅ
ÚÁÐÒÏÓÁ, ÔÏ nginx ÔÅÐÅÒØ ×ÙÄÁ£Ô ÏÛÉÂËÕ 411.
</para>
<para lang="en">
if the client sent the "Transfer-Encoding: chunked" header line, then
nginx returns the 411 error.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÁÓÌÅÄÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù auth_basic Ó ÕÒÏ×ÎÑ http × ÓÔÒÏËÅ
"WWW-Authenticate" ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ ×Ù×ÏÄÉÌÓÑ realm ÂÅÚ ÔÅËÓÔÁ "Basic realm".
</para>
<para lang="en">
if the "auth_basic" directive was inherited from the http level,
then the realm in the "WWW-Authenticate" header line was without
the "Basic realm" text.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å access_log ÂÙÌ Ñ×ÎÏ ÕËÁÚÁÎ ÆÏÒÍÁÔ combined, ÔÏ × ÌÏÇ
ÚÁÐÉÓÙ×ÁÌÉÓØ ÐÕÓÔÙÅ ÓÔÒÏËÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.8.
</para>
<para lang="en">
if the "combined" format was explicitly specified in the "access_log" directive,
then the empty lines was written to the log;
bug appeared in 0.3.8.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ ÐÌÁÔÆÏÒÍÅ sparc ÐÏÄ ÌÀÂÙÍÉ OS, ËÒÏÍÅ Solaris.
</para>
<para lang="en">
nginx did not run on the sparc platform under any OS except Solaris.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å if ÔÅÐÅÒØ ÎÅ ÎÕÖÎÏ ÒÁÚÄÅÌÑÔØ ÐÒÏÂÅÌÏÍ ÓÔÒÏËÕ × ËÁ×ÙÞËÁÈ É
ÚÁËÒÙ×ÁÀÝÕÀ ÓËÏÂËÕ.
</para>
<para lang="en">
now it is not necessary to place space between the quoted string and closing
bracket in the "if" directive.
</para>
</change>
</changes>
<changes ver="0.3.11" date="15.11.2005">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÐÅÒÅÄÁ×ÁÌ ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÔÅÌÏ ÚÁÐÒÏÓÁ É ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ËÌÉÅÎÔÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.10.
</para>
<para lang="en">
nginx did not pass the client request headers and body while proxying;
bug appeared in 0.3.10.
</para>
</change>
</changes>
<changes ver="0.3.10" date="15.11.2005">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á valid_referers É ÐÅÒÅÍÅÎÎÁÑ $invalid_referer ÐÅÒÅÎÅÓÅÎÙ
ÉÚ ÍÏÄÕÌÑ ngx_http_rewrite_module × ÎÏ×ÙÊ ÍÏÄÕÌØ ngx_http_referer_module.
</para>
<para lang="en">
the "valid_referers" directive and the "$invalid_referer" variable
were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module.
</para>
</change>
<change type="change">
<para lang="ru">
ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ "$apache_bytes_sent" ÉÚÍÅÎÅÎÏ ÎÁ "$body_bytes_sent".
</para>
<para lang="en">
the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent".
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ "$sent_http_...".
</para>
<para lang="en">
the "$sent_http_..." variables.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÅÒÁÃÉÉ "=" É "!=".
</para>
<para lang="en">
the "if" directive supports the "=" and "!=" operations.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÒÏÔÏËÏÌ HTTPS.
</para>
<para lang="en">
the "proxy_pass" directive supports the HTTPS protocol.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_set_body.
</para>
<para lang="en">
the "proxy_set_body" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á post_action.
</para>
<para lang="en">
the "post_action" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_empty_gif_module.
</para>
<para lang="en">
the ngx_http_empty_gif_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á worker_cpu_affinity ÄÌÑ Linux.
</para>
<para lang="en">
the "worker_cpu_affinity" directive for Linux.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á rewrite ÎÅ ÒÁÓËÏÄÉÒÏ×ÁÌÁ ÓÉÍ×ÏÌÙ × ÒÅÄÉÒÅËÔÁÈ × URI,
ÔÅÐÅÒØ ÓÉÍ×ÏÌÙ ÒÁÓËÏÄÉÒÕÀÔÓÑ, ËÒÏÍÅ ÓÉÍ×ÏÌÏ× %00-%25 É %7F-%FF.
</para>
<para lang="en">
the "rewrite" directive did not unescape URI part in redirect,
now it is unescaped except the %00-%25 and %7F-%FF characters.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ËÏÍÐÉÌÑÔÏÒÏÍ icc 9.0.
</para>
<para lang="en">
nginx could not be built by the icc 9.0 compiler.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÌÑ ÓÔÁÔÉÞÅÓËÏÇÏ ÆÁÊÌÁ ÎÕÌÅ×ÏÇÏ ÒÁÚÍÅÒÁ ÂÙÌ ÒÁÚÒÅۣΠSSI,
ÔÏ ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅ×ÅÒÎÏ ÐÒÉ ËÏÄÉÒÏ×ÁÎÉÉ chunk'ÁÍÉ.
</para>
<para lang="en">
if the SSI was enabled for zero size static file, then the chunked
response was encoded incorrectly.
</para>
</change>
</changes>
<changes ver="0.3.9" date="10.11.2005">
<change type="bugfix">
<para lang="ru">
nginx ÓÞÉÔÁÌ ÎÅÂÅÚÏÐÁÓÎÙÍÉ URI, × ËÏÔÏÒÙÈ ÍÅÖÄÕ Ä×ÕÍÑ ÓÌÜÛÁÍÉ
ÎÁÈÏÄÉÌÏÓØ Ä×Á ÌÀÂÙÈ ÓÉÍ×ÏÌÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.8.
</para>
<para lang="en">
nginx considered URI as unsafe if two any symbols was between two slashes;
bug appeared in 0.3.8.
</para>
</change>
</changes>
<changes ver="0.3.8" date="09.11.2005">
<change type="security">
<para lang="ru">
nginx ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÔ URI, ÐÏÌÕÞÅÎÎÙÅ ÏÔ ÂÜËÅÎÄÁ × ÓÔÒÏËÅ "X-Accel-Redirect"
× ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ, ÉÌÉ × SSI ÆÁÊÌÅ ÎÁ ÎÁÌÉÞÉÅ ÐÕÔÅÊ "/../" É ÎÕÌÅÊ.
</para>
<para lang="en">
nginx now checks URI got from a backend in "X-Accel-Redirect" header line
or in SSI file for the "/../" paths and zeroes.
</para>
</change>
<change type="change">
<para lang="ru">
nginx ÔÅÐÅÒØ ÎÅ ×ÏÓÐÒÉÎÉÍÁÅÔ ÐÕÓÔÏÅ ÉÍÑ ËÁË ÐÒÁ×ÉÌØÎÏÅ
× ÓÔÒÏËÅ "Authorization" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
nginx now does not treat the empty user name in the "Authorization" header
line as valid one.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_session_timeout ÍÏÄÕÌÅÊ
ngx_http_ssl_module É ngx_imap_ssl_module.
</para>
<para lang="en">
the "ssl_session_timeout" directives
of the ngx_http_ssl_module and ngx_imap_ssl_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á auth_http_header ÍÏÄÕÌÑ ngx_imap_auth_http_module.
</para>
<para lang="en">
the "auth_http_header" directive of the ngx_imap_auth_http_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á add_header.
</para>
<para lang="en">
the "add_header" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_realip_module.
</para>
<para lang="en">
the ngx_http_realip_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÎÏ×ÙÅ ÐÅÒÅÍÅÎÎÙÅ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÄÉÒÅËÔÉ×Å log_format:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
$uri, $request_time, $request_length,
$upstream_status, $upstream_response_time,
$gzip_ratio,
$uid_got, $uid_set,
$connection, $pipe É $msec.
ðÁÒÁÍÅÔÒÙ × ×ÉÄÅ "%name" ÓËÏÒÏ ÂÕÄÕÔ ÕÐÒÁÚÄÎÅÎÙ.
</para>
<para lang="en">
the new variables to use in the "log_format" directive:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
$uri, $request_time, $request_length,
$upstream_status, $upstream_response_time,
$gzip_ratio,
$uid_got, $uid_set,
$connection, $pipe, and $msec.
The parameters in the "%name" form will be canceled soon.
</para>
</change>
<change type="change">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å "if" ÌÏÖÎÙÍÉ ÚÎÁÞÅÎÉÑÍÉ ÐÅÒÅÍÅÎÎÙÈ ÔÅÐÅÒØ Ñ×ÌÑÀÔÓÑ
ÐÕÓÔÁÑ ÓÔÒÏËÁ "" É ÓÔÒÏËÉ, ÎÁÞÉÎÁÀÝÉÅÓÑ ÎÁ "0".
</para>
<para lang="en">
now the false variable values in the "if" directive are the empty string ""
and string starting with "0".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÒÁÂÏÔÁÅÔ Ó ÐÒÏËÓÉÒÏ×ÁÎÎÙÍÉ ÉÌÉ FastCGI-ÓÅÒ×ÅÒÁÍÉ nginx ÍÏÇ ÏÓÔÁ×ÌÑÔØ
ÏÔËÒÙÔÙÍÉ ÓÏÅÄÉÎÅÎÉÑ É ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ Ó ÚÁÐÒÏÓÁÍÉ ËÌÉÅÎÔÏ×.
</para>
<para lang="en">
while using proxied or FastCGI-server nginx may leave connections
and temporary files with client requests in open state.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÎÅ ÓÂÒÁÓÙ×ÁÌÉ ÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÙÅ ÌÏÇÉ ÐÒÉ ÐÌÁ×ÎÏÍ ×ÙÈÏÄÅ.
</para>
<para lang="en">
the worker processes did not flush the buffered logs on graceful exit.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ URI ÚÁÐÒÏÓÁ ÉÚÍÅÎÑÌÏÓØ Ó ÐÏÍÏÝØÀ rewrite, Á ÚÁÔÅÍ ÚÁÐÒÏÓ ÐÒÏËÓÉÒÏ×ÁÌÓÑ
× location, ÚÁÄÁÎÎÏÍ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ, ÔÏ ÂÜËÅÎÄÕ ÐÅÒÅÄÁ×ÁÌÓÑ
ÎÅ×ÅÒÎÙÊ ÚÁÐÒÏÓ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.6.
</para>
<para lang="en">
if the request URI was changes by the "rewrite" directive and the request
was proxied in location given by regular expression, then the incorrect
request was transferred to backend;
bug appeared in 0.2.6.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á expires ÎÅ ÕÄÁÌÑÌÁ ÕÖÅ ÕÓÔÁÎÏ×ÌÅÎÎÕÀ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ "Expires".
</para>
<para lang="en">
the "expires" directive did not remove the previous "Expires" header.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig É ÎÅÓËÏÌØËÉÈ ÒÁÂÏÞÉÈ ÐÒÏÃÅÓÓÁÈ nginx
ÍÏÇ ÐÅÒÅÓÔÁÔØ ÐÒÉÎÉÍÁÔØ ÚÁÐÒÏÓÙ.
</para>
<para lang="en">
nginx may stop to accept requests if the "rtsig" method and several worker
processes were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× SSI ËÏÍÁÎÄÁÈ ÎÅ×ÅÒÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ ÓÔÒÏËÉ "\"" É "\'".
</para>
<para lang="en">
the "\"" and "\'" escape symbols were incorrectly handled in SSI commands.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÏÔ×ÅÔ ÚÁËÁÎÞÉ×ÁÌÓÑ ÓÒÁÚÕ ÖÅ ÐÏÓÌÅ SSI ËÏÍÁÎÄÙ, ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ
ÓÖÁÔÉÑ ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅ ÄÏ ËÏÎÃÁ ÉÌÉ ÎÅ ÐÅÒÅÄÁ×ÁÌÓÑ ×ÏÏÂÝÅ.
</para>
<para lang="en">
if the response was ended just after the SSI command and gzipping was used,
then the response did not transferred complete or did not transferred at all.
</para>
</change>
</changes>
<changes ver="0.3.7" date="27.10.2005">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á access_log ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ buffer=.
</para>
<para lang="en">
the "access_log" supports the "buffer=" parameter.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, amd64, sparc É ppc;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.2.
</para>
<para lang="en">
nginx could not be built on platforms different from i386, amd64, sparc É ppc;
bug appeared in 0.3.2.
</para>
</change>
</changes>
<changes ver="0.3.6" date="24.10.2005">
<change type="change">
<para lang="ru">
IMAP/POP3 ÐÒÏËÓÉ ÔÅÐÅÒØ ÎÅ ÐÅÒÅÄÁ£Ô ÓÅÒ×ÅÒÕ Á×ÔÏÒÉÚÁÃÉÉ ÐÕÓÔÏÊ ÌÏÇÉÎ.
</para>
<para lang="en">
now the IMAP/POP3 proxy do not send the empty login to authorization server.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á log_format ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ × ×ÉÄÅ $name.
</para>
<para lang="en">
the "log_format" supports the variables in the $name form.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÈÏÔÑ ÂÙ × ÏÄÎÏÍ ÓÅÒ×ÅÒÅ ÎÅ ÂÙÌÏ ÏÐÉÓÁÎÏ ÎÉ ÏÄÎÏÊ ÄÉÒÅËÔÉ×Ù listen, ÔÏ
nginx ÎÅ ÓÌÕÛÁÌ ÎÁ 80 ÐÏÒÔÕ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.3.
</para>
<para lang="en">
if at least in one server was no the "listen" directive, then nginx did not
listen on the 80 port;
bug appeared in 0.3.3.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÏÔÓÕÔÓÔ×Ï×ÁÌ URI, ÔÏ ×ÓÅÇÄÁ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÏÒÔ 80.
</para>
<para lang="en">
if the URI part is omitted in "proxy_pass" directive, the the 80 port was
always used.
</para>
</change>
</changes>
<changes ver="0.3.5" date="21.10.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÌÏÇÉÎ IMAP/POP3 ÍÅÎÑÌÓÑ ÓÅÒ×ÅÒÏÍ Á×ÔÏÒÉÚÁÃÉÉ, ÔÏ ÍÏÇ ÐÒÏÉÚÏÊÔÉ
segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.2.
</para>
<para lang="en">
the segmentation fault may occurred if the IMAP/POP3 login was changed
by authorization server;
bug appeared in 0.2.2.
</para>
</change>
<change type="bugfix">
<para lang="ru">
accept mutex ÎÅ ÒÁÂÏÔÁÌ, ×ÓÅ ÓÏÅÄÉÎÅÎÉÑ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ ÏÄÎÉÍ ÒÁÂÏÞÉÍ ÐÒÏÃÅÓÓÏÍ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.3.
</para>
<para lang="en">
the accept mutex did not work and all connections were handled by one process;
bug appeared in 0.3.3.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig É ÄÉÒÅËÔÉ×Ù timer_resolution
ÎÅ ÒÁÂÏÔÁÌÉ ÔÁÊÍÁÕÔÙ.
</para>
<para lang="en">
the timeout did not work if the "rtsig" method and the "timer_resolution"
directive were used.
</para>
</change>
</changes>
<changes ver="0.3.4" date="19.10.2005">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Linux 2.4+ É MacOS X;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.3.
</para>
<para lang="en">
nginx could not be built on Linux 2.4+ and MacOS X;
bug appeared in 0.3.3.
</para>
</change>
</changes>
<changes ver="0.3.3" date="19.10.2005">
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ "bl" É "af" ÄÉÒÅËÔÉ×Ù listen ÐÅÒÅÉÍÅÎÏ×ÁÎÙ × "backlog"
É "accept_filter".
</para>
<para lang="en">
the "bl" and "af" parameters of the "listen" directive was renamed to
the "backlog" and "accept_filter".
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ "rcvbuf" É "sndbuf" × ÄÉÒÅËÔÉ×Å listen.
</para>
<para lang="en">
the "rcvbuf" and "sndbuf" parameters of the "listen" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ $msec ÔÅÐÅÒØ ÎÅ ÔÒÅÂÕÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ ÓÉÓÔÅÍÎÏÇÏ
×ÙÚÏ×Á gettimeofday().
</para>
<para lang="en">
the "$msec" log parameter does not require now the additional
the gettimeofday() system call.
</para>
</change>
<change type="feature">
<para lang="ru">
ËÌÀÞ -t ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÅÔ ÄÉÒÅËÔÉ×Ù listen.
</para>
<para lang="en">
the -t switch now tests the "listen" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å listen ÂÙÌ ÕËÁÚÁÎ ÎÅ×ÅÒÎÙÊ ÁÄÒÅÓ, ÔÏ nginx ÐÏÓÌÅ
ÓÉÇÎÁÌÁ -HUP ÏÓÔÁ×ÌÑÌ ÏÔËÒÙÔÙÊ ÓÏËÅÔ × ÓÏÓÔÏÑÎÉÉ CLOSED.
</para>
<para lang="en">
if the invalid address was specified in the "listen" directive, then
after the -HUP signal nginx left an open socket in the CLOSED state.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÌÑ ÉÎÄÅËÓÎÙÈ ÆÁÊÌÏ×, ÓÏÄÅÒÖÁÝÉÈ × ÉÍÅÎÉ ÐÅÒÅÍÅÎÎÕÀ, ÍÏÇ ÎÅ×ÅÒÎÏ ×ÙÓÔÁ×ÌÑÔØÓÑ
ÔÉÐ mime ÐÏ ÕÍÏÌÞÁÎÉÀ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.0.
</para>
<para lang="en">
the mime type may be incorrectly set to default value for index file with
variable in the name;
bug appeared in 0.3.0.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á timer_resolution.
</para>
<para lang="en">
the "timer_resolution" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ $upstream_response_time × ÍÉÌÌÉÓÅËÕÎÄÁÈ.
</para>
<para lang="en">
the millisecond "$upstream_response_time" log parameter.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×ÒÅÍÅÎÎÙÊ ÆÁÊÌ Ó ÔÅÌÏÍ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ ÔÅÐÅÒØ ÕÄÁÌÑÅÔÓÑ ÓÒÁÚÕ ÐÏÓÌÅ ÔÏÇÏ,
ËÁË ËÌÉÅÎÔÕ ÐÅÒÅÄÁÎ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ.
</para>
<para lang="en">
a temporary file with client request body now is removed just after
the response header was transferred to a client.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó OpenSSL 0.9.6.
</para>
<para lang="en">
OpenSSL 0.9.6 compatibility.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÕÔÉ Ë ÆÁÊÌÁÍ Ó SSL ÓÅÒÔÉÆÉËÁÔÏÍ É ËÌÀÞÏÍ ÎÅ ÍÏÇÌÉ ÂÙÔØ ÏÔÎÏÓÉÔÅÌØÎÙÍÉ.
</para>
<para lang="en">
the SSL certificate and key file paths could not be relative.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_prefer_server_ciphers ÎÅ ÒÁÂÏÔÁÌÁ ÄÌÑ ÍÏÄÕÌÑ ngx_imap_ssl_module.
</para>
<para lang="en">
the "ssl_prefer_server_ciphers" directive did not work in
the ngx_imap_ssl_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_protocols ÐÏÚ×ÏÌÑÌÁ ÚÁÄÁÔØ ÔÏÌØËÏ ÏÄÉÎ ÐÒÏÔÏËÏÌ.
</para>
<para lang="en">
the "ssl_protocols" directive allowed to specify the single protocol only.
</para>
</change>
</changes>
<changes ver="0.3.2" date="12.10.2005">
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ Sun Studio 10 C compiler.
</para>
<para lang="en">
the Sun Studio 10 C compiler support.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_upstream_max_fails, proxy_upstream_fail_timeout,
fastcgi_upstream_max_fails É fastcgi_upstream_fail_timeout.
</para>
<para lang="en">
the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
"fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout"
directives.
</para>
</change>
</changes>
<changes ver="0.3.1" date="10.10.2005">
<change type="bugfix">
<para lang="ru">
×Ï ×ÒÅÍÑ ÐÅÒÅÐÏÌÎÅÎÉÑ ÏÞÅÒÅÄÉ ÓÉÇÎÁÌÏ× ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig
ÐÒÏÉÓÈÏÄÉÌ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.0.
</para>
<para lang="en">
the segmentation fault occurred when the signal queue overflowed
if the "rtsig" method was used;
bug appeared in 0.2.0.
</para>
</change>
<change type="change">
<para lang="ru">
ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÐÁÒ "\\", "\"", "\'" É "\$" × SSI.
</para>
<para lang="en">
correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
</para>
</change>
</changes>
<changes ver="0.3.0" date="07.10.2005">
<change type="change">
<para lang="ru">
ÕÂÒÁÎÏ ÄÅÓÑÔÉÄÎÅ×ÎÏÅ ÏÇÒÁÎÉÞÅÎÉÅ ×ÒÅÍÅÎÉ ÒÁÂÏÔÙ ÒÁÂÏÞÅÇÏ ÐÒÏÃÅÓÓÁ.
ïÇÒÁÎÉÞÅÎÉÅ ÂÙÌÏ ××ÅÄÅÎÏ ÉÚ-ÚÁ ÐÅÒÅÐÏÌÎÅÎÉÑ ÍÉÌÌÉÓÅËÕÎÄÎÙÈ ÔÁÊÍÅÒÏ×.
</para>
<para lang="en">
the 10-days live time limit of worker process was eliminated.
The limit was introduced because of millisecond timers overflow.
</para>
</change>
</changes>
<changes ver="0.2.6" date="05.10.2005">
<change type="change">
<para lang="ru">
Ó 60 ÄÏ 10 ÓÅËÕÎÄ ÕÍÅÎØÛÅÎÏ ×ÒÅÍÑ ÐÏ×ÔÏÒÎÏÇÏ ÏÂÒÁÝÅÎÉÑ Ë ÂÜËÅÎÄÕ
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÒÁÓÐÒÅÄÅÌÅÎÉÑ ÎÁÇÒÕÚËÉ.
</para>
<para lang="en">
while using load-balancing the time before the failed backend retry
was decreased from 60 to 10 seconds.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass_unparsed_uri ÕÐÒÁÚÄÎÅÎÁ, ÏÒÉÇÉÎÁÌØÎÙÊ ÚÁÐÒÏÓ ÔÅÐÅÒØ
ÐÅÒÅÄÁ£ÔÓÑ, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÏÔÓÕÔÓÔ×ÕÅÔ URI.
</para>
<para lang="en">
the "proxy_pass_unparsed_uri" was canceled, the original URI now passed,
if the URI part is omitted in "proxy_pass" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á error_page ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÅÄÉÒÅËÔÙ É ÐÏÚ×ÏÌÑÅÔ ÂÏÌÅÅ ÇÉÂËÏ
ÍÅÎÑÔØ ËÏÄ ÏÛÉÂËÉ.
</para>
<para lang="en">
the "error_page" directive supports redirects and allows more flexible
to change an error code.
</para>
</change>
<change type="change">
<para lang="ru">
× ÐÒÏËÓÉÒÏ×ÁÎÎÙÈ ÐÏÄÚÁÐÒÏÓÁÈ ÔÅÐÅÒØ ÉÇÎÏÒÉÒÕÅÔÓÑ ÐÅÒÅÄÁÎÎÙÊ charset.
</para>
<para lang="en">
the charset in the "Content-Type" header line now is ignored
in proxied subrequests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ URI × ÂÌÏËÅ if ÄÌÑ ÚÁÐÒÏÓÁ ÎÅ ÎÁÈÏÄÉÌÁÓØ
ÎÏ×ÁÑ ËÏÎÆÉÇÕÒÁÃÉÑ, ÔÏ ÐÒÁ×ÉÌÁ ÍÏÄÕÌÑ ngx_http_rewrite_module ×ÙÐÏÌÎÑÌÉÓØ
ÓÎÏ×Á.
</para>
<para lang="en">
if the URI was changed in the "if" block and request did not found
new configuration, then the ngx_http_rewrite_module rules ran again.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÉÒÅËÔÉ×Á set ÕÓÔÁÎÁ×ÌÉ×ÁÌÁ ÐÅÒÅÍÅÎÎÕÀ ÍÏÄÕÌÑ ngx_http_geo_module
× ËÁËÏÊ-ÌÉÂÏ ÞÁÓÔÉ ËÏÎÆÉÇÕÒÁÃÉÉ, ÔÏ ÜÔÁ ÐÅÒÅÍÅÎÎÁÑ ÎÅ ÂÙÌÁ ÄÏÓÔÕÐÎÁ ×
ÄÒÕÇÉÈ ÞÁÓÔÑÈ ËÏÎÆÉÇÕÒÁÃÉÉ É ×ÙÄÁ×ÁÌÁÓØ ÏÛÉÂËÁ "using uninitialized variable";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.2.
</para>
<para lang="en">
if the "set" directive set the ngx_http_geo_module variable in some
configuration part, the this variable was not available in other
configuration parts and the "using uninitialized variable" error was occurred;
bug appeared in 0.2.2.
</para>
</change>
</changes>
<changes ver="0.2.5" date="04.10.2005">
<change type="change">
<para lang="ru">
ÄÕÂÌÉÒÕÀÝÅÅ ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ ÍÏÄÕÌÑ ngx_http_geo_module ÔÅÐÅÒØ
×ÙÄÁ£Ô ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ É ÉÚÍÅÎÑÅÔ ÓÔÁÒÏÅ ÚÎÁÞÅÎÉÅ.
</para>
<para lang="en">
the duplicate value of the ngx_http_geo_module variable now causes
the warning and changes old value.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÍÁÎÄÕ set.
</para>
<para lang="en">
the ngx_http_ssi_module supports the "set" command.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ file × ËÏÍÁÎÄÅ include.
</para>
<para lang="en">
the ngx_http_ssi_module supports the "file" parameter in the "include" command.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÄÓÔÁÎÏ×ËÕ ÚÎÁÞÅÎÉÊ ÐÅÒÅÍÅÎÎÙÈ
× ×ÙÒÁÖÅÎÉÑÈ ËÏÍÁÎÄÙ if.
</para>
<para lang="en">
the ngx_http_ssi_module supports the variable value substitutions in
expressions of the "if" command.
</para>
</change>
</changes>
<changes ver="0.2.4" date="03.10.2005">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÒÁÖÅÎÉÑ
"$var=text", "$var!=text", "$var=/text/" É "$var!=/text/"
× ËÏÍÁÎÄÅ if.
</para>
<para lang="en">
the ngx_http_ssi_module supports
"$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions
in the "if" command.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ location ÂÅÚ ÓÌÜÛÁ × ËÏÎÃÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.44.
</para>
<para lang="en">
in proxying location without trailing slash;
bug appeared in 0.1.44.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.0.
</para>
<para lang="en">
the segmentation fault may occurred if the "rtsig" method was used;
bug appeared in 0.2.0.
</para>
</change>
</changes>
<changes ver="0.2.3" date="30.09.2005">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÐÁÒÁÍÅÔÒÁ --with-debug;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.2.
</para>
<para lang="en">
nginx could not be built without the --with-debug option;
bug appeared in 0.2.2.
</para>
</change>
</changes>
<changes ver="0.2.2" date="30.09.2005">
<change type="feature">
<para lang="ru">
ËÏÍÁÎÄÁ config errmsg × ÍÏÄÕÌÅ ngx_http_ssi_module.
</para>
<para lang="en">
the "config errmsg" command of the ngx_http_ssi_module.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ ÍÏÄÕÌÑ ngx_http_geo_module ÍÏÖÎÏ ÐÅÒÅÏÐÒÅÄÅÌÑÔØ ÄÉÒÅËÔÉ×ÏÊ set.
</para>
<para lang="en">
the ngx_http_geo_module variables can be overridden by the "set" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù ssl_protocols É ssl_prefer_server_ciphers ÍÏÄÕÌÅÊ
ngx_http_ssl_module É ngx_imap_ssl_module.
</para>
<para lang="en">
the "ssl_protocols" and "ssl_prefer_server_ciphers" directives
of the ngx_http_ssl_module and ngx_imap_ssl_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module ÐÒÉ ÐÏËÁÚÅ ÄÌÉÎÎÙÈ ÉͣΠÆÁÊÌÏ×;
</para>
<para lang="en">
the ngx_http_autoindex_module did not show correctly the long file names;
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module ÔÅÐÅÒØ ÎÅ ÐÏËÁÚÙ×ÁÅÔ ÆÁÊÌÙ,
ÎÁÞÉÎÁÀÝÉÅÓÑ ÎÁ ÔÏÞËÕ.
</para>
<para lang="en">
the ngx_http_autoindex_module now do not show the files starting by dot.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ SSL handshake ÚÁ×ÅÒÛÁÌÓÑ Ó ÏÛÉÂËÏÊ, ÔÏ ÜÔÏ ÍÏÇÌÏ ÐÒÉ×ÅÓÔÉ ÔÁËÖÅ
Ë ÚÁËÒÙÔÉÀ ÄÒÕÇÏÇÏ ÓÏÅÄÉÎÅÎÉÑ.<br/>
óÐÁÓÉÂÏ Rob Mueller.
</para>
<para lang="en">
if the SSL handshake failed then another connection may be closed too.<br/>
Thanks to Rob Mueller.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÜËÓÐÏÒÔÎÙÅ ×ÅÒÓÉÉ MSIE 5.x ÎÅ ÍÏÇÌÉ ÓÏÅÄÉÎÉÔØÓÑ ÐÏ HTTPS.
</para>
<para lang="en">
the export versions of MSIE 5.x could not connect via HTTPS.
</para>
</change>
</changes>
<changes ver="0.2.1" date="23.09.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÓÅ ÂÜËÅÎÄÙ, ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÂÁÌÁÎÓÉÒÏ×ËÉ ÎÁÇÒÕÚËÉ, ÏËÁÚÙ×ÁÌÉÓØ
× ÎÅÒÁÂÏÞÅÍ ÓÏÓÔÏÑÎÉÉ ÐÏÓÌÅ ÏÄÎÏÊ ÏÛÉÂËÉ, ÔÏ nginx ÍÏÇ ÚÁÃÉËÌÉÔÓÑ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.0.
</para>
<para lang="en">
if all backend using in load-balancing failed after one error, then
nginx may got caught in an endless loop;
bug appeared in 0.2.0.
</para>
</change>
</changes>
<changes ver="0.2.0" date="23.09.2005">
<change>
<para lang="ru">
éÚÍÅÎÉÌÉÓØ ÉÍÅÎÁ pid-ÆÁÊÌÏ×, ÉÓÐÏÌØÚÕÅÍÙÅ ×Ï ×ÒÅÍÑ ÏÂÎÏ×ÌÅÎÉÑ ÉÓÐÏÌÎÑÅÍÏÇÏ
ÆÁÊÌÁ. òÕÞÎÏÅ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÅ ÔÅÐÅÒØ ÎÅ ÎÕÖÎÏ.
óÔÁÒÙÊ ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ ÄÏÂÁ×ÌÑÅÔ Ë Ó×ÏÅÍÕ pid-ÆÁÊÌ ÓÕÆÆÉËÓ ".oldbin"
É ÚÁÐÕÓËÁÅÔ ÎÏ×ÙÊ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ.
îÏ×ÙÊ ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ ÓÏÚÄÁ£Ô ÏÂÙÞÎÙÊ pid-ÆÁÊÌ ÂÅÚ ÓÕÆÆÉËÓÁ ".newbin".
åÓÌÉ ÎÏ×ÙÊ ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ ×ÙÈÏÄÉÔ, ÔÏ ÓÔÁÒÙÊ ÐÒÏÃÅÓÓ ÐÅÒÅÉÍÅÎÏ×Ù×ÁÅÔ Ó×ÏÊ
pid-ÆÁÊÌ c ÓÕÆÆÉËÓÏÍ ".oldbin" × pid-ÆÁÊÌ ÂÅÚ ÓÕÆÆÉËÓÁ.
ðÒÉ ÏÂÎÏ×ÌÅÎÉÉ Ó ×ÅÒÓÉÉ 0.1.È ÄÏ 0.2.0 ÎÕÖÎÏ ÕÞÉÔÙ×ÁÔØ, ÞÔÏ ÏÂÁ
ÐÒÏÃÅÓÓÁ&mdash;ÓÔÁÒÙÊ 0.1.x É ÎÏ×ÙÊ 0.2.0&mdash;ÉÓÐÏÌØÚÕÀÔ pid-ÆÁÊÌ
ÂÅÚ ÓÕÆÆÉËÓÏ×.
</para>
<para lang="en">
The pid-file names used during online upgrade was changed and now is not
required a manual rename operation.
The old master process adds the ".oldbin" suffix to its pid-file and
executes a new binary file.
The new master process creates usual pid-file without the ".newbin" suffix.
If the master process exits, then old master process renames back
its pid-file with the ".oldbin" suffix to the pid-file without suffix.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á worker_connections, ÎÏ×ÏÅ ÎÁÚ×ÁÎÉÅ ÄÉÒÅËÔÉ×Ù connections;
ÄÉÒÅËÔÉ×Á ÔÅÐÅÒØ ÚÁÄÁ£Ô ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÓÏÅÄÉÎÅÎÉÊ,
Á ÎÅ ÍÁËÓÉÍÁÌØÎÏ ×ÏÚÍÏÖÎÙÊ ÎÏÍÅÒ ÄÅÓËÒÉÐÔÏÒÁ ÄÌÑ ÓÏËÅÔÁ.
</para>
<para lang="en">
the "worker_connections" directive, new name of the "connections" directive;
now the directive specifies maximum number of connections,
but not maximum socket descriptor number.
</para>
</change>
<change type="feature">
<para lang="ru">
SSL ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÜÛÉÒÏ×ÁÎÉÅ ÓÅÓÓÉÊ × ÐÒÅÄÅÌÁÈ ÏÄÎÏÇÏ ÒÁÂÏÞÅÇÏ ÐÒÏÃÅÓÓÁ.
</para>
<para lang="en">
SSL supports the session cache inside one worker process.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á satisfy_any.
</para>
<para lang="en">
the "satisfy_any" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÍÏÄÕÌÉ ngx_http_access_module É ngx_http_auth_basic_module ÎÅ ÒÁÂÏÔÁÀÔ
ÄÌÑ ÐÏÄÚÁÐÒÏÓÏ×.
</para>
<para lang="en">
the ngx_http_access_module and ngx_http_auth_basic_module do not run
for subrequests.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù worker_rlimit_nofile É worker_rlimit_sigpending.
</para>
<para lang="en">
the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÓÅ ÂÜËÅÎÄÙ, ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÂÁÌÁÎÓÉÒÏ×ËÉ ÎÁÇÒÕÚËÉ, ÏËÁÚÙ×ÁÌÉÓØ
× ÎÅÒÁÂÏÞÅÍ ÓÏÓÔÏÑÎÉÉ ÐÏÓÌÅ ÏÄÎÏÊ ÏÛÉÂËÉ, ÔÏ nginx ÎÅ ÏÂÒÁÝÁÌÓÑ Ë ÎÉÍ
× ÔÅÞÅÎÉÅ 60 ÓÅËÕÎÄ.
</para>
<para lang="en">
if all backend using in load-balancing failed after one error, then
nginx did not try do connect to them during 60 seconds.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÁÒÓÉÎÇÅ ÁÒÇÕÍÅÎÔÏ× IMAP/POP3 ËÏÍÁÎÄ.<br/>
óÐÁÓÉÂÏ Rob Mueller.
</para>
<para lang="en">
in IMAP/POP3 command argument parsing.<br/>
Thanks to Rob Mueller.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL × IMAP/POP3 ÐÒÏËÓÉ.
</para>
<para lang="en">
errors while using SSL in IMAP/POP3 proxy.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI É ÓÖÁÔÉÑ.
</para>
<para lang="en">
errors while using SSI and gzipping.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÏÔ×ÅÔÁÈ 304 ÎÅ ÄÏÂÁ×ÌÑÌÉÓØ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ "Expires" É
"Cache-Control".<br/>
óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ ëÕËÕÛËÉÎÕ.
</para>
<para lang="en">
the "Expires" and "Cache-Control" header lines were omitted
from the 304 responses.<br/>
Thanks to Alexandr Kukushkin.
</para>
</change>
</changes>
<changes ver="0.1.45" date="08.09.2005">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_engine ÕÐÒÁÚÄÎÅÎÁ × ÍÏÄÕÌÅ ngx_http_ssl_module É
ÐÅÒÅÎÅÓÅÎÁ ÎÁ ÇÌÏÂÁÌØÎÙÊ ÕÒÏ×ÅÎØ.
</para>
<para lang="en">
the "ssl_engine" directive was canceled in the ngx_http_ssl_module
and now is introduced at global level.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔ×ÅÔÙ Ó ÐÏÄÚÁÐÒÏÓÁÍÉ, ×ËÌÀÞ£ÎÎÙÅ Ó ÐÏÍÏÝØÀ SSI, ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ
ÞÅÒÅÚ SSL ÓÏÅÄÉÎÅÎÉÅ.
</para>
<para lang="en">
the responses with SSI subrequests did not transferred via SSL connection.
</para>
</change>
<change>
<para lang="ru">
òÁÚÎÙÅ ÉÓÐÒÁ×ÌÅÎÉÑ × IMAP/POP3 ÐÒÏËÓÉ.
</para>
<para lang="en">
Various bug fixes in the IMAP/POP3 proxy.
</para>
</change>
</changes>
<changes ver="0.1.44" date="06.09.2005">
<change type="feature">
<para lang="ru">
IMAP/POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL.
</para>
<para lang="en">
the IMAP/POP3 proxy supports SSL.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_timeout ÍÏÄÕÌÑ ngx_imap_proxy_module.
</para>
<para lang="en">
the "proxy_timeout" directive of the ngx_imap_proxy_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á userid_mark.
</para>
<para lang="en">
the "userid_mark" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $remote_user ÏÐÒÅÄÅÌÑÅÔÓÑ ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ,
ÉÓÐÏÌØÚÕÅÔÓÑ ÌÉ Á×ÔÏÒÉÚÁÃÉÑ ÉÌÉ ÎÅÔ.
</para>
<para lang="en">
the $remote_user variable value is determined independently of
authorization use.
</para>
</change>
</changes>
<changes ver="0.1.43" date="30.08.2005">
<change type="feature">
<para lang="ru">
listen(2) backlog × ÄÉÒÅËÔÉ×Å listen ÍÏÖÎÏ ÍÅÎÑÔØ ÐÏ ÓÉÇÎÁÌÕ -HUP.
</para>
<para lang="en">
the listen(2) backlog in the "listen" directive
can be changed using the -HUP signal.
</para>
</change>
<change type="feature">
<para lang="ru">
ÓËÒÉÐÔ geo2nginx.pl ÄÏÂÁ×ÌÅÎ × contrib.
</para>
<para lang="en">
the geo2nginx.pl script was added to contrib.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ FastCGI Ó ÐÕÓÔÙÍ ÚÎÁÞÅÎÉÑÍÉ ÔÅÐÅÒØ ÐÅÒÅÄÁÀÔÓÑ ÓÅÒ×ÅÒÕ.
</para>
<para lang="en">
the FastCGI parameters with the empty values now are passed to a server.
</para>
</change>
<!--
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÏÛÉÂËÁÈ × ÒÁÂÏÔÅ Ó ÐÒÏËÓÉÒÏ×ÁÎÎÙÍ ÓÅÒ×ÅÒÏÍ ÉÌÉ FastCGI ÓÅÒ×ÅÒÏÍ
ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
the segmentation fault may occurred if there were errors while
working with proxied or FastCGI server;
in the proxied mode the bug appeared in 0.1.29.
</para>
</change>
-->
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÏÔ×ÅÔÅ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ ÉÌÉ FastCGI ÓÅÒ×ÅÒÁ ÂÙÌÁ ÓÔÒÏËÁ
"Cache-Control", ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù expires ÐÒÏÉÓÈÏÄÉÌ
segmentation fault ÉÌÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔÓÑ;
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
the segmentation fault occurred or the worker process may got caught
in an endless loop if the proxied or FastCGI server sent the "Cache-Control"
header line and the "expires" directive was used;
in the proxied mode the bug appeared in 0.1.29.
</para>
</change>
</changes>
<changes ver="0.1.42" date="23.08.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ URI ÚÁÐÒÏÓÁ ÐÏÌÕÞÁÌÓÑ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ ÐÏÓÌÅ ÏÂÒÁÂÏÔËÉ ÍÏÄÕÌÅÍ
ngx_http_rewrite_module, ÔÏ × ÍÏÄÕÌÅ ngx_http_proxy_module ÐÒÏÉÓÈÏÄÉÌ
segmentation fault ÉÌÉ bus error.
</para>
<para lang="en">
if the request URI had a zero length after the processing in
the ngx_http_proxy_module, then the segmentation fault or bus error occurred
in the ngx_http_proxy_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á limit_rate ÎÅ ÒÁÂÏÔÁÌÁ ×ÎÕÔÒÉ ÂÌÏËÁ if;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.38.
</para>
<para lang="en">
the "limit_rate" directive did not work inside the "if" block;
bug appeared in 0.1.38.
</para>
</change>
</changes>
<changes ver="0.1.41" date="25.07.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ × ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ,
ÔÏ ÏÎÁ ÎÅ ÍÏÇÌÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × SSI.
</para>
<para lang="en">
if the variable was used in the configuration file,
then it can not be used in SSI.
</para>
</change>
</changes>
<changes ver="0.1.40" date="22.07.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ËÌÉÅÎÔ ÓÌÁÌ ÏÞÅÎØ ÄÌÉÎÎÕÀ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ, ÔÏ × ÌÏÇÅ ÎÅ ÐÏÍÅÝÁÌÁÓØ
ÉÎÆÏÒÍÁÃÉÑ, Ó×ÑÚÁÎÎÁÑ Ó ÜÔÉÍ ÚÁÐÒÏÓÏÍ.
</para>
<para lang="en">
if a client sent too long header line, then the request information
did not logged in the error log.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "X-Accel-Redirect" ÎÅ ÐÅÒÅÄÁ×ÁÌÁÓØ ÓÔÒÏËÁ "Set-Cookie";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.39.
</para>
<para lang="en">
the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect"
was used;
bug appeared in 0.1.39.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "X-Accel-Redirect" ÎÅ ÐÅÒÅÄÁ×ÁÌÁÓØ ÓÔÒÏËÁ
"Content-Disposition".
</para>
<para lang="en">
the "Content-Disposition" header line was not transferred when
the "X-Accel-Redirect" was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏ ÓÉÇÎÁÌÕ SIGQUIT ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ ÎÅ ÚÁËÒÙ×ÁÌ ÓÏËÅÔÙ, ÎÁ ËÏÔÏÒÙÈ ÏÎ ÓÌÕÛÁÌ.
</para>
<para lang="en">
the master process did not close the listen socket on the SIGQUIT signal.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏÓÌÅ ÏÂÎÏ×ÌÅÎÉÑ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ ÎÁ ÌÅÔÕ ÎÁ Linux É Solaris
ÎÁÚ×ÁÎÉÅ ÐÒÏÃÅÓÓÁ × ËÏÍÁÎÄÅ ps ÓÔÁÎÏ×ÉÌÏÓØ ËÏÒÏÞÅ.
</para>
<para lang="en">
after on-line upgrade on Linux and Solaris the process name
became shorter in the "ps" command.
</para>
</change>
</changes>
<changes ver="0.1.39" date="14.07.2005">
<change>
<para lang="ru">
éÚÍÅÎÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_charset_module:
ÄÉÒÅËÔÉ×Á default_charset ÕÐÒÁÚÄÎÅÎÁ;
ÄÉÒÅËÔÉ×Á charset ÚÁÄÁ£Ô ËÏÄÉÒÏ×ËÕ ÏÔ×ÅÔÁ;
ÄÉÒÅËÔÉ×Á source_charset ÚÁÄÁ£Ô ÔÏÌØËÏ ÉÓÈÏÄÎÕÀ ËÏÄÉÒÏ×ËÕ.
</para>
<para lang="en">
The changes in the ngx_http_charset_module:
the "default_charset" directive was canceled;
the "charset" directive sets the response charset;
the "source_charset" directive sets the source charset only.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂËÉ 401, ÐÏÌÕÞÅÎÎÏÊ ÏÔ ÂÜËÅÎÄÁ, ÎÅ ÐÅÒÅÄÁ×ÁÌÁÓØ
ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "WWW-Authenticate".
</para>
<para lang="en">
the backend "WWW-Authenticate" header line did not transferred while
the 401 response code redirecting.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌÉ ngx_http_proxy_module É ngx_http_fastcgi_module ÍÏÇÌÉ ÚÁËÒÙÔØ
ÓÏÅÄÉÎÅÎÉÅ ÄÏ ÔÏÇÏ, ËÁË ÞÔÏ-ÎÉÂÕÄØ ÂÙÌÏ ÐÅÒÅÄÁÎÏ ËÌÉÅÎÔÕ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.38.
</para>
<para lang="en">
the ngx_http_proxy_module and ngx_http_fastcgi_module may close
a connection before anything was transferred to a client;
bug appeared in 0.1.38.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÏÂÒÁÂÏÔËÁ ÏÛÉÂËÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ × crypt_r() × Linux glibc.
</para>
<para lang="en">
the Linux glibc crypt_r() initialization bug.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÏÔÎÏÓÉÔÅÌØÎÙÅ URI ×
ËÏÍÁÎÄÅ include virtual.
</para>
<para lang="en">
the ngx_http_ssi_module did not support the relative URI in
the "include virtual" command.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÓÔÒÏËÅ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ ÂÙÌÁ ÓÔÒÏËÁ "Location",
ËÏÔÏÒÕÀ nginx ÎÅ ÄÏÌÖÅÎ ÂÙÌ ÉÚÍÅÎÑÔØ, ÔÏ × ÏÔ×ÅÔÅ ÐÅÒÅÄÁ×ÁÌÏÓØ ÔÅÌÏ 500 ÏÛÉÂËÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
if the backend response had the "Location" header line and nginx
should not rewrite this line, then the 500 code response body was transferred;
bug appeared in 0.1.29.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅËÏÔÏÒÙÅ ÄÉÒÅËÔÉ×Ù ÍÏÄÕÌÅÊ ngx_http_proxy_module É ngx_http_fastcgi_module
ÎÅ ÎÁÓÌÅÄÏ×ÁÌÉÓØ Ó ÕÒÏ×ÎÑ server ÎÁ ÕÒÏ×ÅÎØ location;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module
were not inherited from the server to the location level;
bug appeared in 0.1.29.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssl_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÃÅÐÏÞËÉ ÓÅÒÔÉÆÉËÁÔÏ×.
</para>
<para lang="en">
the ngx_http_ssl_module did not support the certificate chain.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module ÐÒÉ ÐÏËÁÚÅ ÄÌÉÎÎÙÈ ÉͣΠÆÁÊÌÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.38.
</para>
<para lang="en">
the ngx_http_autoindex_module did not show correctly the long file names;
bug appeared in 0.1.38.
</para>
</change>
<change>
<para lang="ru">
éÓÐÒÁ×ÌÅÎÉÑ × IMAP/POP3 ÐÒÏËÓÉ ÐÒÉ ×ÚÁÉÍÏÄÅÊÓÔ×ÉÉ Ó ÂÜËÅÎÄÏÍ ÎÁ ÓÔÁÄÉÉ login.
</para>
<para lang="en">
Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state.
</para>
</change>
</changes>
<changes ver="0.1.38" date="08.07.2005">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á limit_rate ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ × ÒÅÖÉÍÅ ÐÒÏËÓÉ É FastCGI.
</para>
<para lang="en">
the "limit_rate" directive is supported in in proxy and FastCGI mode.
</para>
</change>
<change type="feature">
<para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ É FastCGI ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "X-Accel-Limit-Rate"
× ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
the "X-Accel-Limit-Rate" response header line is supported in proxy
and FastCGI mode.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á break.
</para>
<para lang="en">
the "break" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á log_not_found.
</para>
<para lang="en">
the "log_not_found" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ "X-Accel-Redirect"
ÎÅ ÉÚÍÅÎÑÌÓÑ ËÏÄ ÏÔ×ÅÔÁ.
</para>
<para lang="en">
the response status code was not changed when request was redirected
by the ""X-Accel-Redirect" header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ, ÕÓÔÁÎÏ×ÌÅÎÎÙÅ ÄÉÒÅËÔÉ×ÏÊ set ÎÅ ÍÏÇÌÉ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × SSI.
</para>
<para lang="en">
the variables set by the "set" directive could not be used in SSI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞÅÎÉÉ × SSI ÂÏÌÅÅ ÏÄÎÏÇÏ ÕÄÁÌ£ÎÎÏÇÏ ÐÏÄÚÁÐÒÏÓÁ
ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
the segmentation fault may occurred if the SSI page has more than one
remote subrequest.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÓÔÁÔÕÓÎÁÑ ÓÔÒÏËÁ × ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ ÐÅÒÅÄÁ×ÁÌÁÓØ × Ä×ÕÈ ÐÁËÅÔÁÈ, ÔÏ
nginx ÓÞÉÔÁÌ ÏÔ×ÅÔ ÎÅ×ÅÒÎÙÍ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
nginx treated the backend response as invalid if the status line in the
header was transferred in two packets;
bug appeared in 0.1.29.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssi_types.
</para>
<para lang="en">
the "ssi_types" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á autoindex_exact_size.
</para>
<para lang="en">
the "autoindex_exact_size" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÄÌÉÎÎÙÅ ÉÍÅÎÁ ÆÁÊÌÏ× × UTF-8.
</para>
<para lang="en">
the ngx_http_autoindex_module did not support the long file names in UTF-8.
</para>
</change>
<change type="feature">
<para lang="ru">
IMAP/POP3 ÐÒÏËÓÉ.
</para>
<para lang="en">
the IMAP/POP3 proxy.
</para>
</change>
</changes>
<changes ver="0.1.37" date="23.06.2005">
<change type="change">
<para lang="ru">
× ËÏÎÃÅ ÆÁÊÌÁ nginx.pid ÔÅÐÅÒØ ÄÏÂÁ×ÌÑÅÔÓÑ "\n".
</para>
<para lang="en">
now the "\n" is added to the end of the "nginx.pid" file.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞÅÎÉÉ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ×ÓÔÁ×ÏË ÉÌÉ ÎÅÓËÏÌØËÉÈ ÂÏÌØÛÉÈ ×ÓÔÁ×ÏË
Ó ÐÏÍÏÝØÀ SSI ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
the responses may be transferred not completely,
if many parts or the big parts were included by SSI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÓÅ ÂÜËÅÎÄÙ ×ÏÚ×ÒÁÝÁÌÉ ÏÔ×ÅÔ 404, ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÁÒÁÍÅÔÒÁ http_404
× ÄÉÒÅËÔÉ×ÁÈ proxy_next_upstream ÉÌÉ fastcgi_next_upstream, nginx
ÎÁÞÉÎÁÌ ÚÁÐÒÁÛÉ×ÁÔØ ×ÓÅ ÂÜËÅÎÄÙ ÓÎÏ×Á.
</para>
<para lang="en">
if all backends had returned the 404 reponse and the "http_404" parameter of
the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used,
then nginx started to request all backends again.
</para>
</change>
</changes>
<changes ver="0.1.36" date="15.06.2005">
<change type="change">
<para lang="ru">
ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÅ ÅÓÔØ ÄÕÂÌÉÒÕÀÝÉÅÓÑ ÓÔÒÏËÉ "Host", "Connection",
"Content-Length" É "Authorization", ÔÏ nginx ÔÅÐÅÒØ ×ÙÄÁ£Ô ÏÛÉÂËÕ 400.
</para>
<para lang="en">
if the request header has duplicate the "Host", "Connection", "Content-Length",
or "Authorization" lines, then nginx now returns the 400 error.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á post_accept_timeout ÕÐÒÁÚÄÎÅÎÁ.
</para>
<para lang="en">
the "post_accept_timeout" directive was canceled.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ default, af=, bl=, deferred É bind × ÄÉÒÅËÔÉ×Å listen.
</para>
<para lang="en">
the "default", "af=", "bl=", "deferred", and "bind" parameters
of the "listen" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ accept ÆÉÌØÔÒÏ× ×Ï FreeBSD.
</para>
<para lang="en">
the FreeBSD accept filters support.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ TCP_DEFER_ACCEPT × Linux.
</para>
<para lang="en">
the Linux TCP_DEFER_ACCEPT support.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÉÍÅÎÁ ÆÁÊÌÏ× × UTF-8.
</para>
<para lang="en">
the ngx_http_autoindex_module did not support the file names in UTF-8.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏÓÌÅ ÄÏÂÁ×ÌÅÎÉÑ ÎÏ×ÙÊ ÌÏÇ-ÆÁÊÌ ÒÏÔÁÃÉÑ ÜÔÏÇÏ ÌÏÇÁ ÐÏ ÓÉÇÎÁÌÕ -USR1
×ÙÐÏÌÎÑÌÁÓØ, ÔÏÌØËÏ ÅÓÌÉ ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ nginx Ä×Á ÒÁÚÁ ÐÏ ÓÉÇÎÁÌÕ -HUP.
</para>
<para lang="en">
the new log file can be rotated by the -USR1 signal only if
the reconfiguration by the -HUP signal was made twice.
</para>
</change>
</changes>
<changes ver="0.1.35" date="07.06.2005">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á working_directory.
</para>
<para lang="en">
the "working_directory" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á port_in_redirect.
</para>
<para lang="en">
the "port_in_redirect" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ ÎÅ ÐÏÍÅÝÁÌÓÑ × ÏÄÉÎ ÐÁËÅÔ, ÔÏ
ÐÒÏÉÓÈÏÄÉÌ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
the segmentation fault was occurred if the backend response header was in
several packets;
bug appeared in 0.1.29.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÙÌÏ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÎÏ ÂÏÌÅÅ 10 ÓÅÒ×ÅÒÏ× ÉÌÉ × ÓÅÒ×ÅÒÅ ÎÅ ÏÐÉÓÁÎÁ
ÄÉÒÅËÔÉ×Á "listen",
ÔÏ ÐÒÉ ÚÁÐÕÓËÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
if more than 10 servers were configured or some server did not use the
"listen" directive, then the segmentation fault was occurred on the start.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÏÔ×ÅÔ ÎÅ ÐÏÍÅÝÁÌÓÑ ×Ï ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ,
ÔÏ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
the segmentation fault might occur if the response was bigger than
the temporary file.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 400 ÎÁ ÚÁÐÒÏÓÙ ×ÉÄÁ
<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.28.
</para>
<para lang="en">
nginx returned the 400 response on requests like
<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
bug appeared in 0.1.28.
</para>
</change>
</changes>
<changes ver="0.1.34" date="26.05.2005">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞÅÎÉÉ ÂÏÌØÛÉÈ ÏÔ×ÅÔÏ× Ó ÐÏÍÏÝØÀ SSI ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ.
</para>
<para lang="en">
the worker process may got caught in an endless loop if the big response
part were include by SSI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ, ÕÓÔÁÎÁ×ÌÉ×ÁÅÍÙÅ ÄÉÒÅËÔÉ×ÏÊ "set", ÎÅ ÂÙÌÉ ÄÏÓÔÕÐÎÙ × SSI.
</para>
<para lang="en">
the variables set by the "set" directive were not available in SSI.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á autoindex_localtime.
</para>
<para lang="en">
the "autoindex_localtime" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÕÓÔÏÅ ÚÎÁÞÅÎÉÅ × ÄÉÒÅËÔÉ×Å proxy_set_header ÚÁÐÒÅÝÁÅÔ ÐÅÒÅÄÁÞÕ ÚÁÇÏÌÏ×ËÁ.
</para>
<para lang="en">
the empty value of the "proxy_set_header" directive forbids the client
request header line passing.
</para>
</change>
</changes>
<changes ver="0.1.33" date="23.05.2005">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-pcre;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
nginx could not be built with the --without-pcre parameter;
bug appeared in 0.1.29.
</para>
</change>
<change type="bugfix">
<para lang="ru">
3, 5, 7 É 8 ÄÉÒÅËÔÉ× proxy_set_header ÎÁ ÏÄÎÏÍ ÕÒÏ×ÎÅ ×ÙÚÙ×ÁÌÉ
bus fault ÐÒÉ ÚÁÐÕÓËÅ.
</para>
<para lang="en">
3, 4, 7, and 8 the "proxy_set_header" directives in one level cause
the bus fault on start up.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÒÅÄÉÒÅËÔÁÈ ×ÎÕÔÒÉ HTTPS ÓÅÒ×ÅÒÁ ÂÙÌ ÕËÁÚÁÎ ÐÒÏÔÏËÏÌ HTTP.
</para>
<para lang="en">
the HTTP protocol was specified in the HTTPS redirects.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÉÒÅËÔÉ×Á rewrite ÉÓÐÏÌØÚÏ×ÁÌÁ ×ÙÄÅÌÅÎÉÑ ×ÎÕÔÒÉ ÄÉÒÅËÔÉ×Ù if, ÔÏ
×ÏÚ×ÒÁÝÁÌÁÓØ ÏÛÉÂËÁ 500.
</para>
<para lang="en">
if the "rewrite" directive used the captures inside the "if" directive, then
the 500 error code was returned.
</para>
</change>
</changes>
<changes ver="0.1.32" date="19.05.2005">
<change type="bugfix">
<para lang="ru">
× ÒÅÄÉÒÅËÔÁÈ, ×ÙÄÁ×ÁÅÍÙÈ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù rewrite, ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ ÁÒÇÕÍÅÎÔÙ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
the arguments were omitted in the redirects, issued by the "rewrite" directive;
bug appeared in 0.1.29.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ.
</para>
<para lang="en">
the "if" directive supports the captures in regular expressions.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á set ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ É ×ÙÄÅÌÅÎÉÑ ÉÚ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ.
</para>
<para lang="en">
the "set" directive supports the variables and the captures of regular
expressions.
</para>
</change>
<change type="feature">
<para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ É FastCGI ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "X-Accel-Redirect"
× ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
the "X-Accel-Redirect" response header line is supported in proxy and FastCGI
mode.
</para>
</change>
</changes>
<changes ver="0.1.31" date="16.05.2005">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÄÏ ËÏÎÃÁ.
</para>
<para lang="en">
the response encrypted by SSL may not transferred complete.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÏÂÒÁÂÏÔËÅ SSI × ÏÔ×ÅÔÅ, ÐÏÌÕÞÅÎÎÏÇÏ ÏÔ FastCGI-ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
errors while processing FastCGI response by SSI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI É ÓÖÁÔÉÑ.
</para>
<para lang="en">
errors while using SSI and gzipping.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÅÄÉÒÅËÔ Ó ËÏÄÏÍ 301 ÐÅÒÅÄÁ×ÁÌÓÑ ÂÅÚ ÔÅÌÁ ÏÔ×ÅÔÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.30.
</para>
<para lang="en">
the redirect with the 301 code was transferred without response body;
bug appeared in 0.1.30.
</para>
</change>
</changes>
<changes ver="0.1.30" date="14.05.2005">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ.
</para>
<para lang="en">
the worker process may got caught in an endless loop if the SSI was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÄÏ ËÏÎÃÁ.
</para>
<para lang="en">
the response encrypted by SSL may not transferred complete.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÌÉÎÁ ÞÁÓÔÉ ÏÔ×ÅÔÁ, ÐÏÌÕÞÅÎÎÏÇÏ ÚÁ ÏÄÉÎ ÒÁÚ ÏÔ ÐÒÏËÓÉÒÕÅÍÏÇÏ ÉÌÉ
FastCGI ÓÅÒ×ÅÒÁ ÂÙÌÁ ÒÁ×ÎÁ 500 ÂÁÊÔ, ÔÏ nginx ×ÏÚ×ÒÁÝÁÌ ËÏÄ ÏÔ×ÅÔÁ 500;
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ ÔÏÌØËÏ × 0.1.29.
</para>
<para lang="en">
if the length of the response part received at once from proxied
or FastCGI server was equal to 500, then nginx returns the 500 response code;
in proxy mode the bug appeared in 0.1.29 only.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÞÉÔÁÌ ÎÅ×ÅÒÎÙÍÉ ÄÉÒÅËÔÉ×Ù Ó 8-À ÉÌÉ 9-À ÐÁÒÁÍÅÔÒÁÍÉ.
</para>
<para lang="en">
nginx did not consider the directives with 8 or 9 parameters as invalid.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á return ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ËÏÄ ÏÔ×ÅÔÁ 204.
</para>
<para lang="en">
the "return" directive can return the 204 response code.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ignore_invalid_headers.
</para>
<para lang="en">
the "ignore_invalid_headers" directive.
</para>
</change>
</changes>
<changes ver="0.1.29" date="12.05.2005">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÍÁÎÄÕ include virtual.
</para>
<para lang="en">
the ngx_http_ssi_module supports "include virtual" command.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÕÓÌÏ×ÎÕÀ ËÏÍÁÎÄÕ ×ÉÄÁ
'if expr="$NAME"' É ËÏÍÁÎÄÙ else É endif.
äÏÐÕÓËÁÅÔÓÑ ÔÏÌØËÏ ÏÄÉÎ ÕÒÏ×ÅÎØ ×ÌÏÖÅÎÎÏÓÔÉ.
</para>
<para lang="en">
the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands.
Only one nested level is supported.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ Ä×Å ÐÅÒÅÍÅÎÎÙÅ DATE_LOCAL É DATE_GMT
É ËÏÍÁÎÄÕ config timefmt.
</para>
<para lang="en">
the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables
and "config timefmt" command.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssi_ignore_recycled_buffers.
</para>
<para lang="en">
the "ssi_ignore_recycled_buffers" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ QUERY_STRING ÎÅ ÂÙÌÁ ÏÐÒÅÄÅÌÅÎÁ, ÔÏ × ËÏÍÁÎÄÅ echo
ÎÅ ÓÔÁ×ÉÌÏÓØ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ.
</para>
<para lang="en">
the "echo" command did not show the default value for the empty QUERY_STRING
variable.
</para>
</change>
<change type="change">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_proxy_module ÐÏÌÎÏÓÔØÀ ÐÅÒÅÐÉÓÁÎ.
</para>
<para lang="en">
the ngx_http_proxy_module was rewritten.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_redirect, proxy_pass_request_headers,
proxy_pass_request_body É proxy_method.
</para>
<para lang="en">
the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_set_header.
äÉÒÅËÔÉ×Á proxy_x_var ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ
proxy_set_header.
</para>
<para lang="en">
the "proxy_set_header" directive.
The "proxy_x_var" was canceled and must be replaced with the proxy_set_header
directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_preserve_host ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÁÍÉ
"proxy_set_header Host $host" É "proxy_redirect off"
ÉÌÉ ÄÉÒÅËÔÉ×ÏÊ <nobr>"proxy_set_header Host $host:$proxy_port"</nobr>
É ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍÉ ÅÊ ÄÉÒÅËÔÉ×ÁÍÉ proxy_redirect.
</para>
<para lang="en">
the "proxy_preserve_host" is canceled and must be replaced with
the "proxy_set_header Host $host" and the "proxy_redirect off" directives,
the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr>
and the appropriate proxy_redirect directives.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_set_x_real_ip ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ
"proxy_set_header X-Real-IP $remote_addr".
</para>
<para lang="en">
the "proxy_set_x_real_ip" is canceled and must be replaced with
the "proxy_set_header X-Real-IP $remote_addr" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_add_x_forwarded_for ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ ÚÁÍÅÎÅÎÁ
ÄÉÒÅËÔÉ×ÏÊ
<nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr>
</para>
<para lang="en">
the "proxy_add_x_forwarded_for" is canceled and must be replaced with
<nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr>
directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_set_x_url ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ
<nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr>
</para>
<para lang="en">
the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_param.
</para>
<para lang="en">
the "fastcgi_param" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù fastcgi_root, fastcgi_set_var É fastcgi_params ÕÐÒÁÚÄÎÅÎÙ
É ÄÏÌÖÎÙ ÂÙÔØ ÚÁÍÅÎÙ ÄÉÒÅËÔÉ×ÁÍÉ fastcgi_param.
</para>
<para lang="en">
the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive
are canceled and must be replaced with the fastcgi_param directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á index ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
the "index" directive can use the variables.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á index ÍÏÖÅÔ ÂÙÔØ ÕËÁÚÁÎÁ ÎÁ ÕÒÏ×ÎÅ http É server.
</para>
<para lang="en">
the "index" directive can be used at http and server levels.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÏÌØËÏ ÐÏÓÌÅÄÎÉÊ ÐÁÒÁÍÅÔÒ × ÄÉÒÅËÔÉ×Å index ÍÏÖÅÔ ÂÙÔØ ÁÂÓÏÌÀÔÎÙÍ.
</para>
<para lang="en">
the last index only in the "index" directive can be absolute.
</para>
</change>
<change type="feature">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å rewrite ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
the "rewrite" directive can use the variables.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á internal.
</para>
<para lang="en">
the "internal" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI É REMOTE_USER.
</para>
<para lang="en">
the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
</para>
</change>
<change type="change">
<para lang="ru">
nginx ÔÅÐÅÒØ ÐÅÒÅÄÁ£Ô ÎÅ×ÅÒÎÙÅ ÓÔÒÏËÉ × ÚÁÇÏÌÏ×ËÁÈ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ É
ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
nginx now passes the invalid lines in a client request headers
or a backend response header.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÜËÅÎÄ ÄÏÌÇÏ ÎÅ ÐÅÒÅÄÁ×ÁÌ ÏÔ×ÅÔ É send_timeout ÂÙÌ ÍÅÎØÛÅ, ÞÅÍ
proxy_read_timeout, ÔÏ ËÌÉÅÎÔÕ ×ÏÚ×ÒÁÝÁÌÓÑ ÏÔ×ÅÔ 408.
</para>
<para lang="en">
if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÜËÅÎÄ ÐÅÒÅÄÁ×ÁÌ ÎÅ×ÅÒÎÕÀ ÓÔÒÏËÕ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ, ÔÏ ÐÒÏÉÓÈÏÄÉÌ
segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.26.
</para>
<para lang="en">
the segmentation fault was occurred if the backend sent an invalid line
in response header;
bug appeared in 0.1.26.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÔËÁÚÏÕÓÔÏÊÞÉ×ÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ × FastCGI ÍÏÇ
ÐÒÏÉÓÈÏÄÉÔØ segmentation fault.
</para>
<para lang="en">
the segmentation fault may occurred in FastCGI fault tolerance configuration.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á expires ÎÅ ÕÄÁÌÑÌÁ ÕÖÅ ÕÓÔÁÎÏ×ÌÅÎÎÙÅ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ
"Expires" É "Cache-Control".
</para>
<para lang="en">
the "expires" directive did not remove the previous "Expires" and
"Cache-Control" headers.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÕÞÉÔÙ×ÁÌ ÚÁ×ÅÒÛÁÀÝÕÀ ÔÏÞËÕ × ÓÔÒÏËÅ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ "Host".
</para>
<para lang="en">
nginx did not take into account trailing dot in "Host" header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_auth_module ÎÅ ÒÁÂÏÔÁÌ ÎÁ Linux.
</para>
<para lang="en">
the ngx_http_auth_module did not work under Linux.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á rewrite ÎÅ×ÅÒÎÏ ÒÁÂÏÔÁÌÁ, ÅÓÌÉ × ÚÁÐÒÏÓÅ ÐÒÉÓÕÔÓÔ×Ï×ÁÌÉ ÁÒÇÕÍÅÎÔÙ.
</para>
<para lang="en">
the rewrite directive worked incorrectly, if the arguments were in a request.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ MacOS X.
</para>
<para lang="en">
nginx could not be built on MacOS X.
</para>
</change>
</changes>
<changes ver="0.1.28" date="08.04.2005">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÂÏÌØÛÉÈ ÆÁÊÌÏ× nginx ÓÉÌØÎÏ ÎÁÇÒÕÖÁÌ ÐÒÏÃÅÓÓÏÒ.
</para>
<para lang="en">
nginx hogs CPU while proxing the huge files.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ gcc 4.0 ÎÁ Linux.
</para>
<para lang="en">
nginx could not be built by gcc 4.0 on Linux.
</para>
</change>
</changes>
<changes ver="0.1.27" date="28.03.2005">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ blocked × ÄÉÒÅËÔÉ×Å valid_referers.
</para>
<para lang="en">
the "blocked" parameter of the "valid_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="change">
<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>