view docs/xml/nginx/changes.xml @ 633:f971949ffb58 release-0.3.38

nginx-0.3.38-RELEASE import *) Feature: the ngx_http_dav_module. *) Change: the ngx_http_perl_module optimizations. Thanks to Sergey Skvortsov. *) Feature: the ngx_http_perl_module supports the $r->request_body_file method. *) Feature: the "client_body_in_file_only" directive. *) Workaround: now on disk overflow nginx tries to write access logs once a second only. Thanks to Anton Yuzhaninov and Maxim Dounin. *) Bugfix: now the "limit_rate" directive more precisely limits rate if rate is more than 100 Kbyte/s. Thanks to ForJest. *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and password to pass authorization server. Thanks to Maxim Dounin.
author Igor Sysoev <igor@sysoev.ru>
date Fri, 14 Apr 2006 09:53:38 +0000
parents 5d2b8078c1c2
children 18268abd340c
line wrap: on
line source

<?xml version="1.0" encoding="koi8-r" ?>
<!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" >


<change_log link="/nginx/changes.html" path="/nginx/" root=".."
            title="nginx">

<title lang="ru">Изменения в nginx</title>
<title lang="en">nginx changelog</title>


<changes ver="0.3.38" date="14.04.2006">

<change type="feature">
<para lang="ru">
модуль ngx_http_dav_module.
</para>
<para lang="en">
the ngx_http_dav_module.
</para>
</change>

<change type="change">
<para lang="ru">
оптимизация модуля ngx_http_perl_module.<br/>
Спасибо Сергею Скворцову.
</para>
<para lang="en">
the ngx_http_perl_module optimizations.<br/>
Thanks to Sergey Skvortsov.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_perl_module поддерживает метод $r->request_body_file.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->request_body_file method.
</para>
</change>

<change type="feature">
<para lang="ru">
директива client_body_in_file_only.
</para>
<para lang="en">
the "client_body_in_file_only" directive.
</para>
</change>

<change type="workaround">
<para lang="ru">
теперь при переполнении диска nginx пытается писать access_log'и только
раз в секунду.<br/>
Спасибо Антону Южанинову и Максиму Дунину.
</para>
<para lang="en">
no on disk overflow nginx tries to write access logs once a second only.<br/>
Thanks to Anton Yuzhaninov and Maxim Dounin.
</para>
</change>

<change type="bugfix">
<para lang="ru">
теперь директива limit_rate точнее ограничивает скорость при значениях
больше <nobr>100 Kbyte/s.</nobr><br/>
Спасибо ForJest.
</para>
<para lang="en">
now the "limit_rate" directive more precisely limits rate if rate is more
than <nobr>100 Kbyte/s.</nobr><br/>
Thanks to ForJest.
</para>
</change>

<change type="bugfix">
<para lang="ru">
IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n"
в логине и пароле в закодированном виде.<br/>
Спасибо Максиму Дунину.
</para>
<para lang="en">
now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and
password to pass authorization server.<br/>
Thanks to Maxim Dounin.
</para>
</change>

</changes>


<changes ver="0.3.37" date="07.04.2006">

<change type="feature">
<para lang="ru">
директива limit_except.
</para>
<para lang="en">
the "limit_except" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива if поддерживает операторы "!~", "!~*", "-f" и "!-f".
</para>
<para lang="en">
the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_perl_module поддерживает метод $r->request_body.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->request_body method.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в модуле ngx_http_addition_filter_module.
</para>
<para lang="en">
in the ngx_http_addition_filter_module.
</para>
</change>

</changes>


<changes ver="0.3.36" date="05.04.2006">

<change type="feature">
<para lang="ru">
модуль ngx_http_addition_filter_module.
</para>
<para lang="en">
the ngx_http_addition_filter_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы proxy_pass и fastcgi_pass можно использовать внутри блока if.
</para>
<para lang="en">
the "proxy_pass" and "fastcgi_pass" directives may be used inside
the "if" block.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort.
</para>
<para lang="en">
the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives.
</para>
</change>

<change type="feature">
<para lang="ru">
переменная $request_completion.
</para>
<para lang="en">
the "$request_completion" variable.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_perl_module поддерживает методы $r->request_method и
$r->remote_addr.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->request_method and $r->remote_addr.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает команду elif.
</para>
<para lang="en">
the ngx_http_ssi_module supports the "elif" command.
</para>
</change>

<change type="bugfix">
<para lang="ru">
строка "\/" в начале выражения команды if модуля ngx_http_ssi_module
воспринималась неверно.
</para>
<para lang="en">
the "\/" string in the expression of the "if" command of the
ngx_http_ssi_module was treated incorrectly.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module.
</para>
<para lang="en">
in the regular expressions in the "if" command of the ngx_http_ssi_module.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при задании относительного пути в директивах
client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules
использовался каталог относительно текущего каталога, а не относительно
префикса сервера.
</para>
<para lang="en">
if the relative path was specified in the "client_body_temp_path",
"proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives,
then the directory was used relatively to a current path but not
to a server prefix.
</para>
</change>

</changes>


<changes ver="0.3.35" date="22.03.2006">

<change type="bugfix">
<para lang="ru">
accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой
директивы listen;
ошибка появилась в 0.3.31.
</para>
<para lang="en">
the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen"
directive only;
bug appeared in 0.3.31.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в директиве proxy_pass без URI при использовании в подзапросе.
</para>
<para lang="en">
in the "proxy_pass" directive without the URI part in a subrequest.
</para>
</change>

</changes>


<changes ver="0.3.34" date="21.03.2006">

<change type="feature">
<para lang="ru">
директива add_header поддерживает переменные.
</para>
<para lang="en">
the "add_header" directive supports the variables.
</para>
</change>

</changes>


<changes ver="0.3.33" date="15.03.2006">

<change type="feature">
<para lang="ru">
параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream.
</para>
<para lang="en">
the "http_503" parameter of the "proxy_next_upstream" or
"fastcgi_next_upstream" directives.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом,
если он не начинался сразу же с "sub".
</para>
<para lang="en">
ngx_http_perl_module did not work with inlined in the configuration code,
if it was not started with the "sub" word.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в директиве post_action.
</para>
<para lang="en">
in the "post_action" directive.
</para>
</change>

</changes>


<changes ver="0.3.32" date="11.03.2006">

<change type="bugfix">
<para lang="ru">
удаление отладочного логгирования на старте и при переконфигурации;
ошибка появилась в 0.3.31.
</para>
<para lang="en">
the debug logging on startup and reconfiguration time was removed;
bug appeared in 0.3.31.
</para>
</change>

</changes>


<changes ver="0.3.31" date="10.03.2006">

<change type="change">
<para lang="ru">
теперь nginx передаёт неверные ответы проксированного бэкенда.
</para>
<para lang="en">
now nginx passes the malformed proxied backend responses.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы listen поддерживают адрес в виде "*:порт".
</para>
<para lang="en">
the "listen" directives support the address in the "*:port" form.
</para>
</change>

<change type="feature">
<para lang="ru">
поддержка EVFILER_TIMER в MacOSX 10.4.
</para>
<para lang="en">
the EVFILER_TIMER support in MacOSX 10.4.
</para>
</change>

<change type="workaround">
<para lang="ru">
обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре
MacOSX.<br/>
Спасибо Андрею Нигматулину.
</para>
<para lang="en">
for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/>
Thanks Andrei Nigmatulin.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если внутри одного сервера описаны несколько директив listen, слушающих на
разных адресах, то имена серверов вида "*.domain.tld" работали только
для первого адреса;
ошибка появилась в 0.3.18.
</para>
<para lang="en">
if there were several "listen" directives listening one various addresses
inside one server, then server names like "*.domain.tld" worked for first
address only;
bug appeared in 0.3.18.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании протокола HTTPS в директиве proxy_pass не передавались
запросы с телом, записанным во временный файл.
</para>
<para lang="en">
if the HTTP protocol was used in the "proxy_pass" directive and
the request body was in temporarily file then the request was not transferred.
</para>
</change>

<change type="bugfix">
<para lang="ru">
совместимость с perl 5.8.8.
</para>
<para lang="en">
perl 5.8.8 compatibility.
</para>
</change>

</changes>


<changes ver="0.3.30" date="22.02.2006">

<change type="change">
<para lang="ru">
уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit.
</para>
<para lang="en">
the ECONNABORTED error log level was changed to "error" from "crit".
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module.
</para>
<para lang="en">
the ngx_http_perl_module could not be build without
the ngx_http_ssi_filter_module.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался на i386 платформе, если использовался PIC;
ошибка появилась в 0.3.27.
</para>
<para lang="en">
nginx could not be built on i386 platform, if the PIC was used;
bug appeared in 0.3.27.
</para>
</change>

</changes>


<changes ver="0.3.29" date="20.02.2006">

<change type="feature">
<para lang="ru">
теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт
большое количество предупреждений перед ответом.
</para>
<para lang="en">
now nginx uses less memory, if PHP in FastCGI mode sends many warnings
before the response.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка
"Transfer-Encoding: chunked".
</para>
<para lang="en">
the "Transfer-Encoding: chunked" header line was issued in the 204 responses
for the HTTP/1.1 requests.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки
заголовка ответа в отдельных FastCGI записях.
</para>
<para lang="en">
nginx returned the 502 response, if the complete response header lines
were transferred in a separate FastCGI records.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в директиве post_action был указан проксируемый URI, то он выполнялся
только после успешного завершения запроса.
</para>
<para lang="en">
if the proxied URI was specified in the "post_action" directive, then it ran
only after a successful completion of a request.
</para>
</change>

</changes>


<changes ver="0.3.28" date="16.02.2006">

<change type="feature">
<para lang="ru">
директива restrict_host_names упразднена.
</para>
<para lang="en">
the "restrict_host_names" directive is canceled.
</para>
</change>

<change type="feature">
<para lang="ru">
параметр конфигурации --with-cpu-opt=ppc64.
</para>
<para lang="en">
the --with-cpu-opt=ppc64 configuration parameter.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при некоторых условиях проксированное соединение с клиентом завершалось
преждевременно.<br/>
Спасибо Владимиру Шутову.
</para>
<para lang="en">
on some condition the proxied connection with a client was terminated
prematurely.<br/>
Thanks to Vladimir Shutoff.
</para>
</change>

<change type="bugfix">
<para lang="ru">
строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов,
перенаправленных с помощью строки "X-Accel-Redirect".
</para>
<para lang="en">
the "X-Accel-Limit-Rate" header line was not taken into account
if the request was redirected using the "X-Accel-Redirect" header line.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива post_action работала только после успешного завершения запроса.
</para>
<para lang="en">
the "post_action" directive ran only after a successful completion of a request.
</para>
</change>

<change type="bugfix">
<para lang="ru">
тело проксированного ответа, создаваемого директивой post_action,
передавалось клиенту.
</para>
<para lang="en">
the proxied response body generated by the "post_action" directive
was transferred to a client.
</para>
</change>

</changes>


<changes ver="0.3.27" date="08.02.2006">

<change type="change">
<para lang="ru">
директивы variables_hash_max_size и variables_hash_bucket_size.
</para>
<para lang="en">
the "variables_hash_max_size" and "variables_hash_bucket_size" directives.
</para>
</change>

<change type="feature">
<para lang="ru">
переменная $body_bytes_sent доступна не только в директиве log_format.
</para>
<para lang="en">
the $body_bytes_sent variable can be used not only in the "log_format"
directive.
</para>
</change>

<change type="feature">
<para lang="ru">
переменные $ssl_protocol и $ssl_cipher.
</para>
<para lang="en">
the $ssl_protocol and $ssl_cipher variables.
</para>
</change>

<change type="feature">
<para lang="ru">
определение размера строки кэша распространённых процессоров при старте.
</para>
<para lang="en">
the cache line size detection for widespread CPUs at start time.
</para>
</change>

<change type="feature">
<para lang="ru">
директива accept_mutex теперь поддерживается посредством fcntl(2)
на платформах, отличных от i386, amd64, sparc64 и ppc.
</para>
<para lang="en">
now the "accept_mutex" directive is supported using fcntl(2)
on platforms different from i386, amd64, sparc64, and ppc.
</para>
</change>

<change type="feature">
<para lang="ru">
директива lock_file и параметр автоконфигурации --with-lock-path=PATH.
</para>
<para lang="en">
the "lock_file" directive and the --with-lock-path=PATH autoconfiguration
directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании протокола HTTPS в директиве proxy_pass не передавались
запросы с телом.
</para>
<para lang="en">
if the HTTP protocol was used in the "proxy_pass" directive then
the requests with the body was not transferred.
</para>
</change>

</changes>


<changes ver="0.3.26" date="03.02.2006">

<change type="change">
<para lang="ru">
директива optimize_host_names переименована в optimize_server_names.
</para>
<para lang="en">
the "optimize_host_names" directive was renamed to the "optimize_server_names".
</para>
</change>

<change type="bugfix">
<para lang="ru">
при проксировании подзапроса в SSI бэкенду передавался URI основного запроса,
если в директиве proxy_pass отсутствовал URI.
</para>
<para lang="en">
if in the "proxy_pass" directive was no the URI part, then the main request
URI was transferred to a backend while proxying the SSI subrequest.
</para>
</change>

</changes>


<changes ver="0.3.25" date="01.02.2006">

<change type="bugfix">
<para lang="ru">
при неверной конфигурации на старте или во время переконфигурации происходил
segmentation fault;
ошибка появилась в 0.3.24.
</para>
<para lang="en">
the segmentation fault was occurred on start or while reconfiguration
if there was invalid configuration;
bug appeared in 0.3.24.
</para>
</change>

</changes>


<changes ver="0.3.24" date="01.02.2006">

<change type="workaround">
<para lang="ru">
обход ошибки в kqueue во FreeBSD.
</para>
<para lang="en">
for bug in FreeBSD kqueue.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ответ, создаваемый директивой post_action, теперь не передаётся клиенту.
</para>
<para lang="en">
now a response generated by the "post_action" directive is not transferred
to a client.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании большого количества лог-файлов происходила утечка памяти. 
</para>
<para lang="en">
the memory leaks were occurring if many log files were used.
</para>
</change>

<change type="bugfix">
<para lang="ru">
внутри одного location работала только первая директива proxy_redirect.
</para>
<para lang="en">
the first "proxy_redirect" directive was working inside one location.
</para>
</change>

<change type="bugfix">
<para lang="ru">
на 64-битных платформах при старте мог произойти segmentation fault,
если использовалось большое количество имён в директивах server_name;
ошибка появилась в 0.3.18.
</para>
<para lang="en">
on 64-bit platforms segmentation fault may occurred on start
if the many names were used in the "server_name" directives;
bug appeared in 0.3.18.
</para>
</change>

</changes>


<changes ver="0.3.23" date="24.01.2006">

<change type="feature">
<para lang="ru">
директива optimize_host_names.
</para>
<para lang="en">
the "optimize_host_names" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки при использовании переменных в директивах path и alias.
</para>
<para lang="en">
in using of the variables in the "path" and "alias" directives.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_perl_module неправильно собирался на Linux и Solaris.
</para>
<para lang="en">
the ngx_http_perl_module was incorrectly built on Linux and Solaris.
</para>
</change>

</changes>


<changes ver="0.3.22" date="17.01.2006">

<change type="feature">
<para lang="ru">
модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape.
</para>
<para lang="en">
the ngx_http_perl_module supports the $r->args and $r->unescape methods.
</para>
</change>

<change type="feature">
<para lang="ru">
метод $r->query_string в модуле ngx_http_perl_module упразднён.
</para>
<para lang="en">
the method $r->query_string of ngx_http_perl_module is canceled.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в директиве valid_referers указаны только none или blocked, то
происходил segmentation fault;
ошибка появилась в 0.3.18.
</para>
<para lang="en">
segmentation fault was occurred if the "none" or "blocked" values was
specified in the "valid_referers" directive;
bug appeared in 0.3.18.
</para>
</change>

</changes>


<changes ver="0.3.21" date="16.01.2006">

<change type="feature">
<para lang="ru">
модуль ngx_http_perl_module.
</para>
<para lang="en">
the ngx_http_perl_module.
</para>
</change>

<change type="change">
<para lang="ru">
директива valid_referers разрешает использовать рефереры совсем без URI.
</para>
<para lang="en">
the "valid_referers" directive allows the referreres without URI part.
</para>
</change>

</changes>


<changes ver="0.3.20" date="11.01.2006">

<change type="bugfix">
<para lang="ru">
ошибки в обработке SSI.
</para>
<para lang="en">
in SSI handling.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args.
</para>
<para lang="en">
the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
</para>
</change>

</changes>

<changes ver="0.3.19" date="28.12.2005">

<change type="feature">
<para lang="ru">
директивы path и alias поддерживают переменные.
</para>
<para lang="en">
the "path" and "alias" directives support the variables.
</para>
</change>

<change type="change">
<para lang="ru">
теперь директива valid_referers опять учитывает URI.
</para>
<para lang="en">
now the "valid_referers" directive again checks the URI part.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки в обработке SSI.
</para>
<para lang="en">
in SSI handling.
</para>
</change>

</changes>


<changes ver="0.3.18" date="26.12.2005">

<change type="feature">
<para lang="ru">
директива server_names поддерживает имена вида ".domain.tld".
</para>
<para lang="en">
the "server_names" directive supports the ".domain.tld" names.
</para>
</change>

<change type="feature">
<para lang="ru">
директива server_names использует хэш для имён вида "*.domain.tld"
и более эффективный хэш для обычных имён.
</para>
<para lang="en">
the "server_names" directive uses the hash for the "*.domain.tld" names
and more effective hash for usual names.
</para>
</change>

<change type="change">
<para lang="ru">
директивы server_names_hash_max_size и server_names_hash_bucket_size.
</para>
<para lang="en">
the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives.
</para>
</change>

<change type="change">
<para lang="ru">
директивы server_names_hash и server_names_hash_threshold упразднены.
</para>
<para lang="en">
the "server_names_hash" and "server_names_hash_threshold" directives
were canceled.
</para>
</change>

<change type="feature">
<para lang="ru">
директива valid_referers использует хэш для имён сайтов.
</para>
<para lang="en">
the "valid_referers" directive uses the hash site names.
</para>
</change>

<change type="change">
<para lang="ru">
теперь директива valid_referers проверяет только имена сайтов без учёта URI.
</para>
<para lang="en">
now the "valid_referers" directive checks the site names only without
the URI part.
</para>
</change>

<change type="bugfix">
<para lang="ru">
некоторые имена вида ".domain.tld" неверно обрабатывались модулем
ngx_http_map_module.
</para>
<para lang="en">
some ".domain.tld" names incorrectly processed by the ngx_http_map_module.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если конфигурационного файла не было, то происходил segmentation fault;
ошибка появилась в 0.3.12.
</para>
<para lang="en">
segmentation fault was occurred if configuration file did not exist;
bug appeared in 0.3.12.
</para>
</change>

<change type="bugfix">
<para lang="ru">
на 64-битных платформах при старте мог произойти segmentation fault;
ошибка появилась в 0.3.16.
</para>
<para lang="en">
on 64-bit platforms segmentation fault may occurred on start;
bug appeared in 0.3.16.
</para>
</change>

</changes>


<changes ver="0.3.17" date="18.12.2005">

<change type="change">
<para lang="ru">
на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре.
</para>
<para lang="en">
now on Linux configure checks the presence of epoll and sendfile64() in kernel.
</para>
</change>

<change type="feature">
<para lang="ru">
директива map поддерживает доменные имена в формате ".domain.tld".
</para>
<para lang="en">
the "map" directive supports domain names in the ".domain.tld" form.
</para>
</change>

<change type="bugfix">
<para lang="ru">
во время SSL handshake не иcпользовались таймауты;
ошибка появилась в 0.2.4.
</para>
<para lang="en">
the timeouts were not used in SSL handshake;
bug appeared in 0.2.4.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в использовании протокола HTTPS в директиве proxy_pass.
</para>
<para lang="en">
in the HTTP protocol in the "proxy_pass" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании протокола HTTPS в директиве proxy_pass по умолчанию
использовался порт 80.
</para>
<para lang="en">
when the HTTP protocol was used in the "proxy_pass" directive the port 80
was used by default.
</para>
</change>

</changes>


<changes ver="0.3.16" date="16.12.2005">

<change type="feature">
<para lang="ru">
модуль ngx_http_map_module.
</para>
<para lang="en">
the ngx_http_map_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы types_hash_max_size и types_hash_bucket_size.
</para>
<para lang="en">
the "types_hash_max_size" and "types_hash_bucket_size" directives.
</para>
</change>

<change type="feature">
<para lang="ru">
директива ssi_value_length.
</para>
<para lang="en">
the "ssi_value_length" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива worker_rlimit_core.
</para>
<para lang="en">
the "worker_rlimit_core" directive.
</para>
</change>

<change type="workaround">
<para lang="ru">
при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
<nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1.
</para>
<para lang="en">
the connection number in logs was always 1 if nginx was built by the
icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr>
</para>
</change>

<change type="bugfix">
<para lang="ru">
команда config timefmt в SSI задавала неверный формат времени.
</para>
<para lang="en">
the "config timefmt" SSI command set incorrect time format.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL
соединений;
ошибка появилась в 0.3.13.<br/>
Спасибо Rob Mueller.
</para>
<para lang="en">
nginx did not close connection to IMAP/POP3 backend for the SSL
connections;
bug appeared in 0.3.13.<br/>
Thanks to Rob Mueller.
</para>
</change>

<change type="bugfix">
<para lang="ru">
segmentation fault мог произойти во время SSL shutdown;
ошибка появилась в 0.3.13.
</para>
<para lang="en">
segmentation fault may occurred in at SSL shutdown;
bug appeared in 0.3.13.
</para>
</change>

</changes>


<changes ver="0.3.15" date="07.12.2005">

<change type="feature">
<para lang="ru">
новой код 444 в директиве return для закрытия соединения.
</para>
<para lang="en">
the new 444 code of the "return" directive to close connection.
</para>
</change>

<change type="feature">
<para lang="ru">
директива so_keepalive в IMAP/POP3 прокси.
</para>
<para lang="en">
the "so_keepalive" directive in IMAP/POP3 proxy.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx теперь вызывает abort() при обнаружении незакрытых соединений
только при планом выходе и включённой директиве debug_points.
</para>
<para lang="en">
if there are unclosed connection nginx now calls abort() only on gracefull
quit and active "debug_points" directive.
</para>
</change>

</changes>


<changes ver="0.3.14" date="05.12.2005">

<change type="bugfix">
<para lang="ru">
в ответе 304 передавалось тело ответа;
ошибка появилась в 0.3.13.
</para>
<para lang="en">
in the 304 response the body was transferred;
bug appeared in 0.3.13.
</para>
</change>

</changes>


<changes ver="0.3.13" date="05.12.2005">

<change type="feature">
<para lang="ru">
IMAP/POP3 прокси поддерживает STARTTLS и STLS.
</para>
<para lang="en">
the IMAP/POP3 proxy supports STARTTLS and STLS.
</para>
</change>

<change type="bugfix">
<para lang="ru">
IMAP/POP3 прокси не работала с методами select, poll и /dev/poll.
</para>
<para lang="en">
the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки в обработке SSI.
</para>
<para lang="en">
in SSI handling.
</para>
</change>

<change type="bugfix">
<para lang="ru">
sendfilev() в Solaris теперь не используется при передаче тела запроса
FastCGI-серверу через unix domain сокет.
</para>
<para lang="en">
now Solaris sendfilev() is not used to transfer the client request body
to FastCGI-server via the unix domain socket.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива auth_basic не запрещала аутентификацию;
ошибка появилась в 0.3.11.
</para>
<para lang="en">
the "auth_basic" directive did not disable the authorization;
bug appeared in 0.3.11.
</para>
</change>

</changes>


<changes ver="0.3.12" date="26.11.2005">

<change type="security">
<para lang="ru">
если nginx был собран с модулем ngx_http_realip_module, то при использовании
директивы "satisfy_any on" директивы доступа и аутентификации не работали.
Модуль ngx_http_realip_module не собирался и не собирается по умолчанию.
</para>
<para lang="en">
if nginx was built with the ngx_http_realip_module and the "satisfy_any on"
directive was used, then access and authorization directives did not work.
The ngx_http_realip_module was not built and is not built by default.
</para>
</change>

<change type="change">
<para lang="ru">
имя переменной "$time_gmt" изменено на "$time_local".
</para>
<para lang="en">
the "$time_gmt" variable name was changed to "$time_local".
</para>
</change>

<change type="change">
<para lang="ru">
директивы proxy_header_buffer_size и fastcgi_header_buffer_size
переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size.
</para>
<para lang="en">
the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives
was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_memcached_module.
</para>
<para lang="en">
the ngx_http_memcached_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_buffering.
</para>
<para lang="en">
the "proxy_buffering" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
изменение в работе с accept mutex при использовании метода rtsig;
ошибка появилась в 0.3.0.
</para>
<para lang="en">
the changes in accept mutex  handling when the "rtsig" method was used;
bug appeared in 0.3.0.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если клиент передал строку "Transfer-Encoding: chunked" в заголовке
запроса, то nginx теперь выдаёт ошибку 411.
</para>
<para lang="en">
if the client sent the "Transfer-Encoding: chunked" header line, then
nginx returns the 411 error.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при наследовании директивы auth_basic с уровня http в строке
"WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm".
</para>
<para lang="en">
if the "auth_basic" directive was inherited from the http level,
then the realm in the "WWW-Authenticate" header line was without
the "Basic realm" text.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в директиве access_log был явно указан формат combined, то в лог
записывались пустые строки;
ошибка появилась в 0.3.8.
</para>
<para lang="en">
if the "combined" format was explicitly specified in the "access_log" directive,
then the empty lines was written to the log;
bug appeared in 0.3.8.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не работал на платформе sparc под любыми OS, кроме Solaris.
</para>
<para lang="en">
nginx did not run on the sparc platform under any OS except Solaris.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в директиве if теперь не нужно разделять пробелом строку в кавычках и
закрывающую скобку.
</para>
<para lang="en">
now it is not necessary to place space between the quoted string and closing
bracket in the "if" directive.
</para>
</change>

</changes>


<changes ver="0.3.11" date="15.11.2005">

<change type="bugfix">
<para lang="ru">
nginx не передавал при проксировании тело запроса и строки заголовка клиента;
ошибка появилась в 0.3.10.
</para>
<para lang="en">
nginx did not pass the client request headers and body while proxying;
bug appeared in 0.3.10.
</para>
</change>

</changes>


<changes ver="0.3.10" date="15.11.2005">

<change type="change">
<para lang="ru">
директива valid_referers и переменная $invalid_referer перенесены
из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module.
</para>
<para lang="en">
the "valid_referers" directive and the "$invalid_referer" variable
were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module.
</para>
</change>

<change type="change">
<para lang="ru">
имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent".
</para>
<para lang="en">
the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent".
</para>
</change>

<change type="feature">
<para lang="ru">
переменные "$sent_http_...".
</para>
<para lang="en">
the "$sent_http_..." variables.
</para>
</change>

<change type="feature">
<para lang="ru">
директива if поддерживает операции "=" и "!=".
</para>
<para lang="en">
the "if" directive supports the "=" and "!=" operations.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_pass поддерживает протокол HTTPS.
</para>
<para lang="en">
the "proxy_pass" directive supports the HTTPS protocol.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_set_body.
</para>
<para lang="en">
the "proxy_set_body" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива post_action.
</para>
<para lang="en">
the "post_action" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_empty_gif_module.
</para>
<para lang="en">
the ngx_http_empty_gif_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директива worker_cpu_affinity для Linux.
</para>
<para lang="en">
the "worker_cpu_affinity" directive for Linux.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива rewrite не раскодировала символы в редиректах в URI,
теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF.
</para>
<para lang="en">
the "rewrite" directive did not unescape URI part in redirect,
now it is unescaped except the %00-%25 and %7F-%FF characters.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался компилятором icc 9.0.
</para>
<para lang="en">
nginx could not be built by the icc 9.0 compiler.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если для статического файла нулевого размера был разрешён SSI,
то ответ передавался неверно при кодировании chunk'ами.
</para>
<para lang="en">
if the SSI was enabled for zero size static file, then the chunked
response was encoded incorrectly.
</para>
</change>

</changes>


<changes ver="0.3.9" date="10.11.2005">

<change type="bugfix">
<para lang="ru">
nginx считал небезопасными URI, в которых между двумя слэшами
находилось два любых символа;
ошибка появилась в 0.3.8.
</para>
<para lang="en">
nginx considered URI as unsafe if two any symbols was between two slashes;
bug appeared in 0.3.8.
</para>
</change>

</changes>


<changes ver="0.3.8" date="09.11.2005">

<change type="security">
<para lang="ru">
nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect"
в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей.
</para>
<para lang="en">
nginx now checks URI got from a backend in "X-Accel-Redirect" header line
or in SSI file for the "/../" paths and zeroes.
</para>
</change>

<change type="change">
<para lang="ru">
nginx теперь не воспринимает пустое имя как правильное
в строке "Authorization" в заголовке запроса.
</para>
<para lang="en">
nginx now does not treat the empty user name in the "Authorization" header
line as valid one.
</para>
</change>

<change type="feature">
<para lang="ru">
директива ssl_session_timeout модулей
ngx_http_ssl_module и ngx_imap_ssl_module.
</para>
<para lang="en">
the "ssl_session_timeout" directives
of the ngx_http_ssl_module and ngx_imap_ssl_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директива auth_http_header модуля ngx_imap_auth_http_module.
</para>
<para lang="en">
the "auth_http_header" directive of the ngx_imap_auth_http_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директива add_header.
</para>
<para lang="en">
the "add_header" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_realip_module.
</para>
<para lang="en">
the ngx_http_realip_module.
</para>
</change>

<change type="feature">
<para lang="ru">
новые переменные для использования в директиве log_format:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
$uri, $request_time, $request_length,
$upstream_status, $upstream_response_time,
$gzip_ratio,
$uid_got, $uid_set,
$connection, $pipe и $msec.
Параметры в виде "%name" скоро будут упразднены.
</para>
<para lang="en">
the new variables to use in the "log_format" directive:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
$uri, $request_time, $request_length,
$upstream_status, $upstream_response_time,
$gzip_ratio,
$uid_got, $uid_set,
$connection, $pipe, and $msec.
The parameters in the "%name" form will be canceled soon.
</para>
</change>

<change type="change">
<para lang="ru">
в директиве "if" ложными значениями переменных теперь являются
пустая строка "" и строки, начинающиеся на "0".
</para>
<para lang="en">
now the false variable values in the "if" directive are the empty string ""
and string starting with "0".
</para>
</change>

<change type="bugfix">
<para lang="ru">
при работает с проксированными или FastCGI-серверами nginx мог оставлять
открытыми соединения и временные файлы с запросами клиентов.
</para>
<para lang="en">
while using proxied or FastCGI-server nginx may leave connections
and temporary files with client requests in open state.
</para>
</change>

<change type="bugfix">
<para lang="ru">
рабочие процессы не сбрасывали буферизированные логи при плавном выходе.
</para>
<para lang="en">
the worker processes did not flush the buffered logs on graceful exit.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если URI запроса изменялось с помощью rewrite, а затем запрос проксировался
в location, заданном регулярным выражением, то бэкенду передавался
неверный запрос;
ошибка появилась в 0.2.6.
</para>
<para lang="en">
if the request URI was changes by the "rewrite" directive and the request
was proxied in location given by regular expression, then the incorrect
request was transferred to backend;
bug appeared in 0.2.6.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива expires не удаляла уже установленную строку заголовка "Expires".
</para>
<para lang="en">
the "expires" directive did not remove the previous "Expires" header.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании метода rtsig и нескольких рабочих процессах nginx
мог перестать принимать запросы.
</para>
<para lang="en">
nginx may stop to accept requests if the "rtsig" method and several worker
processes were used.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в SSI командах неверно обрабатывались строки "\"" и "\'".
</para>
<para lang="en">
the "\"" and "\'" escape symbols were incorrectly handled in SSI commands.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если ответ заканчивался сразу же после SSI команды, то при использовании
сжатия ответ передавался не до конца или не передавался вообще.
</para>
<para lang="en">
if the response was ended just after the SSI command and gzipping was used,
then the response did not transferred complete or did not transferred at all.
</para>
</change>

</changes>


<changes ver="0.3.7" date="27.10.2005">

<change type="feature">
<para lang="ru">
директива access_log поддерживает параметр buffer=.
</para>
<para lang="en">
the "access_log" supports the "buffer=" parameter.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
ошибка появилась в 0.3.2.
</para>
<para lang="en">
nginx could not be built on platforms different from i386, amd64, sparc и ppc;
bug appeared in 0.3.2.
</para>
</change>

</changes>


<changes ver="0.3.6" date="24.10.2005">

<change type="change">
<para lang="ru">
IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин.
</para>
<para lang="en">
now the IMAP/POP3 proxy do not send the empty login to authorization server.
</para>
</change>

<change type="feature">
<para lang="ru">
директива log_format поддерживает переменные в виде $name.
</para>
<para lang="en">
the "log_format" supports the variables in the $name form.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если хотя бы в одном сервере не было описано ни одной директивы listen, то
nginx не слушал на 80 порту;
ошибка появилась в 0.3.3.
</para>
<para lang="en">
if at least in one server was no the "listen" directive, then nginx did not
listen on the 80 port;
bug appeared in 0.3.3.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80.
</para>
<para lang="en">
if the URI part is omitted in "proxy_pass" directive, the the 80 port was
always used.
</para>
</change>

</changes>


<changes ver="0.3.5" date="21.10.2005">

<change type="bugfix">
<para lang="ru">
если логин IMAP/POP3 менялся сервером авторизации, то мог произойти
segmentation fault;
ошибка появилась в 0.2.2.
</para>
<para lang="en">
the segmentation fault may occurred if the IMAP/POP3 login was changed
by authorization server;
bug appeared in 0.2.2.
</para>
</change>

<change type="bugfix">
<para lang="ru">
accept mutex не работал, все соединения обрабатывались одним рабочим процессом;
ошибка появилась в 0.3.3.
</para>
<para lang="en">
the accept mutex did not work and all connections were handled by one process;
bug appeared in 0.3.3.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании метода rtsig и директивы timer_resolution
не работали таймауты.
</para>
<para lang="en">
the timeout did not work if the "rtsig" method and the "timer_resolution"
directive were used.
</para>
</change>

</changes>


<changes ver="0.3.4" date="19.10.2005">

<change type="bugfix">
<para lang="ru">
nginx не собирался на Linux 2.4+ и MacOS X;
ошибка появилась в 0.3.3.
</para>
<para lang="en">
nginx could not be built on Linux 2.4+ and MacOS X;
bug appeared in 0.3.3.
</para>
</change>

</changes>


<changes ver="0.3.3" date="19.10.2005">

<change type="change">
<para lang="ru">
параметры "bl" и "af" директивы listen переименованы в "backlog"
и "accept_filter".
</para>
<para lang="en">
the "bl" and "af" parameters of the "listen" directive was renamed to
the "backlog" and "accept_filter".
</para>
</change>

<change type="feature">
<para lang="ru">
параметры "rcvbuf" и "sndbuf" в директиве listen.
</para>
<para lang="en">
the "rcvbuf" and "sndbuf" parameters of the "listen" directive.
</para>
</change>

<change type="change">
<para lang="ru">
параметр лога $msec теперь не требует дополнительного системного
вызова gettimeofday().
</para>
<para lang="en">
the "$msec" log parameter does not require now the additional
the gettimeofday() system call.
</para>
</change>

<change type="feature">
<para lang="ru">
ключ -t теперь проверяет директивы listen.
</para>
<para lang="en">
the -t switch now tests the "listen" directives.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в директиве listen был указан неверный адрес, то nginx после
сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
</para>
<para lang="en">
if the invalid address was specified in the "listen" directive, then
after the -HUP signal nginx left an open socket in the CLOSED state.
</para>
</change>

<change type="bugfix">
<para lang="ru">
для индексных файлов, содержащих в имени переменную, мог неверно выставляться
тип mime по умолчанию;
ошибка появилась в 0.3.0.
</para>
<para lang="en">
the mime type may be incorrectly set to default value for index file with
variable in the name;
bug appeared in 0.3.0.
</para>
</change>

<change type="feature">
<para lang="ru">
директива timer_resolution.
</para>
<para lang="en">
the "timer_resolution" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
параметр лога $upstream_response_time в миллисекундах.
</para>
<para lang="en">
the millisecond "$upstream_response_time" log parameter.
</para>
</change>

<change type="bugfix">
<para lang="ru">
временный файл с телом запроса клиента теперь удаляется сразу после того,
как клиенту передан заголовок ответа.
</para>
<para lang="en">
a temporary file with client request body now is removed just after
the response header was transferred to a client.
</para>
</change>

<change type="bugfix">
<para lang="ru">
совместимость с OpenSSL 0.9.6.
</para>
<para lang="en">
OpenSSL 0.9.6 compatibility.
</para>
</change>

<change type="bugfix">
<para lang="ru">
пути к файлам с SSL сертификатом и ключом не могли быть относительными.
</para>
<para lang="en">
the SSL certificate and key file paths could not be relative.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module.
</para>
<para lang="en">
the "ssl_prefer_server_ciphers" directive did not work in
the ngx_imap_ssl_module.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива ssl_protocols позволяла задать только один протокол.
</para>
<para lang="en">
the "ssl_protocols" directive allowed to specify the single protocol only.
</para>
</change>

</changes>


<changes ver="0.3.2" date="12.10.2005">

<change type="feature">
<para lang="ru">
поддержка Sun Studio 10 C compiler.
</para>
<para lang="en">
the Sun Studio 10 C compiler support.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout.
</para>
<para lang="en">
the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
"fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout"
directives.
</para>
</change>

</changes>


<changes ver="0.3.1" date="10.10.2005">

<change type="bugfix">
<para lang="ru">
во время переполнения очереди сигналов при использовании метода rtsig
происходил segmentation fault;
ошибка появилась в 0.2.0.
</para>
<para lang="en">
the segmentation fault occurred when the signal queue overflowed
if the "rtsig" method was used;
bug appeared in 0.2.0.
</para>
</change>

<change type="change">
<para lang="ru">
корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
</para>
<para lang="en">
correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
</para>
</change>

</changes>


<changes ver="0.3.0" date="07.10.2005">

<change type="change">
<para lang="ru">
убрано десятидневное ограничение времени работы рабочего процесса.
Ограничение было введено из-за переполнения миллисекундных таймеров.
</para>
<para lang="en">
the 10-days live time limit of worker process was eliminated.
The limit was introduced because of millisecond timers overflow.
</para>
</change>

</changes>


<changes ver="0.2.6" date="05.10.2005">

<change type="change">
<para lang="ru">
с 60 до 10 секунд уменьшено время повторного обращения к бэкенду
при использовании распределения нагрузки.
</para>
<para lang="en">
while using load-balancing the time before the failed backend retry
was decreased from 60 to 10 seconds.
</para>
</change>

<change type="change">
<para lang="ru">
директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь
передаётся, если в директиве proxy_pass отсутствует URI.
</para>
<para lang="en">
the "proxy_pass_unparsed_uri" was canceled, the original URI now passed,
if the URI part is omitted in "proxy_pass" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива error_page поддерживает редиректы и позволяет более гибко
менять код ошибки.
</para>
<para lang="en">
the "error_page" directive supports redirects and allows more flexible
to change an error code.
</para>
</change>

<change type="change">
<para lang="ru">
в проксированных подзапросах теперь игнорируется переданный charset.
</para>
<para lang="en">
the charset in the "Content-Type" header line now is ignored
in proxied subrequests.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если после изменения URI в блоке if для запроса не находилась
новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись
снова.
</para>
<para lang="en">
if the URI was changed in the "if" block and request did not found
new configuration, then the ngx_http_rewrite_module rules ran again.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если директива set устанавливала переменную модуля ngx_http_geo_module
в какой-либо части конфигурации, то эта переменная не была доступна в
других частях конфигурации и выдавалась ошибка "using uninitialized variable";
ошибка появилась в 0.2.2.
</para>
<para lang="en">
if the "set" directive set the ngx_http_geo_module variable in some
configuration part, the this variable was not available in other
configuration parts and the "using uninitialized variable" error was occurred;
bug appeared in 0.2.2.
</para>
</change>

</changes>


<changes ver="0.2.5" date="04.10.2005">

<change type="change">
<para lang="ru">
дублирующее значение переменной модуля ngx_http_geo_module теперь
выдаёт предупреждение и изменяет старое значение.
</para>
<para lang="en">
the duplicate value of the ngx_http_geo_module variable now causes
the warning and changes old value.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает команду set.
</para>
<para lang="en">
the ngx_http_ssi_module supports the "set" command.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает параметр file в команде include.
</para>
<para lang="en">
the ngx_http_ssi_module supports the "file" parameter in the "include" command.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает подстановку значений переменных
в выражениях команды if.
</para>
<para lang="en">
the ngx_http_ssi_module supports the variable value substitutions in
expressions of the "if" command.
</para>
</change>

</changes>


<changes ver="0.2.4" date="03.10.2005">

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает выражения
"$var=text", "$var!=text", "$var=/text/" и "$var!=/text/"
в команде if.
</para>
<para lang="en">
the ngx_http_ssi_module supports
"$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions
in the "if" command.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки при проксировании location без слэша в конце;
ошибка появилась в 0.1.44.
</para>
<para lang="en">
in proxying location without trailing slash;
bug appeared in 0.1.44.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании метода rtsig мог произойти segmentation fault;
ошибка появилась в 0.2.0.
</para>
<para lang="en">
the segmentation fault may occurred if the "rtsig" method was used;
bug appeared in 0.2.0.
</para>
</change>

</changes>


<changes ver="0.2.3" date="30.09.2005">

<change type="bugfix">
<para lang="ru">
nginx не собирался без параметра --with-debug;
ошибка появилась в 0.2.2.
</para>
<para lang="en">
nginx could not be built without the --with-debug option;
bug appeared in 0.2.2.
</para>
</change>

</changes>


<changes ver="0.2.2" date="30.09.2005">

<change type="feature">
<para lang="ru">
команда config errmsg в модуле ngx_http_ssi_module.
</para>
<para lang="en">
the "config errmsg" command of the ngx_http_ssi_module.
</para>
</change>

<change type="change">
<para lang="ru">
переменные модуля ngx_http_geo_module можно переопределять директивой set.
</para>
<para lang="en">
the ngx_http_geo_module variables can be overridden by the "set" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы ssl_protocols и ssl_prefer_server_ciphers модулей
ngx_http_ssl_module и ngx_imap_ssl_module.
</para>
<para lang="en">
the "ssl_protocols" and "ssl_prefer_server_ciphers" directives
of the ngx_http_ssl_module and ngx_imap_ssl_module.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
</para>
<para lang="en">
the ngx_http_autoindex_module did not show correctly the long file names;
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_autoindex_module теперь не показывает файлы,
начинающиеся на точку.
</para>
<para lang="en">
the ngx_http_autoindex_module now do not show the files starting by dot.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если SSL handshake завершался с ошибкой, то это могло привести также
к закрытию другого соединения.<br/>
Спасибо Rob Mueller.
</para>
<para lang="en">
if the SSL handshake failed then another connection may be closed too.<br/>
Thanks to Rob Mueller.
</para>
</change>

<change type="bugfix">
<para lang="ru">
экспортные версии MSIE 5.x не могли соединиться по HTTPS.
</para>
<para lang="en">
the export versions of MSIE 5.x could not connect via HTTPS.
</para>
</change>

</changes>


<changes ver="0.2.1" date="23.09.2005">

<change type="bugfix">
<para lang="ru">
если все бэкенды, используемые для балансировки нагрузки, оказывались
в нерабочем состоянии после одной ошибки, то nginx мог зациклится;
ошибка появилась в 0.2.0.
</para>
<para lang="en">
if all backend using in load-balancing failed after one error, then
nginx may got caught in an endless loop;
bug appeared in 0.2.0.
</para>
</change>

</changes>


<changes ver="0.2.0" date="23.09.2005">

<change>
<para lang="ru">
Изменились имена pid-файлов, используемые во время обновления исполняемого
файла. Ручное переименование теперь не нужно.
Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin"
и запускает новый исполняемый файл.
Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin".
Если новый основной процесс выходит, то старый процесс переименовывает свой
pid-файл c суффиксом ".oldbin" в pid-файл без суффикса.
При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба
процесса&mdash;старый 0.1.x и новый 0.2.0&mdash;используют pid-файл
без суффиксов.
</para>
<para lang="en">
The pid-file names used during online upgrade was changed and now is not
required a manual rename operation.
The old master process adds the ".oldbin" suffix to its pid-file and
executes a new binary file.
The new master process creates usual pid-file without the ".newbin" suffix.
If the master process exits, then old master process renames back
its pid-file with the ".oldbin" suffix to the pid-file without suffix.
</para>
</change>

<change type="change">
<para lang="ru">
директива worker_connections, новое название директивы connections;
директива теперь задаёт максимальное число соединений,
а не максимально возможный номер дескриптора для сокета.
</para>
<para lang="en">
the "worker_connections" directive, new name of the "connections" directive;
now the directive specifies maximum number of connections,
but not maximum socket descriptor number.
</para>
</change>

<change type="feature">
<para lang="ru">
SSL поддерживает кэширование сессий в пределах одного рабочего процесса.
</para>
<para lang="en">
SSL supports the session cache inside one worker process.
</para>
</change>

<change type="feature">
<para lang="ru">
директива satisfy_any.
</para>
<para lang="en">
the "satisfy_any" directive.
</para>
</change>

<change type="change">
<para lang="ru">
модули ngx_http_access_module и ngx_http_auth_basic_module не работают
для подзапросов.
</para>
<para lang="en">
the ngx_http_access_module and ngx_http_auth_basic_module do not run
for subrequests.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы worker_rlimit_nofile и worker_rlimit_sigpending.
</para>
<para lang="en">
the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если все бэкенды, используемые для балансировки нагрузки, оказывались
в нерабочем состоянии после одной ошибки, то nginx не обращался к ним
в течение 60 секунд.
</para>
<para lang="en">
if all backend using in load-balancing failed after one error, then
nginx did not try do connect to them during 60 seconds.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в парсинге аргументов IMAP/POP3 команд.<br/>
Спасибо Rob Mueller.
</para>
<para lang="en">
in IMAP/POP3 command argument parsing.<br/>
Thanks to Rob Mueller.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки при использовании SSL в IMAP/POP3 прокси.
</para>
<para lang="en">
errors while using SSL in IMAP/POP3 proxy.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки при использовании SSI и сжатия.
</para>
<para lang="en">
errors while using SSI and gzipping.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в ответах 304 не добавлялись строки заголовка ответа "Expires" и
"Cache-Control".<br/>
Спасибо Александру Кукушкину.
</para>
<para lang="en">
the "Expires" and "Cache-Control" header lines were omitted
from the 304 responses.<br/>
Thanks to Alexandr Kukushkin.
</para>
</change>

</changes>


<changes ver="0.1.45" date="08.09.2005">

<change type="change">
<para lang="ru">
директива ssl_engine упразднена в модуле ngx_http_ssl_module и
перенесена на глобальный уровень.
</para>
<para lang="en">
the "ssl_engine" directive is canceled in the ngx_http_ssl_module
and now is introduced at global level.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ответы с подзапросами, включённые с помощью SSI, не передавались
через SSL соединение.
</para>
<para lang="en">
the responses with SSI subrequests did not transferred via SSL connection.
</para>
</change>

<change>
<para lang="ru">
Разные исправления в IMAP/POP3 прокси.
</para>
<para lang="en">
Various bug fixes in the IMAP/POP3 proxy.
</para>
</change>

</changes>


<changes ver="0.1.44" date="06.09.2005">

<change type="feature">
<para lang="ru">
IMAP/POP3 прокси поддерживает SSL.
</para>
<para lang="en">
the IMAP/POP3 proxy supports SSL.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_timeout модуля ngx_imap_proxy_module.
</para>
<para lang="en">
the "proxy_timeout" directive of the ngx_imap_proxy_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директива userid_mark.
</para>
<para lang="en">
the "userid_mark" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
значение переменной $remote_user определяется независимо от того,
используется ли авторизация или нет.
</para>
<para lang="en">
the $remote_user variable value is determined independently of
authorization use.
</para>
</change>

</changes>


<changes ver="0.1.43" date="30.08.2005">

<change type="feature">
<para lang="ru">
listen(2) backlog в директиве listen можно менять по сигналу -HUP.
</para>
<para lang="en">
the listen(2) backlog in the "listen" directive
can be changed using the -HUP signal.
</para>
</change>

<change type="feature">
<para lang="ru">
скрипт geo2nginx.pl добавлен в contrib.
</para>
<para lang="en">
the geo2nginx.pl script was added to contrib.
</para>
</change>

<change type="change">
<para lang="ru">
параметры FastCGI с пустым значениями теперь передаются серверу.
</para>
<para lang="en">
the FastCGI parameters with the empty values now are passed to a server.
</para>
</change>

<!--

<change type="bugfix">
<para lang="ru">
при ошибках в работе с проксированным сервером или FastCGI сервером
мог произойти segmentation fault;
в режиме прокси ошибка появилась в 0.1.29.
</para>
<para lang="en">
the segmentation fault may occurred if there were errors while
working with proxied or FastCGI server;
in the proxied mode the bug appeared in 0.1.29.
</para>
</change>

-->

<change type="bugfix">
<para lang="ru">
если в ответе проксированного сервера или FastCGI сервера была строка
"Cache-Control", то при использовании директивы expires происходил
segmentation fault или рабочий процесс мог зациклится;
в режиме прокси ошибка появилась в 0.1.29.
</para>
<para lang="en">
the segmentation fault occurred or the worker process may got caught
in an endless loop if the proxied or FastCGI server sent the "Cache-Control"
header line and the "expires" directive was used;
in the proxied mode the bug appeared in 0.1.29.
</para>
</change>

</changes>


<changes ver="0.1.42" date="23.08.2005">

<change type="bugfix">
<para lang="ru">
если URI запроса получался нулевой длины после обработки модулем
ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил
segmentation fault или bus error.
</para>
<para lang="en">
if the request URI had a zero length after the processing in
the ngx_http_proxy_module, then the segmentation fault or bus error occurred
in the ngx_http_proxy_module.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива limit_rate не работала внутри блока if;
ошибка появилась в 0.1.38.
</para>
<para lang="en">
the "limit_rate" directive did not work inside the "if" block;
bug appeared in 0.1.38.
</para>
</change>

</changes>


<changes ver="0.1.41" date="25.07.2005">

<change type="bugfix">
<para lang="ru">
если переменная использовалась в файле конфигурации,
то она не могла использоваться в SSI.
</para>
<para lang="en">
if the variable was used in the configuration file,
then it can not be used in SSI.
</para>
</change>

</changes>


<changes ver="0.1.40" date="22.07.2005">

<change type="bugfix">
<para lang="ru">
если клиент слал очень длинную строку заголовка, то в логе не помещалась
информация, связанная с этим запросом.
</para>
<para lang="en">
if a client sent too long header line, then the request information
did not logged in the error log.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie";
ошибка появилась в 0.1.39.
</para>
<para lang="en">
the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect"
was used;
bug appeared in 0.1.39.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании "X-Accel-Redirect" не передавалась строка
"Content-Disposition".
</para>
<para lang="en">
the "Content-Disposition" header line was not transferred when
the "X-Accel-Redirect" was used.
</para>
</change>

<change type="bugfix">
<para lang="ru">
по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал.
</para>
<para lang="en">
the master process did not close the listen socket on the SIGQUIT signal.
</para>
</change>

<change type="bugfix">
<para lang="ru">
после обновления исполняемого файла на лету на Linux и Solaris
название процесса в команде ps становилось короче.
</para>
<para lang="en">
after on-line upgrade on Linux and Solaris the process name
became shorter in the "ps" command.
</para>
</change>

</changes>


<changes ver="0.1.39" date="14.07.2005">

<change>
<para lang="ru">
Изменения в модуле ngx_http_charset_module:
директива default_charset упразднена;
директива charset задаёт кодировку ответа;
директива source_charset задаёт только исходную кодировку.
</para>
<para lang="en">
The changes in the ngx_http_charset_module:
the "default_charset" directive is canceled;
the "charset" directive sets the response charset;
the "source_charset" directive sets the source charset only.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при перенаправлении ошибки 401, полученной от бэкенда, не передавалась
строка заголовка "WWW-Authenticate".
</para>
<para lang="en">
the backend "WWW-Authenticate" header line did not transferred while
the 401 response code redirecting.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть
соединение до того, как что-нибудь было передано клиенту;
ошибка появилась в 0.1.38.
</para>
<para lang="en">
the ngx_http_proxy_module and ngx_http_fastcgi_module may close
a connection before anything was transferred to a client;
bug appeared in 0.1.38.
</para>
</change>

<change type="workaround">
<para lang="ru">
обработка ошибки инициализации в crypt_r() в Linux glibc. 
</para>
<para lang="en">
the Linux glibc crypt_r() initialization bug.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_ssi_module не поддерживал относительные URI в
команде include virtual.
</para>
<para lang="en">
the ngx_http_ssi_module did not support the relative URI in
the "include virtual" command.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в строке заголовка ответа бэкенда была строка "Location",
которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки;
ошибка появилась в 0.1.29.
</para>
<para lang="en">
if the backend response had the "Location" header line and nginx
should not rewrite this line, then the 500 code response body was transferred;
bug appeared in 0.1.29.
</para>
</change>

<change type="bugfix">
<para lang="ru">
некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module
не наследовались с уровня server на уровень location;
ошибка появилась в 0.1.29.
</para>
<para lang="en">
some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module
were not inherited from the server to the location level;
bug appeared in 0.1.29.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_ssl_module не поддерживал цепочки сертификатов.
</para>
<para lang="en">
the ngx_http_ssl_module did not support the certificate chain.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
ошибка появилась в 0.1.38.
</para>
<para lang="en">
the ngx_http_autoindex_module did not show correctly the long file names;
bug appeared in 0.1.38.
</para>
</change>

<change>
<para lang="ru">
Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login.
</para>
<para lang="en">
Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state.
</para>
</change>

</changes>


<changes ver="0.1.38" date="08.07.2005">

<change type="feature">
<para lang="ru">
директива limit_rate поддерживается в режиме прокси и FastCGI.
</para>
<para lang="en">
the "limit_rate" directive is supported in in proxy and FastCGI mode.
</para>
</change>

<change type="feature">
<para lang="ru">
в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate"
в ответе бэкенда.
</para>
<para lang="en">
the "X-Accel-Limit-Rate" response header line is supported in proxy and FastCGI
mode.
</para>
</change>

<change type="feature">
<para lang="ru">
директива break.
</para>
<para lang="en">
the "break" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива log_not_found.
</para>
<para lang="en">
the "log_not_found" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect"
не изменялся код ответа.
</para>
<para lang="en">
the response status code was not changed when request was redirected
by the ""X-Accel-Redirect" header line.
</para>
</change>

<change type="bugfix">
<para lang="ru">
переменные, установленные директивой set не могли использоваться в SSI.
</para>
<para lang="en">
the variables set by the "set" directive could not be used in SSI.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при включении в SSI более одного удалённого подзапроса
мог произойти segmentation fault.
</para>
<para lang="en">
the segmentation fault may occurred if the SSI page has more than one
remote subrequest.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если статусная строка в ответе бэкенда передавалась в двух пакетах, то
nginx считал ответ неверным;
ошибка появилась в 0.1.29.
</para>
<para lang="en">
nginx treated the backend response as invalid if the status line in the
header was transferred in two packets;
bug appeared in 0.1.29.
</para>
</change>

<change type="feature">
<para lang="ru">
директива ssi_types.
</para>
<para lang="en">
the "ssi_types" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива autoindex_exact_size.
</para>
<para lang="en">
the "autoindex_exact_size" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8.
</para>
<para lang="en">
the ngx_http_autoindex_module did not support the long file names in UTF-8.
</para>
</change>

<change type="feature">
<para lang="ru">
IMAP/POP3 прокси.
</para>
<para lang="en">
the IMAP/POP3 proxy.
</para>
</change>

</changes>


<changes ver="0.1.37" date="23.06.2005">

<change type="change">
<para lang="ru">
в конце файла nginx.pid теперь добавляется "\n".
</para>
<para lang="en">
now the "\n" is added to the end of the "nginx.pid" file.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при включении большого количества вставок или нескольких больших вставок
с помощью SSI ответ мог передаваться не полностью.
</para>
<para lang="en">
the responses may be transferred not completely,
if many parts or the big parts were included by SSI.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если все бэкенды возвращали ответ 404, то при использовании параметра http_404
в директивах proxy_next_upstream или fastcgi_next_upstream, nginx
начинал запрашивать все бэкенды снова.
</para>
<para lang="en">
if all backends had returned the 404 reponse and the "http_404" parameter of
the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used,
then nginx started to request all backends again.
</para>
</change>

</changes>


<changes ver="0.1.36" date="15.06.2005">

<change type="change">
<para lang="ru">
если в заголовке запросе есть дублирующиеся строки "Host", "Connection",
"Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400.
</para>
<para lang="en">
if the request header has duplicate the "Host", "Connection", "Content-Length",
or "Authorization" lines, then nginx now returns the 400 error.
</para>
</change>

<change type="change">
<para lang="ru">
директива post_accept_timeout упразднена.
</para>
<para lang="en">
the "post_accept_timeout" directive was canceled.
</para>
</change>

<change type="feature">
<para lang="ru">
параметры default, af=, bl=, deferred и bind в директиве listen.
</para>
<para lang="en">
the "default", "af=", "bl=", "deferred", and "bind" parameters
of the "listen" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
поддержка accept фильтров во FreeBSD.
</para>
<para lang="en">
the FreeBSD accept filters support.
</para>
</change>

<change type="feature">
<para lang="ru">
поддержка TCP_DEFER_ACCEPT в Linux.
</para>
<para lang="en">
the Linux TCP_DEFER_ACCEPT support.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8.
</para>
<para lang="en">
the ngx_http_autoindex_module did not support the file names in UTF-8.
</para>
</change>

<change type="bugfix">
<para lang="ru">
после добавления новый лог-файл ротация этого лога по сигналу -USR1
выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP.
</para>
<para lang="en">
the new log file can be rotated by the -USR1 signal only if
the reconfiguration by the -HUP signal was made twice.
</para>
</change>

</changes>


<changes ver="0.1.35" date="07.06.2005">

<change type="feature">
<para lang="ru">
директива working_directory.
</para>
<para lang="en">
the "working_directory" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива port_in_redirect.
</para>
<para lang="en">
the "port_in_redirect" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если заголовок ответа бэкенда не помещался в один пакет, то
происходил segmentation fault;
ошибка появилась в 0.1.29.
</para>
<para lang="en">
the segmentation fault was occurred if the backend response header was in
several packets;
bug appeared in 0.1.29.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если было сконфигурировано более 10 серверов или в сервере не описана
директива "listen",
то при запуске мог произойти segmentation fault.
</para>
<para lang="en">
if more than 10 servers were configured or some server did not use the
"listen" directive, then the segmentation fault was occurred on the start.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если ответ не помещался во временный файл,
то мог произойти segmentation fault.
</para>
<para lang="en">
the segmentation fault might occur if the response was bigger than
the temporary file.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx возвращал ошибку 400 на запросы вида
<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
ошибка появилась в 0.1.28.
</para>
<para lang="en">
nginx returned the 400 response on requests like
<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
bug appeared in 0.1.28.
</para>
</change>

</changes>


<changes ver="0.1.34" date="26.05.2005">

<change type="bugfix">
<para lang="ru">
при включении больших ответов с помощью SSI рабочий процесс мог зациклиться.
</para>
<para lang="en">
the worker process may got caught in an endless loop if the big response
part were include by SSI.
</para>
</change>

<change type="bugfix">
<para lang="ru">
переменные, устанавливаемые директивой "set", не были доступны в SSI.
</para>
<para lang="en">
the variables set by the "set" directive were not available in SSI.
</para>
</change>

<change type="feature">
<para lang="ru">
директива autoindex_localtime.
</para>
<para lang="en">
the "autoindex_localtime" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
пустое значение в директиве proxy_set_header запрещает передачу заголовка.
</para>
<para lang="en">
the empty value of the "proxy_set_header" directive forbids the client
request header line passing.
</para>
</change>

</changes>


<changes ver="0.1.33" date="23.05.2005">

<change type="bugfix">
<para lang="ru">
nginx не собирался с параметром --without-pcre;
ошибка появилась в 0.1.29.
</para>
<para lang="en">
nginx could not be built with the --without-pcre parameter;
bug appeared in 0.1.29.
</para>
</change>

<change type="bugfix">
<para lang="ru">
3, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали
bus fault при запуске.
</para>
<para lang="en">
3, 4, 7, and 8 the "proxy_set_header" directives in one level cause
the bus fault on start up.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в редиректах внутри HTTPS сервера был указан протокол HTTP.
</para>
<para lang="en">
the HTTP protocol was specified in the HTTPS redirects.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если директива rewrite использовала выделения внутри директивы if, то
возвращалась ошибка 500.
</para>
<para lang="en">
if the "rewrite" directive used the captures inside the "if" directive, then
the 500 error code was returned.
</para>
</change>

</changes>


<changes ver="0.1.32" date="19.05.2005">

<change type="bugfix">
<para lang="ru">
в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы;
ошибка появилась в 0.1.29.
</para>
<para lang="en">
the arguments were omitted in the redirects, issued by the "rewrite" directive;
bug appeared in 0.1.29.
</para>
</change>

<change type="feature">
<para lang="ru">
директива if поддерживает выделения в регулярных выражениях.
</para>
<para lang="en">
the "if" directive supports the captures in regular expressions.
</para>
</change>

<change type="feature">
<para lang="ru">
директива set поддерживает переменные и выделения из регулярных выражений.
</para>
<para lang="en">
the "set" directive supports the variables and the captures of regular
expressions.
</para>
</change>

<change type="feature">
<para lang="ru">
в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect"
в ответе бэкенда.
</para>
<para lang="en">
the "X-Accel-Redirect" response header line is supported in proxy and FastCGI
mode.
</para>
</change>

</changes>


<changes ver="0.1.31" date="16.05.2005">

<change type="bugfix">
<para lang="ru">
при использовании SSL ответ мог передаваться не до конца.
</para>
<para lang="en">
the response encrypted by SSL may not transferred complete.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки при обработке SSI в ответе, полученного от FastCGI-сервера.
</para>
<para lang="en">
errors while processing FastCGI response by SSI.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки при использовании SSI и сжатия.
</para>
<para lang="en">
errors while using SSI and gzipping.
</para>
</change>

<change type="bugfix">
<para lang="ru">
редирект с кодом 301 передавался без тела ответа;
ошибка появилась в 0.1.30.
</para>
<para lang="en">
the redirect with the 301 code was transferred without response body;
bug appeared in 0.1.30.
</para>
</change>

</changes>


<changes ver="0.1.30" date="14.05.2005">

<change type="bugfix">
<para lang="ru">
при использовании SSI рабочий процесс мог зациклиться.
</para>
<para lang="en">
the worker process may got caught in an endless loop if the SSI was used.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании SSL ответ мог передаваться не до конца.
</para>
<para lang="en">
the response encrypted by SSL may not transferred complete.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если длина части ответа, полученного за один раз от проксируемого или
FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500;
в режиме прокси ошибка появилась только в 0.1.29.
</para>
<para lang="en">
if the length of the response part received at once from proxied
or FastCGI server was equal to 500, then nginx returns the 500 response code;
in proxy mode the bug appeared in 0.1.29 only.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не считал неверными директивы с 8-ю или 9-ю параметрами.
</para>
<para lang="en">
nginx did not consider the directives with 8 or 9 parameters as invalid.
</para>
</change>

<change type="feature">
<para lang="ru">
директива return может возвращать код ответа 204.
</para>
<para lang="en">
the "return" directive can return the 204 response code.
</para>
</change>

<change type="feature">
<para lang="ru">
директива ignore_invalid_headers.
</para>
<para lang="en">
the "ignore_invalid_headers" directive.
</para>
</change>

</changes>


<changes ver="0.1.29" date="12.05.2005">

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает команду include virtual.
</para>
<para lang="en">
the ngx_http_ssi_module supports "include virtual" command.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает условную команду вида
'if expr="$NAME"' и команды else и endif.
Допускается только один уровень вложенности.
</para>
<para lang="en">
the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands.
Only one nested level is supported.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT
и команду config timefmt.
</para>
<para lang="en">
the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables
and "config timefmt" command.
</para>
</change>

<change type="feature">
<para lang="ru">
директива ssi_ignore_recycled_buffers.
</para>
<para lang="en">
the "ssi_ignore_recycled_buffers" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если переменная QUERY_STRING не была определена, то в команде echo
не ставилось значение по умолчанию.
</para>
<para lang="en">
the "echo" command did not show the default value for the empty QUERY_STRING
variable.
</para>
</change>

<change type="change">
<para lang="ru">
модуль ngx_http_proxy_module полностью переписан.
</para>
<para lang="en">
the ngx_http_proxy_module was rewritten.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы proxy_redirect, proxy_pass_request_headers,
proxy_pass_request_body и proxy_method.
</para>
<para lang="en">
the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_set_header.
Директива proxy_x_var упразднена и должна быть заменена директивой
proxy_set_header.
</para>
<para lang="en">
the "proxy_set_header" directive.
The "proxy_x_var" is canceled and must be replaced with the proxy_set_header
directive.
</para>
</change>

<change type="change">
<para lang="ru">
директива proxy_preserve_host упразднена и должна быть заменена директивами
"proxy_set_header Host $host" и "proxy_redirect off"
или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr>
и соответствующими ей директивами proxy_redirect.
</para>
<para lang="en">
the "proxy_preserve_host" is canceled and must be replaced with
the "proxy_set_header Host $host" and the "proxy_redirect off" directives,
the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr>
and the appropriate proxy_redirect directives.
</para>
</change>

<change type="change">
<para lang="ru">
директива proxy_set_x_real_ip упразднена и должна быть заменена директивой
"proxy_set_header X-Real-IP $remote_addr".
</para>
<para lang="en">
the "proxy_set_x_real_ip" is canceled and must be replaced with
the "proxy_set_header X-Real-IP $remote_addr" directive.
</para>
</change>

<change type="change">
<para lang="ru">
директива proxy_add_x_forwarded_for упразднена и должна быть заменена
директивой
<nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr>
</para>
<para lang="en">
the "proxy_add_x_forwarded_for" is canceled and must be replaced with
<nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr>
directive.
</para>
</change>

<change type="change">
<para lang="ru">
директива proxy_set_x_url упразднена и должна быть заменена директивой
<nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr>
</para>
<para lang="en">
the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива fastcgi_param.
</para>
<para lang="en">
the "fastcgi_param" directive.
</para>
</change>

<change type="change">
<para lang="ru">
директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены
и должны быть замены директивами fastcgi_param.
</para>
<para lang="en">
the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive
are canceled and must be replaced with the fastcgi_param directives.
</para>
</change>

<change type="feature">
<para lang="ru">
директива index может использовать переменные.
</para>
<para lang="en">
the "index" directive can use the variables.
</para>
</change>

<change type="feature">
<para lang="ru">
директива index может быть указана на уровне http и server.
</para>
<para lang="en">
the "index" directive can be used at http and server levels.
</para>
</change>

<change type="change">
<para lang="ru">
только последний параметр в директиве index может быть абсолютным.
</para>
<para lang="en">
the last index only in the "index" directive can be absolute.
</para>
</change>

<change type="feature">
<para lang="ru">
в директиве rewrite могут использоваться переменные.
</para>
<para lang="en">
the "rewrite" directive can use the variables.
</para>
</change>

<change type="feature">
<para lang="ru">
директива internal.
</para>
<para lang="en">
the "internal" directive.
</para>
</change>

<change type="feature">
<para lang="ru">
переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
</para>
<para lang="en">
the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
</para>
</change>

<change type="change">
<para lang="ru">
nginx теперь передаёт неверные строки в заголовках запроса клиента и
ответа бэкенда.
</para>
<para lang="en">
nginx now passes the invalid lines in a client request headers
or a backend response header.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если бэкенд долго не передавал ответ и send_timeout был меньше, чем
proxy_read_timeout, то клиенту возвращался ответ 408.
</para>
<para lang="en">
if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если бэкенд передавал неверную строку в заголовке ответа, то происходил
segmentation fault;
ошибка появилась в 0.1.26.
</para>
<para lang="en">
the segmentation fault was occurred if the backend sent an invalid line
in response header;
bug appeared in 0.1.26.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании отказоустойчивой конфигурации в FastCGI мог
происходить segmentation fault.
</para>
<para lang="en">
the segmentation fault may occurred in FastCGI fault tolerance configuration.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива expires не удаляла уже установленные строки заголовка
"Expires" и "Cache-Control".
</para>
<para lang="en">
the "expires" directive did not remove the previous "Expires" and
"Cache-Control" headers.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не учитывал завершающую точку в строке заголовка запроса "Host".
</para>
<para lang="en">
nginx did not take into account trailing dot in "Host" header line.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_auth_module не работал на Linux.
</para>
<para lang="en">
the ngx_http_auth_module did not work under Linux.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива rewrite неверно работала, если в запросе присутствовали аргументы.
</para>
<para lang="en">
the rewrite directive worked incorrectly, if the arguments were in a request.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался на MacOS X.
</para>
<para lang="en">
nginx could not be built on MacOS X.
</para>
</change>

</changes>


<changes ver="0.1.28" date="08.04.2005">

<change type="bugfix">
<para lang="ru">
при проксировании больших файлов nginx сильно нагружал процессор.
</para>
<para lang="en">
nginx hogs CPU while proxing the huge files.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался gcc 4.0 на Linux.
</para>
<para lang="en">
nginx could not be built by gcc 4.0 on Linux.
</para>
</change>

</changes>


<changes ver="0.1.27" date="28.03.2005">

<change type="feature">
<para lang="ru">
параметр blocked в директиве valid_referers.
</para>
<para lang="en">
the "blocked" parameter of the "valid_referers" directive.
</para>
</change>

<change type="change">
<para lang="ru">
ошибки обработки заголовка запроса теперь записываются на уровне
info, в лог также записывается имя сервера и строки заголовка
запроса "Host" и "Referer".
</para>
<para lang="en">
the errors while handling the request header now logged at "info" level.
The server name and the "Host" and "Referer" header lines also logged.
</para>
</change>

<change type="change">
<para lang="ru">
при записи ошибок в лог записывается также строка заголовка запроса "Host".
</para>
<para lang="en">
the "Host" header line is also logged in error log.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_pass_unparsed_uri.
Специальная обработка символов "://" в URI, введённая в версии 0.1.11,
теперь упразднена.
</para>
<para lang="en">
the proxy_pass_unparsed_uri directive.
The special handling of the "://" symbols in URI, appeared in 0.1.11 version,
now is canceled.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации
--without-ngx_http_auth_basic_module.
</para>
<para lang="en">
nginx could not be built on FreeBSD and Linux, if the
--without-ngx_http_auth_basic_module configuration parameter was used.
</para>
</change>

</changes>


<changes ver="0.1.26" date="22.03.2005">

<change type="change">
<para lang="ru">
неверные строки заголовка, переданные клиентом, теперь игнорируется и
записываются в error_log на уровне info.
</para>
<para lang="en">
the invalid client header lines are now ignored and logged at the info level.
</para>
</change>

<change type="change">
<para lang="ru">
при записи ошибок в лог записывается также имя сервера, при обращении
к которому произошла ошибка.
</para>
<para lang="en">
the server name is also logged in error log.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_auth_basic_module и директивы auth_basic и
auth_basic_user_file.
</para>
<para lang="en">
the ngx_http_auth_basic_module module and the auth_basic and
auth_basic_user_file directives.
</para>
</change>

</changes>


<changes ver="0.1.25" date="19.03.2005">

<change type="bugfix">
<para lang="ru">
nginx не работал на Linux parisc.
</para>
<para lang="en">
nginx did run on Linux parisc.
</para>
</change>

<change type="feature">
<para lang="ru">
nginx теперь не запускается под FreeBSD, если значение
sysctl kern.ipc.somaxconn слишком большое.
</para>
<para lang="en">
nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn
value is too big.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если модуль ngx_http_index_module делал внутреннее перенаправление запроса
в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса
не закрывался после обслуживания запроса.
</para>
<para lang="en">
if a request was internally redirected by the ngx_http_index_module
module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules,
then the index file was not closed after request completion.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_pass может использоваться в location, заданных регулярным
выражением.
</para>
<para lang="en">
the "proxy_pass" can be used in location with regular expression.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_rewrite_filter_module поддерживает условия вида
"if ($HTTP_USER_AGENT ~ MSIE)".
</para>
<para lang="en">
the ngx_http_rewrite_filter_module module supports the condition like
"if ($HTTP_USER_AGENT ~ MSIE)".
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx очень медленно запускался при большом количестве адресов и
использовании текстовых значений в директиве geo.
</para>
<para lang="en">
nginx started too slow if the large number of addresses and text values
were used in the "geo" directive.
</para>
</change>

<change type="change">
<para lang="ru">
имя переменной в директиве geo нужно указывать, как $name.
Прежний вариант без "$" пока работает, но вскоре будет убран.
</para>
<para lang="en">
a variable name must be declared as "$name" in the "geo" directive.
The previous variant without "$" is still supported, but will be removed soon.
</para>
</change>

<change type="feature">
<para lang="ru">
параметр лога "%{VARIABLE}v".
</para>
<para lang="en">
the "%{VARIABLE}v" logging parameter.
</para>
</change>

<change type="feature">
<para lang="ru">
директива "set $name value".
</para>
<para lang="en">
the "set $name value" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
совместимость с gcc 4.0.
</para>
<para lang="en">
gcc 4.0 compatibility.
</para>
</change>

<change type="feature">
<para lang="ru">
параметр автоконфигурации --with-openssl-opt=OPTIONS.
</para>
<para lang="en">
the --with-openssl-opt=OPTIONS autoconfiguration directive.
</para>
</change>

</changes>


<changes ver="0.1.24" date="04.03.2005">

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_filter_module поддерживает переменные
QUERY_STRING и DOCUMENT_URI.
</para>
<para lang="en">
the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI
variables.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_autoindex_module мог выдавать ответ 404
на существующий каталог, если этот каталог был указан как alias.
</para>
<para lang="en">
the ngx_http_autoindex_module may some times return the 404 response
for existent directory, if this directory was used in "alias" directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_ssi_filter_module неправильно работал при больших
ответах.
</para>
<para lang="en">
the ngx_http_ssi_filter_module ran incorrectly for large responses.
</para>
</change>

<change type="bugfix">
<para lang="ru">
отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом.
</para>
<para lang="en">
the lack of the "Referer" header line was always accounted as valid referrer.
</para>
</change>

</changes>


<changes ver="0.1.23" date="01.03.2005">

<change type="feature">
<para lang="ru">
модуль ngx_http_ssi_filter_module и
директивы ssi, ssi_silent_errors и ssi_min_file_chunk.
Поддерживаются команды 'echo var="HTTP_..." default=""' и
'echo var="REMOTE_ADDR"'.
</para>
<para lang="en">
the ngx_http_ssi_filter_module and
the ssi, ssi_silent_errors, and ssi_min_file_chunk directives.
The 'echo var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands
are supported.
</para>
</change>

<change type="feature">
<para lang="ru">
параметр лога %request_time.
</para>
<para lang="en">
the %request_time log parameter.
</para>
</change>

<change type="feature">
<para lang="ru">
если запрос пришёл без строки заголовка "Host", то директива
proxy_preserve_host устанавливает в качестве этого заголовка первое имя
сервера из директивы server_name.
</para>
<para lang="en">
if the request has no the "Host" header line, then the proxy_preserve_host
directive set this header line to the first server name of the server_name
directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
ошибка появилась в 0.1.22.
</para>
<para lang="en">
nginx could not be built on platforms different from i386, amd64, sparc и ppc;
bug appeared in 0.1.22.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль ngx_http_autoindex_module теперь показывает информацию не о
символическом линке, а о файле или каталоге, на который он указывает.
</para>
<para lang="en">
the ngx_http_autoindex_module now shows the information not about the symlink,
but about file or directory it points to.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если клиенту ничего не передавалось, то параметр %apache_length
записывал в лог отрицательную длину заголовка ответа.
</para>
<para lang="en">
the %apache_length parameter logged the negative length
of the response header if the no response was transferred to a client.
</para>
</change>

</changes>


<changes ver="0.1.22" date="22.02.2005">

<change type="bugfix">
<para lang="ru">
модуль ngx_http_stub_status_module показывал неверную статистику
для обработанных соединений, если использовалось проксирование
или FastCGI-сервер.
</para>
<para lang="en">
the ngx_http_stub_status_module showed incorrect handled connections
statistics if the proxing or FastCGI server were used.
</para>
</change>

<change type="bugfix">
<para lang="ru">
на Linux и Solaris установочные пути были неверно заключены в кавычки;
ошибка появилась в 0.1.21.
</para>
<para lang="en">
the installation paths were incorrectly quoted on Linux and Solaris;
bug appeared in 0.1.21.
</para>
</change>

</changes>


<changes ver="0.1.21" date="22.02.2005">

<change type="bugfix">
<para lang="ru">
модуль ngx_http_stub_status_module показывал неверную статистику
при использовании метода rtsig или при использовании нескольких
рабочих процессов на SMP машине.
</para>
<para lang="en">
the ngx_http_stub_status_module showed incorrect statistics
if "rtsig" method was used or if several worker process ran on SMP.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался компилятором icc под Линуксом или
если библиотека zlib-1.2.x собиралась из исходных текстов.
</para>
<para lang="en">
nginx could not be built by the icc compiler on Linux or
if the zlib-1.2.x library was building from sources.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался под NetBSD 2.0.
</para>
<para lang="en">
nginx could not be built on NetBSD 2.0.
</para>
</change>

</changes>


<changes ver="0.1.20" date="17.02.2005">

<change type="feature">
<para lang="ru">
новые параметры script_filename и remote_port в директиве fastcgi_params.
</para>
<para lang="en">
the new "script_filename" and "remote_port" parameters
of the fastcgi_params directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
неправильно обрабатывался поток stderr от FastCGI-сервера.
</para>
<para lang="en">
the FastCGI stderr stream was handled incorrectly.
</para>
</change>

</changes>


<changes ver="0.1.19" date="16.02.2005">

<change type="bugfix">
<para lang="ru">
если в запросе есть нуль, то для локальных запросов теперь возвращается
ошибка 404.
</para>
<para lang="en">
now, if request contains the zero, then the 404 error is returned
for the local requests.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался под NetBSD 2.0.
</para>
<para lang="en">
nginx could not be built on NetBSD 2.0.
</para>
</change>

<change type="bugfix">
<para lang="ru">
во время чтения тела запроса клиента в SSL соединении мог произойти таймаут.
</para>
<para lang="en">
the timeout may occur while reading of the the client request body
via SSL connections.
</para>
</change>

</changes>


<changes ver="0.1.18" date="09.02.2005">

<change type="workaround">
<para lang="ru">
для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes
значения по умолчанию уменьшены с 512 до 32.
</para>
<para lang="en">
the default values of the devpoll_events and the devpoll_changes directives
changed from 512 to 32 to be compatible with Solaris 10.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директивы proxy_set_x_var и fastcgi_set_var не наследовались.
</para>
<para lang="en">
the proxy_set_x_var and fastcgi_set_var directives were not inherited.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в директиве rewrite, возвращающей редирект, аргументы присоединялись
к URI через символ "&amp;" вместо "?".
</para>
<para lang="en">
in the redirect rewrite directive the arguments were concatenated with URI
by the "&amp;" rather than the "?".
</para>
</change>

<change type="bugfix">
<para lang="ru">
строки для модуля ngx_http_geo_module без символа ";" во включённом файле
игнорировались.
</para>
<para lang="en">
the lines without trailing ";" in the file being included
by the ngx_http_geo_module were silently ignored.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_stub_status_module.
</para>
<para lang="en">
the ngx_http_stub_status_module.
</para>
</change>

<change type="bugfix">
<para lang="ru">
неизвестный формат лог-файла в директиве access_log вызывал segmentation fault.
</para>
<para lang="en">
the unknown log format in the access_log directive caused
the segmentation fault.
</para>
</change>

<change type="feature">
<para lang="ru">
новый параметр document_root в директиве fastcgi_params.
</para>
<para lang="en">
the new "document_root" parameter of the fastcgi_params directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива fastcgi_redirect_errors.
</para>
<para lang="en">
the fastcgi_redirect_errors directive.
</para>
</change>

<change type="feature">
<para lang="ru">
новый модификатор break в директиве rewrite позволяет прекратить
цикл rewrite/location и устанавливает текущую конфигурацию для запроса.
</para>
<para lang="en">
the new "break" modifier of the "rewrite" directive allows to stop
the rewrite/location cycle and sets the current configuration to the request.
</para>
</change>

</changes>


<changes ver="0.1.17" date="03.02.2005">

<change type="change">
<para lang="ru">
модуль ngx_http_rewrite_module полностью переписан.
Теперь можно делать редиректы, возвращать коды ошибок
и проверять переменные и рефереры.
Эти директивы можно использовать внутри location.
Директива redirect упразднена.
</para>
<para lang="en">
the ngx_http_rewrite_module was rewritten from the scratch.
Now it is possible to redirect, to return the error codes,
to check the variables and referrers. The directives can be used
inside locations.
The redirect directive was canceled.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_geo_module.
</para>
<para lang="en">
the ngx_http_geo_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы proxy_set_x_var и fastcgi_set_var.
</para>
<para lang="en">
the proxy_set_x_var and fastcgi_set_var directives.
</para>
</change>

<change type="bugfix">
<para lang="ru">
конфигурация location с модификатором "=" могла использоваться
в другом location.
</para>
<para lang="en">
the location configuration with "=" modifier may be used in another
location.
</para>
</change>

<change type="bugfix">
<para lang="ru">
правильный тип ответа выставлялся только для запросов, у которых в расширении
были только маленькие буквы.
</para>
<para lang="en">
the correct content type was set only for requests that use small caps letters
in extension.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если для location установлен proxy_pass или fastcgi_pass, и доступ
к нему запрещался, а ошибка перенаправлялась на статическую страницу,
то происходил segmentation fault.
</para>
<para lang="en">
if the proxy_pass or fastcgi_pass directives were set in the location,
and access was denied, and the error was redirected to a static page,
then the segmentation fault occurred.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в проксированном ответе в заголовке "Location" передавался
относительный URL, то к нему добавлялось имя хоста и слэш;
ошибка появилась в 0.1.14.
</para>
<para lang="en">
if in a proxied "Location" header was a relative URL,
then a host name and a slash were added to them;
bug appeared in 0.1.14.
</para>
</change>

<change type="bugfix">
<para lang="ru">
на Linux в лог не записывался текст системной ошибки.
</para>
<para lang="en">
the system error message was not logged on Linux.
</para>
</change>

</changes>


<changes ver="0.1.16" date="25.01.2005">

<change type="bugfix">
<para lang="ru">
если ответ передавался chunk'ами, то при запросе HEAD выдавался
завершающий chunk. 
</para>
<para lang="en">
if the response were transferred by chunks, then on the HEAD request
the final chunk was issued.
</para>
</change>

<change type="bugfix">
<para lang="ru">
заголовок "Connection: keep-alive" выдавался, даже если директива
keepalive_timeout запрещала использование keep-alive.
</para>
<para lang="en">
the "Connection: keep-alive" header were issued, even if the
keepalive_timeout directive forbade the keep-alive use.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault.
</para>
<para lang="en">
the errors in the ngx_http_fastcgi_module caused the segmentation faults.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании SSL сжатый ответ мог передаваться не до конца.
</para>
<para lang="en">
the compressed response encrypted by SSL may not transferred complete.
</para>
</change>

<change type="bugfix">
<para lang="ru">
опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные для TCP сокетов,
не используются для unix domain сокетов.
</para>
<para lang="en">
the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options,
are not used for the unix domain sockets.
</para>
</change>

<change type="feature">
<para lang="ru">
директива rewrite поддерживает перезаписывание аргументов.
</para>
<para lang="en">
the rewrite directive supports the arguments rewriting.
</para>
</change>

<change type="bugfix">
<para lang="ru">
на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400;
ошибка появилась в 0.1.14.
</para>
<para lang="en">
the response code 400 was returned for the POST request with the
"Content-Length: 0" header;
bug appeared in 0.1.14.
</para>
</change>

</changes>


<changes ver="0.1.15" date="19.01.2005">

<change type="bugfix">
<para lang="ru">
ошибка соединения с FastCGI-сервером вызывала segmentation fault.
</para>
<para lang="en">
the error while the connecting to the FastCGI server caused
segmentation fault.
</para>
</change>

<change type="bugfix">
<para lang="ru">
корректная обработка регулярного выражения, в котором число
выделенных частей не совпадает с числом подстановок.
</para>
<para lang="en">
the correct handling of the regular expression, that
has different number of the captures and substitutions.
</para>
</change>

<change type="feature">
<para lang="ru">
location, который передаётся FastCGI-серверу, может быть задан
с помощью регулярного выражения.
</para>
<para lang="en">
the location, that is passed to the FastCGI server, can be
regular expression.
</para>
</change>

<change type="bugfix">
<para lang="ru">
параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами
и в том виде, в котором был получен от клиента.
</para>
<para lang="en">
the FastCGI's parameter REQUEST_URI is now passed with the arguments
and in the original state.
</para>
</change>

<change type="bugfix">
<para lang="ru">
для использования регулярных выражений в location нужно было
собирать nginx вместе с ngx_http_rewrite_module.
</para>
<para lang="en">
the ngx_http_rewrite_module module was required to be built to use
the regular expressions in locations.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если бэкенд слушал на 80-ом порту, то при использовании директивы
<nobr>"proxy_preserve_host  on"</nobr> в заголовке "Host" указывался
также порт 80;
ошибка появилась в 0.1.14.
</para>
<para lang="en">
the directive <nobr>"proxy_preserve_host  on"</nobr> adds port 80
to the "Host" headers, if upstream listen on port 80;
bug appeared in 0.1.14.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если задать одинаковые пути в параметрах автоконфигурации
--http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH
или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH,
то происходил segmentation fault.
</para>
<para lang="en">
the same paths in autoconfiguration parameters
--http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
caused segmentation fault.
</para>
</change>

</changes>


<changes ver="0.1.14" date="18.01.2005">

<change type="feature">
<para lang="ru">
параметры автоконфигурации
--http-client-body-temp-path=PATH,
--http-proxy-temp-path=PATH
и --http-fastcgi-temp-path=PATH
</para>
<para lang="en">
the autoconfiguration directives:
--http-client-body-temp-path=PATH,
--http-proxy-temp-path=PATH,
and --http-fastcgi-temp-path=PATH
</para>
</change>

<change type="change">
<para lang="ru">
имя каталога с временными файлами, содержащие тело запроса клиента,
задаётся директивой client_body_temp_path,
по умолчанию &lt;prefix&gt;/client_body_temp.
</para>
<para lang="en">
the directory name for the temporary files with the client request body
is specified by directive client_body_temp_path,
by default it is &lt;prefix&gt;/client_body_temp.
</para>
</change>

<change type="feature">
<para lang="ru">
модуль ngx_http_fastcgi_module и директивы
fastcgi_pass,
fastcgi_root,
fastcgi_index,
fastcgi_params,
fastcgi_connect_timeout,
fastcgi_send_timeout,
fastcgi_read_timeout,
fastcgi_send_lowat,
fastcgi_header_buffer_size,
fastcgi_buffers,
fastcgi_busy_buffers_size,
fastcgi_temp_path,
fastcgi_max_temp_file_size,
fastcgi_temp_file_write_size,
fastcgi_next_upstream
и fastcgi_x_powered_by.

</para>
<para lang="en">
the ngx_http_fastcgi_module and the directives:
fastcgi_pass,
fastcgi_root,
fastcgi_index,
fastcgi_params,
fastcgi_connect_timeout,
fastcgi_send_timeout,
fastcgi_read_timeout,
fastcgi_send_lowat,
fastcgi_header_buffer_size,
fastcgi_buffers,
fastcgi_busy_buffers_size,
fastcgi_temp_path,
fastcgi_max_temp_file_size,
fastcgi_temp_file_write_size,
fastcgi_next_upstream,
and fastcgi_x_powered_by.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибка "[alert] zero size buf";
ошибка появилась в 0.1.3.
</para>
<para lang="en">
the "[alert] zero size buf" error;
bug appeared in 0.1.3.
</para>
</change>

<change type="change">
<para lang="ru">
в директиве proxy_pass нужно обязательно указывать URI после имени хоста.
</para>
<para lang="en">
the URI must be specified after the host name in the proxy_pass directive.
</para>
</change>

<change type="change">
<para lang="ru">
если в URI встречался символ %3F, то он считался началом строки аргументов.
</para>
<para lang="en">
the %3F symbol in the URI was considered as the argument string start.
</para>
</change>

<change type="feature">
<para lang="ru">
поддержка unix domain сoкетов в модуле ngx_http_proxy_module.
</para>
<para lang="en">
the unix domain sockets support in the ngx_http_proxy_module.
</para>
</change>

<change type="feature">
<para lang="ru">
директивы ssl_engine и ssl_ciphers.<br/>
Спасибо Сергею Скворцову за SSL-акселератор.
</para>
<para lang="en">
the ssl_engine and ssl_ciphers directives.<br/>
Thanks to Sergey Skvortsov for SSL-accelerator.
</para>
</change>

</changes>


<changes ver="0.1.13" date="21.12.2004">

<change type="feature">
<para lang="ru">
директивы server_names_hash и server_names_hash_threshold.
</para>
<para lang="en">
the server_names_hash and server_names_hash_threshold directives.
</para>
</change>

<change type="bugfix">
<para lang="ru">
имена *.domain.tld в директиве server_name не работали.
</para>
<para lang="en">
the *.domain.tld names in the server_name directive did not work.
</para>
</change>

<change type="bugfix">
<para lang="ru">
параметр лога %request_length записывал неверную длину.
</para>
<para lang="en">
the %request_length log parameter logged the incorrect length.
</para>
</change>

</changes>


<changes ver="0.1.12" date="06.12.2004">

<change type="feature">
<para lang="ru">
параметр лога %request_length.
</para>
<para lang="en">
the %request_length log parameter.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании /dev/poll, select и poll на платформах, где возможны
ложные срабатывания указанных методов, могли быть длительные задержки
при обработке запроса по keep-alive соединению.
Наблюдалось по крайней мере на Solaris с использованием /dev/poll.
</para>
<para lang="en">
when using the /dev/poll, select and poll on the platforms, where
these methods may do the false reports, there may be the long delay when
the request was passed via the keep-alive connection.
It may be at least on Solaris when using the /dev/poll.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива send_lowat игнорируется на Linux, так как Linux не поддерживает
опцию SO_SNDLOWAT.
</para>
<para lang="en">
the send_lowat directive is ignored on Linux because Linux does not support
the SO_SNDLOWAT option.
</para>
</change>

</changes>


<changes ver="0.1.11" date="02.12.2004">

<change type="feature">
<para lang="ru">
директива worker_priority.
</para>
<para lang="en">
the worker_priority directive.
</para>
</change>

<change type="change">
<para lang="ru">
под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу
ответа.
</para>
<para lang="en">
both tcp_nopush and tcp_nodelay directives affect the transferred response.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не вызывал initgroups().<br/>
Спасибо Андрею Ситникову и Андрею Нигматулину.
</para>
<para lang="en">
nginx did not call initgroups().<br/>
Thanks to Andrew Sitnikov and Andrei Nigmatulin.
</para>
</change>

<change type="change">
<para lang="ru">
ngx_http_auto_index_module теперь выдаёт размер файлов в байтах.
</para>
<para lang="en">
now the ngx_http_autoindex_module shows the file size in the bytes.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть
битый symlink.
</para>
<para lang="en">
the ngx_http_autoindex_module returned the 500 error if the broken symlink
was in a directory.
</para>
</change>

<change type="bugfix">
<para lang="ru">
файлы больше 4G не передавались с использованием sendfile.
</para>
<para lang="en">
the files bigger than 4G could not be transferred using sendfile.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если бэкенд резолвился в несколько адресов и при ожидании от него ответа
происходила ошибка, то процесс зацикливался.
</para>
<para lang="en">
if the backend was resolved to several backends and there was an error while
the response waiting then process may got caught in an endless loop.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании метода /dev/poll рабочий процесс мог завершиться
с сообщением "unknown cycle".
</para>
<para lang="en">
the worker process may exit with the "unknown cycle" message when the /dev/poll
method was used.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки "close() channel failed".
</para>
<para lang="en">
"close() channel failed" errors.
</para>
</change>

<change type="bugfix">
<para lang="ru">
автоматическое определение групп nobody и nogroup.
</para>
<para lang="en">
the autodetection of the "nobody" and "nogroup" groups.
</para>
</change>

<change type="bugfix">
<para lang="ru">
директива send_lowat не работала на Linux.
</para>
<para lang="en">
the send_lowat directive did not work on Linux.
</para>
</change>

<change type="bugfix">
<para lang="ru">
если в конфигурации не было раздела events, то происходил segmentation fault.
</para>
<para lang="en">
the segmentation fault occurred if there was no events section
in configuration.
</para>
</change>

<change type="bugfix">
<para lang="ru">
nginx не собирался под OpenBSD.
</para>
<para lang="en">
nginx could not be built on OpenBSD.
</para>
</change>

<change type="bugfix">
<para lang="ru">
двойные слэшы в "://" в URI превращались в ":/".
</para>
<para lang="en">
the double slashes in "://" in the URI were converted to ":/".
</para>
</change>

</changes>


<changes ver="0.1.10" date="26.11.2004">

<change type="bugfix">
<para lang="ru">
если в запросе без аргументов есть "//", "/./", "/../" или "%XX",
то терялся последний символ в строке запроса;
ошибка появилась в 0.1.9.
</para>
<para lang="en">
if the request without arguments contains "//", "/./", "/../" or "%XX"
then the lost character in the request line was lost;
bug appeared in 0.1.9.
</para>
</change>

<change type="bugfix">
<para lang="ru">
исправление в версии 0.1.9 для файлов больше 2G на Linux не работало.
</para>
<para lang="en">
the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
</para>
</change>

</changes>


<changes ver="0.1.9" date="25.11.2004">

<change type="bugfix">
<para lang="ru">
если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый
запрос передавался без аргументов.
</para>
<para lang="en">
the proxied request was sent without arguments if the request contains
"//", "/./", "/../" or "%XX".
</para>
</change>

<change type="bugfix">
<para lang="ru">
при сжатии больших ответов иногда они передавались не полностью.
</para>
<para lang="en">
the large compressed responses may be transferred not completely.
</para>
</change>

<change type="bugfix">
<para lang="ru">
не передавались файлы больше 2G на Linux, неподдерживающем sendfile64().
</para>
<para lang="en">
the files bigger than 2G was not transferred on Linux that does not support
sendfile64().
</para>
</change>

<change type="bugfix">
<para lang="ru">
на Linux при конфигурации сборки нужно было обязательно использовать
параметр --with-poll_module;
ошибка появилась в 0.1.8.
</para>
<para lang="en">
while the build configuration on Linux the --with-poll_module parameter
was required;
bug appeared in 0.1.8.
</para>
</change>

</changes>


<changes ver="0.1.8" date="20.11.2004">

<change type="bugfix">
<para lang="ru">
ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов.
</para>
<para lang="en">
in the ngx_http_autoindex_module if the long file names were in the listing.
</para>
</change>

<change type="feature">
<para lang="ru">
модификатор "^~" в директиве location.
</para>
<para lang="en">
the "^~" modifier in the location directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_max_temp_file_size.
</para>
<para lang="en">
the proxy_max_temp_file_size directive.
</para>
</change>

</changes>


<changes ver="0.1.7" date="12.11.2004">

<change type="bugfix">
<para lang="ru">
при использовании sendfile, если передаваемый файл менялся, то мог
произойти segmentation fault на FreeBSD;
ошибка появилась в 0.1.5.
</para>
<para lang="en">
on FreeBSD the segmentation fault may occur if the size of the transferred
file was changed;
bug appeared in 0.1.5.
</para>
</change>

</changes>


<changes ver="0.1.6" date="11.11.2004">

<change type="bugfix">
<para lang="ru">
при некоторых комбинациях директив location c регулярными выражениями
использовалась конфигурация не из того location.
</para>
<para lang="en">
some location directive combinations with the regular expressions caused
the wrong configuration choose.
</para>
</change>

</changes>


<changes ver="0.1.5" date="11.11.2004">

<change type="bugfix">
<para lang="ru">
на Solaris и Linux могло быть очень много сообщений "recvmsg() returned
not enough data".
</para>
<para lang="en">
on Solaris and Linux there may be too many "recvmsg() returned not enough data"
alerts.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в режиме прокси без использования sendfile на Solaris возникала
ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr>
На других платформах, не поддерживающих sendfile, процесс зацикливался.
</para>
<para lang="en">
there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
Solaris in proxy mode without sendfile. On other platforms that do not
support sendfile at all the process got caught in an endless loop.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании sendfile в режиме прокси на Solaris возникал
segmentation fault.
</para>
<para lang="en">
segmentation fault on Solaris in proxy mode and using sendfile.
</para>
</change>

<change type="bugfix">
<para lang="ru">
segmentation fault на Solaris.
</para>
<para lang="en">
segmentation fault on Solaris.
</para>
</change>

<change type="bugfix">
<para lang="ru">
обновление исполняемого файла на лету не работало на Linux.
</para>
<para lang="en">
on-line upgrade did not work on Linux.
</para>
</change>

<change type="bugfix">
<para lang="ru">
в списке файлов, выдаваемом модулем ngx_http_autoindex_module,
не перекодировались пробелы, кавычки и знаки процента.
</para>
<para lang="en">
the ngx_http_autoindex_module module did not escape the spaces,
the quotes, and the percent signs in the directory listing.
</para>
</change>

<change type="change">
<para lang="ru">
уменьшение операций копирования.
</para>
<para lang="en">
the decrease of the copy operations.
</para>
</change>

<change type="feature">
<para lang="ru">
директива userid_p3p.
</para>
<para lang="en">
the userid_p3p directive.
</para>
</change>

</changes>


<changes ver="0.1.4" date="26.10.2004">

<change type="bugfix">
<para lang="ru">
ошибка в модуле ngx_http_autoindex_module.
</para>
<para lang="en">
in the ngx_http_autoindex_module.
</para>
</change>

</changes>


<changes ver="0.1.3" date="25.10.2004">

<change type="feature">
<para lang="ru">
модуль ngx_http_autoindex_module и директива autoindex.
</para>
<para lang="en">
the ngx_http_autoindex_module and the autoindex directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива proxy_set_x_url.
</para>
<para lang="en">
the proxy_set_x_url directive.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль проксировании мог привести к зацикливанию, если не использовался
sendfile.
</para>
<para lang="en">
proxy module may get caught in an endless loop when sendfile is not used.
</para>
</change>

</changes>


<changes ver="0.1.2" date="21.10.2004">

<change type="feature">
<para lang="ru">
параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure.
</para>
<para lang="en">
the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
</para>
</change>

<change type="feature">
<para lang="ru">
директива server_name поддерживает *.domain.tld.
</para>
<para lang="en">
the server_name directive supports *.domain.tld.
</para>
</change>

<change type="bugfix">
<para lang="ru">
улучшена переносимость на неизвестные платформы.
</para>
<para lang="en">
the portability improvements.
</para>
</change>

<change type="bugfix">
<para lang="ru">
нельзя переконфигурировать nginx, если конфигурационный файл указан
в командной строке;
ошибка появилась в 0.1.1.
</para>
<para lang="en">
if configuration file was set in command line, the reconfiguration
was impossible;
bug appeared in 0.1.1.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль проксировании мог привести к зацикливанию, если не использовался
sendfile.
</para>
<para lang="en">
proxy module may get caught in an endless loop when sendfile is not used.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при использовании sendfile текст ответа не перекодировался
согласно директивам модуля charset;
ошибка появилась в 0.1.1.
</para>
<para lang="en">
with sendfile the response was not recoded according to the charset
module directives;
bug appeared in 0.1.1.
</para>
</change>

<change type="bugfix">
<para lang="ru">
очень редкая ошибка при обработке kqueue.
</para>
<para lang="en">
very seldom bug in the kqueue processing.
</para>
</change>

<change type="bugfix">
<para lang="ru">
модуль сжатия сжимал уже сжатые ответы, полученные при проксировании.
</para>
<para lang="en">
the gzip module compressed the proxied responses that was already compressed.
</para>
</change>

</changes>


<changes ver="0.1.1" date="11.10.2004">

<change type="feature">
<para lang="ru">
директива gzip_types.
</para>
<para lang="en">
the gzip_types directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива tcp_nodelay.
</para>
<para lang="en">
the tcp_nodelay directive.
</para>
</change>

<change type="feature">
<para lang="ru">
директива send_lowat работает не только на платформах, поддерживающих
kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT.
</para>
<para lang="en">
the send_lowat directive is working not only on OSes that support
kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
</para>
</change>

<change type="feature">
<para lang="ru">
эмуляция setproctitle() для Linux и Solaris.
</para>
<para lang="en">
the setproctitle() emulation for Linux and Solaris.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибка при переписывании заголовка "Location" при проксировании.
</para>
<para lang="en">
the "Location" header rewrite bug fixed while the proxing.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию.
</para>
<para lang="en">
the ngx_http_chunked_module module may get caught in an endless loop.
</para>
</change>

<change type="bugfix">
<para lang="ru">
ошибки в модуле /dev/poll.
</para>
<para lang="en">
the /dev/poll module bugs fixed.
</para>
</change>

<change type="bugfix">
<para lang="ru">
при проксировании и использовании временных файлов ответы портились.
</para>
<para lang="en">
the responses were corrupted when the temporary files were used
while the proxing.
</para>
</change>

<change type="bugfix">
<para lang="ru">
бэкенду передавались запросы с неперекодированными символами.
</para>
<para lang="en">
the unescaped requests were passed to the backend.
</para>
</change>

<change type="bugfix">
<para lang="ru">
на Linux 2.4 при конфигурации сборки нужно было обязательно использовать
параметр --with-poll_module.
</para>
<para lang="en">
while the build configuration on Linux 2.4 the --with-poll_module parameter
was required.
</para>
</change>

</changes>


<changes ver="0.1.0" date="04.10.2004">

<change>
<para lang="ru">
Первая публично доступная версия.
</para>
<para lang="en">
The first public version.
</para>
</change>

</changes>


</change_log>