blob: 919388baf4c9653228ece34e1d067cce30c779a1 [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.7.69" date="19.07.2011">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÜÛÉÒÏ×ÁÎÉÑ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ Lanshun Zhou.
</para>
<para lang="en">
a segmentation fault might occur in a worker process,
if a caching was used.<br/>
Thanks to Lanshun Zhou.
</para>
</change>
</changes>
<changes ver="0.7.68" date="14.12.2010">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÌÑ ÐÁÒÙ IPv6-ÁÄÒÅÓ:ÐÏÒÔ ÏÐÉÓÁÎ ÔÏÌØËÏ ÏÄÉÎ ÓÅÒ×ÅÒ, ÔÏ ×ÙÄÅÌÅÎÉÑ
× ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ÄÉÒÅËÔÉ×Å server_name ÎÅ ÒÁÂÏÔÁÌÉ.
</para>
<para lang="en">
if there was a single server for given IPv6 address:port pair,
then captures in regular expressions in a "server_name" directive did not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù auth_basic
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ íÉÈÁÉÌÕ ìÁÌÅÔÉÎÕ.
</para>
<para lang="en">
a segmentation fault might occur in a worker process,
if the "auth_basic" directive was used.<br/>
Thanks to Michail Laletin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔ×ÅÔ SSI ÍÏÄÕÌÑ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ ÐÏÓÌÅ ËÏÍÁÎÄÙ include
Ó ÐÁÒÁÍÅÔÒÏÍ wait="yes";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25. <br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
SSI response might be truncated after include with wait="yes";
the bug had appeared in 0.7.25.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á sub_filter ÍÏÇÌÁ ÉÚÍÅÎÑÔØ ÒÅÇÉÓÔÒ ÂÕË× ÐÒÉ ÞÁÓÔÉÞÎÏÍ ÓÏ×ÐÁÄÅÎÉÉ.
</para>
<para lang="en">
the "sub_filter" directive might change character case on partial match.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÓÞÉÔÁÌ ÂÏÌØÛÉÅ ÐÁËÅÔÙ SSLv2 ËÁË ÏÂÙÞÎÙÅ ÔÅËÓÔÏ×ÙÅ ÚÁÐÒÏÓÙ.<br/>
óÐÁÓÉÂÏ Miroslaw Jaworski.
</para>
<para lang="en">
nginx treated large SSLv2 packets as plain requests.<br/>
Thanks to Miroslaw Jaworski.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÍÏÇ ÚÁËÒÙ×ÁÔØ IPv6 listen ÓÏËÅÔ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
nginx might close IPv6 listen socket during reconfiguration.<br/>
Thanks to Maxim Dounin.
</para>
</change>
</changes>
<changes ver="0.7.67" date="15.06.2010">
<change type="security">
<para lang="ru">
ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ nginx/Windows ÍÏÇ ÚÁ×ÅÒÛÁÔØÓÑ Á×ÁÒÉÊÎÏ ÐÒÉ ÚÁÐÒÏÓÅ ÆÁÊÌÁ
Ó ÎÅ×ÅÒÎÏÊ ËÏÄÉÒÏ×ËÏÊ UTF-8.
</para>
<para lang="en">
nginx/Windows worker might be terminated abnormally if a requested file name
has invalid UTF-8 encoding.
</para>
</change>
</changes>
<changes ver="0.7.66" date="07.06.2010">
<change type="security">
<para lang="ru">
ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ÉÍÑ ÐÏÔÏËÁ ÆÁÊÌÁ ÐÏ ÕÍÏÌÞÁÎÉÀ.<br/>
óÐÁÓÉÂÏ Jose Antonio Vazquez Gonzalez.
</para>
<para lang="en">
now nginx/Windows ignores default file stream name.<br/>
Thanks to Jose Antonio Vazquez Gonzalez.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ charset-ÆÉÌØÔÒ ÒÁÂÏÔÁÅÔ ÄÏ SSI-ÆÉÌØÔÒÁ.
</para>
<para lang="en">
now the charset filter runs before the SSI filter.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ × ÌÏÇ ÏÛÉÂÏË ÎÅ ÐÉÛÅÔÓÑ ÓÏÏÂÝÅÎÉÅ, ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ ÎÅ ÎÁÊÄÅÎÁ
Ó ÐÏÍÏÝØÀ ÍÅÔÏÄÁ $r->variable().
</para>
<para lang="en">
now no message is written in an error log if a variable is not found by
$r->variable() method.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ keepalive ÓÏÅÄÉÎÅÎÉÑ ÐÏÓÌÅ ÚÁÐÒÏÓÏ× POST ÎÅ ÚÁÐÒÅÝÁÀÔÓÑ ÄÌÑ
MSIE 7.0+.<br/>
óÐÁÓÉÂÏ Adam Lounds.
</para>
<para lang="en">
now keepalive connections after POST requests are not disabled for
MSIE 7.0+.<br/>
Thanks to Adam Lounds.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_no_cache É fastcgi_no_cache.
</para>
<para lang="en">
the "proxy_no_cache" and "fastcgi_no_cache" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $scheme × ÄÉÒÅËÔÉ×Å rewrite
Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÅÌÁÅÔÓÑ ÒÅÄÉÒÅËÔ.<br/>
óÐÁÓÉÂÏ Piotr Sikora.
</para>
<para lang="en">
now the "rewrite" directive does a redirect automatically
if the $scheme variable is used.<br/>
Thanks to Piotr Sikora.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á chunked_transfer_encoding.
</para>
<para lang="en">
the "chunked_transfer_encoding" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ $geoip_city_continent_code, $geoip_latitude É $geoip_longitude.<br/>
óÐÁÓÉÂÏ Arvind Sundararajan.
</para>
<para lang="en">
the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude
variables.<br/>
Thanks to Arvind Sundararajan.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_image_filter_module ÔÅÐÅÒØ ×ÓÅÇÄÁ ÕÄÁÌÑÅÔ
EXIF É ÄÒÕÇÉÅ ÄÁÎÎÙÅ, ÅÓÌÉ ÏÎÉ ÚÁÎÉÍÁÀÔ ÂÏÌØÛÅ 5% × JPEG-ÆÁÊÌÅ.
</para>
<para lang="en">
now the ngx_http_image_filter_module deletes always EXIF and other
application specific data if the data consume more than 5% of a JPEG file.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á msie_padding ÒÁÂÏÔÁÅÔ É ÄÌÑ Chrome.
</para>
<para lang="en">
now the "msie_padding" directive works for Chrome too.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÔÅÐÅÒØ keepalive ÓÏÅÄÉÎÅÎÉÑ ÚÁÐÒÅÝÅÎÙ ÄÌÑ Safari.<br/>
óÐÁÓÉÂÏ Joshua Sierles.
</para>
<para lang="en">
now keepalive connections are disabled for Safari.<br/>
Thanks to Joshua Sierles.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÉÇÎÏÒÉÒÏ×ÁÌ ÚÎÁÞÅÎÉÑ "private" É "no-store" × ÓÔÒÏËÅ "Cache-Control"
× ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
nginx ignored the "private" and "no-store" values
in the "Cache-Control" backend response header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÉÍ×ÏÌ "&amp;" ÐÒÉ ËÏÐÉÒÏ×ÁÎÉÉ × ÁÒÇÕÍÅÎÔÙ × ÐÒÁ×ÉÌÁÈ rewrite ÎÅ ÜËÒÁÎÉÒÏ×ÁÌÓÑ.
</para>
<para lang="en">
an "&amp;" character was not escaped when it was copied in arguments part
in a rewrite rule.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÍÏÇ ÚÁ×ÅÒÛÁÔØÓÑ Á×ÁÒÉÊÎÏ ×Ï ×ÒÅÍÑ ÏÂÒÁÂÏÔËÉ ÓÉÇÎÁÌÁ ÉÌÉ
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù timer_resolution ÎÁ ÐÌÁÔÆÏÒÍÁÈ,
ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÍÅÔÏÄÙ kqueue ÉÌÉ eventport.<br/>
óÐÁÓÉÂÏ George Xie É íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
nginx might be terminated abnormally
while a signal processing or if the directive "timer_resolution" was used
on platforms which do not support kqueue or eventport notification methods.<br/>
Thanks to George Xie and Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ É ÐÏÓÔÏÑÎÎÏÅ ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ ÒÁÓÐÏÌÁÇÁÌÉÓØ ÎÁ ÒÁÚÎÙÈ
ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ, ÔÏ Õ ÐÏÓÔÏÑÎÎÙÈ ÆÁÊÌÏ× ×ÒÅÍÑ ÉÚÍÅÎÅÎÉÑ ÂÙÌÏ ÎÅ×ÅÒÎÙÍ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
if temporary files and permanent storage area resided at different
file systems, then permanent file modification times were incorrect.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_memcached_module ÍÏÇ ×ÙÄÁ×ÁÔØ ÏÛÉÂËÕ "memcached sent invalid
trailer".<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
ngx_http_memcached_module might issue the error message "memcached sent invalid
trailer".<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÍÏÇ ÓÏÂÒÁÔØ ÂÉÂÌÉÏÔÅËÕ zlib-1.2.4 ÉÚ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
nginx could not built zlib-1.2.4 library using the library sources.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ SSI × ÐÏÄÚÁÐÒÏÓÁÈ ÉÓÐÏÌØÚÏ×ÁÌ ÚÁËÜÛÉÒÏ×ÁÎÎÙÅ × ÏÓÎÏ×ÎÏÍ ÚÁÐÒÏÓÅ
ÚÎÁÞÅÎÉÑ ÐÅÒÅÍÅÎÎÙÈ $query_string, $arg_... É ÉÍ ÐÏÄÏÂÎÙÈ.
</para>
<para lang="en">
values of the $query_string, $arg_..., etc. variables cached in main
request were used by the SSI module in subrequests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ HTTPS-ÒÅÆÅÒÅÒÙ.
</para>
<para lang="en">
nginx did not support HTTPS referrers.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx/Windows ÍÏÇ ÎÅ ÎÁÈÏÄÉÔØ ÆÁÊÌÙ, ÅÓÌÉ ÐÕÔØ × ËÏÎÆÉÇÕÒÁÃÉÉ ÂÙÌ ÚÁÄÁÎ
× ÄÒÕÇÏÍ ÒÅÇÉÓÔÒÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.65.
</para>
<para lang="en">
nginx/Windows might not find file if path in configuration was given
in other character case;
the bug had appeared in 0.7.65.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $date_local ×ÙÄÁ×ÁÌÁ ÎÅ×ÅÒÎÏÅ ×ÒÅÍÑ,
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÆÏÒÍÁÔ "%s".<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the $date_local variable has an incorrect value,
if the "%s" format was used.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ×ÓÅ ÛÉÆÒÙ, ÉÓÐÏÌØÚÕÅÍÙÅ × ËÌÉÅÎÔÓËÉÈ ÓÅÒÔÉÆÉËÁÔÁÈ.<br/>
óÐÁÓÉÂÏ éÎÎÏËÅÎÔÉÀ åÎÉËÅÅ×Õ.
</para>
<para lang="en">
nginx did not support all ciphers and digests used in client certificates.<br/>
Thanks to Innocenty Enikeew.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ssl_session_cache ÎÅ ÂÙÌ ÕÓÔÁÎÏ×ÌÅÎ ÉÌÉ ÕÓÔÁÎÏ×ÌÅÎ × none,
ÔÏ ÐÒÉ ÐÒÏ×ÅÒËÅ ËÌÉÅÎÔÓËÏÇÏ ÓÅÒÔÉÆÉËÁÔÙ ÍÏÇÌÁ ÐÒÏÉÓÈÏÄÉÔØ
ÏÛÉÂËÁ "session id context uninitialized";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.1.
</para>
<para lang="en">
if ssl_session_cache was not set or was set to "none",
then during client certificate verify
the error "session id context uninitialized" might occur;
the bug had appeared in 0.7.1.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó OpenSSL-1.0.0 ÎÁ 64-ÂÉÔÎÏÍ Linux.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
geo-ÄÉÁÐÁÚÏÎ ×ÏÚ×ÒÁÝÁÌ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ ÄÉÁÐÁÚÏÎ ×ËÌÀÞÁÌ
× ÓÅÂÑ ÏÄÎÕ É ÂÏÌÅÅ ÓÅÔÅÊ ÒÁÚÍÅÒÏÍ /16 É ÎÅ ÎÁÞÉÎÁÌÓÑ ÎÁ ÇÒÁÎÉÃÅ ÓÅÔÉ
ÒÁÚÍÅÒÏÍ /16.
</para>
<para lang="en">
a geo range returned default value if the range included two or more
/16 networks and did not begin at /16 network boundary.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÕÀ $uid_got ÎÅÌØÚÑ ÂÙÌÏ ÉÓÐÏÌØÚÏ×ÁÔØ × SSI É ÐÅÒÌÏ×ÏÍ ÍÏÄÕÌÑÈ.
</para>
<para lang="en">
the $uid_got variable might not be used in the SSI and perl modules.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÚÁ×ÉÓÁÌ ÐÒÉ ÚÁÐÒÏÓÅ ÆÁÊÌÁ FIFO.<br/>
óÐÁÓÉÂÏ Vicente Aguilar É íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
a worker process hung if a FIFO file was requested.<br/>
Thanks to Vicente Aguilar and Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ ÐÏ×ÔÏÒÎÏ ÜËÒÁÎÉÒÏ×ÁÌÏÓØ ÐÏÓÌÅ ËÁÖÄÏÇÏ ×Ù×ÏÄÁ
SSI-ËÏÍÁÎÄÙ echo;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.14.
</para>
<para lang="en">
a variable value was repeatedly encoded after each
an "echo" SSI-command output;
the bug had appeared in 0.6.14.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒ stub × SSI-ÄÉÒÅËÔÉ×Å include ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ,
ÅÓÌÉ ÐÕÓÔÏÊ ÏÔ×ÅÔ ÉÍÅÌ ËÏÄ 200.
</para>
<para lang="en">
a "stub" parameter of an "include" SSI directive was not used,
if empty response has 200 status code.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÌÏË, ÉÓÐÏÌØÚÕÅÍÙÊ × ÐÁÒÁÍÅÔÒÅ stub × SSI-ÄÉÒÅËÔÉ×Å include,
×Ù×ÏÄÉÌÓÑ Ó MIME-ÔÉÐÏÍ "text/plain".
</para>
<para lang="en">
a block used in a "stub" parameter of an "include" SSI directive
was output with "text/plain" MIME type.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI ÚÁÐÒÏÓ ×ÎÕÔÒÅÎÎÅ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÓÑ
× ÄÒÕÇÏÊ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI location,
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.65.<br/>
óÐÁÓÉÂÏ Yichun Zhang.
</para>
<para lang="en">
if a proxied or FastCGI request was internally redirected
to another proxied or FastCGI location,
then a segmentation fault might occur in a worker process;
the bug had appeared in 0.7.65.<br/>
Thanks to Yichun Zhang.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏÅÄÉÎÅÎÉÑ IMAP Ë ÓÅÒ×ÅÒÕ Zimbra ÍÏÇÌÏ ÚÁ×ÉÓÎÕÔØ ÄÏ ÔÁÊÍÁÕÔÁ.<br/>
óÐÁÓÉÂÏ Alan Batie.
</para>
<para lang="en">
IMAP connections may hang until they timed out
while talking to Zimbra server.<br/>
Thanks to Alan Batie.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÐÅÒÅÄÁÞÕ chunk'ÁÍÉ ÄÌÑ 201-ÙÈ ÏÔ×ÅÔÏ×.<br/>
óÐÁÓÉÂÏ Julian Reich.
</para>
<para lang="en">
nginx did not support chunked transfer encoding for 201 responses.<br/>
Thanks to Julian Reich.
</para>
</change>
</changes>
<changes ver="0.7.65" date="01.02.2010">
<change type="security">
<para lang="ru">
ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ÐÒÏÂÅÌÙ × ËÏÎÃÅ URI. <br/>
óÐÁÓÉÂÏ Dan Crowley, Core Security Technologies.
</para>
<para lang="en">
now nginx/Windows ignores trailing spaces in URI.<br/>
Thanks to Dan Crowley, Core Security Technologies.
</para>
</change>
<change type="security">
<para lang="ru">
ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ËÏÒÏÔËÉÅ ÉÍÅÎÁ ÆÁÊÌÏ×. <br/>
óÐÁÓÉÂÏ Dan Crowley, Core Security Technologies.
</para>
<para lang="en">
now nginx/Windows ignores short files names.<br/>
Thanks to Dan Crowley, Core Security Technologies.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÌÑ ÐÒÏËÓÉÒÕÅÍÙÈ ÏÔ×ÅÔÏ× HTTP/0.9 × ÌÏÇ ÐÉÛÅÔÓÑ ËÏÄ ÏÔ×ÅÔÁ "009".
</para>
<para lang="en">
now the "009" status code is written to an access log for proxied HTTP/0.9
responses.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁÚÍÅÒ ÂÕÆÅÒÁ ÄÉÒÅËÔÉ×Ù large_client_header_buffers
ÒÁ×ÅÎ 8K.<br/>
óÐÁÓÉÂÏ Andrew Cholakian.
</para>
<para lang="en">
now the default buffer size of the "large_client_header_buffers"
directive is 8K.<br/>
Thanks to Andrew Cholakian.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ÛÉÆÒÙ SSL: "HIGH:!ADH:!MD5".
</para>
<para lang="en">
now default SSL ciphers are "HIGH:!ADH:!MD5".
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÏÔÏËÏÌ SSLv2 ÐÏ ÕÍÏÌÞÁÎÉÀ ÚÁÐÒÅÝ£Î.
</para>
<para lang="en">
now SSLv2 protocol is disabled by default.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $host ×ÓÅÇÄÁ × ÎÉÖÎÅÍ ÒÅÇÉÓÔÒÅ.
</para>
<para lang="en">
now $host variable value is always low case.
</para>
</change>
<change type="feature">
<para lang="ru">
ÆÁÊÌ conf/fastcgi.conf ÄÌÑ ÐÒÏÓÔÙÈ ËÏÎÆÉÇÕÒÁÃÉÊ FastCGI.
</para>
<para lang="en">
the conf/fastcgi.conf for simple FastCGI configurations.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å proxy_pass ÎÅ ÔÒÅÂÕÅÔÓÑ
ÚÁÄÁ×ÁÔØ URI.
</para>
<para lang="en">
now URI part is not required a "proxy_pass" directive if variables are used.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $ssl_session_id.
</para>
<para lang="en">
the $ssl_session_id variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI ÚÁÐÒÏÓ ×ÎÕÔÒÅÎÎÅ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÓÑ
× ÄÒÕÇÏÊ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI location, ÔÏ ÐÅÒÅÍÅÎÎÁÑ
$upstream_response_time ÍÏÇÌÁ ÉÍÅÔØ ÎÅÎÏÒÍÁÌØÎÏ ÂÏÌØÛÏÅ ÚÎÁÞÅÎÉÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.63.
</para>
<para lang="en">
if a proxied or FastCGI request was internally redirected
to another proxied or FastCGI location,
then $upstream_response_time variable may have abnormally large value;
the bug had appeared in 0.7.63.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÉÒÅËÔÉ×Á "expires modified" ×ÙÓÔÁ×ÌÑÌÁ ÄÁÔÕ × ÐÒÏÛÌÏÍ, ÔÏ × ÓÔÒÏËÅ
ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ "Cache-Control" ×ÙÄÁ×ÁÌÏÓØ ÏÔÒÉÃÁÔÅÌØÎÏÅ ÞÉÓÌÏ.<br/>
óÐÁÓÉÂÏ áÌÅËÓÅÀ ëÁÐÒÁÎÏ×Õ.
</para>
<para lang="en">
if the "expires modified" set date in the past, then a negative number
was set in the "Cache-Control" response header line.<br/>
Thanks to Alex Kapranoff.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÅ ÐÒÉ ÚÁÐÒÏÓÅ ÚÁËÜÛÉÒÏ×ÁÎÎÏÇÏ
ÏÔ×ÅÔÁ Ó ÐÕÓÔÙÍ ÔÅÌÏÍ.<br/>
óÐÁÓÉÂÏ Piotr Sikora.
</para>
<para lang="en">
nginx closed a connection if a cached response had an empty body.<br/>
Thanks to Piotr Sikora.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ËÜÛÉÒÏ×ÁÌ 304 ÏÔ×ÅÔ, ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÐÒÏËÓÉÒÕÅÍÏÇÏ ÚÁÐÒÏÓÁ
ÂÙÌÁ ÓÔÒÏËÁ "If-None-Match".<br/>
óÐÁÓÉÂÏ Tim Dettrick É David Kostal.
</para>
<para lang="en">
nginx cached a 304 response if there was the "If-None-Match" header line
in a proxied request.<br/>
Thanks to Tim Dettrick and David Kostal.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÞÉÔÁÌ ÚÁÐÑÔÕÀ ÒÁÚÄÅÌÉÔÅÌÅÍ × ÓÔÒÏËÅ "Cache-Control" × ÓÔÒÏËÅ
ÚÁÇÏÌÏ×ËÁ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
nginx did not treat a comma as separator in the "Cache-Control" backend response
header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÚÁËÜÛÉÒÏ×ÁÎÎÙÅ ÏÔ×ÅÔÙ ÏÔ×ÅÔÏ× HTTP/0.9 ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ.
</para>
<para lang="en">
cached HTTP/0.9 responses were handled incorrectly.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÐÅÒÅÄÁ×ÁÌ ÓÖÁÔÙÅ ÏÔ×ÅÔÙ ËÌÉÅÎÔÁÍ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÍ ÓÖÁÔÉÅ,
ÐÒÉ ÎÁÓÔÒÏÊËÁÈ gzip_static on É gzip_vary off;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.16.
</para>
<para lang="en">
nginx sent gzipped responses to clients those do not support gzip,
if "gzip_static on" and "gzip_vary off";
the bug had appeared in 0.8.16.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ×ÓÅÇÄÁ ÄÏÂÁ×ÌÑÌ ÓÔÒÏËÕ "Content-Encoding: gzip" × ÚÁÇÏÌÏ×ÏË
304-ÙÈ ÏÔ×ÅÔÏ× ÍÏÄÕÌÑ ngx_http_gzip_static_module.
</para>
<para lang="en">
nginx always added "Content-Encoding: gzip" response header line
in 304 responses sent by ngx_http_gzip_static_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÐÅÒÁÔÏÒ "!-x" ÎÅ ÒÁÂÏÔÁÌ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the "!-x" operator did not work.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ limit_rate × HTTPS ÓÅÒ×ÅÒÅ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
a segmentation fault might occur in a worker process,
if limit_rate was used in HTTPS server.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÚÁÐÉÓÉ × ÌÏÇ ÐÅÒÅÍÅÎÎÏÊ $limit_rate
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
a segmentation fault might occur in a worker process
while $limit_rate logging.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÄÁÔÙ × 2038 ÇÏÄÕ ÎÁ 32-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ;
</para>
<para lang="en">
nginx did not support dates in 2038 year on 32-bit platforms;
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx/Windows ÐÙÔÁÌÓÑ Ä×ÁÖÄÙ ÕÄÁÌÉÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ
ÐÒÉ ÐÅÒÅÚÁÐÉÓÉ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÆÁÊÌÁ.
</para>
<para lang="en">
nginx/Windows tried to delete a temporary file twice
if the file should replace an already existent file.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx/Windows ÐÙÔÁÌÓÑ Ä×ÁÖÄÙ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ
ÐÒÉ ÐÅÒÅÚÁÐÉÓÉ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÆÁÊÌÁ.
</para>
<para lang="en">
nginx/Windows tried to rename a temporary file twice if the file
should replace an already existent file.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx/Windows ÍÏÇ ÎÅ ÓÏÚÄÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ, ÆÁÊÌ × ËÜÛÅ ÉÌÉ ÆÁÊÌ
Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ× proxy/fastcgi_store, ÅÓÌÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÎÅ ÉÍÅÌ
ÄÏÓÔÁÔÏÞÎÏ ÐÒÁ× ÄÌÑ ÒÁÂÏÔÙ Ó ËÁÔÁÌÏÇÁÍÉ ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ.
</para>
<para lang="en">
nginx/Windows might not create temporary file, a cache file, or
"proxy/fastcgi_store"d file if a worker had no enough access rights
for top level directories.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÏÄÄÅÒÖËÅ ËÏÄÉÒÏ×ËÉ UTF-8 ÄÉÒÅËÔÉ×ÏÊ try_files × nginx/Windows.
</para>
<para lang="en">
in UTF-8 encoding support by "try_files" directive in nginx/Windows.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÏÄÉÒÏ×ËÉ UTF-8 × ngx_http_autoindex_module.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
UTF-8 encoding usage in the ngx_http_autoindex_module.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏËÁÚÙ×ÁÌ ÐÏÓÌÅÄÎÉÊ ÓÌÜÛ ÄÌÑ ÌÉÎËÏ×
ÎÁ ËÁÔÁÌÏÇÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.15.
</para>
<para lang="en">
the ngx_http_autoindex_module did not show the trailing slash in links to
a directory;
the bug had appeared in 0.7.15.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÚÁËÒÙ×ÁÌ ÌÏÇ, ÚÁÄÁÎÎÙÊ ÐÁÒÁÍÅÔÒÏÍ ËÏÎÆÉÇÕÒÁÃÉÉ --error-log-path;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.53.
</para>
<para lang="en">
nginx did not close a log file set by the --error-log-path configuration option;
the bug had appeared in 0.7.53.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á "addition_types" ÂÙÌÁ ÎÅ×ÅÒÎÏ ÎÁÚ×ÁÎÁ "addtion_types".
</para>
<para lang="en">
"addition_types" directive was incorrectly named "addtion_types".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ ÚÁÐÒÏÓÁ × ÐÅÒÅÍÅÎÎÏÊ $request ÚÁÐÉÓÙ×ÁÌÁÓØ × access_log
ÔÏÌØËÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ error_log ÎÁ ÕÒÏ×ÎÅ info ÉÌÉ debug.
</para>
<para lang="en">
invalid request line in $request variable was written in access_log
only if error_log was set to "info" or "debug" level.
</para>
</change>
</changes>
<changes ver="0.7.64" date="16.11.2009">
<change type="security">
<para lang="ru">
ÔÅÐÅÒØ SSL/TLS renegotiation ÚÁÐÒÅÝ£Î.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
now SSL/TLS renegotiation is disabled.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÐÅÒÅÄÁ×ÁÌ ÓÖÁÔÙÅ ÏÔ×ÅÔÙ ËÌÉÅÎÔÁÍ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÍ ÓÖÁÔÉÅ,
ÐÒÉ ÎÁÓÔÒÏÊËÁÈ gzip_static on É gzip_vary off;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.63.
</para>
<para lang="en">
nginx sent gzipped responses to clients those do not support gzip,
if "gzip_static on" and "gzip_vary off";
the bug had appeared in 0.7.63.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÙÌÉ ÏÐÉÓÁÎÙ ÉÍÅÎÁ .domain.tld, .sub.domain.tld É .domain-some.tld,
ÔÏ ÉÍÑ .sub.domain.tld ÐÏÐÁÄÁÌÏ ÐÏÄ ÍÁÓËÕ .domain.tld.
</para>
<para lang="en">
if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined,
then the name .sub.domain.tld was matched by .domain.tld.
</para>
</change>
<change type="bugfix">
<para lang="ru">
segmentation fault É ÚÁÃÉËÌÉ×ÁÎÉÑ × resolver'Å.
</para>
<para lang="en">
segmentation fault and infinite looping in resolver.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× resolver'Å.<br/>
óÐÁÓÉÂÏ áÒÔ£ÍÕ âÏÈÁÎÕ.
</para>
<para lang="en">
in resolver.<br/>
Thanks to Artem Bokhan.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏÒÞÉ ËÜÛÁ resolver'Á.<br/>
óÐÁÓÉÂÏ Matthew Dempsky.
</para>
<para lang="en">
resolver cache poisoning.<br/>
Thanks to Matthew Dempsky.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞËÉ ÐÁÍÑÔÉ × resolver'Å.<br/>
óÐÁÓÉÂÏ Matthew Dempsky.
</para>
<para lang="en">
memory leak in resolver.<br/>
Thanks to Matthew Dempsky.
</para>
</change>
</changes>
<changes ver="0.7.63" date="26.10.2009">
<change type="security">
<para lang="ru">
ÔÅÐÅÒØ ÓÉÍ×ÏÌÙ "/../" ÚÁÐÒÅÝÅÎÙ × ÓÔÒÏËÅ "Destination" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
now "/../" are disabled in "Destination" request header line.
</para>
</change>
<change type="change">
<para lang="ru">
ÍÉÎÉÍÁÌØÎÁÑ ÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ ×ÅÒÓÉÑ OpenSSL&mdash;0.9.7.
</para>
<para lang="en">
minimum supported OpenSSL version is 0.9.7.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ask ÄÉÒÅËÔÉ×Ù ssl_verify_client ÉÚÍÅΣΠÎÁ ÐÁÒÁÍÅÔÒ optional
É ÔÅÐÅÒØ ÏÎ ÐÒÏ×ÅÒÑÅÔ ËÌÉÅÎÔÓËÉÊ ÓÅÒÔÉÆÉËÁÔ, ÅÓÌÉ ÏÎ ÂÙÌ ÐÒÅÄÌÏÖÅÎ.<br/>
óÐÁÓÉÂÏ Brice Figureau.
</para>
<para lang="en">
the "ask" parameter of the "ssl_verify_client" directive was changed
to the "optional" parameter and now it checks a client certificate if it was
offered.<br/>
Thanks to Brice Figureau.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ËÌÀÞ -V ÐÏËÁÚÙ×ÁÅÔ ÓÔÁÔÕÓ ÐÏÄÄÅÒÖËÉ TLS SNI.
</para>
<para lang="en">
now the "-V" switch shows TLS SNI support.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $ssl_client_verify.<br/>
óÐÁÓÉÂÏ Brice Figureau.
</para>
<para lang="en">
the $ssl_client_verify variable.<br/>
Thanks to Brice Figureau.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_crl.<br/>
óÐÁÓÉÂÏ Brice Figureau.
</para>
<para lang="en">
the "ssl_crl" directive.<br/>
Thanks to Brice Figureau.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $ssl_client_cert ÐÏÒÔÉÌÏ ÐÁÍÑÔØ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.7.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ öÕÒÁ×Ì£×Õ.
</para>
<para lang="en">
the $ssl_client_cert variable usage corrupted memory;
the bug had appeared in 0.7.7.<br/>
Thanks to Sergey Zhuravlev.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÓÔÁÒÔÏ×ÙÊ ÚÁÇÒÕÚÞÉË ËÜÛÁ ÒÁÂÏÔÁÅÔ × ÏÔÄÅÌØÎÏÍ ÐÒÏÃÅÓÓ;
ÜÔÏ ÄÏÌÖÎÏ ÕÌÕÞÛÉÔØ ÏÂÒÁÂÏÔËÕ ÂÏÌØÛÉÈ ËÜÛÅÊ.
</para>
<para lang="en">
now the start cache loader runs in a separate process;
this should improve large caches handling.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ É ÐÏÓÔÏÑÎÎÏÅ ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ ÍÏÇÕÔ ÒÁÓÐÏÌÁÇÁÔØÓÑ
ÎÁ ÒÁÚÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ.
</para>
<para lang="en">
now temporary files and permanent storage area may reside at
different file systems.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ×ÅÒÎÏ ÓÞÉÔÁÌ ÒÁÚÍÅÒ ËÜÛÁ ÎÁ ÄÉÓËÅ.
</para>
<para lang="en">
nginx counted incorrectly disk cache size.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á "gzip_disable msie6" ÎÅ ÚÁÐÒÅÝÁÅÔ ÓÖÁÔÉÅ ÄÌÑ
<nobr>MSIE 6.0 SV1.</nobr>
</para>
<para lang="en">
now directive "gzip_disable msie6" does not disable gzipping for
<nobr>MSIE 6.0 SV1.</nobr>
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ×ÓÅÇÄÁ ÄÏÂÁ×ÌÑÌ ÓÔÒÏËÕ "Vary: Accept-Encoding" × ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ,
ÅÓÌÉ ÏÂÅ ÄÉÒÅËÔÉ×Ù gzip_static É gzip_vary ÂÙÌÉ ×ËÌÀÞÅÎÙ.
</para>
<para lang="en">
nginx always added "Vary: Accept-Encoding" response header line,
if both "gzip_static" and "gzip_vary" were on.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ proxy ÄÉÒÅËÔÉ×Ù geo.
</para>
<para lang="en">
the "proxy" parameter of the "geo" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_geoip_module.
</para>
<para lang="en">
the ngx_http_geoip_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á limit_rate_after.<br/>
óÐÁÓÉÂÏ Ivan Debnar.
</para>
<para lang="en">
the "limit_rate_after" directive.<br/>
Thanks to Ivan Debnar.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù limit_req_log_level É limit_conn_log_level.
</para>
<para lang="en">
the "limit_req_log_level" and "limit_conn_log_level" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á limit_req ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÁÌÇÏÒÉÔÍÕ leaky bucket.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
now "limit_req" directive conforms to the leaky bucket algorithm.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÍÏÄÕÌÅ ngx_http_limit_req_module.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
in ngx_http_limit_req_module.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ nginx ÒÁÚÒÅÛÁÅÔ ÐÏÄÞ£ÒËÉ×ÁÎÉÑ × ÍÅÔÏÄÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
now nginx allows underscores in a request method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_pass_header É fastcgi_pass_header" ÎÅ ÐÅÒÅÄÁ×ÁÌÉ ËÌÉÅÎÔÕ
ÓÔÒÏËÉ "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" É
"X-Accel-Charset" ÉÚ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
"proxy_pass_header" and "fastcgi_pass_header" directives did not pass to
a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering",
and "X-Accel-Charset" lines from backend response header.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÏÂÒÁÂÏÔËÅ ÓÔÒÏË "Last-Modified" É "Accept-Ranges" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
in handling "Last-Modified" and "Accept-Ranges" backend response header lines;
the bug had appeared in 0.7.44.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á image_filter_transparency.
</para>
<para lang="en">
the "image_filter_transparency" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á image_filter ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ ÄÌÑ ÚÁÄÁÎÉÑ ÒÁÚÍÅÒÏ×.
</para>
<para lang="en">
the "image_filter" directive supports variables for setting size.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÏÄÄÅÒÖËÅ ÁÌØÆÁ-ËÁÎÁÌÁ PNG × ÍÏÄÕÌÅ ngx_http_image_filter_module.
</para>
<para lang="en">
in PNG alpha-channel support in the ngx_http_image_filter_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÏÄÄÅÒÖËÅ ÐÒÏÚÒÁÞÎÏÓÔÉ × ÍÏÄÕÌÅ ngx_http_image_filter_module.
</para>
<para lang="en">
in transparency support in the ngx_http_image_filter_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÓËÏÌØËÏ ÄÉÒÅËÔÉ× perl_modules.
</para>
<para lang="en">
now several "perl_modules" directives may be used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔ×ÅÔÙ ÍÏÄÕÌÑ ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌÉ × ÐÏÄÚÁÐÒÏÓÁÈ.
</para>
<para lang="en">
ngx_http_perl_module responses did not work in subrequests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÓÌÁÌ ÓÉÍ×ÏÌ '\0' × ÓÔÒÏËÅ "Location" × ÚÁÇÏÌÏ×ËÅ × ÏÔ×ÅÔÅ ÎÁ ÚÁÐÒÏÓ
MKCOL.<br/>
óÐÁÓÉÂÏ Xie Zhenye.
</para>
<para lang="en">
nginx sent '\0' in a "Location" response header line on MKCOL request.<br/>
Thanks to Xie Zhenye.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á error_page ÎÅ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÁ ÏÛÉÂËÕ 413;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.10.
</para>
<para lang="en">
an "error_page" directive did not redirect a 413 error;
the bug had appeared in 0.6.10.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÏÂÒÁÂÏÔËÅ ÏÛÉÂÏË ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ É ëÉÒÉÌÌÕ ëÏÒÉÎÓËÏÍÕ.
</para>
<para lang="en">
in memory allocation error handling.<br/>
Thanks to Maxim Dounin and Kirill A. Korinskiy.
</para>
</change>
</changes>
<changes ver="0.7.62" date="14.09.2009">
<change type="security">
<para lang="ru">
ÐÒÉ ÏÂÒÁÂÏÔËÅ ÓÐÅÃÉÁÌØÎÏ ÓÏÚÄÁÎÎÏÇÏ ÚÁÐÒÏÓÁ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ Chris Ries.
</para>
<para lang="en">
a segmentation fault might occur in worker process
while specially crafted request handling.<br/>
Thanks to Chris Ries.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $upstream_cache_status.
</para>
<para lang="en">
the $upstream_cache_status variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÓÔÁÒÅ×ÛÉÊ ÚÁËÜÛÉÒÏ×ÁÎÎÙÊ ÚÁÐÒÏÓ ÍÏÇ ÚÁÌÉÐÎÕÔØ × ÓÏÓÔÏÑÎÉÉ "UPDATING".
</para>
<para lang="en">
an expired cached response might stick in the "UPDATING" state.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ error_log ÎÁ ÕÒÏ×ÎÅ info ÉÌÉ debug
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if error_log was set to info or debug level.<br/>
Thanks to Sergey Bochenkov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÏÂÒÁÂÏÔËÅ ÚÁÇÏÌÏ×ËÏ× ÏÔ×ÅÔÁ, ÒÁÚÄÅÌ£ÎÎÙÈ × FastCGI-ÚÁÐÉÓÑÈ.
</para>
<para lang="en">
in handling FastCGI headers split in records.
</para>
</change>
<change type="bugfix">
<para lang="ru">
XSLT-ÆÉÌØÔÒ ÍÏÇ ×ÙÄÁ×ÁÔØ ÏÛÉÂËÕ "not well formed XML document" ÄÌÑ
ÐÒÁ×ÉÌØÎÏÇÏ ÄÏËÕÍÅÎÔÁ.<br/>
óÐÁÓÉÂÏ Kuramoto Eiji.
</para>
<para lang="en">
XSLT filter may fail with message "not well formed XML document"
for valid XML document.<br/>
Thanks to Kuramoto Eiji.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× MacOSX, Cygwin É nginx/Windows ÐÒÉ ÐÒÏ×ÅÒËÅ location'Ï×, ÚÁÄÁÎÎÙÈ
ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ, ÔÅÐÅÒØ ×ÓÅÇÄÁ ÄÅÌÁÅÔÓÑ ÓÒÁ×ÎÅÎÉÅ ÂÅÚ ÕÞ£ÔÁ
ÒÅÇÉÓÔÒÁ ÓÉÍ×ÏÌÏ×.
</para>
<para lang="en">
now in MacOSX, Cygwin, and nginx/Windows locations given by a regular
expression are always tested in case insensitive mode.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ÔÏÞËÉ × ËÏÎÃÅ URI.<br/>
óÐÁÓÉÂÏ Hugo Leisink.
</para>
<para lang="en">
now nginx/Windows ignores trailing dots in URI.<br/>
Thanks to Hugo Leisink.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÍÑ ÆÁÊÌÁ ÕËÁÚÁÎÎÏÇÏ × --conf-path ÉÇÎÏÒÉÒÏ×ÁÌÏÓØ ÐÒÉ ÕÓÔÁÎÏ×ËÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
name of file specified in --conf-path was not honored during installation;
the bug had appeared in 0.6.6.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTP Basic-ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÎÁ Windows
ÄÌÑ ÎÅ×ÅÒÎÙÈ ÉÍÅÎÉ/ÐÁÒÏÌÑ ×ÏÚ×ÒÁÝÁÌÁÓØ 500-ÁÑ ÏÛÉÂËÁ.
</para>
<para lang="en">
a 500 error code was returned for invalid login/password while HTTP
Basic authentication on Windows.
</para>
</change>
</changes>
<changes ver="0.7.61" date="22.06.2009">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ MacOSX 10.6.
</para>
<para lang="en">
nginx could not be built on MacOSX 10.6.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http-cache;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.60.
</para>
<para lang="en">
nginx could not be built --without-http-cache;
the bug had appeared in 0.7.60.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÅÒÅÈ×ÁÔ 401 ÏÛÉÂËÉ ÏÔ ÂÜËÅÎÄÁ É ÂÜËÅÎÄ
ÎÅ ×ÏÚ×ÒÁÝÁÌ ÓÔÒÏËÕ "WWW-Authenticate" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ,
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.<br/>
óÐÁÓÉÂÏ å×ÇÅÎÉÀ íÙÞÌÏ.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if a backend 401 error was intercepted and the backend did not set
the "WWW-Authenticate" response header line.<br/>
Thanks to Eugene Mychlo.
</para>
</change>
</changes>
<changes ver="0.7.60" date="15.06.2009">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ updating × ÄÉÒÅËÔÉ×ÁÈ proxy_cache_use_stale É fastcgi_cache_use_stale.
</para>
<para lang="en">
the "updating" parameter in "proxy_cache_use_stale" and
"fastcgi_cache_use_stale" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á keepalive_requests.
</para>
<para lang="en">
the "keepalive_requests" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×Ï ×ÚÁÉÍÏÄÅÊÓÔ×ÉÉ open_file_cache É proxy/fastcgi ËÜÛÁ ÎÁ ÓÔÁÒÔÅ.
</para>
<para lang="en">
in open_file_cache and proxy/fastcgi cache interaction on start up.
</para>
</change>
<change type="bugfix">
<para lang="ru">
open_file_cache ÍÏÇ ËÜÛÉÒÏ×ÁÔØ ÏÔËÒÙÔÙÅ ÆÁÊÌÙ ÏÞÅÎØ ÄÏÌÇÏ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.4.
</para>
<para lang="en">
open_file_cache might cache open file descriptors too long;
the bug had appeared in 0.7.4.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÔÒÏËÉ "If-Modified-Since", "If-Range" É ÉÍ ÐÏÄÏÂÎÙÅ × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ
ËÌÉÅÎÔÁ ÐÅÒÅÄÁ×ÁÌÉÓØ ÂÜËÅÎÄÕ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ, ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ
ÄÉÒÅËÔÉ×Á proxy_set_header Ó ÌÀÂÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ.
</para>
<para lang="en">
the "If-Modified-Since", "If-Range", etc. client request header lines
were passed to backend while caching if no "proxy_set_header" directive
was used with any parameters.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÔÒÏËÉ "Set-Cookie" É "P3P" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ ÎÅ ÓËÒÙ×ÁÌÉÓØ
ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ, ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÄÉÒÅËÔÉ×Ù
proxy_hide_header/fastcgi_hide_header Ó ÌÀÂÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ.
</para>
<para lang="en">
the "Set-Cookie" and "P3P" response header lines were not hidden while caching
if no "proxy_hide_header/fastcgi_hide_header" directives were used with
any parameters.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_image_filter_module ÎÅ ÐÏÎÉÍÁÌ ÆÏÒÍÁÔ GIF87a.<br/>
óÐÁÓÉÂÏ äÅÎÉÓÕ éÌØÉÎÙÈ.
</para>
<para lang="en">
the ngx_http_image_filter_module did not support GIF87a format.<br/>
Thanks to Denis Ilyinyh.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris 10 É ÂÏÌÅÅ ÒÁÎÎÉÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.56.
</para>
<para lang="en">
nginx could not be built modules on Solaris 10 and early;
the bug had appeared in 0.7.56.
</para>
</change>
<change type="bugfix">
<para lang="ru">
XSLT-ÆÉÌØÔÒ ÎÅ ÒÁÂÏÔÁÌ × ÐÏÄÚÁÐÒÏÓÁÈ.
</para>
<para lang="en">
XLST filter did not work in subrequests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÂÒÁÂÏÔËÅ ÏÔÎÏÓÉÔÅÌØÎÙÈ ÐÕÔÅÊ × nginx/Windows.
</para>
<para lang="en">
in relative paths handling in nginx/Windows.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× proxy_store, fastcgi_store, proxy_cache É fastcgi_cache × nginx/Windows.
</para>
<para lang="en">
in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows.
</para>
</change>
</changes>
<!-- 0.8.x branch -->
<changes ver="0.7.59" date="25.05.2009">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_cache_methods É fastcgi_cache_methods.
</para>
<para lang="en">
the "proxy_cache_methods" and "fastcgi_cache_methods" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞËÉ ÓÏËÅÔÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
socket leak;
the bug had appeared in 0.7.25.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $request_body
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault,
ÅÓÌÉ × ÚÁÐÒÏÓÅ ÎÅ ÂÙÌÏ ÔÅÌÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.58.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
<nobr>if a request</nobr> had no body and the $request_body
variable was used;<br/>
the bug had appeared in 0.7.58.
</para>
</change>
<change type="bugfix">
<para lang="ru">
SSL-ÍÏÄÕÌÉ ÍÏÇÌÉ ÎÅ ÓÏÂÉÒÁÔØÓÑ ÎÁ Solaris É Linux;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.56.
</para>
<para lang="en">
the SSL modules might not built on Solaris and Linux;<br/>
the bug had appeared in 0.7.56.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔ×ÅÔÙ ÍÏÄÕÌÑ ngx_http_xslt_filter_module ÎÅ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ
SSI-, charset- É gzip-ÆÉÌØÔÒÁÍÉ.
</para>
<para lang="en">
ngx_http_xslt_filter_module responses were not handled by SSI, charset,
and gzip filters.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á charset ÎÅ ÓÔÁ×ÉÌÁ ËÏÄÉÒÏ×ËÕ ÄÌÑ ÏÔ×ÅÔÏ× ÍÏÄÕÌÑ
ngx_http_gzip_static_module.
</para>
<para lang="en">
a "charset" directive did not set a charset to ngx_http_gzip_static_module
responses.
</para>
</change>
</changes>
<changes ver="0.7.58" date="18.05.2009">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á listen ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ ÐÏÄÄÅÒÖÉ×ÁÅÔ IPv6.
</para>
<para lang="en">
a "listen" directive of the mail proxy module supports IPv6.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á image_filter_jpeg_quality.
</para>
<para lang="en">
the "image_filter_jpeg_quality" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á client_body_in_single_buffer.
</para>
<para lang="en">
the "client_body_in_single_buffer" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $request_body.
</para>
<para lang="en">
the $request_body variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÍÏÄÕÌÅ ngx_http_autoindex_module × ÓÓÙÌËÁÈ ÎÁ ÉÍÅÎÁ ÆÁÊÌÏ×,
ÓÏÄÅÒÖÁÝÉÈ ÓÉÍ×ÏÌ ":".
</para>
<para lang="en">
in ngx_http_autoindex_module in file name links
having a ":" symbol in the name.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÏÃÅÄÕÒÁ "make upgrade" ÎÅ ÒÁÂÏÔÁÌÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.53.<br/>
óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ.
</para>
<para lang="en">
"make upgrade" procedure did not work;
the bug had appeared in 0.7.53.<br/>
Thanks to Denis F. Latypoff.
</para>
</change>
</changes>
<changes ver="0.7.57" date="12.05.2009">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂÏË ÍÏÄÕÌÑ ngx_http_image_filter_module
× ÉÍÅÎÏ×ÁÎÎÙÊ location × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ floating-point fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.56.
</para>
<para lang="en">
a floating-point fault occurred in worker process,
if the ngx_http_image_filter_module errors were redirected to named location;
the bug had appeared in 0.7.56.
</para>
</change>
</changes>
<changes ver="0.7.56" date="11.05.2009">
<change type="feature">
<para lang="ru">
nginx/Windows ÐÏÄÄÅÒÖÉ×ÁÅÔ IPv6 × ÄÉÒÅËÔÉ×Å listen ÍÏÄÕÌÑ HTTP.
</para>
<para lang="en">
nginx/Windows supports IPv6 in a "listen" directive of the HTTP module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÍÏÄÕÌÅ ngx_http_image_filter_module.
</para>
<para lang="en">
in ngx_http_image_filter_module.
</para>
</change>
</changes>
<changes ver="0.7.55" date="06.05.2009">
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ http_XXX × ÄÉÒÅËÔÉ×ÁÈ proxy_cache_use_stale
É fastcgi_cache_use_stale ÎÅ ÒÁÂÏÔÁÌÉ.
</para>
<para lang="en">
the http_XXX parameters in "proxy_cache_use_stale" and
"fastcgi_cache_use_stale" directives did not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
fastcgi ËÜÛ ÎÅ ËÜÛÉÒÏ×ÁÌ ÏÔ×ÅÔÙ, ÓÏÓÔÏÑÝÉÅ ÔÏÌØËÏ ÉÚ ÚÁÇÏÌÏ×ËÁ.
</para>
<para lang="en">
fastcgi cache did not cache header only responses.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ "select() failed (9: Bad file descriptor)" × nginx/Unix
É "select() failed (10038: ...)" × nginx/Windows.
</para>
<para lang="en">
of "select() failed (9: Bad file descriptor)" error in nginx/Unix
and "select() failed (10038: ...)" error in nginx/Windows.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù debug_connection
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.54.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if an "debug_connection" directive was used;
the bug had appeared in 0.7.54.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÓÂÏÒËÅ ÍÏÄÕÌÑ ngx_http_image_filter_module.
</para>
<para lang="en">
fix ngx_http_image_filter_module building errors.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÆÁÊÌÙ ÂÏÌØÛÅ 2G ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ $r->sendfile.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the files bigger than 2G could not be transferred using $r->sendfile.<br/>
Thanks to Maxim Dounin.
</para>
</change>
</changes>
<changes ver="0.7.54" date="01.05.2009">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_image_filter_module.
</para>
<para lang="en">
the ngx_http_image_filter_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_ignore_headers É fastcgi_ignore_headers.
</para>
<para lang="en">
the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ "open_file_cache_errors on"
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.53.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if an "open_file_cache_errors off" directive was used;
the bug had appeared in 0.7.53.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á "port_in_redirect off" ÎÅ ÒÁÂÏÔÁÌÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.39.
</para>
<para lang="en">
the "port_in_redirect off" directive did not work;
the bug had appeared in 0.7.39.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÌÕÞÛÅÎÉÅ ÏÂÒÁÂÏÔËÉ ÏÛÉÂÏË ÍÅÔÏÄÁ select.
</para>
<para lang="en">
improve handling of "select" method errors.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ "select() failed (10022: ...)" × nginx/Windows.
</para>
<para lang="en">
of "select() failed (10022: ...)" error in nginx/Windows.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÔÅËÓÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ × nginx/Windows;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.53.
</para>
<para lang="en">
in error text descriptions in nginx/Windows;
the bug had appeared in 0.7.53.
</para>
</change>
</changes>
<changes ver="0.7.53" date="27.04.2009">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÌÏÇ, ÕËÁÚÁÎÎÙÊ × --error-log-path, ÓÏÚÄÁ£ÔÓÑ Ó ÓÁÍÏÇÏ ÎÁÞÁÌÁ ÒÁÂÏÔÙ.
</para>
<para lang="en">
now a log set by --error-log-path is created from the very start-up.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÏÛÉÂËÉ É ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ ÐÒÉ ÓÔÁÒÔÅ ÚÁÐÉÓÙ×ÁÀÔÓÑ × error_log
É ×Ù×ÏÄÑÔÓÑ ÎÁ stderr.
</para>
<para lang="en">
now the start up errors and warnings are outputted to an error_log and stderr.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÒÉ ÓÂÏÒËÅ Ó ÐÕÓÔÙÍ ÐÁÒÁÍÅÔÒÏÍ --prefix= nginx ÉÓÐÏÌØÚÕÅÔ ËÁË ÐÒÅÆÉËÓ ËÁÔÁÌÏÇ,
× ËÏÔÏÒÏÍ ÏÎ ÂÙÌ ÚÁÐÕÝÅÎ.
</para>
<para lang="en">
the empty --prefix= configure parameter forces nginx to use a directory
where it was run as prefix.
</para>
</change>
<change type="feature">
<para lang="ru">
ËÌÀÞ -p.
</para>
<para lang="en">
the -p switch.
</para>
</change>
<change type="feature">
<para lang="ru">
ËÌÀÞ -s ÎÁ Unix-ÐÌÁÔÆÏÒÍÁÈ.
</para>
<para lang="en">
the -s switch on Unix platforms.
</para>
</change>
<change type="feature">
<para lang="ru">
ËÌÀÞÉ -? É -h.<br/>
óÐÁÓÉÂÏ Jerome Loyet.
</para>
<para lang="en">
the -? and -h switches.<br/>
Thanks to Jerome Loyet.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ËÌÀÞÉ ÍÏÖÎÏ ÚÁÄÁ×ÁÔØ × ÓÖÁÔÏÊ ÆÏÒÍÅ.
</para>
<para lang="en">
now switches may be set in condensed form.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx/Windows ÎÅ ÒÁÂÏÔÁÌ, ÅÓÌÉ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÂÙÌ ÚÁÄÁÎ ËÌÀÞÏÍ -c.
</para>
<para lang="en">
nginx/Windows did not work if configuration file was given by the -c switch.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ× proxy_store, fastcgi_store,
proxy_cache ÉÌÉ fastcgi_cache ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÍÏÇÌÉ ÎÅ ÕÄÁÌÑÔØÓÑ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
temporary files might be not removed if the "proxy_store", "fastcgi_store",
"proxy_cache", or "fastcgi_cache" were used.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÚÁÇÏÌÏ×ËÅ Auth-Method ÚÁÐÒÏÓÁ ÓÅÒ×ÅÒÕ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÐÏÞÔÏ×ÏÇÏ
ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ ÐÅÒÅÄÁ×ÁÌÏÓØ ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.34.<br/>
óÐÁÓÉÂÏ Simon Lecaille.
</para>
<para lang="en">
an incorrect value was passed to mail proxy authentication server
in "Auth-Method" header line;
the bug had appeared<br/>
in 0.7.34.<br/>
Thanks to Simon Lecaille.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÌÏÇÇÉÒÏ×ÁÎÉÉ ÎÁ Linux ÎÅ ÐÉÓÁÌÉÓØ ÔÅËÓÔÏ×ÙÅ ÏÐÉÓÁÎÉÑ ÓÉÓÔÅÍÎÙÈ ÏÛÉÂÏË;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.45.
</para>
<para lang="en">
system error text descriptions were not logged on Linux;<br/>
the bug had appeared in 0.7.45.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_cache_min_uses ÎÅ ÒÁÂÏÔÁÌÁ.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ ÷ÏÒÏÂØ£×Õ.
</para>
<para lang="en">
the "fastcgi_cache_min_uses" directive did not work.<br/>
Thanks to Andrew Vorobyoff.
</para>
</change>
</changes>
<changes ver="0.7.52" date="20.04.2009">
<change type="feature">
<para lang="ru">
ÐÅÒ×ÁÑ ÂÉÎÁÒÎÁÑ ×ÅÒÓÉÑ ÐÏÄ Windows.
</para>
<para lang="en">
the first native Windows binary release.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÍÅÔÏÄÁ HEAD ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ.
</para>
<para lang="en">
in processing HEAD method while caching.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÓÔÒÏË "If-Modified-Since", "If-Range" É ÉÍ ÐÏÄÏÂÎÙÈ
× ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ.
</para>
<para lang="en">
in processing the "If-Modified-Since", "If-Range", etc. client request
header lines while caching.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÓÔÒÏËÉ "Set-Cookie" É "P3P" ÓËÒÙ×ÁÀÔÓÑ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ
ÄÌÑ ÚÁËÜÛÉÒÏ×ÁÎÎÙÈ ÏÔ×ÅÔÏ×.
</para>
<para lang="en">
now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module É perl
ÐÏÄÄÅÒÖÉ×ÁÌ ÐÏÔÏËÉ, ÔÏ ÐÒÉ ×ÙÈÏÄÅ ÏÓÎÏ×ÎÏÇÏ ÐÒÏÃÅÓÓÁ
ÍÏÇÌÁ ×ÙÄÁ×ÁÔØÓÑ ÏÛÉÂËÁ "panic: MUTEX_LOCK".
</para>
<para lang="en">
if nginx was built with the ngx_http_perl_module and with a perl which
supports threads, then during a master process exit
the message "panic: MUTEX_LOCK" might be issued.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http-cache;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.48.
</para>
<para lang="en">
nginx could not be built --without-http-cache;
the bug had appeared in 0.7.48.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, amd64, sparc É ppc;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.42.
</para>
<para lang="en">
nginx could not be built on platforms different from i386, amd64, sparc,
and ppc;
the bug had appeared in 0.7.42.
</para>
</change>
</changes>
<changes ver="0.7.51" date="12.04.2009">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á try_files ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÄ ÏÔ×ÅÔÁ × ÐÏÓÌÅÄÎÅÍ ÐÁÒÁÍÅÔÒÅ.
</para>
<para lang="en">
the "try_files" directive supports a response code in the fallback parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ × ÄÉÒÅËÔÉ×Å return ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÏÊ ËÏÄ ÏÔ×ÅÔÁ.
</para>
<para lang="en">
now any response code can be used in the "return" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á error_page ÄÅÌÁÌÁ ×ÎÅÛÎÉÊ ÒÅÄÉÒÅËÔ ÂÅÚ ÓÔÒÏËÉ ÚÁÐÒÏÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44.
</para>
<para lang="en">
the "error_page" directive made an external redirect without query string;
the bug had appeared in 0.7.44.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÓÅÒ×ÅÒÁ ÓÌÕÛÁÌÉ ÎÁ ÎÅÓËÏÌØËÉÈ Ñ×ÎÏ ÏÐÉÓÁÎÎÙÈ ÁÄÒÅÓÁÈ,
ÔÏ ×ÉÒÔÕÁÌØÎÙÅ ÓÅÒ×ÅÒÁ ÍÏÇÌÉ ÎÅ ÒÁÂÏÔÁÔØ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.39.
</para>
<para lang="en">
if servers listened on several defined explicitly addresses,
then virtual servers might not work;
the bug had appeared in 0.7.39.
</para>
</change>
</changes>
<changes ver="0.7.50" date="06.04.2009">
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ $arg_... ÎÅ ÒÁÂÏÔÁÌÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.49.
</para>
<para lang="en">
the $arg_... variables did not work;
the bug had appeared in 0.7.49.
</para>
</change>
</changes>
<changes ver="0.7.49" date="06.04.2009">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ $arg_...
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.48.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if the $arg_... variables were used;
the bug had appeared in 0.7.48.
</para>
</change>
</changes>
<changes ver="0.7.48" date="06.04.2009">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_cache_key.
</para>
<para lang="en">
the "proxy_cache_key" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ nginx ÕÞÉÔÙ×ÁÅÔ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ ÓÔÒÏËÉ "X-Accel-Expires",
"Expires" É "Cache-Control" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
now nginx takes into account the "X-Accel-Expires", "Expires", and
"Cache-Control" header lines in a backend response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ nginx ËÜÛÉÒÕÅÔ ÔÏÌØËÏ ÏÔ×ÅÔÙ ÎÁ ÚÁÐÒÏÓÙ GET.
</para>
<para lang="en">
now nginx caches responses for the GET requests only.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_cache_key ÎÅ ÎÁÓÌÅÄÏ×ÁÌÁÓØ.
</para>
<para lang="en">
the "fastcgi_cache_key" directive was not inherited.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ $arg_... ÎÅ ÒÁÂÏÔÁÌÉ Ó SSI-ÐÏÄÚÁÐÒÏÓÁÍÉ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the $arg_... variables did not work with SSI subrequests.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÂÉÂÌÉÏÔÅËÏÊ uclibc.<br/>
óÐÁÓÉÂÏ Timothy Redaelli.
</para>
<para lang="en">
nginx could not be built with uclibc library.<br/>
Thanks to Timothy Redaelli.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ OpenBSD;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ <nobr>× 0.7.46.</nobr>
</para>
<para lang="en">
nginx could not be built on OpenBSD;
the bug had <nobr>appeared in 0.7.46.</nobr>
</para>
</change>
</changes>
<changes ver="0.7.47" date="01.04.2009">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ FreeBSD 6 É ÂÏÌÅÅ ÒÁÎÎÉÈ ×ÅÒÓÉÑÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.46.
</para>
<para lang="en">
nginx could not be built on FreeBSD 6 and early versions;
the bug had appeared in 0.7.46.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ MacOSX;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.46.
</para>
<para lang="en">
nginx could not be built on MacOSX;
the bug had <nobr>appeared in 0.7.46.</nobr>
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÁÒÁÍÅÔÒ max_size, ÔÏ cache manager ÍÏÇ ÕÄÁÌÉÔØ ×ÅÓØ ËÜÛ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.46.
</para>
<para lang="en">
if the "max_size" parameter was set, then the cache manager might purge
a whole cache;
the bug had appeared in 0.7.46.
</para>
</change>
<change type="change">
<para lang="ru">
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault,
ÅÓÌÉ ÄÉÒÅËÔÉ×Ù proxy_cache/fastcgi_cache
É proxy_cache_valid/ fastcgi_cache_valid ÎÅ ÂÙÌÉ ÚÁÄÁÎÙ ÎÁ ÏÄÎÏÍ ÕÒÏ×ÎÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.46.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if the "proxy_cache"/"fastcgi_cache" and
the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels;
the bug had appeared in 0.7.46.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ ÐÒÏËÓÉÒÏ×ÁÎÎÏÍÕ ÉÌÉ FastCGI-ÓÅÒ×ÅÒÕ
Ó ÐÏÍÏÝØÀ error_page ÉÌÉ try_files;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if a request was redirected to a proxied or FastCGI server via
error_page or try_files;
the bug had appeared in 0.7.44.
</para>
</change>
</changes>
<changes ver="0.7.46" date="30.03.2009">
<change type="bugfix">
<para lang="ru">
ÁÒÈÉ× ÐÒÅÄÙÄÕÝÅÇÏ ÒÅÌÉÚÁ ÂÙÌ ÎÅ×ÅÒÎÙÍ.
</para>
<para lang="en">
the previous release tarball was incorrect.
</para>
</change>
</changes>
<changes ver="0.7.45" date="30.03.2009">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù proxy_cache É proxy_cache_valid ÍÏÖÎÏ ÚÁÄÁ×ÁÔØ
ÎÁ ÒÁÚÎÙÈ ÕÒÏ×ÎÑÈ.
</para>
<para lang="en">
now the "proxy_cache" and the "proxy_cache_valid" directives can be set on
different levels.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒ clean_time × ÄÉÒÅËÔÉ×Å proxy_cache_path ÕÄÁÌ£Î.
</para>
<para lang="en">
the "clean_time" parameter of the "proxy_cache_path" directive is canceled.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ max_size × ÄÉÒÅËÔÉ×Å proxy_cache_path.
</para>
<para lang="en">
the "max_size" parameter of the "proxy_cache_path" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÒÅÄ×ÁÒÉÔÅÌØÎÁÑ ÐÏÄÄÅÒÖËÁ ËÜÛÉÒÏ×ÁÎÉÑ × ÍÏÄÕÌÅ ngx_http_fastcgi_module.
</para>
<para lang="en">
the ngx_http_fastcgi_module preliminary cache support.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÏÛÉÂËÁÈ ×ÙÄÅÌÅÎÉÑ × ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ × ÌÏÇÅ ÕËÁÚÙ×ÁÀÔÓÑ
ÎÁÚ×ÁÎÉÑ ÄÉÒÅËÔÉ×Ù É ÚÏÎÙ.
</para>
<para lang="en">
now on shared memory allocation errors directive and zone names are logged.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á "add_header last-modified ''" ÎÅ ÕÄÁÌÑÌÁ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ
ÓÔÒÏËÕ "Last-Modified";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44.
</para>
<para lang="en">
the directive "add_header last-modified ''" did not delete a "Last-Modified"
response header line;
the bug had appeared in 0.7.44.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å auth_basic_user_file ÎÅ ÒÁÂÏÔÁÌ ÏÔÎÏÓÉÔÅÌØÎÙÊ ÐÕÔØ,
ÚÁÄÁÎÎÙÊ ÓÔÒÏËÏÊ ÂÅÚ ÐÅÒÅÍÅÎÎÙÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44.<br/>
óÐÁÓÉÂÏ Jerome Loyet.
</para>
<para lang="en">
a relative path in the "auth_basic_user_file" directive given without variables
did not work;
the bug had appeared in 0.7.44.<br/>
Thanks to Jerome Loyet.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å alias, ÚÁÄÁÎÎÏÊ ÐÅÒÅÍÅÎÎÙÍÉ
ÂÅÚ ÓÓÙÌÏË ÎÁ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.42.
</para>
<para lang="en">
in an "alias" directive given using variables
without references to captures of regular expressions;
the bug had appeared in 0.7.42.
</para>
</change>
</changes>
<changes ver="0.7.44" date="23.03.2009">
<change type="feature">
<para lang="ru">
ÐÒÅÄ×ÁÒÉÔÅÌØÎÁÑ ÐÏÄÄÅÒÖËÁ ËÜÛÉÒÏ×ÁÎÉÑ × ÍÏÄÕÌÅ ngx_http_proxy_module.
</para>
<para lang="en">
the ngx_http_proxy_module preliminary cache support.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ --with-pcre × configure.
</para>
<para lang="en">
the --with-pcre option in the configure.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á try_files ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÎÁ ÕÒÏ×ÎÅ server.
</para>
<para lang="en">
the "try_files" directive is now allowed on the server block level.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á try_files ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÁ ÓÔÒÏËÕ ÚÁÐÒÏÓÁ × ÐÏÓÌÅÄÎÅÍ
ÐÁÒÁÍÅÔÒÅ.
</para>
<para lang="en">
the "try_files" directive handled incorrectly a query string
in a fallback parameter.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á try_files ÍÏÇÌÁ ÎÅ×ÅÒÎÏ ÔÅÓÔÉÒÏ×ÁÔØ ËÁÔÁÌÏÇÉ.
</para>
<para lang="en">
the "try_files" directive might test incorrectly directories.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÌÑ ÐÁÒÙ ÁÄÒÅÓ:ÐÏÒÔ ÏÐÉÓÁÎ ÔÏÌØËÏ ÏÄÉÎ ÓÅÒ×ÅÒ, ÔÏ ×ÙÄÅÌÅÎÉÑ
× ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ÄÉÒÅËÔÉ×Å server_name ÎÅ ÒÁÂÏÔÁÌÉ.
</para>
<para lang="en">
if there was a single server for given address:port pair,
then captures in regular expressions in a "server_name" directive did not work.
</para>
</change>
</changes>
<changes ver="0.7.43" date="18.03.2009">
<change type="bugfix">
<para lang="ru">
ÚÁÐÒÏÓ ÏÂÒÁÂÁÔÙ×ÁÌÓÑ ÎÅ×ÅÒÎÏ, ÅÓÌÉ ÄÉÒÅËÔÉ×Á root ÉÓÐÏÌØÚÏ×ÁÌÁ ÐÅÒÅÍÅÎÎÙÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.42.
</para>
<para lang="en">
a request was handled incorrectly, if a "root" directive used variables;
the bug had appeared in 0.7.42.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÓÅÒ×ÅÒ ÓÌÕÛÁÌ ÎÁ ÁÄÒÅÓÁÈ ÔÉÐÁ "*", ÔÏ ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $server_addr
ÂÙÌÏ "0.0.0.0";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.36.
</para>
<para lang="en">
if a server listened on wildcard address, then the $server_addr variable
value was "0.0.0.0";
the bug had appeared in 0.7.36.
</para>
</change>
</changes>
<changes ver="0.7.42" date="16.03.2009">
<change type="change">
<para lang="ru">
ÏÛÉÂËÁ "Invalid argument", ×ÏÚ×ÒÁÝÁÅÍÁÑ setsockopt(TCP_NODELAY) ÎÁ Solaris,
ÔÅÐÅÒØ ÉÇÎÏÒÉÒÕÅÔÓÑ.
</para>
<para lang="en">
now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris,
is ignored.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÒÉ ÏÔÓÕÔÓÔ×ÉÉ ÆÁÊÌÁ, ÕËÁÚÁÎÎÏÇÏ × ÄÉÒÅËÔÉ×Å auth_basic_user_file,
ÔÅÐÅÒØ ×ÏÚ×ÒÁÝÁÅÔÓÑ ÏÛÉÂËÁ 403 ×ÍÅÓÔÏ 500.
</para>
<para lang="en">
now if a file specified in a "auth_basic_user_file" directive is absent,
then the 403 error is returned instead of the 500 one.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á auth_basic_user_file ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ.
<br/>
óÐÁÓÉÂÏ ëÉÒÉÌÌÕ ëÏÒÉÎÓËÏÍÕ.
</para>
<para lang="en">
the "auth_basic_user_file" directive supports variables.<br/>
Thanks to Kirill A. Korinskiy.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á listen ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ ipv6only.<br/>
óÐÁÓÉÂÏ Zhang Hua.
</para>
<para lang="en">
the "listen" directive supports the "ipv6only" parameter.
<br/>
Thanks to Zhang Hua.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å alias ÓÏ ÓÓÙÌËÁÍÉ ÎÁ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.40.
</para>
<para lang="en">
in an "alias" directive with references to captures of regular expressions;
the bug had appeared in 0.7.40.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó Tru64 UNIX.<br/>
óÐÁÓÉÂÏ Dustin Marquess.
</para>
<para lang="en">
compatibility with Tru64 UNIX.<br/>
Thanks to Dustin Marquess.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÂÉÂÌÉÏÔÅËÉ PCRE;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.41.
</para>
<para lang="en">
nginx could not be built without PCRE library;
the bug had appeared in 0.7.41.
</para>
</change>
</changes>
<changes ver="0.7.41" date="11.03.2009">
<change type="bugfix">
<para lang="ru">
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault,
ÅÓÌÉ × server_name ÉÌÉ location ÂÙÌÉ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.40.<br/>
óÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ óÏÐÏÔÕ.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if a "server_name" or a "location" directives had captures
in regular expressions;
the issue had appeared in 0.7.40.<br/>
Thanks to Vladimir Sopot.
</para>
</change>
</changes>
<changes ver="0.7.40" date="09.03.2009">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á location ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ.
</para>
<para lang="en">
the "location" directive supports captures in regular expressions.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Õ alias Ó ÓÓÙÌËÁÍÉ ÎÁ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ
ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ location'Á, ÚÁÄÁÎÎÏÇÏ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ
Ó ×ÙÄÅÌÅÎÉÑÍÉ.
</para>
<para lang="en">
an "alias" directive with capture references may be used inside
a location given by a regular expression with captures.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ.
</para>
<para lang="en">
the "server_name" directive supports captures in regular expressions.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏËÁÚÙ×ÁÌ ÐÏÓÌÅÄÎÉÊ ÓÌÜÛ ÄÌÑ ËÁÔÁÌÏÇÏ×
ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ XFS;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.15.<br/>
óÐÁÓÉÂÏ äÍÉÔÒÉÀ ëÕÚØÍÅÎËÏ.
</para>
<para lang="en">
the ngx_http_autoindex_module did not show the trailing slash in directories
on XFS filesystem;
the issue had appeared in 0.7.15.<br/>
Thanks to Dmitry Kuzmenko.
</para>
</change>
</changes>
<changes ver="0.7.39" date="02.03.2009">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞ£ÎÎÏÍ ÓÖÁÔÉÉ ÂÏÌØÛÉÅ ÏÔ×ÅÔÙ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ SSI ÍÏÇÌÉ ÚÁ×ÉÓÁÔØ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.28.<br/>
óÐÁÓÉÂÏ áÒÔ£ÍÕ âÏÈÁÎÕ.
</para>
<para lang="en">
large response with SSI might hang, if gzipping was enabled;
the bug had appeared in 0.7.28.<br/>
Thanks to Artem Bokhan.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÏÒÏÔËÉÈ ÓÔÁÔÉÞÅÓËÉÈ ×ÁÒÉÁÎÔÏ× × ÄÉÒÅËÔÉ×Å try_files
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process,
if short static variants are used in a "try_files" directive.
</para>
</change>
</changes>
<changes ver="0.7.38" date="23.02.2009">
<change type="feature">
<para lang="ru">
ÌÏÇÇÉÒÏ×ÁÎÉÅ ÏÛÉÂÏË ÁÕÔÅÎÔÉÆÉËÁÃÉÉ.
</para>
<para lang="en">
authentication failures logging.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÍÑ/ÐÁÒÏÌØ, ÚÁÄÁÎÎÙÅ × auth_basic_user_file, ÉÇÎÏÒÉÒÏ×ÁÌÉÓØ ÐÏÓÌÅ ÎÅÞ£ÔÎÏÇÏ
ÞÉÓÌÁ ÐÕÓÔÙÈ ÓÔÒÏË.<br/>
óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ úÁÇÒÅÂÉÎÕ.
</para>
<para lang="en">
name/password in auth_basic_user_file were ignored after odd number
of empty lines.<br/>
Thanks to Alexander Zagrebin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÌÉÎÎÏÇÏ ÐÕÔÉ × unix domain ÓÏËÅÔÅ
× ÇÌÁ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.36.
</para>
<para lang="en">
a segmentation fault occurred in a master process,
if long path was used in unix domain socket;
the bug had appeared in 0.7.36.
</para>
</change>
</changes>
<changes ver="0.7.37" date="21.02.2009">
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù, ÉÓÐÏÌØÚÕÀÝÉÅ upstream'Ù, ÎÅ ÒÁÂÏÔÁÌÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.36.
</para>
<para lang="en">
directives using upstreams did not work;
the bug had appeared in 0.7.36.
</para>
</change>
</changes>
<changes ver="0.7.36" date="21.02.2009">
<change type="feature">
<para lang="ru">
ÐÒÅÄ×ÁÒÉÔÅÌØÎÁÑ ÐÏÄÄÅÒÖËÁ IPv6;
ÄÉÒÅËÔÉ×Á listen ÍÏÄÕÌÑ HTTP ÐÏÄÄÅÒÖÉ×ÁÅÔ IPv6.
</para>
<para lang="en">
a preliminary IPv6 support;
the "listen" directive of the HTTP module supports IPv6.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $ancient_browser ÎÅ ÒÁÂÏÔÁÌÁ ÄÌÑ ÂÒÁÕÚÅÒÏ×, ÚÁÄÁÎÎÙÈ
ÄÉÒÅËÔÉ×ÁÍÉ modern_browser.
</para>
<para lang="en">
the $ancient_browser variable did not work for browsers
preset by a "modern_browser" directives.
</para>
</change>
</changes>
<changes ver="0.7.35" date="16.02.2009">
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_engine ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÁ SSL-ÁËÓÅÌÅÒÁÔÏÒ
ÄÌÑ ÁÓÉÍÍÅÔÒÉÞÎÙÈ ÛÉÆÒÏ×.<br/>
óÐÁÓÉÂÏ Marcin Gozdalik.
</para>
<para lang="en">
a "ssl_engine" directive did not use a SSL-accelerator
for asymmetric ciphers.<br/>
Thanks to Marcin Gozdalik.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á try_files ×ÙÓÔÁ×ÌÑÌÁ MIME-type, ÉÓÈÏÄÑ ÉÚ ÒÁÓÛÉÒÅÎÉÑ
ÐÅÒ×ÏÎÁÞÁÌØÎÏÇÏ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
a "try_files" directive set MIME type depending on an
original request extension.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×ÁÈ server_name, valid_referers É map
ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ ÉÍÅÎÁ ×ÉÄÁ "*domain.tld",
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÍÁÓËÉ ×ÉÄÁ ".domain.tld" É ".subdomain.domain.tld";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.9.
</para>
<para lang="en">
"*domain.tld" names were handled incorrectly in
"server_name", "valid_referers", and "map" directives,
if ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
<nobr>the bug had</nobr> appeared in 0.7.9.
</para>
</change>
</changes>
<changes ver="0.7.34" date="10.02.2009">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ off × ÄÉÒÅËÔÉ×Å if_modified_since.
</para>
<para lang="en">
the "off" parameter of the "if_modified_since" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÏÓÌÅ ËÏÍÁÎÄÙ XCLIENT nginx ÐÏÓÙÌÁÅÔ ËÏÍÁÎÄÕ HELO/EHLO.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
now nginx sends an HELO/EHLO command after a XCLIENT command.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ Microsoft-ÓÐÅÃÉÆÉÞÎÏÇÏ ÒÅÖÉÍÁ
<nobr>"AUTH LOGIN with User Name"</nobr>
× ÐÏÞÔÏ×ÏÍ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
Microsoft specific "AUTH LOGIN with User Name" mode support
in mail proxy server.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å rewrite, ×ÏÚ×ÒÁÝÁÀÝÅÊ ÒÅÄÉÒÅËÔ, ÓÔÁÒÙÅ ÁÒÇÕÍÅÎÔÙ ÐÒÉÓÏÅÄÉÎÑÌÉÓØ
Ë ÎÏ×ÙÍ ÞÅÒÅÚ ÓÉÍ×ÏÌ "?" ×ÍÅÓÔÏ "&amp;";<br/>
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.18.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
in a redirect rewrite directive original arguments were concatenated with
new arguments by a "?" rather than an "&amp;";<br/>
the bug had appeared in 0.1.18.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ AIX.
</para>
<para lang="en">
nginx could not be built on AIX.
</para>
</change>
</changes>
<changes ver="0.7.33" date="02.02.2009">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÎÁ ÚÁÐÒÏÓ Ó ÔÅÌÏÍ ×ÏÚ×ÒÁÝÁÌÓÑ ÒÅÄÉÒÅËÔ, ÔÏ ÏÔ×ÅÔ ÍÏÇ ÂÙÔØ Ä×ÏÊÎÙÍ
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÏ× epoll ÉÌÉ rtsig.<br/>
óÐÁÓÉÂÏ Eden Li.
</para>
<para lang="en">
a double response might be returned if the epoll or rtsig methods are used
and a redirect was returned to a request with body.<br/>
Thanks to Eden Li.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÌÑ ÎÅËÏÔÏÒÙÈ ÔÉÐÏ× ÒÅÄÉÒÅËÔÏ× × ÐÅÒÅÍÅÎÎÏÊ $sent_http_location
ÂÙÌÏ ÐÕÓÔÏÅ ÚÎÁÞÅÎÉÅ.
</para>
<para lang="en">
the $sent_http_location variable was empty for some redirects types.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù resolver × SMTP ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if "resolver" directive was used in SMTP proxy.
</para>
</change>
</changes>
<changes ver="0.7.32" date="26.01.2009">
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ × ÄÉÒÅËÔÉ×Å try_files ÍÏÖÎÏ Ñ×ÎÏ ÕËÁÚÁÔØ ÐÒÏ×ÅÒËÕ ËÁÔÁÌÏÇÁ.
</para>
<para lang="en">
now a directory existence testing can be set explicitly
in the "try_files" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
fastcgi_store ÎÅ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÌ ÆÁÊÌÙ.
</para>
<para lang="en">
fastcgi_store stored files not always.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÇÅÏ-ÄÉÁÐÁÚÏÎÁÈ.
</para>
<para lang="en">
in geo ranges.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ×ÙÄÅÌÅÎÉÑ ÂÏÌØÛÉÈ ÂÌÏËÏ× × ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ,
ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ ÂÅÚ ÏÔÌÁÄËÉ.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ ë×ÁÓÏ×Õ.
</para>
<para lang="en">
in shared memory allocations if nginx was built without debugging.<br/>
Thanks to Andrey Kvasov.
</para>
</change>
</changes>
<changes ver="0.7.31" date="19.01.2009">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á try_files ÐÒÏ×ÅÒÑÅÔ ÔÏÌØËÏ ÆÁÊÌÙ, ÉÇÎÏÒÉÒÕÑ ËÁÔÁÌÏÇÉ.
</para>
<para lang="en">
now the "try_files" directive tests files only and ignores directories.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_split_path_info.
</para>
<para lang="en">
the "fastcgi_split_path_info" directive.
</para>
</change>
<change>
<para lang="ru">
éÓÐÒÁ×ÌÅÎÉÑ × ÐÏÄÄÅÒÖËÅ ÓÔÒÏËÉ "Expect" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
Bugfixes in an "Expect" request header line support.
</para>
</change>
<change>
<para lang="ru">
éÓÐÒÁ×ÌÅÎÉÑ × ÇÅÏ-ÄÉÁÐÁÚÏÎÁÈ.
</para>
<para lang="en">
Bugfixes in geo ranges.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÏÔÓÕÔÓÔ×ÉÉ ÏÔ×ÅÔÁ ngx_http_memcached_module ×ÏÚ×ÒÁÝÁÌ
× ÔÅÌÅ ÏÔ×ÅÔÁ ÓÔÒÏËÕ "END" ×ÍÅÓÔÏ 404-ÏÊ ÓÔÒÁÎÉÃÙ ÐÏ ÕÍÏÌÞÁÎÉÀ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.18.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
in a miss case ngx_http_memcached_module returned the "END" line
as response body instead of default 404 page body;
the bug had appeared in 0.7.18.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ SMPT nginx ×ÙÄÁ×ÁÌ ÓÏÏÂÝÅÎÉÅ
<nobr>"250 2.0.0 OK"</nobr> ×ÍÅÓÔÏ "235 2.0.0 OK";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.22.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
while SMTP proxying nginx issued message
"250 2.0.0 OK" instead of "235 2.0.0 OK";
the bug had appeared in 0.7.22.<br/>
Thanks to Maxim Dounin.
</para>
</change>
</changes>
<changes ver="0.7.30" date="24.12.2008">
<change type="bugfix">
<para lang="ru">
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault,
ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ fastcgi_pass ÉÌÉ proxy_pass
ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÐÅÒÅÍÅÎÎÙÅ É ÉÍÑ ÈÏÓÔÁ ÄÏÌÖÎÏ ÂÙÌÏ ÒÅÚÏÌ×ÉÔØÓÑ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.29.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if variables were used in the "fastcgi_pass" or "proxy_pass" directives
and host name must be resolved;
the bug had appeared in 0.7.29.
</para>
</change>
</changes>
<changes ver="0.7.29" date="24.12.2008">
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù fastcgi_pass É proxy_pass ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÉ ÐÅÒÅÍÅÎÎÙÅ
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ unix domain ÓÏËÅÔÏ×.
</para>
<para lang="en">
the "fastcgi_pass" and "proxy_pass" directives did not support
variables if unix domain sockets were used.
</para>
</change>
<change>
<para lang="ru">
éÓÐÒÁ×ÌÅÎÉÑ × ÏÂÒÁÂÏÔËÅ ÐÏÄÚÁÐÒÏÓÏ×;
ÏÛÉÂËÉ ÐÏÑ×ÉÌÉÓØ × 0.7.25.
</para>
<para lang="en">
Bugfixes in subrequest processing;
the bugs had appeared in 0.7.25.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔ×ÅÔ "100 Continue" ×ÙÄÁ×ÁÌÓÑ ÄÌÑ ÚÁÐÒÏÓÏ× ×ÅÒÓÉÉ HTTP/1.0;<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
a "100 Continue" response was issued for HTTP/1.0 requests;<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × ÍÏÄÕÌÅ ngx_http_gzip_filter_module ÐÏÄ Cygwin.
</para>
<para lang="en">
in memory allocation in the ngx_http_gzip_filter_module on Cygwin.
</para>
</change>
</changes>
<changes ver="0.7.28" date="22.12.2008">
<change type="change">
<para lang="ru">
× ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × ÍÏÄÕÌÅ ngx_http_gzip_filter_module.
</para>
<para lang="en">
in memory allocation in the ngx_http_gzip_filter_module.
</para>
</change>
<change type="change">
<para lang="ru">
ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÄÉÒÅËÔÉ×Ù gzip_buffers ÉÚÍÅÎÅÎÙ Ó 4 4k/8k
ÎÁ 32 4k ÉÌÉ 16 8k.
</para>
<para lang="en">
the default "gzip_buffers" directive values have been changed
to 32 4k or 16 8k from 4 4k/8k.
</para>
</change>
</changes>
<changes ver="0.7.27" date="15.12.2008">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á try_files.
</para>
<para lang="en">
the "try_files" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_pass ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
variables support in the "fastcgi_pass" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á geo ÍÏÖÅÔ ÂÒÁÔØ ÁÄÒÅÓ ÉÚ ÐÅÒÅÍÅÎÎÏÊ.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
now the $geo variable may get an address from a variable.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÍÏÄÉÆÉËÁÔÏÒ location'Á ÍÏÖÎÏ ÕËÁÚÙ×ÁÔØ ÂÅÚ ÐÒÏÂÅÌÁ ÐÅÒÅÄ ÎÁÚ×ÁÎÉÅÍ.
</para>
<para lang="en">
now a location's modifier may be used without space before name.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $upstream_response_length.
</para>
<para lang="en">
the $upstream_response_length variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á add_header ÎÅ ÄÏÂÁ×ÌÑÅÔ ÐÕÓÔÏÅ ÚÎÁÞÅÎÉÅ.
</para>
<para lang="en">
now a "add_header" directive does not add an empty value.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÚÁÐÒÏÓÅ ÆÁÊÌÁ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ nginx ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÅ, ÎÉÞÅÇÏ ÎÅ ÐÅÒÅÄÁ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25.
</para>
<para lang="en">
if zero length static file was requested, then nginx just closed connection;
the bug had appeared in 0.7.25.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÅÔÏÄ MOVE ÎÅ ÍÏÇ ÐÅÒÅÍÅÝÁÔØ ÆÁÊÌ × ÎÅÓÕÝÅÓÔ×ÕÀÝÉÊ ËÁÔÁÌÏÇ.
</para>
<para lang="en">
a MOVE method could not move file in non-existent directory.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÓÅÒ×ÅÒÅ ÎÅ ÂÙÌ ÏÐÉÓÁÎ ÎÉ ÏÄÉÎ ÉÍÅÎÏ×ÁÎÎÙÊ location,
ÎÏ ÔÁËÏÊ location ÉÓÐÏÌØÚÏ×ÁÌÓÑ × ÄÉÒÅËÔÉ×Å error_page,
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if no one named location was defined in server,
but some one was used in an error_page directive.<br/>
Thanks to Sergey Bochenkov.
</para>
</change>
</changes>
<changes ver="0.7.26" date="08.12.2008">
<change type="bugfix">
<para lang="ru">
× ÏÂÒÁÂÏÔËÅ ÐÏÄÚÁÐÒÏÓÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25.
</para>
<para lang="en">
in subrequest processing;
the bug had appeared in 0.7.25.
</para>
</change>
</changes>
<changes ver="0.7.25" date="08.12.2008">
<change type="change">
<para lang="ru">
× ÏÂÒÁÂÏÔËÅ ÐÏÄÚÁÐÒÏÓÏ×.
</para>
<para lang="en">
in subrequest processing.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÒÁÚÒÅÛÁÀÔÓÑ POST'Ù ÂÅÚ ÓÔÒÏËÉ "Content-Length" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
now POSTs without "Content-Length" header line are allowed.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù limit_req É limit_conn ÕËÁÚÙ×ÁÀÔ ÐÒÉÞÉÎÕ ÚÁÐÒÅÔÁ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
now the "limit_req" and "limit_conn" directives log a prohibition reason.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÁÒÁÍÅÔÒÅ delete ÄÉÒÅËÔÉ×Ù geo.
</para>
<para lang="en">
in the "delete" parameter of the "geo" directive.
</para>
</change>
</changes>
<changes ver="0.7.24" date="01.12.2008">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á if_modified_since.
</para>
<para lang="en">
the "if_modified_since" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÏÂÒÁÂÁÔÙ×ÁÌ ÏÔ×ÅÔ FastCGI-ÓÅÒ×ÅÒÁ,
ÅÓÌÉ ÐÅÒÅÄ ÏÔ×ÅÔÏÍ ÓÅÒ×ÅÒ ÐÅÒÅÄÁ×ÁÌ ÍÎÏÇÏ ÓÏÏÂÝÅÎÉÊ × stderr.
</para>
<para lang="en">
nginx did not process a FastCGI server response,
if the server send too many messages to stderr before response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ "$cookie_..." ÎÅ ÒÁÂÏÔÁÌÉ × SSI and × ÐÅÒÌÏ×ÏÍ ÍÏÄÕÌÅ.
</para>
<para lang="en">
the "$cookie_..." variables did not work in the SSI and the perl module.
</para>
</change>
</changes>
<changes ver="0.7.23" date="27.11.2008">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ delete É ranges × ÄÉÒÅËÔÉ×Å geo.
</para>
<para lang="en">
the "delete" and "ranges" parameters in the "geo" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÕÓËÏÒÅÎÉÅ ÚÁÇÒÕÚËÉ geo-ÂÁÚÙ Ó ÂÏÌØÛÉÍ ÞÉÓÌÏÍ ÚÎÁÞÅÎÉÊ.
</para>
<para lang="en">
speeding up loading of geo base with large number of values.
</para>
</change>
<change type="feature">
<para lang="ru">
ÕÍÅÎØÛÅÎÉÅ ÐÁÍÑÔÉ, ÎÅÏÂÈÏÄÉÍÏÊ ÄÌÑ ÚÁÇÒÕÚËÉ geo-ÂÁÚÙ.
</para>
<para lang="en">
decrease of memory required for geo base load.
</para>
</change>
</changes>
<changes ver="0.7.22" date="20.11.2008">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ none × ÄÉÒÅËÔÉ×Å smtp_auth.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the "none" parameter in the "smtp_auth" directive.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ "$cookie_...".
</para>
<para lang="en">
the "$cookie_..." variables.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á directio ÎÅ ÒÁÂÏÔÁÌÁ Ó ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÏÊ XFS.
</para>
<para lang="en">
the "directio" directive did not work in XFS filesystem.
</para>
</change>
<change type="bugfix">
<para lang="ru">
resolver ÎÅ ÐÏÎÉÍÁÌ ÂÏÌØÛÉÅ DNS-ÏÔ×ÅÔÙ.<br/>
óÐÁÓÉÂÏ Zyb.
</para>
<para lang="en">
the resolver did not understand big DNS responses.<br/>
Thanks to Zyb.
</para>
</change>
</changes>
<changes ver="0.7.21" date="11.11.2008">
<change>
<para lang="ru">
éÚÍÅÎÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_limit_req_module.
</para>
<para lang="en">
Changes in the ngx_http_limit_req_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ EXSLT × ÍÏÄÕÌÅ ngx_http_xslt_module.<br/>
óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ.
</para>
<para lang="en">
the EXSLT support in the ngx_http_xslt_module.<br/>
Thanks to Denis F. Latypoff.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó glibc 2.3.<br/>
óÐÁÓÉÂÏ Eric Benson É íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
compatibility with glibc 2.3.<br/>
Thanks to Eric Benson and Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ MacOSX 10.4 É ÂÏÌÅÅ ÒÁÎÎÉÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.6.
</para>
<para lang="en">
nginx could not run on MacOSX 10.4 and earlier;
the bug had appeared in 0.7.6.
</para>
</change>
</changes>
<changes ver="0.7.20" date="10.11.2008">
<change>
<para lang="ru">
éÚÍÅÎÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_gzip_filter_module.
</para>
<para lang="en">
Changes in the ngx_http_gzip_filter_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_limit_req_module.
</para>
<para lang="en">
the ngx_http_limit_req_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ ÐÌÁÔÆÏÒÍÁÈ sparc É ppc ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÍÏÇÌÉ ×ÙÈÏÄÉÔØ ÐÏ ÓÉÇÎÁÌÕ SIGBUS;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.3.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
worker processes might exit on a SIGBUS signal on sparc and ppc platforms;
the bug had appeared in 0.7.3.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù ×ÉÄÁ "proxy_pass http://host/some:uri" ÎÅ ÒÁÂÏÔÁÌÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.12.
</para>
<para lang="en">
the "proxy_pass http://host/some:uri" directives did not work;
the bug had appeared in 0.7.12.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS ÚÁÐÒÏÓÙ ÍÏÇÌÉ ÚÁ×ÅÒÛÁÔØÓÑ Ó ÏÛÉÂËÏÊ "bad write retry".
</para>
<para lang="en">
in HTTPS mode requests might fail with the "bad write retry" error.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_secure_link_module ÎÅ ÒÁÂÏÔÁÌ ×ÎÕÔÒÉ location'Ï×
Ó ÉÍÅÎÁÍÉ ÍÅÎØÛÅ 3 ÓÉÍ×ÏÌÏ×.
</para>
<para lang="en">
the ngx_http_secure_link_module did not work inside locations,
whose names are less than 3 characters.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $server_addr ÍÏÇÌÁ ÎÅ ÉÍÅÔØ ÚÎÁÞÅÎÉÑ.
</para>
<para lang="en">
$server_addr variable might have no value.
</para>
</change>
</changes>
<changes ver="0.7.19" date="13.10.2008">
<change type="bugfix">
<para lang="ru">
ÏÂÎÏ×ÌÅÎÉÅ ÎÏÍÅÒÁ ×ÅÒÓÉÉ.
</para>
<para lang="en">
version number update.
</para>
</change>
</changes>
<changes ver="0.7.18" date="13.10.2008">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á underscores_in_headers;
ÔÅÐÅÒØ nginx ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÒÁÚÒÅÛÁÅÔ ÐÏÄÞ£ÒËÉ×ÁÎÉÑ × ÉÍÅÎÁÈ ÓÔÒÏË
× ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ.
</para>
<para lang="en">
the "underscores_in_headers" directive;
now nginx does not allows underscores in a client request header line names.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_secure_link_module.
</para>
<para lang="en">
the ngx_http_secure_link_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á real_ip_header ÐÏÄÄÅÒÖÉ×ÁÅÔ ÌÀÂÏÊ ÚÁÇÏÌÏ×ÏË.
</para>
<para lang="en">
the "real_ip_header" directive supports any header.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á log_subrequest.
</para>
<para lang="en">
the "log_subrequest" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $realpath_root.
</para>
<para lang="en">
the $realpath_root variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ http_502 É http_504 × ÄÉÒÅËÔÉ×Å proxy_next_upstream.
</para>
<para lang="en">
the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive.
</para>
</change>
<change type="bugfix">
<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 did not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÍÏÇ ×ÙÄÁ×ÁÔØ ÓÔÒÏËÕ "Transfer-Encoding: chunked" ÄÌÑ ÚÁÐÒÏÓÏ× HEAD.
</para>
<para lang="en">
nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ accept-ÌÉÍÉÔ ÚÁ×ÉÓÉÔ ÏÔ ÞÉÓÌÁ worker_connections.
</para>
<para lang="en">
now accept threshold depends on worker_connections.
</para>
</change>
</changes>
<changes ver="0.7.17" date="15.09.2008">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á directio ÔÅÐÅÒØ ÒÁÂÏÔÁÅÔ ÎÁ Linux.
</para>
<para lang="en">
now the "directio" directive works on Linux.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $pid.
</para>
<para lang="en">
the $pid variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÐÔÉÍÉÚÁÃÉÑ directio, ÐÏÑ×É×ÛÁÑÓÑ × 0.7.15, ÎÅ ÒÁÂÏÔÁÌÁ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ
open_file_cache.
</para>
<para lang="en">
the "directio" optimization that had appeared in 0.7.15 did not work with
open_file_cache.
</para>
</change>
<change type="bugfix">
<para lang="ru">
access_log Ó ÐÅÒÅÍÅÎÎÙÍÉ ÎÅ ÒÁÂÏÔÁÌ ÎÁ Linux;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.7.
</para>
<para lang="en">
the "access_log" with variables did not work on Linux;
the bug had appeared in 0.7.7.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_charset_module ÎÅ ÐÏÎÉÍÁÌ ÎÁÚ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ × ËÁ×ÙÞËÁÈ,
ÐÏÌÕÞÅÎÎÏÅ ÏÔ ÂÜËÅÎÄÁ.
</para>
<para lang="en">
the ngx_http_charset_module did not understand quoted charset name
received from backend.
</para>
</change>
</changes>
<changes ver="0.7.16" date="08.09.2008">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.15.
</para>
<para lang="en">
nginx could not be built on 64-bit platforms;
the bug had appeared in 0.7.15.
</para>
</change>
</changes>
<changes ver="0.7.15" date="08.09.2008">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_random_index_module.
</para>
<para lang="en">
the ngx_http_random_index_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á directio ÏÐÔÉÍÉÚÉÒÏ×ÁÎÁ ÄÌÑ ÚÁÐÒÏÓÏ× ÆÁÊÌÏ×, ÎÁÞÉÎÁÀÝÉÈÓÑ
Ó ÐÒÏÉÚ×ÏÌØÎÏÊ ÐÏÚÉÃÉÉ.
</para>
<para lang="en">
the "directio" directive has been optimized for file requests starting
from arbitrary position.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á directio ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÚÁÐÒÅÝÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ sendfile.
</para>
<para lang="en">
the "directio" directive turns off sendfile if it is necessary.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ nginx ÒÁÚÒÅÛÁÅÔ ÐÏÄÞ£ÒËÉ×ÁÎÉÑ × ÉÍÅÎÁÈ ÓÔÒÏË × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ.
</para>
<para lang="en">
now nginx allows underscores in a client request header line names.
</para>
</change>
</changes>
<changes ver="0.7.14" date="01.09.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù ssl_certificate É ssl_certificate_key ÎÅ ÉÍÅÀÔ
ÚÎÁÞÅÎÉÊ ÐÏ ÕÍÏÌÞÁÎÉÀ.
</para>
<para lang="en">
now the ssl_certificate and ssl_certificate_key directives have not
default values.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á listen ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ ssl.
</para>
<para lang="en">
the "listen" directive supports the "ssl" parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ nginx ÕÞÉÔÙ×ÁÅÔ ÉÚÍÅÎÅÎÉÅ ×ÒÅÍÅÎÎÏÊ ÚÏÎÙ
ÎÁ FreeBSD É Linux.
</para>
<para lang="en">
now nginx takes into account a time zone change while reconfiguration
on FreeBSD and Linux.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ ÄÉÒÅËÔÉ×Ù listen, ÔÁËÉÅ ËÁË backlog, rcvbuf É ÐÒÏÞÉÅ,
ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÌÉÓØ, ÅÓÌÉ ÓÅÒ×ÅÒÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÙÌ ÎÅ ÐÅÒ×ÙÊ ÓÅÒ×ÅÒ.
</para>
<para lang="en">
the "listen" directive parameters such as "backlog", "rcvbuf", etc.
were not set, if a default server was not the first one.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × ËÁÞÅÓÔ×Å ÁÒÇÕÍÅÎÔÏ× ÞÁÓÔÉ URI, ×ÙÄÅÌÅÎÎÏÇÏ Ó ÐÏÍÏÝØÀ
ÄÉÒÅËÔÉ×Ù rewrite, ÜÔÉ ÁÒÇÕÍÅÎÔÙ ÎÅ ÜËÒÁÎÉÒÏ×ÁÌÉÓØ.
</para>
<para lang="en">
if URI part captured by a "rewrite" directive was used as a query string,
then the query string was not escaped.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÌÕÞÛÅÎÉÑ ÔÅÓÔÉÒÏ×ÁÎÉÑ ÐÒÁ×ÉÌØÎÏÓÔÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ.
</para>
<para lang="en">
configuration file validity test improvements.
</para>
</change>
</changes>
<changes ver="0.7.13" date="26.08.2008">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Linux É Solaris;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.12.
</para>
<para lang="en">
nginx could not be built on Linux and Solaris;
the bug had appeared in 0.7.12.
</para>
</change>
</changes>
<changes ver="0.7.12" date="26.08.2008">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÕÓÔÏÅ ÉÍÑ "".
</para>
<para lang="en">
the "server_name" directive supports empty name "".
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á gzip_disable ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÐÅÃÉÁÌØÎÕÀ ÍÁÓËÕ msie6.
</para>
<para lang="en">
the "gzip_disable" directive supports special "msie6" mask.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÁÒÁÍÅÔÒÁ max_fails=0 × upstream'Å Ó ÎÅÓËÏÌØËÉÍÉ
ÓÅÒ×ÅÒÁÍÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ×ÙÈÏÄÉÌ ÐÏ ÓÉÇÎÁÌÕ SIGFPE.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
if the "max_fails=0" parameter was used in upstream with several servers,
then a worker process exited on a SIGFPE signal.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page
ÔÅÒÑÌÏÓØ ÔÅÌÏ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
a request body was dropped while redirection via an "error_page" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ Ó ÍÅÔÏÄÏÍ HEAD Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page
×ÏÚ×ÒÁÝÁÌÓÑ ÐÏÌÎÙÊ ÏÔ×ÅÔ.
</para>
<para lang="en">
a full response was returned for request method HEAD
while redirection via an "error_page" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÅÔÏÄ $r->header_in() ÎÅ ×ÏÚ×ÒÁÝÁÌ ÚÎÁÞÅÎÉÑ ÓÔÒÏË "Host", "User-Agent",
É "Connection" ÉÚ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.0.
</para>
<para lang="en">
the $r->header_in() method did not return value of the "Host",
"User-Agent", and "Connection" request header lines;
the bug had appeared in 0.7.0.
</para>
</change>
</changes>
<changes ver="0.7.11" date="18.08.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ngx_http_charset_module ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÒÁÂÏÔÁÅÔ MIME-ÔÉÐÏÍ text/css.
</para>
<para lang="en">
now ngx_http_charset_module does not work by default with text/css MIME type.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ nginx ×ÏÚ×ÒÁÝÁÅÔ ËÏÄ 405 ÄÌÑ ÍÅÔÏÄÁ POST ÐÒÉ ÚÁÐÒÏÓÅ ÓÔÁÔÉÞÅÓËÏÇÏ
ÆÁÊÌÁ, ÔÏÌØËÏ ÅÓÌÉ ÆÁÊÌ ÓÕÝÅÓÔ×ÕÅÔ.
</para>
<para lang="en">
now nginx returns the 405 status code for POST method requesting a static file
only if the file exists.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_ssl_session_reuse.
</para>
<para lang="en">
the "proxy_ssl_session_reuse" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ "X-Accel-Redirect"
ÄÉÒÅËÔÉ×Á proxy_pass ÂÅÚ URI ÍÏÇÌÁ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÒÉÇÉÎÁÌØÎÙÊ ÚÁÐÒÏÓ.
</para>
<para lang="en">
a "proxy_pass" directive without URI part might use original request
after the "X-Accel-Redirect" redirection was used;
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ Õ ËÁÔÁÌÏÇÁ ÂÙÌÉ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÔÏÌØËÏ ÎÁ ÐÏÉÓË ÆÁÊÌÏ×
É ÐÅÒ×ÙÊ ÉÎÄÅËÓÎÙÊ ÆÁÊÌ ÏÔÓÕÔÓÔ×Ï×ÁÌ, ÔÏ nginx ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 500.
</para>
<para lang="en">
if a directory has search only rights and the first index file was absent,
then nginx returned the 500 status code.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂÏË ×Ï ×ÌÏÖÅÎÎÙÈ location'ÁÈ;
ÏÛÉÂËÉ ÐÏÑ×ÉÌÉÓØ × 0.7.1.
</para>
<para lang="en">
in inclusive locations;
the bugs had appeared in 0.7.1.
</para>
</change>
</changes>
<changes ver="0.7.10" date="13.08.2008">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂÏË × ÄÉÒÅËÔÉ×ÁÈ addition_types, charset_types,
gzip_types, ssi_types, sub_filter_types É xslt_types;
ÏÛÉÂËÉ ÐÏÑ×ÉÌÉÓØ × 0.7.9.
</para>
<para lang="en">
in the "addition_types", "charset_types",
"gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives;
the bugs had appeared in 0.7.9.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÅËÕÒÓÉ×ÎÏÊ error_page ÄÌÑ 500 ÏÛÉÂËÉ.
</para>
<para lang="en">
of recursive error_page for 500 status code.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_realip_module ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÁÄÒÅÓ ÎÅ ÄÌÑ
×ÓÅÇÏ keepalive ÓÏÅÄÉÎÅÎÉÑ, Á ÄÌÑ ËÁÖÄÏÇÏ ÚÁÐÒÏÓÁ ÐÏ ÜÔÏÍÕ ÓÏÅÄÉÎÅÎÉÀ.
</para>
<para lang="en">
now the ngx_http_realip_module sets address not for whole keepalive connection,
but for each request passed via the connection.
</para>
</change>
</changes>
<changes ver="0.7.9" date="12.08.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ngx_http_charset_module ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁÂÏÔÁÅÔ ÓÏ ÓÌÅÄÕÀÝÉÍÉ MIME-ÔÉÐÁÍÉ:
text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
application/x-javascript É application/rss+xml.
</para>
<para lang="en">
now ngx_http_charset_module works by default with following MIME types:
text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
application/x-javascript, and application/rss+xml.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù charset_types É addition_types.
</para>
<para lang="en">
the "charset_types" and "addition_types" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù gzip_types, ssi_types É sub_filter_types ÉÓÐÏÌØÚÕÀÔ ÈÜÛ.
</para>
<para lang="en">
now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_cpp_test_module.
</para>
<para lang="en">
the ngx_cpp_test_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á expires ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÕÔÏÞÎÏÅ ×ÒÅÍÑ.
</para>
<para lang="en">
the "expires" directive supports daily time.
</para>
</change>
<change type="feature">
<para lang="ru">
ÕÌÕÞÛÅÎÉÑ É ÉÓÐÒÁ×ÌÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_xslt_module.<br/>
óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ É íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the ngx_http_xslt_module improvements and bug fixing.<br/>
Thanks to Denis F. Latypoff and Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á log_not_found ÎÅ ÒÁÂÏÔÁÌÁ ÐÒÉ ÐÏÉÓËÅ ÉÎÄÅËÓÎÙÈ ÆÁÊÌÏ×.
</para>
<para lang="en">
the "log_not_found" directive did not work for index files tests.
</para>
</change>
<change type="bugfix">
<para lang="ru">
HTTPS-ÓÏÅÄÉÎÅÎÉÑ ÍÏÇÌÉ ÚÁ×ÉÓÎÕÔØ,
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÍÅÔÏÄÙ kqueue, epoll, rtsig ÉÌÉ eventport;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.7.
</para>
<para lang="en">
HTTPS connections might hang,
if kqueue, epoll, rtsig, or eventport methods were used;
the bug had appeared in 0.7.7.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ server_name, valid_referers É map
ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÍÁÓËÁ ×ÉÄÁ "*.domain.tld" É ÐÒÉ ÜÔÏÍ ÐÏÌÎÏÅ ÉÍÑ
×ÉÄÁ "domain.tld" ÎÅ ÂÙÌÏ ÏÐÉÓÁÎÏ, ÔÏ ÜÔÏ ÉÍÑ ÐÏÐÁÄÁÌÏ ÐÏÄ ÍÁÓËÕ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.18.
</para>
<para lang="en">
if the "server_name", "valid_referers", and "map" directives used
an "*.domain.tld" wildcard and exact name "domain.tld" was not set,
then the exact name was matched by the wildcard;
the bug had appeared in 0.3.18.
</para>
</change>
</changes>
<changes ver="0.7.8" date="04.08.2008">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_xslt_module.
</para>
<para lang="en">
the ngx_http_xslt_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ "$arg_...".
</para>
<para lang="en">
the "$arg_..." variables.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ directio × Solaris.<br/>
óÐÁÓÉÂÏ Ivan Debnar.
</para>
<para lang="en">
Solaris directio support.<br/>
Thanks to Ivan Debnar.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ, ÅÓÌÉ FastCGI-ÓÅÒ×ÅÒ ÐÒÉÓÙÌÁÅÔ ÓÔÒÏËÕ "Location" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ
ÂÅÚ ÓÔÒÏËÉ ÓÔÁÔÕÓÁ, ÔÏ nginx ÉÓÐÏÌØÚÕÅÔ ËÏÄ ÓÔÁÔÕÓÁ 302.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
now if FastCGI server sends a "Location" header line without status line,
then nginx uses 302 status code.<br/>
Thanks to Maxim Dounin.
</para>
</change>
</changes>
<changes ver="0.7.7" date="30.07.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÏÛÉÂËÁ EAGAIN ÐÒÉ ×ÙÚÏ×Å connect() ÎÅ ÓÞÉÔÁÅÔÓÑ ×ÒÅÍÅÎÎÏÊ.
</para>
<para lang="en">
now the EAGAIN error returned by connect() is not considered as temporary error.
</para>
</change>
<change type="change">
<para lang="ru">
ÚÎÁÞÅÎÉÅÍ ÐÅÒÅÍÅÎÎÏÊ $ssl_client_cert ÔÅÐÅÒØ Ñ×ÌÑÅÔÓÑ ÓÅÒÔÉÆÉËÁÔ,
ÐÅÒÅÄ ËÁÖÄÏÊ ÓÔÒÏËÏÊ ËÏÔÏÒÏÇÏ, ËÒÏÍÅ ÐÅÒ×ÏÊ, ×ÓÔÁ×ÌÑÅÔÓÑ ÓÉÍ×ÏÌ ÔÁÂÕÌÑÃÉÉ;
ÎÅÉÚÍÅΣÎÎÙÊ ÓÅÒÔÉÆÉËÁÔ ÄÏÓÔÕÐÅÎ ÞÅÒÅÚ ÐÅÒÅÍÅÎÎÕÀ $ssl_client_raw_cert.
</para>
<para lang="en">
now the $ssl_client_cert variable value is a certificate with TAB character
intended before each line except first one;
an unchanged certificate is available in the $ssl_client_raw_cert variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ask ÄÉÒÅËÔÉ×Ù ssl_verify_client.
</para>
<para lang="en">
the "ask" parameter in the "ssl_verify_client" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÕÌÕÞÛÅÎÉÑ × ÏÂÒÁÂÏÔËÅ byte-range.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
byte-range processing improvements.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á directio.<br/>
óÐÁÓÉÂÏ Jiang Hong.
</para>
<para lang="en">
the "directio" directive.<br/>
Thanks to Jiang Hong.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ sendfile() × MacOSX 10.5.
</para>
<para lang="en">
MacOSX 10.5 sendfile() support.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× MacOSX É Cygwin ÐÒÉ ÐÒÏ×ÅÒËÅ location'Ï× ÔÅÐÅÒØ ÄÅÌÁÅÔÓÑ ÓÒÁ×ÎÅÎÉÅ
ÂÅÚ ÕÞ£ÔÁ ÒÅÇÉÓÔÒÁ ÓÉÍ×ÏÌÏ×;
ÏÄÎÁËÏ, ÓÒÁ×ÎÅÎÉÅ ÏÇÒÁÎÉÞÅÎÏ ÔÏÌØËÏ ÏÄÎÏÂÁÊÔÎÙÍÉ locale'ÑÍÉ.
</para>
<para lang="en">
now in MacOSX and Cygwin locations are tested in case insensitive mode;
however, the compare is provided by single-byte locales only.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏÅÄÉÎÅÎÉÑ ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ ÚÁ×ÉÓÁÌÉ × ÒÅÖÉÍÅ SSL,
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÍÅÔÏÄÙ select, poll ÉÌÉ /dev/poll.
</para>
<para lang="en">
mail proxy SSL connections hanged,
if select, poll, or /dev/poll methods were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÏÄÉÒÏ×ËÉ UTF-8 × ngx_http_autoindex_module.
</para>
<para lang="en">
UTF-8 encoding usage in the ngx_http_autoindex_module.
</para>
</change>
</changes>
<changes ver="0.7.6" date="07.07.2008">
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å access_log
×ÓÅÇÄÁ ÐÒÏ×ÅÒÑÅÔÓÑ ÓÕÝÅÓÔ×Ï×ÁÎÉÉ root'Á ÄÌÑ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
now if variables are used in the "access_log" directive
a request root existence is always tested.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_flv_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÎÅÓËÏÌØËÏ ÚÎÁÞÅÎÉÊ ×
ÁÒÇÕÍÅÎÔÁÈ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the ngx_http_flv_module did not support several values in a query string.
</para>
</change>
</changes>
<changes ver="0.7.5" date="01.07.2008">
<change>
<para lang="ru">
éÓÐÒÁ×ÌÅÎÉÑ × ÐÏÄÄÅÒÖËÅ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å access_log;
ÏÛÉÂËÉ ÐÏÑ×ÉÌÉÓØ × 0.7.4.
</para>
<para lang="en">
Bugfixes in variables support in the "access_log" directive;
the bugs had appeared in 0.7.4.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http_gzip_module;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.3.<br/>
óÐÁÓÉÂÏ ëÉÒÉÌÌÕ ëÏÒÉÎÓËÏÍÕ.
</para>
<para lang="en">
nginx could not be built --without-http_gzip_module;
the bug had appeared in 0.7.3.<br/>
Thanks to Kirill A. Korinskiy.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÓÏ×ÍÅÓÔÎÏÍ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sub_filter É SSI
ÏÔ×ÅÔÙ ÍÏÇÌÉ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ×ÅÒÎÏ.
</para>
<para lang="en">
if sub_filter and SSI were used together, then responses might
were transferred incorrectly.
</para>
</change>
</changes>
<changes ver="0.7.4" date="30.06.2008">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á access_log ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
variables support in the "access_log" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á open_log_file_cache.
</para>
<para lang="en">
the "open_log_file_cache" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ËÌÀÞ -g.
</para>
<para lang="en">
the -g switch.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ ÓÔÒÏËÉ "Expect" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the "Expect" request header line support.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÏÌØÛÉÅ ×ËÌÀÞÅÎÉÑ × SSI ÍÏÇÌÉ ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
large SSI inclusions might be truncated.
</para>
</change>
</changes>
<changes ver="0.7.3" date="23.06.2008">
<change type="change">
<para lang="ru">
MIME-ÔÉÐ ÄÌÑ ÒÁÓÛÉÒÅÎÉÑ rss ÉÚÍÅΣΠÎÁ "application/rss+xml".
</para>
<para lang="en">
the "rss" extension MIME type has been changed to "application/rss+xml".
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á "gzip_vary on" ×ÙÄÁ£Ô ÓÔÒÏËÕ
<nobr>"Vary: Accept-Encoding"</nobr>
× ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ É ÄÌÑ ÎÅÓÖÁÔÙÈ ÏÔ×ÅÔÏ×.
</para>
<para lang="en">
now the "gzip_vary" directive turned on issues
a <nobr>"Vary: Accept-Encoding"</nobr>
header line for uncompressed responses too.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ "https://" × ÄÉÒÅËÔÉ×Å rewrite
Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÅÌÁÅÔÓÑ ÒÅÄÉÒÅËÔ.
</para>
<para lang="en">
now the "rewrite" directive does a redirect automatically
if the "https://" protocol is used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass ÎÅ ÒÁÂÏÔÁÌÁ Ó ÐÒÏÔÏËÏÌÏÍ HTTPS;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.9.
</para>
<para lang="en">
the "proxy_pass" directive did not work with the HTTPS protocol;
the bug had appeared in 0.6.9.
</para>
</change>
</changes>
<changes ver="0.7.2" date="16.06.2008">
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ nginx ÐÏÄÄÅÒÖÉ×ÁÅÔ ÛÉÆÒÙ Ó ÏÂÍÅÎÏÍ EDH-ËÌÀÞÁÍÉ.
</para>
<para lang="en">
now nginx supports EDH key exchange ciphers.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_dhparam.
</para>
<para lang="en">
the "ssl_dhparam" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $ssl_client_cert.<br/>
óÐÁÓÉÂÏ Manlio Perillo.
</para>
<para lang="en">
the $ssl_client_cert variable.<br/>
Thanks to Manlio Perillo.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ URI Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù rewrite nginx ÎÅ ÉÓËÁÌ ÎÏ×ÙÊ location;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.1.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
after changing URI via a "rewrite" directive nginx did not search
a new location;
the bug had appeared in 0.7.1.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÂÉÂÌÉÏÔÅËÉ PCRE;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.1.
</para>
<para lang="en">
nginx could not be built without PCRE library;
the bug had appeared in 0.7.1.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÒÅÄÉÒÅËÔÅ ÚÁÐÒÏÓÁ Ë ËÁÔÁÌÏÇÕ Ó ÄÏÂÁ×ÌÅÎÉÅÍ ÓÌÜÛÁ nginx
ÎÅ ÄÏÂÁ×ÌÑÌ ÁÒÇÕÍÅÎÔÙ ÉÚ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
when a request to a directory was redirected with the slash added,
nginx dropped a query string from the original request.
</para>
</change>
</changes>
<changes ver="0.7.1" date="26.05.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÏÉÓË location'Á ÄÅÌÁÅÔÓÑ Ó ÐÏÍÏÝØÀ ÄÅÒÅ×Á.
</para>
<para lang="en">
now locations are searched in a tree.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á optimize_server_names ÕÐÒÁÚÄÎÅÎÁ × Ó×ÑÚÉ Ó ÐÏÑ×ÌÅÎÉÅÍ
ÄÉÒÅËÔÉ×Ù server_name_in_redirect.
</para>
<para lang="en">
the "optimize_server_names" directive was canceled
due to the "server_name_in_redirect" directive introduction.
</para>
</change>
<change type="change">
<para lang="ru">
ÎÅËÏÔÏÒÙÅ ÄÁ×ÎÏ ÕÓÔÁÒÅ×ÛÉÅ ÄÉÒÅËÔÉ×Ù ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ.
</para>
<para lang="en">
some long deprecated directives are not supported anymore.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒ "none" × ÄÉÒÅËÔÉ×Å ssl_session_cache;
ÔÅÐÅÒØ ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ.<br/>
óÐÁÓÉÂÏ Rob Mueller.
</para>
<para lang="en">
the "none" parameter in the "ssl_session_cache" directive;
now this is default parameter.<br/>
Thanks to Rob Mueller.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÍÏÇÌÉ ÎÅ ÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ÓÉÇÎÁÌÙ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ
É ÒÏÔÁÃÉÉ ÌÏÇÏ×.
</para>
<para lang="en">
worker processes might not catch reconfiguration and log rotation signals.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÏÓÌÅÄÎÉÈ Fedora 9 Linux.<br/>
óÐÁÓÉÂÏ Roxis.
</para>
<para lang="en">
nginx could not be built on latest Fedora 9 Linux.<br/>
Thanks to Roxis.
</para>
</change>
</changes>
<changes ver="0.7.0" date="19.05.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÓÉÍ×ÏÌÙ 0x00-0x1F, '"' É '\' × access_log ÚÁÐÉÓÙ×ÁÀÔÓÑ × ×ÉÄÅ \xXX.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an
access_log.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ nginx ÒÁÚÒÅÛÁÅÔ ÎÅÓËÏÌØËÏ ÓÔÒÏË "Host" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
now nginx allows several "Host" request header line.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á expires ÐÏÄÄÅÒÖÉ×ÁÅÔ ÆÌÁÇ modified.
</para>
<para lang="en">
the "modified" flag in the "expires" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ $uid_got É $uid_set ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁ ÌÀÂÏÊ ÓÔÁÄÉÉ ÏÂÒÁÂÏÔËÉ
ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the $uid_got and $uid_set variables may be used at any request processing stage.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $hostname.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
the $hostname variable.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ DESTDIR.<br/>
óÐÁÓÉÂÏ Todd A. Fisher É Andras Voroskoi.
</para>
<para lang="en">
DESTDIR support.<br/>
Thanks to Todd A. Fisher and Andras Voroskoi.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ keepalive ÎÁ Linux
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process on Linux,
if keepalive was enabled.
</para>
</change>
</changes>
<changes ver="0.6.31" date="12.05.2008">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÏÂÒÁÂÁÔÙ×ÁÌ ÏÔ×ÅÔ FastCGI-ÓÅÒ×ÅÒÁ, ÅÓÌÉ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔ ÂÙÌÁ
× ËÏÎÃÅ ÚÁÐÉÓÉ FastCGI;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.2.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ óÅÒÏ×Õ.
</para>
<para lang="en">
nginx did not process FastCGI response
if header was at the end of FastCGI record;
the bug had appeared in 0.6.2.<br/>
Thanks to Sergey Serov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÕÄÁÌÅÎÉÉ ÆÁÊÌÁ É ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù open_file_cache_errors off
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process if a file was deleted
and the "open_file_cache_errors" directive was off.
</para>
</change>
</changes>
<changes ver="0.6.30" date="29.04.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ, ÅÓÌÉ ÍÁÓËÅ, ÚÁÄÁÎÎÏÊ × ÄÉÒÅËÔÉ×Å include, ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ
ÎÉ ÏÄÉÎ ÆÁÊÌ, ÔÏ nginx ÎÅ ×ÙÄÁ£Ô ÏÛÉÂËÕ.
</para>
<para lang="en">
now if an "include" directive pattern does not match any file,
then nginx does not issue an error.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ×ÒÅÍÑ × ÄÉÒÅËÔÉ×ÁÈ ÍÏÖÎÏ ÚÁÄÁ×ÁÔØ ÂÅÚ ÐÒÏÂÅÌÁ, ÎÁÐÒÉÍÅÒ, "1h50m".
</para>
<para lang="en">
now the time in directives may be specified without spaces,
for example, "1h50m".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞÅË ÐÁÍÑÔÉ, ÅÓÌÉ ÄÉÒÅËÔÉ×Á ssl_verify_client ÉÍÅÌÁ ÚÎÁÞÅÎÉÅ on.<br/>
óÐÁÓÉÂÏ Chavelle Vincent.
</para>
<para lang="en">
memory leaks if the "ssl_verify_client" directive was on.<br/>
Thanks to Chavelle Vincent.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á sub_filter ÍÏÇÌÁ ×ÓÔÁ×ÌÑÔØ ÚÁÍÅÎÑÅÍÙÊ ÔÅËÓÔ × ×Ù×ÏÄ.
</para>
<para lang="en">
the "sub_filter" directive might set text to change into output.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á error_page ÎÅ ×ÏÓÐÒÉÎÉÍÁÌÁ ÐÁÒÁÍÅÔÒÙ × ÐÅÒÅÎÁÐÒÁ×ÌÑÅÍÏÍ URI.
</para>
<para lang="en">
the "error_page" directive did not take into account arguments in
redirected URI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÓÂÏÒËÅ Ó Cygwin nginx ×ÓÅÇÄÁ ÏÔËÒÙ×ÁÅÔ ÆÁÊÌÙ × ÂÉÎÁÒÎÏÍ ÒÅÖÉÍÅ.
</para>
<para lang="en">
now nginx always opens files in binary mode under Cygwin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ OpenBSD;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.15.
</para>
<para lang="en">
nginx could not be built on OpenBSD;
the bug had appeared in 0.6.15.
</para>
</change>
</changes>
<changes ver="0.6.29" date="18.03.2008">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_google_perftools_module.
</para>
<para lang="en">
the ngx_google_perftools_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.27.
</para>
<para lang="en">
the ngx_http_perl_module could not be built on 64-bit platforms;
the bug had appeared in 0.6.27.
</para>
</change>
</changes>
<changes ver="0.6.28" date="13.03.2008">
<change type="bugfix">
<para lang="ru">
ÍÅÔÏÄ rtsig ÎÅ ÓÏÂÉÒÁÌÓÑ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.27.
</para>
<para lang="en">
the rtsig method could not be built;
the bug had appeared in 0.6.27.
</para>
</change>
</changes>
<changes ver="0.6.27" date="12.03.2008">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÎÁ Linux 2.6.18+ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÓÏÂÉÒÁÅÔÓÑ ÍÅÔÏÄ rtsig.
</para>
<para lang="en">
now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr>
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ × ÉÍÅÎÏ×ÁÎÎÙÊ location Ó ÐÏÍÏÝØÀ
ÄÉÒÅËÔÉ×Ù error_page ÍÅÔÏÄ ÚÁÐÒÏÓÁ ÎÅ ÉÚÍÅÎÑÅÔÓÑ.
</para>
<para lang="en">
now a request method is not changed while redirection to a named location
via an "error_page" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù resolver É resolver_timeout × SMTP ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ.
</para>
<para lang="en">
the "resolver" and "resolver_timeout" directives in SMTP proxy.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á post_action ÐÏÄÄÅÒÖÉ×ÁÅÔ ÉÍÅÎÏ×ÁÎÎÙÅ location'Ù.
</para>
<para lang="en">
the "post_action" directive supports named locations.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ ÉÚ location'Á c ÏÂÒÁÂÏÔÞÉËÏÍ proxy, FastCGI
ÉÌÉ memcached × ÉÍÅÎÏ×ÁÎÎÙÊ location ÓÏ ÓÔÁÔÉÞÅÓËÉÍ ÏÂÒÁÂÏÔÞÉËÏÍ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if a request was redirected from proxy, FastCGI, or memcached location
to static named locations.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÒÁÕÚÅÒÙ ÎÅ ÐÏ×ÔÏÒÑÌÉ SSL handshake, ÅÓÌÉ ÐÒÉ ÐÅÒ×ÏÍ handshake
ÎÅ ÏËÁÚÁÌÏÓØ ÐÒÁ×ÉÌØÎÏÇÏ ËÌÉÅÎÔÓËÏÇÏ ÓÅÒÔÉÆÉËÁÔÁ.
<br/>
óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ éÎÀÈÉÎÕ.
</para>
<para lang="en">
browsers did not repeat SSL handshake if there is no valid client certificate
in first handshake.
<br/>
Thanks to Alexander V. Inyukhin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂÏË 495-497 Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page
ÂÅÚ ÉÚÍÅÎÅÎÉÑ ËÏÄÁ ÏÛÉÂËÉ nginx ÐÙÔÁÌÓÑ ×ÙÄÅÌÉÔØ ÏÞÅÎØ ÍÎÏÇÏ ÐÁÍÑÔÉ.
</para>
<para lang="en">
if response code 495-497 was redirected via an "error_page" directive
without code change, then nginx tried to allocate too many memory.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞËÉ ÐÁÍÑÔÉ × ÄÏÌÇÏÖÉ×ÕÝÉÈ ÎÅÂÕÆÆÅÒÉÚÉÒÏ×ÁÎÎÙÈ ÓÏÅÄÉÎÅÎÉÑÈ.
</para>
<para lang="en">
memory leak in long-lived non buffered connections.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞËÉ ÐÁÍÑÔÉ × resolver'Å.
</para>
<para lang="en">
memory leak in resolver.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ ÉÚ location'Á c ÏÂÒÁÂÏÔÞÉËÏÍ proxy
× ÄÒÕÇÏÊ location Ó ÏÂÒÁÂÏÔÞÉËÏÍ proxy
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if a request was redirected from proxy, FastCGI, or memcached location
to static named locations.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ × ËÜÛÉÒÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ $proxy_host É $proxy_port.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ.
</para>
<para lang="en">
in the $proxy_host and $proxy_port variables caching.<br/>
Thanks to Sergey Bochenkov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass Ó ÐÅÒÅÍÅÎÎÙÍÉ ÉÓÐÏÌØÚÏ×ÁÌÁ ÐÏÒÔ, ÏÐÉÓÁÎÎÏÊ × ÄÒÕÇÏÊ
ÄÉÒÅËÔÉ×Å proxy_pass ÂÅÚ ÐÅÒÅÍÅÎÎÙÈ, ÎÏ Ó ÔÁËÉÍ ÖÅ ÉÍÅÎÅÍ ÈÏÓÔÁ.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ.
</para>
<para lang="en">
a "proxy_pass" directive with variables used incorrectly the same port
as in another "proxy_pass" directive with the same host name
and without variables.<br/>
Thanks to Sergey Bochenkov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÎÁ ÎÅËÏÔÏÒÙÈ 64-ÂÉÔÎÏÍ ÐÌÁÔÆÏÒÍÁÈ × ÌÏÇ
ÚÁÐÉÓÙ×ÁÌÓÑ alert "sendmsg() failed (9: Bad file descriptor)".
</para>
<para lang="en">
an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
while reconfiguration.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÏ×ÔÏÒÎÏÍ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × SSI ÐÕÓÔÏÇÏ block'Á × ËÁÞÅÓÔ×Å ÚÁÇÌÕÛËÉ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if empty stub block was used second time in SSI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ËÏÐÉÒÏ×ÁÎÉÉ ÞÁÓÔÉ URI, ÓÏÄÅÒÖÁÝÅÇÏ ÜËÒÁÎÉÒÏ×ÁÎÎÙÅ ÓÉÍ×ÏÌÙ,
× ÁÒÇÕÍÅÎÔÙ.
</para>
<para lang="en">
in copying URI part contained escaped symbols into arguments.
</para>
</change>
</changes>
<changes ver="0.6.26" date="11.02.2008">
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_store É fastcgi_store ÎÅ ÐÒÏ×ÅÒÑÌÉ ÄÌÉÎÕ ÏÔ×ÅÔÁ.
</para>
<para lang="en">
the "proxy_store" and "fastcgi_store" directives did not check
a response length.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ÚÎÁÞÅÎÉÑ × ÄÉÒÅËÔÉ×Å expires
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.<br/>
óÐÁÓÉÂÏ Joaquin Cuenca Abela.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if big value was used in a "expires" directive.<br/>
Thanks to Joaquin Cuenca Abela.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ×ÅÒÎÏ ÏÐÒÅÄÅÌÑÌ ÄÌÉÎÕ ÓÔÒÏËÉ ËÜÛÁ ÎÁ <nobr>Pentium 4.</nobr><br/>
óÐÁÓÉÂÏ çÅÎÎÁÄÉÀ íÁÈÏÍÅÄÕ.
</para>
<para lang="en">
nginx incorrectly detected cache line size on Pentium 4.<br/>
Thanks to Gena Makhomed.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÒÏËÓÉÒÏ×ÁÎÎÙÈ ÐÏÄÚÁÐÒÏÓÁÈ É ÐÏÄÚÁÐÒÏÓÁÈ Ë FastCGI-ÓÅÒ×ÅÒÕ
×ÍÅÓÔÏ ÍÅÔÏÄÁ GET ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÏÒÉÇÉÎÁÌØÎÙÊ ÍÅÔÏÄ ËÌÉÅÎÔÁ.
</para>
<para lang="en">
in proxied or FastCGI subrequests a client original method was used
instead of the GET method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞËÉ ÓÏËÅÔÏ× × ÒÅÖÉÍÅ HTTPS ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÔÌÏÖÅÎÎÏÇÏ accept'Á.<br/>
óÐÁÓÉÂÏ Ben Maurer.
</para>
<para lang="en">
socket leak in HTTPS mode if deferred accept was used.<br/>
Thanks to Ben Maurer.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ×ÙÄÁ×ÁÌ ÏÛÉÂÏÞÎÏÅ ÓÏÏÂÝÅÎÉÅ "SSL_shutdown() failed (SSL: )";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23.
</para>
<para lang="en">
nginx issued the bogus error message "SSL_shutdown() failed (SSL: )";
the bug had appeared in 0.6.23.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS ÚÁÐÒÏÓÙ ÍÏÇÌÉ ÚÁ×ÅÒÛÁÔØÓÑ Ó ÏÛÉÂËÏÊ "bad write retry";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23.
</para>
<para lang="en">
in HTTPS mode requests might fail with the "bad write retry" error;
the bug had appeared in 0.6.23.
</para>
</change>
</changes>
<changes ver="0.6.25" date="08.01.2008">
<change type="change">
<para lang="ru">
×ÍÅÓÔÏ ÓÐÅÃÉÁÌØÎÏÇÏ ÐÁÒÁÍÅÔÒÁ "*" × ÄÉÒÅËÔÉ×Å server_name ÔÅÐÅÒØ
ÉÓÐÏÌØÚÕÅÔÓÑ ÄÉÒÅËÔÉ×Á server_name_in_redirect.
</para>
<para lang="en">
now the "server_name_in_redirect" directive is used instead of
the "server_name" directive's special "*" parameter.
</para>
</change>
<change type="change">
<para lang="ru">
× ËÁÞÅÓÔ×Å ÏÓÎÏ×ÎÏÇÏ ÉÍÅÎÉ × ÄÉÒÅËÔÉ×Å server_name ÔÅÐÅÒØ
ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÍÅÎÁ Ó ÍÁÓËÁÍÉ É ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ.
</para>
<para lang="en">
now wildcard and regex names can be used as main name in
a "server_name" directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á satisfy_any ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ satisfy.
</para>
<para lang="en">
the "satisfy_any" directive was replaced by the "satisfy" directive.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÐÏÓÌÅ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÓÔÁÒÙÅ ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓ ÍÏÇÌÉ ÓÉÌØÎÏ ÎÁÇÒÕÖÁÔØ ÐÒÏÃÅÓÓÏÒ
ÐÒÉ ÚÁÐÕÓËÅ ÐÏÄ Linux OpenVZ.
</para>
<para lang="en">
old worker processes might hog CPU after reconfiguration if they was run
under Linux OpenVZ.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á min_delete_depth.
</para>
<para lang="en">
the "min_delete_depth" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÅÔÏÄÙ COPY É MOVE ÎÅ ÒÁÂÏÔÁÌÉ Ó ÏÄÉÎÏÞÎÙÍÉ ÆÁÊÌÁÍÉ.
</para>
<para lang="en">
the COPY and MOVE methods did not work with single files.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_gzip_static_module ÎÅ ÐÏÚ×ÏÌÑÌ ÒÁÂÏÔÁÔØ ÍÏÄÕÌÀ
ngx_http_dav_module;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23.
</para>
<para lang="en">
the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work;
the bug had appeared in 0.6.23.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞËÉ ÓÏËÅÔÏ× × ÒÅÖÉÍÅ HTTPS ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÔÌÏÖÅÎÎÏÇÏ accept'Á.<br/>
óÐÁÓÉÂÏ Ben Maurer.
</para>
<para lang="en">
socket leak in HTTPS mode if deferred accept was used.<br/>
Thanks to Ben Maurer.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÂÉÂÌÉÏÔÅËÉ PCRE;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23.
</para>
<para lang="en">
nginx could not be built without PCRE library;
the bug had appeared in 0.6.23.
</para>
</change>
</changes>
<changes ver="0.6.24" date="27.12.2007">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23.
</para>
<para lang="en">
a segmentation fault might occur in worker process if HTTPS was used;
the bug had appeared in 0.6.23.
</para>
</change>
</changes>
<changes ver="0.6.23" date="27.12.2007">
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒ "off" × ÄÉÒÅËÔÉ×Å ssl_session_cache;
ÔÅÐÅÒØ ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ.
</para>
<para lang="en">
the "off" parameter in the "ssl_session_cache" directive;
now this is default parameter.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á open_file_cache_retest ÐÅÒÅÉÍÅÎÏ×ÁÎÁ × open_file_cache_valid.
</para>
<para lang="en">
the "open_file_cache_retest" directive was renamed
to the "open_file_cache_valid".
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á open_file_cache_min_uses.
</para>
<para lang="en">
the "open_file_cache_min_uses" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_gzip_static_module.
</para>
<para lang="en">
the ngx_http_gzip_static_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á gzip_disable.
</para>
<para lang="en">
the "gzip_disable" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Õ memcached_pass ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ if.
</para>
<para lang="en">
the "memcached_pass" directive may be used inside the "if" block.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÎÕÔÒÉ ÏÄÎÏÇÏ location'Á ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÄÉÒÅËÔÉ×Ù "memcached_pass" É "if",
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if the "memcached_pass" and "if" directives were used in the same location.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù satisfy_any on" ÂÙÌÉ ÚÁÄÁÎÙ ÄÉÒÅËÔÉ×Ù
ÎÅ ×ÓÅÈ ÍÏÄÕÌÅÊ ÄÏÓÔÕÐÁ, ÔÏ ÚÁÄÁÎÎÙÅ ÄÉÒÅËÔÉ×Ù ÎÅ ÐÒÏ×ÅÒÑÌÉÓØ.
</para>
<para lang="en">
if a "satisfy_any on" directive was used and not all access and auth modules
directives were set, then other given access and auth directives
were not tested;
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ, ÚÁÄÁÎÎÙÅ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ × ÄÉÒÅËÔÉ×Å valid_referers,
ÎÅ ÎÁÓÌÅÄÏ×ÁÌÁÓØ Ó ÐÒÅÄÙÄÕÝÅÇÏ ÕÒÏ×ÎÑ.
</para>
<para lang="en">
regex parameters in a "valid_referers" directive were not inherited
from previous level.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á post_action ÎÅ ÒÁÂÏÔÁÌÁ, ÅÓÌÉ ÚÁÐÒÏÓ ÚÁ×ÅÒÛÁÌÓÑ Ó ËÏÄÏÍ 499.
</para>
<para lang="en">
a "post_action" directive did run if a request was completed
with 499 status code.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÐÔÉÍÉÚÁÃÉÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ 16K ÂÕÆÅÒÁ ÄÌÑ SSL-ÓÏÅÄÉÎÅÎÉÑ.<br/>
óÐÁÓÉÂÏ Ben Maurer.
</para>
<para lang="en">
optimization of 16K buffer usage in a SSL connection.<br/>
Thanks to Ben Maurer.
</para>
</change>
<change type="bugfix">
<para lang="ru">
STARTTLS × ÒÅÖÉÍÅ SMTP ÎÅ ÒÁÂÏÔÁÌ.<br/>
óÐÁÓÉÂÏ ïÌÅÇÕ íÏÔÉÅÎËÏ.
</para>
<para lang="en">
the STARTTLS in SMTP mode did not work.<br/>
Thanks to Oleg Motienko.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS ÚÁÐÒÏÓÙ ÍÏÇÌÉ ÚÁ×ÅÒÛÁÔØÓÑ Ó ÏÛÉÂËÏÊ "bad write retry";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.13.
</para>
<para lang="en">
in HTTPS mode requests might fail with the "bad write retry" error;
the bug had appeared in 0.5.13.
</para>
</change>
</changes>
<changes ver="0.6.22" date="19.12.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ×ÓÅ ÍÅÔÏÄÙ ÍÏÄÕÌÑ ngx_http_perl_module
×ÏÚ×ÒÁÝÁÀÔ ÚÎÁÞÅÎÉÑ, ÓËÏÐÉÒÏ×ÁÎÎÙÅ × ÐÁÍÑÔØ, ×ÙÄÅÌÅÎÎÕÀ perl'ÏÍ.
</para>
<para lang="en">
now all ngx_http_perl_module methods return values copied to perl's
allocated memory.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module,
ÉÓÐÏÌØÚÏ×ÁÌÓÑ perl ÄÏ ×ÅÒÓÉÉ 5.8.6 É perl ÐÏÄÄÅÒÖÉ×ÁÌ ÐÏÔÏËÉ,
ÔÏ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ Á×ÁÒÉÊÎÏ ×ÙÈÏÄÉÌ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.9.<br/>
óÐÁÓÉÂÏ âÏÒÉÓÕ öÍÕÒÏ×Õ.
</para>
<para lang="en">
if nginx was built with ngx_http_perl_module,
the perl before 5.8.6 was used, and perl supported threads,
then during reconfiguration the master process aborted;
the bug had appeared in 0.5.9.<br/>
Thanks to Boris Zhmurov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÍÅÔÏÄÙ ÍÏÄÕÌÑ ngx_http_perl_module
ÍÏÇÌÉ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ×ÅÒÎÙÅ ÒÅÚÕÌØÔÁÔÙ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ.
</para>
<para lang="en">
the ngx_http_perl_module methods may get invalid values of the regex captures.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÍÅÔÏÄ $r->has_request_body() ×ÙÚÙ×ÁÌÓÑ ÄÌÑ ÚÁÐÒÏÓÁ,
Õ ËÏÔÏÒÏÇÏ ÎÅÂÏÌØÛÏÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ÂÙÌÏ ÕÖÅ ÐÏÌÎÏÓÔØÀ ÐÏÌÕÞÅÎÏ,
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process,
if the $r->has_request_body() method was called for a request
whose small request body was already received.
</para>
</change>
<change type="bugfix">
<para lang="ru">
large_client_header_buffers ÎÅ ÏÓ×ÏÂÏÖÄÁÌÉÓØ ÐÅÒÅÄ ÐÅÒÅÈÏÄÏÍ × ÓÏÓÔÏÑÎÉÅ
keep-alive.<br/>
óÐÁÓÉÂÏ ïÌÅËÓÁÎÄÒÕ ûÔÅÐÅ.
</para>
<para lang="en">
large_client_header_buffers did not freed before going to keep-alive state.<br/>
Thanks to Olexander Shtepa.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÅÒÅÍÅÎÎÏÊ $upstream_addr ÎÅ ÚÁÐÉÓÙ×ÁÌÓÑ ÐÏÓÌÅÄÎÉÊ ÁÄÒÅÓ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.18.
</para>
<para lang="en">
the last address was missed in the $upstream_addr variable;
the bug had appeared in 0.6.18.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_catch_stderr ÎÅ ×ÏÚ×ÒÁÝÁÌÁ ÏÛÉÂËÕ;
ÔÅÐÅÒØ ÏÎÁ ×ÏÚ×ÒÁÝÁÅÔ ÏÛÉÂËÕ 502, ËÏÔÏÒÕÀ ÍÏÖÎÏ ÎÁÐÒÁ×ÉÔØ ÎÁ ÓÌÅÄÕÀÝÉÊ ÓÅÒ×ÅÒ
Ó ÐÏÍÏÝØÀ "fastcgi_next_upstream invalid_header".
</para>
<para lang="en">
the "fastcgi_catch_stderr" directive did return error code;
now it returns 502 code, that can be rerouted to a next server using
the "fastcgi_next_upstream invalid_header" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù fastcgi_catch_stderr
× ÏÓÎÏ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.10.<br/>
óÐÁÓÉÂÏ Manlio Perillo.
</para>
<para lang="en">
a segmentation fault occurred in master process
if the "fastcgi_catch_stderr" directive was used;
the bug had appeared in 0.6.10.<br/>
Thanks to Manlio Perillo.
</para>
</change>
</changes>
<changes ver="0.6.21" date="03.12.2007">
<change type="change">
<para lang="ru">
ÅÓÌÉ × ÚÎÁÞÅÎÉÑÈ ÐÅÒÅÍÅÎÎÙÈ ÄÉÒÅËÔÉ×Ù proxy_pass ÉÓÐÏÌØÚÕÀÔÓÑ
ÔÏÌØËÏ IP-ÁÄÒÅÓÁ, ÔÏ ÕËÁÚÙ×ÁÔØ resolver ÎÅ ÎÕÖÎÏ.
</para>
<para lang="en">
if variable values used in a "proxy_pass" directive contain IP-addresses only,
then a "resolver" directive is not mandatory.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù proxy_pass c URI-ÞÁÓÔØÀ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.19.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if a "proxy_pass" directive with URI-part was used;
the bug had appeared in 0.6.19.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ resolver ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÍÅÔÏÄ kqueue,
ÔÏ nginx ×ÙÄÁ×ÁÌ alert "name is out of response".<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
if resolver was used on platform that does not support kqueue,
then nginx issued an alert "name is out of response".<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $server_protocol × FastCGI-ÐÁÒÁÍÅÔÒÁÈ
É ÚÁÐÒÏÓÅ, ÄÌÉÎÁ ËÏÔÏÒÏÇÏ ÂÙÌÁ ÂÌÉÚËÁ Ë ÚÎÁÞÅÎÉÀ ÄÉÒÅËÔÉ×Ù
client_header_buffer_size,
nginx ×ÙÄÁ×ÁÌ alert "fastcgi: the request record is too big".
</para>
<para lang="en">
if the $server_protocol was used in FastCGI parameters
and a request line length was near to the "client_header_buffer_size"
directive value,
then nginx issued an alert "fastcgi: the request record is too big".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÏÂÙÞÎÏÍ ÚÁÐÒÏÓÅ ×ÅÒÓÉÉ HTTP/0.9 Ë HTTPS ÓÅÒ×ÅÒÕ nginx ×ÏÚ×ÒÁÝÁÌ
ÏÂÙÞÎÙÊ ÏÔ×ÅÔ.
</para>
<para lang="en">
if a plain text HTTP/0.9 version request was made to HTTPS server,
then nginx returned usual response.
</para>
</change>
</changes>
<changes ver="0.6.20" date="28.11.2007">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù proxy_pass c URI-ÞÁÓÔØÀ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.19.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if a "proxy_pass" directive with URI-part was used;
the bug had appeared in 0.6.19.
</para>
</change>
</changes>
<changes ver="0.6.19" date="27.11.2007">
<change type="bugfix">
<para lang="ru">
×ÅÒÓÉÑ 0.6.18 ÎÅ ÓÏÂÉÒÁÌÁÓØ.
</para>
<para lang="en">
the 0.6.18 version could not be built.
</para>
</change>
</changes>
<changes ver="0.6.18" date="27.11.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_userid_module × ÐÏÌÅ ËÕËÉ Ó ÎÏÍÅÒÏÍ ÐÒÏÃÅÓÓÁ
ÄÏÂÁ×ÌÑÅÔ ÍÉËÒÏÓÅËÕÎÄÙ ÎÁ ×ÒÅÍÑ ÓÔÁÒÔÁ.
</para>
<para lang="en">
now the ngx_http_userid_module adds start time microseconds
to the cookie field contains a pid value.
</para>
</change>
<change type="change">
<para lang="ru">
× error_log ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÐÏÌÎÁÑ ÓÔÒÏËÁ ÚÁÐÒÏÓÁ ×ÍÅÓÔÏ ÔÏÌØËÏ URI.
</para>
<para lang="en">
now the full request line instead of URI only is written to error_log.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
variables support in the "proxy_pass" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù resolver É resolver_timeout.
</para>
<para lang="en">
the "resolver" and "resolver_timeout" directives.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á "add_header last-modified ''" ÕÄÁÌÑÅÔ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ
ÓÔÒÏËÕ "Last-Modified".
</para>
<para lang="en">
now the directive "add_header last-modified ''" deletes a "Last-Modified"
response header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á limit_rate ÎÅ ÐÏÚ×ÏÌÑÌÁ ÐÅÒÅÄÁ×ÁÔØ ÎÁ ÐÏÌÎÏÊ ÓËÏÒÏÓÔÉ,
ÄÁÖÅ ÅÓÌÉ ÂÙÌ ÕËÁÚÁÎ ÏÞÅÎØ ÂÏÌØÛÏÊ ÌÉÍÉÔ.
</para>
<para lang="en">
the "limit_rate" directive did not allow to use full throughput,
even if limit value was very high.
</para>
</change>
</changes>
<changes ver="0.6.17" date="15.11.2007">
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ ÓÔÒÏËÉ "If-Range" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.<br/>
óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ éÎÀÈÉÎÕ.
</para>
<para lang="en">
the "If-Range" request header line support.<br/>
Thanks to Alexander V. Inyukhin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù msie_refresh ÐÏ×ÔÏÒÎÏ ÜËÒÁÎÉÒÏ×ÁÌÉÓØ
ÕÖÅ ÜËÒÁÎÉÒÏ×ÁÎÎÙÅ ÓÉÍ×ÏÌÙ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.4.
</para>
<para lang="en">
URL double escaping in a redirect of the "msie_refresh" directive;
the bug had appeared in 0.6.4.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á autoindex ÎÅ ÒÁÂÏÔÁÌÁ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "alias /".
</para>
<para lang="en">
the "autoindex" directive did not work with the "alias /" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÏÄÚÁÐÒÏÓÏ×
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process if subrequests were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL É gzip ÂÏÌØÛÉÅ ÏÔ×ÅÔÙ ÍÏÇÌÉ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
the big responses may be transferred truncated if SSL and gzip were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÏÔ×ÅÔ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ ÂÙÌ ×ÅÒÓÉÉ HTTP/0.9,
ÔÏ ÐÅÒÅÍÅÎÎÁÑ $status ÂÙÌÁ ÒÁ×ÎÁ 0.
</para>
<para lang="en">
the $status variable was equal to 0 if a proxied server returned response
in HTTP/0.9 version.
</para>
</change>
</changes>
<changes ver="0.6.16" date="29.10.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÎÁ Linux ÉÓÐÏÌØÚÕÅÔÓÑ uname(2) ×ÍÅÓÔÏ procfs.<br/>
óÐÁÓÉÂÏ éÌØÅ îÏ×ÉËÏ×Õ.
</para>
<para lang="en">
now the uname(2) is used on Linux instead of procfs.<br/>
Thanks to Ilya Novikov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å error_page ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÓÉÍ×ÏÌ "?", ÔÏ ÏÎ ÜËÒÁÎÉÒÏ×ÁÌÓÑ
ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÚÁÐÒÏÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.11.
</para>
<para lang="en">
if the "?" character was in a "error_page" directive, then it was escaped
in a proxied request;
the bug had appeared in 0.6.11.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó mget.
</para>
<para lang="en">
compatibility with mget.
</para>
</change>
</changes>
<changes ver="0.6.15" date="22.10.2007">
<change type="feature">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó Cygwin.<br/>
óÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ ëÕÔÁËÏ×Õ.
</para>
<para lang="en">
Cygwin compatibility.<br/>
Thanks to Vladimir Kutakov.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á merge_slashes.
</para>
<para lang="en">
the "merge_slashes" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á gzip_vary.
</para>
<para lang="en">
the "gzip_vary" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_tokens.
</para>
<para lang="en">
the "server_tokens" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÒÁÓËÏÄÉÒÏ×ÁÌ URI × ËÏÍÁÎÄÅ SSI include.
</para>
<para lang="en">
nginx did not unescape URI in the "include" SSI command.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ × ÄÉÒÅËÔÉ×ÁÈ charset ÉÌÉ source_charset
ÎÁ ÓÔÁÒÔÅ ÉÌÉ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÉÓÈÏÄÉÌ segmentation fault,
</para>
<para lang="en">
the segmentation fault was occurred on start or while reconfiguration
if variable was used in the "charset" or "source_charset" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 400 ÎÁ ÚÁÐÒÏÓÙ ×ÉÄÁ
<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
óÐÁÓÉÂÏ James Oakley.
</para>
<para lang="en">
nginx returned the 400 response on requests like
<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
Thanks to James Oakley.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÚÁÐÒÏÓÁ Ó ÔÅÌÏÍ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù
error_page nginx ÐÙÔÁÌÓÑ ÓÎÏ×Á ÐÒÏÞÉÔÁÔØ ÔÅÌÏ ÚÁÐÒÏÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7.
</para>
<para lang="en">
if request with request body was redirected using the "error_page" directive,
then nginx tried to read the request body again;
the bug had appeared in 0.6.7.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ Õ ÓÅÒ×ÅÒÁ,
ÏÂÒÁÂÁÔÙ×ÁÀÝÅÍÕ ÚÁÐÒÏÓ, ÎÅ ÂÙÌ Ñ×ÎÏ ÏÐÒÅÄẠ̊Πserver_name;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7.
</para>
<para lang="en">
a segmentation fault occurred in worker process
if no server_name was explicitly defined for server processing request;
the bug had appeared in 0.6.7.
</para>
</change>
</changes>
<changes ver="0.6.14" date="15.10.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ËÏÍÁÎÄÁ SSI echo ÉÓÐÏÌØÚÕÅÔ ËÏÄÉÒÏ×ÁÎÉÅ entity.
</para>
<para lang="en">
now by default the "echo" SSI command uses entity encoding.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ encoding × ËÏÍÁÎÄÅ SSI echo.
</para>
<para lang="en">
the "encoding" parameter in the "echo" SSI command.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Õ access_log ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ limit_except.
</para>
<para lang="en">
the "access_log" directive may be used inside the "limit_except" block.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÓÅ ÓÅÒ×ÅÒÁ ÁÐÓÔÒÉÍÁ ÏËÁÚÙ×ÁÌÉÓØ ÎÅÄÏÓÔÕÐÎÙÍÉ,
ÔÏ ÄÏ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÒÁÂÏÔÏÓÐÏÓÏÂÎÏÓÔÉ
Õ ×ÓÅÈ ÓÅÒ×ÅÒÏ× ×ÅÓ ÓÔÁÎÏ×ÉÌÓÑ ÒÁ×ÎÙÍ ÏÄÎÏÍÕ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6.
</para>
<para lang="en">
if all upstream servers were failed, then all servers had got weight
the was equal one until servers became alive;
the bug had appeared in 0.6.6.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ $date_local É $date_gmt ×ÎÅ ÍÏÄÕÌÑ
ngx_http_ssi_filter_module × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process
if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ËÌÀÞ£ÎÎÏÍ ÏÔÌÁÄÏÞÎÏÍ ÌÏÇÅ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if debug log was enabled.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_memcached_module ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÌ $upstream_response_time.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
ngx_http_memcached_module did not set $upstream_response_time.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ memcached.
</para>
<para lang="en">
a worker process may got caught in an endless loop, if the memcached was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÒÁÓÐÏÚÎÁ×ÁÌ ÐÁÒÁÍÅÔÒÙ "close" É "keep-alive" × ÓÔÒÏËÅ "Connection"
× ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ÔÏÌØËÏ, ÅÓÌÉ ÏÎÉ ÂÙÌÉ × ÎÉÖÎÅÍ ÒÅÇÉÓÔÒÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.11.
</para>
<para lang="en">
nginx supported low case only "close" and "keep-alive" values
in the "Connection" request header line;
the bug had appeared in 0.6.11.
</para>
</change>
<change type="bugfix">
<para lang="ru">
sub_filter ÎÅ ÒÁÂÏÔÁÌ Ó ÐÕÓÔÏÊ ÓÔÒÏËÏÊ ÚÁÍÅÎÙ.
</para>
<para lang="en">
sub_filter did not work with empty substitution.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÐÁÒÓÉÎÇÅ sub_filter.
</para>
<para lang="en">
in sub_filter parsing.
</para>
</change>
</changes>
<changes ver="0.6.13" date="24.09.2007">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÚÁËÒÙ×ÁÌ ÆÁÊÌ ËÁÔÁÌÏÇÁ ÄÌÑ ÚÁÐÒÏÓÁ HEAD,
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ autoindex<br/>
óÐÁÓÉÂÏ Arkadiusz Patyk.
</para>
<para lang="en">
nginx did not close directory file on HEAD request if autoindex was used.<br/>
Thanks to Arkadiusz Patyk.
</para>
</change>
</changes>
<changes ver="0.6.12" date="21.09.2007">
<change type="change">
<para lang="ru">
ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÒÁÚÄẠ̊ΠÎÁ ÔÒÉ ÍÏÄÕÌÑ: pop3, imap É smtp.
</para>
<para lang="en">
mail proxy was split on three modules: pop3, imap and smtp.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ ËÏÎÆÉÇÕÒÁÃÉÉ --without-mail_pop3_module,
--without-mail_imap_module É --without-mail_smtp_module.
</para>
<para lang="en">
the --without-mail_pop3_module, --without-mail_imap_module,
and --without-mail_smtp_module configuration parameters.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù smtp_greeting_delay É smtp_client_buffer ÍÏÄÕÌÑ ngx_mail_smtp_module.
</para>
<para lang="en">
the "smtp_greeting_delay" and "smtp_client_buffer" directives
of the ngx_mail_smtp_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
wildcard × ËÏÎÃÅ ÉÍÅÎÉ ÓÅÒ×ÅÒÁ ÎÅ ÒÁÂÏÔÁÌÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.9.
</para>
<para lang="en">
the trailing wildcards did not work;
the bug had appeared in 0.6.9.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÒÁÚÄÅÌÑÅÍÏÊ ÂÉÂÌÉÏÔÅËÉ PCRE,
ÒÁÓÐÏÌÏÖÅÎÎÏÊ × ÎÅÓÔÁÎÄÁÒÔÎÏÍ ÍÅÓÔÅ, nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ Solaris.
</para>
<para lang="en">
nginx could not start on Solaris if the shared PCRE library located
in non-standard place was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_hide_header É fastcgi_hide_header ÎÅ ÓËÒÙ×ÁÌÉ
ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ Ó ÉÍÅÎÅÍ ÂÏÌØÛÅ 32 ÓÉÍ×ÏÌÏ×.<br/>
óÐÁÓÉÂÏ Manlio Perillo.
</para>
<para lang="en">
the "proxy_hide_header" and "fastcgi_hide_header" directives did not
hide response header lines whose name was longer than 32 characters.<br/>
Thanks to Manlio Perillo.
</para>
</change>
</changes>
<changes ver="0.6.11" date="11.09.2007">
<change type="bugfix">
<para lang="ru">
ÓÞ£ÔÞÉË ÁËÔÉ×ÎÙÈ ÓÏÅÄÉÎÅÎÉÊ ×ÓÅÇÄÁ ÒÏÓ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÏÞÔÏ×ÏÇÏ
ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
active connection counter always increased if mail proxy was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÜËÅÎÄ ×ÏÚ×ÒÁÝÁÌ ÔÏÌØËÏ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ ÐÒÉ ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÏÍ
ÐÒÏËÓÉÒÏ×ÁÎÉÉ, ÔÏ nginx ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÅ Ó ÂÜËÅÎÄÏÍ ÐÏ ÔÁÊÍÁÕÔÕ.
</para>
<para lang="en">
if backend returned response header only using non-buffered proxy,
then nginx closed backend connection on timeout.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÎÅÓËÏÌØËÏ ÓÔÒÏË "Connection" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
nginx did not support several "Connection" request header lines.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÓÅÒ×ÅÒÅ ÁÐÓÔÒÉÍÁ ÂÙÌ ÚÁÄÁÎ max_fails, ÔÏ ÐÏÓÌÅ ÐÅÒ×ÏÊ ÖÅ ÎÅÕÄÁÞÎÏÊ
ÐÏÐÙÔËÉ ×ÅÓ ÓÅÒ×ÅÒÁ ÎÁ×ÓÅÇÄÁ ÓÔÁÎÏ×ÉÌÓÑ ÒÁ×ÎÙÍ ÏÄÎÏÍÕ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6.
</para>
<para lang="en">
if the "max_fails" was set for upstream server, then after first
failure server weight was always one;
the bug had appeared in 0.6.6.
</para>
</change>
</changes>
<changes ver="0.6.10" date="03.09.2007">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù open_file_cache, open_file_cache_retest É open_file_cache_errors.
</para>
<para lang="en">
the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors"
directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÔÅÞËÉ ÓÏËÅÔÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7.
</para>
<para lang="en">
socket leak;
the bug had appeared in 0.6.7.
</para>
</change>
<change type="bugfix">
<para lang="ru">
÷ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ "Content-Type", ÕËÁÚÁÎÎÕÀ × ÍÅÔÏÄÅ
$r->send_http_header(), ÎÅ ÄÏÂÁ×ÌÑÌÁÓØ ËÏÄÉÒÏ×ËÁ, ÕËÁÚÁÎÎÁÑ × ÄÉÒÅËÔÉ×Å charset.
</para>
<para lang="en">
a charset set by the "charset" directive was not appended
to the "Content-Type" header set by $r->send_http_header().
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ /dev/poll
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if /dev/poll method was used.
</para>
</change>
</changes>
<changes ver="0.6.9" date="28.08.2007">
<change type="bugfix">
<para lang="ru">
ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7.
</para>
<para lang="en">
a worker process may got caught in an endless loop,
if the HTTPS protocol was used;
the bug had appeared in 0.6.7.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÓÅÒ×ÅÒ ÓÌÕÛÁÌ ÎÁ Ä×ÕÈ ÁÄÒÅÓÁÈ ÉÌÉ ÐÏÒÔÁÈ, ÔÏ nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ wildcard × ËÏÎÃÅ ÉÍÅÎÉ ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
if server listened on two addresses or ports and trailing wildcard was used,
then nginx did not run.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ip_hash ÍÏÇÌÁ ÎÅ×ÅÒÎÏ ÐÏÍÅÞÁÔØ ÓÅÒ×ÅÒÁ ËÁË ÎÅÒÁÂÏÞÉÅ.
</para>
<para lang="en">
the "ip_hash" directive might incorrectly mark servers as down.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ amd64;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.8.
</para>
<para lang="en">
nginx could not be built on amd64;
the bug had appeared in 0.6.8.
</para>
</change>
</changes>
<changes ver="0.6.8" date="20.08.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ nginx ÐÙÔÁÅÔÓÑ ÕÓÔÁÎÏ×ÉÔØ ÄÉÒÅËÔÉ×Ù worker_priority,
worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
ÂÅÚ ÐÒÉ×ÉÌÅÇÉÊ root'Á.
</para>
<para lang="en">
now nginx tries to set the "worker_priority", "worker_rlimit_nofile",
"worker_rlimit_core", and "worker_rlimit_sigpending" without super-user
privileges.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ nginx ÜËÒÁÎÉÒÕÅÔ ÓÉÍ×ÏÌÙ ÐÒÏÂÅÌÁ É "%" ÐÒÉ ÐÅÒÅÄÁÞÅ ÚÁÐÒÏÓÁ
ÓÅÒ×ÅÒÕ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
now nginx escapes space and "%" in request to a mail proxy authentication
server.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ nginx ÜËÒÁÎÉÒÕÅÔ ÓÉÍ×ÏÌ "%" × ÐÅÒÅÍÅÎÎÏÊ $memcached_key.
</para>
<para lang="en">
now nginx escapes "%" in $memcached_key variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÕËÁÚÁÎÉÉ ÏÔÎÏÓÉÔÅÌØÎÏÇÏ ÐÕÔÉ Ë ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÍÕ ÆÁÊÌÕ × ËÁÞÅÓÔ×Å
ÐÁÒÁÍÅÔÒÁ ËÌÀÞÁ -c nginx ÏÐÒÅÄÅÌÑÌ ÐÕÔØ ÏÔÎÏÓÉÔÅÌØÎÏ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÐÒÅÆÉËÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6.
</para>
<para lang="en">
nginx used path relative to configuration prefix for non-absolute
configuration file path specified in the "-c" key;
the bug had appeared in 0.6.6.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ FreeBSD/sparc64.
</para>
<para lang="en">
nginx did not work on FreeBSD/sparc64.
</para>
</change>
</changes>
<changes ver="0.6.7" date="15.08.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÕÔÉ, ÕËÁÚÁÎÎÙÅ × ÄÉÒÅËÔÉ×ÁÈ include, auth_basic_user_file,
perl_modules, ssl_certificate, ssl_certificate_key É
ssl_client_certificate, ÏÐÒÅÄÅÌÑÀÔÓÑ ÏÔÎÏÓÉÔÅÌØÎÏ ËÁÔÁÌÏÇÁ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ
ÆÁÊÌÁ nginx.conf, Á ÎÅ ÏÔÎÏÓÉÔÅÌØÎÏ ÐÒÅÆÉËÓÁ.
</para>
<para lang="en">
now the paths specified in the "include", "auth_basic_user_file",
"perl_modules", "ssl_certificate", "ssl_certificate_key", and
"ssl_client_certificate" directives are relative to directory of
nginx configuration file nginx.conf, but not to nginx prefix directory.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒ --sysconfdir=PATH × configure ÕÐÒÁÚÄΣÎ.
</para>
<para lang="en">
the --sysconfdir=PATH option in configure was canceled.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÎÁ ÌÅÔÕ ×ÅÒÓÉÊ 0.1.x ÓÏÚÄÁÎ ÓÐÅÃÉÁÌØÎÙÊ ÓÃÅÎÁÒÉÊ
<nobr>make upgrade1.</nobr>
</para>
<para lang="en">
the special make target "upgrade1" was defined for online upgrade of
0.1.x versions.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù server_name É valid_referers ÐÏÄÄÅÒÖÉ×ÁÀÔ ÒÅÇÕÌÑÒÎÙÅ ×ÙÒÁÖÅÎÉÑ.
</para>
<para lang="en">
the "server_name" and "valid_referers" directives support regular expressions.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server × ÂÌÏËÅ upstream ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ backup.
</para>
<para lang="en">
the "server" directive in the "upstream" context supports
the "backup" parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ $r->discard_request_body.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->discard_request_body.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á "add_header Last-Modified ..." ÍÅÎÑÅÔ ÓÔÒÏËÕ "Last-Modified"
× ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ.
</para>
<para lang="en">
the "add_header Last-Modified ..." directive changes the "Last-Modified"
response header line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÎÁ ÚÁÐÒÏÓ Ó ÔÅÌÏÍ ×ÏÚ×ÒÁÝÁÌÓÑ ÏÔ×ÅÔ Ó ËÏÄÏÍ HTTP ÏÔÌÉÞÎÙÍ ÏÔ 200,
É ÐÏÓÌÅ ÜÔÏÇÏ ÚÁÐÒÏÓÁ ÓÏÅÄÉÎÅÎÉÅ ÐÅÒÅÈÏÄÉÌÏ × ÓÏÓÔÏÑÎÉÅ keep-alive,
ÔÏ ÎÁ ÓÌÅÄÕÀÝÉÊ ÚÁÐÒÏÓ nginx ×ÏÚ×ÒÁÝÁÌ 400.
</para>
<para lang="en">
if a response different than 200 was returned to a request with body
and connection went to the keep-alive state after the request, then
nginx returned 400 for the next request.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×Å auth_http ÂÙÌ ÚÁÄÁÎ ÎÅÐÒÁ×ÉÌØÎÙÊ ÁÄÒÅÓ, ÔÏ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process
if invalid address was set in the "auth_http" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ nginx ÉÓÐÏÌØÚÕÅÔ ÚÎÁÞÅÎÉÅ 511 ÄÌÑ listen backlog
ÎÁ ×ÓÅÈ ÐÌÁÔÆÏÒÍÁÈ, ËÒÏÍÅ FreeBSD.<br/>
óÐÁÓÉÂÏ Jiang Hong.
</para>
<para lang="en">
now nginx uses default listen backlog value 511 on all platforms
except FreeBSD.<br/>
Thanks to Jiang Hong.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ, ÅÓÌÉ server × ÂÌÏËÅ upstream ÂÙÌ ÐÏÍÅÞÅÎ
ËÁË down;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6.
</para>
<para lang="en">
a worker process may got caught in an endless loop, if a "server" inside
"upstream" block was marked as "down";
the bug had appeared in 0.6.6.
</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>
</changes>
<changes ver="0.6.6" date="30.07.2007">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ --sysconfdir=PATH × configure.
</para>
<para lang="en">
the --sysconfdir=PATH option in configure.
</para>
</change>
<change type="feature">
<para lang="ru">
ÉÍÅÎÏ×ÁÎÎÙÅ location'Ù.
</para>
<para lang="en">
named locations.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÕÀ $args ÍÏÖÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ Ó ÐÏÍÏÝØÀ set.
</para>
<para lang="en">
the $args variable can be set with the "set" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $is_args.
</para>
<para lang="en">
the $is_args variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÁ×ÎÏÍÅÒÎÏÅ ÒÁÓÐÒÅÄÅÌÅÎÉÅ ÚÁÐÒÏÓÏ× Ë ÁÐÓÔÒÉÍÁÍ Ó ÂÏÌØÛÉÍÉ ×ÅÓÁÍÉ.
</para>
<para lang="en">
fair big weight upstream balancer.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ËÌÉÅÎÔ × ÐÏÞÔÏ×ÏÍ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÅ,
ÔÏ nginx ÍÏÇ ÎÅ ÚÁËÒÙ×ÁÔØ ÓÏÅÄÉÎÅÎÉÅ Ó ÂÜËÅÎÄÏÍ.
</para>
<para lang="en">
if a client has closed connection to mail proxy
then nginx might not close connection to backend.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÄÎÏÇÏ ÈÏÓÔÁ × ËÁÞÅÓÔ×Å ÂÜËÅÎÄÏ× ÄÌÑ ÐÒÏÔÏËÏÌÏ× HTTP É HTTPS
ÂÅÚ Ñ×ÎÏÇÏ ÕËÁÚÁÎÉÑ ÐÏÒÔÏ×, nginx ÉÓÐÏÌØÚÏ×ÁÌ ÔÏÌØËÏ ÏÄÉÎ ÐÏÒÔ&mdash;80 ÉÌÉ 443.
</para>
<para lang="en">
if the same host without specified port was used as backend for HTTP and HTTPS,
then nginx used only one port&mdash;80 or 443.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris/amd64 Sun Studio 11 É ÂÏÌÅÅ ÒÁÎÎÉÍÉ ×ÅÒÓÉÑÍÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.4.
</para>
<para lang="en">
fix building on Solaris/amd64 by Sun Studio 11 and early versions;
the bug had appeared in 0.6.4.
</para>
</change>
</changes>
<changes ver="0.6.5" date="23.07.2007">
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $nginx_version.<br/>
óÐÁÓÉÂÏ îÉËÏÌÁÀ çÒÅÞÕÈÕ.
</para>
<para lang="en">
$nginx_version variable.<br/>
Thanks to Nick S. Grechukh.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ AUTHENTICATE × ÒÅÖÉÍÅ IMAP.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the mail proxy supports AUTHENTICATE in IMAP mode.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ STARTTLS × ÒÅÖÉÍÅ SMTP.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the mail proxy supports STARTTLS in SMTP mode.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ nginx ÜËÒÁÎÉÒÕÅÔ ÐÒÏÂÅÌ × ÐÅÒÅÍÅÎÎÏÊ $memcached_key.
</para>
<para lang="en">
now nginx escapes space in $memcached_key variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅÐÒÁ×ÉÌØÎÏ ÓÏÂÉÒÁÌÓÑ Sun Studio ÎÁ Solaris/amd64.<br/>
óÐÁÓÉÂÏ Jiang Hong.
</para>
<para lang="en">
nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/>
Thanks to Jiang Hong.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅÚÎÁÞÉÔÅÌØÎÙÈ ÐÏÔÅÎÃÉÁÌØÎÙÈ ÏÛÉÂÏË.<br/>
óÐÁÓÉÂÏ Coverity's Scan.
</para>
<para lang="en">
of minor potential bugs.<br/>
Thanks to Coverity's Scan.
</para>
</change>
</changes>
<changes ver="0.6.4" date="17.07.2007">
<change type="security">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù msie_refresh ÂÙÌ ×ÏÚÍÏÖÅÎ XSS.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ âÏÇÕËÕ.
</para>
<para lang="en">
the "msie_refresh" directive allowed XSS.<br/>
Thanks to Maxim Boguk.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_store É fastcgi_store ÉÚÍÅÎÅÎÙ.
</para>
<para lang="en">
the "proxy_store" and "fastcgi_store" directives were changed.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_store_access É fastcgi_store_access.
</para>
<para lang="en">
the "proxy_store_access" and "fastcgi_store_access" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ Solaris/sparc64, ÅÓÌÉ ÂÙÌ ÓÏÂÒÁÎ Sun Studio.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÏÂÈÏÄ ÏÛÉÂËÉ × Sun Studio 12.<br/>
óÐÁÓÉÂÏ Jiang Hong.
</para>
<para lang="en">
for Sun Studio 12.<br/>
Thanks to Jiang Hong.
</para>
</change>
</changes>
<changes ver="0.6.3" date="12.07.2007">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_store É fastcgi_store.
</para>
<para lang="en">
the "proxy_store" and "fastcgi_store" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù auth_http_header
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if the "auth_http_header" directive was used.<br/>
Thanks to Maxim Dounin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ CRAM-MD5, ÎÏ ÏÎ ÎÅ ÂÙÌ ÒÁÚÒÅÛ£Î,
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process
if the CRAM-MD5 authentication method was used, but it was not enabled.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process when
the HTTPS protocol was used in the "proxy_pass" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault,
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ eventport.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if the eventport method was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_ignore_client_abort É fastcgi_ignore_client_abort ÎÅ ÒÁÂÏÔÁÌÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.13.
</para>
<para lang="en">
the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives
did not work;
the bug had appeared in 0.5.13.
</para>
</change>
</changes>
<changes ver="0.6.2" date="09.07.2007">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ ÂÙÌ ÒÁÚÄÅÌ£Î × FastCGI-ÚÁÐÉÓÑÈ, ÔÏ nginx ÐÅÒÅÄÁ×ÁÌ
ËÌÉÅÎÔÕ ÍÕÓÏÒ × ÔÁËÉÈ ÚÁÇÏÌÏ×ËÁÈ.
</para>
<para lang="en">
if the FastCGI header was split in records,
then nginx passed garbage in the header to a client.
</para>
</change>
</changes>
<changes ver="0.6.1" date="17.06.2007">
<change type="bugfix">
<para lang="ru">
× ÐÁÒÓÉÎÇÅ SSI.
</para>
<para lang="en">
in SSI parsing.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÕÄÁÌ£ÎÎÏÇÏ ÐÏÄÚÁÐÒÏÓÁ × SSI ÐÏÓÌÅÄÕÀÝÉÊ
ÐÏÄÚÁÐÒÏÓ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ ÍÏÇ ÏÔÄÁ×ÁÔØÓÑ ËÌÉÅÎÔÕ × ÎÅ×ÅÒÎÏÍ ÐÏÒÑÄËÅ.
</para>
<para lang="en">
if remote SSI subrequest was used, then posterior local file subrequest
might transferred to client in wrong order.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÏÌØÛÉÅ ×ËÌÀÞÅÎÉÑ × SSI, ÓÏÈÒÁΣÎÎÙÅ ×Ï ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ,
ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
large SSI inclusions buffered in temporary files were truncated.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÚÎÁÞÅÎÉÅ perl'Ï×ÏÊ ÐÅÒÅÍÅÎÎÏÊ $$ ÍÏÄÕÌÑ ngx_http_perl_module ÂÙÌÏ ÒÁ×ÎÏ
ÎÏÍÅÒÕ ÇÌÁ×ÎÏÇÏ ÐÒÏÃÅÓÓÁ.
</para>
<para lang="en">
the perl $$ variable value in ngx_http_perl_module was equal to the master
process identification number.
</para>
</change>
</changes>
<changes ver="0.6.0" date="14.06.2007">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù "server_name", "map", and "valid_referers" ÐÏÄÄÅÒÖÉ×ÁÀÔ
ÍÁÓËÉ ×ÉÄÁ "www.example.*".
</para>
<para lang="en">
the "server_name", "map", and "valid_referers" directives support
the "www.example.*" wildcards.
</para>
</change>
</changes>
<changes ver="0.5.25" date="11.06.2007">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http_rewrite_module;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.24.
</para>
<para lang="en">
nginx could not be built with the --without-http_rewrite_module parameter;
the bug had appeared in 0.5.24.
</para>
</change>
</changes>
<changes ver="0.5.24" date="06.06.2007">
<change type="security">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssl_verify_client ÎÅ ÒÁÂÏÔÁÌÁ, ÅÓÌÉ ÚÁÐÒÏÓ ×ÙÐÏÌÎÑÌÓÑ
ÐÏ ÐÒÏÔÏËÏÌÕ HTTP/0.9.
</para>
<para lang="en">
the "ssl_verify_client" directive did not work if request was made
using HTTP/0.9.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÓÖÁÔÉÑ ÞÁÓÔØ ÏÔ×ÅÔÁ ÍÏÇÌÁ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅÓÖÁÔÏÊ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.23.
</para>
<para lang="en">
a part of response body might be passed uncompressed if gzip was used;
the bug had appeared in 0.5.23.
</para>
</change>
</changes>
<changes ver="0.5.23" date="04.06.2007">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_ssl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÓÛÉÒÅÎÉÅ TLS Server Name Indication.
</para>
<para lang="en">
the ngx_http_ssl_module supports Server Name Indication TLS extension.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á fastcgi_catch_stderr.<br/>
óÐÁÓÉÂÏ îÉËÏÌÁÀ çÒÅÞÕÈÕ, ÐÒÏÅËÔ OWOX.
</para>
<para lang="en">
the "fastcgi_catch_stderr" directive.<br/>
Thanks to Nick S. Grechukh, OWOX project.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ ìÉÎÕËÓÅ × ÏÓÎÏ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault,
ÅÓÌÉ Ä×Á ×ÉÒÔÕÁÌØÎÙÈ ÓÅÒ×ÅÒÁ ÄÏÌÖÎÙ bind()ÉÔÓÑ Ë ÐÅÒÅÓÅËÁÀÝÉÍÓÑ ÐÏÒÔÁÍ.
</para>
<para lang="en">
a segmentation fault occurred in master process if
two virtual servers should bind() to the overlapping ports.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module É perl
ÐÏÄÄÅÒÖÉ×ÁÌ ÐÏÔÏËÉ, ÔÏ ×Ï ×ÒÅÍÑ ×ÔÏÒÏÊ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ
×ÙÄÁ×ÁÌÉÓØ ÏÛÉÂËÉ "panic: MUTEX_LOCK" É "perl_parse() failed".
</para>
<para lang="en">
if nginx was built with ngx_http_perl_module and perl supported threads,
then during second reconfiguration the error messages
"panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass.
</para>
<para lang="en">
in the HTTPS protocol in the "proxy_pass" directive.
</para>
</change>
</changes>
<changes ver="0.5.22" date="29.05.2007">
<change type="bugfix">
<para lang="ru">
ÂÏÌØÛÏÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ÍÏÇÌÏ ÎÅ ÐÅÒÅÄÁ×ÁÔØÓÑ ÂÜËÅÎÄÕ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.21.
</para>
<para lang="en">
a big request body might not be passed to backend;
the bug had appeared in 0.5.21.
</para>
</change>
</changes>
<changes ver="0.5.21" date="28.05.2007">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ×ÎÕÔÒÉ ÓÅÒ×ÅÒÁ ÏÐÉÓÁÎÏ ÂÏÌØÛÅ ÐÒÉÍÅÒÎÏ ÄÅÓÑÔÉ location'Ï×,
ÔÏ location'Ù, ÚÁÄÁÎÎÙÅ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ,
ÍÏÇÌÉ ×ÙÐÏÌÎÑÔØÓÑ ÎÅ × ÔÏÍ, ÐÏÒÑÄËÅ, × ËÁËÏÍ ÏÎÉ ÏÐÉÓÁÎÙ.
</para>
<para lang="en">
if server has more than about ten locations, then regex locations
might be choosen not in that order as they were specified.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ 64-ÂÉÔÎÏÊ ÐÌÁÔÆÏÒÍÅ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ, ÅÓÌÉ 33-ÔÉÊ
ÐÏ ÓÞ£ÔÕ ÉÌÉ ÐÏÓÌÅÄÕÀÝÉÊ ÂÜËÅÎÄ ÕÐÁÌ.<br/>
óÐÁÓÉÂÏ áÎÔÏÎÕ ðÏ×ÁÒÏ×Õ.
</para>
<para lang="en">
a worker process may got caught in an endless loop on 64-bit platform,
if the 33-rd or next in succession backend has failed.<br/>
Thanks to Anton Povarov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÉÂÌÉÏÔÅËÉ PCRE ÎÁ Solaris/sparc64
ÍÏÇ ÐÒÏÉÚÏÊÔÉ bus error.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass.
</para>
<para lang="en">
in the HTTPS protocol in the "proxy_pass" directive.
</para>
</change>
</changes>
<changes ver="0.5.20" date="07.05.2007">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á sendfile_max_chunk.
</para>
<para lang="en">
the "sendfile_max_chunk" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ "$http_...", "$sent_http_..." É "$upstream_http_..."
ÍÏÖÎÏ ÍÅÎÑÔØ ÄÉÒÅËÔÉ×ÏÊ set.
</para>
<para lang="en">
the "$http_...", "$sent_http_...", and "$upstream_http_..." variables
may be changed using the "set" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI-ËÏÍÁÎÄÙ 'if expr="$var = /"'
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if the SSI command 'if expr="$var = /"' was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÚÁ×ÅÒÛÁÀÝÁÑ ÓÔÒÏËÁ multipart range ÏÔ×ÅÔÁ ÐÅÒÅÄÁ×ÁÌÁÓØ ÎÅ×ÅÒÎÏ.<br/>
óÐÁÓÉÂÏ Evan Miller.
</para>
<para lang="en">
trailing boundary of multipart range response was transferred incorrectly.<br/>
Thanks to Evan Miller.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ Solaris/sparc64, ÅÓÌÉ ÂÙÌ ÓÏÂÒÁÎ Sun Studio.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ make × Solaris.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
the ngx_http_perl_module could not be built by Solaris make.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
</changes>
<changes ver="0.5.19" date="24.04.2007">
<change type="change">
<para lang="ru">
ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $request_time ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÅÔÓÑ Ó ÔÏÞÎÏÓÔØÀ
ÄÏ ÍÉÌÌÉÓÅËÕÎÄ.
</para>
<para lang="en">
now the $request_time variable has millisecond precision.
</para>
</change>
<change type="change">
<para lang="ru">
ÍÅÔÏÄ $r->rflush × ÍÏÄÕÌÅ ngx_http_perl_module ÐÅÒÅÉÍÅÎÏ×ÁÎ × $r->flush.
</para>
<para lang="en">
the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $upstream_addr.
</para>
<para lang="en">
the $upstream_addr variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_headers_hash_max_size É proxy_headers_hash_bucket_size.<br/>
óÐÁÓÉÂÏ ÷ÏÌÏÄÙÍÙÒÕ ëÏÓÔÙÒËÏ.
</para>
<para lang="en">
the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size"
directives.<br/>
Thanks to Volodymyr Kostyrko.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile É limit_rate ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ
ÎÅÌØÚÑ ÂÙÌÏ ÐÅÒÅÄÁ×ÁÔØ ÆÁÊÌÙ ÂÏÌØÛÅ 2G.
</para>
<para lang="en">
the files more than 2G could not be transferred using sendfile and limit_rate
on 64-bit platforms.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile ÎÁ 64-ÂÉÔÎÏÍ Linux ÎÅÌØÚÑ ÂÙÌÏ ÐÅÒÅÄÁ×ÁÔØ ÆÁÊÌÙ
ÂÏÌØÛÅ 2G.
</para>
<para lang="en">
the files more than 2G could not be transferred using sendfile on 64-bit Linux.
</para>
</change>
</changes>
<changes ver="0.5.18" date="19.04.2007">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_sub_filter_module.
</para>
<para lang="en">
the ngx_http_sub_filter_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÙÅ "$upstream_http_...".
</para>
<para lang="en">
the "$upstream_http_..." variables.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÅÒÅÍÅÎÎÙÅ $upstream_status É $upstream_response_time
ÓÏÄÅÒÖÁÔ ÄÁÎÎÙÅ Ï ×ÓÅÈ ÏÂÒÁÝÅÎÉÑÈ Ë ÁÐÓÔÒÉÍÁÍ, ÓÄÅÌÁÎÎÙÍ ÄÏ X-Accel-Redirect.
</para>
<para lang="en">
now the $upstream_status and $upstream_response_time variables
keep data about all upstreams before X-Accel-Redirect.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module É perl
ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ multiplicity, ÔÏ ÐÏÓÌÅ ÐÅÒ×ÏÊ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ
É ÐÏÓÌÅ ÐÏÌÕÞÅÎÉÑ ÌÀÂÏÇÏ ÓÉÇÎÁÌÁ
× ÏÓÎÏ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.9.
</para>
<para lang="en">
a segmentation fault occurred in master process
after first reconfiguration and receiving any signal
if nginx was built with ngx_http_perl_module and perl
did not support multiplicity;
the bug had appeared in 0.5.9.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ perl ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ multiplicity, ÔÏ ÐÏÓÌÅ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ
ÐÅÒÌÏ×ÙÊ ËÏÄ ÎÅ ÒÁÂÏÔÁÌ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.38.
</para>
<para lang="en">
if perl did not support multiplicity, then after reconfiguration
perl code did not work;
the bug had appeared in 0.3.38.
</para>
</change>
</changes>
<changes ver="0.5.17" date="02.04.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ nginx ÄÌÑ ÍÅÔÏÄÁ TRACE ×ÓÅÇÄÁ ×ÏÚ×ÒÁÝÁÅÔ ËÏÄ 405.
</para>
<para lang="en">
now nginx always returns the 405 status for the TRACE method.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ nginx ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÉÒÅËÔÉ×Õ include ×ÎÕÔÒÉ ÂÌÏËÁ types.
</para>
<para lang="en">
now nginx supports the "include" directive inside the "types" block.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $document_root × ÄÉÒÅËÔÉ×Å root É alias
ÚÁÐÒÅÝÅÎÏ: ÏÎÏ ×ÙÚÙ×ÁÌÏ ÒÅËÕÒÓÉ×ÎÏÅ ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ.
</para>
<para lang="en">
the $document_root variable usage in the "root" and "alias" directives
is disabled: this caused recursive stack overflow.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass.
</para>
<para lang="en">
in the HTTPS protocol in the "proxy_pass" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ ÎÅËÜÛÉÒÕÅÍÙÅ ÐÅÒÅÍÅÎÎÙÅ (ÔÁËÉÅ, ËÁË $uri)
×ÏÚ×ÒÁÝÁÌÉ ÓÔÁÒÏÅ ÚÁËÜÛÉÒÏ×ÁÎÎÏÅ ÚÎÁÞÅÎÉÅ.
</para>
<para lang="en">
in some cases non-cachable variables (such as $uri variable)
returned old cached value.
</para>
</change>
</changes>
<changes ver="0.5.16" date="26.03.2007">
<change type="bugfix">
<para lang="ru">
× ËÁÞÅÓÔ×Å ËÌÀÞÁ ÄÌÑ ÈÜÛÁ × ÄÉÒÅËÔÉ×Å ip_hash ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÓÅÔØ
ËÌÁÓÓÁ ó.<br/>
óÐÁÓÉÂÏ ðÁ×ÌÕ ñÒËÏ×ÏÍÕ.
</para>
<para lang="en">
the C-class network was not used as hash key in the "ip_hash" directive.<br/>
Thanks to Pavel Yarkovoy.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÓÔÒÏËÅ "Content-Type" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ ÂÙÌ ÕËÁÚÁÎ charset
É ÓÔÒÏËÁ ÚÁ×ÅÒÛÁÌÁÓØ ÓÉÍ×ÏÌÏÍ ";",
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if a charset was set in the "Content-Type" header line and the line
has trailing ";";
the bug had appeared in 0.3.50.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ "[alert] zero size buf" ÐÒÉ ÒÁÂÏÔÅ Ó FastCGI-ÓÅÒ×ÅÒÏÍ, ÅÓÌÉ
ÔÅÌÏ ÚÁÐÒÏÓÁ, ÚÁÐÉÓÁÎÎÏÅ ×Ï ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ, ÂÙÌÏ ËÒÁÔÎÏ 32K.
</para>
<para lang="en">
the "[alert] zero size buf" error when FastCGI server was used and
a request body written in a temporary file was multiple of 32K.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris ÂÅÚ ÐÁÒÁÍÅÔÒÁ --with-debug;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.15.
</para>
<para lang="en">
nginx could not be built on Solaris without the --with-debug option;
the bug had appeared in 0.5.15.
</para>
</change>
</changes>
<changes ver="0.5.15" date="19.03.2007">
<change type="feature">
<para lang="ru">
ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÁÕÔÅÎÔÉÆÉÃÉÒÏ×ÁÎÎÏÅ SMTP-ÐÒÏËÓÉÒÏ×ÁÎÉÅ É
ÄÉÒÅËÔÉ×Ù smtp_auth, smtp_capablities É xclient.<br/>
óÐÁÓÉÂÏ áÎÔÏÎÕ àÖÁÎÉÎÏ×Õ É íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
the mail proxy supports authenticated SMTP proxying and
the "smtp_auth", "smtp_capablities", and "xclient" directives.<br/>
Thanks to Anton Yuzhaninov and Maxim Dounin.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ keep-alive ÓÏÅÄÉÎÅÎÉÑ ÚÁËÒÙ×ÁÀÔÓÑ ÓÒÁÚÕ ÖÅ ÐÏ ÐÏÌÕÞÅÎÉÉ ÓÉÇÎÁÌÁ
ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ.
</para>
<para lang="en">
now the keep-alive connections are closed just after receiving
the reconfiguration signal.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù imap É auth ÐÅÒÅÉÍÅÎÏ×ÁÎÙ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × mail É pop3_auth.
</para>
<para lang="en">
the "imap" and "auth" directives were renamed
to the "mail" and "pop3_auth" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ CRAM-MD5 É ÎÅ ÂÙÌ ÒÁÚÒÅۣΠÍÅÔÏÄ APOP,
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
a segmentation fault occurred in worker process
if the CRAM-MD5 authentication method was used
and the APOP method was disabled.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù starttls only × ÐÒÏÔÏËÏÌÅ POP3 nginx
ÒÁÚÒÅÛÁÌ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ ÂÅÚ ÐÅÒÅÈÏÄÁ × ÒÅÖÉÍ SSL.
</para>
<para lang="en">
if the "starttls only" directive was used in POP3 protocol,
then nginx allowed authentication without switching to the SSL mode.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÎÅ ×ÙÈÏÄÉÌÉ ÐÏÓÌÅ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ É ÎÅ ÐÅÒÅÏÔËÒÙ×ÁÌÉ ÌÏÇÉ,
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ eventport.
</para>
<para lang="en">
worker processes did not exit after reconfiguration and
did not rotate logs if the eventport method was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù ip_hash ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ.
</para>
<para lang="en">
a worker process may got caught in an endless loop,
if the "ip_hash" directive was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÔÅÐÅÒØ nginx ÎÅ ÐÉÛÅÔ × ÌÏÇ ÎÅËÏÔÏÒÙÅ alert'Ù,
ÅÓÌÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÍÅÔÏÄÙ eventport ÉÌÉ /dev/poll.
</para>
<para lang="en">
now nginx does not log some alerts if eventport or /dev/poll methods are used.
</para>
</change>
</changes>
<changes ver="0.5.14" date="23.02.2007">
<change type="bugfix">
<para lang="ru">
nginx ÉÇÎÏÒÉÒÏ×ÁÌ ÌÉÛÎÉÅ ÚÁËÒÙ×ÁÀÝÉÅ ÓËÏÂËÉ "}" × ËÏÎÃÅ
ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ.
</para>
<para lang="en">
nginx ignored superfluous closing "}" in the end of configuration file.
</para>
</change>
</changes>
<changes ver="0.5.13" date="19.02.2007">
<change type="feature">
<para lang="ru">
ÍÅÔÏÄÙ COPY É MOVE.
</para>
<para lang="en">
the COPY and MOVE methods.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_realip_module ÕÓÔÁÎÁ×ÌÉ×ÁÌ ÍÕÓÏÒ ÄÌÑ ÚÁÐÒÏÓÏ×,
ÐÅÒÅÄÁÎÎÙÈ ÐÏ keep-alive ÓÏÅÄÉÎÅÎÉÀ.
</para>
<para lang="en">
the ngx_http_realip_module set garbage for requests passed via
keep-alive connection.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ 64-ÂÉÔÎÏÍ big-endian Linux.<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
nginx did not work on big-endian 64-bit Linux.<br/>
Thanks to Andrei Nigmatulin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÊ ËÏÍÁÎÄÙ IMAP/POP3-ÐÒÏËÓÉ ÔÅÐÅÒØ ÓÒÁÚÕ
ÚÁËÒÙ×ÁÅÔ ÓÏÅÄÉÎÅÎÉÅ, Á ÎÅ ÐÏ ÔÁÊÍÁÕÔÕ.
</para>
<para lang="en">
now when IMAP/POP3 proxy receives too long command it closes the connection
right away, but not after timeout.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ epoll ËÌÉÅÎÔ ÚÁËÒÙ×ÁÌ ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏ
ÓÏÅÄÉÎÅÎÉÅ ÓÏ Ó×ÏÅÊ ÓÔÏÒÏÎÙ, ÔÏ nginx ÚÁËÒÙ×ÁÌ ÜÔÏ ÓÏÅÄÉÎÅÎÉÅ ÔÏÌØËÏ
ÐÏ ÉÓÔÅÞÅÎÉÉ ÔÁÊÍÁÕÔÁ ÎÁ ÐÅÒÅÄÁÞÕ.
</para>
<para lang="en">
if the "epoll" method was used and a client closed a connection prematurely,
then nginx closed the connection after a send timeout only.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, amd64, sparc É ppc;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.8.
</para>
<para lang="en">
nginx could not be built on platforms different from i386, amd64, sparc,
and ppc;
the bug had appeared in 0.5.8.
</para>
</change>
</changes>
<changes ver="0.5.12" date="12.02.2007">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, amd64, sparc É ppc;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.8.
</para>
<para lang="en">
nginx could not be built on platforms different from i386, amd64, sparc,
and ppc;
the bug had appeared in 0.5.8.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ× × ×ÒÅÍÑ ÒÁÂÏÔÙ Ó FastCGI-ÓÅÒ×ÅÒÏÍ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.8.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if the temporary files were used while working with FastCGI server;
the bug had appeared in 0.5.8.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ $fastcgi_script_name ÚÁÐÉÓÙ×ÁÌÁÓØ × ÌÏÇ,
ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if the $fastcgi_script_name variable was logged.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris.
</para>
<para lang="en">
ngx_http_perl_module could not be built on Solaris.
</para>
</change>
</changes>
<changes ver="0.5.11" date="05.02.2007">
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ configure ÏÐÒÅÄÅÌÑÅÔ ÂÉÂÌÉÏÔÅËÕ PCRE × MacPorts.<br/>
óÐÁÓÉÂÏ Chris McGrath.
</para>
<para lang="en">
now configure detects system PCRE library in MacPorts.<br/>
Thanks to Chris McGrath.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÔ×ÅÔ ÂÙÌ ÎÅ×ÅÒÎÙÍ, ÅÓÌÉ ÚÁÐÒÁÛÉ×ÁÌÏÓØ ÎÅÓËÏÌØËÏ ÄÉÁÐÁÚÏÎÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.6.
</para>
<para lang="en">
the response was incorrect if several ranges were requested;
the bug had appeared in 0.5.6.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á create_full_put_path ÎÅ ÍÏÇÌÁ ÓÏÚÄÁ×ÁÔØ ÐÒÏÍÅÖÕÔÏÞÎÙÅ ËÁÔÁÌÏÇÉ,
ÅÓÌÉ ÎÅ ÂÙÌÁ ÕÓÔÁÎÏ×ÌÅÎÁ ÄÉÒÅËÔÉ×Á dav_access.<br/>
óÐÁÓÉÂÏ Evan Miller.
</para>
<para lang="en">
the "create_full_put_path" directive could not create the intermediate
directories if no "dav_access" directive was set.<br/>
Thanks to Evan Miller.
</para>
</change>
<change type="bugfix">
<para lang="ru">
×ÍÅÓÔÏ ËÏÄÏ× ÏÛÉÂÏË "400" É "408" × access_log ÍÏÇ ÚÁÐÉÓÙ×ÁÔØÓÑ ËÏÄ "0".
</para>
<para lang="en">
the "0" response code might be logged in the access_log instead of
the "400" and "408" error codes.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÓÂÏÒËÅ Ó ÏÐÔÉÍÉÚÁÃÉÅÊ -O2 × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ
segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if nginx was built with -O2 optimization.
</para>
</change>
</changes>
<changes ver="0.5.10" date="26.01.2007">
<change type="bugfix">
<para lang="ru">
×Ï ×ÒÅÍÑ ÏÂÎÏ×ÌÅÎÉÑ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ ÎÏ×ÙÊ ÐÒÏÃÅÓÓ ÎÅ ÎÁÓÌÅÄÏ×ÁÌ
ÓÌÕÛÁÀÝÉÅ ÓÏËÅÔÙ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.9.
</para>
<para lang="en">
while online executable file upgrade the new master process did not
inherit the listening sockets;
the bug had appeared in 0.5.9.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÓÂÏÒËÅ Ó ÏÐÔÉÍÉÚÁÃÉÅÊ -O2 × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ
segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.1.
</para>
<para lang="en">
a segmentation fault might occur in worker process
if nginx was built with -O2 optimization;
the bug had appeared in 0.5.1.
</para>
</change>
</changes>
<changes ver="0.5.9" date="25.01.2007">
<change type="change">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_memcached_module ÔÅÐÅÒØ × ËÁÞÅÓÔ×Å ËÌÀÞÁ ÉÓÐÏÌØÚÕÅÔ
ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $memcached_key.
</para>
<para lang="en">
now the ngx_http_memcached_module uses the $memcached_key variable value
as a key.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $memcached_key.
</para>
<para lang="en">
the $memcached_key variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ clean × ÄÉÒÅËÔÉ×Å client_body_in_file_only.
</para>
<para lang="en">
the "clean" parameter in the "client_body_in_file_only" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á env.
</para>
<para lang="en">
the "env" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á sendfile ÒÁÂÏÔÁÅÔ ×ÎÕÔÒÉ ÂÌÏËÁ if.
</para>
<para lang="en">
the "sendfile" directive is available inside the "if" block.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÏÛÉÂËÅ ÚÁÐÉÓÉ × access_log nginx ÚÁÐÉÓÙ×ÁÅÔ ÓÏÏÂÝÅÎÉÅ × error_log,
ÎÏ ÎÅ ÞÁÝÅ ÏÄÎÏÇÏ ÒÁÚÁ × ÍÉÎÕÔÕ.
</para>
<para lang="en">
now on failure of the writing to access nginx logs a message to error_log,
but not more often than once a minute.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á "access_log off" ÎÅ ×ÓÅÇÄÁ ÚÁÐÒÅÝÁÌÁ ÚÁÐÉÓØ × ÌÏÇ.
</para>
<para lang="en">
the "access_log off" directive did not always turn off the logging.
</para>
</change>
</changes>
<changes ver="0.5.8" date="19.01.2007">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÄÉÒÅËÔÉ×Á <nobr>"client_body_in_file_only on"</nobr>
É ÔÅÌÏ ÚÁÐÒÏÓÁ ÂÙÌÏ ÎÅÂÏÌØÛÏÅ, ÔÏ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur if
<nobr>"client_body_in_file_only on"</nobr> was used
and a request body was small.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÄÉÒÅËÔÉ×Ù
<nobr>"client_body_in_file_only on"</nobr>
É <nobr>"proxy_pass_request_body off"</nobr>
ÉÌÉ <nobr>"fastcgi_pass_request_body off"</nobr>,
É ÄÅÌÁÌÓÑ ÐÅÒÅÈÏÄ Ë ÓÌÅÄÕÀÝÅÍÕ ÂÜËÅÎÄÕ.
</para>
<para lang="en">
a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
and <nobr>"proxy_pass_request_body off"</nobr>
or <nobr>"fastcgi_pass_request_body off"</nobr>
directives were used, and nginx switched to a next upstream.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù "proxy_buffering off" ÓÏÅÄÉÎÅÎÉÅ Ó ËÌÉÅÎÔÏÍ
ÂÙÌÏ ÎÅÁËÔÉ×ÎÏ, ÔÏ ÏÎÏ ÚÁËÒÙ×ÁÌÏÓØ ÐÏ ÔÁÊÍÁÕÔÕ, ÚÁÄÁÎÎÏÍÕ ÄÉÒÅËÔÉ×ÏÊ
send_timeout;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.7.
</para>
<para lang="en">
if the "proxy_buffering off" directive was used and a client connection
was non-active, then the connection was closed after send timeout;
the bug had appeared in 0.4.7.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ epoll ËÌÉÅÎÔ ÚÁËÒÙ×ÁÌ ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏ
ÓÏÅÄÉÎÅÎÉÅ ÓÏ Ó×ÏÅÊ ÓÔÏÒÏÎÙ, ÔÏ nginx ÚÁËÒÙ×ÁÌ ÜÔÏ ÓÏÅÄÉÎÅÎÉÅ ÔÏÌØËÏ
ÐÏ ÉÓÔÅÞÅÎÉÉ ÔÁÊÍÁÕÔÁ ÎÁ ÐÅÒÅÄÁÞÕ.
</para>
<para lang="en">
if the "epoll" method was used and a client closed a connection prematurely,
then nginx closed the connection after a send timeout only.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ "[alert] zero size buf" ÐÒÉ ÒÁÂÏÔÅ Ó FastCGI-ÓÅÒ×ÅÒÏÍ.
</para>
<para lang="en">
the "[alert] zero size buf" error when FastCGI server was used.
</para>
</change>
<change>
<para lang="ru">
éÓÐÒÁ×ÌÅÎÉÅ ÏÛÉÂÏË × ÄÉÒÅËÔÉ×Å limit_zone.
</para>
<para lang="en">
Bugfixes in the "limit_zone" directive.
</para>
</change>
</changes>
<changes ver="0.5.7" date="15.01.2007">
<change type="feature">
<para lang="ru">
ÏÐÔÉÍÉÚÁÃÉÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÁÍÑÔÉ × ssl_session_cache.
</para>
<para lang="en">
the ssl_session_cache storage optimization.
</para>
</change>
<change>
<para lang="ru">
éÓÐÒÁ×ÌÅÎÉÅ ÏÛÉÂÏË × ÄÉÒÅËÔÉ×ÁÈ ssl_session_cache É limit_zone.
</para>
<para lang="en">
Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ ÓÔÁÒÔÅ ÉÌÉ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÉÓÈÏÄÉÌ segmentation fault,
ÅÓÌÉ ÄÉÒÅËÔÉ×Ù ssl_session_cache ÉÌÉ limit_zone ÉÓÐÏÌØÚÏ×ÁÌÉÓØ
ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ.
</para>
<para lang="en">
the segmentation fault was occurred on start or while reconfiguration
if the "ssl_session_cache" or "limit_zone" directives were used
on 64-bit platforms.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ× add_before_body ÉÌÉ add_after_body ÐÒÏÉÓÈÏÄÉÌ
segmentation fault, ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÎÅÔ ÓÔÒÏËÉ "Content-Type".
</para>
<para lang="en">
a segmentation fault occurred if the "add_before_body" or "add_after_body"
directives were used and there was no "Content-Type" header line in response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÉÂÌÉÏÔÅËÁ OpenSSL ×ÓÅÇÄÁ ÓÏÂÉÒÁÌÁÓØ Ó ÐÏÄÄÅÒÖËÏÊ ÐÏÔÏËÏ×.<br/>
óÐÁÓÉÂÏ äÅÎÕ é×ÁÎÏ×Õ.
</para>
<para lang="en">
the OpenSSL library was always built with the threads support.<br/>
Thanks to Den Ivanov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÂÉÂÌÉÏÔÅËÉ PCRE-6.5+ É ËÏÍÐÉÌÑÔÏÒÁ icc.
</para>
<para lang="en">
the PCRE-6.5+ library and the icc compiler compatibility.
</para>
</change>
</changes>
<changes ver="0.5.6" date="09.01.2007">
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_index_module ÉÇÎÏÒÉÒÕÅÔ ×ÓÅ ÍÅÔÏÄÙ,
ËÒÏÍÅ GET, HEAD É POST.
</para>
<para lang="en">
now the ngx_http_index_module ignores all methods except the GET, HEAD, and
POST methods.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_limit_zone_module.
</para>
<para lang="en">
the ngx_http_limit_zone_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $binary_remote_addr.
</para>
<para lang="en">
the $binary_remote_addr variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù ssl_session_cache ÍÏÄÕÌÅÊ ngx_http_ssl_module É ngx_imap_ssl_module.
</para>
<para lang="en">
the "ssl_session_cache" directives
of the ngx_http_ssl_module and ngx_imap_ssl_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÅÔÏÄ DELETE ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÅËÕÒÓÉ×ÎÏÅ ÕÄÁÌÅÎÉÅ.
</para>
<para lang="en">
the DELETE method supports recursive removal.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ $r->sendfile() byte-ranges ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ×ÅÒÎÏ.
</para>
<para lang="en">
the byte-ranges were transferred incorrectly if the $r->sendfile() was used.
</para>
</change>
</changes>
<changes ver="0.5.5" date="24.12.2006">
<change type="change">
<para lang="ru">
ËÌÀÞ -v ÂÏÌØÛÅ ÎÅ ×Ù×ÏÄÉÔ ÉÎÆÏÒÍÁÃÉÀ Ï ËÏÍÐÉÌÑÔÏÒÅ.
</para>
<para lang="en">
the -v switch does not show compiler information any more.
</para>
</change>
<change type="feature">
<para lang="ru">
ËÌÀÞ -V.
</para>
<para lang="en">
the -V switch.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á worker_rlimit_core ÐÏÄÄÅÒÖÉ×ÁÅÔ ÕËÁÚÁÎÉÅ ÒÁÚÍÅÒÁ × K, M É G.
</para>
<para lang="en">
the "worker_rlimit_core" directive supports size in K, M, and G.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ nginx.pm ÔÅÐÅÒØ ÍÏÖÅÔ ÕÓÔÁÎÁ×ÌÉ×ÁÔØÓÑ ÎÅÐÒÉ×ÉÌÅÇÉÒÏ×ÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
</para>
<para lang="en">
the nginx.pm module now could be installed by an unprivileged user.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÏ× $r->request_body ÉÌÉ $r->request_body_file ÍÏÇ
ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur if the $r->request_body or
$r->request_body_file methods were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂÏË, ÓÐÅÃÉÆÉÞÎÙÈ ÄÌÑ ÐÌÁÔÆÏÒÍÙ ppc.
</para>
<para lang="en">
the ppc platform specific bugs.
</para>
</change>
</changes>
<changes ver="0.5.4" date="15.12.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Õ perl ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ limit_except.
</para>
<para lang="en">
the "perl" directive may be used inside the "limit_except" block.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_dav_module ÔÒÅÂÏ×ÁÌ ÓÔÒÏËÕ "Date" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ
ÄÌÑ ÍÅÔÏÄÁ DELETE.
</para>
<para lang="en">
the ngx_http_dav_module required the "Date" request header line
for the DELETE method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÄÎÏÇÏ ÐÁÒÁÍÅÔÒÁ × ÄÉÒÅËÔÉ×Å dav_access nginx ÍÏÇ
ÓÏÏÂÝÉÔØ ÏÂ ÏÛÉÂËÅ × ËÏÎÆÉÇÕÒÁÃÉÉ.
</para>
<para lang="en">
if one only parameter was used in the "dav_access" directive, then
nginx might report about configuration error.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $host ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.14.
</para>
<para lang="en">
a segmentation fault might occur if the $host variable was used;
the bug had appeared in 0.4.14.
</para>
</change>
</changes>
<changes ver="0.5.3" date="13.12.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄÙ $r->status, $r->log_error
É $r->sleep.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->status, $r->log_error,
and $r->sleep methods.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÅÔÏÄ $r->variable ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ, ÎÅÏÐÉÓÁÎÎÙÅ × ËÏÎÆÉÇÕÒÁÃÉÉ nginx'Á.
</para>
<para lang="en">
the $r->variable method supports variables that do not exist in nginx
configuration.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÅÔÏÄ $r->has_request_body ÎÅ ÒÁÂÏÔÁÌ.
</para>
<para lang="en">
the $r->has_request_body method did not work.
</para>
</change>
</changes>
<changes ver="0.5.2" date="11.12.2006">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ proxy_pass ÉÓÐÏÌØÚÏ×ÁÌÏÓØ ÉÍÑ, ÕËÁÚÁÎÎÏÅ × upstream,
ÔÏ nginx ÐÙÔÁÌÓÑ ÎÁÊÔÉ IP-ÁÄÒÅÓ ÜÔÏÇÏ ÉÍÅÎÉ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.1.
</para>
<para lang="en">
if the "proxy_pass" directive used the name of the "upstream" block,
then nginx tried to resolve the name;
the bug had appeared in 0.5.1.
</para>
</change>
</changes>
<changes ver="0.5.1" date="11.12.2006">
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á post_action ÍÏÇÌÁ ÎÅ ÒÁÂÏÔÁÔØ ÐÏÓÌÅ ÎÅÕÄÁÞÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the "post_action" directive might not run after a unsuccessful completion
of a request.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÏÂÈÏÄ ÏÛÉÂËÉ × Eudora ÄÌÑ Mac;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.11.<br/>
óÐÁÓÉÂÏ Bron Gondwana.
</para>
<para lang="en">
for Eudora for Mac;
the bug had appeared in 0.4.11.<br/>
Thanks to Bron Gondwana.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÕËÁÚÁÎÉÉ × ÄÉÒÅËÔÉ×Å fastcgi_pass ÉÍÅÎÉ ÏÐÉÓÁÎÎÏÇÏ upstream'Á ×ÙÄÁ×ÁÌÏÓØ
ÓÏÏÂÝÅÎÉÅ "no port in upstream";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.0.
</para>
<para lang="en">
if the "upstream" name was used in the "fastcgi_pass", then the message
"no port in upstream" was issued;
the bug had appeared in 0.5.0.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ proxy_pass É fastcgi_pass ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÏÄÉÎÁËÏ×ÙÈ ÉÍÅÎÁ
ÓÅÒ×ÅÒÏ×, ÎÏ Ó ÒÁÚÎÙÍÉ ÐÏÒÔÁÍÉ, ÔÏ ÜÔÉ ÄÉÒÅËÔÉ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ ÐÅÒ×ÙÊ
ÏÐÉÓÁÎÎÙÊ ÐÏÒÔ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.0.
</para>
<para lang="en">
if the "proxy_pass" and "fastcgi_pass" directives used the same servers but
different ports, then these directives uses the first described port;
the bug had appeared in 0.5.0.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ proxy_pass É fastcgi_pass ÉÓÐÏÌØÚÏ×ÁÌÉÓØ unix domain ÓÏËÅÔÙ,
ÔÏ ÜÔÉ ÄÉÒÅËÔÉ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ ÐÅÒ×ÙÊ ÏÐÉÓÁÎÎÙÊ ÓÏËÅÔ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.0.
</para>
<para lang="en">
if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets,
then these directives used first described socket;
the bug had appeared in 0.5.0.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_auth_basic_module ÉÇÎÏÒÉÒÏ×ÁÌ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÅÓÌÉ ÏÎ ÂÙÌ ÕËÁÚÁÎ
× ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ ÆÁÊÌÁ ÐÁÒÏÌÅÊ É ÐÏÓÌÅ ÐÁÒÏÌÑ ÎÅ ÂÙÌÏ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ,
×ÏÚ×ÒÁÔÁ ËÁÒÅÔËÉ ÉÌÉ ÓÉÍ×ÏÌÁ ":".
</para>
<para lang="en">
ngx_http_auth_basic_module ignored the user if it was in the last line in
the password file and there was no the carriage return, the line feed,
or the ":" symbol after the password.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $upstream_response_time ÍÏÇÌÁ ÂÙÔØ ÒÁ×ÎÁ "0.000", ÈÏÔÑ ×ÒÅÍÑ
ÏÂÒÁÂÏÔËÉ ÂÙÌÏ ÂÏÌØÛÅ 1 ÍÉÌÌÉÓÅËÕÎÄÙ.
</para>
<para lang="en">
the $upstream_response_time variable might be equal to "0.000", although
response time was more than 1 millisecond.
</para>
</change>
</changes>
<changes ver="0.5.0" date="04.12.2006">
<change type="change">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ × ×ÉÄÅ "%name" × ÄÉÒÅËÔÉ×Å log_format ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ.
</para>
<para lang="en">
the parameters in the "%name" form in the "log_format" directive
are not supported anymore.
</para>
</change>
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_upstream_max_fails, proxy_upstream_fail_timeout,
fastcgi_upstream_max_fails, É fastcgi_upstream_fail_timeout,
memcached_upstream_max_fails É memcached_upstream_fail_timeout
ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ.
</para>
<para lang="en">
the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
"fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout",
"memcached_upstream_max_fails", and "memcached_upstream_fail_timeout"
directives are not supported anymore.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server × ÂÌÏËÅ upstream ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒÙ
max_fails, fail_timeout É down.
</para>
<para lang="en">
the "server" directive in the "upstream" context supports
the "max_fails", "fail_timeout", and "down" parameters.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ip_hash × ÂÌÏËÅ upstream.
</para>
<para lang="en">
the "ip_hash" directive inside the "upstream" block.
</para>
</change>
<change type="feature">
<para lang="ru">
ÓÔÁÔÕÓ WAIT × ÓÔÒÏËÅ "Auth-Status" × ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ ÓÅÒ×ÅÒÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ
IMAP/POP3 ÐÒÏËÓÉ.
</para>
<para lang="en">
the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy
authentication server response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.14.
</para>
<para lang="en">
nginx could not be built on 64-bit platforms;
the bug had appeared in 0.4.14.
</para>
</change>
</changes>
<changes ver="0.4.14" date="27.11.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_pass_error_message × IMAP/POP3 ÐÒÏËÓÉ.
</para>
<para lang="en">
the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ configure ÏÐÒÅÄÅÌÑÅÔ ÂÉÂÌÉÏÔÅËÕ PCRE ÎÁ FreeBSD, Linux É NetBSD.
</para>
<para lang="en">
now configure detects system PCRE library on FreeBSD, Linux, and NetBSD.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌ Ó ÐÅÒÌÏÍ, ÓÏÂÒÁÎÎÙÍ Ó ÐÏÄÄÅÒÖËÏÊ ÐÏÔÏËÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.38.
</para>
<para lang="en">
ngx_http_perl_module did not work with perl built with the threads support;
the bug had appeared in 0.3.38.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌ ËÏÒÒÅËÔÎÏ, ÅÓÌÉ ÐÅÒÌ ×ÙÚÙ×ÁÌÓÑ ÒÅËÕÒÓÉ×ÎÏ.
</para>
<para lang="en">
ngx_http_perl_module did not work if perl was called recursively.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÉÇÎÏÒÉÒÏ×ÁÌ ÉÍÑ ÓÅÒ×ÅÒÁ × ÓÔÒÏËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
nginx ignored a host name in a request line.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ FastCGI ÓÅÒ×ÅÒ ÐÅÒÅÄÁ×ÁÌ ÍÎÏÇÏ × stderr,
ÔÏ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ.
</para>
<para lang="en">
a worker process may got caught in an endless loop,
if a FastCGI server sent too many data to the stderr.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÓÉÓÔÅÍÎÏÇÏ ×ÒÅÍÅÎÉ ÐÅÒÅÍÅÎÎÁÑ $upstream_response_time
ÍÏÇÌÁ ÂÙÔØ ÏÔÒÉÃÁÔÅÌØÎÏÊ.
</para>
<para lang="en">
the $upstream_response_time variable may be negative if the system time
was changed backward.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ POP3 ÓÅÒ×ÅÒÕ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 ÐÒÏËÓÉ
ÎÅ ÐÅÒÅÄÁ×ÁÌÓÑ ÐÁÒÁÍÅÔÒ Auth-Login-Attempt.
</para>
<para lang="en">
the "Auth-Login-Attempt" parameter was not sent to
IMAP/POP3 proxy authentication server when POP3 was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÏÛÉÂËÅ ÓÏÅÄÉÎÅÎÉÑ Ó ÓÅÒ×ÅÒÏÍ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 ÐÒÏËÓÉ
ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur if connect to IMAP/POP3 proxy
authentication server failed.
</para>
</change>
</changes>
<changes ver="0.4.13" date="15.11.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Õ proxy_pass ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ limit_except.
</para>
<para lang="en">
the "proxy_pass" directive may be used inside the "limit_except" block.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á limit_except ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÓÅ WebDAV ÍÅÔÏÄÙ.
</para>
<para lang="en">
the "limit_except" directive supports all WebDAV methods.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù add_before_body ÂÅÚ ÄÉÒÅËÔÉ×Ù add_after_body
ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
if the "add_before_body" directive was used without
the "add_after_body" directive, then a response did not transferred complete.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÏÌØÛÏÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ÎÅ ÐÒÉÎÉÍÁÌÏÓØ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÍÅÔÏÄ epoll
É deferred accept().
</para>
<para lang="en">
a large request body did not receive if the epoll method
and the deferred accept() were used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÌÑ ÏÔ×ÅÔÏ× ÍÏÄÕÌÑ ngx_http_autoindex_module ÎÅ ×ÙÓÔÁ×ÌÑÌÁÓØ ËÏÄÉÒÏ×ËÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50.
</para>
<para lang="en">
a charset could not be set for ngx_http_autoindex_module responses;
the bug had appeared in 0.3.50.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ "[alert] zero size buf" ÐÒÉ ÒÁÂÏÔÅ Ó FastCGI-ÓÅÒ×ÅÒÏÍ;
</para>
<para lang="en">
the "[alert] zero size buf" error when FastCGI server was used;
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ --group= ÉÇÎÏÒÉÒÏ×ÁÌÓÑ.<br/>
óÐÁÓÉÂÏ Thomas Moschny.
</para>
<para lang="en">
the --group= configuration parameter was ignored.<br/>
Thanks to Thomas Moschny.
</para>
</change>
<change type="bugfix">
<para lang="ru">
50-Ê ÐÏÄÚÁÐÒÏÓ × SSI ÏÔ×ÅÔÅ ÎÅ ÒÁÂÏÔÁÌ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50.
</para>
<para lang="en">
the 50th subrequest in SSI response did not work;
the bug had appeared in 0.3.50.
</para>
</change>
</changes>
<changes ver="0.4.12" date="31.10.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ $r->variable.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->variable method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞÅÎÉÉ × ÏÔ×ÅÔ ÂÏÌØÛÏÇÏ ÓÔÁÔÉÞÅÓËÏÇÏ ÆÁÊÌÁ Ó ÐÏÍÏÝØÀ SSI
ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
if a big static file was included using SSI in a response,
then the response may be transferred incomplete.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÕÂÉÒÁÌ "#fragment" × URI.
</para>
<para lang="en">
nginx did not omit the "#fragment" part in URI.
</para>
</change>
</changes>
<changes ver="0.4.11" date="25.10.2006">
<change type="feature">
<para lang="ru">
POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ AUTH LOIGN PLAIN É CRAM-MD5.
</para>
<para lang="en">
the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ $r->allow_ranges.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->allow_ranges method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ×ËÌÀÞ£ÎÎÏÊ ÐÏÄÄÅÒÖËÅ ËÏÍÁÎÄÙ APOP × POP3 ÐÒÏËÓÉ ÍÏÇÌÉ
ÎÅ ÒÁÂÏÔÁÔØ ËÏÍÁÎÄÙ USER/PASS;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.10.
</para>
<para lang="en">
if the APOP was enabled in the POP3 proxy, then the USER/PASS commands
might not work;
the bug had appeared in 0.4.10.
</para>
</change>
</changes>
<changes ver="0.4.10" date="23.10.2006">
<change type="feature">
<para lang="ru">
POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ APOP.
</para>
<para lang="en">
the POP3 proxy supports the APOP command.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÏ× select, poll É /dev/poll ×Ï ×ÒÅÍÑ ÏÖÉÄÁÎÉÑ
ÏÔ×ÅÔÁ ÏÔ ÓÅÒ×ÅÒÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 ÐÒÏËÓÉ ÎÁÇÒÕÖÁÌ ÐÒÏÃÅÓÓÏÒ.
</para>
<para lang="en">
if the select, poll or /dev/poll methods were used, then while
waiting authentication server response the IMAP/POP3 proxy hogged CPU.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $server_addr × ÄÉÒÅËÔÉ×Å map ÍÏÇ
ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault might occur if the $server_addr variable was used
in the "map" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_flv_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ byte ranges ÄÌÑ ÐÏÌÎÙÈ ÏÔ×ÅÔÏ×;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.7.
</para>
<para lang="en">
the ngx_http_flv_module did not support the byte ranges for full responses;
the bug had appeared in 0.4.7.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Debian amd64;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.9.
</para>
<para lang="en">
nginx could not be built on Debian amd64;
the bug had appeared in 0.4.9.
</para>
</change>
</changes>
<changes ver="0.4.9" date="13.10.2006">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ set × ËÏÍÁÎÄÅ SSI include.
</para>
<para lang="en">
the "set" parameter in the "include" SSI command.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÅÔ ×ÅÒÓÉÀ ÍÏÄÕÌÑ nginx.pm.
</para>
<para lang="en">
the ngx_http_perl_module now tests the nginx.pm module version.
</para>
</change>
</changes>
<changes ver="0.4.8" date="11.10.2006">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÏ ËÏÍÁÎÄÙ SSI include Ó ÐÁÒÁÍÅÔÒÏÍ wait ×ÙÐÏÌÎÑÌÁÓØ ÅÝ£
ÏÄÎÁ ËÏÍÁÎÄÁ SSI include, ÔÏ ÐÁÒÁÍÅÔÒ wait ÍÏÇ ÎÅ ÒÁÂÏÔÁÔØ.
</para>
<para lang="en">
if an "include" SSI command were before another "include" SSI command
with a "wait" parameter, then the "wait" parameter might not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_flv_module ÄÏÂÁ×ÌÑÌ FLV-ÚÁÇÏÌÏ×ÏË ÄÌÑ ÐÏÌÎÙÈ ÏÔ×ÅÔÏ×.<br/>
óÐÁÓÉÂÏ áÌÅËÓÅÀ ëÏ×ÙÒÉÎÕ.
</para>
<para lang="en">
the ngx_http_flv_module added the FLV header to the full responses.<br/>
Thanks to Alexey Kovyrin.
</para>
</change>
</changes>
<changes ver="0.4.7" date="10.10.2006">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_flv_module.
</para>
<para lang="en">
the ngx_http_flv_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $request_body_file.
</para>
<para lang="en">
the $request_body_file variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù charset É source_charset ÐÏÄÄÅÒÖÉ×ÁÀÔ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
the "charset" and "source_charset" directives support the variables.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÏ ËÏÍÁÎÄÙ SSI include Ó ÐÁÒÁÍÅÔÒÏÍ wait ×ÙÐÏÌÎÑÌÁÓØ ÅÝ£
ÏÄÎÁ ËÏÍÁÎÄÁ SSI include, ÔÏ ÐÁÒÁÍÅÔÒ wait ÍÏÇ ÎÅ ÒÁÂÏÔÁÔØ.
</para>
<para lang="en">
if an "include" SSI command were before another "include" SSI command
with a "wait" parameter, then the "wait" parameter might not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù "proxy_buffering off" ÉÌÉ ÐÒÉ ÒÁÂÏÔÅ
Ó memcached ÓÏÅÄÉÎÅÎÉÑ ÍÏÇÌÉ ÎÅ ÚÁËÒÙ×ÁÔØÓÑ ÐÏ ÔÁÊÍÁÕÔÕ.
</para>
<para lang="en">
if the "proxy_buffering off" directive was used or while working with
memcached the connections might not be closed on timeout.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ amd64, sparc64 É ppc64.
</para>
<para lang="en">
nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
</para>
</change>
</changes>
<changes ver="0.4.6" date="06.10.2006">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ amd64, sparc64 É ppc64.
</para>
<para lang="en">
nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÚÁÐÒÏÓÅ ×ÅÒÓÉÉ HTTP/1.1 nginx ÐÅÒÅÄÁ×ÁÌ ÏÔ×ÅÔ chunk'ÁÍÉ,
ÅÓÌÉ ÄÌÉÎÁ ÏÔ×ÅÔÁ × ÍÅÔÏÄÅ $r->headers_out("Content-Length", ...)
ÂÙÌÁ ÚÁÄÁÎÁ ÔÅËÓÔÏ×ÏÊ ÓÔÒÏËÏÊ.
</para>
<para lang="en">
nginx sent the chunked response for HTTP/1.1 request,<br/>
if its length was set by text string in
the $r->headers_out("Content-Length", ...) method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÏÛÉÂËÉ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page ÌÀÂÁÑ ÄÉÒÅËÔÉ×Á
ÍÏÄÕÌÑ ngx_http_rewrite_module ×ÏÚ×ÒÁÝÁÌÁ ÜÔÕ ÏÛÉÂËÕ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.4.
</para>
<para lang="en">
after redirecting error by an "error_page" directive
any ngx_http_rewrite_module directive returned this error code;
the bug had appeared in 0.4.4.
</para>
</change>
</changes>
<changes ver="0.4.5" date="02.10.2006">
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Linux É Solaris;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.4.
</para>
<para lang="en">
nginx could not be built on Linux and Solaris;
the bug had appeared in 0.4.4.
</para>
</change>
</changes>
<changes ver="0.4.4" date="02.10.2006">
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $scheme.
</para>
<para lang="en">
the $scheme variable.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á expires ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ max.
</para>
<para lang="en">
the "expires" directive supports the "max" parameter.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á include ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÁÓËÕ "*".<br/>
óÐÁÓÉÂÏ Jonathan Dance.
</para>
<para lang="en">
the "include" directive supports the "*" mask.<br/>
Thanks to Jonathan Dance.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á return ×ÓÅÇÄÁ ÉÚÍÅÎÑÌÁ ËÏÄ ÏÔ×ÅÔÁ, ÐÅÒÅÎÁÐÒÁ×ÌÅÎÎÏÇÏ
ÄÉÒÅËÔÉ×ÏÊ error_page.
</para>
<para lang="en">
the "return" directive always overrode the "error_page" response code
redirected by the "error_page" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÍÅÔÏÄÅ PUT ÐÅÒÅÄÁ×ÁÌÏÓØ
ÔÅÌÏ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ.
</para>
<para lang="en">
a segmentation fault occurred if zero-length body was in PUT method.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å proxy_redirect ÒÅÄÉÒÅËÔ
ÉÚÍÅÎÑÌÓÑ ÎÅ×ÅÒÎÏ.
</para>
<para lang="en">
the redirect was changed incorrectly if the variables were used
in the "proxy_redirect" directive.
</para>
</change>
</changes>
<changes ver="0.4.3" date="26.09.2006">
<change type="change">
<para lang="ru">
ÏÛÉÂËÕ 499 ÔÅÐÅÒØ ÎÅÌØÚÑ ÐÅÒÅÎÁÐÒÁ×ÉÔØ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page.
</para>
<para lang="en">
now the 499 error could not be redirected using an "error_page" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ Solaris 10 event ports.
</para>
<para lang="en">
the Solaris 10 event ports support.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_browser_module.
</para>
<para lang="en">
the ngx_http_browser_module.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂËÉ 400 ÐÒÏËÓÉÒÏ×ÁÎÎÏÍÕ ÓÅÒ×ÅÒÕ
ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.
</para>
<para lang="en">
a segmentation fault may occur while redirecting the 400 error
to the proxied server using a "proxy_pass" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÉÓÐÏÌØÚÏ×ÁÌÓÑ
unix domain ÓÏËÅÔ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.47.
</para>
<para lang="en">
a segmentation fault occurred if an unix domain socket was used in
a "proxy_pass" directive;
the bug had appeared in 0.3.47.
</para>
</change>
<change type="bugfix">
<para lang="ru">
SSI ÎÅ ÒÁÂÏÔÁÌ Ó ÏÔ×ÅÔÁÍÉ memcached É ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÙÍÉ ÐÒÏËÓÉÒÏ×ÁÎÎÙÍÉ
ÏÔ×ÅÔÁÍÉ.
</para>
<para lang="en">
SSI did work with memcached and nonbuffered responses.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÏÂÈÏÄ ÏÛÉÂËÉ PAUSE hardware capability × Sun Studio.
</para>
<para lang="en">
of the Sun Studio PAUSE hardware capability bug.
</para>
</change>
</changes>
<changes ver="0.4.2" date="14.09.2006">
<change type="bugfix">
<para lang="ru">
ÕÂÒÁÎÁ ÐÏÄÄÅÒÖËÁ ÆÌÁÇÁ O_NOATIME ÎÁ Linux;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.1.
</para>
<para lang="en">
the O_NOATIME flag support on Linux was canceled;
the bug had appeared in 0.4.1.
</para>
</change>
</changes>
<changes ver="0.4.1" date="14.09.2006">
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó DragonFlyBSD.<br/>
óÐÁÓÉÂÏ ðÁ×ÌÕ îÁÚÁÒÏ×Õ.
</para>
<para lang="en">
the DragonFlyBSD compatibility.<br/>
Thanks to Pavel Nazarov.
</para>
</change>
<change type="workaround">
<para lang="ru">
ÏÂÈÏÄ ÏÛÉÂËÉ × sendfile() × 64-ÂÉÔÎÏÍ Linux ÐÒÉ ÐÅÒÅÄÁÞÅ ÆÁÊÌÏ× ÂÏÌØÛÅ 2G.
</para>
<para lang="en">
of bug in 64-bit Linux sendfile(), when file is more than 2G.
</para>
</change>
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÎÁ Linux nginx ÄÌÑ ÓÔÁÔÉÞÅÓËÉÈ ÚÁÐÒÏÓÏ× ÉÓÐÏÌØÚÕÅÔ ÆÌÁÇ O_NOATIME.<br/>
óÐÁÓÉÂÏ Yusuf Goolamabbas.
</para>
<para lang="en">
now on Linux nginx uses O_NOATIME flag for static requests.<br/>
Thanks to Yusuf Goolamabbas.
</para>
</change>
</changes>
<changes ver="0.4.0" date="30.08.2006">
<change>
<para lang="ru">
éÚÍÅÎÅÎÉÅ ×Ï ×ÎÕÔÒÅÎÎÅÍ API: ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÍÏÄÕÌÅÊ HTTP ÐÅÒÅÎÅÓÅÎÁ ÉÚ ÆÁÚÙ
init module × ÆÁÚÕ HTTP postconfiguration.
</para>
<para lang="en">
Change in internal API: the HTTP modules initialization was moved
from the init module phase to the HTTP postconfiguration phase.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÔÅÌÏ ÚÁÐÒÏÓÁ × ÍÏÄÕÌÅ ngx_http_perl_module ÎÅ ÓÞÉÔÙ×ÁÅÔÓÑ
ÚÁÒÁÎÅÅ: ÎÕÖÎÏ Ñ×ÎÏ ÉÎÉÃÉÉÒÏ×ÁÔØ ÞÔÅÎÉÅ Ó ÐÏÍÏÝØÀ ÍÅÔÏÄÁ $r->has_request_body.
</para>
<para lang="en">
now the request body is not read beforehand for the ngx_http_perl_module:
it's required to start the reading using the $r->has_request_body method.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÄ ×ÏÚ×ÒÁÔÁ DECLINED.
</para>
<para lang="en">
the ngx_http_perl_module supports the DECLINED return code.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_dav_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÈÏÄÑÝÕÀ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ "Date"
ÄÌÑ ÍÅÔÏÄÁ PUT.
</para>
<para lang="en">
the ngx_http_dav_module supports the incoming "Date" header line
for the PUT method.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á ssi ÒÁÂÏÔÁÅÔ ×ÎÕÔÒÉ ÂÌÏËÁ if.
</para>
<para lang="en">
the "ssi" directive is available inside the "if" block.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å index ÉÓÐÏÌØÚÏ×ÁÌÁÓØ
ÐÅÒÅÍÅÎÎÙÅ É ÐÒÉ ÜÔÏÍ ÐÅÒ×ÏÅ ÉÍÑ ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ ÂÙÌÏ ÂÅÚ ÐÅÒÅÍÅÎÎÙÈ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
</para>
<para lang="en">
a segmentation fault occurred if there was an "index" directive with
variables and the first index name was without variables;
the bug had appeared in 0.1.29.
</para>
</change>
</changes>
<changes ver="0.3.61" date="28.08.2006">
<change type="change">
<para lang="ru">
ÄÉÒÅËÔÉ×Á tcp_nodelay ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ×ËÌÀÞÅÎÁ.
</para>
<para lang="en">
now the "tcp_nodelay" directive is turned on by default.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á msie_refresh.
</para>
<para lang="en">
the "msie_refresh" directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á recursive_error_pages.
</para>
<para lang="en">
the "recursive_error_pages" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á rewrite ×ÏÚ×ÒÁÝÁÌÁ ÎÅÐÒÁ×ÉÌØÎÙÊ ÒÅÄÉÒÅËÔ, ÅÓÌÉ ÒÅÄÉÒÅËÔ
×ËÌÀÞÁÌ × ÓÅÂÑ ×ÙÄÅÌÅÎÎÙÅ ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ ÓÉÍ×ÏÌÙ ÉÚ ÏÒÉÇÉÎÁÌØÎÏÇÏ URI.
</para>
<para lang="en">
the "rewrite" directive returned incorrect redirect, if the redirect
had the captured escaped symbols from original URI.
</para>
</change>
</changes>
<changes ver="0.3.60" date="18.08.2006">
<change type="bugfix">
<para lang="ru">
×Ï ×ÒÅÍÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÏÛÉÂËÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.59.
</para>
<para lang="en">
a worker process may got caught in an endless loop
while an error redirection;
the bug had appeared in 0.3.59.
</para>
</change>
</changes>
<changes ver="0.3.59" date="16.08.2006">
<change type="feature">
<para lang="ru">
ÔÅÐÅÒØ ÍÏÖÎÏ ÄÅÌÁÔØ ÎÅÓËÏÌØËÏ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÊ ÞÅÒÅÚ ÄÉÒÅËÔÉ×Õ error_page.
</para>
<para lang="en">
now is possible to do several redirection using the "error_page" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á dav_access ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÔÒÉ ÐÁÒÁÍÅÔÒÁ.
</para>
<para lang="en">
the "dav_access" directive did not support three parameters.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á error_page ÎÅ ÉÚÍÅÎÑÌÁ ÓÔÒÏËÕ "Content-Type"
ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ Ó ÐÏÍÏÝØÀ "X-Accel-Redirect";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.58.
</para>
<para lang="en">
the "error_page" directive did not changes the "Content-Type" header line
after the "X-Accel-Redirect" was used;
the bug had appeared in 0.3.58.
</para>
</change>
</changes>
<changes ver="0.3.58" date="14.08.2006">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á error_page ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ.
</para>
<para lang="en">
the "error_page" directive supports the variables.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÎÁ Linux ÉÓÐÏÌØÚÕÅÔÓÑ ÉÎÔÅÒÆÅÊÓ procfs ×ÍÅÓÔÏ sysctl.
</para>
<para lang="en">
now the procfs interface instead of sysctl is used on Linux.
</para>
</change>
<change type="change">
<para lang="ru">
ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "X-Accel-Redirect" ÓÔÒÏËÁ "Content-Type" ÎÁÓÌÅÄÕÅÔÓÑ
ÉÚ ÐÅÒ×ÏÎÁÞÁÌØÎÏÇÏ ÏÔ×ÅÔÁ.
</para>
<para lang="en">
now the "Content-Type" header line is inherited from first response
when the "X-Accel-Redirect" was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á error_page ÎÅ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÁ ÏÛÉÂËÕ 413.
</para>
<para lang="en">
the "error_page" directive did not redirect the 413 error.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÚÁ×ÅÒÛÁÀÝÉÊ "?" ÎÅ ÕÄÁÌÑÌ ÓÔÁÒÙÅ ÁÒÇÕÍÅÎÔÙ, ÅÓÌÉ × ÐÅÒÅÐÉÓÁÎÎÏÍ URI
ÎÅ ÂÙÌÏ ÎÏ×ÙÈ ÁÒÇÕÍÅÎÔÏ×.
</para>
<para lang="en">
the trailing "?" did not remove old arguments if no new arguments
were added to a rewritten URI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ 64-ÂÉÔÎÏÊ FreeBSD 7.0-CURRENT.
</para>
<para lang="en">
nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
</para>
</change>
</changes>
<changes ver="0.3.57" date="09.08.2006">
<change type="feature">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $ssl_client_serial.
</para>
<para lang="en">
the $ssl_client_serial variable.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÏÐÅÒÁÔÏÒÅ "!-e" × ÄÉÒÅËÔÉ×Å if.<br/>
óÐÁÓÉÂÏ áÎÄÒÉÁÎÕ âÕÄÁÎÃÏ×Õ.
</para>
<para lang="en">
in the "!-e" operator of the "if" directive.<br/>
Thanks to Andrian Budanstov.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÒÏ×ÅÒËÅ ËÌÉÅÎÔÓËÏÇÏ ÓÅÒÔÉÆÉËÁÔÁ nginx ÎÅ ÐÅÒÅÄÁ×ÁÌ ËÌÉÅÎÔÕ
ÉÎÆÏÒÍÁÃÉÀ Ï ÔÒÅÂÕÅÍÙÈ ÓÅÒÔÉÆÉËÁÔÁÈ.
</para>
<para lang="en">
while a client certificate verification nginx did not send to a client
the required certificates information.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÅÒÅÍÅÎÎÁÑ $document_root ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÐÅÒÅÍÅÎÎÙÅ × ÄÉÒÅËÔÉ×Å root.
</para>
<para lang="en">
the $document_root variable did not support the variables in the "root"
directive.
</para>
</change>
</changes>
<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 a request returned a 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->header_in("Cookie") ÍÏÄÕÌÑ ngx_http_perl_module ÔÅÐÅÒØ ×ÏÚ×ÒÁÝÁÅÔ
×ÓÅ ÓÔÒÏËÉ "Cookie" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ.
</para>
<para lang="en">
the $r->header_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 switched 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;
the bug had 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;
the bug had 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 in 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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 and 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;
the bug had 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;
the bug had 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">
now 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;
the bug had 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;
the bug had 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 to 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;
the bug had appeared in 0.3.18.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ
ÚÁÐÒÏÓÙ Ó ÔÅÌÏÍ, ÚÁÐÉÓÁÎÎÙÍ ×Ï ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ.
</para>
<para lang="en">
if the HTTPS protocol was used in the "proxy_pass" directive and
the request body was in temporary 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;
the bug had 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 HTTPS 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had appeared in 0.2.4.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass.
</para>
<para lang="en">
in the HTTPS protocol in the "proxy_pass" directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass ÐÏ ÕÍÏÌÞÁÎÉÀ
ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÏÒÔ 80.
</para>
<para lang="en">
when the HTTPS 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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,
and ppc;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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 the bug had 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 the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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>;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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 the bug had 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;
the bug had 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 proxying 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,
and ppc;
the bug had 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 proxying 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;
the bug had 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 a redirect rewrite directive arguments were concatenated with URI
by an "&amp;" rather than a "?".
</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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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 last character in the request line was lost;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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;
the bug had 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 proxying.
</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 proxying.
</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>