view docs/xml/nginx/changes.xml @ 483:621229427cba release-0.1.16

nginx-0.1.16-RELEASE import *) Bugfix: if the response were transferred by chunks, then on the HEAD request the final chunk was issued. *) Bugfix: the "Connection: keep-alive" header were issued, even if the keepalive_timeout directive forbade the keep-alive use. *) Bugfix: the errors in the ngx_http_fastcgi_module caused the segmentation faults. *) Bugfix: the compressed response encrypted by SSL may not transferred complete. *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options, are not used for the unix domain sockets. *) Feature: the rewrite directive supports the arguments rewriting. *) Bugfix: the response code 400 was returned for the POST request with the "Content-Length: 0" header; the bug had appeared in 0.1.14.
author Igor Sysoev <igor@sysoev.ru>
date Tue, 25 Jan 2005 12:27:35 +0000
parents fd661d14a7fa
children 4ebe09b07e30
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.1.16" date="25.01.2005">

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

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

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

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

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

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

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

</changes>


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

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

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

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

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

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

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

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

</changes>


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

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

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

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

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

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

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

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

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

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

</changes>


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

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

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

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

</changes>


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

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

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

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

</changes>


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

</changes>


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

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

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

</changes>


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

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

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

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

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

</changes>


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

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

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

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

</changes>


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

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

</changes>


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

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

</changes>


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

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

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

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

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

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

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

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

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

</changes>


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

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

</changes>


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

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

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

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

</changes>


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

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

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

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

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

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

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

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

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

</changes>


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

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

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

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

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

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

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

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

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

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

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

</changes>


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

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

</changes>


</change_log>