view CHANGES.ru @ 164:b922c231a392 NGINX_0_3_29

nginx 0.3.29 *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends many warnings before the response. *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in the 204 responses for the HTTP/1.1 requests. *) Bugfix: nginx returned the 502 response, if the complete response header lines were transferred in a separate FastCGI records. *) Bugfix: if the proxied URI was specified in the "post_action" directive, then it ran only after a successful completion of a request.
author Igor Sysoev <http://sysoev.ru>
date Mon, 20 Feb 2006 00:00:00 +0300
parents 6be073125f2e
children fef68f68bcfd
line wrap: on
line source


Изменения в nginx 0.3.29                                          20.02.2006

    *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме 
       FastCGI передаёт большое количество предупреждений перед ответом.

    *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась 
       строка заголовка "Transfer-Encoding: chunked".

    *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер 
       передавал полные строки заголовка ответа в отдельных FastCGI записях.

    *) Исправление: если в директиве post_action был указан проксируемый 
       URI, то он выполнялся только после успешного завершения запроса.


Изменения в nginx 0.3.28                                          16.02.2006

    *) Добавление: директива restrict_host_names упразднена.

    *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.

    *) Исправление: при некоторых условиях проксированное соединение с 
       клиентом завершалось преждевременно. Спасибо Владимиру Шутову.

    *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась 
       для запросов, перенаправленных с помощью строки "X-Accel-Redirect".

    *) Исправление: директива post_action работала только после успешного 
       завершения запроса.

    *) Исправление: тело проксированного ответа, создаваемого директивой 
       post_action, передавалось клиенту.


Изменения в nginx 0.3.27                                          08.02.2006

    *) Изменение: директивы variables_hash_max_size и 
       variables_hash_bucket_size.

    *) Добавление: переменная $body_bytes_sent доступна не только в 
       директиве log_format.

    *) Добавление: переменные $ssl_protocol и $ssl_cipher.

    *) Добавление: определение размера строки кэша распространённых 
       процессоров при старте.

    *) Добавление: директива accept_mutex теперь поддерживается посредством 
       fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.

    *) Добавление: директива lock_file и параметр автоконфигурации 
       --with-lock-path=PATH.

    *) Исправление: при использовании протокола HTTPS в директиве 
       proxy_pass не передавались запросы с телом.


Изменения в nginx 0.3.26                                          03.02.2006

    *) Изменение: директива optimize_host_names переименована в 
       optimize_server_names.

    *) Исправление: при проксировании подзапроса в SSI бэкенду передавался 
       URI основного запроса, если в директиве proxy_pass отсутствовал URI.


Изменения в nginx 0.3.25                                          01.02.2006

    *) Исправление: при неверной конфигурации на старте или во время 
       переконфигурации происходил segmentation fault; ошибка появилась в 
       0.3.24.


Изменения в nginx 0.3.24                                          01.02.2006

    *) Изменение: обход ошибки в kqueue во FreeBSD.

    *) Исправление: ответ, создаваемый директивой post_action, теперь не 
       передаётся клиенту.

    *) Исправление: при использовании большого количества лог-файлов 
       происходила утечка памяти.

    *) Исправление: внутри одного location работала только первая директива 
       proxy_redirect.

    *) Исправление: на 64-битных платформах при старте мог произойти 
       segmentation fault, если использовалось большое количество имён в 
       директивах server_name; ошибка появилась в 0.3.18.


Изменения в nginx 0.3.23                                          24.01.2006

    *) Добавление: директива optimize_host_names.

    *) Исправление: ошибки при использовании переменных в директивах path и 
       alias.

    *) Исправление: модуль ngx_http_perl_module неправильно собирался на 
       Linux и Solaris.


Изменения в nginx 0.3.22                                          17.01.2006

    *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args 
       и $r->unescape.

    *) Добавление: метод $r->query_string в модуле ngx_http_perl_module 
       упразднён.

    *) Исправление: если в директиве valid_referers указаны только none или 
       blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.


Изменения в nginx 0.3.21                                          16.01.2006

    *) Добавление: модуль ngx_http_perl_module.

    *) Изменение: директива valid_referers разрешает использовать рефереры 
       совсем без URI.


Изменения в nginx 0.3.20                                          11.01.2006

    *) Исправление: ошибки в обработке SSI.

    *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в 
       виде /uri?args.


Изменения в nginx 0.3.19                                          28.12.2005

    *) Добавление: директивы path и alias поддерживают переменные.

    *) Изменение: теперь директива valid_referers опять учитывает URI.

    *) Исправление: ошибки в обработке SSI.


Изменения в nginx 0.3.18                                          26.12.2005

    *) Добавление: директива server_names поддерживает имена вида 
       ".domain.tld".

    *) Добавление: директива server_names использует хэш для имён вида 
       "*.domain.tld" и более эффективный хэш для обычных имён.

    *) Изменение: директивы server_names_hash_max_size и 
       server_names_hash_bucket_size.

    *) Изменение: директивы server_names_hash и server_names_hash_threshold 
       упразднены.

    *) Добавление: директива valid_referers использует хэш для имён сайтов.

    *) Изменение: теперь директива valid_referers проверяет только имена 
       сайтов без учёта URI.

    *) Исправление: некоторые имена вида ".domain.tld" неверно 
       обрабатывались модулем ngx_http_map_module.

    *) Исправление: если конфигурационного файла не было, то происходил 
       segmentation fault; ошибка появилась в 0.3.12.

    *) Исправление: на 64-битных платформах при старте мог произойти 
       segmentation fault; ошибка появилась в 0.3.16.


Изменения в nginx 0.3.17                                          18.12.2005

    *) Изменение: на Linux configure теперь проверяет наличие epoll и 
       sendfile64() в ядре.

    *) Добавление: директива map поддерживает доменные имена в формате 
       ".domain.tld".

    *) Исправление: во время SSL handshake не иcпользовались таймауты; 
       ошибка появилась в 0.2.4.

    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.

    *) Исправление: при использовании протокола HTTPS в директиве 
       proxy_pass по умолчанию использовался порт 80.


Изменения в nginx 0.3.16                                          16.12.2005

    *) Добавление: модуль ngx_http_map_module.

    *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.

    *) Добавление: директива ssi_value_length.

    *) Добавление: директива worker_rlimit_core.

    *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для 
       Pentium 4 номер соединения в логах всегда был равен 1.

    *) Исправление: команда config timefmt в SSI задавала неверный формат 
       времени.

    *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при 
       использовании SSL соединений. Спасибо Rob Mueller. Ошибка появилась 
       в 0.3.13.

    *) Исправление: segmentation fault мог произойти во время SSL shutdown; 
       ошибка появилась в 0.3.13.


Изменения в nginx 0.3.15                                          07.12.2005

    *) Добавление: новой код 444 в директиве return для закрытия соединения.

    *) Добавление: директива so_keepalive в IMAP/POP3 прокси.

    *) Исправление: nginx теперь вызывает abort() при обнаружении 
       незакрытых соединений только при планом выходе и включённой 
       директиве debug_points.


Изменения в nginx 0.3.14                                          05.12.2005

    *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась 
       в 0.3.13.


Изменения в nginx 0.3.13                                          05.12.2005

    *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.

    *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и 
       /dev/poll.

    *) Исправление: ошибки в обработке SSI.

    *) Исправление: sendfilev() в Solaris теперь не используется при 
       передаче тела запроса FastCGI-серверу через unix domain сокет.

    *) Исправление: директива auth_basic не запрещала аутентификацию; 
       ошибка появилась в 0.3.11.


Изменения в nginx 0.3.12                                          26.11.2005

    *) Безопасность: если nginx был собран с модулем 
       ngx_http_realip_module, то при использовании директивы "satisfy_any 
       on" директивы доступа и аутентификации не работали. Модуль 
       ngx_http_realip_module не собирался и не собирается по умолчанию.

    *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".

    *) Изменение: директивы proxy_header_buffer_size и 
       fastcgi_header_buffer_size переименованы соответственно в 
       proxy_buffer_size и fastcgi_buffer_size.

    *) Добавление: модуль ngx_http_memcached_module.

    *) Добавление: директива proxy_buffering.

    *) Исправление: изменение в работе с accept mutex при использовании 
       метода rtsig; ошибка появилась в 0.3.0.

    *) Исправление: если клиент передал строку "Transfer-Encoding: chunked" 
       в заголовке запроса, то nginx теперь выдаёт ошибку 411.

    *) Исправление: при наследовании директивы auth_basic с уровня http в 
       строке "WWW-Authenticate" заголовка ответа выводился realm без 
       текста "Basic realm".

    *) Исправление: если в директиве access_log был явно указан формат 
       combined, то в лог записывались пустые строки; ошибка появилась в 
       0.3.8.

    *) Исправление: nginx не работал на платформе sparc под любыми OS, 
       кроме Solaris.

    *) Исправление: в директиве if теперь не нужно разделять пробелом 
       строку в кавычках и закрывающую скобку.


Изменения в nginx 0.3.11                                          15.11.2005

    *) Исправление: nginx не передавал при проксировании тело запроса и 
       строки заголовка клиента; ошибка появилась в 0.3.10.


Изменения в nginx 0.3.10                                          15.11.2005

    *) Изменение: директива valid_referers и переменная $invalid_referer 
       перенесены из модуля ngx_http_rewrite_module в новый модуль 
       ngx_http_referer_module.

    *) Изменение: имя переменной "$apache_bytes_sent" изменено на 
       "$body_bytes_sent".

    *) Добавление: переменные "$sent_http_...".

    *) Добавление: директива if поддерживает операции "=" и "!=".

    *) Добавление: директива proxy_pass поддерживает протокол HTTPS.

    *) Добавление: директива proxy_set_body.

    *) Добавление: директива post_action.

    *) Добавление: модуль ngx_http_empty_gif_module.

    *) Добавление: директива worker_cpu_affinity для Linux.

    *) Исправление: директива rewrite не раскодировала символы в редиректах 
       в URI, теперь символы раскодируются, кроме символов %00-%25 и 
       %7F-%FF.

    *) Исправление: nginx не собирался компилятором icc 9.0.

    *) Исправление: если для статического файла нулевого размера был 
       разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.


Изменения в nginx 0.3.9                                           10.11.2005

    *) Исправление: nginx считал небезопасными URI, в которых между двумя 
       слэшами находилось два любых символа; ошибка появилась в 0.3.8.


Изменения в nginx 0.3.8                                           09.11.2005

    *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в 
       строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на 
       наличие путей "/../" и нулей.

    *) Изменение: nginx теперь не воспринимает пустое имя как правильное в 
       строке "Authorization" в заголовке запроса.

    *) Добавление: директива ssl_session_timeout модулей 
       ngx_http_ssl_module и ngx_imap_ssl_module.

    *) Добавление: директива auth_http_header модуля 
       ngx_imap_auth_http_module.

    *) Добавление: директива add_header.

    *) Добавление: модуль ngx_http_realip_module.

    *) Добавление: новые переменные для использования в директиве 
       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" скоро будут 
       упразднены.

    *) Изменение: в директиве "if" ложными значениями переменных теперь 
       являются пустая строка "" и строки, начинающиеся на "0".

    *) Исправление: при работает с проксированными или FastCGI-серверами 
       nginx мог оставлять открытыми соединения и временные файлы с 
       запросами клиентов.

    *) Исправление: рабочие процессы не сбрасывали буферизированные логи 
       при плавном выходе.

    *) Исправление: если URI запроса изменялось с помощью rewrite, а затем 
       запрос проксировался в location, заданном регулярным выражением, то 
       бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.

    *) Исправление: директива expires не удаляла уже установленную строку 
       заголовка "Expires".

    *) Исправление: при использовании метода rtsig и нескольких рабочих 
       процессах nginx мог перестать принимать запросы.

    *) Исправление: в SSI командах неверно обрабатывались строки "\"" и 
       "\'".

    *) Исправление: если ответ заканчивался сразу же после SSI команды, то 
       при использовании сжатия ответ передавался не до конца или не 
       передавался вообще.


Изменения в nginx 0.3.7                                           27.10.2005

    *) Добавление: директива access_log поддерживает параметр buffer=.

    *) Исправление: nginx не собирался на платформах, отличных от i386, 
       amd64, sparc и ppc; ошибка появилась в 0.3.2.


Изменения в nginx 0.3.6                                           24.10.2005

    *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации 
       пустой логин.

    *) Добавление: директива log_format поддерживает переменные в виде 
       $name.

    *) Исправление: если хотя бы в одном сервере не было описано ни одной 
       директивы listen, то nginx не слушал на 80 порту; ошибка появилась в 
       0.3.3.

    *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда 
       использовался порт 80.


Изменения в nginx 0.3.5                                           21.10.2005

    *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то 
       мог произойти segmentation fault; ошибка появилась в 0.2.2.

    *) Исправление: accept mutex не работал, все соединения обрабатывались 
       одним рабочим процессом; ошибка появилась в 0.3.3.

    *) Исправление: при использовании метода rtsig и директивы 
       timer_resolution не работали таймауты.


Изменения в nginx 0.3.4                                           19.10.2005

    *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка 
       появилась в 0.3.3.


Изменения в nginx 0.3.3                                           19.10.2005

    *) Изменение: параметры "bl" и "af" директивы listen переименованы в 
       "backlog" и "accept_filter".

    *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.

    *) Изменение: параметр лога $msec теперь не требует дополнительного 
       системного вызова gettimeofday().

    *) Добавление: ключ -t теперь проверяет директивы listen.

    *) Исправление: если в директиве listen был указан неверный адрес, то 
       nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.

    *) Исправление: для индексных файлов, содержащих в имени переменную, 
       мог неверно выставляться тип mime по умолчанию; ошибка появилась в 
       0.3.0.

    *) Добавление: директива timer_resolution.

    *) Добавление: параметр лога $upstream_response_time в миллисекундах.

    *) Исправление: временный файл с телом запроса клиента теперь удаляется 
       сразу после того, как клиенту передан заголовок ответа.

    *) Исправление: совместимость с OpenSSL 0.9.6.

    *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть 
       относительными.

    *) Исправление: директива ssl_prefer_server_ciphers не работала для 
       модуля ngx_imap_ssl_module.

    *) Исправление: директива ssl_protocols позволяла задать только один 
       протокол.


Изменения в nginx 0.3.2                                           12.10.2005

    *) Добавление: поддержка Sun Studio 10 C compiler.

    *) Добавление: директивы proxy_upstream_max_fails, 
       proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и 
       fastcgi_upstream_fail_timeout.


Изменения в nginx 0.3.1                                           10.10.2005

    *) Исправление: во время переполнения очереди сигналов при 
       использовании метода rtsig происходил segmentation fault; ошибка 
       появилась в 0.2.0.

    *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.


Изменения в nginx 0.3.0                                           07.10.2005

    *) Изменение: убрано десятидневное ограничение времени работы рабочего 
       процесса. Ограничение было введено из-за переполнения миллисекундных 
       таймеров.


Изменения в nginx 0.2.6                                           05.10.2005

    *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к 
       бэкенду при использовании распределения нагрузки.

    *) Изменение: директива proxy_pass_unparsed_uri упразднена, 
       оригинальный запрос теперь передаётся, если в директиве proxy_pass 
       отсутствует URI.

    *) Добавление: директива error_page поддерживает редиректы и позволяет 
       более гибко менять код ошибки.

    *) Изменение: в проксированных подзапросах теперь игнорируется 
       переданный charset.

    *) Исправление: если после изменения URI в блоке if для запроса не 
       находилась новая конфигурация, то правила модуля 
       ngx_http_rewrite_module выполнялись снова.

    *) Исправление: если директива set устанавливала переменную модуля 
       ngx_http_geo_module в какой-либо части конфигурации, то эта 
       переменная не была доступна в других частях конфигурации и 
       выдавалась ошибка "using uninitialized variable"; ошибка появилась в 
       0.2.2.


Изменения в nginx 0.2.5                                           04.10.2005

    *) Изменение: дублирующее значение переменной модуля 
       ngx_http_geo_module теперь выдаёт предупреждение и изменяет старое 
       значение.

    *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.

    *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в 
       команде include.

    *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку 
       значений переменных в выражениях команды if.


Изменения в nginx 0.2.4                                           03.10.2005

    *) Добавление: модуль ngx_http_ssi_module поддерживает выражения 
       "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде 
       if.

    *) Исправление: ошибки при проксировании location без слэша в конце; 
       ошибка появилась в 0.1.44.

    *) Исправление: при использовании метода rtsig мог произойти 
       segmentation fault; ошибка появилась в 0.2.0.


Изменения в nginx 0.2.3                                           30.09.2005

    *) Исправление: nginx не собирался без параметра --with-debug; ошибка 
       появилась в 0.2.2.


Изменения в nginx 0.2.2                                           30.09.2005

    *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.

    *) Изменение: переменные модуля ngx_http_geo_module можно 
       переопределять директивой set.

    *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers 
       модулей ngx_http_ssl_module и ngx_imap_ssl_module.

    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 
       длинных имён файлов;

    *) Исправление: модуль ngx_http_autoindex_module теперь не показывает 
       файлы, начинающиеся на точку.

    *) Исправление: если SSL handshake завершался с ошибкой, то это могло 
       привести также к закрытию другого соединения. Спасибо Rob Mueller.

    *) Исправление: экспортные версии MSIE 5.x не могли соединиться по 
       HTTPS.


Изменения в nginx 0.2.1                                           23.09.2005

    *) Исправление: если все бэкенды, используемые для балансировки 
       нагрузки, оказывались в нерабочем состоянии после одной ошибки, то 
       nginx мог зациклится; ошибка появилась в 0.2.0.


Изменения в nginx 0.2.0                                           23.09.2005

    *) Изменились имена pid-файлов, используемые во время обновления 
       исполняемого файла. Ручное переименование теперь не нужно. Старый 
       основной процесс добавляет к своему pid-файл суффикс ".oldbin" и 
       запускает новый исполняемый файл. Новый основной процесс создаёт 
       обычный pid-файл без суффикса ".newbin". Если новый основной процесс 
       выходит, то старый процесс переименовывает свой pid-файл c суффиксом 
       ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до 
       0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый 
       0.2.0 - используют pid-файл без суффиксов.

    *) Изменение: директива worker_connections, новое название директивы 
       connections; директива теперь задаёт максимальное число соединений, 
       а не максимально возможный номер дескриптора для сокета.

    *) Добавление: SSL поддерживает кэширование сессий в пределах одного 
       рабочего процесса.

    *) Добавление: директива satisfy_any.

    *) Изменение: модули ngx_http_access_module и 
       ngx_http_auth_basic_module не работают для подзапросов.

    *) Добавление: директивы worker_rlimit_nofile и 
       worker_rlimit_sigpending.

    *) Исправление: если все бэкенды, используемые для балансировки 
       нагрузки, оказывались в нерабочем состоянии после одной ошибки, то 
       nginx не обращался к ним в течение 60 секунд.

    *) Исправление: в парсинге аргументов IMAP/POP3 команд. Спасибо Rob 
       Mueller.

    *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.

    *) Исправление: ошибки при использовании SSI и сжатия.

    *) Исправление: в ответах 304 не добавлялись строки заголовка ответа 
       "Expires" и "Cache-Control". Спасибо Александру Кукушкину.


Изменения в nginx 0.1.45                                          08.09.2005

    *) Изменение: директива ssl_engine упразднена в модуле 
       ngx_http_ssl_module и перенесена на глобальный уровень.

    *) Исправление: ответы с подзапросами, включённые с помощью SSI, не 
       передавались через SSL соединение.

    *) Разные исправления в IMAP/POP3 прокси.


Изменения в nginx 0.1.44                                          06.09.2005

    *) Добавление: IMAP/POP3 прокси поддерживает SSL.

    *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.

    *) Добавление: директива userid_mark.

    *) Добавление: значение переменной $remote_user определяется независимо 
       от того, используется ли авторизация или нет.


Изменения в nginx 0.1.43                                          30.08.2005

    *) Добавление: listen(2) backlog в директиве listen можно менять по 
       сигналу -HUP.

    *) Добавление: скрипт geo2nginx.pl добавлен в contrib.

    *) Изменение: параметры FastCGI с пустым значениями теперь передаются 
       серверу.

    *) Исправление: если в ответе проксированного сервера или FastCGI 
       сервера была строка "Cache-Control", то при использовании директивы 
       expires происходил segmentation fault или рабочий процесс мог 
       зациклится; в режиме прокси ошибка появилась в 0.1.29.


Изменения в nginx 0.1.42                                          23.08.2005

    *) Исправление: если URI запроса получался нулевой длины после 
       обработки модулем ngx_http_rewrite_module, то в модуле 
       ngx_http_proxy_module происходил segmentation fault или bus error.

    *) Исправление: директива limit_rate не работала внутри блока if; 
       ошибка появилась в 0.1.38.


Изменения в nginx 0.1.41                                          25.07.2005

    *) Исправление: если переменная использовалась в файле конфигурации, то 
       она не могла использоваться в SSI.


Изменения в nginx 0.1.40                                          22.07.2005

    *) Исправление: если клиент слал очень длинную строку заголовка, то в 
       логе не помещалась информация, связанная с этим запросом.

    *) Исправление: при использовании "X-Accel-Redirect" не передавалась 
       строка "Set-Cookie"; ошибка появилась в 0.1.39.

    *) Исправление: при использовании "X-Accel-Redirect" не передавалась 
       строка "Content-Disposition".

    *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты, 
       на которых он слушал.

    *) Исправление: после обновления исполняемого файла на лету на Linux и 
       Solaris название процесса в команде ps становилось короче.


Изменения в nginx 0.1.39                                          14.07.2005

    *) Изменения в модуле ngx_http_charset_module: директива 
       default_charset упразднена; директива charset задаёт кодировку 
       ответа; директива source_charset задаёт только исходную кодировку.

    *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда, 
       не передавалась строка заголовка "WWW-Authenticate".

    *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module 
       могли закрыть соединение до того, как что-нибудь было передано 
       клиенту; ошибка появилась в 0.1.38.

    *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.

    *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные 
       URI в команде include virtual.

    *) Исправление: если в строке заголовка ответа бэкенда была строка 
       "Location", которую nginx не должен был изменять, то в ответе 
       передавалось тело 500 ошибки; ошибка появилась в 0.1.29.

    *) Исправление: некоторые директивы модулей ngx_http_proxy_module и 
       ngx_http_fastcgi_module не наследовались с уровня server на уровень 
       location; ошибка появилась в 0.1.29.

    *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки 
       сертификатов.

    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 
       длинных имён файлов; ошибка появилась в 0.1.38.

    *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на 
       стадии login.


Изменения в nginx 0.1.38                                          08.07.2005

    *) Добавление: директива limit_rate поддерживается в режиме прокси и 
       FastCGI.

    *) Добавление: в режиме прокси и FastCGI поддерживается строка 
       заголовка "X-Accel-Limit-Rate" в ответе бэкенда.

    *) Добавление: директива break.

    *) Добавление: директива log_not_found.

    *) Исправление: при перенаправлении запроса с помощью строки заголовка 
       "X-Accel-Redirect" не изменялся код ответа.

    *) Исправление: переменные, установленные директивой set не могли 
       использоваться в SSI.

    *) Исправление: при включении в SSI более одного удалённого подзапроса 
       мог произойти segmentation fault.

    *) Исправление: если статусная строка в ответе бэкенда передавалась в 
       двух пакетах, то nginx считал ответ неверным; ошибка появилась в 
       0.1.29.

    *) Добавление: директива ssi_types.

    *) Добавление: директива autoindex_exact_size.

    *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные 
       имена файлов в UTF-8.

    *) Добавление: IMAP/POP3 прокси.


Изменения в nginx 0.1.37                                          23.06.2005

    *) Изменение: в конце файла nginx.pid теперь добавляется "\n".

    *) Исправление: при включении большого количества вставок или 
       нескольких больших вставок с помощью SSI ответ мог передаваться не 
       полностью.

    *) Исправление: если все бэкенды возвращали ответ 404, то при 
       использовании параметра http_404 в директивах proxy_next_upstream 
       или fastcgi_next_upstream, nginx начинал запрашивать все бэкенды 
       снова.


Изменения в nginx 0.1.36                                          15.06.2005

    *) Изменение: если в заголовке запросе есть дублирующиеся строки 
       "Host", "Connection", "Content-Length" и "Authorization", то nginx 
       теперь выдаёт ошибку 400.

    *) Изменение: директива post_accept_timeout упразднена.

    *) Добавление: параметры default, af=, bl=, deferred и bind в директиве 
       listen.

    *) Добавление: поддержка accept фильтров во FreeBSD.

    *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.

    *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена 
       файлов в UTF-8.

    *) Исправление: после добавления новый лог-файл ротация этого лога по 
       сигналу -USR1 выполнялась, только если переконфигурировать nginx два 
       раза по сигналу -HUP.


Изменения в nginx 0.1.35                                          07.06.2005

    *) Добавление: директива working_directory.

    *) Добавление: директива port_in_redirect.

    *) Исправление: если заголовок ответа бэкенда не помещался в один 
       пакет, то происходил segmentation fault; ошибка появилась в 0.1.29.

    *) Исправление: если было сконфигурировано более 10 серверов или в 
       сервере не описана директива "listen", то при запуске мог произойти 
       segmentation fault.

    *) Исправление: если ответ не помещался во временный файл, то мог 
       произойти segmentation fault.

    *) Исправление: nginx возвращал ошибку 400 на запросы вида 
       "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.


Изменения в nginx 0.1.34                                          26.05.2005

    *) Исправление: при включении больших ответов с помощью SSI рабочий 
       процесс мог зациклиться.

    *) Исправление: переменные, устанавливаемые директивой "set", не были 
       доступны в SSI.

    *) Добавление: директива autoindex_localtime.

    *) Исправление: пустое значение в директиве proxy_set_header запрещает 
       передачу заголовка.


Изменения в nginx 0.1.33                                          23.05.2005

    *) Исправление: nginx не собирался с параметром --without-pcre; ошибка 
       появилась в 0.1.29.

    *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне 
       вызывали bus fault при запуске.

    *) Исправление: в редиректах внутри HTTPS сервера был указан протокол 
       HTTP.

    *) Исправление: если директива rewrite использовала выделения внутри 
       директивы if, то возвращалась ошибка 500.


Изменения в nginx 0.1.32                                          19.05.2005

    *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, 
       не передавались аргументы; ошибка появилась в 0.1.29.

    *) Добавление: директива if поддерживает выделения в регулярных 
       выражениях.

    *) Добавление: директива set поддерживает переменные и выделения из 
       регулярных выражений.

    *) Добавление: в режиме прокси и FastCGI поддерживается строка 
       заголовка "X-Accel-Redirect" в ответе бэкенда.


Изменения в nginx 0.1.31                                          16.05.2005

    *) Исправление: при использовании SSL ответ мог передаваться не до 
       конца.

    *) Исправление: ошибки при обработке SSI в ответе, полученного от 
       FastCGI-сервера.

    *) Исправление: ошибки при использовании SSI и сжатия.

    *) Исправление: редирект с кодом 301 передавался без тела ответа; 
       ошибка появилась в 0.1.30.


Изменения в nginx 0.1.30                                          14.05.2005

    *) Исправление: при использовании SSI рабочий процесс мог зациклиться.

    *) Исправление: при использовании SSL ответ мог передаваться не до 
       конца.

    *) Исправление: если длина части ответа, полученного за один раз от 
       проксируемого или FastCGI сервера была равна 500 байт, то nginx 
       возвращал код ответа 500; в режиме прокси ошибка появилась только в 
       0.1.29.

    *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю 
       параметрами.

    *) Добавление: директива return может возвращать код ответа 204.

    *) Добавление: директива ignore_invalid_headers.


Изменения в nginx 0.1.29                                          12.05.2005

    *) Добавление: модуль ngx_http_ssi_module поддерживает команду include 
       virtual.

    *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду 
       вида 'if expr="$NAME"' и команды else и endif. Допускается только 
       один уровень вложенности.

    *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные 
       DATE_LOCAL и DATE_GMT и команду config timefmt.

    *) Добавление: директива ssi_ignore_recycled_buffers.

    *) Исправление: если переменная QUERY_STRING не была определена, то в 
       команде echo не ставилось значение по умолчанию.

    *) Изменение: модуль ngx_http_proxy_module полностью переписан.

    *) Добавление: директивы proxy_redirect, proxy_pass_request_headers, 
       proxy_pass_request_body и proxy_method.

    *) Добавление: директива proxy_set_header. Директива proxy_x_var 
       упразднена и должна быть заменена директивой proxy_set_header.

    *) Изменение: директива proxy_preserve_host упразднена и должна быть 
       заменена директивами "proxy_set_header Host $host" и "proxy_redirect 
       off" или директивой "proxy_set_header Host $host:$proxy_port" и 
       соответствующими ей директивами proxy_redirect.

    *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть 
       заменена директивой "proxy_set_header X-Real-IP $remote_addr".

    *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна 
       быть заменена директивой 
       "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".

    *) Изменение: директива proxy_set_x_url упразднена и должна быть 
       заменена директивой 
       "proxy_set_header X-URL http://$host:$server_port$request_uri".

    *) Добавление: директива fastcgi_param.

    *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params 
       упразднены и должны быть замены директивами fastcgi_param.

    *) Добавление: директива index может использовать переменные.

    *) Добавление: директива index может быть указана на уровне http и 
       server.

    *) Изменение: только последний параметр в директиве index может быть 
       абсолютным.

    *) Добавление: в директиве rewrite могут использоваться переменные.

    *) Добавление: директива internal.

    *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, 
       SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, 
       SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.

    *) Изменение: nginx теперь передаёт неверные строки в заголовках 
       запроса клиента и ответа бэкенда.

    *) Исправление: если бэкенд долго не передавал ответ и send_timeout был 
       меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.

    *) Исправление: если бэкенд передавал неверную строку в заголовке 
       ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.

    *) Исправление: при использовании отказоустойчивой конфигурации в 
       FastCGI мог происходить segmentation fault.

    *) Исправление: директива expires не удаляла уже установленные строки 
       заголовка "Expires" и "Cache-Control".

    *) Исправление: nginx не учитывал завершающую точку в строке заголовка 
       запроса "Host".

    *) Исправление: модуль ngx_http_auth_module не работал на Linux.

    *) Исправление: директива rewrite неверно работала, если в запросе 
       присутствовали аргументы.

    *) Исправление: nginx не собирался на MacOS X.


Изменения в nginx 0.1.28                                          08.04.2005

    *) Исправление: при проксировании больших файлов nginx сильно нагружал 
       процессор.

    *) Исправление: nginx не собирался gcc 4.0 на Linux.


Изменения в nginx 0.1.27                                          28.03.2005

    *) Добавление: параметр blocked в директиве valid_referers.

    *) Изменение: ошибки обработки заголовка запроса теперь записываются на 
       уровне info, в лог также записывается имя сервера и строки заголовка 
       запроса "Host" и "Referer".

    *) Изменение: при записи ошибок в лог записывается также строка 
       заголовка запроса "Host".

    *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка 
       символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.

    *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан 
       параметр конфигурации --without-ngx_http_auth_basic_module.


Изменения в nginx 0.1.26                                          22.03.2005

    *) Изменение: неверные строки заголовка, переданные клиентом, теперь 
       игнорируется и записываются в error_log на уровне info.

    *) Изменение: при записи ошибок в лог записывается также имя сервера, 
       при обращении к которому произошла ошибка.

    *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic 
       и auth_basic_user_file.


Изменения в nginx 0.1.25                                          19.03.2005

    *) Исправление: nginx не работал на Linux parisc.

    *) Добавление: nginx теперь не запускается под FreeBSD, если значение 
       sysctl kern.ipc.somaxconn слишком большое.

    *) Исправление: если модуль ngx_http_index_module делал внутреннее 
       перенаправление запроса в модули ngx_http_proxy_module или 
       ngx_http_fastcgi_module, то файл индекса не закрывался после 
       обслуживания запроса.

    *) Добавление: директива proxy_pass может использоваться в location, 
       заданных регулярным выражением.

    *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает 
       условия вида "if ($HTTP_USER_AGENT ~ MSIE)".

    *) Исправление: nginx очень медленно запускался при большом количестве 
       адресов и использовании текстовых значений в директиве geo.

    *) Изменение: имя переменной в директиве geo нужно указывать, как 
       $name. Прежний вариант без "$" пока работает, но вскоре будет убран.

    *) Добавление: параметр лога "%{VARIABLE}v".

    *) Добавление: директива "set $name value".

    *) Исправление: совместимость с gcc 4.0.

    *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.


Изменения в nginx 0.1.24                                          04.03.2005

    *) Добавление: модуль ngx_http_ssi_filter_module поддерживает 
       переменные QUERY_STRING и DOCUMENT_URI.

    *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404 
       на существующий каталог, если этот каталог был указан как alias.

    *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал 
       при больших ответах.

    *) Исправление: отсутствие строки заголовка "Referer" всегда считалось 
       правильным referrer'ом.


Изменения в nginx 0.1.23                                          01.03.2005

    *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi, 
       ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo 
       var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.

    *) Добавление: параметр лога %request_time.

    *) Добавление: если запрос пришёл без строки заголовка "Host", то 
       директива proxy_preserve_host устанавливает в качестве этого 
       заголовка первое имя сервера из директивы server_name.

    *) Исправление: nginx не собирался на платформах, отличных от i386, 
       amd64, sparc и ppc; ошибка появилась в 0.1.22.

    *) Исправление: модуль ngx_http_autoindex_module теперь показывает 
       информацию не о символическом линке, а о файле или каталоге, на 
       который он указывает.

    *) Исправление: если клиенту ничего не передавалось, то параметр 
       %apache_length записывал в лог отрицательную длину заголовка ответа.


Изменения в nginx 0.1.22                                          22.02.2005

    *) Исправление: модуль ngx_http_stub_status_module показывал неверную 
       статистику для обработанных соединений, если использовалось 
       проксирование или FastCGI-сервер.

    *) Исправление: на Linux и Solaris установочные пути были неверно 
       заключены в кавычки; ошибка появилась в 0.1.21.


Изменения в nginx 0.1.21                                          22.02.2005

    *) Исправление: модуль ngx_http_stub_status_module показывал неверную 
       статистику при использовании метода rtsig или при использовании 
       нескольких рабочих процессов на SMP машине.

    *) Исправление: nginx не собирался компилятором icc под Линуксом или 
       если библиотека zlib-1.2.x собиралась из исходных текстов.

    *) Исправление: nginx не собирался под NetBSD 2.0.


Изменения в nginx 0.1.20                                          17.02.2005

    *) Добавление: новые параметры script_filename и remote_port в 
       директиве fastcgi_params.

    *) Исправление: неправильно обрабатывался поток stderr от 
       FastCGI-сервера.


Изменения в nginx 0.1.19                                          16.02.2005

    *) Исправление: если в запросе есть нуль, то для локальных запросов 
       теперь возвращается ошибка 404.

    *) Исправление: nginx не собирался под NetBSD 2.0.

    *) Исправление: во время чтения тела запроса клиента в SSL соединении 
       мог произойти таймаут.


Изменения в nginx 0.1.18                                          09.02.2005

    *) Изменение: для совместимости с Solaris 10 в директивах 
       devpoll_events и devpoll_changes значения по умолчанию уменьшены с 
       512 до 32.

    *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не 
       наследовались.

    *) Исправление: в директиве rewrite, возвращающей редирект, аргументы 
       присоединялись к URI через символ "&" вместо "?".

    *) Исправление: строки для модуля ngx_http_geo_module без символа ";" 
       во включённом файле игнорировались.

    *) Добавление: модуль ngx_http_stub_status_module.

    *) Исправление: неизвестный формат лог-файла в директиве access_log 
       вызывал segmentation fault.

    *) Добавление: новый параметр document_root в директиве fastcgi_params.

    *) Добавление: директива fastcgi_redirect_errors.

    *) Добавление: новый модификатор break в директиве rewrite позволяет 
       прекратить цикл rewrite/location и устанавливает текущую 
       конфигурацию для запроса.


Изменения в nginx 0.1.17                                          03.02.2005

    *) Изменение: модуль ngx_http_rewrite_module полностью переписан. 
       Теперь можно делать редиректы, возвращать коды ошибок и проверять 
       переменные и рефереры. Эти директивы можно использовать внутри 
       location. Директива redirect упразднена.

    *) Добавление: модуль ngx_http_geo_module.

    *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.

    *) Исправление: конфигурация location с модификатором "=" могла 
       использоваться в другом location.

    *) Исправление: правильный тип ответа выставлялся только для запросов, 
       у которых в расширении были только маленькие буквы.

    *) Исправление: если для location установлен proxy_pass или 
       fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась 
       на статическую страницу, то происходил segmentation fault.

    *) Исправление: если в проксированном ответе в заголовке "Location" 
       передавался относительный URL, то к нему добавлялось имя хоста и 
       слэш; ошибка появилась в 0.1.14.

    *) Исправление: на Linux в лог не записывался текст системной ошибки.


Изменения в nginx 0.1.16                                          25.01.2005

    *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD 
       выдавался завершающий chunk.

    *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если 
       директива keepalive_timeout запрещала использование keep-alive.

    *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали 
       segmentation fault.

    *) Исправление: при использовании SSL сжатый ответ мог передаваться не 
       до конца.

    *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные 
       для TCP сокетов, не используются для unix domain сокетов.

    *) Добавление: директива rewrite поддерживает перезаписывание 
       аргументов.

    *) Исправление: на запрос POST с заголовком "Content-Length: 0" 
       возвращался ответ 400; ошибка появилась в 0.1.14.


Изменения в nginx 0.1.15                                          19.01.2005

    *) Исправление: ошибка соединения с FastCGI-сервером вызывала 
       segmentation fault.

    *) Исправление: корректная обработка регулярного выражения, в котором 
       число выделенных частей не совпадает с числом подстановок.

    *) Добавление: location, который передаётся FastCGI-серверу, может быть 
       задан с помощью регулярного выражения.

    *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с 
       аргументами и в том виде, в котором был получен от клиента.

    *) Исправление: для использования регулярных выражений в location нужно 
       было собирать nginx вместе с ngx_http_rewrite_module.

    *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании 
       директивы "proxy_preserve_host  on" в заголовке "Host" указывался 
       также порт 80; ошибка появилась в 0.1.14.

    *) Исправление: если задать одинаковые пути в параметрах 
       автоконфигурации --http-client-body-temp-path=PATH и 
       --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и 
       --http-fastcgi-temp-path=PATH, то происходил segmentation fault.


Изменения в nginx 0.1.14                                          18.01.2005

    *) Добавление: параметры автоконфигурации 
       --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и 
       --http-fastcgi-temp-path=PATH

    *) Изменение: имя каталога с временными файлами, содержащие тело 
       запроса клиента, задаётся директивой client_body_temp_path, по 
       умолчанию <prefix>/client_body_temp.

    *) Добавление: модуль 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.

    *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в 
       0.1.3.

    *) Изменение: в директиве proxy_pass нужно обязательно указывать URI 
       после имени хоста.

    *) Изменение: если в URI встречался символ %3F, то он считался началом 
       строки аргументов.

    *) Добавление: поддержка unix domain сoкетов в модуле 
       ngx_http_proxy_module.

    *) Добавление: директивы ssl_engine и ssl_ciphers.
       Спасибо Сергею Скворцову за SSL-акселератор.


Изменения в nginx 0.1.13                                          21.12.2004

    *) Добавление: директивы server_names_hash и 
       server_names_hash_threshold.

    *) Исправление: имена *.domain.tld в директиве server_name не работали.

    *) Исправление: параметр лога %request_length записывал неверную длину.


Изменения в nginx 0.1.12                                          06.12.2004

    *) Добавление: параметр лога %request_length.

    *) Исправление: при использовании /dev/poll, select и poll на 
       платформах, где возможны ложные срабатывания указанных методов, 
       могли быть длительные задержки при обработке запроса по keep-alive 
       соединению. Наблюдалось по крайней мере на Solaris с использованием 
       /dev/poll.

    *) Исправление: директива send_lowat игнорируется на Linux, так как 
       Linux не поддерживает опцию SO_SNDLOWAT.


Изменения в nginx 0.1.11                                          02.12.2004

    *) Добавление: директива worker_priority.

    *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе 
       влияют на передачу ответа.

    *) Исправление: nginx не вызывал initgroups().
       Спасибо Андрею Ситникову и Андрею Нигматулину.

    *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в 
       байтах.

    *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в 
       каталоге есть битый symlink.

    *) Исправление: файлы больше 4G не передавались с использованием 
       sendfile.

    *) Исправление: если бэкенд резолвился в несколько адресов и при 
       ожидании от него ответа происходила ошибка, то процесс зацикливался.

    *) Исправление: при использовании метода /dev/poll рабочий процесс мог 
       завершиться с сообщением "unknown cycle".

    *) Исправление: ошибки "close() channel failed".

    *) Исправление: автоматическое определение групп nobody и nogroup.

    *) Исправление: директива send_lowat не работала на Linux.

    *) Исправление: если в конфигурации не было раздела events, то 
       происходил segmentation fault.

    *) Исправление: nginx не собирался под OpenBSD.

    *) Исправление: двойные слэшы в "://" в URI превращались в ":/".


Изменения в nginx 0.1.10                                          26.11.2004

    *) Исправление: если в запросе без аргументов есть "//", "/./", "/../" 
       или "%XX", то терялся последний символ в строке запроса; ошибка 
       появилась в 0.1.9.

    *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на 
       Linux не работало.


Изменения в nginx 0.1.9                                           25.11.2004

    *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то 
       проксируемый запрос передавался без аргументов.

    *) Исправление: при сжатии больших ответов иногда они передавались не 
       полностью.

    *) Исправление: не передавались файлы больше 2G на Linux, 
       неподдерживающем sendfile64().

    *) Исправление: на Linux при конфигурации сборки нужно было обязательно 
       использовать параметр --with-poll_module; ошибка появилась в 0.1.8.


Изменения в nginx 0.1.8                                           20.11.2004

    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 
       длинных имён файлов.

    *) Добавление: модификатор "^~" в директиве location.

    *) Добавление: директива proxy_max_temp_file_size.


Изменения в nginx 0.1.7                                           12.11.2004

    *) Исправление: при использовании sendfile, если передаваемый файл 
       менялся, то мог произойти segmentation fault на FreeBSD; ошибка 
       появилась в 0.1.5.


Изменения в nginx 0.1.6                                           11.11.2004

    *) Исправление: при некоторых комбинациях директив location c 
       регулярными выражениями использовалась конфигурация не из того 
       location.


Изменения в nginx 0.1.5                                           11.11.2004

    *) Исправление: на Solaris и Linux могло быть очень много сообщений 
       "recvmsg() returned not enough data".

    *) Исправление: в режиме прокси без использования sendfile на Solaris 
       возникала ошибка "writev() failed (22: Invalid argument)". На других 
       платформах, не поддерживающих sendfile, процесс зацикливался.

    *) Исправление: при использовании sendfile в режиме прокси на Solaris 
       возникал segmentation fault.

    *) Исправление: segmentation fault на Solaris.

    *) Исправление: обновление исполняемого файла на лету не работало на 
       Linux.

    *) Исправление: в списке файлов, выдаваемом модулем 
       ngx_http_autoindex_module, не перекодировались пробелы, кавычки и 
       знаки процента.

    *) Изменение: уменьшение операций копирования.

    *) Добавление: директива userid_p3p.


Изменения в nginx 0.1.4                                           26.10.2004

    *) Исправление: ошибка в модуле ngx_http_autoindex_module.


Изменения в nginx 0.1.3                                           25.10.2004

    *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.

    *) Добавление: директива proxy_set_x_url.

    *) Исправление: модуль проксировании мог привести к зацикливанию, если 
       не использовался sendfile.


Изменения в nginx 0.1.2                                           21.10.2004

    *) Добавление: параметры --user=USER, --group=GROUP и 
       --with-ld-opt=OPTIONS в configure.

    *) Добавление: директива server_name поддерживает *.domain.tld.

    *) Исправление: улучшена переносимость на неизвестные платформы.

    *) Исправление: нельзя переконфигурировать nginx, если конфигурационный 
       файл указан в командной строке; ошибка появилась в 0.1.1.

    *) Исправление: модуль проксировании мог привести к зацикливанию, если 
       не использовался sendfile.

    *) Исправление: при использовании sendfile текст ответа не 
       перекодировался согласно директивам модуля charset; ошибка появилась 
       в 0.1.1.

    *) Исправление: очень редкая ошибка при обработке kqueue.

    *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при 
       проксировании.


Изменения в nginx 0.1.1                                           11.10.2004

    *) Добавление: директива gzip_types.

    *) Добавление: директива tcp_nodelay.

    *) Добавление: директива send_lowat работает не только на платформах, 
       поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих 
       SO_SNDLOWAT.

    *) Добавление: эмуляция setproctitle() для Linux и Solaris.

    *) Исправление: ошибка при переписывании заголовка "Location" при 
       проксировании.

    *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к 
       зацикливанию.

    *) Исправление: ошибки в модуле /dev/poll.

    *) Исправление: при проксировании и использовании временных файлов 
       ответы портились.

    *) Исправление: бэкенду передавались запросы с неперекодированными 
       символами.

    *) Исправление: на Linux 2.4 при конфигурации сборки нужно было 
       обязательно использовать параметр --with-poll_module.


Изменения в nginx 0.1.0                                           04.10.2004

    *) Первая публично доступная версия.