blob: 7323d48e95c676b5890c58c4f65cfce7658b8e4e [file] [log] [blame]
<?xml version="1.0" encoding="koi8-r" ?>
<!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" >
<change_log link="/nginx/changes.html" path="/nginx/" root=".."
title="nginx">
<title lang="ru">éÚÍÅÎÅÎÉÑ × nginx</title>
<title lang="en">nginx changelog</title>
<changes ver="0.1.17" date="03.02.2005">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_rewrite_module ÐÏÌÎÏÓÔØÀ ÐÅÒÅÐÉÓÁÎ.
ôÅÐÅÒØ ÍÏÖÎÏ ÄÅÌÁÔØ ÒÅÄÉÒÅËÔÙ, ×ÏÚ×ÒÁÝÁÔØ ËÏÄÙ ÏÛÉÂÏË
É ÐÒÏ×ÅÒÑÔØ ÐÅÒÅÍÅÎÎÙÅ É ÒÅÆÅÒÅÒÙ.
üÔÉ ÄÉÒÅËÔÉ×Ù ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ location.
äÉÒÅËÔÉ×Á redirect ÕÐÒÁÚÄÎÅÎÁ.
</para>
<para lang="en">
the ngx_http_rewrite_module was rewritten from the scratch.
Now it is possible to redirect, to return the error codes,
to check the variables and referrers. The directives can be used
inside locations.
The redirect directive was canceled.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_geo_module.
</para>
<para lang="en">
the ngx_http_geo_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù proxy_set_x_var É fastcgi_set_var.
</para>
<para lang="en">
the proxy_set_x_var and fastcgi_set_var directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ËÏÎÆÉÇÕÒÁÃÉÑ location Ó ÍÏÄÉÆÉËÁÔÏÒÏÍ "=" ÍÏÇÌÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
× ÄÒÕÇÏÍ location.
</para>
<para lang="en">
the location configuration with "=" modifier may be used in another
location.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÁ×ÉÌØÎÙÊ ÔÉÐ ÏÔ×ÅÔÁ ×ÙÓÔÁ×ÌÑÌÓÑ ÔÏÌØËÏ ÄÌÑ ÚÁÐÒÏÓÏ×, Õ ËÏÔÏÒÙÈ × ÒÁÓÛÉÒÅÎÉÉ
ÂÙÌÉ ÔÏÌØËÏ ÍÁÌÅÎØËÉÅ ÂÕË×Ù.
</para>
<para lang="en">
the correct content type was set only for requests that use small caps letters
in extension.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÌÑ location ÕÓÔÁÎÏ×ÌÅÎ proxy_pass ÉÌÉ fastcgi_pass, É ÄÏÓÔÕÐ
Ë ÎÅÍÕ ÚÁÐÒÅÝÁÌÓÑ, Á ÏÛÉÂËÁ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÁÓØ ÎÁ ÓÔÁÔÉÞÅÓËÕÀ ÓÔÒÁÎÉÃÕ,
ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
if the proxy_pass or fastcgi_pass directives were set in the location,
and access was denied, and the error was redirected to a static page,
then the segmentation fault occurred.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÐÒÏËÓÉÒÏ×ÁÎÎÏÍ ÏÔ×ÅÔÅ × ÚÁÇÏÌÏ×ËÅ "Location" ÐÅÒÅÄÁ×ÁÌÓÑ
ÏÔÎÏÓÉÔÅÌØÎÙÊ URL, ÔÏ Ë ÎÅÍÕ ÄÏÂÁ×ÌÑÌÏÓØ ÉÍÑ ÈÏÓÔÁ É ÓÌÜÛ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14.
</para>
<para lang="en">
if in a proxied "Location" header was a relative URL,
then a host name and a slash were added to them;
bug appeared in 0.1.14.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ Linux × ÌÏÇ ÎÅ ÚÁÐÉÓÙ×ÁÌÓÑ ÔÅËÓÔ ÓÉÓÔÅÍÎÏÊ ÏÛÉÂËÉ.
</para>
<para lang="en">
the system error message was not logged on Linux.
</para>
</change>
</changes>
<changes ver="0.1.16" date="25.01.2005">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ chunk'ÁÍÉ, ÔÏ ÐÒÉ ÚÁÐÒÏÓÅ HEAD ×ÙÄÁ×ÁÌÓÑ
ÚÁ×ÅÒÛÁÀÝÉÊ chunk.
</para>
<para lang="en">
if the response were transferred by chunks, then on the HEAD request
the final chunk was issued.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÚÁÇÏÌÏ×ÏË "Connection: keep-alive" ×ÙÄÁ×ÁÌÓÑ, ÄÁÖÅ ÅÓÌÉ ÄÉÒÅËÔÉ×Á
keepalive_timeout ÚÁÐÒÅÝÁÌÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ keep-alive.
</para>
<para lang="en">
the "Connection: keep-alive" header were issued, even if the
keepalive_timeout derective 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 agruments 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 returend for the POST request with the
"Content-Length: 0" header;
bug appeared in 0.1.14.
</para>
</change>
</changes>
<changes ver="0.1.15" date="19.01.2005">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ ÓÏÅÄÉÎÅÎÉÑ Ó FastCGI-ÓÅÒ×ÅÒÏÍ ×ÙÚÙ×ÁÌÁ segmentation fault.
</para>
<para lang="en">
the error while the connecting to the FastCGI server caused
segmentation fault.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ, × ËÏÔÏÒÏÍ ÞÉÓÌÏ
×ÙÄÅÌÅÎÎÙÈ ÞÁÓÔÅÊ ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÞÉÓÌÏÍ ÐÏÄÓÔÁÎÏ×ÏË.
</para>
<para lang="en">
the correct handling of the regular exporession, 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
regualar expression.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒ FastCGI REQUEST_URI ÔÅÐÅÒØ ÐÅÒÅÄÁ£ÔÓÑ ×ÍÅÓÔÅ Ó ÁÒÇÕÍÅÎÔÁÍÉ
É × ÔÏÍ ×ÉÄÅ, × ËÏÔÏÒÏÍ ÂÙÌ ÐÏÌÕÞÅÎ ÏÔ ËÌÉÅÎÔÁ.
</para>
<para lang="en">
the FastCGI's parameter REQUEST_URI is now passed with the arguments
and in the original state.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ × location ÎÕÖÎÏ ÂÙÌÏ
ÓÏÂÉÒÁÔØ nginx ×ÍÅÓÔÅ Ó ngx_http_rewrite_module.
</para>
<para lang="en">
the ngx_http_rewrite_module module was required to be built to use
the regular expressions in locations.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÜËÅÎÄ ÓÌÕÛÁÌ ÎÁ 80-ÏÍ ÐÏÒÔÕ, ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù
<nobr>"proxy_preserve_host on"</nobr> × ÚÁÇÏÌÏ×ËÅ "Host" ÕËÁÚÙ×ÁÌÓÑ
ÔÁËÖÅ ÐÏÒÔ 80;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14.
</para>
<para lang="en">
the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80
to the "Host" headers, if upstream listen on port 80;
bug appeared in 0.1.14.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÚÁÄÁÔØ ÏÄÉÎÁËÏ×ÙÅ ÐÕÔÉ × ÐÁÒÁÍÅÔÒÁÈ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ
--http-client-body-temp-path=PATH É --http-proxy-temp-path=PATH
ÉÌÉ --http-client-body-temp-path=PATH É --http-fastcgi-temp-path=PATH,
ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
the same pathes in autoconfiguration paramters
--http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
or --http-client-body-temp-path=PATH nad --http-fastcgi-temp-path=PATH
caused segmentation fault.
</para>
</change>
</changes>
<changes ver="0.1.14" date="18.01.2005">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ
--http-client-body-temp-path=PATH,
--http-proxy-temp-path=PATH
É --http-fastcgi-temp-path=PATH
</para>
<para lang="en">
the autoconfiguration directives:
--http-client-body-temp-path=PATH,
--http-proxy-temp-path=PATH,
and --http-fastcgi-temp-path=PATH
</para>
</change>
<change type="change">
<para lang="ru">
ÉÍÑ ËÁÔÁÌÏÇÁ Ó ×ÒÅÍÅÎÎÙÍÉ ÆÁÊÌÁÍÉ, ÓÏÄÅÒÖÁÝÉÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ,
ÚÁÄÁ£ÔÓÑ ÄÉÒÅËÔÉ×ÏÊ client_body_temp_path,
ÐÏ ÕÍÏÌÞÁÎÉÀ &lt;prefix&gt;/client_body_temp.
</para>
<para lang="en">
the directory name for the temporary files with the client request body
is specified by directive client_body_temp_path,
by default it is &lt;prefix&gt;/client_body_temp.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_fastcgi_module É ÄÉÒÅËÔÉ×Ù
fastcgi_pass,
fastcgi_root,
fastcgi_index,
fastcgi_params,
fastcgi_connect_timeout,
fastcgi_send_timeout,
fastcgi_read_timeout,
fastcgi_send_lowat,
fastcgi_header_buffer_size,
fastcgi_buffers,
fastcgi_busy_buffers_size,
fastcgi_temp_path,
fastcgi_max_temp_file_size,
fastcgi_temp_file_write_size,
fastcgi_next_upstream
É fastcgi_x_powered_by.
</para>
<para lang="en">
the ngx_http_fastcgi_module and the directives:
fastcgi_pass,
fastcgi_root,
fastcgi_index,
fastcgi_params,
fastcgi_connect_timeout,
fastcgi_send_timeout,
fastcgi_read_timeout,
fastcgi_send_lowat,
fastcgi_header_buffer_size,
fastcgi_buffers,
fastcgi_busy_buffers_size,
fastcgi_temp_path,
fastcgi_max_temp_file_size,
fastcgi_temp_file_write_size,
fastcgi_next_upstream,
and fastcgi_x_powered_by.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ "[alert] zero size buf";
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.3.
</para>
<para lang="en">
the "[alert] zero size buf" error;
bug appeared in 0.1.3.
</para>
</change>
<change type="change">
<para lang="ru">
× ÄÉÒÅËÔÉ×Å proxy_pass ÎÕÖÎÏ ÏÂÑÚÁÔÅÌØÎÏ ÕËÁÚÙ×ÁÔØ URI ÐÏÓÌÅ ÉÍÅÎÉ ÈÏÓÔÁ.
</para>
<para lang="en">
the URI must be specified after the host name in the proxy_pass directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÅÓÌÉ × URI ×ÓÔÒÅÞÁÌÓÑ ÓÉÍ×ÏÌ %3F, ÔÏ ÏÎ ÓÞÉÔÁÌÓÑ ÎÁÞÁÌÏÍ ÓÔÒÏËÉ ÁÒÇÕÍÅÎÔÏ×.
</para>
<para lang="en">
the %3F symbol in the URI was considered as the argument string start.
</para>
</change>
<change type="feature">
<para lang="ru">
ÐÏÄÄÅÒÖËÁ unix domain ÓoËÅÔÏ× × ÍÏÄÕÌÅ ngx_http_proxy_module.
</para>
<para lang="en">
the unix domain sockets support in the ngx_http_proxy_module.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù ssl_engine É ssl_ciphers.<br/>
óÐÁÓÉÂÏ óÅÒÇÅÀ óË×ÏÒÃÏ×Õ ÚÁ SSL-ÁËÓÅÌÅÒÁÔÏÒ.
</para>
<para lang="en">
the ssl_engine and ssl_ciphers directives.<br/>
Thanks to Sergey Skvortsov for SSL-accelerator.
</para>
</change>
</changes>
<changes ver="0.1.13" date="21.12.2004">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Ù server_names_hash É server_names_hash_threshold.
</para>
<para lang="en">
the server_names_hash and server_names_hash_threshold directives.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÍÅÎÁ *.domain.tld × ÄÉÒÅËÔÉ×Å server_name ÎÅ ÒÁÂÏÔÁÌÉ.
</para>
<para lang="en">
the *.domain.tld names in the server_name directive did not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_length ÚÁÐÉÓÙ×ÁÌ ÎÅ×ÅÒÎÕÀ ÄÌÉÎÕ.
</para>
<para lang="en">
the %request_length log parameter logged the incorrect length.
</para>
</change>
</changes>
<changes ver="0.1.12" date="06.12.2004">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_length.
</para>
<para lang="en">
the %request_length log parameter.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ /dev/poll, select É poll ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÇÄÅ ×ÏÚÍÏÖÎÙ
ÌÏÖÎÙÅ ÓÒÁÂÁÔÙ×ÁÎÉÑ ÕËÁÚÁÎÎÙÈ ÍÅÔÏÄÏ×, ÍÏÇÌÉ ÂÙÔØ ÄÌÉÔÅÌØÎÙÅ ÚÁÄÅÒÖËÉ
ÐÒÉ ÏÂÒÁÂÏÔËÅ ÚÁÐÒÏÓÁ ÐÏ keep-alive ÓÏÅÄÉÎÅÎÉÀ.
îÁÂÌÀÄÁÌÏÓØ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÎÁ Solaris Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ /dev/poll.
</para>
<para lang="en">
when using the /dev/poll, select and poll on the platforms, where
these methods may do the false reports, there may be the long delay when
the request was passed via the keep-alive connection.
It may be at least on Solaris when using the /dev/poll.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á send_lowat ÉÇÎÏÒÉÒÕÅÔÓÑ ÎÁ Linux, ÔÁË ËÁË Linux ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ
ÏÐÃÉÀ SO_SNDLOWAT.
</para>
<para lang="en">
the send_lowat directive is ignored on Linux because Linux does not support
the SO_SNDLOWAT option.
</para>
</change>
</changes>
<changes ver="0.1.11" date="02.12.2004">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á worker_priority.
</para>
<para lang="en">
the worker_priority directive.
</para>
</change>
<change type="change">
<para lang="ru">
ÐÏÄ FreeBSD ÄÉÒÅËÔÉ×Ù tcp_nopush É tcp_nodelay ×ÍÅÓÔÅ ×ÌÉÑÀÔ ÎÁ ÐÅÒÅÄÁÞÕ
ÏÔ×ÅÔÁ.
</para>
<para lang="en">
both tcp_nopush and tcp_nodelay directives affect the transferred response.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ×ÙÚÙ×ÁÌ initgroups().<br/>
óÐÁÓÉÂÏ áÎÄÒÅÀ óÉÔÎÉËÏ×Õ É áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ.
</para>
<para lang="en">
nginx did not call initgroups().<br/>
Thanks to Andrew Sitnikov and Andrei Nigmatulin.
</para>
</change>
<change type="change">
<para lang="ru">
ngx_http_auto_index_module ÔÅÐÅÒØ ×ÙÄÁ£Ô ÒÁÚÍÅÒ ÆÁÊÌÏ× × ÂÁÊÔÁÈ.
</para>
<para lang="en">
now the ngx_http_autoindex_module shows the file size in the bytes.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ngx_http_auto_index_module ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 500, ÅÓÌÉ × ËÁÔÁÌÏÇÅ ÅÓÔØ
ÂÉÔÙÊ symlink.
</para>
<para lang="en">
the ngx_http_autoindex_module returned the 500 error if the broken symlink
was in a directory.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÆÁÊÌÙ ÂÏÌØÛÅ 4G ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ sendfile.
</para>
<para lang="en">
the files bigger than 4G could not be transferred using sendfile.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÂÜËÅÎÄ ÒÅÚÏÌ×ÉÌÓÑ × ÎÅÓËÏÌØËÏ ÁÄÒÅÓÏ× É ÐÒÉ ÏÖÉÄÁÎÉÉ ÏÔ ÎÅÇÏ ÏÔ×ÅÔÁ
ÐÒÏÉÓÈÏÄÉÌÁ ÏÛÉÂËÁ, ÔÏ ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ.
</para>
<para lang="en">
if the backend was resolved to several backends and there was an error while
the response waiting then process may got caught in an endless loop.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ /dev/poll ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁ×ÅÒÛÉÔØÓÑ
Ó ÓÏÏÂÝÅÎÉÅÍ "unknown cycle".
</para>
<para lang="en">
the worker process may exit with the "unknown cycle" message when the /dev/poll
method was used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ "close() channel failed".
</para>
<para lang="en">
"close() channel failed" errors.
</para>
</change>
<change type="bugfix">
<para lang="ru">
Á×ÔÏÍÁÔÉÞÅÓËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÇÒÕÐÐ nobody É nogroup.
</para>
<para lang="en">
the autodetection of the nobody and nogroup groups.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÄÉÒÅËÔÉ×Á send_lowat ÎÅ ÒÁÂÏÔÁÌÁ ÎÁ Linux.
</para>
<para lang="en">
the send_lowat directive did not work on Linux.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ËÏÎÆÉÇÕÒÁÃÉÉ ÎÅ ÂÙÌÏ ÒÁÚÄÅÌÁ events, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault.
</para>
<para lang="en">
the segmentation fault occurred if there was no events section
in configuration.
</para>
</change>
<change type="bugfix">
<para lang="ru">
nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ OpenBSD.
</para>
<para lang="en">
nginx could not be built on OpenBSD.
</para>
</change>
<change type="bugfix">
<para lang="ru">
Ä×ÏÊÎÙÅ ÓÌÜÛÙ × "://" × URI ÐÒÅ×ÒÁÝÁÌÉÓØ × ":/".
</para>
<para lang="en">
the double slashes in "://" in the URI were converted to ":/".
</para>
</change>
</changes>
<changes ver="0.1.10" date="26.11.2004">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÐÒÏÓÅ ÂÅÚ ÁÒÇÕÍÅÎÔÏ× ÅÓÔØ "//", "/./", "/../" ÉÌÉ "%XX",
ÔÏ ÔÅÒÑÌÓÑ ÐÏÓÌÅÄÎÉÊ ÓÉÍ×ÏÌ × ÓÔÒÏËÅ ÚÁÐÒÏÓÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.9.
</para>
<para lang="en">
if the request without arguments contains "//", "/./", "/../" or "%XX"
then the lost character in the request line was lost;
bug appeared in 0.1.9.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÉÓÐÒÁ×ÌÅÎÉÅ × ×ÅÒÓÉÉ 0.1.9 ÄÌÑ ÆÁÊÌÏ× ÂÏÌØÛÅ 2G ÎÁ Linux ÎÅ ÒÁÂÏÔÁÌÏ.
</para>
<para lang="en">
the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
</para>
</change>
</changes>
<changes ver="0.1.9" date="25.11.2004">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÐÒÏÓÅ ÅÓÔØ "//", "/./", "/../" ÉÌÉ "%XX", ÔÏ ÐÒÏËÓÉÒÕÅÍÙÊ
ÚÁÐÒÏÓ ÐÅÒÅÄÁ×ÁÌÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÏ×.
</para>
<para lang="en">
the proxied request was sent without arguments if the request contains
"//", "/./", "/../" or "%XX".
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÓÖÁÔÉÉ ÂÏÌØÛÉÈ ÏÔ×ÅÔÏ× ÉÎÏÇÄÁ ÏÎÉ ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ ÐÏÌÎÏÓÔØÀ.
</para>
<para lang="en">
the large compressed responses may be transferred not completely.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ ÆÁÊÌÙ ÂÏÌØÛÅ 2G ÎÁ Linux, ÎÅÐÏÄÄÅÒÖÉ×ÁÀÝÅÍ sendfile64().
</para>
<para lang="en">
the files bigger than 2G was not transferred on Linux that does not support
sendfile64().
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ Linux ÐÒÉ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÂÏÒËÉ ÎÕÖÎÏ ÂÙÌÏ ÏÂÑÚÁÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ
ÐÁÒÁÍÅÔÒ --with-poll_module;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.8.
</para>
<para lang="en">
while the build configuration on Linux the --with-poll_module parameter
was required;
bug appeared in 0.1.8.
</para>
</change>
</changes>
<changes ver="0.1.8" date="20.11.2004">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module ÐÒÉ ÐÏËÁÚÅ ÄÌÉÎÎÙÈ ÉͣΠÆÁÊÌÏ×.
</para>
<para lang="en">
in the ngx_http_autoindex_module if the long file names were in the listing.
</para>
</change>
<change type="feature">
<para lang="ru">
ÍÏÄÉÆÉËÁÔÏÒ "^~" × ÄÉÒÅËÔÉ×Å location.
</para>
<para lang="en">
the "^~" modifier in the location directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_max_temp_file_size.
</para>
<para lang="en">
the proxy_max_temp_file_size directive.
</para>
</change>
</changes>
<changes ver="0.1.7" date="12.11.2004">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile, ÅÓÌÉ ÐÅÒÅÄÁ×ÁÅÍÙÊ ÆÁÊÌ ÍÅÎÑÌÓÑ, ÔÏ ÍÏÇ
ÐÒÏÉÚÏÊÔÉ segmentation fault ÎÁ FreeBSD;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.5.
</para>
<para lang="en">
on FreeBSD the segmentation fault may occur if the size of the transferred
file was changed;
bug appeared in 0.1.5.
</para>
</change>
</changes>
<changes ver="0.1.6" date="11.11.2004">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ËÏÍÂÉÎÁÃÉÑÈ ÄÉÒÅËÔÉ× location c ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ
ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ËÏÎÆÉÇÕÒÁÃÉÑ ÎÅ ÉÚ ÔÏÇÏ location.
</para>
<para lang="en">
some location directive combiations with the regular expressions caused
the wrong configuration choose.
</para>
</change>
</changes>
<changes ver="0.1.5" date="11.11.2004">
<change type="bugfix">
<para lang="ru">
ÎÁ Solaris É Linux ÍÏÇÌÏ ÂÙÔØ ÏÞÅÎØ ÍÎÏÇÏ ÓÏÏÂÝÅÎÉÊ "recvmsg() returned
not enough data".
</para>
<para lang="en">
on Solaris and Linux there may be too many "recvmsg() returned not enough data"
alerts.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ sendfile ÎÁ Solaris ×ÏÚÎÉËÁÌÁ
ÏÛÉÂËÁ "writev() failed <nobr>(22: Invalid argument)".</nobr>
îÁ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ sendfile, ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ.
</para>
<para lang="en">
there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
Solaris in proxy mode without sendfile. On other platforms that do not
support sendfile at all the process got caught in an endless loop.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÎÁ Solaris ×ÏÚÎÉËÁÌ
segmentation fault.
</para>
<para lang="en">
segmentation fault on Solaris in proxy mode and using sendfile.
</para>
</change>
<change type="bugfix">
<para lang="ru">
segmentation fault ÎÁ Solaris.
</para>
<para lang="en">
segmentation fault on Solaris.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÂÎÏ×ÌÅÎÉÅ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ ÎÁ ÌÅÔÕ ÎÅ ÒÁÂÏÔÁÌÏ ÎÁ Linux.
</para>
<para lang="en">
on-line upgrade did not work on Linux.
</para>
</change>
<change type="bugfix">
<para lang="ru">
× ÓÐÉÓËÅ ÆÁÊÌÏ×, ×ÙÄÁ×ÁÅÍÏÍ ÍÏÄÕÌÅÍ ngx_http_autoindex_module,
ÎÅ ÐÅÒÅËÏÄÉÒÏ×ÁÌÉÓØ ÐÒÏÂÅÌÙ, ËÁ×ÙÞËÉ É ÚÎÁËÉ ÐÒÏÃÅÎÔÁ.
</para>
<para lang="en">
the ngx_http_autoindex_module module did not escape the spaces,
the quotes, and the percent signs in the directory listing.
</para>
</change>
<change type="change">
<para lang="ru">
ÕÍÅÎØÛÅÎÉÅ ÏÐÅÒÁÃÉÊ ËÏÐÉÒÏ×ÁÎÉÑ.
</para>
<para lang="en">
the decrease of the copy operations.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á userid_p3p.
</para>
<para lang="en">
the userid_p3p directive.
</para>
</change>
</changes>
<changes ver="0.1.4" date="26.10.2004">
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module.
</para>
<para lang="en">
in the ngx_http_autoindex_module.
</para>
</change>
</changes>
<changes ver="0.1.3" date="25.10.2004">
<change type="feature">
<para lang="ru">
ÍÏÄÕÌØ ngx_http_autoindex_module É ÄÉÒÅËÔÉ×Á autoindex.
</para>
<para lang="en">
the ngx_http_autoindex_module and the autoindex directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á proxy_set_x_url.
</para>
<para lang="en">
the proxy_set_x_url directive.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÍÏÇ ÐÒÉ×ÅÓÔÉ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ, ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ
sendfile.
</para>
<para lang="en">
proxy module may get caught in an endless loop when sendfile is not used.
</para>
</change>
</changes>
<changes ver="0.1.2" date="21.10.2004">
<change type="feature">
<para lang="ru">
ÐÁÒÁÍÅÔÒÙ --user=USER, --group=GROUP É --with-ld-opt=OPTIONS × configure.
</para>
<para lang="en">
the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ *.domain.tld.
</para>
<para lang="en">
the server_name directive supports *.domain.tld.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÕÌÕÞÛÅÎÁ ÐÅÒÅÎÏÓÉÍÏÓÔØ ÎÁ ÎÅÉÚ×ÅÓÔÎÙÅ ÐÌÁÔÆÏÒÍÙ.
</para>
<para lang="en">
the portability improvements.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÅÌØÚÑ ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ nginx, ÅÓÌÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÕËÁÚÁÎ
× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.1.
</para>
<para lang="en">
if configuration file was set in command line, the reconfiguration
was impossible;
bug appeared in 0.1.1.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÍÏÇ ÐÒÉ×ÅÓÔÉ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ, ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ
sendfile.
</para>
<para lang="en">
proxy module may get caught in an endless loop when sendfile is not used.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile ÔÅËÓÔ ÏÔ×ÅÔÁ ÎÅ ÐÅÒÅËÏÄÉÒÏ×ÁÌÓÑ
ÓÏÇÌÁÓÎÏ ÄÉÒÅËÔÉ×ÁÍ ÍÏÄÕÌÑ charset;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.1.
</para>
<para lang="en">
with sendfile the response was not recoded according to the charset
module directives;
bug appeared in 0.1.1.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÞÅÎØ ÒÅÄËÁÑ ÏÛÉÂËÁ ÐÒÉ ÏÂÒÁÂÏÔËÅ kqueue.
</para>
<para lang="en">
very seldom bug in the kqueue processing.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÍÏÄÕÌØ ÓÖÁÔÉÑ ÓÖÉÍÁÌ ÕÖÅ ÓÖÁÔÙÅ ÏÔ×ÅÔÙ, ÐÏÌÕÞÅÎÎÙÅ ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ.
</para>
<para lang="en">
the gzip module compressed the proxied responses that was already compressed.
</para>
</change>
</changes>
<changes ver="0.1.1" date="11.10.2004">
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á gzip_types.
</para>
<para lang="en">
the gzip_types directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á tcp_nodelay.
</para>
<para lang="en">
the tcp_nodelay directive.
</para>
</change>
<change type="feature">
<para lang="ru">
ÄÉÒÅËÔÉ×Á send_lowat ÒÁÂÏÔÁÅÔ ÎÅ ÔÏÌØËÏ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ
kqueue NOTE_LOWAT, ÎÏ É ÎÁ ×ÓÅÈ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ SO_SNDLOWAT.
</para>
<para lang="en">
the send_lowat directive is working not only on OSes that support
kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
</para>
</change>
<change type="feature">
<para lang="ru">
ÜÍÕÌÑÃÉÑ setproctitle() ÄÌÑ Linux É Solaris.
</para>
<para lang="en">
the setproctitle() emulation for Linux and Solaris.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ ÐÒÉ ÐÅÒÅÐÉÓÙ×ÁÎÉÉ ÚÁÇÏÌÏ×ËÁ "Location" ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ.
</para>
<para lang="en">
the "Location" header rewrite bug fixed while the proxing.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_chunked_module, ÐÒÉ×ÏÄÉ×ÛÁÑ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ.
</para>
<para lang="en">
the ngx_http_chunked_module module may get caught in an endless loop.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ × ÍÏÄÕÌÅ /dev/poll.
</para>
<para lang="en">
the /dev/poll module bugs fixed.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ É ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ× ÏÔ×ÅÔÙ ÐÏÒÔÉÌÉÓØ.
</para>
<para lang="en">
the responses were corrupted when the temporary files were used
while the proxing.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÂÜËÅÎÄÕ ÐÅÒÅÄÁ×ÁÌÉÓØ ÚÁÐÒÏÓÙ Ó ÎÅÐÅÒÅËÏÄÉÒÏ×ÁÎÎÙÍÉ ÓÉÍ×ÏÌÁÍÉ.
</para>
<para lang="en">
the unescaped requests were passed to the backend.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÎÁ Linux 2.4 ÐÒÉ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÂÏÒËÉ ÎÕÖÎÏ ÂÙÌÏ ÏÂÑÚÁÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ
ÐÁÒÁÍÅÔÒ --with-poll_module.
</para>
<para lang="en">
while the build configuration on Linux 2.4 the --with-poll_module parameter
was required.
</para>
</change>
</changes>
<changes ver="0.1.0" date="04.10.2004">
<change>
<para lang="ru">
ðÅÒ×ÁÑ ÐÕÂÌÉÞÎÏ ÄÏÓÔÕÐÎÁÑ ×ÅÒÓÉÑ.
</para>
<para lang="en">
The first public version.
</para>
</change>
</changes>
</change_log>