diff CHANGES.ru @ 665:0b460e61bdcd default tip

Merge with nginx 1.0.0.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 25 Apr 2011 04:22:17 +0400
parents b4dcae568a2a
children
line wrap: on
line diff
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,4 +1,809 @@
 
+Изменения в 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 не поддерживал все шифры, используемые в 
+       клиентских сертификатах.
+       Спасибо Иннокентию Еникееву.
+
+    *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед 
+       ответом было много вывода в stderr.
+
+    *) Исправление: nginx не поддерживал HTTPS-рефереры.
+
+    *) Исправление: nginx/Windows мог не находить файлы, если путь в 
+       конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
+
+    *) Исправление: переменная $date_local выдавала неверное время, если 
+       использовался формат "%s".
+       Спасибо Максиму Дунину.
+
+    *) Исправление: если ssl_session_cache не был установлен или установлен 
+       в none, то при проверке клиентского сертификаты могла происходить 
+       ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
+
+    *) Исправление: geo-диапазон возвращал значение по умолчанию, если 
+       диапазон включал в себя одну и более сетей размером /16 и не 
+       начинался на границе сети размером /16.
+
+    *) Исправление: блок, используемый в параметре stub в SSI-директиве 
+       include, выводился с MIME-типом "text/plain".
+
+    *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
+
+
+Изменения в nginx 0.8.33                                          01.02.2010
+
+    *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI. 
+       Спасибо Dan Crowley, Core Security Technologies.
+
+    *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов. 
+       Спасибо Dan Crowley, Core Security Technologies.
+
+    *) Изменение: теперь keepalive соединения после запросов POST не 
+       запрещаются для MSIE 7.0+.
+       Спасибо Adam Lounds.
+
+    *) Изменение: теперь keepalive соединения запрещены для Safari.
+       Спасибо Joshua Sierles.
+
+    *) Исправление: если проксированный или FastCGI запрос внутренне 
+       перенаправлялся в другой проксированный или FastCGI location, то 
+       переменная $upstream_response_time могла иметь ненормально большое 
+       значение; ошибка появилась в 0.8.7.
+
+    *) Исправление: в рабочем процессе мог произойти segmentation fault при 
+       отбрасывания тела запроса; ошибка появилась в 0.8.11.
+
+
+Изменения в nginx 0.8.32                                          11.01.2010
+
+    *) Исправление: ошибки при использовании кодировки UTF-8 в 
+       ngx_http_autoindex_module.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: именованные выделения в регулярных выражениях работали 
+       только для двух переменных.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: теперь в строке заголовка запроса "Host" используется 
+       имя "localhost", если в директиве auth_http указан unix domain 
+       сокет.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых 
+       ответов.
+       Спасибо Julian Reich.
+
+    *) Исправление: если директива "expires modified" выставляла дату в 
+       прошлом, то в строке заголовка ответа "Cache-Control" выдавалось 
+       отрицательное число.
+       Спасибо Алексею Капранову.
+
+
+Изменения в nginx 0.8.31                                          23.12.2009
+
+    *) Добавление: теперь директива error_page может перенаправлять ответы 
+       со статусом 301 и 302.
+
+    *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и 
+       $geoip_longitude.
+       Спасибо Arvind Sundararajan.
+
+    *) Добавление: модуль ngx_http_image_filter_module теперь всегда 
+       удаляет EXIF и другие данные, если они занимают больше 5% в 
+       JPEG-файле.
+
+    *) Исправление: nginx закрывал соединение при запросе закэшированного 
+       ответа с пустым телом.
+       Спасибо Piotr Sikora.
+
+    *) Исправление: nginx мог не собираться gcc 4.x при использовании 
+       оптимизации -O2 и выше.
+       Спасибо Максиму Дунину и Денису Латыпову.
+
+    *) Исправление: регулярные выражения в location всегда тестировались с 
+       учётом регистра; ошибка появилась в 0.8.25.
+
+    *) Исправление: nginx кэшировал 304 ответ, если в заголовке 
+       проксируемого запроса была строка "If-None-Match".
+       Спасибо Tim Dettrick и David Kostal.
+
+    *) Исправление: nginx/Windows пытался дважды удалить временный файл при 
+       перезаписи уже существующего файла.
+
+
+Изменения в nginx 0.8.30                                          15.12.2009
+
+    *) Изменение: теперь по умолчанию размер буфера директивы 
+       large_client_header_buffers равен 8K.
+       Спасибо Andrew Cholakian.
+
+    *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
+
+    *) Исправление: nginx/Windows пытался дважды переименовать временный 
+       файл при перезаписи уже существующего файла.
+
+    *) Исправление: ошибки double free or corruption, возникающей, если имя 
+       хоста не было найдено; ошибка появилась в 0.8.22.
+       Спасибо Константину Свисту.
+
+    *) Исправление: в использовании libatomic на некоторых платформах.
+       Спасибо W-Mark Kubacki.
+
+
+Изменения в nginx 0.8.29                                          30.11.2009
+
+    *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется 
+       код ответа "009".
+
+    *) Добавление: директивы addition_types, charset_types, gzip_types, 
+       ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
+
+    *) Добавление: использование встроенных атомарных операций GCC 4.1+.
+       Спасибо W-Mark Kubacki.
+
+    *) Добавление: параметр --with-libatomic[=DIR] в configure.
+       Спасибо W-Mark Kubacki.
+
+    *) Исправление: listen unix domain сокет имели ограниченные права 
+       доступа.
+
+    *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно 
+       обрабатывались.
+
+    *) Исправление: именованные выделения в регулярных выражениях, заданные 
+       как "?P<...>", не работали в директиве server_name.
+       Спасибо Максиму Дунину.
+
+
+Изменения в nginx 0.8.28                                          23.11.2009
+
+    *) Исправление: nginx не собирался с параметром --without-pcre; ошибка 
+       появилась в 0.8.25.
+
+
+Изменения в nginx 0.8.27                                          17.11.2009
+
+    *) Исправление: регулярные выражения не работали в nginx/Windows; 
+       ошибка появилась в 0.8.25.
+
+
+Изменения в nginx 0.8.26                                          16.11.2009
+
+    *) Исправление: ошибки при использовании выделений в директиве rewrite; 
+       ошибка появилась в 0.8.25.
+
+    *) Исправление: nginx не собирался без параметра --with-debug; ошибка 
+       появилась в 0.8.25.
+
+
+Изменения в nginx 0.8.25                                          16.11.2009
+
+    *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная 
+       не найдена с помощью метода $r->variable().
+
+    *) Добавление: модуль ngx_http_degradation_module.
+
+    *) Добавление: именованные выделения в регулярных выражениях.
+
+    *) Добавление: теперь при использовании переменных в директиве 
+       proxy_pass не требуется задавать URI.
+
+    *) Добавление: теперь директива msie_padding работает и для Chrome.
+
+    *) Исправление: в рабочем процессе происходил segmentation fault при 
+       недостатке памяти; ошибка появилась в 0.8.18.
+
+    *) Исправление: nginx передавал сжатые ответы клиентам, не 
+       поддерживающим сжатие, при настройках gzip_static on и gzip_vary 
+       off; ошибка появилась в 0.8.16.
+
+
+Изменения в nginx 0.8.24                                          11.11.2009
+
+    *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в 
+       заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
+
+    *) Исправление: nginx не собирался без параметра --with-debug; ошибка 
+       появилась в 0.8.23.
+
+    *) Исправление: параметр "unix:" в директиве set_real_ip_from 
+       неправильно наследовался с предыдущего уровня.
+
+    *) Исправление: в resolver'е при определении пустого имени.
+
+
+Изменения в nginx 0.8.23                                          11.11.2009
+
+    *) Безопасность: теперь SSL/TLS renegotiation запрещён.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: listen unix domain сокет не наследовался во время 
+       обновления без перерыва.
+
+    *) Исправление: параметр "unix:" в директиве set_real_ip_from не 
+       работал без ещё одной директивы с любым IP-адресом.
+
+    *) Исправление: segmentation fault и зацикливания в resolver'е.
+
+    *) Исправление: в resolver'е.
+       Спасибо Артёму Бохану.
+
+
+Изменения в nginx 0.8.22                                          03.11.2009
+
+    *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
+
+    *) Добавление: директивы access и deny поддерживают IPv6.
+
+    *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в 
+       заголовках запроса.
+
+    *) Добавление: параметр "unix:" в директиве set_real_ip_from.
+
+    *) Исправление: nginx не удалял unix domain сокет после тестирования 
+       конфигурации.
+
+    *) Исправление: nginx удалял unix domain сокет во время обновления без 
+       перерыва.
+
+    *) Исправление: оператор "!-x" не работал.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: в рабочем процессе мог произойти segmentation fault при 
+       использовании limit_rate в HTTPS сервере.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: при записи в лог переменной $limit_rate в рабочем 
+       процессе происходил segmentation fault.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: в рабочем процессе мог произойти segmentation fault, 
+       если внутри блока server не было директивы listen; ошибка появилась 
+       в 0.8.21.
+
+
+Изменения в nginx 0.8.21                                          26.10.2009
+
+    *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
+
+    *) Добавление: директива listen модуля HTTP поддерживает unix domain 
+       сокеты.
+       Спасибо Hongli Lai.
+
+    *) Добавление: параметр "default_server" в директиве listen.
+
+    *) Добавление: теперь параметр "default" не обязателен для установки 
+       параметров listen-сокета.
+
+    *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных 
+       платформах;
+
+    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
+
+
+Изменения в nginx 0.8.20                                          14.10.2009
+
+    *) Изменение: теперь по умолчанию используются следующие шифры SSL: 
+       "HIGH:!ADH:!MD5".
+
+    *) Исправление: модуль ngx_http_autoindex_module не показывал последний 
+       слэш для линков на каталоги; ошибка появилась в 0.7.15.
+
+    *) Исправление: nginx не закрывал лог, заданный параметром конфигурации 
+       --error-log-path; ошибка появилась в 0.7.53.
+
+    *) Исправление: nginx не считал запятую разделителем в строке 
+       "Cache-Control" в заголовке ответа бэкенда.
+
+    *) Исправление: nginx/Windows мог не создать временный файл, файл в 
+       кэше или файл с помощью директив proxy/fastcgi_store, если рабочий 
+       процесс не имел достаточно прав для работы с каталогами верхнего 
+       уровня.
+
+    *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа 
+       FastCGI-сервера не скрывались при кэшировании, если не 
+       использовались директивы fastcgi_hide_header с любыми параметрами.
+
+    *) Исправление: nginx неверно считал размер кэша на диске.
+
+
+Изменения в nginx 0.8.19                                          06.10.2009
+
+    *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
+
+    *) Изменение: теперь по умолчанию используются следующие шифры SSL: 
+       "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
+
+    *) Исправление: директива limit_req не работала; ошибка появилась в 
+       0.8.18.
+
+
+Изменения в nginx 0.8.18                                          06.10.2009
+
+    *) Добавление: директива read_ahead.
+
+    *) Добавление: теперь можно использовать несколько директив 
+       perl_modules.
+
+    *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
+
+    *) Исправление: теперь директива limit_req соответствует алгоритму 
+       leaky bucket.
+       Спасибо Максиму Дунину.
+
+    *) Исправление: nginx не работал на Linux/sparc.
+       Спасибо Marcus Ramberg.
+
+    *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке 
+       в ответе на запрос MKCOL.
+       Спасибо Xie Zhenye.
+
+    *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка 
+       появилась в 0.8.11.
+
+    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
+
+
+Изменения в nginx 0.8.17                                          28.09.2009
+
+    *) Безопасность: теперь символы "/../" запрещены в строке "Destination" 
+       в заголовке запроса.
+
+    *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
+
+    *) Добавление: переменная $ssl_session_id.
+
+    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
+
+
 Изменения в nginx 0.8.16                                          22.09.2009
 
     *) Добавление: директива image_filter_transparency.
@@ -157,7 +962,7 @@
        Спасибо Максиму Дунину.
 
     *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в 
-       заголовке ответа бэкенда; ошибка появилась в 0.7.44
+       заголовке ответа бэкенда; ошибка появилась в 0.7.44.
        Спасибо Максиму Дунину.
 
     *) Исправление: ошибки "[alert] zero size buf" при получении пустых 
@@ -1336,7 +2141,7 @@
 
     *) Исправление: nginx неверно определял длину строки кэша на 
        Pentium 4.
-       Спасибо Gena Makhomed.
+       Спасибо Геннадию Махомеду.
 
     *) Исправление: в проксированных подзапросах и подзапросах к 
        FastCGI-серверу вместо метода GET использовался оригинальный метод 
@@ -1604,7 +2409,7 @@
        Спасибо Андрею Нигматулину.
 
     *) Исправление: ngx_http_memcached_module не устанавливал 
-       upstream_response_time.
+       $upstream_response_time.
        Спасибо Максиму Дунину.
 
     *) Исправление: рабочий процесс мог зациклиться при использовании