diff CHANGES.ru @ 635:e67b227c8dbb default tip

Merge with current.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 25 Apr 2011 04:07:55 +0400
parents b4dcae568a2a
children
line wrap: on
line diff
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,4 +1,451 @@
 
+Изменения в nginx 1.0.0                                           12.04.2011
+
+    *) Исправление: cache manager мог нагружать процессор после 
+       переконфигурации.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: директива "image_filter crop" неправильно работала в 
+       сочетании с "image_filter rotate 180".
+
+    *) Исправление: директива "satisfy any" запрещала выдачу 
+       пользовательской страницы для 401 кода.
+
+
+Изменения в nginx 0.9.7                                           04.04.2011
+
+    *) Добавление: теперь соединения в состоянии keepalive могут быть 
+       закрыты преждевременно, если у воркера нет свободных соединений.
+       Спасибо Максиму Дунину.
+
+    *) Добавление: параметр rotate директивы image_filter.
+       Спасибо Adam Bocim.
+
+    *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass, 
+       scgi_pass или uwsgi_pass задан выражением и ссылается на описанный 
+       upstream.
+
+
+Изменения в nginx 0.9.6                                           21.03.2011
+
+    *) Добавление: директива map поддерживает регулярные выражения в 
+       качестве значения первого параметра.
+
+    *) Добавление: переменная $time_iso8601 для access_log.
+       Спасибо Michael Lustfield.
+
+
+Изменения в nginx 0.9.5                                           21.02.2011
+
+    *) Изменение: теперь по умолчанию nginx использует значение -1 для 
+       listen backlog на Linux.
+       Спасибо Андрею Нигматулину.
+
+    *) Добавление: параметр utf8 в директивах geoip_country и 
+       geoip_city.
+       Спасибо Денису Латыпову.
+
+    *) Исправление: исправление в умолчательной директиве proxy_redirect, 
+       если в директиве proxy_pass не был описан URI.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: директива error_page не работала с нестандартными 
+       кодами ошибок; ошибка появилась в 0.8.53.
+       Спасибо Максиму Дунину.
+
+
+Изменения в nginx 0.9.4                                           21.01.2011
+
+    *) Добавление: директива server_name поддерживает переменную $hostname.
+
+    *) Добавление: 494 код для ошибки "Request Header Too Large".
+
+
+Изменения в nginx 0.9.3                                           13.12.2010
+
+    *) Исправление: если для пары IPv6-адрес:порт описан только один 
+       сервер, то выделения в регулярных выражениях в директиве server_name 
+       не работали.
+
+    *) Исправление: nginx не собирался под Solaris; ошибка появилась в 
+       0.9.0.
+
+
+Изменения в nginx 0.9.2                                           06.12.2010
+
+    *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке 
+       запросе клиента.
+
+    *) Изменение: использование accept(), если accept4() не реализован; 
+       ошибка появилась в 0.9.0.
+
+    *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
+
+    *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
+       Спасибо Максиму Дунину.
+
+
+Изменения в nginx 0.9.1                                           30.11.2010
+
+    *) Исправление: директивы вида "return CODE message" не работали; 
+       ошибка появилась в 0.9.0.
+
+
+Изменения в nginx 0.9.0                                           29.11.2010
+
+    *) Добавление: директива keepalive_disable.
+
+    *) Добавление: директива map поддерживает переменные в качестве 
+       значения определяемой переменной.
+
+    *) Добавление: директива map поддерживает пустые строки в качестве 
+       значения первого параметра.
+
+    *) Добавление: директива map поддерживает выражения в первом параметре.
+
+    *) Добавление: страница руководства nginx(8).
+       Спасибо Сергею Осокину.
+
+    *) Добавление: поддержка accept4() в Linux.
+       Спасибо Simon Liu.
+
+    *) Изменение: устранение предупреждения линкера о "sys_errlist" и 
+       "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
+
+    *) Исправление: при использовании директивы auth_basic в рабочем 
+       процессе мог произойти segmentation fault.
+       Спасибо Михаилу Лалетину.
+
+    *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка 
+       появилась в 0.8.42.
+
+
+Изменения в nginx 0.8.53                                          18.10.2010
+
+    *) Добавление: теперь директива error_page позволяет менять код статуса 
+       у редиректа.
+
+    *) Добавление: директива gzip_disable поддерживает специальную маску 
+       degradation.
+
+    *) Исправление: при использовании файлового AIO могла происходить 
+       утечка сокетов.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: если в первом сервере не была описана директива listen 
+       и нигде явно не описан сервер по умолчанию, то сервером по умолчанию 
+       становился следующий сервер с директивой listen; ошибка появилась в 
+       0.8.21.
+
+
+Изменения в nginx 0.8.52                                          28.09.2010
+
+    *) Исправление: nginx использовал режим SSL для listen сокета, если для 
+       него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
+
+
+Изменения в nginx 0.8.51                                          27.09.2010
+
+    *) Изменение: директива secure_link_expires упразднена.
+
+    *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня 
+       alert на error.
+
+    *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать 
+       несколько раз.
+
+
+Изменения в nginx 0.8.50                                          02.09.2010
+
+    *) Добавление: директивы secure_link, secure_link_md5 и 
+       secure_link_expires модуля ngx_http_secure_link_module.
+
+    *) Добавление: ключ -q.
+       Спасибо Геннадию Махомеду.
+
+    *) Исправление: при использовании кэширования рабочие процессы и могли 
+       зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
+
+    *) Исправление: в директиве gzip_disable.
+       Спасибо Derrick Petzold.
+
+    *) Исправление: nginx/Windows не мог посылать сигналы stop, quit, 
+       reopen, reload процессу, запущенному в другой сессии.
+
+
+Изменения в nginx 0.8.49                                          09.08.2010
+
+    *) Добавление: директива image_filter_jpeg_quality поддерживает 
+       переменные.
+
+    *) Исправление: при использовании переменной $geoip_region_name в 
+       рабочем процессе мог произойти segmentation fault; ошибка появилась 
+       в 0.8.48.
+
+    *) Исправление: ошибки, перехваченные error_page, кэшировались только 
+       до следующего запроса; ошибка появилась в 0.8.48.
+
+
+Изменения в nginx 0.8.48                                          03.08.2010
+
+    *) Изменение: теперь по умолчанию директива server_name имеет значение 
+       пустое имя "".
+       Спасибо Геннадию Махомеду.
+
+    *) Изменение: теперь по умолчанию директива server_name_in_redirect 
+       имеет значение off.
+
+    *) Добавление: переменные $geoip_dma_code, $geoip_area_code и 
+       $geoip_region_name.
+       Спасибо Christine McGonagle.
+
+    *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и 
+       scgi_pass не наследовались в блоки limit_except.
+
+    *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses 
+       uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка 
+       появилась в 0.8.46.
+
+    *) Исправление: директива fastcgi_split_path_info неверно использовала 
+       выделения, если в выделения попадала только часть URI.
+       Спасибо Юрию Тарадаю и Frank Enderle.
+
+    *) Исправление: директива rewrite не экранировала символ ";" при 
+       копировании из URI в аргументы. 
+       Спасибо Daisuke Murase.
+
+    *) Исправление: модуль ngx_http_image_filter_module закрывал 
+       соединение, если изображение было больше размера image_filter_buffer.
+
+
+Изменения в nginx 0.8.47                                          28.07.2010
+
+    *) Исправление: переменная $request_time имела неверные значения для 
+       подзапросов.
+
+    *) Исправление: ошибки, перехваченные error_page, не кэшировались.
+
+    *) Исправление: если использовался параметр max_size, то cache manager 
+       мог зациклиться; ошибка появилась в 0.8.46.
+
+
+Изменения в nginx 0.8.46                                          19.07.2010
+
+    *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, 
+       uwsgi_no_cache и scgi_no_cache теперь влияют только на сохранение 
+       закэшированного ответа.
+
+    *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass, 
+       uwsgi_cache_bypass и scgi_cache_bypass.
+
+    *) Исправление: nginx не освобождал память в keys_zone кэшей в случае 
+       ошибки работы с бэкендом: память освобождалась только по истечении 
+       времени неактивности или при недостатке памяти.
+
+
+Изменения в nginx 0.8.45                                          13.07.2010
+
+    *) Добавление: улучшения в модуле ngx_http_xslt_filter.
+       Спасибо Laurence Rowe.
+
+    *) Исправление: ответ SSI модуля мог передаваться не полностью после 
+       команды include с параметром wait="yes"; ошибка появилась в 0.7.25. 
+       Спасибо Максиму Дунину.
+
+    *) Исправление: директива listen не поддерживала параметр setfib=0.
+
+
+Изменения в nginx 0.8.44                                          05.07.2010
+
+    *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в 
+       заголовке которых есть строка "Set-Cookie".
+
+    *) Добавление: директива listen поддерживает параметр setfib.
+       Спасибо Андрею Филонову.
+
+    *) Исправление: директива sub_filter могла изменять регистр букв при 
+       частичном совпадении.
+
+    *) Исправление: совместимость с HP/UX.
+
+    *) Исправление: совместимость с компилятором AIX xlC_r.
+
+    *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые 
+       запросы.
+       Спасибо Miroslaw Jaworski.
+
+
+Изменения в nginx 0.8.43                                          30.06.2010
+
+    *) Добавление: ускорение загрузки больших баз geo-диапазонов.
+
+    *) Исправление: перенаправление ошибки в "location /zero {return 204;}" 
+       без изменения кода ответа оставляло тело ошибки; ошибка появилась в 
+       0.8.42.
+
+    *) Исправление: nginx мог закрывать IPv6 listen сокет во время 
+       переконфигурации.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: переменную $uid_set можно использовать на любой стадии 
+       обработки запроса.
+
+
+Изменения в nginx 0.8.42                                          21.06.2010
+
+    *) Изменение: теперь nginx проверяет location'ы, заданные регулярными 
+       выражениями, если запрос полностью совпал с location'ом, заданным 
+       строкой префикса. Предыдущее поведение появилось в 0.7.1.
+
+    *) Добавление: модуль ngx_http_scgi_module.
+       Спасибо Manlio Perillo.
+
+    *) Добавление: в директиве return можно добавлять текст ответа.
+
+
+Изменения в nginx 0.8.41                                          15.06.2010
+
+    *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно 
+       при запросе файла с неверной кодировкой UTF-8.
+
+    *) Изменение: теперь nginx разрешает использовать пробелы в строке 
+       запроса.
+
+    *) Исправление: директива proxy_redirect неправильно изменяла строку 
+       "Refresh" в заголовке ответа бэкенда.
+       Спасибо Андрею Андрееву и Максиму Согину.
+
+    *) Исправление: nginx не поддерживал путь без имени хоста в строке 
+       "Destination" в заголовке запроса.
+
+
+Изменения в nginx 0.8.40                                          07.06.2010
+
+    *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по 
+       умолчанию.
+       Спасибо Jose Antonio Vazquez Gonzalez.
+
+    *) Добавление: модуль ngx_http_uwsgi_module.
+       Спасибо Roberto De Ioris.
+
+    *) Добавление: директива fastcgi_param со значением, начинающимся со 
+       строки "HTTP_", изменяет строку заголовка в запросе клиента.
+
+    *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в 
+       заголовке запроса клиента передавались FastCGI-серверу при 
+       кэшировании.
+
+    *) Исправление: listen unix domain сокет нельзя было изменить во время 
+       переконфигурации.
+       Спасибо Максиму Дунину.
+
+
+Изменения в nginx 0.8.39                                          31.05.2010
+
+    *) Исправление: наследуемая директива alias неправильно работала во 
+       вложенном location'е.
+
+    *) Исправление: в комбинации директив alias с переменными и try_files;
+
+    *) Исправление: listen unix domain и IPv6 сокеты не наследовались во 
+       время обновления без перерыва.
+       Спасибо Максиму Дунину.
+
+
+Изменения в nginx 0.8.38                                          24.05.2010
+
+    *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
+
+    *) Добавление: теперь при использовании переменной $scheme в директиве 
+       rewrite автоматически делается редирект.
+       Спасибо Piotr Sikora.
+
+    *) Исправление: теперь задержки в директиве limit_req соответствует 
+       описанному алгоритму.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: переменную $uid_got нельзя было использовать в SSI и 
+       перловом модулях.
+
+
+Изменения в nginx 0.8.37                                          17.05.2010
+
+    *) Добавление: модуль ngx_http_split_clients_module.
+
+    *) Добавление: директива map поддерживает ключи больше 255 символов.
+
+    *) Исправление: nginx игнорировал значения "private" и "no-store" в 
+       строке "Cache-Control" в заголовке ответа бэкенда.
+
+    *) Исправление: параметр stub в SSI-директиве include не использовался, 
+       если пустой ответ имел код 200.
+
+    *) Исправление: если проксированный или FastCGI запрос внутренне 
+       перенаправлялся в другой проксированный или FastCGI location, то в 
+       рабочем процессе мог произойти segmentation fault; ошибка появилась 
+       в 0.8.33.
+       Спасибо Yichun Zhang.
+
+    *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до 
+       таймаута.
+       Спасибо Alan Batie.
+
+
+Изменения в nginx 0.8.36                                          22.04.2010
+
+    *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал 
+       методы DELETE, COPY и MOVE для симлинков.
+
+    *) Исправление: модуль SSI в подзапросах использовал закэшированные в 
+       основном запросе значения переменных $query_string, $arg_... и им 
+       подобных.
+
+    *) Исправление: значение переменной повторно экранировалось после 
+       каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
+
+    *) Исправление: рабочий процесс зависал при запросе файла FIFO.
+       Спасибо Vicente Aguilar и Максиму Дунину.
+
+    *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: nginx не собирался с параметром --without-http-cache; 
+       ошибка появилась в 0.8.35.
+
+
+Изменения в nginx 0.8.35                                          01.04.2010
+
+    *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
+
+    *) Добавление: директива chunked_transfer_encoding.
+
+    *) Исправление: символ "&" при копировании в аргументы в правилах 
+       rewrite не экранировался.
+
+    *) Исправление: nginx мог завершаться аварийно во время обработки 
+       сигнала или при использовании директивы timer_resolution на 
+       платформах, не поддерживающих методы kqueue или eventport.
+       Спасибо George Xie и Максиму Дунину.
+
+    *) Исправление: если временные файлы и постоянное место хранения 
+       располагались на разных файловых системах, то у постоянных файлов 
+       время изменения было неверным.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку 
+       "memcached sent invalid trailer".
+       Спасибо Максиму Дунину.
+
+    *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных 
+       текстов.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: в рабочем процессе происходил segmentation fault, если 
+       перед ответом FastCGI-сервера было много вывода в stderr; ошибка 
+       появилась в 0.8.34.
+       Спасибо Максиму Дунину.
+
+
 Изменения в nginx 0.8.34                                          03.03.2010
 
     *) Исправление: nginx не поддерживал все шифры, используемые в 
@@ -11,7 +458,7 @@
     *) Исправление: nginx не поддерживал HTTPS-рефереры.
 
     *) Исправление: nginx/Windows мог не находить файлы, если путь в 
-       конфигурации был задан в другом регистре; ошибка появилась в 0.8.34.
+       конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
 
     *) Исправление: переменная $date_local выдавала неверное время, если 
        использовался формат "%s".
@@ -218,7 +665,7 @@
     *) Безопасность: теперь SSL/TLS renegotiation запрещён.
        Спасибо Максиму Дунину.
 
-    *) Исправление: listen unix domain сокет не наследовались во время 
+    *) Исправление: listen unix domain сокет не наследовался во время 
        обновления без перерыва.
 
     *) Исправление: параметр "unix:" в директиве set_real_ip_from не 
@@ -294,7 +741,7 @@
        --error-log-path; ошибка появилась в 0.7.53.
 
     *) Исправление: nginx не считал запятую разделителем в строке 
-       "Cache-Control" в строке заголовка бэкенда.
+       "Cache-Control" в заголовке ответа бэкенда.
 
     *) Исправление: nginx/Windows мог не создать временный файл, файл в 
        кэше или файл с помощью директив proxy/fastcgi_store, если рабочий 
@@ -328,7 +775,7 @@
 
     *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
 
-    *) Исправление: Теперь директива limit_req соответствует алгоритму 
+    *) Исправление: теперь директива limit_req соответствует алгоритму 
        leaky bucket.
        Спасибо Максиму Дунину.
 
@@ -1694,7 +2141,7 @@
 
     *) Исправление: nginx неверно определял длину строки кэша на 
        Pentium 4.
-       Спасибо Gena Makhomed.
+       Спасибо Геннадию Махомеду.
 
     *) Исправление: в проксированных подзапросах и подзапросах к 
        FastCGI-серверу вместо метода GET использовался оригинальный метод 
@@ -1962,7 +2409,7 @@
        Спасибо Андрею Нигматулину.
 
     *) Исправление: ngx_http_memcached_module не устанавливал 
-       upstream_response_time.
+       $upstream_response_time.
        Спасибо Максиму Дунину.
 
     *) Исправление: рабочий процесс мог зациклиться при использовании