Back to home page

Nginx displayed by LXR

Source navigation ]
Diff markup ]
Identifier search ]
general search ]
 
 
Version: nginx-1.13.12 ]​[ nginx-1.12.2 ]​

0001 
0002 Изменения в nginx 1.13.12                                         10.04.2018
0003 
0004     *) Исправление: при возврате большого ответа соединения с gRPC-бэкендами
0005        могли неожиданно закрываться.
0006 
0007 
0008 Изменения в nginx 1.13.11                                         03.04.2018
0009 
0010     *) Добавление: параметр proxy_protocol директивы listen теперь
0011        поддерживает протокол PROXY версии 2.
0012 
0013     *) Исправление: nginx не собирался с OpenSSL 1.1.1 статически на Linux.
0014 
0015     *) Исправление: в параметрах http_404, http_500 и им подобных директивы
0016        proxy_next_upstream.
0017 
0018 
0019 Изменения в nginx 1.13.10                                         20.03.2018
0020 
0021     *) Добавление: теперь параметр set в SSI-директиве include позволяет
0022        сохранять в переменную любые ответы; максимальный размер ответа
0023        задаётся директивой subrequest_output_buffer_size.
0024 
0025     *) Добавление: теперь nginx использует вызов
0026        clock_gettime(CLOCK_MONOTONIC), если он доступен, что позволяет
0027        избежать некорректного срабатывания таймаутов при изменениях
0028        системного времени.
0029 
0030     *) Добавление: параметр "escape=none" директивы log_format.
0031        Спасибо Johannes Baiter и Calin Don.
0032 
0033     *) Добавление: переменная $ssl_preread_alpn_protocols в модуле
0034        ngx_stream_ssl_preread_module.
0035 
0036     *) Добавление: модуль ngx_http_grpc_module.
0037 
0038     *) Исправление: в обработке ошибок выделения памяти в директиве geo.
0039 
0040     *) Исправление: при использовании переменных в директиве
0041        auth_basic_user_file в лог мог выводиться символ '\0'.
0042        Спасибо Вадиму Филимонову.
0043 
0044 
0045 Изменения в nginx 1.13.9                                          20.02.2018
0046 
0047     *) Добавление: поддержка HTTP/2 server push; директивы http2_push и
0048        http2_push_preload.
0049 
0050     *) Исправление: при использовании кэша в логах могли появляться
0051        сообщения "header already sent"; ошибка появилась в 1.9.13.
0052 
0053     *) Исправление: при использовании директивы ssl_verify_client в рабочем
0054        процессе мог произойти segmentation fault, если в виртуальном сервере
0055        не был указан SSL-сертификат.
0056 
0057     *) Исправление: в модуле ngx_http_v2_module.
0058 
0059     *) Исправление: в модуле ngx_http_dav_module.
0060 
0061 
0062 Изменения в nginx 1.13.8                                          26.12.2017
0063 
0064     *) Добавление: теперь при использовании параметра transparent директив
0065        proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
0066        nginx автоматически сохраняет capability CAP_NET_RAW в рабочих
0067        процессах.
0068 
0069     *) Добавление: улучшения в определении размера строки кэша процессора.
0070        Спасибо Debayan Ghosh.
0071 
0072     *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
0073        Спасибо Геннадию Махомеду.
0074 
0075     *) Исправление: процедура обновления исполняемого файла не работала,
0076        если после завершения родительского процесса новым родительским
0077        процессом nginx'а становился процесс с PID, отличным от 1.
0078 
0079     *) Исправление: модуль ngx_http_autoindex_module неправильно обрабатывал
0080        запросы с телом.
0081 
0082     *) Исправление: в директиве proxy_limit_rate при использовании с
0083        директивой keepalive.
0084 
0085     *) Исправление: при использовании "proxy_buffering off" часть ответа
0086        могла буферизироваться, если клиентское соединение использовало SSL.
0087        Спасибо Patryk Lesiewicz.
0088 
0089     *) Исправление: в директиве proxy_cache_background_update.
0090 
0091     *) Исправление: переменную вида "${name}" с именем в фигурных скобках
0092        нельзя было использовать в начале параметра не заключив весь параметр
0093        в кавычки.
0094 
0095 
0096 Изменения в nginx 1.13.7                                          21.11.2017
0097 
0098     *) Исправление: в переменной $upstream_status.
0099 
0100     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0101        если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос.
0102 
0103     *) Исправление: если при переконфигурации изменялся размер зоны
0104        разделяемой памяти и переконфигурация завершалась неудачно, то в
0105        главном процессе происходил segmentation fault.
0106 
0107     *) Исправление: в модуле ngx_http_fastcgi_module.
0108 
0109     *) Исправление: nginx возвращал ошибку 500, если в директиве
0110        xslt_stylesheet были заданы параметры без использования переменных.
0111 
0112     *) Изменение: при использовании варианта библиотеки zlib от Intel в лог
0113        писались сообщения "gzip filter failed to use preallocated memory".
0114 
0115     *) Исправление: директива worker_shutdown_timeout не работала при
0116        использовании почтового прокси-сервера и при проксировании
0117        WebSocket-соединений.
0118 
0119 
0120 Изменения в nginx 1.13.6                                          10.10.2017
0121 
0122     *) Исправление: при использовании директивы ssl_preread в модуле stream
0123        не работало переключение на следующий бэкенд.
0124 
0125     *) Исправление: в модуле ngx_http_v2_module.
0126        Спасибо Piotr Sikora.
0127 
0128     *) Исправление: nginx не поддерживал даты после 2038 года на 32-битных
0129        платформах с 64-битным time_t.
0130 
0131     *) Исправление: в обработке дат до 1970 года и после 10000 года.
0132 
0133     *) Исправление: в модуле stream таймауты ожидания UDP-пакетов от
0134        бэкендов не логгировались или логгировались на уровне info вместо
0135        error.
0136 
0137     *) Исправление: при использовании HTTP/2 nginx мог вернуть ошибку 400,
0138        не указав в логе причину.
0139 
0140     *) Исправление: в обработке повреждённых файлов кэша.
0141 
0142     *) Исправление: при кэшировании ошибок, перехваченных error_page, не
0143        учитывались заголовки управления кэшированием.
0144 
0145     *) Исправление: при использовании HTTP/2 тело запроса могло быть
0146        повреждено.
0147 
0148     *) Исправление: в обработке адресов клиентов при использовании unix
0149        domain сокетов.
0150 
0151     *) Исправление: при использовании директивы "hash ... consistent" в
0152        блоке upstream nginx нагружал процессор, если использовались большие
0153        веса и все или почти все бэкенды были недоступны.
0154 
0155 
0156 Изменения в nginx 1.13.5                                          05.09.2017
0157 
0158     *) Добавление: переменная $ssl_client_escaped_cert.
0159 
0160     *) Исправление: директива ssl_session_ticket_key и параметр include
0161        директивы geo не работали на Windows.
0162 
0163     *) Исправление: на 32-битных платформах при запросе более 4 гигабайт с
0164        помощью нескольких диапазонов возвращалась некорректная длина ответа.
0165 
0166     *) Исправление: директива "expires modified" и обработка строки If-Range
0167        заголовка запроса не учитывали время последнего изменения ответа,
0168        если использовалось проксирование без кэширования.
0169 
0170 
0171 Изменения в nginx 1.13.4                                          08.08.2017
0172 
0173     *) Добавление: модуль ngx_http_mirror_module.
0174 
0175     *) Исправление: клиентские соединения могли сбрасываться при
0176        тестировании конфигурации, если использовался параметр reuseport
0177        директивы listen на Linux.
0178 
0179     *) Исправление: тело запроса могло быть недоступно в подзапросах, если
0180        оно было сохранено в файл и использовалось проксирование.
0181 
0182     *) Исправление: очистка кэша по max_size не работала на Windows.
0183 
0184     *) Исправление: любое выделение разделяемой памяти на Windows требовало
0185        4096 байт памяти.
0186 
0187     *) Исправление: при использовании директивы zone в блоке upstream на
0188        Windows рабочий процесс мог завершаться аварийно.
0189 
0190 
0191 Изменения в nginx 1.13.3                                          11.07.2017
0192 
0193     *) Безопасность: специально созданный запрос мог вызвать целочисленное
0194        переполнение в range-фильтре и последующую некорректную обработку
0195        запрошенных диапазонов, что потенциально могло привести к утечке
0196        конфиденциальной информации (CVE-2017-7529).
0197 
0198 
0199 Изменения в nginx 1.13.2                                          27.06.2017
0200 
0201     *) Изменение: теперь при запросе диапазона, начинающегося с 0, из
0202        пустого файла nginx возвращает ответ 200 вместо 416.
0203 
0204     *) Добавление: директива add_trailer.
0205        Спасибо Piotr Sikora.
0206 
0207     *) Исправление: nginx не собирался под Cygwin и NetBSD; ошибка появилась
0208        в 1.13.0.
0209 
0210     *) Исправление: nginx не собирался под MSYS2 / MinGW 64-bit.
0211        Спасибо Orgad Shaneh.
0212 
0213     *) Исправление: при использовании SSI с большим количеством подзапросов
0214        и proxy_pass с переменными в рабочем процессе мог произойти
0215        segmentation fault.
0216 
0217     *) Исправление: в модуле ngx_http_v2_module.
0218        Спасибо Piotr Sikora.
0219 
0220 
0221 Изменения в nginx 1.13.1                                          30.05.2017
0222 
0223     *) Добавление: теперь в качестве параметра директивы set_real_ip_from
0224        можно указывать имя хоста.
0225 
0226     *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
0227 
0228     *) Добавление: директива worker_cpu_affinity теперь работает на
0229        DragonFly BSD.
0230        Спасибо Sepherosa Ziehau.
0231 
0232     *) Исправление: SSL renegotiation в соединениях к бэкендам не работал
0233        при использовании OpenSSL до 1.1.0.
0234 
0235     *) Изменение: nginx не собирался с Oracle Developer Studio 12.5.
0236 
0237     *) Изменение: теперь cache manager пропускает заблокированные записи при
0238        очистке кэша по max_size.
0239 
0240     *) Исправление: клиентские SSL-соединения сразу закрывались, если
0241        использовался отложенный accept и параметр proxy_protocol директивы
0242        listen.
0243 
0244     *) Исправление: в директиве proxy_cache_background_update.
0245 
0246     *) Изменение: теперь директива tcp_nodelay устанавливает опцию
0247        TCP_NODELAY перед SSL handshake.
0248 
0249 
0250 Изменения в nginx 1.13.0                                          25.04.2017
0251 
0252     *) Изменение: теперь SSL renegotiation допускается в соединениях к
0253        бэкендам.
0254 
0255     *) Добавление: параметры rcvbuf и sndbuf директив listen в почтовом
0256        прокси-сервере и модуле stream.
0257 
0258     *) Добавление: директивы return и error_page теперь могут использоваться
0259        для возврата перенаправлений с кодом 308.
0260        Спасибо Simon Leblanc.
0261 
0262     *) Добавление: параметр TLSv1.3 в директиве ssl_protocols.
0263 
0264     *) Добавление: при логгировании сигналов теперь указывается PID
0265        отправившего сигнал процесса.
0266 
0267     *) Исправление: в обработке ошибок выделения памяти.
0268 
0269     *) Исправление: если сервер в модуле stream слушал на wildcard-адресе,
0270        исходящий адрес ответного UDP-пакета мог отличаться от адреса
0271        назначения исходного пакета.
0272 
0273 
0274 Изменения в nginx 1.11.13                                         04.04.2017
0275 
0276     *) Добавление: параметр http_429 в директивах proxy_next_upstream,
0277        fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
0278        Спасибо Piotr Sikora.
0279 
0280     *) Исправление: в обработке ошибок выделения памяти.
0281 
0282     *) Исправление: при использовании директив sendfile и timer_resolution
0283        на Linux запросы могли зависать.
0284 
0285     *) Исправление: при использовании с подзапросами директив sendfile и
0286        aio_write запросы могли зависать.
0287 
0288     *) Исправление: в модуле ngx_http_v2_module.
0289        Спасибо Piotr Sikora.
0290 
0291     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0292        произойти segmentation fault.
0293 
0294     *) Исправление: запросы могли зависать при использовании с подзапросами
0295        директив limit_rate, sendfile_max_chunk, limit_req или метода
0296        $r->sleep() встроенного перла.
0297 
0298     *) Исправление: в модуле ngx_http_slice_module.
0299 
0300 
0301 Изменения в nginx 1.11.12                                         24.03.2017
0302 
0303     *) Исправление: nginx мог нагружать процессор; ошибка появилась в
0304        1.11.11.
0305 
0306 
0307 Изменения в nginx 1.11.11                                         21.03.2017
0308 
0309     *) Добавление: директива worker_shutdown_timeout.
0310 
0311     *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
0312        Спасибо Wei-Ko Kao.
0313 
0314     *) Исправление: при попытке установить переменную $limit_rate в пустую
0315        строку в рабочем процессе мог произойти segmentation fault.
0316 
0317     *) Исправление: директивы proxy_cache_background_update,
0318        fastcgi_cache_background_update, scgi_cache_background_update и
0319        uwsgi_cache_background_update могли работать некорректно, если
0320        использовалась директива if.
0321 
0322     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0323        если количество large_client_header_buffers в виртуальном сервере
0324        отличалось от такового в сервере по умолчанию.
0325 
0326     *) Исправление: в почтовом прокси-сервере.
0327 
0328 
0329 Изменения в nginx 1.11.10                                         14.02.2017
0330 
0331     *) Изменение: формат заголовка кэша был изменен, ранее закэшированные
0332        ответы будут загружены заново.
0333 
0334     *) Добавление: поддержка расширений stale-while-revalidate и
0335        stale-if-error в строке "Cache-Control" в заголовке ответа бэкенда.
0336 
0337     *) Добавление: директивы proxy_cache_background_update,
0338        fastcgi_cache_background_update, scgi_cache_background_update и
0339        uwsgi_cache_background_update.
0340 
0341     *) Добавление: теперь nginx может кэшировать ответы со строкой Vary
0342        заголовка длиной до 128 символов (вместо 42 символов в предыдущих
0343        версиях).
0344 
0345     *) Добавление: параметр build директивы server_tokens.
0346        Спасибо Tom Thorogood.
0347 
0348     *) Исправление: при обработке запросов со строкой "Expect: 100-continue"
0349        в заголовке запроса в логах могли появляться сообщения "[crit]
0350        SSL_write() failed".
0351 
0352     *) Исправление: модуль ngx_http_slice_module не работал в именованных
0353        location'ах.
0354 
0355     *) Исправление: при использовании AIO после перенаправления запроса с
0356        помощью X-Accel-Redirect в рабочем процессе мог произойти
0357        segmentation fault.
0358 
0359     *) Исправление: уменьшено потребление памяти для долгоживущих запросов,
0360        использующих сжатие.
0361 
0362 
0363 Изменения в nginx 1.11.9                                          24.01.2017
0364 
0365     *) Исправление: при использовании модуля stream nginx мог нагружать
0366        процессор; ошибка появилась в 1.11.5.
0367 
0368     *) Исправление: метод аутентификации EXTERNAL в почтовом прокси-сервере
0369        можно было использовать, даже если он не был разрешён в конфигурации.
0370 
0371     *) Исправление: при использовании директивы ssl_verify_client модуля
0372        stream в рабочем процессе мог произойти segmentation fault.
0373 
0374     *) Исправление: директива ssl_verify_client модуля stream могла не
0375        работать.
0376 
0377     *) Исправление: при исчерпании рабочим процессом свободных соединений
0378        keepalive-соединения могли закрываться излишне агрессивно.
0379        Спасибо Joel Cunningham.
0380 
0381     *) Исправление: при использовании директивы sendfile на FreeBSD и macOS
0382        мог возвращаться некорректный ответ; ошибка появилась в 1.7.8.
0383 
0384     *) Исправление: при использовании директивы aio_write ответ мог
0385        сохраняться в кэш не полностью.
0386 
0387     *) Исправление: при использовании директивы aio_write могла происходить
0388        утечка сокетов.
0389 
0390 
0391 Изменения в nginx 1.11.8                                          27.12.2016
0392 
0393     *) Добавление: директива absolute_redirect.
0394 
0395     *) Добавление: параметр escape директивы log_format.
0396 
0397     *) Добавление: проверка клиентских SSL-сертификатов в модуле stream.
0398 
0399     *) Добавление: директива ssl_session_ticket_key поддерживает шифрование
0400        TLS session tickets с помощью AES256 при использовании с 80-байтными
0401        ключами.
0402 
0403     *) Добавление: поддержка vim-commentary в скриптах для vim.
0404        Спасибо Armin Grodon.
0405 
0406     *) Исправление: рекурсия при получении значений переменных не
0407        ограничивалась.
0408 
0409     *) Исправление: в модуле ngx_stream_ssl_preread_module.
0410 
0411     *) Исправление: если сервер, описанный в блоке upstream в модуле stream,
0412        был признан неработающим, то после истечения fail_timeout он
0413        признавался работающим только после завершения тестового соединения;
0414        теперь достаточно, чтобы соединение было успешно установлено.
0415 
0416     *) Исправление: nginx/Windows не собирался с 64-битным Visual Studio.
0417 
0418     *) Исправление: nginx/Windows не собирался с OpenSSL 1.1.0.
0419 
0420 
0421 Изменения в nginx 1.11.7                                          13.12.2016
0422 
0423     *) Изменение: переменная $ssl_client_verify теперь в случае ошибки
0424        проверки клиентского сертификата содержит строку с описанием ошибки,
0425        например, "FAILED:certificate has expired".
0426 
0427     *) Добавление: переменные $ssl_ciphers, $ssl_curves,
0428        $ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain.
0429 
0430     *) Добавление: параметр volatile директивы map.
0431 
0432     *) Исправление: при сборке динамических модулей не учитывались заданные
0433        для модуля зависимости.
0434 
0435     *) Исправление: при использовании HTTP/2 и директив limit_req или
0436        auth_request тело запроса могло быть повреждено; ошибка появилась в
0437        1.11.0.
0438 
0439     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0440        произойти segmentation fault; ошибка появилась в 1.11.3.
0441 
0442     *) Исправление: в модуле ngx_http_mp4_module.
0443        Спасибо Congcong Hu.
0444 
0445     *) Исправление: в модуле ngx_http_perl_module.
0446 
0447 
0448 Изменения в nginx 1.11.6                                          15.11.2016
0449 
0450     *) Изменение: формат переменных $ssl_client_s_dn и $ssl_client_i_dn
0451        изменён на соответствующий RFC 2253 (RFC 4514); значения в старом
0452        формате доступны через переменные $ssl_client_s_dn_legacy и
0453        $ssl_client_i_dn_legacy.
0454 
0455     *) Изменение: при сохранении временных файлов в каталоге кэша они теперь
0456        располагаются не в отдельном подкаталоге для временных файлов, а в
0457        том же подкаталоге, что и соответствующие файлы в кэше.
0458 
0459     *) Добавление: поддержка метода аутентификации EXTERNAL в почтовом
0460        прокси-сервере.
0461        Спасибо Robert Norris.
0462 
0463     *) Добавление: поддержка WebP в модуле ngx_http_image_filter_module.
0464 
0465     *) Добавление: директива proxy_method поддерживает переменные.
0466        Спасибо Дмитрию Лазуркину.
0467 
0468     *) Добавление: директива http2_max_requests в модуле ngx_http_v2_module.
0469 
0470     *) Добавление: директивы proxy_cache_max_range_offset,
0471        fastcgi_cache_max_range_offset, scgi_cache_max_range_offset и
0472        uwsgi_cache_max_range_offset.
0473 
0474     *) Исправление: плавное завершение старых рабочих процессов могло
0475        занимать бесконечное время при использовании HTTP/2.
0476 
0477     *) Исправление: в модуле ngx_http_mp4_module.
0478 
0479     *) Исправление: при проксировании WebSocket-соединений и включённом
0480        кэшировании в логах могли появляться сообщения "ignore long locked
0481        inactive cache entry".
0482 
0483     *) Исправление: если во время SSL handshake с бэкендом происходил
0484        таймаут, nginx ничего не писал в лог и возвращал ответ с кодом 502
0485        вместо 504.
0486 
0487 
0488 Изменения в nginx 1.11.5                                          11.10.2016
0489 
0490     *) Изменение: параметр configure --with-ipv6 упразднён, поддержка IPv6
0491        теперь собирается автоматически.
0492 
0493     *) Изменение: теперь, если в блоке upstream не оказалось доступных
0494        серверов, nginx не сбрасывает статистику ошибок всех серверов, как
0495        делал ранее, а ожидает истечения fail_timeout.
0496 
0497     *) Добавление: модуль ngx_stream_ssl_preread_module.
0498 
0499     *) Добавление: директива server в блоке upstream поддерживает параметр
0500        max_conns.
0501 
0502     *) Добавление: параметр configure --with-compat.
0503 
0504     *) Добавление: параметры manager_files, manager_threshold и
0505        manager_sleep директив proxy_cache_path, fastcgi_cache_path,
0506        scgi_cache_path и uwsgi_cache_path.
0507 
0508     *) Исправление: при сборке perl-модуля не использовались флаги, заданные
0509        с помощью параметра configure --with-ld-opt.
0510 
0511     *) Исправление: в директиве add_after_body при использовании совместно с
0512        директивой sub_filter.
0513 
0514     *) Исправление: в переменной $realip_remote_addr.
0515 
0516     *) Исправление: директивы dav_access, proxy_store_access,
0517        fastcgi_store_access, scgi_store_access и uwsgi_store_access
0518        игнорировали права, заданные для пользователя.
0519 
0520     *) Исправление: unix domain listen-сокеты могли не наследоваться при
0521        обновлении исполняемого файла на Linux.
0522 
0523     *) Исправление: nginx возвращал ошибку 400 на запросы с символом "-" в
0524        HTTP-методе.
0525 
0526 
0527 Изменения в nginx 1.11.4                                          13.09.2016
0528 
0529     *) Добавление: переменная $upstream_bytes_received.
0530 
0531     *) Добавление: переменные $bytes_received, $session_time, $protocol,
0532        $status, $upstream_addr, $upstream_bytes_sent,
0533        $upstream_bytes_received, $upstream_connect_time,
0534        $upstream_first_byte_time и $upstream_session_time в модуле stream.
0535 
0536     *) Добавление: модуль ngx_stream_log_module.
0537 
0538     *) Добавление: параметр proxy_protocol в директиве listen, переменные
0539        $proxy_protocol_addr и $proxy_protocol_port в модуле stream.
0540 
0541     *) Добавление: модуль ngx_stream_realip_module.
0542 
0543     *) Исправление: nginx не собирался с модулем stream и модулем
0544        ngx_http_ssl_module, но без модуля ngx_stream_ssl_module; ошибка
0545        появилась в 1.11.3.
0546 
0547     *) Добавление: опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась;
0548        ошибка появилась в 1.11.2.
0549 
0550     *) Исправление: в параметре ranges директивы geo.
0551 
0552     *) Исправление: при использовании директив "aio threads" и sendfile мог
0553        возвращаться некорректный ответ; ошибка появилась в 1.9.13.
0554 
0555 
0556 Изменения в nginx 1.11.3                                          26.07.2016
0557 
0558     *) Изменение: теперь accept_mutex по умолчанию выключен.
0559 
0560     *) Добавление: теперь nginx использует EPOLLEXCLUSIVE на Linux.
0561 
0562     *) Добавление: модуль ngx_stream_geo_module.
0563 
0564     *) Добавление: модуль ngx_stream_geoip_module.
0565 
0566     *) Добавление: модуль ngx_stream_split_clients_module.
0567 
0568     *) Добавление: директивы proxy_pass и proxy_ssl_name в модуле stream
0569        поддерживают переменные.
0570 
0571     *) Исправление: утечки сокетов при использовании HTTP/2.
0572 
0573     *) Исправление: в configure.
0574        Спасибо Piotr Sikora.
0575 
0576 
0577 Изменения в nginx 1.11.2                                          05.07.2016
0578 
0579     *) Изменение: теперь nginx всегда использует внутренние реализации MD5 и
0580        SHA1; параметры configure --with-md5 и --with-sha1 упразднены.
0581 
0582     *) Добавление: поддержка переменных в модуле stream.
0583 
0584     *) Добавление: модуль ngx_stream_map_module.
0585 
0586     *) Добавление: модуль ngx_stream_return_module.
0587 
0588     *) Добавление: в директивах proxy_bind, fastcgi_bind, memcached_bind,
0589        scgi_bind и uwsgi_bind теперь можно указывать порт.
0590 
0591     *) Добавление: теперь nginx использует опцию сокета
0592        IP_BIND_ADDRESS_NO_PORT, если она доступна.
0593 
0594     *) Исправление: при использовании HTTP/2 и директивы
0595        proxy_request_buffering в рабочем процессе мог произойти segmentation
0596        fault.
0597 
0598     *) Исправление: при использовании HTTP/2 к запросам, передаваемым на
0599        бэкенд, всегда добавлялась строка заголовка "Content-Length", даже
0600        если у запроса не было тела.
0601 
0602     *) Исправление: при использовании HTTP/2 в логах могли появляться
0603        сообщения "http request count is zero".
0604 
0605     *) Исправление: при использовании директивы sub_filter могло
0606        буферизироваться больше данных, чем это необходимо; проблема
0607        появилась в 1.9.4.
0608 
0609 
0610 Изменения в nginx 1.11.1                                          31.05.2016
0611 
0612     *) Безопасность: при записи тела специально созданного запроса во
0613        временный файл в рабочем процессе мог происходить segmentation fault
0614        (CVE-2016-4450); ошибка появилась в 1.3.9.
0615 
0616 
0617 Изменения в nginx 1.11.0                                          24.05.2016
0618 
0619     *) Добавление: параметр transparent директив proxy_bind, fastcgi_bind,
0620        memcached_bind, scgi_bind и uwsgi_bind.
0621 
0622     *) Добавление: переменная $request_id.
0623 
0624     *) Добавление: директива map поддерживает комбинации нескольких
0625        переменных в качестве результирующих значений.
0626 
0627     *) Добавление: теперь при использовании метода epoll nginx проверяет,
0628        поддерживает ли ядро события EPOLLRDHUP, и соответственно
0629        оптимизирует обработку соединений.
0630 
0631     *) Добавление: директивы ssl_certificate и ssl_certificate_key теперь
0632        можно указывать несколько раз для загрузки сертификатов разных типов
0633        (например, RSA и ECDSA).
0634 
0635     *) Добавление: при использовании OpenSSL 1.0.2 и новее с помощью
0636        директивы ssl_ecdh_curve теперь можно задать список кривых; по
0637        умолчанию используется встроенный в OpenSSL список кривых.
0638 
0639     *) Изменение: для использования DHE-шифров теперь надо явно задавать
0640        файл параметров с помощью директивы ssl_dhparam.
0641 
0642     *) Добавление: переменная $proxy_protocol_port.
0643 
0644     *) Добавление: переменная $realip_remote_port в модуле
0645        ngx_http_realip_module.
0646 
0647     *) Добавление: модуль ngx_http_realip_module теперь позволяет
0648        устанавливать не только адрес, но и порт клиента.
0649 
0650     *) Изменение: при попытке запросить виртуальный сервер, отличающийся от
0651        согласованного в процессе SSL handshake, теперь возвращается ответ
0652        "421 Misdirected Request"; это улучшает совместимость с некоторыми
0653        HTTP/2-клиентами в случае использования клиентских сертификатов.
0654 
0655     *) Изменение: HTTP/2-клиенты теперь могут сразу присылать тело запроса;
0656        директива http2_body_preread_size позволяет указать размер буфера,
0657        который будет использоваться до того, как nginx начнёт читать тело.
0658 
0659     *) Исправление: при использовании директивы proxy_cache_bypass не
0660        обновлялись закэшированные ошибочные ответы.
0661 
0662 
0663 Изменения в nginx 1.9.15                                          19.04.2016
0664 
0665     *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли
0666        возникать ошибки "recv() failed".
0667 
0668     *) Исправление: при использовании HTTP/2 и директив limit_req или
0669        auth_request при чтении тела запроса мог произойти таймаут или ошибка
0670        "client violated flow control"; ошибка появилась в 1.9.14.
0671 
0672     *) Изменение: при использовании HTTP/2 ответ мог не показываться
0673        некоторыми браузерами, если тело запроса было прочитано не целиком;
0674        ошибка появилась в 1.9.14.
0675 
0676     *) Исправление: при использовании директивы "aio threads" соединения
0677        могли зависать.
0678        Спасибо Mindaugas Rasiukevicius.
0679 
0680 
0681 Изменения в nginx 1.9.14                                          05.04.2016
0682 
0683     *) Добавление: совместимость с OpenSSL 1.1.0.
0684 
0685     *) Добавление: директивы proxy_request_buffering,
0686        fastcgi_request_buffering, scgi_request_buffering и
0687        uwsgi_request_buffering теперь работают при использовании HTTP/2.
0688 
0689     *) Исправление: при использовании HTTP/2 в логах могли появляться
0690        сообщения "zero size buf in output".
0691 
0692     *) Исправление: при использовании HTTP/2 директива client_max_body_size
0693        могла работать неверно.
0694 
0695     *) Исправление: незначительных ошибок логгирования.
0696 
0697 
0698 Изменения в nginx 1.9.13                                          29.03.2016
0699 
0700     *) Изменение: неидемпотентные запросы (POST, LOCK, PATCH) теперь по
0701        умолчанию не передаются на другой сервер, если запрос уже был
0702        отправлен на бэкенд; параметр non_idempotent директивы
0703        proxy_next_upstream явно разрешает повторять такие запросы.
0704 
0705     *) Добавление: модуль ngx_http_perl_module теперь можно собрать
0706        динамически.
0707 
0708     *) Добавление: поддержка UDP в модуле stream.
0709 
0710     *) Добавление: директива aio_write.
0711 
0712     *) Добавление: теперь cache manager следит за количеством элементов в
0713        кэше и старается не допускать переполнений зоны разделяемой памяти.
0714 
0715     *) Исправление: при использовании директив sendfile и aio с подзапросами
0716        в логах могли появляться сообщения "task already active" и "second
0717        aio post".
0718 
0719     *) Исправление: при использовании кэширования в логах могли появляться
0720        сообщения "zero size buf in output", если клиент закрывал соединение
0721        преждевременно.
0722 
0723     *) Исправление: при использовании кэширования соединения с клиентами
0724        могли закрываться без необходимости.
0725        Спасибо Justin Li.
0726 
0727     *) Исправление: nginx мог нагружать процессор при использовании
0728        директивы sendfile на Linux и Solaris, если отправляемый файл был
0729        изменён в процессе отправки.
0730 
0731     *) Исправление: при использовании директив sendfile и "aio threads"
0732        соединения могли зависать.
0733 
0734     *) Исправление: в директивах proxy_pass, fastcgi_pass, scgi_pass и
0735        uwsgi_pass при использовании переменных.
0736        Спасибо Piotr Sikora.
0737 
0738     *) Исправление: в модуле ngx_http_sub_filter_module.
0739 
0740     *) Исправление: если в закэшированном соединении к бэкенду происходила
0741        ошибка, запрос передавался на другой сервер без учёта директивы
0742        proxy_next_upstream.
0743 
0744     *) Исправление: ошибки "CreateFile() failed" при создании временных
0745        файлов на Windows.
0746 
0747 
0748 Изменения в nginx 1.9.12                                          24.02.2016
0749 
0750     *) Добавление: кодирование Хаффмана заголовков ответов в HTTP/2.
0751        Спасибо Владу Краснову.
0752 
0753     *) Добавление: директива worker_cpu_affinity теперь поддерживает более
0754        64 процессоров.
0755 
0756     *) Исправление: совместимость со сторонними модулями на C++; ошибка
0757        появилась в 1.9.11.
0758        Спасибо Piotr Sikora.
0759 
0760     *) Исправление: nginx не собирался статически с OpenSSL на Linux; ошибка
0761        появилась в 1.9.11.
0762 
0763     *) Исправление: директива "add_header ... always" с пустым значением не
0764        удаляла из заголовков ошибочных ответов строки Last-Modified и ETag.
0765 
0766     *) Изменение: при использовании OpenSSL 1.0.2f в логах могли появляться
0767        сообщения "called a function you should not call" и "shutdown while
0768        in init".
0769 
0770     *) Исправление: ошибочные заголовки могли логгироваться некорректно.
0771 
0772     *) Исправление: утечки сокетов при использовании HTTP/2.
0773 
0774     *) Исправление: в модуле ngx_http_v2_module.
0775 
0776 
0777 Изменения в nginx 1.9.11                                          09.02.2016
0778 
0779     *) Добавление: теперь resolver поддерживает TCP.
0780 
0781     *) Добавление: динамические модули.
0782 
0783     *) Исправление: при использовании HTTP/2 переменная $request_length не
0784        учитывала размер заголовков запроса.
0785 
0786     *) Исправление: в модуле ngx_http_v2_module.
0787 
0788 
0789 Изменения в nginx 1.9.10                                          26.01.2016
0790 
0791     *) Безопасность: при использовании директивы resolver во время обработки
0792        ответов DNS-сервера могло происходить разыменование некорректного
0793        адреса, что позволяло атакующему, имеющему возможность подделывать
0794        UDP-пакеты от DNS-сервера, вызвать segmentation fault в рабочем
0795        процессе (CVE-2016-0742).
0796 
0797     *) Безопасность: при использовании директивы resolver во время обработки
0798        CNAME-записей могло произойти обращение к ранее освобождённой памяти,
0799        что позволяло атакующему, имеющему возможность инициировать
0800        преобразование произвольных имён в адреса, вызвать segmentation fault
0801        в рабочем процессе, а также потенциально могло иметь другие
0802        последствия (CVE-2016-0746).
0803 
0804     *) Безопасность: при использовании директивы resolver во время обработки
0805        CNAME-записей не во всех случаях проверялось ограничение на
0806        максимальное количество записей в цепочке, что позволяло атакующему,
0807        имеющему возможность инициировать преобразование произвольных имён в
0808        адреса, вызвать чрезмерное потребление ресурсов рабочими процессами
0809        (CVE-2016-0747).
0810 
0811     *) Добавление: параметр auto директивы worker_cpu_affinity.
0812 
0813     *) Исправление: параметр proxy_protocol директивы listen не работал с
0814        IPv6 listen-сокетами.
0815 
0816     *) Исправление: при использовании директивы keepalive соединения к
0817        бэкендам могли кэшироваться некорректно.
0818 
0819     *) Исправление: после перенаправления запроса с помощью X-Accel-Redirect
0820        при проксировании использовался HTTP-метод оригинального запроса.
0821 
0822 
0823 Изменения в nginx 1.9.9                                           09.12.2015
0824 
0825     *) Исправление: проксирование в unix domain сокеты не работало при
0826        использовании переменных; ошибка появилась в 1.9.8.
0827 
0828 
0829 Изменения в nginx 1.9.8                                           08.12.2015
0830 
0831     *) Добавление: поддержка pwritev().
0832 
0833     *) Добавление: директива include в блоке upstream.
0834 
0835     *) Добавление: модуль ngx_http_slice_module.
0836 
0837     *) Исправление: при использовании LibreSSL в рабочем процессе мог
0838        произойти segmentation fault; ошибка появилась в 1.9.6.
0839 
0840     *) Исправление: nginx мог не собираться на OS X.
0841 
0842 
0843 Изменения в nginx 1.9.7                                           17.11.2015
0844 
0845     *) Добавление: параметр nohostname логгирования в syslog.
0846 
0847     *) Добавление: директива proxy_cache_convert_head.
0848 
0849     *) Добавление: переменная $realip_remote_addr в модуле
0850        ngx_http_realip_module.
0851 
0852     *) Исправление: директива expires могла не срабатывать при использовании
0853        переменных.
0854 
0855     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0856        произойти segmentation fault; ошибка появилась в 1.9.6.
0857 
0858     *) Исправление: если nginx был собран с модулем ngx_http_v2_module,
0859        протокол HTTP/2 мог быть использован клиентом, даже если не был
0860        указан параметр http2 директивы listen.
0861 
0862     *) Исправление: в модуле ngx_http_v2_module.
0863 
0864 
0865 Изменения в nginx 1.9.6                                           27.10.2015
0866 
0867     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0868        произойти segmentation fault.
0869        Спасибо Piotr Sikora и Denis Andzakovic.
0870 
0871     *) Исправление: при использовании HTTP/2 переменная $server_protocol
0872        была пустой.
0873 
0874     *) Исправление: SSL-соединения к бэкендам в модуле stream могли
0875        неожиданно завершаться по таймауту.
0876 
0877     *) Исправление: при использовании различных настроек ssl_session_cache в
0878        разных виртуальных серверах в рабочем процессе мог произойти
0879        segmentation fault.
0880 
0881     *) Исправление: nginx/Windows не собирался с MinGW gcc; ошибка появилась
0882        в 1.9.4.
0883        Спасибо Kouhei Sutou.
0884 
0885     *) Исправление: при использовании директивы timer_resolution на Windows
0886        время не обновлялось.
0887 
0888     *) Незначительные исправления и улучшения.
0889        Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
0890 
0891 
0892 Изменения в nginx 1.9.5                                           22.09.2015
0893 
0894     *) Добавление: модуль ngx_http_v2_module (заменяет модуль
0895        ngx_http_spdy_module).
0896        Спасибо Dropbox и Automattic за спонсирование разработки.
0897 
0898     *) Изменение: теперь по умолчанию директива output_buffers использует
0899        два буфера.
0900 
0901     *) Изменение: теперь nginx ограничивает максимальную вложенность
0902        подзапросов, а не количество одновременных подзапросов.
0903 
0904     *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ
0905        полностью.
0906        Спасибо Геннадию Махомеду и Сергею Брестеру.
0907 
0908     *) Исправление: при использовании кэша в логах могли появляться
0909        сообщения "header already sent"; ошибка появилась в 1.7.5.
0910 
0911     *) Исправление: при использовании CephFS и директивы timer_resolution на
0912        Linux в логах могли появляться сообщения "writev() failed (4:
0913        Interrupted system call)".
0914 
0915     *) Исправление: в обработке ошибок конфигурации.
0916        Спасибо Markus Linnala.
0917 
0918     *) Исправление: при использовании директивы sub_filter на уровне http в
0919        рабочем процессе происходил segmentation fault; ошибка появилась в
0920        1.9.4.
0921 
0922 
0923 Изменения в nginx 1.9.4                                           18.08.2015
0924 
0925     *) Изменение: директивы proxy_downstream_buffer и proxy_upstream_buffer
0926        в модуле stream заменены директивой proxy_buffer_size.
0927 
0928     *) Добавление: директива tcp_nodelay в модуле stream.
0929 
0930     *) Добавление: теперь можно указать несколько директив sub_filter
0931        одновременно.
0932 
0933     *) Добавление: директива sub_filter поддерживает переменные в строке
0934        поиска.
0935 
0936     *) Изменение: тестирование конфигурации могло не работать под Linux
0937        OpenVZ.
0938        Спасибо Геннадию Махомеду.
0939 
0940     *) Исправление: после переконфигурации старые рабочие процессы могли
0941        сильно нагружать процессор при больших значениях worker_connections.
0942 
0943     *) Исправление: при совместном использовании директив try_files и alias
0944        внутри location'а, заданного регулярным выражением, в рабочем
0945        процессе мог произойти segmentation fault; ошибка появилась в 1.7.1.
0946 
0947     *) Исправление: директива try_files внутри вложенного location'а,
0948        заданного регулярным выражением, работала неправильно, если во
0949        внешнем location'е использовалась директива alias.
0950 
0951     *) Исправление: в обработке ошибок при построении хэш-таблиц.
0952 
0953     *) Исправление: nginx не собирался с Visual Studio 2015.
0954 
0955 
0956 Изменения в nginx 1.9.3                                           14.07.2015
0957 
0958     *) Изменение: дублирующиеся блоки http, mail и stream теперь запрещены.
0959 
0960     *) Добавление: ограничение количества соединений в модуле stream.
0961 
0962     *) Добавление: ограничение скорости в модуле stream.
0963 
0964     *) Исправление: директива zone в блоке upstream не работала на Windows.
0965 
0966     *) Исправление: совместимость с LibreSSL в модуле stream.
0967        Спасибо Piotr Sikora.
0968 
0969     *) Исправление: в параметре --builddir в configure.
0970        Спасибо Piotr Sikora.
0971 
0972     *) Исправление: директива ssl_stapling_file не работала; ошибка
0973        появилась в 1.9.2.
0974        Спасибо Faidon Liambotis и Brandon Black.
0975 
0976     *) Исправление: при использовании директивы ssl_stapling в рабочем
0977        процессе мог произойти segmentation fault; ошибка появилась в 1.9.2.
0978        Спасибо Matthew Baldwin.
0979 
0980 
0981 Изменения в nginx 1.9.2                                           16.06.2015
0982 
0983     *) Добавление: параметр backlog директивы listen в почтовом
0984        прокси-сервере и модуле stream.
0985 
0986     *) Добавление: директивы allow и deny в модуле stream.
0987 
0988     *) Добавление: директива proxy_bind в модуле stream.
0989 
0990     *) Добавление: директива proxy_protocol в модуле stream.
0991 
0992     *) Добавление: ключ -T.
0993 
0994     *) Добавление: параметр REQUEST_SCHEME добавлен в стандартные
0995        конфигурационные файлы fastcgi.conf, fastcgi_params, scgi_params и
0996        uwsgi_params.
0997 
0998     *) Исправление: параметр reuseport директивы listen в модуле stream не
0999        работал.
1000 
1001     *) Исправление: OCSP stapling в некоторых случаях мог вернуть устаревший
1002        OCSP-ответ.
1003 
1004 
1005 Изменения в nginx 1.9.1                                           26.05.2015
1006 
1007     *) Изменение: теперь протокол SSLv3 по умолчанию запрещён.
1008 
1009     *) Изменение: некоторые давно устаревшие директивы больше не
1010        поддерживаются.
1011 
1012     *) Добавление: параметр reuseport директивы listen.
1013        Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
1014 
1015     *) Добавление: переменная $upstream_connect_time.
1016 
1017     *) Исправление: в директиве hash на big-endian платформах.
1018 
1019     *) Исправление: nginx мог не запускаться на некоторых старых версиях
1020        Linux; ошибка появилась в 1.7.11.
1021 
1022     *) Исправление: в парсинге IP-адресов.
1023        Спасибо Сергею Половко.
1024 
1025 
1026 Изменения в nginx 1.9.0                                           28.04.2015
1027 
1028     *) Изменение: устаревшие методы обработки соединений aio и rtsig больше
1029        не поддерживаются.
1030 
1031     *) Добавление: директива zone в блоке upstream.
1032 
1033     *) Добавление: модуль stream.
1034 
1035     *) Добавление: поддержка byte ranges для ответов модуля
1036        ngx_http_memcached_module.
1037        Спасибо Martin Mlynář.
1038 
1039     *) Добавление: разделяемую память теперь можно использовать на версиях
1040        Windows с рандомизацией адресного пространства.
1041        Спасибо Сергею Брестеру.
1042 
1043     *) Добавление: директиву error_log теперь можно использовать на уровнях
1044        mail и server в почтовом прокси-сервере.
1045 
1046     *) Исправление: параметр proxy_protocol директивы listen не работал,
1047        если не был указан в первой директиве listen для данного
1048        listen-сокета.
1049 
1050 
1051 Изменения в nginx 1.7.12                                          07.04.2015
1052 
1053     *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
1054        с бэкендами.
1055 
1056     *) Добавление: теперь потоки могут использоваться для чтения заголовков
1057        файлов в кэше.
1058 
1059     *) Исправление: в директиве proxy_request_buffering.
1060 
1061     *) Исправление: при использовании потоков на Linux в рабочем процессе
1062        мог произойти segmentation fault.
1063 
1064     *) Исправление: в обработке ошибок при использовании директивы
1065        ssl_stapling.
1066        Спасибо Filipe da Silva.
1067 
1068     *) Исправление: в модуле ngx_http_spdy_module.
1069 
1070 
1071 Изменения в nginx 1.7.11                                          24.03.2015
1072 
1073     *) Изменение: параметр sendfile директивы aio более не нужен; теперь
1074        nginx автоматически использует AIO для подгрузки данных для sendfile,
1075        если одновременно используются директивы aio и sendfile.
1076 
1077     *) Добавление: экспериментальная поддержка потоков.
1078 
1079     *) Добавление: директивы proxy_request_buffering,
1080        fastcgi_request_buffering, scgi_request_buffering и
1081        uwsgi_request_buffering.
1082 
1083     *) Добавление: экспериментальное API для обработки тела запроса.
1084 
1085     *) Добавление: проверка клиентских SSL-сертификатов в почтовом
1086        прокси-сервере.
1087        Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
1088 
1089     *) Добавление: уменьшение времени запуска при использовании директивы
1090        "hash ... consistent" в блоке upstream.
1091        Спасибо Wai Keen Woon.
1092 
1093     *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
1094 
1095     *) Исправление: в обработке хэш-таблиц.
1096        Спасибо Chris West.
1097 
1098     *) Исправление: в директиве proxy_cache_revalidate.
1099 
1100     *) Исправление: SSL-соединения могли зависать, если использовался
1101        отложенный accept или параметр proxy_protocol директивы listen.
1102        Спасибо James Hamlin.
1103 
1104     *) Исправление: переменная $upstream_response_time могла содержать
1105        неверное значение при использовании директивы image_filter.
1106 
1107     *) Исправление: в обработке целочисленных переполнений.
1108        Спасибо Régis Leroy.
1109 
1110     *) Исправление: при использовании LibreSSL было невозможно включить
1111        поддержку SSLv3.
1112 
1113     *) Исправление: при использовании LibreSSL в логах появлялись сообщения
1114        "ignoring stale global SSL error ... called a function you should not
1115        call".
1116 
1117     *) Исправление: сертификаты, указанные в директивах
1118        ssl_client_certificate и ssl_trusted_certificate, использовались для
1119        автоматического построения цепочек сертификатов.
1120 
1121 
1122 Изменения в nginx 1.7.10                                          10.02.2015
1123 
1124     *) Добавление: параметр use_temp_path директив proxy_cache_path,
1125        fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
1126 
1127     *) Добавление: переменная $upstream_header_time.
1128 
1129     *) Изменение: теперь при переполнении диска nginx пытается писать
1130        error_log'и только раз в секунду.
1131 
1132     *) Исправление: директива try_files при тестировании каталогов не
1133        игнорировала обычные файлы.
1134        Спасибо Damien Tournoud.
1135 
1136     *) Исправление: при использовании директивы sendfile на OS X возникали
1137        ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
1138 
1139     *) Исправление: в лог могли писаться сообщения "sem_post() failed".
1140 
1141     *) Исправление: nginx не собирался с musl libc.
1142        Спасибо James Taylor.
1143 
1144     *) Исправление: nginx не собирался на Tru64 UNIX.
1145        Спасибо Goetz T. Fischer.
1146 
1147 
1148 Изменения в nginx 1.7.9                                           23.12.2014
1149 
1150     *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
1151        uwsgi_cache поддерживают переменные.
1152 
1153     *) Добавление: директива expires поддерживает переменные.
1154 
1155     *) Добавление: возможность загрузки секретных ключей с аппаратных
1156        устройств с помощью OpenSSL engines.
1157        Спасибо Дмитрию Пичулину.
1158 
1159     *) Добавление: директива autoindex_format.
1160 
1161     *) Исправление: ревалидация элементов кэша теперь используется только
1162        для ответов с кодами 200 и 206.
1163        Спасибо Piotr Sikora.
1164 
1165     *) Исправление: строка "TE" заголовка запроса клиента передавалась на
1166        бэкенд при проксировании.
1167 
1168     *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
1169        uwsgi_pass могли неправильно работать внутри блоков if и
1170        limit_except.
1171 
1172     *) Исправление: директива proxy_store с параметром "on" игнорировалась,
1173        если на предыдущем уровне использовалась директива proxy_store с явно
1174        заданным путём к файлам.
1175 
1176     *) Исправление: nginx не собирался с BoringSSL.
1177        Спасибо Lukas Tribus.
1178 
1179 
1180 Изменения в nginx 1.7.8                                           02.12.2014
1181 
1182     *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
1183        подобные в заголовке запроса клиента передаются бэкенду при
1184        включённом кэшировании, если nginx заранее знает, что не будет
1185        кэшировать ответ (например, при использовании proxy_cache_min_uses).
1186 
1187     *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
1188        отправляет запрос на бэкенд без кэширования; новые директивы
1189        proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
1190        uwsgi_cache_lock_age позволяют указать, через какое время блокировка
1191        будет принудительно снята и будет сделана ещё одна попытка
1192        закэшировать ответ.
1193 
1194     *) Изменение: директива log_format теперь может использоваться только на
1195        уровне http.
1196 
1197     *) Добавление: директивы proxy_ssl_certificate,
1198        proxy_ssl_certificate_key, proxy_ssl_password_file,
1199        uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
1200        uwsgi_ssl_password_file.
1201        Спасибо Piotr Sikora.
1202 
1203     *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
1204        именованный location.
1205        Спасибо Toshikuni Fukaya.
1206 
1207     *) Добавление: теперь директива tcp_nodelay работает для
1208        SPDY-соединений.
1209 
1210     *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
1211        Спасибо Peter Wu.
1212 
1213     *) Исправление: nginx игнорировал значение "s-maxage" в строке
1214        "Cache-Control" в заголовке ответа бэкенда.
1215        Спасибо Piotr Sikora.
1216 
1217     *) Исправление: в модуле ngx_http_spdy_module.
1218        Спасибо Piotr Sikora.
1219 
1220     *) Исправление: в директиве ssl_password_file при использовании OpenSSL
1221        0.9.8zc, 1.0.0o, 1.0.1j.
1222 
1223     *) Исправление: при использовании директивы post_action в лог писались
1224        сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
1225 
1226     *) Исправление: при использовании директивы "postpone_output 0" с
1227        SSI-подзапросами в лог могли писаться сообщения "the http output
1228        chain is empty".
1229 
1230     *) Исправление: в директиве proxy_cache_lock при использовании
1231        SSI-подзапросов.
1232        Спасибо Yichun Zhang.
1233 
1234 
1235 Изменения в nginx 1.7.7                                           28.10.2014
1236 
1237     *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
1238        заголовке ответа бэкенда.
1239 
1240     *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
1241        scgi_force_ranges и uwsgi_force_ranges.
1242 
1243     *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
1244        scgi_limit_rate и uwsgi_limit_rate.
1245 
1246     *) Добавление: параметр Vary директив proxy_ignore_headers,
1247        fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
1248 
1249     *) Исправление: последняя часть ответа, полученного от бэкенда при
1250        небуферизированном проксировании, могла не отправляться клиенту, если
1251        использовались директивы gzip или gunzip.
1252 
1253     *) Исправление: в директиве proxy_cache_revalidate.
1254        Спасибо Piotr Sikora.
1255 
1256     *) Исправление: в обработке ошибок.
1257        Спасибо Yichun Zhang и Даниилу Бондареву.
1258 
1259     *) Исправление: в директивах proxy_next_upstream_tries и
1260        proxy_next_upstream_timeout.
1261        Спасибо Feng Gu.
1262 
1263     *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
1264        Спасибо Kouhei Sutou.
1265 
1266 
1267 Изменения в nginx 1.7.6                                           30.09.2014
1268 
1269     *) Изменение: устаревшая директива limit_zone больше не поддерживается.
1270 
1271     *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
1272        можно использовать комбинации нескольких переменных.
1273 
1274     *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
1275        запроса могло передаваться неправильно.
1276 
1277     *) Исправление: в логгировании в syslog.
1278 
1279 
1280 Изменения в nginx 1.7.5                                           16.09.2014
1281 
1282     *) Безопасность: при использовании общего для нескольких блоков server
1283        разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
1284        session tickets было возможно повторно использовать SSL-сессию в
1285        контексте другого блока server (CVE-2014-3616).
1286        Спасибо Antoine Delignat-Lavaud.
1287 
1288     *) Изменение: директиву stub_status теперь можно указывать без
1289        параметров.
1290 
1291     *) Добавление: параметр always директивы add_header.
1292 
1293     *) Добавление: директивы proxy_next_upstream_tries,
1294        proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
1295        fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
1296        memcached_next_upstream_timeout, scgi_next_upstream_tries,
1297        scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
1298        uwsgi_next_upstream_timeout.
1299 
1300     *) Исправление: в параметре if директивы access_log.
1301 
1302     *) Исправление: в модуле ngx_http_perl_module.
1303        Спасибо Piotr Sikora.
1304 
1305     *) Исправление: директива listen почтового прокси-сервера не позволяла
1306        указать более двух параметров.
1307 
1308     *) Исправление: директива sub_filter не работала с заменяемой строкой из
1309        одного символа.
1310 
1311     *) Исправление: запросы могли зависать, если использовался resolver и в
1312        процессе обращения к DNS-серверу происходил таймаут.
1313 
1314     *) Исправление: в модуле ngx_http_spdy_module при использовании
1315        совместно с AIO.
1316 
1317     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1318        если с помощью директивы set изменялись переменные "$http_...",
1319        "$sent_http_..." или "$upstream_http_...".
1320 
1321     *) Исправление: в обработке ошибок выделения памяти.
1322        Спасибо Markus Linnala и Feng Gu.
1323 
1324 
1325 Изменения в nginx 1.7.4                                           05.08.2014
1326 
1327     *) Безопасность: pipelined-команды не отбрасывались после команды
1328        STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
1329        1.5.6.
1330        Спасибо Chris Boulton.
1331 
1332     *) Изменение: экранирование символов в URI теперь использует
1333        шестнадцатеричные цифры в верхнем регистре.
1334        Спасибо Piotr Sikora.
1335 
1336     *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
1337        Спасибо Piotr Sikora.
1338 
1339     *) Исправление: запросы могли зависать, если использовался resolver и
1340        DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
1341 
1342     *) Исправление: в модуле ngx_http_spdy_module.
1343        Спасибо Piotr Sikora.
1344 
1345     *) Исправление: переменная $uri могла содержать мусор при возврате
1346        ошибок с кодом 400.
1347        Спасибо Сергею Боброву.
1348 
1349     *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
1350        ngx_http_dav_module.
1351        Спасибо Feng Gu.
1352 
1353     *) Исправление: при логгировании ошибок в syslog мог происходить
1354        segmentation fault; ошибка появилась в 1.7.1.
1355 
1356     *) Исправление: переменные $geoip_latitude, $geoip_longitude,
1357        $geoip_dma_code и $geoip_area_code могли не работать.
1358        Спасибо Yichun Zhang.
1359 
1360     *) Исправление: в обработке ошибок выделения памяти.
1361        Спасибо Tatsuhiko Kubo и Piotr Sikora.
1362 
1363 
1364 Изменения в nginx 1.7.3                                           08.07.2014
1365 
1366     *) Добавление: weak entity tags теперь не удаляются при изменениях
1367        ответа, а strong entity tags преобразуются в weak.
1368 
1369     *) Добавление: ревалидация элементов кэша теперь, если это возможно,
1370        использует заголовок If-None-Match.
1371 
1372     *) Добавление: директива ssl_password_file.
1373 
1374     *) Исправление: при возврате ответа из кэша заголовок запроса
1375        If-None-Match игнорировался, если в ответе не было заголовка
1376        Last-Modified.
1377 
1378     *) Исправление: сообщения "peer closed connection in SSL handshake" при
1379        соединении с бэкендами логгировались на уровне info вместо error.
1380 
1381     *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
1382 
1383     *) Исправление: SPDY-соединения могли неожиданно закрываться, если
1384        использовалось кэширование.
1385 
1386 
1387 Изменения в nginx 1.7.2                                           17.06.2014
1388 
1389     *) Добавление: директива hash в блоке upstream.
1390 
1391     *) Добавление: дефрагментация свободных блоков разделяемой памяти.
1392        Спасибо Wandenberg Peixoto и Yichun Zhang.
1393 
1394     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1395        если использовалось значение access_log по умолчанию; ошибка
1396        появилась в 1.7.0.
1397        Спасибо Piotr Sikora.
1398 
1399     *) Исправление: завершающий слэш ошибочно удалялся из последнего
1400        параметра директивы try_files.
1401 
1402     *) Исправление: nginx мог не собираться на OS X.
1403 
1404     *) Исправление: в модуле ngx_http_spdy_module.
1405 
1406 
1407 Изменения в nginx 1.7.1                                           27.05.2014
1408 
1409     *) Добавление: переменные "$upstream_cookie_...".
1410 
1411     *) Добавление: переменная $ssl_client_fingerprint.
1412 
1413     *) Добавление: директивы error_log и access_log теперь поддерживают
1414        логгирование в syslog.
1415 
1416     *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
1417        соединении.
1418 
1419     *) Исправление: утечки памяти при использовании директивы
1420        "ssl_stapling".
1421        Спасибо Filipe da Silva.
1422 
1423     *) Исправление: директива alias внутри location'а, заданного регулярным
1424        выражением, работала неправильно, если использовались директивы if
1425        или limit_except.
1426 
1427     *) Исправление: директива charset не ставила кодировку для сжатых
1428        ответов бэкендов.
1429 
1430     *) Исправление: директива proxy_pass без URI могла использовать
1431        оригинальный запрос после установки переменной $args.
1432        Спасибо Yichun Zhang.
1433 
1434     *) Исправление: в работе параметра none директивы smtp_auth; ошибка
1435        появилась в 1.5.6.
1436        Спасибо Святославу Никольскому.
1437 
1438     *) Исправление: при совместном использовании sub_filter и SSI ответы
1439        могли передаваться неверно.
1440 
1441     *) Исправление: nginx не собирался с параметром --with-file-aio на
1442        Linux/aarch64.
1443 
1444 
1445 Изменения в nginx 1.7.0                                           24.04.2014
1446 
1447     *) Добавление: проверка SSL-сертификатов бэкендов.
1448 
1449     *) Добавление: поддержка SNI при работе с бэкендами по SSL.
1450 
1451     *) Добавление: переменная $ssl_server_name.
1452 
1453     *) Добавление: параметр if директивы access_log.
1454 
1455 
1456 Изменения в nginx 1.5.13                                          08.04.2014
1457 
1458     *) Изменение: улучшена обработка хэш-таблиц; в директивах
1459        variables_hash_max_size и types_hash_bucket_size значения по
1460        умолчанию изменены на 1024 и 64 соответственно.
1461 
1462     *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end.
1463 
1464     *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при
1465        сохранении ответов в кэш.
1466 
1467     *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc()
1468        failed: no memory" при использовании разделяемой памяти в
1469        ssl_session_cache и в модуле ngx_http_limit_req_module.
1470 
1471     *) Исправление: директива underscores_in_headers не разрешала
1472        подчёркивание в первом символе заголовка.
1473        Спасибо Piotr Sikora.
1474 
1475     *) Исправление: cache manager мог нагружать процессор при выходе в
1476        nginx/Windows.
1477 
1478     *) Исправление: при использовании ssl_session_cache с параметром shared
1479        рабочий процесс nginx/Windows завершался аварийно.
1480 
1481     *) Исправление: в модуле ngx_http_spdy_module.
1482 
1483 
1484 Изменения в nginx 1.5.12                                          18.03.2014
1485 
1486     *) Безопасность: при обработке специально созданного запроса модулем
1487        ngx_http_spdy_module могло происходить переполнение буфера в рабочем
1488        процессе, что потенциально могло приводить к выполнению произвольного
1489        кода (CVE-2014-0133).
1490        Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1491        Buenos Aires, Argentina.
1492 
1493     *) Добавление: параметр proxy_protocol в директивах listen и
1494        real_ip_header, переменная $proxy_protocol_addr.
1495 
1496     *) Исправление: в директиве fastcgi_next_upstream.
1497        Спасибо Lucas Molas.
1498 
1499 
1500 Изменения в nginx 1.5.11                                          04.03.2014
1501 
1502     *) Безопасность: при обработке специально созданного запроса модулем
1503        ngx_http_spdy_module на 32-битных платформах могла повреждаться
1504        память рабочего процесса, что потенциально могло приводить к
1505        выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
1506        1.5.10.
1507        Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1508        Buenos Aires, Argentina.
1509 
1510     *) Добавление: переменная $ssl_session_reused.
1511 
1512     *) Исправление: директива client_max_body_size могла не работать при
1513        чтении тела запроса с использованием chunked transfer encoding;
1514        ошибка появилась в 1.3.9.
1515        Спасибо Lucas Molas.
1516 
1517     *) Исправление: при проксировании WebSocket-соединений в рабочем
1518        процессе мог произойти segmentation fault.
1519 
1520     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1521        если использовался модуль ngx_http_spdy_module на 32-битных
1522        платформах; ошибка появилась в 1.5.10.
1523 
1524     *) Исправление: значение переменной $upstream_status могло быть
1525        неверным, если использовались директивы proxy_cache_use_stale или
1526        proxy_cache_revalidate.
1527        Спасибо Piotr Sikora.
1528 
1529     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1530        если ошибки с кодом 400 с помощью директивы error_page
1531        перенаправлялись в именованный location.
1532 
1533     *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
1534 
1535 
1536 Изменения в nginx 1.5.10                                          04.02.2014
1537 
1538     *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
1539        SPDY 3.1.
1540        Спасибо Automattic и MaxCDN за спонсирование разработки.
1541 
1542     *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
1543        имеющие меньшую длину, чем запрошенная перемотка.
1544 
1545     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1546        если переменная $ssl_session_id использовалась при логгировании;
1547        ошибка появилась в 1.5.9.
1548 
1549     *) Исправление: переменные $date_local и $date_gmt использовали неверный
1550        формат вне модуля ngx_http_ssi_filter_module.
1551 
1552     *) Исправление: клиентские соединения могли сразу закрываться, если
1553        использовался отложенный accept; ошибка появилась в 1.3.15.
1554 
1555     *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
1556        записывались в лог в процессе обновления исполняемого файла на Linux;
1557        ошибка появилась в 1.5.8.
1558        Спасибо Piotr Sikora.
1559 
1560 
1561 Изменения в nginx 1.5.9                                           22.01.2014
1562 
1563     *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
1564        закодированный URI.
1565 
1566     *) Добавление: директива ssl_buffer_size.
1567 
1568     *) Добавление: директиву limit_rate теперь можно использовать для
1569        ограничения скорости передачи ответов клиенту в SPDY-соединениях.
1570 
1571     *) Добавление: директива spdy_chunk_size.
1572 
1573     *) Добавление: директива ssl_session_tickets.
1574        Спасибо Dirkjan Bussink.
1575 
1576     *) Исправление: переменная $ssl_session_id содержала всю сессию в
1577        сериализованном виде вместо её идентификатора.
1578        Спасибо Ivan Ristić.
1579 
1580     *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
1581        в команде SSI include.
1582 
1583     *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
1584        при обработке методов COPY и MOVE.
1585 
1586     *) Исправление: resolver не понимал доменные имена с точкой в конце.
1587        Спасибо Yichun Zhang.
1588 
1589     *) Исправление: при проксировании в логах могли появляться сообщения
1590        "zero size buf in output"; ошибка появилась в 1.3.9.
1591 
1592     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1593        если использовался модуль ngx_http_spdy_module.
1594 
1595     *) Исправление: при использовании методов обработки соединений select,
1596        poll и /dev/poll проксируемые WebSocket-соединения могли зависать
1597        сразу после открытия.
1598 
1599     *) Исправление: директива xclient почтового прокси-сервера некорректно
1600        передавала IPv6-адреса.
1601 
1602 
1603 Изменения в nginx 1.5.8                                           17.12.2013
1604 
1605     *) Добавление: теперь resolver поддерживает IPv6.
1606 
1607     *) Добавление: директива listen поддерживает параметр fastopen.
1608        Спасибо Mathew Rodley.
1609 
1610     *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
1611        Спасибо Roberto De Ioris.
1612 
1613     *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
1614        Спасибо Evan Miller.
1615 
1616     *) Исправление: при чтении тела запроса с использованием chunked
1617        transfer encoding по SSL-соединению мог произойти таймаут.
1618 
1619     *) Исправление: директива master_process работала неправильно в
1620        nginx/Windows.
1621 
1622     *) Исправление: параметр setfib директивы listen мог не работать.
1623 
1624     *) Исправление: в модуле ngx_http_spdy_module.
1625 
1626 
1627 Изменения в nginx 1.5.7                                           19.11.2013
1628 
1629     *) Безопасность: символ, следующий за незакодированным пробелом в строке
1630        запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
1631        в 0.8.41.
1632        Спасибо Ivan Fratric из Google Security Team.
1633 
1634     *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
1635        пароля понижен с уровня error до info.
1636 
1637     *) Добавление: директивы proxy_cache_revalidate,
1638        fastcgi_cache_revalidate, scgi_cache_revalidate и
1639        uwsgi_cache_revalidate.
1640 
1641     *) Добавление: директива ssl_session_ticket_key.
1642        Спасибо Piotr Sikora.
1643 
1644     *) Исправление: директива "add_header Cache-Control ''" добавляла строку
1645        заголовка ответа "Cache-Control" с пустым значением.
1646 
1647     *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
1648        401 при использовании директив auth_request и auth_basic.
1649        Спасибо Jan Marc Hoffmann.
1650 
1651     *) Исправление: параметры accept_filter и deferred директивы listen
1652        игнорировались для listen-сокетов, создаваемых в процессе обновления
1653        исполняемого файла.
1654        Спасибо Piotr Sikora.
1655 
1656     *) Исправление: часть данных, полученных от бэкенда при
1657        небуферизированном проксировании, могла не отправляться клиенту
1658        сразу, если использовались директивы gzip или gunzip.
1659        Спасибо Yichun Zhang.
1660 
1661     *) Исправление: в обработке ошибок в модуле
1662        ngx_http_gunzip_filter_module.
1663 
1664     *) Исправление: ответы могли зависать, если использовался модуль
1665        ngx_http_spdy_module и директива auth_request.
1666 
1667     *) Исправление: утечки памяти в nginx/Windows.
1668 
1669 
1670 Изменения в nginx 1.5.6                                           01.10.2013
1671 
1672     *) Добавление: директива fastcgi_buffering.
1673 
1674     *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
1675        Спасибо Piotr Sikora.
1676 
1677     *) Добавление: оптимизация SSL handshake при использовании длинных
1678        цепочек сертификатов.
1679 
1680     *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
1681 
1682     *) Исправление: в модуле ngx_http_auth_basic_module при использовании
1683        метода шифрования паролей "$apr1$".
1684        Спасибо Markus Linnala.
1685 
1686     *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
1687        мог использоваться неверный location, если для задания location'ов
1688        использовались символы разных регистров.
1689 
1690     *) Исправление: автоматическое перенаправление с добавлением
1691        завершающего слэша для проксированных location'ов могло не работать.
1692 
1693     *) Исправление: в почтовом прокси-сервере.
1694 
1695     *) Исправление: в модуле ngx_http_spdy_module.
1696 
1697 
1698 Изменения в nginx 1.5.5                                           17.09.2013
1699 
1700     *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
1701        определить протокол не удалось.
1702 
1703     *) Добавление: директива disable_symlinks теперь использует O_PATH на
1704        Linux.
1705 
1706     *) Добавление: для определения того, что клиент закрыл соединение, при
1707        использовании метода epoll теперь используются события EPOLLRDHUP.
1708 
1709     *) Исправление: в директиве valid_referers при использовании параметра
1710        server_names.
1711 
1712     *) Исправление: переменная $request_time не работала в nginx/Windows.
1713 
1714     *) Исправление: в директиве image_filter.
1715        Спасибо Lanshun Zhou.
1716 
1717     *) Исправление: совместимость с OpenSSL 1.0.1f.
1718        Спасибо Piotr Sikora.
1719 
1720 
1721 Изменения в nginx 1.5.4                                           27.08.2013
1722 
1723     *) Изменение: MIME-тип для расширения js изменён на
1724        "application/javascript"; значение по умолчанию директивы
1725        charset_types изменено соответственно.
1726 
1727     *) Изменение: теперь директива image_filter с параметром size возвращает
1728        ответ с MIME-типом "application/json".
1729 
1730     *) Добавление: модуль ngx_http_auth_request_module.
1731 
1732     *) Исправление: на старте или во время переконфигурации мог произойти
1733        segmentation fault, если использовалась директива try_files с пустым
1734        параметром.
1735 
1736     *) Исправление: утечки памяти при использовании в директивах root и
1737        auth_basic_user_file относительных путей, заданных с помощью
1738        переменных.
1739 
1740     *) Исправление: директива valid_referers неправильно выполняла
1741        регулярные выражения, если заголовок Referer начинался с "https://".
1742        Спасибо Liangbin Li.
1743 
1744     *) Исправление: ответы могли зависать, если использовались подзапросы и
1745        при обработке подзапроса происходила ошибка во время SSL handshake с
1746        бэкендом.
1747        Спасибо Aviram Cohen.
1748 
1749     *) Исправление: в модуле ngx_http_autoindex_module.
1750 
1751     *) Исправление: в модуле ngx_http_spdy_module.
1752 
1753 
1754 Изменения в nginx 1.5.3                                           30.07.2013
1755 
1756     *) Изменение во внутреннем API: теперь при небуферизированной работе с
1757        бэкендами u->length по умолчанию устанавливается в -1.
1758 
1759     *) Изменение: теперь при получении неполного ответа от бэкенда nginx
1760        отправляет полученную часть ответа, после чего закрывает соединение с
1761        клиентом.
1762 
1763     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1764        если использовался модуль ngx_http_spdy_module и директива
1765        client_body_in_file_only.
1766 
1767     *) Исправление: параметр so_keepalive директивы listen мог работать
1768        некорректно на DragonFlyBSD.
1769        Спасибо Sepherosa Ziehau.
1770 
1771     *) Исправление: в модуле ngx_http_xslt_filter_module.
1772 
1773     *) Исправление: в модуле ngx_http_sub_filter_module.
1774 
1775 
1776 Изменения в nginx 1.5.2                                           02.07.2013
1777 
1778     *) Добавление: теперь можно использовать несколько директив error_log.
1779 
1780     *) Исправление: метод $r->header_in() встроенного перла не возвращал
1781        значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
1782        ошибка появилась в 1.3.14.
1783 
1784     *) Исправление: в модуле ngx_http_spdy_module.
1785        Спасибо Jim Radford.
1786 
1787     *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
1788        Спасибо Сергею Иванцову.
1789 
1790 
1791 Изменения в nginx 1.5.1                                           04.06.2013
1792 
1793     *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
1794        xslt_last_modified.
1795        Спасибо Алексею Колпакову.
1796 
1797     *) Добавление: параметр http_403 в директивах proxy_next_upstream,
1798        fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
1799 
1800     *) Добавление: директивы allow и deny теперь поддерживают unix domain
1801        сокеты.
1802 
1803     *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
1804        модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
1805 
1806     *) Исправление: в директиве proxy_set_body.
1807        Спасибо Lanshun Zhou.
1808 
1809     *) Исправление: в директиве lingering_time.
1810        Спасибо Lanshun Zhou.
1811 
1812     *) Исправление: параметр fail_timeout директивы server в блоке upstream
1813        мог не работать, если использовался параметр max_fails; ошибка
1814        появилась в 1.3.0.
1815 
1816     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1817        если использовалась директива ssl_stapling.
1818        Спасибо Piotr Sikora.
1819 
1820     *) Исправление: в почтовом прокси-сервере.
1821        Спасибо Filipe Da Silva.
1822 
1823     *) Исправление: nginx/Windows мог перестать принимать соединения, если
1824        использовалось несколько рабочих процессов.
1825 
1826 
1827 Изменения в nginx 1.5.0                                           07.05.2013
1828 
1829     *) Безопасность: при обработке специально созданного запроса мог
1830        перезаписываться стек рабочего процесса, что могло приводить к
1831        выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
1832        1.3.9.
1833        Спасибо Greg MacManus, iSIGHT Partners Labs.
1834 
1835 
1836 Изменения в nginx 1.4.0                                           24.04.2013
1837 
1838     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
1839        использовался параметр --with-openssl; ошибка появилась в 1.3.16.
1840 
1841     *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
1842        ошибка появилась в 1.3.9.
1843 
1844 
1845 Изменения в nginx 1.3.16                                          16.04.2013
1846 
1847     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1848        если использовались подзапросы; ошибка появилась в 1.3.9.
1849 
1850     *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
1851        WebSocket-соединений в unix domain сокет.
1852 
1853     *) Исправление: переменная $upstream_response_length возвращала значение
1854        "0", если не использовалась буферизация.
1855        Спасибо Piotr Sikora.
1856 
1857     *) Исправление: в методах обработки соединений eventport и /dev/poll.
1858 
1859 
1860 Изменения в nginx 1.3.15                                          26.03.2013
1861 
1862     *) Изменение: открытие и закрытие соединения без отправки в нём
1863        каких-либо данных больше не записывается в access_log с кодом ошибки
1864        400.
1865 
1866     *) Добавление: модуль ngx_http_spdy_module.
1867        Спасибо Automattic за спонсирование разработки.
1868 
1869     *) Добавление: директивы limit_req_status и limit_conn_status.
1870        Спасибо Nick Marden.
1871 
1872     *) Добавление: директива image_filter_interlace.
1873        Спасибо Ивану Боброву.
1874 
1875     *) Добавление: переменная $connections_waiting в модуле
1876        ngx_http_stub_status_module.
1877 
1878     *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
1879 
1880     *) Исправление: при повторной отправке запроса на бэкенд тело запроса
1881        могло передаваться неправильно; ошибка появилась в 1.3.9.
1882        Спасибо Piotr Sikora.
1883 
1884     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1885        1.3.9.
1886 
1887     *) Исправление: ответы могли зависать, если использовались подзапросы и
1888        при обработке подзапроса происходила DNS-ошибка.
1889        Спасибо Lanshun Zhou.
1890 
1891     *) Исправление: в процедуре учёта использования бэкендов.
1892 
1893 
1894 Изменения в nginx 1.3.14                                          05.03.2013
1895 
1896     *) Добавление: переменные $connections_active, $connections_reading и
1897        $connections_writing в модуле ngx_http_stub_status_module.
1898 
1899     *) Добавление: поддержка WebSocket-соединений в модулях
1900        ngx_http_uwsgi_module и ngx_http_scgi_module.
1901 
1902     *) Исправление: в обработке виртуальных серверов при использовании SNI.
1903 
1904     *) Исправление: при использовании директивы "ssl_session_cache shared"
1905        новые сессии могли не сохраняться, если заканчивалось место в
1906        разделяемой памяти.
1907        Спасибо Piotr Sikora.
1908 
1909     *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
1910        неправильно.
1911        Спасибо Neal Poole за спонсирование разработки.
1912 
1913     *) Исправление: в модуле ngx_http_mp4_module.
1914        Спасибо Gernot Vormayr.
1915 
1916 
1917 Изменения в nginx 1.3.13                                          19.02.2013
1918 
1919     *) Изменение: теперь для сборки по умолчанию используется компилятор с
1920        именем "cc".
1921 
1922     *) Добавление: поддержка проксирования WebSocket-соединений.
1923        Спасибо Apcera и CloudBees за спонсирование разработки.
1924 
1925     *) Добавление: директива auth_basic_user_file поддерживает шифрование
1926        паролей методом "{SHA}".
1927        Спасибо Louis Opter.
1928 
1929 
1930 Изменения в nginx 1.3.12                                          05.02.2013
1931 
1932     *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
1933        scgi_bind и uwsgi_bind поддерживают переменные.
1934 
1935     *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
1936        $time_local теперь можно использовать не только в директиве
1937        log_format.
1938        Спасибо Kiril Kalchev.
1939 
1940     *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
1941        Спасибо Gregor Kališnik.
1942 
1943     *) Исправление: директива proxy_method работала неверно, если была
1944        указана на уровне http.
1945 
1946     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1947        если использовался resolver и метод poll.
1948 
1949     *) Исправление: nginx мог нагружать процессор во время SSL handshake с
1950        бэкендом при использовании методов обработки соединений select, poll
1951        и /dev/poll.
1952 
1953     *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
1954 
1955     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1956        1.3.9.
1957 
1958     *) Исправление: в директиве fastcgi_keep_conn.
1959 
1960 
1961 Изменения в nginx 1.3.11                                          10.01.2013
1962 
1963     *) Исправление: при записи в лог мог происходить segmentation fault;
1964        ошибка появилась в 1.3.10.
1965 
1966     *) Исправление: директива proxy_pass не работала с IP-адресами без
1967        явного указания порта; ошибка появилась в 1.3.10.
1968 
1969     *) Исправление: на старте или во время переконфигурации происходил
1970        segmentation fault, если директива keepalive была указана несколько
1971        раз в одном блоке upstream.
1972 
1973     *) Исправление: параметр default директивы geo не определял значение по
1974        умолчанию для IPv6-адресов.
1975 
1976 
1977 Изменения в nginx 1.3.10                                          25.12.2012
1978 
1979     *) Изменение: для указанных в конфигурационном файле доменных имён
1980        теперь используются не только IPv4, но и IPv6 адреса.
1981 
1982     *) Изменение: теперь при использовании директивы include с маской на
1983        Unix-системах включаемые файлы сортируются в алфавитном порядке.
1984 
1985     *) Изменение: директива add_header добавляет строки в ответы с кодом
1986        201.
1987 
1988     *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
1989        CIDR.
1990 
1991     *) Добавление: параметры flush и gzip в директиве access_log.
1992 
1993     *) Добавление: директива auth_basic поддерживает переменные.
1994 
1995     *) Исправление: nginx в некоторых случаях не собирался с модулем
1996        ngx_http_perl_module.
1997 
1998     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1999        если использовался модуль ngx_http_xslt_module.
2000 
2001     *) Исправление: nginx мог не собираться на MacOSX.
2002        Спасибо Piotr Sikora.
2003 
2004     *) Исправление: при использовании директивы limit_rate с большими
2005        значениями скорости на 32-битных системах ответ мог возвращаться не
2006        целиком.
2007        Спасибо Алексею Антропову.
2008 
2009     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2010        если использовалась директива if.
2011        Спасибо Piotr Sikora.
2012 
2013     *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
2014        Request Entity Too Large".
2015 
2016     *) Исправление: директивы image_filter, image_filter_jpeg_quality и
2017        image_filter_sharpen могли наследоваться некорректно.
2018        Спасибо Ивану Боброву.
2019 
2020     *) Исправление: при использовании директивы auth_basic под Linux могли
2021        возникать ошибки "crypt_r() failed".
2022 
2023     *) Исправление: в обработке backup-серверов.
2024        Спасибо Thomas Chen.
2025 
2026     *) Исправление: при проксировании HEAD-запросов мог возвращаться
2027        некорректный ответ, если использовалась директива gzip.
2028 
2029 
2030 Изменения в nginx 1.3.9                                           27.11.2012
2031 
2032     *) Добавление: поддержка chunked transfer encoding при получении тела
2033        запроса.
2034 
2035     *) Добавление: переменные $request_time и $msec теперь можно
2036        использовать не только в директиве log_format.
2037 
2038     *) Исправление: cache manager и cache loader могли не запускаться, если
2039        использовалось более 512 listen-сокетов.
2040 
2041     *) Исправление: в модуле ngx_http_dav_module.
2042 
2043 
2044 Изменения в nginx 1.3.8                                           30.10.2012
2045 
2046     *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
2047        Спасибо Михаилу Казанцеву и Eric O'Connor.
2048 
2049     *) Добавление: переменные $bytes_sent, $connection и
2050        $connection_requests теперь можно использовать не только в директиве
2051        log_format.
2052        Спасибо Benjamin Grössing.
2053 
2054     *) Добавление: параметр auto директивы worker_processes.
2055 
2056     *) Исправление: сообщения "cache file ... has md5 collision".
2057 
2058     *) Исправление: в модуле ngx_http_gunzip_filter_module.
2059 
2060     *) Исправление: в директиве ssl_stapling.
2061 
2062 
2063 Изменения в nginx 1.3.7                                           02.10.2012
2064 
2065     *) Добавление: поддержка OCSP stapling.
2066        Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
2067 
2068     *) Добавление: директива ssl_trusted_certificate.
2069 
2070     *) Добавление: теперь resolver случайным образом меняет порядок
2071        возвращаемых закэшированных адресов.
2072        Спасибо Антону Жулину.
2073 
2074     *) Исправление: совместимость с OpenSSL 0.9.7.
2075 
2076 
2077 Изменения в nginx 1.3.6                                           12.09.2012
2078 
2079     *) Добавление: модуль ngx_http_gunzip_filter_module.
2080 
2081     *) Добавление: директива memcached_gzip_flag.
2082 
2083     *) Добавление: параметр always директивы gzip_static.
2084 
2085     *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
2086        Спасибо Charles Chen.
2087 
2088     *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
2089        использовался параметр --with-ipv6.
2090 
2091 
2092 Изменения в nginx 1.3.5                                           21.08.2012
2093 
2094     *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
2095        дорожки в форматах, отличных от H.264 и AAC.
2096 
2097     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2098        если в директиве map в качестве значений использовались переменные.
2099 
2100     *) Исправление: в рабочем процессе мог произойти segmentation fault при
2101        использовании директивы geo с параметром ranges, но без параметра
2102        default; ошибка появилась в 0.8.43.
2103        Спасибо Zhen Chen и Weibin Yao.
2104 
2105     *) Исправление: в обработке параметра командной строки -p.
2106 
2107     *) Исправление: в почтовом прокси-сервере.
2108 
2109     *) Исправление: незначительных потенциальных ошибок.
2110        Спасибо Coverity.
2111 
2112     *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
2113        Спасибо HAYASHI Kentaro.
2114 
2115 
2116 Изменения в nginx 1.3.4                                           31.07.2012
2117 
2118     *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
2119        по умолчанию.
2120 
2121     *) Добавление: поддержка компилятора Clang.
2122 
2123     *) Исправление: могли создаваться лишние слушающие сокеты.
2124        Спасибо Роману Одайскому.
2125 
2126     *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
2127        рабочего процесса происходила ошибка.
2128        Спасибо Ricardo Villalobos Guevara.
2129 
2130     *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
2131        scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
2132        fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
2133        наследоваться некорректно.
2134 
2135 
2136 Изменения в nginx 1.3.3                                           10.07.2012
2137 
2138     *) Добавление: поддержка entity tags и директива etag.
2139 
2140     *) Исправление: при использовании директивы map с параметром hostnames
2141        не игнорировалась конечная точка в исходном значении.
2142 
2143     *) Исправление: для обработки запроса мог использоваться неверный
2144        location, если переход в именованный location происходил после
2145        изменения URI с помощью директивы rewrite.
2146 
2147 
2148 Изменения в nginx 1.3.2                                           26.06.2012
2149 
2150     *) Изменение: параметр single директивы keepalive теперь игнорируется.
2151 
2152     *) Изменение: сжатие SSL теперь отключено в том числе при использовании
2153        OpenSSL старее 1.0.0.
2154 
2155     *) Добавление: директиву "ip_hash" теперь можно использовать для
2156        балансировки IPv6 клиентов.
2157 
2158     *) Добавление: переменную $status теперь можно использовать не только в
2159        директиве log_format.
2160 
2161     *) Исправление: при завершении рабочего процесса мог произойти
2162        segmentation fault, если использовалась директива resolver.
2163 
2164     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2165        если использовался модуль ngx_http_mp4_module.
2166 
2167     *) Исправление: в модуле ngx_http_mp4_module.
2168 
2169     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2170        если использовались конфликтующие имена серверов с масками.
2171 
2172     *) Исправление: на платформе ARM nginx мог аварийно завершаться по
2173        сигналу SIGBUS.
2174 
2175     *) Исправление: во время переконфигурации на HP-UX в лог записывался
2176        alert "sendmsg() failed (9: Bad file number)".
2177 
2178 
2179 Изменения в nginx 1.3.1                                           05.06.2012
2180 
2181     *) Безопасность: теперь nginx/Windows игнорирует точку в конце
2182        компонента URI и не разрешает URI, содержащие последовательность
2183        ":$".
2184        Спасибо Владимиру Кочеткову, Positive Research Center.
2185 
2186     *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
2187        и директива server в блоке upstream теперь поддерживают IPv6-адреса.
2188 
2189     *) Добавление: в директиве resolver теперь можно указывать порт и
2190        задавать IPv6-адреса DNS-серверов.
2191 
2192     *) Добавление: директива least_conn в блоке upstream.
2193 
2194     *) Добавление: при использовании директивы ip_hash теперь можно задавать
2195        веса серверов.
2196 
2197     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2198        если использовалась директива image_filter; ошибка появилась в 1.3.0.
2199 
2200     *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
2201        появилась в 1.1.12.
2202 
2203     *) Исправление: доступ к переменным из SSI и встроенного перла мог не
2204        работать после переконфигурации.
2205        Спасибо Yichun Zhang.
2206 
2207     *) Исправление: в модуле ngx_http_xslt_filter_module.
2208        Спасибо Kuramoto Eiji.
2209 
2210     *) Исправление: утечки памяти при использовании переменной $geoip_org.
2211        Спасибо Денису Латыпову.
2212 
2213     *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
2214 
2215 
2216 Изменения в nginx 1.3.0                                           15.05.2012
2217 
2218     *) Добавление: директива debug_connection теперь поддерживает
2219        IPv6-адреса и параметр "unix:".
2220 
2221     *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
2222        теперь поддерживают IPv6-адреса.
2223 
2224     *) Добавление: директивы real_ip_recursive, geoip_proxy и
2225        geoip_proxy_recursive.
2226 
2227     *) Добавление: параметр proxy_recursive директивы geo.
2228 
2229     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2230        если использовалась директива resolver.
2231 
2232     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2233        если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
2234        и бэкенд возвращал некорректный ответ.
2235 
2236     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2237        если использовалась директива rewrite и в новых аргументах запроса в
2238        строке замены использовались переменные.
2239 
2240     *) Исправление: nginx мог нагружать процессор, если было достигнуто
2241        ограничение на количество открытых файлов.
2242 
2243     *) Исправление: при использовании директивы proxy_next_upstream с
2244        параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
2245        блоке upstream был хотя бы один сервер с флагом backup.
2246 
2247     *) Исправление: при использовании директивы ip_hash установка параметра
2248        down директивы server могла приводить к ненужному перераспределению
2249        клиентов между бэкендами.
2250 
2251     *) Исправление: утечки сокетов.
2252        Спасибо Yichun Zhang.
2253 
2254     *) Исправление: в модуле ngx_http_fastcgi_module.
2255 
2256 
2257 Изменения в nginx 1.2.0                                           23.04.2012
2258 
2259     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2260        если использовалась директива try_files; ошибка появилась в 1.1.19.
2261 
2262     *) Исправление: ответ мог быть передан не полностью, если использовалось
2263        больше IOV_MAX буферов.
2264 
2265     *) Исправление: в работе параметра crop директивы image_filter.
2266        Спасибо Maxim Bublis.
2267 
2268 
2269 Изменения в nginx 1.1.19                                          12.04.2012
2270 
2271     *) Безопасность: при обработке специально созданного mp4 файла модулем
2272        ngx_http_mp4_module могли перезаписываться области памяти рабочего
2273        процесса, что могло приводить к выполнению произвольного кода
2274        (CVE-2012-2089).
2275        Спасибо Matthew Daley.
2276 
2277     *) Исправление: nginx/Windows мог завершаться аварийно.
2278        Спасибо Vincent Lee.
2279 
2280     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2281        были помечены флагом backup.
2282 
2283     *) Исправление: директивы allow и deny могли наследоваться некорректно,
2284        если в них использовались IPv6 адреса.
2285 
2286     *) Исправление: директивы modern_browser и ancient_browser могли
2287        наследоваться некорректно.
2288 
2289     *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
2290 
2291     *) Исправление: в модуле ngx_http_mp4_module.
2292 
2293 
2294 Изменения в nginx 1.1.18                                          28.03.2012
2295 
2296     *) Изменение: теперь keepalive соединения не запрещены для Safari по
2297        умолчанию.
2298 
2299     *) Добавление: переменная $connection_requests.
2300 
2301     *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
2302        $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
2303 
2304     *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
2305 
2306     *) Добавление: директивы xslt_param и xslt_string_param.
2307        Спасибо Samuel Behan.
2308 
2309     *) Исправление: в configure.
2310        Спасибо Piotr Sikora.
2311 
2312     *) Исправление: в модуле ngx_http_xslt_filter_module.
2313 
2314     *) Исправление: nginx не собирался на Debian GNU/Hurd.
2315 
2316 
2317 Изменения в nginx 1.1.17                                          15.03.2012
2318 
2319     *) Безопасность: содержимое ранее освобождённой памяти могло быть
2320        отправлено клиенту, если бэкенд возвращал специально созданный ответ.
2321        Спасибо Matthew Daley.
2322 
2323     *) Исправление: при использовании встроенного перла из SSI.
2324        Спасибо Matthew Daley.
2325 
2326     *) Исправление: в модуле ngx_http_uwsgi_module.
2327 
2328 
2329 Изменения в nginx 1.1.16                                          29.02.2012
2330 
2331     *) Изменение: ограничение на количество одновременных подзапросов
2332        поднято до 200.
2333 
2334     *) Добавление: параметр from в директиве disable_symlinks.
2335 
2336     *) Добавление: директивы return и error_page теперь могут использоваться
2337        для возврата перенаправлений с кодом 307.
2338 
2339     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2340        если использовалась директива resolver и на глобальном уровне не была
2341        задана директива error_log.
2342        Спасибо Роману Арутюняну.
2343 
2344     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2345        если использовались директивы "proxy_http_version 1.1" или
2346        "fastcgi_keep_conn on".
2347 
2348     *) Исправление: утечек памяти.
2349        Спасибо Lanshun Zhou.
2350 
2351     *) Исправление: в директиве disable_symlinks.
2352 
2353     *) Исправление: при использовании ZFS размер кэша на диске мог считаться
2354        некорректно; ошибка появилась в 1.0.1.
2355 
2356     *) Исправление: nginx не собирался компилятором icc 12.1.
2357 
2358     *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
2359        1.1.15.
2360 
2361 
2362 Изменения в nginx 1.1.15                                          15.02.2012
2363 
2364     *) Добавление: директива disable_symlinks.
2365 
2366     *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
2367 
2368     *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
2369        prematurely closed connection" вместо "upstream sent too big header".
2370        Спасибо Feibo Li.
2371 
2372     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
2373        использовался параметр --with-openssl.
2374 
2375     *) Исправление: количество внутренних перенаправлений в именованные
2376        location'ы не ограничивалось.
2377 
2378     *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
2379        ошибкам в модуле ngx_http_gzip_filter_module.
2380 
2381     *) Исправление: при использовании директивы proxy_store с
2382        SSI-подзапросами временные файлы могли не удаляться.
2383 
2384     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2385        $args) возвращали старое пустое закэшированное значение.
2386 
2387     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2388        если одновременно создавалось слишком много SSI-подзапросов; ошибка
2389        появилась в 0.7.25.
2390 
2391 
2392 Изменения в nginx 1.1.14                                          30.01.2012
2393 
2394     *) Добавление: теперь можно указать несколько ограничений limit_req
2395        одновременно.
2396 
2397     *) Исправление: в обработке ошибок при соединении с бэкендом.
2398        Спасибо Piotr Sikora.
2399 
2400     *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
2401 
2402     *) Исправление: в инициализации библиотеки OpenSSL.
2403 
2404     *) Исправление: директивы proxy_redirect могли наследоваться
2405        некорректно.
2406 
2407     *) Исправление: утечки памяти при переконфигурации, если использовалась
2408        директива pcre_jit.
2409 
2410 
2411 Изменения в nginx 1.1.13                                          16.01.2012
2412 
2413     *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
2414 
2415     *) Исправление: параметры директивы limit_req наследовались некорректно;
2416        ошибка появилась в 1.1.12.
2417 
2418     *) Исправление: директива proxy_redirect некорректно обрабатывала
2419        заголовок Refresh при использовании регулярных выражений.
2420 
2421     *) Исправление: директива proxy_cache_use_stale с параметром error не
2422        возвращала ответ из кэша, если все бэкенды были признаны
2423        неработающими.
2424 
2425     *) Исправление: директива worker_cpu_affinity могла не работать.
2426 
2427     *) Исправление: nginx не собирался на Solaris; ошибка появилась в
2428        1.1.12.
2429 
2430     *) Исправление: в модуле ngx_http_mp4_module.
2431 
2432 
2433 Изменения в nginx 1.1.12                                          26.12.2011
2434 
2435     *) Изменение: после перенаправления запроса с помощью директивы
2436        error_page директива proxy_pass без URI теперь использует изменённый
2437        URI.
2438        Спасибо Lanshun Zhou.
2439 
2440     *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
2441        proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
2442 
2443     *) Добавление: директива pcre_jit.
2444 
2445     *) Добавление: SSI команда if поддерживает выделения в регулярных
2446        выражениях.
2447 
2448     *) Исправление: SSI команда if не работала внутри команды block.
2449 
2450     *) Исправление: директивы limit_conn_log_level и limit_req_log_level
2451        могли не работать.
2452 
2453     *) Исправление: директива limit_rate не позволяла передавать на полной
2454        скорости, даже если был указан очень большой лимит.
2455 
2456     *) Исправление: директива sendfile_max_chunk не работала, если
2457        использовалась директива limit_rate.
2458 
2459     *) Исправление: если в директиве proxy_pass использовались переменные и
2460        не был указан URI, всегда использовался URI исходного запроса.
2461 
2462     *) Исправление: после перенаправления запроса с помощью директивы
2463        try_files директива proxy_pass без URI могла использовать URI
2464        исходного запроса.
2465        Спасибо Lanshun Zhou.
2466 
2467     *) Исправление: в модуле ngx_http_scgi_module.
2468 
2469     *) Исправление: в модуле ngx_http_mp4_module.
2470 
2471     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
2472 
2473 
2474 Изменения в nginx 1.1.11                                          12.12.2011
2475 
2476     *) Добавление: параметр so_keepalive в директиве listen.
2477        Спасибо Всеволоду Стахову.
2478 
2479     *) Добавление: параметр if_not_empty в директивах
2480        fastcgi/scgi/uwsgi_param.
2481 
2482     *) Добавление: переменная $https.
2483 
2484     *) Добавление: директива proxy_redirect поддерживает переменные в первом
2485        параметре.
2486 
2487     *) Добавление: директива proxy_redirect поддерживает регулярные
2488        выражения.
2489 
2490     *) Исправление: переменная $sent_http_cache_control могла содержать
2491        неверное значение при использовании директивы expires.
2492        Спасибо Yichun Zhang.
2493 
2494     *) Исправление: директива read_ahead могла не работать при использовании
2495        совместно с try_files и open_file_cache.
2496 
2497     *) Исправление: если в параметре inactive директивы proxy_cache_path
2498        было указано малое время, в рабочем процессе мог произойти
2499        segmentation fault.
2500 
2501     *) Исправление: ответы из кэша могли зависать.
2502 
2503 
2504 Изменения в nginx 1.1.10                                          30.11.2011
2505 
2506     *) Исправление: при использовании AIO на Linux в рабочем процессе
2507        происходил segmentation fault; ошибка появилась в 1.1.9.
2508 
2509 
2510 Изменения в nginx 1.1.9                                           28.11.2011
2511 
2512     *) Изменение: теперь двойные кавычки экранируется при выводе
2513        SSI-командой echo.
2514        Спасибо Зауру Абасмирзоеву.
2515 
2516     *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
2517        используется TTL, возвращённый DNS-сервером.
2518        Спасибо Кириллу Коринскому.
2519 
2520     *) Исправление: nginx мог перестать отвечать, если рабочий процесс
2521        завершался аварийно.
2522 
2523     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2524        если использовалось SNI; ошибка появилась в 1.1.2.
2525 
2526     *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
2527        Спасибо Александру Усову.
2528 
2529     *) Исправление: сигнал SIGWINCH переставал работать после первого
2530        обновления исполняемого файла; ошибка появилась в 1.1.1.
2531 
2532     *) Исправление: теперь ответы бэкендов, длина которых не соответствует
2533        заголовку Content-Length, не кэширутся.
2534 
2535     *) Исправление: в директиве scgi_param при использовании составных
2536        параметров.
2537 
2538     *) Исправление: в методе epoll.
2539        Спасибо Yichun Zhang.
2540 
2541     *) Исправление: в модуле ngx_http_flv_module.
2542        Спасибо Piotr Sikora.
2543 
2544     *) Исправление: в модуле ngx_http_mp4_module.
2545 
2546     *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
2547        заголовке Host.
2548 
2549     *) Исправление: директивы add_header и expires не работали для ответов с
2550        кодом 206, если запрос проксировался.
2551 
2552     *) Исправление: nginx не собирался на FreeBSD 10.
2553 
2554     *) Исправление: nginx не собирался на AIX.
2555 
2556 
2557 Изменения в nginx 1.1.8                                           14.11.2011
2558 
2559     *) Изменение: модуль ngx_http_limit_zone_module переименован в
2560        ngx_http_limit_conn_module.
2561 
2562     *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
2563        новым синтаксисом.
2564 
2565     *) Добавление: поддержка ограничения по нескольким limit_conn на одном
2566        уровне.
2567 
2568     *) Добавление: директива image_filter_sharpen.
2569 
2570     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2571        если resolver получил большой DNS-ответ.
2572        Спасибо Ben Hawkes.
2573 
2574     *) Исправление: в вычислении ключа для кэширования, если использовалась
2575        внутренняя реализация MD5; ошибка появилась в 1.0.4.
2576 
2577     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2578        заголовке запроса клиента могли передаваться бэкенду при кэшировании;
2579        или не передаваться при выключенном кэшировании, если кэширование
2580        было включено в другой части конфигурации.
2581 
2582     *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
2583        "Content-Length" в заголовке ответа, использовался аргумент start.
2584        Спасибо Piotr Sikora.
2585 
2586 
2587 Изменения в nginx 1.1.7                                           31.10.2011
2588 
2589     *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
2590        Спасибо Кириллу Коринскому.
2591 
2592     *) Исправление: на старте или во время переконфигурации происходил
2593        segmentation fault, если директива ssl использовалась на уровне http
2594        и не был указан ssl_certificate.
2595 
2596     *) Исправление: уменьшено потребление памяти при проксировании больших
2597        файлов, если они буферизировались на диск.
2598 
2599     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2600        если использовалась директива "proxy_http_version 1.1".
2601 
2602     *) Исправление: в директиве "expires @time".
2603 
2604 
2605 Изменения в nginx 1.1.6                                           17.10.2011
2606 
2607     *) Изменение во внутреннем API: теперь при внутреннем редиректе в
2608        именованный location контексты модулей очищаются.
2609        По запросу Yichun Zhang.
2610 
2611     *) Изменение: теперь если сервер, описанный в блоке upstream, был
2612        признан неработающим, то после истечения fail_timeout на него будет
2613        отправлен только один запрос; сервер будет считаться работающим, если
2614        успешно ответит на этот запрос.
2615 
2616     *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
2617        \xXX.
2618 
2619     *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
2620        теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
2621        X-Accel-Charset.
2622 
2623     *) Добавление: уменьшение потребления памяти при использовании SSL.
2624 
2625     *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
2626        Спасибо Алексею Куцу.
2627 
2628     *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
2629        уровне server, применялись повторно, если для запроса не находилось
2630        ни одного location'а.
2631 
2632     *) Исправление: при использовании "aio sendfile" могла происходить
2633        утечка сокетов.
2634 
2635     *) Исправление: при использовании файлового AIO соединения с быстрыми
2636        клиентами могли быть закрыты по истечению send_timeout.
2637 
2638     *) Исправление: в модуле ngx_http_autoindex_module.
2639 
2640     *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
2641        32-битных платформах.
2642 
2643 
2644 Изменения в nginx 1.1.5                                           05.10.2011
2645 
2646     *) Добавление: директивы uwsgi_buffering и scgi_buffering.
2647        Спасибо Peter Smit.
2648 
2649     *) Исправление: при использовании proxy_cache_bypass могли быть
2650        закэшированы некэшируемые ответы.
2651        Спасибо John Ferlito.
2652 
2653     *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
2654        HTTP/1.1.
2655 
2656     *) Исправление: закэшированные ответы с пустым телом возвращались
2657        некорректно; ошибка появилась в 0.8.31.
2658 
2659     *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
2660        некорректны; ошибка появилась в 0.8.32.
2661 
2662     *) Исправление: в директиве return.
2663 
2664     *) Исправление: при использовании директивы "ssl_session_cache builtin"
2665        происходил segmentation fault; ошибка появилась в 1.1.1.
2666 
2667 
2668 Изменения в nginx 1.1.4                                           20.09.2011
2669 
2670     *) Добавление: модуль ngx_http_upstream_keepalive.
2671 
2672     *) Добавление: директива proxy_http_version.
2673 
2674     *) Добавление: директива fastcgi_keep_conn.
2675 
2676     *) Добавление: директива worker_aio_requests.
2677 
2678     *) Исправление: если nginx был собран с файловым AIO, он не мог
2679        запускаться на Linux без поддержки AIO.
2680 
2681     *) Исправление: в обработке ошибок при работе с Linux AIO.
2682        Спасибо Hagai Avrahami.
2683 
2684     *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
2685 
2686     *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
2687        MP4-атом co64.
2688 
2689 
2690 Изменения в nginx 1.1.3                                           14.09.2011
2691 
2692     *) Добавление: модуль ngx_http_mp4_module.
2693 
2694     *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
2695 
2696     *) Исправление: open_file_cache не обновлял информацию о файле, если
2697        файл был изменён не атомарно.
2698 
2699     *) Исправление: nginx не собирался на MacOSX 10.7.
2700 
2701 
2702 Изменения в nginx 1.1.2                                           05.09.2011
2703 
2704     *) Изменение: теперь, если суммарный размер всех диапазонов больше
2705        размера исходного ответа, то nginx возвращает только исходный ответ,
2706        не обрабатывая диапазоны.
2707 
2708     *) Добавление: директива max_ranges.
2709 
2710     *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
2711        ssl_prefer_server_cipher могли работать некорректно, если
2712        использовался SNI.
2713 
2714     *) Исправление: в директивах proxy/fastcgi/scgi/
2715        uwsgi_ignore_client_abort.
2716 
2717 
2718 Изменения в nginx 1.1.1                                           22.08.2011
2719 
2720     *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
2721        число файлов, указанное в параметре load_files, либо работает не
2722        дольше времени, указанного в параметре loader_threshold.
2723 
2724     *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
2725 
2726     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2727        на Solaris.
2728        Спасибо Денису Иванову.
2729 
2730     *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
2731 
2732     *) Исправление: nginx не собирался на Linux 3.0.
2733 
2734     *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
2735        появилась в 1.1.0.
2736 
2737     *) Исправление: обработка тела запроса могла быть неверной, если клиент
2738        использовал pipelining.
2739 
2740     *) Исправление: в директиве request_body_in_single_buf.
2741 
2742     *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
2743        при использовании SSL-соединения с бэкендом.
2744 
2745     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2746        были помечены флагом down.
2747 
2748     *) Исправление: при переконфигурации мог произойти segmentation fault,
2749        если в предыдущей конфигурации был определён, но не использовался
2750        ssl_session_cache.
2751 
2752     *) Исправление: при использовании большого количества backup-серверов в
2753        рабочем процессе мог произойти segmentation fault.
2754 
2755     *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
2756        значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
2757        произойти segmentation fault; ошибка появилась в 0.8.40.
2758 
2759 
2760 Изменения в nginx 1.1.0                                           01.08.2011
2761 
2762     *) Добавление: уменьшение времени работы загрузчика кэша.
2763 
2764     *) Добавление: параметры loader_files, loader_sleep и loader_threshold
2765        директив proxy/fastcgi/scgi/uwsgi_cache_path.
2766 
2767     *) Добавление: уменьшение времени загрузки конфигураций с большим
2768        количеством HTTPS серверов.
2769 
2770     *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
2771        Спасибо Adrian Kotelba.
2772 
2773     *) Добавление: директива lingering_close.
2774        Спасибо Максиму Дунину.
2775 
2776     *) Исправление: закрытия соединения для pipelined-запросов.
2777        Спасибо Максиму Дунину.
2778 
2779     *) Исправление: nginx не запрещал сжатие при получении значения
2780        "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
2781 
2782     *) Исправление: таймаута при небуферизированном проксировании.
2783        Спасибо Максиму Дунину.
2784 
2785     *) Исправление: утечки памяти при использовании переменных в директиве
2786        proxy_pass при работе с бэкендом по HTTPS.
2787        Спасибо Максиму Дунину.
2788 
2789     *) Исправление: в проверке параметра директивы proxy_pass, заданного
2790        переменными.
2791        Спасибо Lanshun Zhou.
2792 
2793     *) Исправление: SSL не работал на QNX.
2794        Спасибо Максиму Дунину.
2795 
2796     *) Исправление: SSL модули не собирались gcc 4.6 без параметра
2797        --with-debug.
2798 
2799 
2800 Изменения в nginx 1.0.5                                           19.07.2011
2801 
2802     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2803        "HIGH:!aNULL:!MD5".
2804        Спасибо Rob Stradling.
2805 
2806     *) Добавление: директивы referer_hash_max_size и
2807        referer_hash_bucket_size.
2808        Спасибо Witold Filipczyk.
2809 
2810     *) Добавление: переменная $uid_reset.
2811 
2812     *) Исправление: при использовании кэширования в рабочем процессе мог
2813        произойти segmentation fault.
2814        Спасибо Lanshun Zhou.
2815 
2816     *) Исправление: при использовании кэширования рабочие процессы могли
2817        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
2818        Спасибо Максиму Дунину.
2819 
2820     *) Исправление: сообщения "stalled cache updating".
2821        Спасибо Максиму Дунину.
2822 
2823 
2824 Изменения в nginx 1.0.4                                           01.06.2011
2825 
2826     *) Изменение: теперь в регулярных выражениях в директиве map можно
2827        задать чувствительность к регистру с помощью префиксов "~" и "~*".
2828 
2829     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2830        на Linux.
2831        Спасибо Денису Латыпову.
2832 
2833     *) Исправление: сообщения "stalled cache updating".
2834 
2835     *) Исправление: nginx не собирался с параметром
2836        --without-http_auth_basic_module; ошибка появилась в 1.0.3.
2837 
2838 
2839 Изменения в nginx 1.0.3                                           25.05.2011
2840 
2841     *) Добавление: директива auth_basic_user_file поддерживает шифрование
2842        пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
2843        Спасибо Максиму Дунину.
2844 
2845     *) Добавление: директива geoip_org и переменная $geoip_org.
2846        Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
2847 
2848     *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
2849        поддерживают адреса IPv4, отображённые на IPv6 адреса.
2850 
2851     *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
2852        рабочем процессе происходил segmentation fault, если директивы access
2853        или deny были определены только для адресов IPv6; ошибка появилась в
2854        0.8.22.
2855 
2856     *) Исправление: закэшированный ответ мог быть испорчен, если значения
2857        директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
2858        uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
2859 
2860 
2861 Изменения в nginx 1.0.2                                           10.05.2011
2862 
2863     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
2864 
2865     *) Исправление: в работе параметра rotate директивы image_filter.
2866        Спасибо Adam Bocim.
2867 
2868     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
2869 
2870 
2871 Изменения в nginx 1.0.1                                           03.05.2011
2872 
2873     *) Изменение: теперь директива split_clients использует алгоритм
2874        MurmurHash2 из-за лучшего распределения.
2875        Спасибо Олегу Мамонтову.
2876 
2877     *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
2878        ложными значениями.
2879        Спасибо Максиму Дунину.
2880 
2881     *) Изменение: теперь по умолчанию nginx использует значение 511 для
2882        listen backlog на Linux.
2883 
2884     *) Добавление: переменные $upstream_... можно использовать в SSI и
2885        перловом модулях.
2886 
2887     *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
2888        Спасибо Олегу Мамонтову.
2889 
2890     *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
2891        segmentation fault; ошибка появилась в 0.8.22.
2892        Спасибо Максиму Дунину.
2893 
2894     *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
2895 
2896     *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
2897        появилась в 0.9.3.
2898        Спасибо Dagobert Michelsen.
2899 
2900     *) Исправление: переменная $request_time имела неверные значения, если
2901        использовались подзапросы; ошибка появилась в 0.8.47.
2902        Спасибо Игорю А. Валькову.
2903 
2904 
2905 Изменения в nginx 1.0.0                                           12.04.2011
2906 
2907     *) Исправление: cache manager мог нагружать процессор после
2908        переконфигурации.
2909        Спасибо Максиму Дунину.
2910 
2911     *) Исправление: директива "image_filter crop" неправильно работала в
2912        сочетании с "image_filter rotate 180".
2913 
2914     *) Исправление: директива "satisfy any" запрещала выдачу
2915        пользовательской страницы для 401 кода.
2916 
2917 
2918 Изменения в nginx 0.9.7                                           04.04.2011
2919 
2920     *) Добавление: теперь соединения в состоянии keepalive могут быть
2921        закрыты преждевременно, если у воркера нет свободных соединений.
2922        Спасибо Максиму Дунину.
2923 
2924     *) Добавление: параметр rotate директивы image_filter.
2925        Спасибо Adam Bocim.
2926 
2927     *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
2928        scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
2929        upstream.
2930 
2931 
2932 Изменения в nginx 0.9.6                                           21.03.2011
2933 
2934     *) Добавление: директива map поддерживает регулярные выражения в
2935        качестве значения первого параметра.
2936 
2937     *) Добавление: переменная $time_iso8601 для access_log.
2938        Спасибо Michael Lustfield.
2939 
2940 
2941 Изменения в nginx 0.9.5                                           21.02.2011
2942 
2943     *) Изменение: теперь по умолчанию nginx использует значение -1 для
2944        listen backlog на Linux.
2945        Спасибо Андрею Нигматулину.
2946 
2947     *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
2948        Спасибо Денису Латыпову.
2949 
2950     *) Исправление: исправление в умолчательной директиве proxy_redirect,
2951        если в директиве proxy_pass не был описан URI.
2952        Спасибо Максиму Дунину.
2953 
2954     *) Исправление: директива error_page не работала с нестандартными кодами
2955        ошибок; ошибка появилась в 0.8.53.
2956        Спасибо Максиму Дунину.
2957 
2958 
2959 Изменения в nginx 0.9.4                                           21.01.2011
2960 
2961     *) Добавление: директива server_name поддерживает переменную $hostname.
2962 
2963     *) Добавление: 494 код для ошибки "Request Header Too Large".
2964 
2965 
2966 Изменения в nginx 0.9.3                                           13.12.2010
2967 
2968     *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
2969        то выделения в регулярных выражениях в директиве server_name не
2970        работали.
2971 
2972     *) Исправление: nginx не собирался под Solaris; ошибка появилась в
2973        0.9.0.
2974 
2975 
2976 Изменения в nginx 0.9.2                                           06.12.2010
2977 
2978     *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
2979        запроса клиента.
2980 
2981     *) Изменение: использование accept(), если accept4() не реализован;
2982        ошибка появилась в 0.9.0.
2983 
2984     *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
2985 
2986     *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
2987        Спасибо Максиму Дунину.
2988 
2989 
2990 Изменения в nginx 0.9.1                                           30.11.2010
2991 
2992     *) Исправление: директивы вида "return CODE message" не работали; ошибка
2993        появилась в 0.9.0.
2994 
2995 
2996 Изменения в nginx 0.9.0                                           29.11.2010
2997 
2998     *) Добавление: директива keepalive_disable.
2999 
3000     *) Добавление: директива map поддерживает переменные в качестве значения
3001        определяемой переменной.
3002 
3003     *) Добавление: директива map поддерживает пустые строки в качестве
3004        значения первого параметра.
3005 
3006     *) Добавление: директива map поддерживает выражения в первом параметре.
3007 
3008     *) Добавление: страница руководства nginx(8).
3009        Спасибо Сергею Осокину.
3010 
3011     *) Добавление: поддержка accept4() в Linux.
3012        Спасибо Simon Liu.
3013 
3014     *) Изменение: устранение предупреждения линкера о "sys_errlist" и
3015        "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
3016 
3017     *) Исправление: при использовании директивы auth_basic в рабочем
3018        процессе мог произойти segmentation fault.
3019        Спасибо Михаилу Лалетину.
3020 
3021     *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
3022        появилась в 0.8.42.
3023 
3024 
3025 Изменения в nginx 0.8.53                                          18.10.2010
3026 
3027     *) Добавление: теперь директива error_page позволяет менять код статуса
3028        у редиректа.
3029 
3030     *) Добавление: директива gzip_disable поддерживает специальную маску
3031        degradation.
3032 
3033     *) Исправление: при использовании файлового AIO могла происходить утечка
3034        сокетов.
3035        Спасибо Максиму Дунину.
3036 
3037     *) Исправление: если в первом сервере не была описана директива listen и
3038        нигде явно не описан сервер по умолчанию, то сервером по умолчанию
3039        становился следующий сервер с директивой listen; ошибка появилась в
3040        0.8.21.
3041 
3042 
3043 Изменения в nginx 0.8.52                                          28.09.2010
3044 
3045     *) Исправление: nginx использовал режим SSL для listen сокета, если для
3046        него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
3047 
3048 
3049 Изменения в nginx 0.8.51                                          27.09.2010
3050 
3051     *) Изменение: директива secure_link_expires упразднена.
3052 
3053     *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
3054        alert на error.
3055 
3056     *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
3057        несколько раз.
3058 
3059 
3060 Изменения в nginx 0.8.50                                          02.09.2010
3061 
3062     *) Добавление: директивы secure_link, secure_link_md5 и
3063        secure_link_expires модуля ngx_http_secure_link_module.
3064 
3065     *) Добавление: ключ -q.
3066        Спасибо Геннадию Махомеду.
3067 
3068     *) Исправление: при использовании кэширования рабочие процессы и могли
3069        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
3070 
3071     *) Исправление: в директиве gzip_disable.
3072        Спасибо Derrick Petzold.
3073 
3074     *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
3075        reopen, reload процессу, запущенному в другой сессии.
3076 
3077 
3078 Изменения в nginx 0.8.49                                          09.08.2010
3079 
3080     *) Добавление: директива image_filter_jpeg_quality поддерживает
3081        переменные.
3082 
3083     *) Исправление: при использовании переменной $geoip_region_name в
3084        рабочем процессе мог произойти segmentation fault; ошибка появилась в
3085        0.8.48.
3086 
3087     *) Исправление: ошибки, перехваченные error_page, кэшировались только до
3088        следующего запроса; ошибка появилась в 0.8.48.
3089 
3090 
3091 Изменения в nginx 0.8.48                                          03.08.2010
3092 
3093     *) Изменение: теперь по умолчанию директива server_name имеет значение
3094        пустое имя "".
3095        Спасибо Геннадию Махомеду.
3096 
3097     *) Изменение: теперь по умолчанию директива server_name_in_redirect
3098        имеет значение off.
3099 
3100     *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
3101        $geoip_region_name.
3102        Спасибо Christine McGonagle.
3103 
3104     *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
3105        scgi_pass не наследовались в блоки limit_except.
3106 
3107     *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
3108        uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
3109        появилась в 0.8.46.
3110 
3111     *) Исправление: директива fastcgi_split_path_info неверно использовала
3112        выделения, если в выделения попадала только часть URI.
3113        Спасибо Юрию Тарадаю и Frank Enderle.
3114 
3115     *) Исправление: директива rewrite не экранировала символ ";" при
3116        копировании из URI в аргументы.
3117        Спасибо Daisuke Murase.
3118 
3119     *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
3120        если изображение было больше размера image_filter_buffer.
3121 
3122 
3123 Изменения в nginx 0.8.47                                          28.07.2010
3124 
3125     *) Исправление: переменная $request_time имела неверные значения для
3126        подзапросов.
3127 
3128     *) Исправление: ошибки, перехваченные error_page, не кэшировались.
3129 
3130     *) Исправление: если использовался параметр max_size, то cache manager
3131        мог зациклиться; ошибка появилась в 0.8.46.
3132 
3133 
3134 Изменения в nginx 0.8.46                                          19.07.2010
3135 
3136     *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
3137        и scgi_no_cache теперь влияют только на сохранение закэшированного
3138        ответа.
3139 
3140     *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
3141        uwsgi_cache_bypass и scgi_cache_bypass.
3142 
3143     *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
3144        ошибки работы с бэкендом: память освобождалась только по истечении
3145        времени неактивности или при недостатке памяти.
3146 
3147 
3148 Изменения в nginx 0.8.45                                          13.07.2010
3149 
3150     *) Добавление: улучшения в модуле ngx_http_xslt_filter.
3151        Спасибо Laurence Rowe.
3152 
3153     *) Исправление: ответ SSI модуля мог передаваться не полностью после
3154        команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
3155        Спасибо Максиму Дунину.
3156 
3157     *) Исправление: директива listen не поддерживала параметр setfib=0.
3158 
3159 
3160 Изменения в nginx 0.8.44                                          05.07.2010
3161 
3162     *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
3163        заголовке которых есть строка "Set-Cookie".
3164 
3165     *) Добавление: директива listen поддерживает параметр setfib.
3166        Спасибо Андрею Филонову.
3167 
3168     *) Исправление: директива sub_filter могла изменять регистр букв при
3169        частичном совпадении.
3170 
3171     *) Исправление: совместимость с HP/UX.
3172 
3173     *) Исправление: совместимость с компилятором AIX xlC_r.
3174 
3175     *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
3176        запросы.
3177        Спасибо Miroslaw Jaworski.
3178 
3179 
3180 Изменения в nginx 0.8.43                                          30.06.2010
3181 
3182     *) Добавление: ускорение загрузки больших баз geo-диапазонов.
3183 
3184     *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
3185        без изменения кода ответа оставляло тело ошибки; ошибка появилась в
3186        0.8.42.
3187 
3188     *) Исправление: nginx мог закрывать IPv6 listen сокет во время
3189        переконфигурации.
3190        Спасибо Максиму Дунину.
3191 
3192     *) Исправление: переменную $uid_set можно использовать на любой стадии
3193        обработки запроса.
3194 
3195 
3196 Изменения в nginx 0.8.42                                          21.06.2010
3197 
3198     *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
3199        выражениями, если запрос полностью совпал с location'ом, заданным
3200        строкой префикса. Предыдущее поведение появилось в 0.7.1.
3201 
3202     *) Добавление: модуль ngx_http_scgi_module.
3203        Спасибо Manlio Perillo.
3204 
3205     *) Добавление: в директиве return можно добавлять текст ответа.
3206 
3207 
3208 Изменения в nginx 0.8.41                                          15.06.2010
3209 
3210     *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
3211        при запросе файла с неверной кодировкой UTF-8.
3212 
3213     *) Изменение: теперь nginx разрешает использовать пробелы в строке
3214        запроса.
3215 
3216     *) Исправление: директива proxy_redirect неправильно изменяла строку
3217        "Refresh" в заголовке ответа бэкенда.
3218        Спасибо Андрею Андрееву и Максиму Согину.
3219 
3220     *) Исправление: nginx не поддерживал путь без имени хоста в строке
3221        "Destination" в заголовке запроса.
3222 
3223 
3224 Изменения в nginx 0.8.40                                          07.06.2010
3225 
3226     *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
3227        умолчанию.
3228        Спасибо Jose Antonio Vazquez Gonzalez.
3229 
3230     *) Добавление: модуль ngx_http_uwsgi_module.
3231        Спасибо Roberto De Ioris.
3232 
3233     *) Добавление: директива fastcgi_param со значением, начинающимся со
3234        строки "HTTP_", изменяет строку заголовка в запросе клиента.
3235 
3236     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3237        заголовке запроса клиента передавались FastCGI-серверу при
3238        кэшировании.
3239 
3240     *) Исправление: listen unix domain сокет нельзя было изменить во время
3241        переконфигурации.
3242        Спасибо Максиму Дунину.
3243 
3244 
3245 Изменения в nginx 0.8.39                                          31.05.2010
3246 
3247     *) Исправление: наследуемая директива alias неправильно работала во
3248        вложенном location'е.
3249 
3250     *) Исправление: в комбинации директив alias с переменными и try_files;
3251 
3252     *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
3253        время обновления без перерыва.
3254        Спасибо Максиму Дунину.
3255 
3256 
3257 Изменения в nginx 0.8.38                                          24.05.2010
3258 
3259     *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
3260 
3261     *) Добавление: теперь при использовании переменной $scheme в директиве
3262        rewrite автоматически делается редирект.
3263        Спасибо Piotr Sikora.
3264 
3265     *) Исправление: теперь задержки в директиве limit_req соответствует
3266        описанному алгоритму.
3267        Спасибо Максиму Дунину.
3268 
3269     *) Исправление: переменную $uid_got нельзя было использовать в SSI и
3270        перловом модулях.
3271 
3272 
3273 Изменения в nginx 0.8.37                                          17.05.2010
3274 
3275     *) Добавление: модуль ngx_http_split_clients_module.
3276 
3277     *) Добавление: директива map поддерживает ключи больше 255 символов.
3278 
3279     *) Исправление: nginx игнорировал значения "private" и "no-store" в
3280        строке "Cache-Control" в заголовке ответа бэкенда.
3281 
3282     *) Исправление: параметр stub в SSI-директиве include не использовался,
3283        если пустой ответ имел код 200.
3284 
3285     *) Исправление: если проксированный или FastCGI запрос внутренне
3286        перенаправлялся в другой проксированный или FastCGI location, то в
3287        рабочем процессе мог произойти segmentation fault; ошибка появилась в
3288        0.8.33.
3289        Спасибо Yichun Zhang.
3290 
3291     *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
3292        таймаута.
3293        Спасибо Alan Batie.
3294 
3295 
3296 Изменения в nginx 0.8.36                                          22.04.2010
3297 
3298     *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
3299        методы DELETE, COPY и MOVE для симлинков.
3300 
3301     *) Исправление: модуль SSI в подзапросах использовал закэшированные в
3302        основном запросе значения переменных $query_string, $arg_... и им
3303        подобных.
3304 
3305     *) Исправление: значение переменной повторно экранировалось после
3306        каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
3307 
3308     *) Исправление: рабочий процесс зависал при запросе файла FIFO.
3309        Спасибо Vicente Aguilar и Максиму Дунину.
3310 
3311     *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
3312        Спасибо Максиму Дунину.
3313 
3314     *) Исправление: nginx не собирался с параметром --without-http-cache;
3315        ошибка появилась в 0.8.35.
3316 
3317 
3318 Изменения в nginx 0.8.35                                          01.04.2010
3319 
3320     *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
3321 
3322     *) Добавление: директива chunked_transfer_encoding.
3323 
3324     *) Исправление: символ "&" при копировании в аргументы в правилах
3325        rewrite не экранировался.
3326 
3327     *) Исправление: nginx мог завершаться аварийно во время обработки
3328        сигнала или при использовании директивы timer_resolution на
3329        платформах, не поддерживающих методы kqueue или eventport.
3330        Спасибо George Xie и Максиму Дунину.
3331 
3332     *) Исправление: если временные файлы и постоянное место хранения
3333        располагались на разных файловых системах, то у постоянных файлов
3334        время изменения было неверным.
3335        Спасибо Максиму Дунину.
3336 
3337     *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
3338        "memcached sent invalid trailer".
3339        Спасибо Максиму Дунину.
3340 
3341     *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
3342        текстов.
3343        Спасибо Максиму Дунину.
3344 
3345     *) Исправление: в рабочем процессе происходил segmentation fault, если
3346        перед ответом FastCGI-сервера было много вывода в stderr; ошибка
3347        появилась в 0.8.34.
3348        Спасибо Максиму Дунину.
3349 
3350 
3351 Изменения в nginx 0.8.34                                          03.03.2010
3352 
3353     *) Исправление: nginx не поддерживал все шифры, используемые в
3354        клиентских сертификатах.
3355        Спасибо Иннокентию Еникееву.
3356 
3357     *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
3358        ответом было много вывода в stderr.
3359 
3360     *) Исправление: nginx не поддерживал HTTPS-рефереры.
3361 
3362     *) Исправление: nginx/Windows мог не находить файлы, если путь в
3363        конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
3364 
3365     *) Исправление: переменная $date_local выдавала неверное время, если
3366        использовался формат "%s".
3367        Спасибо Максиму Дунину.
3368 
3369     *) Исправление: если ssl_session_cache не был установлен или установлен
3370        в none, то при проверке клиентского сертификаты могла происходить
3371        ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
3372 
3373     *) Исправление: geo-диапазон возвращал значение по умолчанию, если
3374        диапазон включал в себя одну и более сетей размером /16 и не
3375        начинался на границе сети размером /16.
3376 
3377     *) Исправление: блок, используемый в параметре stub в SSI-директиве
3378        include, выводился с MIME-типом "text/plain".
3379 
3380     *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
3381 
3382 
3383 Изменения в nginx 0.8.33                                          01.02.2010
3384 
3385     *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
3386        Спасибо Dan Crowley, Core Security Technologies.
3387 
3388     *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
3389        Спасибо Dan Crowley, Core Security Technologies.
3390 
3391     *) Изменение: теперь keepalive соединения после запросов POST не
3392        запрещаются для MSIE 7.0+.
3393        Спасибо Adam Lounds.
3394 
3395     *) Изменение: теперь keepalive соединения запрещены для Safari.
3396        Спасибо Joshua Sierles.
3397 
3398     *) Исправление: если проксированный или FastCGI запрос внутренне
3399        перенаправлялся в другой проксированный или FastCGI location, то
3400        переменная $upstream_response_time могла иметь ненормально большое
3401        значение; ошибка появилась в 0.8.7.
3402 
3403     *) Исправление: в рабочем процессе мог произойти segmentation fault при
3404        отбрасывания тела запроса; ошибка появилась в 0.8.11.
3405 
3406 
3407 Изменения в nginx 0.8.32                                          11.01.2010
3408 
3409     *) Исправление: ошибки при использовании кодировки UTF-8 в
3410        ngx_http_autoindex_module.
3411        Спасибо Максиму Дунину.
3412 
3413     *) Исправление: именованные выделения в регулярных выражениях работали
3414        только для двух переменных.
3415        Спасибо Максиму Дунину.
3416 
3417     *) Исправление: теперь в строке заголовка запроса "Host" используется
3418        имя "localhost", если в директиве auth_http указан unix domain сокет.
3419        Спасибо Максиму Дунину.
3420 
3421     *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
3422        ответов.
3423        Спасибо Julian Reich.
3424 
3425     *) Исправление: если директива "expires modified" выставляла дату в
3426        прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
3427        отрицательное число.
3428        Спасибо Алексею Капранову.
3429 
3430 
3431 Изменения в nginx 0.8.31                                          23.12.2009
3432 
3433     *) Добавление: теперь директива error_page может перенаправлять ответы
3434        со статусом 301 и 302.
3435 
3436     *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
3437        $geoip_longitude.
3438        Спасибо Arvind Sundararajan.
3439 
3440     *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
3441        EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
3442 
3443     *) Исправление: nginx закрывал соединение при запросе закэшированного
3444        ответа с пустым телом.
3445        Спасибо Piotr Sikora.
3446 
3447     *) Исправление: nginx мог не собираться gcc 4.x при использовании
3448        оптимизации -O2 и выше.
3449        Спасибо Максиму Дунину и Денису Латыпову.
3450 
3451     *) Исправление: регулярные выражения в location всегда тестировались с
3452        учётом регистра; ошибка появилась в 0.8.25.
3453 
3454     *) Исправление: nginx кэшировал 304 ответ, если в заголовке
3455        проксируемого запроса была строка "If-None-Match".
3456        Спасибо Tim Dettrick и David Kostal.
3457 
3458     *) Исправление: nginx/Windows пытался дважды удалить временный файл при
3459        перезаписи уже существующего файла.
3460 
3461 
3462 Изменения в nginx 0.8.30                                          15.12.2009
3463 
3464     *) Изменение: теперь по умолчанию размер буфера директивы
3465        large_client_header_buffers равен 8K.
3466        Спасибо Andrew Cholakian.
3467 
3468     *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
3469 
3470     *) Исправление: nginx/Windows пытался дважды переименовать временный
3471        файл при перезаписи уже существующего файла.
3472 
3473     *) Исправление: ошибки double free or corruption, возникающей, если имя
3474        хоста не было найдено; ошибка появилась в 0.8.22.
3475        Спасибо Константину Свисту.
3476 
3477     *) Исправление: в использовании libatomic на некоторых платформах.
3478        Спасибо W-Mark Kubacki.
3479 
3480 
3481 Изменения в nginx 0.8.29                                          30.11.2009
3482 
3483     *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
3484        ответа "009".
3485 
3486     *) Добавление: директивы addition_types, charset_types, gzip_types,
3487        ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
3488 
3489     *) Добавление: использование встроенных атомарных операций GCC 4.1+.
3490        Спасибо W-Mark Kubacki.
3491 
3492     *) Добавление: параметр --with-libatomic[=DIR] в configure.
3493        Спасибо W-Mark Kubacki.
3494 
3495     *) Исправление: listen unix domain сокет имели ограниченные права
3496        доступа.
3497 
3498     *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
3499        обрабатывались.
3500 
3501     *) Исправление: именованные выделения в регулярных выражениях, заданные
3502        как "?P<...>", не работали в директиве server_name.
3503        Спасибо Максиму Дунину.
3504 
3505 
3506 Изменения в nginx 0.8.28                                          23.11.2009
3507 
3508     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
3509        появилась в 0.8.25.
3510 
3511 
3512 Изменения в nginx 0.8.27                                          17.11.2009
3513 
3514     *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
3515        появилась в 0.8.25.
3516 
3517 
3518 Изменения в nginx 0.8.26                                          16.11.2009
3519 
3520     *) Исправление: ошибки при использовании выделений в директиве rewrite;
3521        ошибка появилась в 0.8.25.
3522 
3523     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3524        появилась в 0.8.25.
3525 
3526 
3527 Изменения в nginx 0.8.25                                          16.11.2009
3528 
3529     *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
3530        не найдена с помощью метода $r->variable().
3531 
3532     *) Добавление: модуль ngx_http_degradation_module.
3533 
3534     *) Добавление: именованные выделения в регулярных выражениях.
3535 
3536     *) Добавление: теперь при использовании переменных в директиве
3537        proxy_pass не требуется задавать URI.
3538 
3539     *) Добавление: теперь директива msie_padding работает и для Chrome.
3540 
3541     *) Исправление: в рабочем процессе происходил segmentation fault при
3542        недостатке памяти; ошибка появилась в 0.8.18.
3543 
3544     *) Исправление: nginx передавал сжатые ответы клиентам, не
3545        поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
3546        ошибка появилась в 0.8.16.
3547 
3548 
3549 Изменения в nginx 0.8.24                                          11.11.2009
3550 
3551     *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
3552        заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
3553 
3554     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3555        появилась в 0.8.23.
3556 
3557     *) Исправление: параметр "unix:" в директиве set_real_ip_from
3558        неправильно наследовался с предыдущего уровня.
3559 
3560     *) Исправление: в resolver'е при определении пустого имени.
3561 
3562 
3563 Изменения в nginx 0.8.23                                          11.11.2009
3564 
3565     *) Безопасность: теперь SSL/TLS renegotiation запрещён.
3566        Спасибо Максиму Дунину.
3567 
3568     *) Исправление: listen unix domain сокет не наследовался во время
3569        обновления без перерыва.
3570 
3571     *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
3572        без ещё одной директивы с любым IP-адресом.
3573 
3574     *) Исправление: segmentation fault и зацикливания в resolver'е.
3575 
3576     *) Исправление: в resolver'е.
3577        Спасибо Артёму Бохану.
3578 
3579 
3580 Изменения в nginx 0.8.22                                          03.11.2009
3581 
3582     *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
3583 
3584     *) Добавление: директивы access и deny поддерживают IPv6.
3585 
3586     *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
3587        заголовках запроса.
3588 
3589     *) Добавление: параметр "unix:" в директиве set_real_ip_from.
3590 
3591     *) Исправление: nginx не удалял unix domain сокет после тестирования
3592        конфигурации.
3593 
3594     *) Исправление: nginx удалял unix domain сокет во время обновления без
3595        перерыва.
3596 
3597     *) Исправление: оператор "!-x" не работал.
3598        Спасибо Максиму Дунину.
3599 
3600     *) Исправление: в рабочем процессе мог произойти segmentation fault при
3601        использовании limit_rate в HTTPS сервере.
3602        Спасибо Максиму Дунину.
3603 
3604     *) Исправление: при записи в лог переменной $limit_rate в рабочем
3605        процессе происходил segmentation fault.
3606        Спасибо Максиму Дунину.
3607 
3608     *) Исправление: в рабочем процессе мог произойти segmentation fault,
3609        если внутри блока server не было директивы listen; ошибка появилась в
3610        0.8.21.
3611 
3612 
3613 Изменения в nginx 0.8.21                                          26.10.2009
3614 
3615     *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
3616 
3617     *) Добавление: директива listen модуля HTTP поддерживает unix domain
3618        сокеты.
3619        Спасибо Hongli Lai.
3620 
3621     *) Добавление: параметр "default_server" в директиве listen.
3622 
3623     *) Добавление: теперь параметр "default" не обязателен для установки
3624        параметров listen-сокета.
3625 
3626     *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
3627        платформах;
3628 
3629     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3630 
3631 
3632 Изменения в nginx 0.8.20                                          14.10.2009
3633 
3634     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3635        "HIGH:!ADH:!MD5".
3636 
3637     *) Исправление: модуль ngx_http_autoindex_module не показывал последний
3638        слэш для линков на каталоги; ошибка появилась в 0.7.15.
3639 
3640     *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
3641        --error-log-path; ошибка появилась в 0.7.53.
3642 
3643     *) Исправление: nginx не считал запятую разделителем в строке
3644        "Cache-Control" в заголовке ответа бэкенда.
3645 
3646     *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
3647        или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
3648        не имел достаточно прав для работы с каталогами верхнего уровня.
3649 
3650     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
3651        FastCGI-сервера не скрывались при кэшировании, если не использовались
3652        директивы fastcgi_hide_header с любыми параметрами.
3653 
3654     *) Исправление: nginx неверно считал размер кэша на диске.
3655 
3656 
3657 Изменения в nginx 0.8.19                                          06.10.2009
3658 
3659     *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
3660 
3661     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3662        "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
3663 
3664     *) Исправление: директива limit_req не работала; ошибка появилась в
3665        0.8.18.
3666 
3667 
3668 Изменения в nginx 0.8.18                                          06.10.2009
3669 
3670     *) Добавление: директива read_ahead.
3671 
3672     *) Добавление: теперь можно использовать несколько директив
3673        perl_modules.
3674 
3675     *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
3676 
3677     *) Исправление: теперь директива limit_req соответствует алгоритму leaky
3678        bucket.
3679        Спасибо Максиму Дунину.
3680 
3681     *) Исправление: nginx не работал на Linux/sparc.
3682        Спасибо Marcus Ramberg.
3683 
3684     *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
3685        ответе на запрос MKCOL.
3686        Спасибо Xie Zhenye.
3687 
3688     *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
3689        появилась в 0.8.11.
3690 
3691     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3692 
3693 
3694 Изменения в nginx 0.8.17                                          28.09.2009
3695 
3696     *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
3697        в заголовке запроса.
3698 
3699     *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
3700 
3701     *) Добавление: переменная $ssl_session_id.
3702 
3703     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3704 
3705 
3706 Изменения в nginx 0.8.16                                          22.09.2009
3707 
3708     *) Добавление: директива image_filter_transparency.
3709 
3710     *) Исправление: директива "addition_types" была неверно названа
3711        "addtion_types".
3712 
3713     *) Исправление: порчи кэша resolver'а.
3714        Спасибо Matthew Dempsky.
3715 
3716     *) Исправление: утечки памяти в resolver'е.
3717        Спасибо Matthew Dempsky.
3718 
3719     *) Исправление: неверная строка запроса в переменной $request
3720        записывалась в access_log только при использовании error_log на
3721        уровне info или debug.
3722 
3723     *) Исправление: в поддержке альфа-канала PNG в модуле
3724        ngx_http_image_filter_module.
3725 
3726     *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
3727        заголовок ответа, если обе директивы gzip_static и gzip_vary были
3728        включены.
3729 
3730     *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
3731        nginx/Windows.
3732 
3733     *) Исправление: ошибки при использовании post_action; ошибка появилась в
3734        0.8.11.
3735        Спасибо Игорю Артемьеву.
3736 
3737 
3738 Изменения в nginx 0.8.15                                          14.09.2009
3739 
3740     *) Безопасность: при обработке специально созданного запроса в рабочем
3741        процессе мог произойти segmentation fault.
3742        Спасибо Chris Ries.
3743 
3744     *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
3745        .domain-some.tld, то имя .sub.domain.tld попадало под маску
3746        .domain.tld.
3747 
3748     *) Исправление: в поддержке прозрачности в модуле
3749        ngx_http_image_filter_module.
3750 
3751     *) Исправление: в файловом AIO.
3752 
3753     *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
3754        появилась в 0.8.11.
3755 
3756     *) Исправление: ошибки при использовании встроенного перла; ошибка
3757        появилась в 0.8.11.
3758 
3759 
3760 Изменения в nginx 0.8.14                                          07.09.2009
3761 
3762     *) Исправление: устаревший закэшированный запрос мог залипнуть в
3763        состоянии "UPDATING".
3764 
3765     *) Исправление: при использовании error_log на уровне info или debug в
3766        рабочем процессе мог произойти segmentation fault.
3767        Спасибо Сергею Боченкову.
3768 
3769     *) Исправление: ошибки при использовании встроенного перла; ошибка
3770        появилась в 0.8.11.
3771 
3772     *) Исправление: директива error_page не перенаправляла ошибку 413;
3773        ошибка появилась в 0.6.10.
3774 
3775 
3776 Изменения в nginx 0.8.13                                          31.08.2009
3777 
3778     *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
3779 
3780     *) Исправление: nginx не собирался без параметра --with-file-aio на
3781        FreeBSD; ошибка появилась в 0.8.12.
3782 
3783 
3784 Изменения в nginx 0.8.12                                          31.08.2009
3785 
3786     *) Добавление: параметр sendfile в директиве aio во FreeBSD.
3787 
3788     *) Исправление: ошибки при использовании try_files; ошибка появилась в
3789        0.8.11.
3790 
3791     *) Исправление: ошибки при использовании memcached; ошибка появилась в
3792        0.8.11.
3793 
3794 
3795 Изменения в nginx 0.8.11                                          28.08.2009
3796 
3797     *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
3798        для MSIE 6.0 SV1.
3799 
3800     *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
3801 
3802     *) Добавление: директива directio_alignment.
3803 
3804 
3805 Изменения в nginx 0.8.10                                          24.08.2009
3806 
3807     *) Исправление: утечек памяти при использовании базы GeoIP City.
3808 
3809     *) Исправление: ошибки при копировании временных файлов в постоянное
3810        место хранения; ошибка появилась в 0.8.9.
3811 
3812 
3813 Изменения в nginx 0.8.9                                           17.08.2009
3814 
3815     *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
3816        процесс; это должно улучшить обработку больших кэшей.
3817 
3818     *) Добавление: теперь временные файлы и постоянное место хранения могут
3819        располагаться на разных файловых системах.
3820 
3821 
3822 Изменения в nginx 0.8.8                                           10.08.2009
3823 
3824     *) Исправление: в обработке заголовков ответа, разделённых в
3825        FastCGI-записях.
3826 
3827     *) Исправление: если запрос обрабатывался в двух проксированных или
3828        FastCGI location'ах и в первом из них использовалось кэширование, то
3829        в рабочем процессе происходил segmentation fault; ошибка появилась в
3830        0.8.7.
3831 
3832 
3833 Изменения в nginx 0.8.7                                           27.07.2009
3834 
3835     *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
3836 
3837     *) Изменение: параметр ask директивы ssl_verify_client изменён на
3838        параметр optional и теперь он проверяет клиентский сертификат, если
3839        он был предложен.
3840        Спасибо Brice Figureau.
3841 
3842     *) Добавление: переменная $ssl_client_verify.
3843        Спасибо Brice Figureau.
3844 
3845     *) Добавление: директива ssl_crl.
3846        Спасибо Brice Figureau.
3847 
3848     *) Добавление: параметр proxy директивы geo.
3849 
3850     *) Добавление: директива image_filter поддерживает переменные для
3851        задания размеров.
3852 
3853     *) Исправление: использование переменной $ssl_client_cert портило
3854        память; ошибка появилась в 0.7.7.
3855        Спасибо Сергею Журавлёву.
3856 
3857     *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
3858        передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
3859        "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
3860        Спасибо Максиму Дунину.
3861 
3862     *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
3863        заголовке ответа бэкенда; ошибка появилась в 0.7.44.
3864        Спасибо Максиму Дунину.
3865 
3866     *) Исправление: ошибки "[alert] zero size buf" при получении пустых
3867        ответы в подзапросах; ошибка появилась в 0.8.5.
3868 
3869 
3870 Изменения в nginx 0.8.6                                           20.07.2009
3871 
3872     *) Добавление: модуль ngx_http_geoip_module.
3873 
3874     *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
3875        document" для правильного документа.
3876        Спасибо Kuramoto Eiji.
3877 
3878     *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
3879        location'ов, заданных регулярным выражением, теперь всегда делается
3880        сравнение без учёта регистра символов.
3881 
3882     *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
3883        Спасибо Hugo Leisink.
3884 
3885     *) Исправление: имя файла указанного в --conf-path игнорировалось при
3886        установке; ошибка появилась в 0.6.6.
3887        Спасибо Максиму Дунину.
3888 
3889 
3890 Изменения в nginx 0.8.5                                           13.07.2009
3891 
3892     *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
3893 
3894     *) Исправление: при использовании HTTP Basic-аутентификации на Windows
3895        для неверных имени/пароля возвращалась 500-ая ошибка.
3896 
3897     *) Исправление: ответы модуля ngx_http_perl_module не работали в
3898        подзапросах.
3899 
3900     *) Исправление: в модуле ngx_http_limit_req_module.
3901        Спасибо Максиму Дунину.
3902 
3903 
3904 Изменения в nginx 0.8.4                                           22.06.2009
3905 
3906     *) Исправление: nginx не собирался с параметром --without-http-cache;
3907        ошибка появилась в 0.8.3.
3908 
3909 
3910 Изменения в nginx 0.8.3                                           19.06.2009
3911 
3912     *) Добавление: переменная $upstream_cache_status.
3913 
3914     *) Исправление: nginx не собирался на MacOSX 10.6.
3915 
3916     *) Исправление: nginx не собирался с параметром --without-http-cache;
3917        ошибка появилась в 0.8.2.
3918 
3919     *) Исправление: если использовался перехват 401 ошибки от бэкенда и
3920        бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
3921        в рабочем процессе происходил segmentation fault.
3922        Спасибо Евгению Мычло.
3923 
3924 
3925 Изменения в nginx 0.8.2                                           15.06.2009
3926 
3927     *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
3928        на старте.
3929 
3930     *) Исправление: open_file_cache мог кэшировать открытые файлы очень
3931        долго; ошибка появилась в 0.7.4.
3932 
3933 
3934 Изменения в nginx 0.8.1                                           08.06.2009
3935 
3936     *) Добавление: параметр updating в директивах proxy_cache_use_stale и
3937        fastcgi_cache_use_stale.
3938 
3939     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3940        заголовке запроса клиента передавались бэкенду при кэшировании, если
3941        не использовалась директива proxy_set_header с любыми параметрами.
3942 
3943     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
3944        не скрывались при кэшировании, если не использовались директивы
3945        proxy_hide_header/fastcgi_hide_header с любыми параметрами.
3946 
3947     *) Исправление: модуль ngx_http_image_filter_module не понимал формат
3948        GIF87a.
3949        Спасибо Денису Ильиных.
3950 
3951     *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
3952        появилась в 0.7.56.
3953 
3954 
3955 Изменения в nginx 0.8.0                                           02.06.2009
3956 
3957     *) Добавление: директива keepalive_requests.
3958 
3959     *) Добавление: директива limit_rate_after.
3960        Спасибо Ivan Debnar.
3961 
3962     *) Исправление: XSLT-фильтр не работал в подзапросах.
3963 
3964     *) Исправление: обработке относительных путей в nginx/Windows.
3965 
3966     *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
3967        fastcgi_cache в nginx/Windows.
3968 
3969     *) Исправление: в обработке ошибок выделения памяти.
3970        Спасибо Максиму Дунину и Кириллу Коринскому.
3971 
3972 
3973 Изменения в nginx 0.7.59                                          25.05.2009
3974 
3975     *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
3976 
3977     *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
3978        Спасибо Максиму Дунину.
3979 
3980     *) Исправление: при использовании переменной $request_body в рабочем
3981        процессе происходил segmentation fault, если в запросе не было тела;
3982        ошибка появилась в 0.7.58.
3983 
3984     *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
3985        ошибка появилась в 0.7.56.
3986 
3987     *) Исправление: ответы модуля ngx_http_xslt_filter_module не
3988        обрабатывались SSI-, charset- и gzip-фильтрами.
3989 
3990     *) Исправление: директива charset не ставила кодировку для ответов
3991        модуля ngx_http_gzip_static_module.
3992 
3993 
3994 Изменения в nginx 0.7.58                                          18.05.2009
3995 
3996     *) Добавление: директива listen почтового прокси-сервера поддерживает
3997        IPv6.
3998 
3999     *) Добавление: директива image_filter_jpeg_quality.
4000 
4001     *) Добавление: директива client_body_in_single_buffer.
4002 
4003     *) Добавление: переменная $request_body.
4004 
4005     *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
4006        файлов, содержащих символ ":".
4007 
4008     *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
4009        0.7.53.
4010        Спасибо Денису Латыпову.
4011 
4012 
4013 Изменения в nginx 0.7.57                                          12.05.2009
4014 
4015     *) Исправление: при перенаправлении ошибок модуля
4016        ngx_http_image_filter_module в именованный location в рабочем
4017        процессе происходил floating-point fault; ошибка появилась в 0.7.56.
4018 
4019 
4020 Изменения в nginx 0.7.56                                          11.05.2009
4021 
4022     *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
4023        HTTP.
4024 
4025     *) Исправление: в модуле ngx_http_image_filter_module.
4026 
4027 
4028 Изменения в nginx 0.7.55                                          06.05.2009
4029 
4030     *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
4031        fastcgi_cache_use_stale не работали.
4032 
4033     *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
4034        заголовка.
4035 
4036     *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
4037        nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
4038 
4039     *) Исправление: при использовании директивы debug_connection в рабочем
4040        процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
4041 
4042     *) Исправление: в сборке модуля ngx_http_image_filter_module.
4043 
4044     *) Исправление: файлы больше 2G не передавались с использованием
4045        $r->sendfile.
4046        Спасибо Максиму Дунину.
4047 
4048 
4049 Изменения в nginx 0.7.54                                          01.05.2009
4050 
4051     *) Добавление: модуль ngx_http_image_filter_module.
4052 
4053     *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
4054 
4055     *) Исправление: при использовании переменных "open_file_cache_errors on"
4056        в рабочем процессе мог произойти segmentation fault; ошибка появилась
4057        в 0.7.53.
4058 
4059     *) Исправление: директива "port_in_redirect off" не работала; ошибка
4060        появилась в 0.7.39.
4061 
4062     *) Исправление: улучшение обработки ошибок метода select.
4063 
4064     *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
4065 
4066     *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
4067        ошибка появилась в 0.7.53.
4068 
4069 
4070 Изменения в nginx 0.7.53                                          27.04.2009
4071 
4072     *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
4073        самого начала работы.
4074 
4075     *) Добавление: теперь ошибки и предупреждения при старте записываются в
4076        error_log и выводятся на stderr.
4077 
4078     *) Добавление: при сборке с пустым параметром --prefix= nginx использует
4079        как префикс каталог, в котором он был запущен.
4080 
4081     *) Добавление: ключ -p.
4082 
4083     *) Добавление: ключ -s на Unix-платформах.
4084 
4085     *) Добавление: ключи -? и -h.
4086        Спасибо Jerome Loyet.
4087 
4088     *) Добавление: теперь ключи можно задавать в сжатой форме.
4089 
4090     *) Исправление: nginx/Windows не работал, если файл конфигурации был
4091        задан ключом -c.
4092 
4093     *) Исправление: при использовании директив proxy_store, fastcgi_store,
4094        proxy_cache или fastcgi_cache временные файлы могли не удаляться.
4095        Спасибо Максиму Дунину.
4096 
4097     *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
4098        почтового прокси-сервера передавалось неверное значение; ошибка
4099        появилась в 0.7.34.
4100        Спасибо Simon Lecaille.
4101 
4102     *) Исправление: при логгировании на Linux не писались текстовые описания
4103        системных ошибок; ошибка появилась в 0.7.45.
4104 
4105     *) Исправление: директива fastcgi_cache_min_uses не работала.
4106        Спасибо Андрею Воробьёву.
4107 
4108 
4109 Изменения в nginx 0.7.52                                          20.04.2009
4110 
4111     *) Добавление: первая бинарная версия под Windows.
4112 
4113     *) Исправление: корректная обработка метода HEAD при кэшировании.
4114 
4115     *) Исправление: корректная обработка строк "If-Modified-Since",
4116        "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
4117 
4118     *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
4119        заголовке ответа для закэшированных ответов.
4120 
4121     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4122        perl поддерживал потоки, то при выходе основного процесса могла
4123        выдаваться ошибка "panic: MUTEX_LOCK".
4124 
4125     *) Исправление: nginx не собирался с параметром --without-http-cache;
4126        ошибка появилась в 0.7.48.
4127 
4128     *) Исправление: nginx не собирался на платформах, отличных от i386,
4129        amd64, sparc и ppc; ошибка появилась в 0.7.42.
4130 
4131 
4132 Изменения в nginx 0.7.51                                          12.04.2009
4133 
4134     *) Добавление: директива try_files поддерживает код ответа в последнем
4135        параметре.
4136 
4137     *) Добавление: теперь в директиве return можно использовать любой код
4138        ответа.
4139 
4140     *) Исправление: директива error_page делала внешний редирект без строки
4141        запроса; ошибка появилась в 0.7.44.
4142 
4143     *) Исправление: если сервера слушали на нескольких явно описанных
4144        адресах, то виртуальные сервера могли не работать; ошибка появилась в
4145        0.7.39.
4146 
4147 
4148 Изменения в nginx 0.7.50                                          06.04.2009
4149 
4150     *) Исправление: переменные $arg_... не работали; ошибка появилась в
4151        0.7.49.
4152 
4153 
4154 Изменения в nginx 0.7.49                                          06.04.2009
4155 
4156     *) Исправление: при использовании переменных $arg_... в рабочем процессе
4157        мог произойти segmentation fault; ошибка появилась в 0.7.48.
4158 
4159 
4160 Изменения в nginx 0.7.48                                          06.04.2009
4161 
4162     *) Добавление: директива proxy_cache_key.
4163 
4164     *) Исправление: теперь nginx учитывает при кэшировании строки
4165        "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
4166        бэкенда.
4167 
4168     *) Исправление: теперь nginx кэширует только ответы на запросы GET.
4169 
4170     *) Исправление: директива fastcgi_cache_key не наследовалась.
4171 
4172     *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
4173        Спасибо Максиму Дунину.
4174 
4175     *) Исправление: nginx не собирался с библиотекой uclibc.
4176        Спасибо Timothy Redaelli.
4177 
4178     *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
4179        в 0.7.46.
4180 
4181 
4182 Изменения в nginx 0.7.47                                          01.04.2009
4183 
4184     *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
4185        ошибка появилась в 0.7.46.
4186 
4187     *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
4188 
4189     *) Исправление: если использовался параметр max_size, то cache manager
4190        мог удалить весь кэш; ошибка появилась в 0.7.46.
4191 
4192     *) Изменение: в рабочем процессе мог произойти segmentation fault, если
4193        директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
4194        fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
4195        в 0.7.46.
4196 
4197     *) Исправление: в рабочем процессе мог произойти segmentation fault при
4198        перенаправлении запроса проксированному или FastCGI-серверу с помощью
4199        error_page или try_files; ошибка появилась в 0.7.44.
4200 
4201 
4202 Изменения в nginx 0.7.46                                          30.03.2009
4203 
4204     *) Исправление: архив предыдущего релиза был неверным.
4205 
4206 
4207 Изменения в nginx 0.7.45                                          30.03.2009
4208 
4209     *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
4210        задавать на разных уровнях.
4211 
4212     *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
4213 
4214     *) Добавление: параметр max_size в директиве proxy_cache_path.
4215 
4216     *) Добавление: предварительная поддержка кэширования в модуле
4217        ngx_http_fastcgi_module.
4218 
4219     *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
4220        указываются названия директивы и зоны.
4221 
4222     *) Исправление: директива "add_header last-modified ''" не удаляла в
4223        заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
4224 
4225     *) Исправление: в директиве auth_basic_user_file не работал
4226        относительный путь, заданный строкой без переменных; ошибка появилась
4227        в 0.7.44.
4228        Спасибо Jerome Loyet.
4229 
4230     *) Исправление: в директиве alias, заданной переменными без ссылок на
4231        выделения в регулярных выражениях; ошибка появилась в 0.7.42.
4232 
4233 
4234 Изменения в nginx 0.7.44                                          23.03.2009
4235 
4236     *) Добавление: предварительная поддержка кэширования в модуле
4237        ngx_http_proxy_module.
4238 
4239     *) Добавление: параметр --with-pcre в configure.
4240 
4241     *) Добавление: теперь директива try_files может быть использована на
4242        уровне server.
4243 
4244     *) Исправление: директива try_files неправильно обрабатывала строку
4245        запроса в последнем параметре.
4246 
4247     *) Исправление: директива try_files могла неверно тестировать каталоги.
4248 
4249     *) Исправление: если для пары адрес:порт описан только один сервер, то
4250        выделения в регулярных выражениях в директиве server_name не
4251        работали.
4252 
4253 
4254 Изменения в nginx 0.7.43                                          18.03.2009
4255 
4256     *) Исправление: запрос обрабатывался неверно, если директива root
4257        использовала переменные; ошибка появилась в 0.7.42.
4258 
4259     *) Исправление: если сервер слушал на адресах типа "*", то значение
4260        переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
4261 
4262 
4263 Изменения в nginx 0.7.42                                          16.03.2009
4264 
4265     *) Изменение: ошибка "Invalid argument", возвращаемая
4266        setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
4267 
4268     *) Изменение: при отсутствии файла, указанного в директиве
4269        auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
4270 
4271     *) Добавление: директива auth_basic_user_file поддерживает переменные.
4272        Спасибо Кириллу Коринскому.
4273 
4274     *) Добавление: директива listen поддерживает параметр ipv6only.
4275        Спасибо Zhang Hua.
4276 
4277     *) Исправление: в директиве alias со ссылками на выделения в регулярных
4278        выражениях; ошибка появилась в 0.7.40.
4279 
4280     *) Исправление: совместимость с Tru64 UNIX.
4281        Спасибо Dustin Marquess.
4282 
4283     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4284        в 0.7.41.
4285 
4286 
4287 Изменения в nginx 0.7.41                                          11.03.2009
4288 
4289     *) Исправление: в рабочем процессе мог произойти segmentation fault,
4290        если в server_name или location были выделения в регулярных
4291        выражениях; ошибка появилась в 0.7.40.
4292        Спасибо Владимиру Сопоту.
4293 
4294 
4295 Изменения в nginx 0.7.40                                          09.03.2009
4296 
4297     *) Добавление: директива location поддерживает выделения в регулярных
4298        выражениях.
4299 
4300     *) Добавление: директиву alias с ссылками на выделения в регулярных
4301        выражениях можно использовать внутри location'а, заданного регулярным
4302        выражением с выделениями.
4303 
4304     *) Добавление: директива server_name поддерживает выделения в регулярных
4305        выражениях.
4306 
4307     *) Изменение: модуль ngx_http_autoindex_module не показывал последний
4308        слэш для каталогов на файловой системе XFS; ошибка появилась в
4309        0.7.15.
4310        Спасибо Дмитрию Кузьменко.
4311 
4312 
4313 Изменения в nginx 0.7.39                                          02.03.2009
4314 
4315     *) Исправление: при включённом сжатии большие ответы с использованием
4316        SSI могли зависать; ошибка появилась в 0.7.28.
4317        Спасибо Артёму Бохану.
4318 
4319     *) Исправление: при использовании коротких статических вариантов в
4320        директиве try_files в рабочем процессе мог произойти segmentation
4321        fault.
4322 
4323 
4324 Изменения в nginx 0.7.38                                          23.02.2009
4325 
4326     *) Добавление: логгирование ошибок аутентификации.
4327 
4328     *) Исправление: имя/пароль, заданные в auth_basic_user_file,
4329        игнорировались после нечётного числа пустых строк.
4330        Спасибо Александру Загребину.
4331 
4332     *) Исправление: при использовании длинного пути в unix domain сокете в
4333        главном процессе происходил segmentation fault; ошибка появилась в
4334        0.7.36.
4335 
4336 
4337 Изменения в nginx 0.7.37                                          21.02.2009
4338 
4339     *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
4340        появилась в 0.7.36.
4341 
4342 
4343 Изменения в nginx 0.7.36                                          21.02.2009
4344 
4345     *) Добавление: предварительная поддержка IPv6; директива listen модуля
4346        HTTP поддерживает IPv6.
4347 
4348     *) Исправление: переменная $ancient_browser не работала для браузеров,
4349        заданных директивами modern_browser.
4350 
4351 
4352 Изменения в nginx 0.7.35                                          16.02.2009
4353 
4354     *) Исправление: директива ssl_engine не использовала SSL-акселератор для
4355        асимметричных шифров.
4356        Спасибо Marcin Gozdalik.
4357 
4358     *) Исправление: директива try_files выставляла MIME-type, исходя из
4359        расширения первоначального запроса.
4360 
4361     *) Исправление: в директивах server_name, valid_referers и map
4362        неправильно обрабатывались имена вида "*domain.tld", если
4363        использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
4364        ошибка появилась в 0.7.9.
4365 
4366 
4367 Изменения в nginx 0.7.34                                          10.02.2009
4368 
4369     *) Добавление: параметр off в директиве if_modified_since.
4370 
4371     *) Добавление: теперь после команды XCLIENT nginx посылает команду
4372        HELO/EHLO.
4373        Спасибо Максиму Дунину.
4374 
4375     *) Добавление: поддержка Microsoft-специфичного режима
4376        "AUTH LOGIN with User Name" в почтовом прокси-сервере.
4377        Спасибо Максиму Дунину.
4378 
4379     *) Исправление: в директиве rewrite, возвращающей редирект, старые
4380        аргументы присоединялись к новым через символ "?" вместо "&";
4381        ошибка появилась в 0.1.18.
4382        Спасибо Максиму Дунину.
4383 
4384     *) Исправление: nginx не собирался на AIX.
4385 
4386 
4387 Изменения в nginx 0.7.33                                          02.02.2009
4388 
4389     *) Исправление: если на запрос с телом возвращался редирект, то ответ
4390        мог быть двойным при использовании методов epoll или rtsig.
4391        Спасибо Eden Li.
4392 
4393     *) Исправление: для некоторых типов редиректов в переменной
4394        $sent_http_location было пустое значение.
4395 
4396     *) Исправление: при использовании директивы resolver в SMTP
4397        прокси-сервере в рабочем процессе мог произойти segmentation fault.
4398 
4399 
4400 Изменения в nginx 0.7.32                                          26.01.2009
4401 
4402     *) Добавление: теперь в директиве try_files можно явно указать проверку
4403        каталога.
4404 
4405     *) Исправление: fastcgi_store не всегда сохранял файлы.
4406 
4407     *) Исправление: в гео-диапазонах.
4408 
4409     *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
4410        если nginx был собран без отладки.
4411        Спасибо Андрею Квасову.
4412 
4413 
4414 Изменения в nginx 0.7.31                                          19.01.2009
4415 
4416     *) Изменение: теперь директива try_files проверяет только файлы,
4417        игнорируя каталоги.
4418 
4419     *) Добавление: директива fastcgi_split_path_info.
4420 
4421     *) Исправления в поддержке строки "Expect" в заголовке запроса.
4422 
4423     *) Исправления в гео-диапазонах.
4424 
4425     *) Исправление: при отсутствии ответа ngx_http_memcached_module
4426        возвращал в теле ответа строку "END" вместо 404-ой страницы по
4427        умолчанию; ошибка появилась в 0.7.18.
4428        Спасибо Максиму Дунину.
4429 
4430     *) Исправление: при проксировании SMTP nginx выдавал сообщение
4431        "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
4432        Спасибо Максиму Дунину.
4433 
4434 
4435 Изменения в nginx 0.7.30                                          24.12.2008
4436 
4437     *) Исправление: в рабочем процессе происходил segmentation fault, если в
4438        директивах fastcgi_pass или proxy_pass использовались переменные и
4439        имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
4440 
4441 
4442 Изменения в nginx 0.7.29                                          24.12.2008
4443 
4444     *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
4445        переменные при использовании unix domain сокетов.
4446 
4447     *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
4448 
4449     *) Исправление: ответ "100 Continue" выдавался для запросов версии
4450        HTTP/1.0;
4451        Спасибо Максиму Дунину.
4452 
4453     *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
4454        под Cygwin.
4455 
4456 
4457 Изменения в nginx 0.7.28                                          22.12.2008
4458 
4459     *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
4460 
4461     *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
4462        с 4 4k/8k на 32 4k или 16 8k.
4463 
4464 
4465 Изменения в nginx 0.7.27                                          15.12.2008
4466 
4467     *) Добавление: директива try_files.
4468 
4469     *) Добавление: директива fastcgi_pass поддерживает переменные.
4470 
4471     *) Добавление: теперь директива geo может брать адрес из переменной.
4472        Спасибо Андрею Нигматулину.
4473 
4474     *) Добавление: теперь модификатор location'а можно указывать без пробела
4475        перед названием.
4476 
4477     *) Добавление: переменная $upstream_response_length.
4478 
4479     *) Исправление: теперь директива add_header не добавляет пустое
4480        значение.
4481 
4482     *) Исправление: при запросе файла нулевой длины nginx закрывал
4483        соединение, ничего не передав; ошибка появилась в 0.7.25.
4484 
4485     *) Исправление: метод MOVE не мог перемещать файл в несуществующий
4486        каталог.
4487 
4488     *) Исправление: если в сервере не был описан ни один именованный
4489        location, но такой location использовался в директиве error_page, то
4490        в рабочем процессе происходил segmentation fault.
4491        Спасибо Сергею Боченкову.
4492 
4493 
4494 Изменения в nginx 0.7.26                                          08.12.2008
4495 
4496     *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
4497 
4498 
4499 Изменения в nginx 0.7.25                                          08.12.2008
4500 
4501     *) Изменение: в обработке подзапросов.
4502 
4503     *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
4504        заголовке запроса.
4505 
4506     *) Исправление: теперь директивы limit_req и limit_conn указывают
4507        причину запрета запроса.
4508 
4509     *) Исправление: в параметре delete директивы geo.
4510 
4511 
4512 Изменения в nginx 0.7.24                                          01.12.2008
4513 
4514     *) Добавление: директива if_modified_since.
4515 
4516     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
4517        ответом сервер передавал много сообщений в stderr.
4518 
4519     *) Исправление: переменные "$cookie_..." не работали в SSI and в
4520        перловом модуле.
4521 
4522 
4523 Изменения в nginx 0.7.23                                          27.11.2008
4524 
4525     *) Добавление: параметры delete и ranges в директиве geo.
4526 
4527     *) Добавление: ускорение загрузки geo-базы с большим числом значений.
4528 
4529     *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
4530 
4531 
4532 Изменения в nginx 0.7.22                                          20.11.2008
4533 
4534     *) Добавление: параметр none в директиве smtp_auth.
4535        Спасибо Максиму Дунину.
4536 
4537     *) Добавление: переменные "$cookie_...".
4538 
4539     *) Исправление: директива directio не работала с файловой системой XFS.
4540 
4541     *) Исправление: resolver не понимал большие DNS-ответы.
4542        Спасибо Zyb.
4543 
4544 
4545 Изменения в nginx 0.7.21                                          11.11.2008
4546 
4547     *) Изменения в модуле ngx_http_limit_req_module.
4548 
4549     *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
4550        Спасибо Денису Латыпову.
4551 
4552     *) Изменение: совместимость с glibc 2.3.
4553        Спасибо Eric Benson и Максиму Дунину.
4554 
4555     *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
4556        ошибка появилась в 0.7.6.
4557 
4558 
4559 Изменения в nginx 0.7.20                                          10.11.2008
4560 
4561     *) Изменения в модуле ngx_http_gzip_filter_module.
4562 
4563     *) Добавление: модуль ngx_http_limit_req_module.
4564 
4565     *) Исправление: на платформах sparc и ppc рабочие процессы могли
4566        выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
4567        Спасибо Максиму Дунину.
4568 
4569     *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
4570        работали; ошибка появилась в 0.7.12.
4571 
4572     *) Исправление: при использовании HTTPS запросы могли завершаться с
4573        ошибкой "bad write retry".
4574 
4575     *) Исправление: модуль ngx_http_secure_link_module не работал внутри
4576        location'ов с именами меньше 3 символов.
4577 
4578     *) Исправление: переменная $server_addr могла не иметь значения.
4579 
4580 
4581 Изменения в nginx 0.7.19                                          13.10.2008
4582 
4583     *) Исправление: обновление номера версии.
4584 
4585 
4586 Изменения в nginx 0.7.18                                          13.10.2008
4587 
4588     *) Изменение: директива underscores_in_headers; теперь nginx по
4589        умолчанию не разрешает подчёркивания в именах строк в заголовке
4590        запроса клиента.
4591 
4592     *) Добавление: модуль ngx_http_secure_link_module.
4593 
4594     *) Добавление: директива real_ip_header поддерживает любой заголовок.
4595 
4596     *) Добавление: директива log_subrequest.
4597 
4598     *) Добавление: переменная $realpath_root.
4599 
4600     *) Добавление: параметры http_502 и http_504 в директиве
4601        proxy_next_upstream.
4602 
4603     *) Исправление: параметр http_503 в директивах proxy_next_upstream или
4604        fastcgi_next_upstream не работал.
4605 
4606     *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
4607        для запросов HEAD.
4608 
4609     *) Исправление: теперь accept-лимит зависит от числа worker_connections.
4610 
4611 
4612 Изменения в nginx 0.7.17                                          15.09.2008
4613 
4614     *) Добавление: директива directio теперь работает на Linux.
4615 
4616     *) Добавление: переменная $pid.
4617 
4618     *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
4619        при использовании open_file_cache.
4620 
4621     *) Исправление: access_log с переменными не работал на Linux; ошибка
4622        появилась в 0.7.7.
4623 
4624     *) Исправление: модуль ngx_http_charset_module не понимал название
4625        кодировки в кавычках, полученное от бэкенда.
4626 
4627 
4628 Изменения в nginx 0.7.16                                          08.09.2008
4629 
4630     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
4631        появилась в 0.7.15.
4632 
4633 
4634 Изменения в nginx 0.7.15                                          08.09.2008
4635 
4636     *) Добавление: модуль ngx_http_random_index_module.
4637 
4638     *) Добавление: директива directio оптимизирована для запросов файлов,
4639        начинающихся с произвольной позиции.
4640 
4641     *) Добавление: директива directio при необходимости запрещает
4642        использование sendfile.
4643 
4644     *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
4645        заголовке запроса клиента.
4646 
4647 
4648 Изменения в nginx 0.7.14                                          01.09.2008
4649 
4650     *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
4651        имеют значений по умолчанию.
4652 
4653     *) Добавление: директива listen поддерживает параметр ssl.
4654 
4655     *) Добавление: теперь при переконфигурации nginx учитывает изменение
4656        временной зоны на FreeBSD и Linux.
4657 
4658     *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
4659        прочие, не устанавливались, если сервером по умолчанию был не первый
4660        сервер.
4661 
4662     *) Исправление: при использовании в качестве аргументов части URI,
4663        выделенного с помощью директивы rewrite, эти аргументы не
4664        экранировались.
4665 
4666     *) Исправление: улучшения тестирования правильности конфигурационного
4667        файла.
4668 
4669 
4670 Изменения в nginx 0.7.13                                          26.08.2008
4671 
4672     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4673        в 0.7.12.
4674 
4675 
4676 Изменения в nginx 0.7.12                                          26.08.2008
4677 
4678     *) Добавление: директива server_name поддерживает пустое имя "".
4679 
4680     *) Добавление: директива gzip_disable поддерживает специальную маску
4681        msie6.
4682 
4683     *) Исправление: при использовании параметра max_fails=0 в upstream'е с
4684        несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
4685        Спасибо Максиму Дунину.
4686 
4687     *) Исправление: при перенаправлении запроса с помощью директивы
4688        error_page терялось тело запроса.
4689 
4690     *) Исправление: при перенаправлении запроса с методом HEAD с помощью
4691        директивы error_page возвращался полный ответ.
4692 
4693     *) Исправление: метод $r->header_in() не возвращал значения строк
4694        "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
4695        появилась в 0.7.0.
4696 
4697 
4698 Изменения в nginx 0.7.11                                          18.08.2008
4699 
4700     *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
4701        MIME-типом text/css.
4702 
4703     *) Добавление: теперь nginx возвращает код 405 для метода POST при
4704        запросе статического файла, только если файл существует.
4705 
4706     *) Добавление: директива proxy_ssl_session_reuse.
4707 
4708     *) Исправление: после перенаправления запроса с помощью
4709        "X-Accel-Redirect" директива proxy_pass без URI могла использовать
4710        оригинальный запрос.
4711 
4712     *) Исправление: если у каталога были права доступа только на поиск
4713        файлов и первый индексный файл отсутствовал, то nginx возвращал
4714        ошибку 500.
4715 
4716     *) Исправление: ошибок во вложенных location'ах; ошибки появились в
4717        0.7.1.
4718 
4719 
4720 Изменения в nginx 0.7.10                                          13.08.2008
4721 
4722     *) Исправление: ошибок в директивах addition_types, charset_types,
4723        gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
4724        появились в 0.7.9.
4725 
4726     *) Исправление: рекурсивной error_page для 500 ошибки.
4727 
4728     *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
4729        не для всего keepalive соединения, а для каждого запроса по этому
4730        соединению.
4731 
4732 
4733 Изменения в nginx 0.7.9                                           12.08.2008
4734 
4735     *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
4736        следующими MIME-типами: text/html, text/css, text/xml, text/plain,
4737        text/vnd.wap.wml, application/x-javascript и application/rss+xml.
4738 
4739     *) Добавление: директивы charset_types и addition_types.
4740 
4741     *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
4742        используют хэш.
4743 
4744     *) Добавление: модуль ngx_cpp_test_module.
4745 
4746     *) Добавление: директива expires поддерживает суточное время.
4747 
4748     *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
4749        Спасибо Денису Латыпову и Максиму Дунину.
4750 
4751     *) Исправление: директива log_not_found не работала при поиске индексных
4752        файлов.
4753 
4754     *) Исправление: HTTPS-соединения могли зависнуть, если использовались
4755        методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
4756 
4757     *) Исправление: если в директивах server_name, valid_referers и map
4758        использовалась маска вида "*.domain.tld" и при этом полное имя вида
4759        "domain.tld" не было описано, то это имя попадало под маску; ошибка
4760        появилась в 0.3.18.
4761 
4762 
4763 Изменения в nginx 0.7.8                                           04.08.2008
4764 
4765     *) Добавление: модуль ngx_http_xslt_module.
4766 
4767     *) Добавление: переменные "$arg_...".
4768 
4769     *) Добавление: поддержка directio в Solaris.
4770        Спасибо Ivan Debnar.
4771 
4772     *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
4773        в заголовке ответа без строки статуса, то nginx использует код
4774        статуса 302.
4775        Спасибо Максиму Дунину.
4776 
4777 
4778 Изменения в nginx 0.7.7                                           30.07.2008
4779 
4780     *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
4781        временной.
4782 
4783     *) Изменение: значением переменной $ssl_client_cert теперь является
4784        сертификат, перед каждой строкой которого, кроме первой, вставляется
4785        символ табуляции; неизменённый сертификат доступен через переменную
4786        $ssl_client_raw_cert.
4787 
4788     *) Добавление: параметр ask директивы ssl_verify_client.
4789 
4790     *) Добавление: улучшения в обработке byte-range.
4791        Спасибо Максиму Дунину.
4792 
4793     *) Добавление: директива directio.
4794        Спасибо Jiang Hong.
4795 
4796     *) Добавление: поддержка sendfile() в MacOSX 10.5.
4797 
4798     *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
4799        делается сравнение без учёта регистра символов; однако, сравнение
4800        ограничено только однобайтными locale'ями.
4801 
4802     *) Исправление: соединения почтового прокси-сервера зависали в режиме
4803        SSL, если использовались методы select, poll или /dev/poll.
4804 
4805     *) Исправление: ошибки при использовании кодировки UTF-8 в
4806        ngx_http_autoindex_module.
4807 
4808 
4809 Изменения в nginx 0.7.6                                           07.07.2008
4810 
4811     *) Исправление: теперь при использовании переменных в директиве
4812        access_log всегда проверяется существовании root'а для запроса.
4813 
4814     *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
4815        значений в аргументах запроса.
4816 
4817 
4818 Изменения в nginx 0.7.5                                           01.07.2008
4819 
4820     *) Исправления в поддержке переменных в директиве access_log; ошибки
4821        появились в 0.7.4.
4822 
4823     *) Исправление: nginx не собирался с параметром
4824        --without-http_gzip_module; ошибка появилась в 0.7.3.
4825        Спасибо Кириллу Коринскому.
4826 
4827     *) Исправление: при совместном использовании sub_filter и SSI ответы
4828        могли передаваться неверно.
4829 
4830 
4831 Изменения в nginx 0.7.4                                           30.06.2008
4832 
4833     *) Добавление: директива access_log поддерживает переменные.
4834 
4835     *) Добавление: директива open_log_file_cache.
4836 
4837     *) Добавление: ключ -g.
4838 
4839     *) Добавление: поддержка строки "Expect" в заголовке запроса.
4840 
4841     *) Исправление: большие включения в SSI могли передавались не полностью.
4842 
4843 
4844 Изменения в nginx 0.7.3                                           23.06.2008
4845 
4846     *) Изменение: MIME-тип для расширения rss изменён на
4847        "application/rss+xml".
4848 
4849     *) Изменение: теперь директива "gzip_vary on" выдаёт строку
4850        "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
4851 
4852     *) Добавление: теперь при использовании протокола "https://" в директиве
4853        rewrite автоматически делается редирект.
4854 
4855     *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
4856        ошибка появилась в 0.6.9.
4857 
4858 
4859 Изменения в nginx 0.7.2                                           16.06.2008
4860 
4861     *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
4862 
4863     *) Добавление: директива ssl_dhparam.
4864 
4865     *) Добавление: переменная $ssl_client_cert.
4866        Спасибо Manlio Perillo.
4867 
4868     *) Исправление: после изменения URI с помощью директивы rewrite nginx не
4869        искал новый location; ошибка появилась в 0.7.1.
4870        Спасибо Максиму Дунину.
4871 
4872     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4873        в 0.7.1.
4874 
4875     *) Исправление: при редиректе запроса к каталогу с добавлением слэша
4876        nginx не добавлял аргументы из оригинального запроса.
4877 
4878 
4879 Изменения в nginx 0.7.1                                           26.05.2008
4880 
4881     *) Изменение: теперь поиск location'а делается с помощью дерева.
4882 
4883     *) Изменение: директива optimize_server_names упразднена в связи с
4884        появлением директивы server_name_in_redirect.
4885 
4886     *) Изменение: некоторые давно устаревшие директивы больше не
4887        поддерживаются.
4888 
4889     *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
4890        параметр используется по умолчанию.
4891        Спасибо Rob Mueller.
4892 
4893     *) Исправление: рабочие процессы могли не реагировать на сигналы
4894        переконфигурации и ротации логов.
4895 
4896     *) Исправление: nginx не собирался на последних Fedora 9 Linux.
4897        Спасибо Roxis.
4898 
4899 
4900 Изменения в nginx 0.7.0                                           19.05.2008
4901 
4902     *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
4903        записываются в виде \xXX.
4904        Спасибо Максиму Дунину.
4905 
4906     *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
4907        запроса.
4908 
4909     *) Добавление: директива expires поддерживает флаг modified.
4910 
4911     *) Добавление: переменные $uid_got и $uid_set можно использовать на
4912        любой стадии обработки запроса.
4913 
4914     *) Добавление: переменная $hostname.
4915        Спасибо Андрею Нигматулину.
4916 
4917     *) Добавление: поддержка DESTDIR.
4918        Спасибо Todd A. Fisher и Andras Voroskoi.
4919 
4920     *) Исправление: при использовании keepalive на Linux в рабочем процессе
4921        мог произойти segmentation fault.
4922 
4923 
4924 Изменения в nginx 0.6.31                                          12.05.2008
4925 
4926     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
4927        заголовка ответа была в конце записи FastCGI; ошибка появилась в
4928        0.6.2.
4929        Спасибо Сергею Серову.
4930 
4931     *) Исправление: при удалении файла и использовании директивы
4932        open_file_cache_errors off в рабочем процессе мог произойти
4933        segmentation fault.
4934 
4935 
4936 Изменения в nginx 0.6.30                                          29.04.2008
4937 
4938     *) Изменение: теперь, если маске, заданной в директиве include, не
4939        соответствует ни один файл, то nginx не выдаёт ошибку.
4940 
4941     *) Добавление: теперь время в директивах можно задавать без пробела,
4942        например, "1h50m".
4943 
4944     *) Исправление: утечек памяти, если директива ssl_verify_client имела
4945        значение on.
4946        Спасибо Chavelle Vincent.
4947 
4948     *) Исправление: директива sub_filter могла вставлять заменяемый текст в
4949        вывод.
4950 
4951     *) Исправление: директива error_page не воспринимала параметры в
4952        перенаправляемом URI.
4953 
4954     *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
4955        в бинарном режиме.
4956 
4957     *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
4958        0.6.15.
4959 
4960 
4961 Изменения в nginx 0.6.29                                          18.03.2008
4962 
4963     *) Добавление: модуль ngx_google_perftools_module.
4964 
4965     *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
4966        платформах; ошибка появилась в 0.6.27.
4967 
4968 
4969 Изменения в nginx 0.6.28                                          13.03.2008
4970 
4971     *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
4972 
4973 
4974 Изменения в nginx 0.6.27                                          12.03.2008
4975 
4976     *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
4977        rtsig.
4978 
4979     *) Изменение: теперь при перенаправлении запроса в именованный location
4980        с помощью директивы error_page метод запроса не изменяется.
4981 
4982     *) Добавление: директивы resolver и resolver_timeout в SMTP
4983        прокси-сервере.
4984 
4985     *) Добавление: директива post_action поддерживает именованные
4986        location'ы.
4987 
4988     *) Исправление: при перенаправлении запроса из location'а c обработчиком
4989        proxy, FastCGI или memcached в именованный location со статическим
4990        обработчиком в рабочем процессе происходил segmentation fault.
4991 
4992     *) Исправление: браузеры не повторяли SSL handshake, если при первом
4993        handshake не оказалось правильного клиентского сертификата.
4994        Спасибо Александру Инюхину.
4995 
4996     *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
4997        error_page без изменения кода ошибки nginx пытался выделить очень
4998        много памяти.
4999 
5000     *) Исправление: утечки памяти в долгоживущих небуфферизированных
5001        соединениях.
5002 
5003     *) Исправление: утечки памяти в resolver'е.
5004 
5005     *) Исправление: при перенаправлении запроса из location'а c обработчиком
5006        proxy в другой location с обработчиком proxy в рабочем процессе
5007        происходил segmentation fault.
5008 
5009     *) Исправление: ошибки в кэшировании переменных $proxy_host и
5010        $proxy_port.
5011        Спасибо Сергею Боченкову.
5012 
5013     *) Исправление: директива proxy_pass с переменными использовала порт,
5014        описанной в другой директиве proxy_pass без переменных, но с таким же
5015        именем хоста.
5016        Спасибо Сергею Боченкову.
5017 
5018     *) Исправление: во время переконфигурации на некоторых 64-битном
5019        платформах в лог записывался alert "sendmsg() failed (9: Bad file
5020        descriptor)".
5021 
5022     *) Исправление: при повторном использовании в SSI пустого block'а в
5023        качестве заглушки в рабочем процессе происходил segmentation fault.
5024 
5025     *) Исправление: ошибки при копировании части URI, содержащего
5026        экранированные символы, в аргументы.
5027 
5028 
5029 Изменения в nginx 0.6.26                                          11.02.2008
5030 
5031     *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
5032        ответа.
5033 
5034     *) Исправление: при использовании большого значения в директиве expires
5035        в рабочем процессе происходил segmentation fault.
5036        Спасибо Joaquin Cuenca Abela.
5037 
5038     *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
5039        Спасибо Геннадию Махомеду.
5040 
5041     *) Исправление: в проксированных подзапросах и подзапросах к
5042        FastCGI-серверу вместо метода GET использовался оригинальный метод
5043        клиента.
5044 
5045     *) Исправление: утечки сокетов в режиме HTTPS при использовании
5046        отложенного accept'а.
5047        Спасибо Ben Maurer.
5048 
5049     *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
5050        (SSL: )"; ошибка появилась в 0.6.23.
5051 
5052     *) Исправление: при использовании HTTPS запросы могли завершаться с
5053        ошибкой "bad write retry"; ошибка появилась в 0.6.23.
5054 
5055 
5056 Изменения в nginx 0.6.25                                          08.01.2008
5057 
5058     *) Изменение: вместо специального параметра "*" в директиве server_name
5059        теперь используется директива server_name_in_redirect.
5060 
5061     *) Изменение: в качестве основного имени в директиве server_name теперь
5062        можно использовать имена с масками и регулярными выражениями.
5063 
5064     *) Изменение: директива satisfy_any заменена директивой satisfy.
5065 
5066     *) Изменение: после переконфигурации старые рабочие процесс могли сильно
5067        нагружать процессор при запуске под Linux OpenVZ.
5068 
5069     *) Добавление: директива min_delete_depth.
5070 
5071     *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
5072 
5073     *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
5074        модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
5075 
5076     *) Исправление: утечки сокетов в режиме HTTPS при использовании
5077        отложенного accept'а.
5078        Спасибо Ben Maurer.
5079 
5080     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
5081        в 0.6.23.
5082 
5083 
5084 Изменения в nginx 0.6.24                                          27.12.2007
5085 
5086     *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
5087        segmentation fault; ошибка появилась в 0.6.23.
5088 
5089 
5090 Изменения в nginx 0.6.23                                          27.12.2007
5091 
5092     *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
5093        параметр используется по умолчанию.
5094 
5095     *) Изменение: директива open_file_cache_retest переименована в
5096        open_file_cache_valid.
5097 
5098     *) Добавление: директива open_file_cache_min_uses.
5099 
5100     *) Добавление: модуль ngx_http_gzip_static_module.
5101 
5102     *) Добавление: директива gzip_disable.
5103 
5104     *) Добавление: директиву memcached_pass можно использовать внутри блока
5105        if.
5106 
5107     *) Исправление: если внутри одного location'а использовались директивы
5108        "memcached_pass" и "if", то в рабочем процессе происходил
5109        segmentation fault.
5110 
5111     *) Исправление: если при использовании директивы satisfy_any on" были
5112        заданы директивы не всех модулей доступа, то заданные директивы не
5113        проверялись.
5114 
5115     *) Исправление: параметры, заданные регулярным выражением в директиве
5116        valid_referers, не наследовалась с предыдущего уровня.
5117 
5118     *) Исправление: директива post_action не работала, если запрос
5119        завершался с кодом 499.
5120 
5121     *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
5122        Спасибо Ben Maurer.
5123 
5124     *) Исправление: STARTTLS в режиме SMTP не работал.
5125        Спасибо Олегу Мотиенко.
5126 
5127     *) Исправление: при использовании HTTPS запросы могли завершаться с
5128        ошибкой "bad write retry"; ошибка появилась в 0.5.13.
5129 
5130 
5131 Изменения в nginx 0.6.22                                          19.12.2007
5132 
5133     *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
5134        значения, скопированные в память, выделенную perl'ом.
5135 
5136     *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
5137        использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
5138        время переконфигурации основной процесс аварийно выходил; ошибка
5139        появилась в 0.5.9.
5140        Спасибо Борису Жмурову.
5141 
5142     *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
5143        неверные результаты выделения в регулярных выражениях.
5144 
5145     *) Исправление: если метод $r->has_request_body() вызывался для запроса,
5146        у которого небольшое тело запроса было уже полностью получено, то в
5147        рабочем процессе происходил segmentation fault.
5148 
5149     *) Исправление: large_client_header_buffers не освобождались перед
5150        переходом в состояние keep-alive.
5151        Спасибо Олександру Штепе.
5152 
5153     *) Исправление: в переменной $upstream_addr не записывался последний
5154        адрес; ошибка появилась в 0.6.18.
5155 
5156     *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
5157        теперь она возвращает ошибку 502, которую можно направить на
5158        следующий сервер с помощью "fastcgi_next_upstream invalid_header".
5159 
5160     *) Исправление: при использовании директивы fastcgi_catch_stderr в
5161        основном процессе происходил segmentation fault; ошибка появилась в
5162        0.6.10.
5163        Спасибо Manlio Perillo.
5164 
5165 
5166 Изменения в nginx 0.6.21                                          03.12.2007
5167 
5168     *) Изменение: если в значениях переменных директивы proxy_pass
5169        используются только IP-адреса, то указывать resolver не нужно.
5170 
5171     *) Исправление: при использовании директивы proxy_pass c URI-частью в
5172        рабочем процессе мог произойти segmentation fault; ошибка появилась в
5173        0.6.19.
5174 
5175     *) Исправление: если resolver использовался на платформах, не
5176        поддерживающих метод kqueue, то nginx выдавал alert "name is out of
5177        response".
5178        Спасибо Андрею Нигматулину.
5179 
5180     *) Исправление: При использовании переменной $server_protocol в
5181        FastCGI-параметрах и запросе, длина которого была близка к значению
5182        директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
5183        the request record is too big".
5184 
5185     *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
5186        nginx возвращал обычный ответ.
5187 
5188 
5189 Изменения в nginx 0.6.20                                          28.11.2007
5190 
5191     *) Исправление: при использовании директивы proxy_pass c URI-частью в
5192        рабочем процессе мог произойти segmentation fault; ошибка появилась в
5193        0.6.19.
5194 
5195 
5196 Изменения в nginx 0.6.19                                          27.11.2007
5197 
5198     *) Исправление: версия 0.6.18 не собиралась.
5199 
5200 
5201 Изменения в nginx 0.6.18                                          27.11.2007
5202 
5203     *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
5204        процесса добавляет микросекунды на время старта.
5205 
5206     *) Изменение: в error_log теперь записывается полная строка запроса
5207        вместо только URI.
5208 
5209     *) Добавление: директива proxy_pass поддерживает переменные.
5210 
5211     *) Добавление: директивы resolver и resolver_timeout.
5212 
5213     *) Добавление: теперь директива "add_header last-modified ''" удаляет в
5214        заголовке ответа строку "Last-Modified".
5215 
5216     *) Исправление: директива limit_rate не позволяла передавать на полной
5217        скорости, даже если был указан очень большой лимит.
5218 
5219 
5220 Изменения в nginx 0.6.17                                          15.11.2007
5221 
5222     *) Добавление: поддержка строки "If-Range" в заголовке запроса.
5223        Спасибо Александру Инюхину.
5224 
5225     *) Исправление: при использовании директивы msie_refresh повторно
5226        экранировались уже экранированные символы; ошибка появилась в 0.6.4.
5227 
5228     *) Исправление: директива autoindex не работала при использовании "alias
5229        /".
5230 
5231     *) Исправление: при использовании подзапросов в рабочем процессе мог
5232        произойти segmentation fault.
5233 
5234     *) Исправление: при использовании SSL и gzip большие ответы могли
5235        передаваться не полностью.
5236 
5237     *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
5238        то переменная $status была равна 0.
5239 
5240 
5241 Изменения в nginx 0.6.16                                          29.10.2007
5242 
5243     *) Изменение: теперь на Linux используется uname(2) вместо procfs.
5244        Спасибо Илье Новикову.
5245 
5246     *) Исправление: если в директиве error_page использовался символ "?", то
5247        он экранировался при проксировании запроса; ошибка появилась в
5248        0.6.11.
5249 
5250     *) Исправление: совместимость с mget.
5251 
5252 
5253 Изменения в nginx 0.6.15                                          22.10.2007
5254 
5255     *) Добавление: совместимость с Cygwin.
5256        Спасибо Владимиру Кутакову.
5257 
5258     *) Добавление: директива merge_slashes.
5259 
5260     *) Добавление: директива gzip_vary.
5261 
5262     *) Добавление: директива server_tokens.
5263 
5264     *) Исправление: nginx не раскодировал URI в команде SSI include.
5265 
5266     *) Исправление: при использовании переменной в директивах charset или
5267        source_charset на старте или во время переконфигурации происходил
5268        segmentation fault,
5269 
5270     *) Исправление: nginx возвращал ошибку 400 на запросы вида
5271        "GET http://www.domain.com HTTP/1.0".
5272        Спасибо James Oakley.
5273 
5274     *) Исправление: после перенаправления запроса с телом запроса с помощью
5275        директивы error_page nginx пытался снова прочитать тело запроса;
5276        ошибка появилась в 0.6.7.
5277 
5278     *) Исправление: в рабочем процессе происходил segmentation fault, если у
5279        сервера, обрабатывающему запрос, не был явно определён server_name;
5280        ошибка появилась в 0.6.7.
5281 
5282 
5283 Изменения в nginx 0.6.14                                          15.10.2007
5284 
5285     *) Изменение: теперь по умолчанию команда SSI echo использует
5286        кодирование entity.
5287 
5288     *) Добавление: параметр encoding в команде SSI echo.
5289 
5290     *) Добавление: директиву access_log можно использовать внутри блока
5291        limit_except.
5292 
5293     *) Исправление: если все сервера апстрима оказывались недоступными, то
5294        до восстановления работоспособности у всех серверов вес становился
5295        равным одному; ошибка появилась в 0.6.6.
5296 
5297     *) Исправление: при использовании переменных $date_local и $date_gmt вне
5298        модуля ngx_http_ssi_filter_module в рабочем процессе происходил
5299        segmentation fault.
5300 
5301     *) Исправление: при использовании включённом отладочном логе в рабочем
5302        процессе мог произойти segmentation fault.
5303        Спасибо Андрею Нигматулину.
5304 
5305     *) Исправление: ngx_http_memcached_module не устанавливал
5306        $upstream_response_time.
5307        Спасибо Максиму Дунину.
5308 
5309     *) Исправление: рабочий процесс мог зациклиться при использовании
5310        memcached.
5311 
5312     *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
5313        строке "Connection" в заголовке запроса только, если они были в
5314        нижнем регистре; ошибка появилась в 0.6.11.
5315 
5316     *) Исправление: sub_filter не работал с пустой строкой замены.
5317 
5318     *) Исправление: в парсинге sub_filter.
5319 
5320 
5321 Изменения в nginx 0.6.13                                          24.09.2007
5322 
5323     *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
5324        использовался autoindex
5325        Спасибо Arkadiusz Patyk.
5326 
5327 
5328 Изменения в nginx 0.6.12                                          21.09.2007
5329 
5330     *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
5331        и smtp.
5332 
5333     *) Добавление: параметры конфигурации --without-mail_pop3_module,
5334        --without-mail_imap_module и --without-mail_smtp_module.
5335 
5336     *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
5337        ngx_mail_smtp_module.
5338 
5339     *) Исправление: wildcard в конце имени сервера не работали; ошибка
5340        появилась в 0.6.9.
5341 
5342     *) Исправление: при использовании разделяемой библиотеки PCRE,
5343        расположенной в нестандартном месте, nginx не запускался на Solaris.
5344 
5345     *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
5346        скрывали строки заголовка ответа с именем больше 32 символов.
5347        Спасибо Manlio Perillo.
5348 
5349 
5350 Изменения в nginx 0.6.11                                          11.09.2007
5351 
5352     *) Исправление: счётчик активных соединений всегда рос при использовании
5353        почтового прокси-сервера.
5354 
5355     *) Исправление: если бэкенд возвращал только заголовок ответа при
5356        небуферизированном проксировании, то nginx закрывал соединение с
5357        бэкендом по таймауту.
5358 
5359     *) Исправление: nginx не поддерживал несколько строк "Connection" в
5360        заголовке запроса.
5361 
5362     *) Исправление: если в сервере апстрима был задан max_fails, то после
5363        первой же неудачной попытки вес сервера навсегда становился равным
5364        одному; ошибка появилась в 0.6.6.
5365 
5366 
5367 Изменения в nginx 0.6.10                                          03.09.2007
5368 
5369     *) Добавление: директивы open_file_cache, open_file_cache_retest и
5370        open_file_cache_errors.
5371 
5372     *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
5373 
5374     *) Исправление: В строку заголовка ответа "Content-Type", указанную в
5375        методе $r->send_http_header(), не добавлялась кодировка, указанная в
5376        директиве charset.
5377 
5378     *) Исправление: при использовании метода /dev/poll в рабочем процессе
5379        мог произойти segmentation fault.
5380 
5381 
5382 Изменения в nginx 0.6.9                                           28.08.2007
5383 
5384     *) Исправление: рабочий процесс мог зациклиться при использовании
5385        протокола HTTPS; ошибка появилась в 0.6.7.
5386 
5387     *) Исправление: если сервер слушал на двух адресах или портах, то nginx
5388        не запускался при использовании wildcard в конце имени сервера.
5389 
5390     *) Исправление: директива ip_hash могла неверно помечать сервера как
5391        нерабочие.
5392 
5393     *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
5394 
5395 
5396 Изменения в nginx 0.6.8                                           20.08.2007
5397 
5398     *) Изменение: теперь nginx пытается установить директивы
5399        worker_priority, worker_rlimit_nofile, worker_rlimit_core,
5400        worker_rlimit_sigpending без привилегий root'а.
5401 
5402     *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
5403        запроса серверу аутентификации почтового прокси-сервера.
5404 
5405     *) Изменение: теперь nginx экранирует символ "%" в переменной
5406        $memcached_key.
5407 
5408     *) Исправление: при указании относительного пути к конфигурационному
5409        файлу в качестве параметра ключа -c nginx определял путь относительно
5410        конфигурационного префикса; ошибка появилась в 0.6.6.
5411 
5412     *) Исправление: nginx не работал на FreeBSD/sparc64.
5413 
5414 
5415 Изменения в nginx 0.6.7                                           15.08.2007
5416 
5417     *) Изменение: теперь пути, указанные в директивах include,
5418        auth_basic_user_file, perl_modules, ssl_certificate,
5419        ssl_certificate_key и ssl_client_certificate, определяются
5420        относительно каталога конфигурационного файла nginx.conf, а не
5421        относительно префикса.
5422 
5423     *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
5424 
5425     *) Изменение: для обновления на лету версий 0.1.x создан специальный
5426        сценарий make upgrade1.
5427 
5428     *) Добавление: директивы server_name и valid_referers поддерживают
5429        регулярные выражения.
5430 
5431     *) Добавление: директива server в блоке upstream поддерживает параметр
5432        backup.
5433 
5434     *) Добавление: модуль ngx_http_perl_module поддерживает метод
5435        $r->discard_request_body.
5436 
5437     *) Добавление: директива "add_header Last-Modified ..." меняет строку
5438        "Last-Modified" в заголовке ответа.
5439 
5440     *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
5441        отличным от 200, и после этого запроса соединение переходило в
5442        состояние keep-alive, то на следующий запрос nginx возвращал 400.
5443 
5444     *) Исправление: если в директиве auth_http был задан неправильный адрес,
5445        то в рабочем процессе происходил segmentation fault.
5446 
5447     *) Исправление: теперь по умолчанию nginx использует значение 511 для
5448        listen backlog на всех платформах, кроме FreeBSD.
5449        Спасибо Jiang Hong.
5450 
5451     *) Исправление: рабочий процесс мог зациклиться, если server в блоке
5452        upstream был помечен как down; ошибка появилась в 0.6.6.
5453 
5454     *) Исправление: sendfilev() в Solaris теперь не используется при
5455        передаче тела запроса FastCGI-серверу через unix domain сокет.
5456 
5457 
5458 Изменения в nginx 0.6.6                                           30.07.2007
5459 
5460     *) Добавление: параметр --sysconfdir=PATH в configure.
5461 
5462     *) Добавление: именованные location'ы.
5463 
5464     *) Добавление: переменную $args можно устанавливать с помощью set.
5465 
5466     *) Добавление: переменная $is_args.
5467 
5468     *) Исправление: равномерное распределение запросов к апстримам с
5469        большими весами.
5470 
5471     *) Исправление: если клиент в почтовом прокси-сервере закрывал
5472        соединение, то nginx мог не закрывать соединение с бэкендом.
5473 
5474     *) Исправление: при использовании одного хоста в качестве бэкендов для
5475        протоколов HTTP и HTTPS без явного указания портов, nginx использовал
5476        только один порт - 80 или 443.
5477 
5478     *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
5479        более ранними версиями; ошибка появилась в 0.6.4.
5480 
5481 
5482 Изменения в nginx 0.6.5                                           23.07.2007
5483 
5484     *) Добавление: переменная $nginx_version.
5485        Спасибо Николаю Гречуху.
5486 
5487     *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
5488        IMAP.
5489        Спасибо Максиму Дунину.
5490 
5491     *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
5492        SMTP.
5493        Спасибо Максиму Дунину.
5494 
5495     *) Исправление: теперь nginx экранирует пробел в переменной
5496        $memcached_key.
5497 
5498     *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
5499        Спасибо Jiang Hong.
5500 
5501     *) Исправление: незначительных потенциальных ошибок.
5502        Спасибо Coverity's Scan.
5503 
5504 
5505 Изменения в nginx 0.6.4                                           17.07.2007
5506 
5507     *) Безопасность: при использовании директивы msie_refresh был возможен
5508        XSS.
5509        Спасибо Максиму Богуку.
5510 
5511     *) Изменение: директивы proxy_store и fastcgi_store изменены.
5512 
5513     *) Добавление: директивы proxy_store_access и fastcgi_store_access.
5514 
5515     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
5516        Studio.
5517        Спасибо Андрею Нигматулину.
5518 
5519     *) Изменение: обход ошибки в Sun Studio 12.
5520        Спасибо Jiang Hong.
5521 
5522 
5523 Изменения в nginx 0.6.3                                           12.07.2007
5524 
5525     *) Добавление: директивы proxy_store и fastcgi_store.
5526 
5527     *) Исправление: при использовании директивы auth_http_header в рабочем
5528        процессе мог произойти segmentation fault.
5529        Спасибо Максиму Дунину.
5530 
5531     *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
5532        не был разрешён, то в рабочем процессе происходил segmentation fault.
5533 
5534     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5535        в рабочем процессе мог произойти segmentation fault.
5536 
5537     *) Исправление: в рабочем процессе мог произойти segmentation fault,
5538        если использовался метод eventport.
5539 
5540     *) Исправление: директивы proxy_ignore_client_abort и
5541        fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
5542 
5543 
5544 Изменения в nginx 0.6.2                                           09.07.2007
5545 
5546     *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
5547        nginx передавал клиенту мусор в таких заголовках.
5548 
5549 
5550 Изменения в nginx 0.6.1                                           17.06.2007
5551 
5552     *) Исправление: в парсинге SSI.
5553 
5554     *) Исправление: при использовании удалённого подзапроса в SSI
5555        последующий подзапрос локального файла мог отдаваться клиенту в
5556        неверном порядке.
5557 
5558     *) Исправление: большие включения в SSI, сохранённые во временные файлы,
5559        передавались не полностью.
5560 
5561     *) Исправление: значение perl'овой переменной $$ модуля
5562        ngx_http_perl_module было равно номеру главного процесса.
5563 
5564 
5565 Изменения в nginx 0.6.0                                           14.06.2007
5566 
5567     *) Добавление: директивы "server_name", "map", and "valid_referers"
5568        поддерживают маски вида "www.example.*".
5569 
5570 
5571 Изменения в nginx 0.5.25                                          11.06.2007
5572 
5573     *) Исправление: nginx не собирался с параметром
5574        --without-http_rewrite_module; ошибка появилась в 0.5.24.
5575 
5576 
5577 Изменения в nginx 0.5.24                                          06.06.2007
5578 
5579     *) Безопасность: директива ssl_verify_client не работала, если запрос
5580        выполнялся по протоколу HTTP/0.9.
5581 
5582     *) Исправление: при использовании сжатия часть ответа могла передаваться
5583        несжатой; ошибка появилась в 0.5.23.
5584 
5585 
5586 Изменения в nginx 0.5.23                                          04.06.2007
5587 
5588     *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
5589        Server Name Indication.
5590 
5591     *) Добавление: директива fastcgi_catch_stderr.
5592        Спасибо Николаю Гречуху, проект OWOX.
5593 
5594     *) Исправление: на Линуксе в основном процессе происходил segmentation
5595        fault, если два виртуальных сервера должны bind()ится к
5596        пересекающимся портам.
5597 
5598     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
5599        perl поддерживал потоки, то во время второй переконфигурации
5600        выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
5601 
5602     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5603 
5604 
5605 Изменения в nginx 0.5.22                                          29.05.2007
5606 
5607     *) Исправление: большое тело запроса могло не передаваться бэкенду;
5608        ошибка появилась в 0.5.21.
5609 
5610 
5611 Изменения в nginx 0.5.21                                          28.05.2007
5612 
5613     *) Исправление: если внутри сервера описано больше примерно десяти
5614        location'ов, то location'ы, заданные с помощью регулярного выражения,
5615        могли выполняться не в том, порядке, в каком они описаны.
5616 
5617     *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
5618        если 33-тий по счёту или последующий бэкенд упал.
5619        Спасибо Антону Поварову.
5620 
5621     *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
5622        произойти bus error.
5623        Спасибо Андрею Нигматулину.
5624 
5625     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5626 
5627 
5628 Изменения в nginx 0.5.20                                          07.05.2007
5629 
5630     *) Добавление: директива sendfile_max_chunk.
5631 
5632     *) Добавление: переменные "$http_...", "$sent_http_..." и
5633        "$upstream_http_..." можно менять директивой set.
5634 
5635     *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
5636        рабочем процессе мог произойти segmentation fault.
5637 
5638     *) Исправление: завершающая строка multipart range ответа передавалась
5639        неверно.
5640        Спасибо Evan Miller.
5641 
5642     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
5643        Studio.
5644        Спасибо Андрею Нигматулину.
5645 
5646     *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
5647        Спасибо Андрею Нигматулину.
5648 
5649 
5650 Изменения в nginx 0.5.19                                          24.04.2007
5651 
5652     *) Изменение: значение переменной $request_time теперь записывается с
5653        точностью до миллисекунд.
5654 
5655     *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
5656        переименован в $r->flush.
5657 
5658     *) Добавление: переменная $upstream_addr.
5659 
5660     *) Добавление: директивы proxy_headers_hash_max_size и
5661        proxy_headers_hash_bucket_size.
5662        Спасибо Володымыру Костырко.
5663 
5664     *) Исправление: при использовании sendfile и limit_rate на 64-битных
5665        платформах нельзя было передавать файлы больше 2G.
5666 
5667     *) Исправление: при использовании sendfile на 64-битном Linux нельзя
5668        было передавать файлы больше 2G.
5669 
5670 
5671 Изменения в nginx 0.5.18                                          19.04.2007
5672 
5673     *) Добавление: модуль ngx_http_sub_filter_module.
5674 
5675     *) Добавление: переменные "$upstream_http_...".
5676 
5677     *) Добавление: теперь переменные $upstream_status и
5678        $upstream_response_time содержат данные о всех обращениях к
5679        апстримам, сделанным до X-Accel-Redirect.
5680 
5681     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
5682        perl не поддерживал multiplicity, то после первой переконфигурации и
5683        после получения любого сигнала в основном процессе происходил
5684        segmentation fault; ошибка появилась в 0.5.9.
5685 
5686     *) Исправление: если perl не поддерживал multiplicity, то после
5687        переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
5688 
5689 
5690 Изменения в nginx 0.5.17                                          02.04.2007
5691 
5692     *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
5693 
5694     *) Добавление: теперь nginx поддерживает директиву include внутри блока
5695        types.
5696 
5697     *) Исправление: использование переменной $document_root в директиве root
5698        и alias запрещено: оно вызывало рекурсивное переполнение стека.
5699 
5700     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5701 
5702     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
5703        $uri) возвращали старое закэшированное значение.
5704 
5705 
5706 Изменения в nginx 0.5.16                                          26.03.2007
5707 
5708     *) Исправление: в качестве ключа для хэша в директиве ip_hash не
5709        использовалась сеть класса С.
5710        Спасибо Павлу Ярковому.
5711 
5712     *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
5713        был указан charset и строка завершалась символом ";", то в рабочем
5714        процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
5715 
5716     *) Исправление: ошибки "[alert] zero size buf" при работе с
5717        FastCGI-сервером, если тело запроса, записанное во временный файл,
5718        было кратно 32K.
5719 
5720     *) Исправление: nginx не собирался на Solaris без параметра
5721        --with-debug; ошибка появилась в 0.5.15.
5722 
5723 
5724 Изменения в nginx 0.5.15                                          19.03.2007
5725 
5726     *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
5727        SMTP-проксирование и директивы smtp_auth, smtp_capabilities и
5728        xclient.
5729        Спасибо Антону Южанинову и Максиму Дунину.
5730 
5731     *) Добавление: теперь keep-alive соединения закрываются сразу же по
5732        получении сигнала переконфигурации.
5733 
5734     *) Изменение: директивы imap и auth переименованы соответственно в mail
5735        и pop3_auth.
5736 
5737     *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
5738        был разрешён метод APOP, то в рабочем процессе происходил
5739        segmentation fault.
5740 
5741     *) Исправление: при использовании директивы starttls only в протоколе
5742        POP3 nginx разрешал аутентификацию без перехода в режим SSL.
5743 
5744     *) Исправление: рабочие процессы не выходили после переконфигурации и не
5745        переоткрывали логи, если использовался метод eventport.
5746 
5747     *) Исправление: при использовании директивы ip_hash рабочий процесс мог
5748        зациклиться.
5749 
5750     *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
5751        используются методы eventport или /dev/poll.
5752 
5753 
5754 Изменения в nginx 0.5.14                                          23.02.2007
5755 
5756     *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
5757        конфигурационного файла.
5758 
5759 
5760 Изменения в nginx 0.5.13                                          19.02.2007
5761 
5762     *) Добавление: методы COPY и MOVE.
5763 
5764     *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
5765        запросов, переданных по keep-alive соединению.
5766 
5767     *) Исправление: nginx не работал на 64-битном big-endian Linux.
5768        Спасибо Андрею Нигматулину.
5769 
5770     *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
5771        теперь сразу закрывает соединение, а не по таймауту.
5772 
5773     *) Исправление: если при использовании метода epoll клиент закрывал
5774        преждевременно соединение со своей стороны, то nginx закрывал это
5775        соединение только по истечении таймаута на передачу.
5776 
5777     *) Исправление: nginx не собирался на платформах, отличных от i386,
5778        amd64, sparc и ppc; ошибка появилась в 0.5.8.
5779 
5780 
5781 Изменения в nginx 0.5.12                                          12.02.2007
5782 
5783     *) Исправление: nginx не собирался на платформах, отличных от i386,
5784        amd64, sparc и ppc; ошибка появилась в 0.5.8.
5785 
5786     *) Исправление: при использовании временных файлов в время работы с
5787        FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
5788        ошибка появилась в 0.5.8.
5789 
5790     *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
5791        то в рабочем процессе мог произойти segmentation fault.
5792 
5793     *) Исправление: ngx_http_perl_module не собирался на Solaris.
5794 
5795 
5796 Изменения в nginx 0.5.11                                          05.02.2007
5797 
5798     *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
5799        Спасибо Chris McGrath.
5800 
5801     *) Исправление: ответ был неверным, если запрашивалось несколько
5802        диапазонов; ошибка появилась в 0.5.6.
5803 
5804     *) Исправление: директива create_full_put_path не могла создавать
5805        промежуточные каталоги, если не была установлена директива
5806        dav_access.
5807        Спасибо Evan Miller.
5808 
5809     *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
5810        записываться код "0".
5811 
5812     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5813        произойти segmentation fault.
5814 
5815 
5816 Изменения в nginx 0.5.10                                          26.01.2007
5817 
5818     *) Исправление: во время обновления исполняемого файла новый процесс не
5819        наследовал слушающие сокеты; ошибка появилась в 0.5.9.
5820 
5821     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5822        произойти segmentation fault; ошибка появилась в 0.5.1.
5823 
5824 
5825 Изменения в nginx 0.5.9                                           25.01.2007
5826 
5827     *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
5828        использует значение переменной $memcached_key.
5829 
5830     *) Добавление: переменная $memcached_key.
5831 
5832     *) Добавление: параметр clean в директиве client_body_in_file_only.
5833 
5834     *) Добавление: директива env.
5835 
5836     *) Добавление: директива sendfile работает внутри блока if.
5837 
5838     *) Добавление: теперь при ошибке записи в access_log nginx записывает
5839        сообщение в error_log, но не чаще одного раза в минуту.
5840 
5841     *) Исправление: директива "access_log off" не всегда запрещала запись в
5842        лог.
5843 
5844 
5845 Изменения в nginx 0.5.8                                           19.01.2007
5846 
5847     *) Исправление: если использовалась директива
5848        "client_body_in_file_only on" и тело запроса было небольшое, то мог
5849        произойти segmentation fault.
5850 
5851     *) Исправление: происходил segmentation fault, если использовались
5852        директивы "client_body_in_file_only on" и
5853        "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
5854        делался переход к следующему бэкенду.
5855 
5856     *) Исправление: если при использовании директивы "proxy_buffering off"
5857        соединение с клиентом было неактивно, то оно закрывалось по таймауту,
5858        заданному директивой send_timeout; ошибка появилась в 0.4.7.
5859 
5860     *) Исправление: если при использовании метода epoll клиент закрывал
5861        преждевременно соединение со своей стороны, то nginx закрывал это
5862        соединение только по истечении таймаута на передачу.
5863 
5864     *) Исправление: ошибки "[alert] zero size buf" при работе с
5865        FastCGI-сервером.
5866 
5867     *) Исправление ошибок в директиве limit_zone.
5868 
5869 
5870 Изменения в nginx 0.5.7                                           15.01.2007
5871 
5872     *) Добавление: оптимизация использования памяти в ssl_session_cache.
5873 
5874     *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
5875 
5876     *) Исправление: на старте или во время переконфигурации происходил
5877        segmentation fault, если директивы ssl_session_cache или limit_zone
5878        использовались на 64-битных платформах.
5879 
5880     *) Исправление: при использовании директив add_before_body или
5881        add_after_body происходил segmentation fault, если в заголовке ответа
5882        нет строки "Content-Type".
5883 
5884     *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
5885        потоков.
5886        Спасибо Дену Иванову.
5887 
5888     *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
5889 
5890 
5891 Изменения в nginx 0.5.6                                           09.01.2007
5892 
5893     *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
5894        кроме GET, HEAD и POST.
5895 
5896     *) Добавление: модуль ngx_http_limit_zone_module.
5897 
5898     *) Добавление: переменная $binary_remote_addr.
5899 
5900     *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
5901        ngx_imap_ssl_module.
5902 
5903     *) Добавление: метод DELETE поддерживает рекурсивное удаление.
5904 
5905     *) Исправление: при использовании $r->sendfile() byte-ranges
5906        передавались неверно.
5907 
5908 
5909 Изменения в nginx 0.5.5                                           24.12.2006
5910 
5911     *) Изменение: ключ -v больше не выводит информацию о компиляторе.
5912 
5913     *) Добавление: ключ -V.
5914 
5915     *) Добавление: директива worker_rlimit_core поддерживает указание
5916        размера в K, M и G.
5917 
5918     *) Исправление: модуль nginx.pm теперь может устанавливаться
5919        непривилегированным пользователем.
5920 
5921     *) Исправление: при использовании методов $r->request_body или
5922        $r->request_body_file мог произойти segmentation fault.
5923 
5924     *) Исправление: ошибок, специфичных для платформы ppc.
5925 
5926 
5927 Изменения в nginx 0.5.4                                           15.12.2006
5928 
5929     *) Добавление: директиву perl можно использовать внутри блока
5930        limit_except.
5931 
5932     *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
5933        заголовке запроса для метода DELETE.
5934 
5935     *) Исправление: при использовании одного параметра в директиве
5936        dav_access nginx мог сообщить об ошибке в конфигурации.
5937 
5938     *) Исправление: при использовании переменной $host мог произойти
5939        segmentation fault; ошибка появилась в 0.4.14.
5940 
5941 
5942 Изменения в nginx 0.5.3                                           13.12.2006
5943 
5944     *) Добавление: модуль ngx_http_perl_module поддерживает методы
5945        $r->status, $r->log_error и $r->sleep.
5946 
5947     *) Добавление: метод $r->variable поддерживает переменные, неописанные в
5948        конфигурации nginx'а.
5949 
5950     *) Исправление: метод $r->has_request_body не работал.
5951 
5952 
5953 Изменения в nginx 0.5.2                                           11.12.2006
5954 
5955     *) Исправление: если в директивах proxy_pass использовалось имя,
5956        указанное в upstream, то nginx пытался найти IP-адрес этого имени;
5957        ошибка появилась в 0.5.1.
5958 
5959 
5960 Изменения в nginx 0.5.1                                           11.12.2006
5961 
5962     *) Исправление: директива post_action могла не работать после неудачного
5963        завершения запроса.
5964 
5965     *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
5966        Спасибо Bron Gondwana.
5967 
5968     *) Исправление: при указании в директиве fastcgi_pass имени описанного
5969        upstream'а выдавалось сообщение "no port in upstream"; ошибка
5970        появилась в 0.5.0.
5971 
5972     *) Исправление: если в директивах proxy_pass и fastcgi_pass
5973        использовались одинаковых имена серверов, но с разными портами, то
5974        эти директивы использовали первый описанный порт; ошибка появилась в
5975        0.5.0.
5976 
5977     *) Исправление: если в директивах proxy_pass и fastcgi_pass
5978        использовались unix domain сокеты, то эти директивы использовали
5979        первый описанный сокет; ошибка появилась в 0.5.0.
5980 
5981     *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
5982        если он был указан в последней строке файла паролей и после пароля не
5983        было перевода строки, возврата каретки или символа ":".
5984 
5985     *) Исправление: переменная $upstream_response_time могла быть равна
5986        "0.000", хотя время обработки было больше 1 миллисекунды.
5987 
5988 
5989 Изменения в nginx 0.5.0                                           04.12.2006
5990 
5991     *) Изменение: параметры в виде "%name" в директиве log_format больше не
5992        поддерживаются.
5993 
5994     *) Изменение: директивы proxy_upstream_max_fails,
5995        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
5996        fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
5997        memcached_upstream_fail_timeout больше не поддерживаются.
5998 
5999     *) Добавление: директива server в блоке upstream поддерживает параметры
6000        max_fails, fail_timeout и down.
6001 
6002     *) Добавление: директива ip_hash в блоке upstream.
6003 
6004     *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
6005        сервера аутентификации IMAP/POP3 прокси.
6006 
6007     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
6008        появилась в 0.4.14.
6009 
6010 
6011 Изменения в nginx 0.4.14                                          27.11.2006
6012 
6013     *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
6014 
6015     *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
6016        Linux и NetBSD.
6017 
6018     *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
6019        поддержкой потоков; ошибка появилась в 0.3.38.
6020 
6021     *) Исправление: ngx_http_perl_module не работал корректно, если перл
6022        вызывался рекурсивно.
6023 
6024     *) Исправление: nginx игнорировал имя сервера в строке запроса.
6025 
6026     *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
6027        процесс мог зациклиться.
6028 
6029     *) Исправление: при изменении системного времени переменная
6030        $upstream_response_time могла быть отрицательной.
6031 
6032     *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
6033        прокси не передавался параметр Auth-Login-Attempt.
6034 
6035     *) Исправление: при ошибке соединения с сервером аутентификации
6036        IMAP/POP3 прокси мог произойти segmentation fault.
6037 
6038 
6039 Изменения в nginx 0.4.13                                          15.11.2006
6040 
6041     *) Добавление: директиву proxy_pass можно использовать внутри блока
6042        limit_except.
6043 
6044     *) Добавление: директива limit_except поддерживает все WebDAV методы.
6045 
6046     *) Исправление: при использовании директивы add_before_body без
6047        директивы add_after_body ответ передавался не полностью.
6048 
6049     *) Исправление: большое тело запроса не принималось, если использовались
6050        метод epoll и deferred accept().
6051 
6052     *) Исправление: для ответов модуля ngx_http_autoindex_module не
6053        выставлялась кодировка; ошибка появилась в 0.3.50.
6054 
6055     *) Исправление: ошибки "[alert] zero size buf" при работе с
6056        FastCGI-сервером;
6057 
6058     *) Исправление: параметр конфигурации --group= игнорировался.
6059        Спасибо Thomas Moschny.
6060 
6061     *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
6062        в 0.3.50.
6063 
6064 
6065 Изменения в nginx 0.4.12                                          31.10.2006
6066 
6067     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6068        $r->variable.
6069 
6070     *) Исправление: при включении в ответ большого статического файла с
6071        помощью SSI ответ мог передаваться не полностью.
6072 
6073     *) Исправление: nginx не убирал "#fragment" в URI.
6074 
6075 
6076 Изменения в nginx 0.4.11                                          25.10.2006
6077 
6078     *) Добавление: POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
6079 
6080     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6081        $r->allow_ranges.
6082 
6083     *) Исправление: при включённой поддержке команды APOP в POP3 прокси
6084        могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
6085 
6086 
6087 Изменения в nginx 0.4.10                                          23.10.2006
6088 
6089     *) Добавление: POP3 прокси поддерживает APOP.
6090 
6091     *) Исправление: при использовании методов select, poll и /dev/poll во
6092        время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
6093        нагружал процессор.
6094 
6095     *) Исправление: при использовании переменной $server_addr в директиве
6096        map мог произойти segmentation fault.
6097 
6098     *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
6099        для полных ответов; ошибка появилась в 0.4.7.
6100 
6101     *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
6102        0.4.9.
6103 
6104 
6105 Изменения в nginx 0.4.9                                           13.10.2006
6106 
6107     *) Добавление: параметр set в команде SSI include.
6108 
6109     *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
6110        модуля nginx.pm.
6111 
6112 
6113 Изменения в nginx 0.4.8                                           11.10.2006
6114 
6115     *) Исправление: если до команды SSI include с параметром wait
6116        выполнялась ещё одна команда SSI include, то параметр wait мог не
6117        работать.
6118 
6119     *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
6120        полных ответов.
6121        Спасибо Алексею Ковырину.
6122 
6123 
6124 Изменения в nginx 0.4.7                                           10.10.2006
6125 
6126     *) Добавление: модуль ngx_http_flv_module.
6127 
6128     *) Добавление: переменная $request_body_file.
6129 
6130     *) Добавление: директивы charset и source_charset поддерживают
6131        переменные.
6132 
6133     *) Исправление: если до команды SSI include с параметром wait
6134        выполнялась ещё одна команда SSI include, то параметр wait мог не
6135        работать.
6136 
6137     *) Исправление: при использовании директивы "proxy_buffering off" или
6138        при работе с memcached соединения могли не закрываться по таймауту.
6139 
6140     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6141        amd64, sparc64 и ppc64.
6142 
6143 
6144 Изменения в nginx 0.4.6                                           06.10.2006
6145 
6146     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6147        amd64, sparc64 и ppc64.
6148 
6149     *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
6150        chunk'ами, если длина ответа в методе
6151        $r->headers_out("Content-Length", ...) была задана текстовой строкой.
6152 
6153     *) Исправление: после перенаправления ошибки с помощью директивы
6154        error_page любая директива модуля ngx_http_rewrite_module возвращала
6155        эту ошибку; ошибка появилась в 0.4.4.
6156 
6157 
6158 Изменения в nginx 0.4.5                                           02.10.2006
6159 
6160     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
6161        в 0.4.4.
6162 
6163 
6164 Изменения в nginx 0.4.4                                           02.10.2006
6165 
6166     *) Добавление: переменная $scheme.
6167 
6168     *) Добавление: директива expires поддерживает параметр max.
6169 
6170     *) Добавление: директива include поддерживает маску "*".
6171        Спасибо Jonathan Dance.
6172 
6173     *) Исправление: директива return всегда изменяла код ответа,
6174        перенаправленного директивой error_page.
6175 
6176     *) Исправление: происходил segmentation fault, если в методе PUT
6177        передавалось тело нулевой длины.
6178 
6179     *) Исправление: при использовании переменных в директиве proxy_redirect
6180        редирект изменялся неверно.
6181 
6182 
6183 Изменения в nginx 0.4.3                                           26.09.2006
6184 
6185     *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
6186        error_page.
6187 
6188     *) Добавление: поддержка Solaris 10 event ports.
6189 
6190     *) Добавление: модуль ngx_http_browser_module.
6191 
6192     *) Исправление: при перенаправлении ошибки 400 проксированному серверу
6193        помощью директивы error_page мог произойти segmentation fault.
6194 
6195     *) Исправление: происходил segmentation fault, если в директиве
6196        proxy_pass использовался unix domain сокет; ошибка появилась в
6197        0.3.47.
6198 
6199     *) Исправление: SSI не работал с ответами memcached и
6200        небуферизированными проксированными ответами.
6201 
6202     *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
6203 
6204 
6205 Изменения в nginx 0.4.2                                           14.09.2006
6206 
6207     *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
6208        появилась в 0.4.1.
6209 
6210 
6211 Изменения в nginx 0.4.1                                           14.09.2006
6212 
6213     *) Исправление: совместимость с DragonFlyBSD.
6214        Спасибо Павлу Назарову.
6215 
6216     *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
6217        файлов больше 2G.
6218 
6219     *) Добавление: теперь на Linux nginx для статических запросов использует
6220        флаг O_NOATIME.
6221        Спасибо Yusuf Goolamabbas.
6222 
6223 
6224 Изменения в nginx 0.4.0                                           30.08.2006
6225 
6226     *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
6227        фазы init module в фазу HTTP postconfiguration.
6228 
6229     *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
6230        считывается заранее: нужно явно инициировать чтение с помощью метода
6231        $r->has_request_body.
6232 
6233     *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
6234        DECLINED.
6235 
6236     *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
6237        заголовка "Date" для метода PUT.
6238 
6239     *) Добавление: директива ssi работает внутри блока if.
6240 
6241     *) Исправление: происходил segmentation fault, если в директиве index
6242        использовалась переменные и при этом первое имя индексного файла было
6243        без переменных; ошибка появилась в 0.1.29.
6244 
6245 
6246 Изменения в nginx 0.3.61                                          28.08.2006
6247 
6248     *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
6249 
6250     *) Добавление: директива msie_refresh.
6251 
6252     *) Добавление: директива recursive_error_pages.
6253 
6254     *) Исправление: директива rewrite возвращала неправильный редирект, если
6255        редирект включал в себя выделенные закодированные символы из
6256        оригинального URI.
6257 
6258 
6259 Изменения в nginx 0.3.60                                          18.08.2006
6260 
6261     *) Исправление: во время перенаправления ошибки рабочий процесс мог
6262        зациклиться; ошибка появилась в 0.3.59.
6263 
6264 
6265 Изменения в nginx 0.3.59                                          16.08.2006
6266 
6267     *) Добавление: теперь можно делать несколько перенаправлений через
6268        директиву error_page.
6269 
6270     *) Исправление: директива dav_access не поддерживала три параметра.
6271 
6272     *) Исправление: директива error_page не изменяла строку "Content-Type"
6273        после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
6274        в 0.3.58.
6275 
6276 
6277 Изменения в nginx 0.3.58                                          14.08.2006
6278 
6279     *) Добавление: директива error_page поддерживает переменные.
6280 
6281     *) Изменение: теперь на Linux используется интерфейс procfs вместо
6282        sysctl.
6283 
6284     *) Изменение: теперь при использовании "X-Accel-Redirect" строка
6285        "Content-Type" наследуется из первоначального ответа.
6286 
6287     *) Исправление: директива error_page не перенаправляла ошибку 413.
6288 
6289     *) Исправление: завершающий "?" не удалял старые аргументы, если в
6290        переписанном URI не было новых аргументов.
6291 
6292     *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
6293 
6294 
6295 Изменения в nginx 0.3.57                                          09.08.2006
6296 
6297     *) Добавление: переменная $ssl_client_serial.
6298 
6299     *) Исправление: в операторе "!-e" в директиве if.
6300        Спасибо Андриану Буданцову.
6301 
6302     *) Исправление: при проверке клиентского сертификата nginx не передавал
6303        клиенту информацию о требуемых сертификатах.
6304 
6305     *) Исправление: переменная $document_root не поддерживала переменные в
6306        директиве root.
6307 
6308 
6309 Изменения в nginx 0.3.56                                          04.08.2006
6310 
6311     *) Добавление: директива dav_access.
6312 
6313     *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
6314        "!-e", "-x" и "!-x".
6315 
6316     *) Исправление: при записи в access_log некоторых передаваемых клиенту
6317        строк заголовков происходил segmentation fault, если запрос возвращал
6318        редирект.
6319 
6320 
6321 Изменения в nginx 0.3.55                                          28.07.2006
6322 
6323     *) Добавление: параметр stub в команде SSI include.
6324 
6325     *) Добавление: команда SSI block.
6326 
6327     *) Добавление: скрипт unicode2nginx добавлен в contrib.
6328 
6329     *) Исправление: если root был задан только переменной, то корень
6330        задавался относительно префикса сервера.
6331 
6332     *) Исправление: если в запросе был "//" или "/.", и после этого
6333        закодированные символы в виде "%XX", то проксируемый запрос
6334        передавался незакодированным.
6335 
6336     *) Исправление: метод $r->header_in("Cookie") модуля
6337        ngx_http_perl_module теперь возвращает все строки "Cookie" в
6338        заголовке запроса.
6339 
6340     *) Исправление: происходил segmentation fault, если использовался
6341        "client_body_in_file_only on" и делался переход к следующему бэкенду.
6342 
6343     *) Исправление: при некоторых условиях во время переконфигурации коды
6344        символов внутри директивы charset_map могли считаться неверными;
6345        ошибка появилась в 0.3.50.
6346 
6347 
6348 Изменения в nginx 0.3.54                                          11.07.2006
6349 
6350     *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
6351 
6352     *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
6353        memcached_next_upstream поддерживают параметр off.
6354 
6355     *) Добавление: директива debug_connection поддерживает запись адресов в
6356        формате CIDR.
6357 
6358     *) Исправление: при перекодировании ответа проксированного сервера или
6359        сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
6360        полностью.
6361 
6362     *) Исправление: переменная $upstream_response_time содержала время
6363        только первого обращения к бэкенду.
6364 
6365     *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
6366        в 0.3.53.
6367 
6368 
6369 Изменения в nginx 0.3.53                                          07.07.2006
6370 
6371     *) Изменение: директива add_header добавляет строки в ответы с кодом
6372        204, 301 и 302.
6373 
6374     *) Добавление: директива server в блоке upstream поддерживает параметр
6375        weight.
6376 
6377     *) Добавление: директива server_name поддерживает маску "*".
6378 
6379     *) Добавление: nginx поддерживает тело запроса больше 2G.
6380 
6381     *) Исправление: если при использовании "satisfy_any on" клиент успешно
6382        проходил аутентификацию, в лог всё равно записалоcь сообщение "access
6383        forbidden by rule".
6384 
6385     *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
6386        409.
6387 
6388     *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
6389        ошибку, nginx продолжал проксирование.
6390 
6391 
6392 Изменения в nginx 0.3.52                                          03.07.2006
6393 
6394     *) Изменение: восстановлено поведение модуля ngx_http_index_module для
6395        запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
6396        ошибку 405.
6397 
6398     *) Исправление: при использовании ограничения скорости рабочий процесс
6399        мог зациклиться; ошибка появилась в 0.3.37.
6400 
6401     *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
6402        "unknown charset", даже если перекодировка не требовалась; ошибка
6403        появилась в 0.3.50.
6404 
6405     *) Исправление: если в результате запроса PUT возвращался код 409, то
6406        временный файл не удалялся.
6407 
6408 
6409 Изменения в nginx 0.3.51                                          30.06.2006
6410 
6411     *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
6412        ошибка появилась в 0.3.50.
6413 
6414 
6415 Изменения в nginx 0.3.50                                          28.06.2006
6416 
6417     *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
6418        переименованы соответственно в proxy_intercept_errors и
6419        fastcgi_intercept_errors.
6420 
6421     *) Добавление: модуль ngx_http_charset_module поддерживает
6422        перекодирование из однобайтных кодировок в UTF-8 и обратно.
6423 
6424     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6425        "X-Accel-Charset" в ответе бэкенда.
6426 
6427     *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
6428        только если также использовался символ "$".
6429 
6430     *) Исправление: при некоторых условиях в SSI после вставки могла быть
6431        добавлена строка "<!--".
6432 
6433     *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
6434        то при использовании небуферизированного проксировании не закрывалось
6435        соединение с клиентом.
6436 
6437 
6438 Изменения в nginx 0.3.49                                          31.05.2006
6439 
6440     *) Исправление: в директиве set.
6441 
6442     *) Исправление: при включении в ssi двух и более подзапросов,
6443        обрабатываемых через FastCGI, вместо вывода второго и остальных
6444        подзапросов в ответ включался вывод первого подзапроса.
6445 
6446 
6447 Изменения в nginx 0.3.48                                          29.05.2006
6448 
6449     *) Изменение: теперь модуль ngx_http_charset_module работает для
6450        подзапросов, в ответах которых нет строки заголовка "Content-Type".
6451 
6452     *) Исправление: если в директиве proxy_pass не было URI, то директива
6453        "proxy_redirect default" добавляла в переписанный редирект в начало
6454        лишний слэш.
6455 
6456     *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
6457        GET, теперь это делается только для редиректов, выполняемых с помощью
6458        X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
6459        0.3.42.
6460 
6461     *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
6462        с поддержкой потоков; ошибка появилась в 0.3.46.
6463 
6464 
6465 Изменения в nginx 0.3.47                                          23.05.2006
6466 
6467     *) Добавление: директива upstream.
6468 
6469     *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
6470        всегда убирается.
6471 
6472 
6473 Изменения в nginx 0.3.46                                          11.05.2006
6474 
6475     *) Добавление: директивы proxy_hide_header, proxy_pass_header,
6476        fastcgi_hide_header и fastcgi_pass_header.
6477 
6478     *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
6479        proxy_pass_server упразднены.
6480 
6481     *) Добавление: в режиме прокси поддерживается строка заголовка
6482        "X-Accel-Buffering" в ответе бэкенда.
6483 
6484     *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
6485        ngx_http_perl_module.
6486 
6487 
6488 Изменения в nginx 0.3.45                                          06.05.2006
6489 
6490     *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
6491        ssl_client_certificate.
6492 
6493     *) Изменение: теперь переменная $request_method возвращает метод только
6494        основного запроса.
6495 
6496     *) Изменение: в таблице перекодировки koi-win изменены коды символа
6497        &deg;.
6498 
6499     *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
6500        номера.
6501 
6502     *) Исправление: если nginx распределял запросы на несколько машин, то
6503        при падении одной из них запросы, предназначенные для этой машины,
6504        перенаправлялись только на одну машину вместо того, чтобы равномерно
6505        распределяться между остальными.
6506 
6507 
6508 Изменения в nginx 0.3.44                                          04.05.2006
6509 
6510     *) Добавление: параметр wait в команде SSI include.
6511 
6512     *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
6513        белорусские символы.
6514 
6515     *) Исправление: в SSI.
6516 
6517 
6518 Изменения в nginx 0.3.43                                          26.04.2006
6519 
6520     *) Исправление: в SSI.
6521 
6522 
6523 Изменения в nginx 0.3.42                                          26.04.2006
6524 
6525     *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
6526 
6527     *) Исправление: ошибки при использовании в директиве rewrite одного и
6528        того же выделения более одного раза.
6529 
6530     *) Исправление: в лог не записывались переменные
6531        $sent_http_content_type, $sent_http_content_length,
6532        $sent_http_last_modified, $sent_http_connection,
6533        $sent_http_keep_alive и $sent_http_transfer_encoding.
6534 
6535     *) Исправление: переменная $sent_http_cache_control возвращала
6536        содержимое только одной строки "Cache-Control" в заголовке ответа.
6537 
6538 
6539 Изменения в nginx 0.3.41                                          21.04.2006
6540 
6541     *) Добавление: ключ -v.
6542 
6543     *) Исправление: при включении в SSI удалённых подзапросов мог произойти
6544        segmentation fault.
6545 
6546     *) Исправление: в обработке FastCGI.
6547 
6548     *) Исправление: если путь к перловым модулям не был указан с помощью
6549        --with-perl_modules_path=PATH или директивы perl_modules, то на
6550        старте происходил segmentation fault.
6551 
6552 
6553 Изменения в nginx 0.3.40                                          19.04.2006
6554 
6555     *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
6556 
6557     *) Добавление: директива create_full_put_path.
6558 
6559     *) Добавление: переменная $limit_rate.
6560 
6561 
6562 Изменения в nginx 0.3.39                                          17.04.2006
6563 
6564     *) Добавление: директива uninitialized_variable_warn; уровень
6565        логгирования сообщения о неинициализированной переменной понижен с
6566        уровня alert на warn.
6567 
6568     *) Добавление: директива override_charset.
6569 
6570     *) Изменение: при использовании неизвестной переменной в SSI-командах
6571        echo и if expr='$name' теперь не записывается в лог сообщение о
6572        неизвестной переменной.
6573 
6574     *) Исправление: счётчик активных соединений рос при превышении лимита
6575        соединений, заданного директивой worker_connections; ошибка появилась
6576        в 0.2.0.
6577 
6578     *) Исправление: при некоторых условия ограничение скорости соединения
6579        могло не работать; ошибка появилась в 0.3.38.
6580 
6581 
6582 Изменения в nginx 0.3.38                                          14.04.2006
6583 
6584     *) Добавление: модуль ngx_http_dav_module.
6585 
6586     *) Изменение: оптимизация модуля ngx_http_perl_module.
6587        Спасибо Сергею Скворцову.
6588 
6589     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6590        $r->request_body_file.
6591 
6592     *) Добавление: директива client_body_in_file_only.
6593 
6594     *) Изменение: теперь при переполнении диска nginx пытается писать
6595        access_log'и только раз в секунду.
6596        Спасибо Антону Южанинову и Максиму Дунину.
6597 
6598     *) Исправление: теперь директива limit_rate точнее ограничивает скорость
6599        при значениях больше 100 Kbyte/s.
6600        Спасибо ForJest.
6601 
6602     *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
6603        символы "\r" и "\n" в логине и пароле в закодированном виде.
6604        Спасибо Максиму Дунину.
6605 
6606 
6607 Изменения в nginx 0.3.37                                          07.04.2006
6608 
6609     *) Добавление: директива limit_except.
6610 
6611     *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
6612        "!-f".
6613 
6614     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6615        $r->request_body.
6616 
6617     *) Исправление: в модуле ngx_http_addition_filter_module.
6618 
6619 
6620 Изменения в nginx 0.3.36                                          05.04.2006
6621 
6622     *) Добавление: модуль ngx_http_addition_filter_module.
6623 
6624     *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
6625        внутри блока if.
6626 
6627     *) Добавление: директивы proxy_ignore_client_abort и
6628        fastcgi_ignore_client_abort.
6629 
6630     *) Добавление: переменная $request_completion.
6631 
6632     *) Добавление: модуль ngx_http_perl_module поддерживает методы
6633        $r->request_method и $r->remote_addr.
6634 
6635     *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
6636 
6637     *) Исправление: строка "\/" в начале выражения команды if модуля
6638        ngx_http_ssi_module воспринималась неверно.
6639 
6640     *) Исправление: в использовании регулярных выражениях в команде if
6641        модуля ngx_http_ssi_module.
6642 
6643     *) Исправление: при задании относительного пути в директивах
6644        client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
6645        perl_modules использовался каталог относительно текущего каталога, а
6646        не относительно префикса сервера.
6647 
6648 
6649 Изменения в nginx 0.3.35                                          22.03.2006
6650 
6651     *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
6652        для первой директивы listen; ошибка появилась в 0.3.31.
6653 
6654     *) Исправление: в директиве proxy_pass без URI при использовании в
6655        подзапросе.
6656 
6657 
6658 Изменения в nginx 0.3.34                                          21.03.2006
6659 
6660     *) Добавление: директива add_header поддерживает переменные.
6661 
6662 
6663 Изменения в nginx 0.3.33                                          15.03.2006
6664 
6665     *) Добавление: параметр http_503 в директивах proxy_next_upstream или
6666        fastcgi_next_upstream.
6667 
6668     *) Исправление: ngx_http_perl_module не работал со встроенным в
6669        конфигурационный файл кодом, если он не начинался сразу же с "sub".
6670 
6671     *) Исправление: в директиве post_action.
6672 
6673 
6674 Изменения в nginx 0.3.32                                          11.03.2006
6675 
6676     *) Исправление: удаление отладочного логгирования на старте и при
6677        переконфигурации; ошибка появилась в 0.3.31.
6678 
6679 
6680 Изменения в nginx 0.3.31                                          10.03.2006
6681 
6682     *) Изменение: теперь nginx передаёт неверные ответы проксированного
6683        бэкенда.
6684 
6685     *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
6686 
6687     *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
6688 
6689     *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
6690        64-битном ядре MacOSX.
6691        Спасибо Андрею Нигматулину.
6692 
6693     *) Исправление: если внутри одного сервера описаны несколько директив
6694        listen, слушающих на разных адресах, то имена серверов вида
6695        "*.domain.tld" работали только для первого адреса; ошибка появилась в
6696        0.3.18.
6697 
6698     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6699        не передавались запросы с телом, записанным во временный файл.
6700 
6701     *) Исправление: совместимость с perl 5.8.8.
6702 
6703 
6704 Изменения в nginx 0.3.30                                          22.02.2006
6705 
6706     *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
6707        с уровня crit.
6708 
6709     *) Исправление: модуль ngx_http_perl_module не собирался без модуля
6710        ngx_http_ssi_filter_module.
6711 
6712     *) Исправление: nginx не собирался на i386 платформе, если использовался
6713        PIC; ошибка появилась в 0.3.27.
6714 
6715 
6716 Изменения в nginx 0.3.29                                          20.02.2006
6717 
6718     *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
6719        FastCGI передаёт большое количество предупреждений перед ответом.
6720 
6721     *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
6722        строка заголовка "Transfer-Encoding: chunked".
6723 
6724     *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
6725        передавал полные строки заголовка ответа в отдельных FastCGI записях.
6726 
6727     *) Исправление: если в директиве post_action был указан проксируемый
6728        URI, то он выполнялся только после успешного завершения запроса.
6729 
6730 
6731 Изменения в nginx 0.3.28                                          16.02.2006
6732 
6733     *) Добавление: директива restrict_host_names упразднена.
6734 
6735     *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
6736 
6737     *) Исправление: при некоторых условиях проксированное соединение с
6738        клиентом завершалось преждевременно.
6739        Спасибо Владимиру Шутову.
6740 
6741     *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
6742        запросов, перенаправленных с помощью строки "X-Accel-Redirect".
6743 
6744     *) Исправление: директива post_action работала только после успешного
6745        завершения запроса.
6746 
6747     *) Исправление: тело проксированного ответа, создаваемого директивой
6748        post_action, передавалось клиенту.
6749 
6750 
6751 Изменения в nginx 0.3.27                                          08.02.2006
6752 
6753     *) Изменение: директивы variables_hash_max_size и
6754        variables_hash_bucket_size.
6755 
6756     *) Добавление: переменная $body_bytes_sent доступна не только в
6757        директиве log_format.
6758 
6759     *) Добавление: переменные $ssl_protocol и $ssl_cipher.
6760 
6761     *) Добавление: определение размера строки кэша распространённых
6762        процессоров при старте.
6763 
6764     *) Добавление: директива accept_mutex теперь поддерживается посредством
6765        fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
6766 
6767     *) Добавление: директива lock_file и параметр автоконфигурации
6768        --with-lock-path=PATH.
6769 
6770     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6771        не передавались запросы с телом.
6772 
6773 
6774 Изменения в nginx 0.3.26                                          03.02.2006
6775 
6776     *) Изменение: директива optimize_host_names переименована в
6777        optimize_server_names.
6778 
6779     *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
6780        URI основного запроса, если в директиве proxy_pass отсутствовал URI.
6781 
6782 
6783 Изменения в nginx 0.3.25                                          01.02.2006
6784 
6785     *) Исправление: при неверной конфигурации на старте или во время
6786        переконфигурации происходил segmentation fault; ошибка появилась в
6787        0.3.24.
6788 
6789 
6790 Изменения в nginx 0.3.24                                          01.02.2006
6791 
6792     *) Изменение: обход ошибки в kqueue во FreeBSD.
6793 
6794     *) Исправление: ответ, создаваемый директивой post_action, теперь не
6795        передаётся клиенту.
6796 
6797     *) Исправление: при использовании большого количества лог-файлов
6798        происходила утечка памяти.
6799 
6800     *) Исправление: внутри одного location работала только первая директива
6801        proxy_redirect.
6802 
6803     *) Исправление: на 64-битных платформах при старте мог произойти
6804        segmentation fault, если использовалось большое количество имён в
6805        директивах server_name; ошибка появилась в 0.3.18.
6806 
6807 
6808 Изменения в nginx 0.3.23                                          24.01.2006
6809 
6810     *) Добавление: директива optimize_host_names.
6811 
6812     *) Исправление: ошибки при использовании переменных в директивах path и
6813        alias.
6814 
6815     *) Исправление: модуль ngx_http_perl_module неправильно собирался на
6816        Linux и Solaris.
6817 
6818 
6819 Изменения в nginx 0.3.22                                          17.01.2006
6820 
6821     *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
6822        и $r->unescape.
6823 
6824     *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
6825        упразднён.
6826 
6827     *) Исправление: если в директиве valid_referers указаны только none или
6828        blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
6829 
6830 
6831 Изменения в nginx 0.3.21                                          16.01.2006
6832 
6833     *) Добавление: модуль ngx_http_perl_module.
6834 
6835     *) Изменение: директива valid_referers разрешает использовать рефереры
6836        совсем без URI.
6837 
6838 
6839 Изменения в nginx 0.3.20                                          11.01.2006
6840 
6841     *) Исправление: ошибки в обработке SSI.
6842 
6843     *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
6844        виде /uri?args.
6845 
6846 
6847 Изменения в nginx 0.3.19                                          28.12.2005
6848 
6849     *) Добавление: директивы path и alias поддерживают переменные.
6850 
6851     *) Изменение: теперь директива valid_referers опять учитывает URI.
6852 
6853     *) Исправление: ошибки в обработке SSI.
6854 
6855 
6856 Изменения в nginx 0.3.18                                          26.12.2005
6857 
6858     *) Добавление: директива server_names поддерживает имена вида
6859        ".domain.tld".
6860 
6861     *) Добавление: директива server_names использует хэш для имён вида
6862        "*.domain.tld" и более эффективный хэш для обычных имён.
6863 
6864     *) Изменение: директивы server_names_hash_max_size и
6865        server_names_hash_bucket_size.
6866 
6867     *) Изменение: директивы server_names_hash и server_names_hash_threshold
6868        упразднены.
6869 
6870     *) Добавление: директива valid_referers использует хэш для имён сайтов.
6871 
6872     *) Изменение: теперь директива valid_referers проверяет только имена
6873        сайтов без учёта URI.
6874 
6875     *) Исправление: некоторые имена вида ".domain.tld" неверно
6876        обрабатывались модулем ngx_http_map_module.
6877 
6878     *) Исправление: если конфигурационного файла не было, то происходил
6879        segmentation fault; ошибка появилась в 0.3.12.
6880 
6881     *) Исправление: на 64-битных платформах при старте мог произойти
6882        segmentation fault; ошибка появилась в 0.3.16.
6883 
6884 
6885 Изменения в nginx 0.3.17                                          18.12.2005
6886 
6887     *) Изменение: на Linux configure теперь проверяет наличие epoll и
6888        sendfile64() в ядре.
6889 
6890     *) Добавление: директива map поддерживает доменные имена в формате
6891        ".domain.tld".
6892 
6893     *) Исправление: во время SSL handshake не иcпользовались таймауты;
6894        ошибка появилась в 0.2.4.
6895 
6896     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6897 
6898     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6899        по умолчанию использовался порт 80.
6900 
6901 
6902 Изменения в nginx 0.3.16                                          16.12.2005
6903 
6904     *) Добавление: модуль ngx_http_map_module.
6905 
6906     *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
6907 
6908     *) Добавление: директива ssi_value_length.
6909 
6910     *) Добавление: директива worker_rlimit_core.
6911 
6912     *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
6913        Pentium 4 номер соединения в логах всегда был равен 1.
6914 
6915     *) Исправление: команда config timefmt в SSI задавала неверный формат
6916        времени.
6917 
6918     *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
6919        использовании SSL соединений; ошибка появилась в 0.3.13.
6920        Спасибо Rob Mueller.
6921 
6922     *) Исправление: segmentation fault мог произойти во время SSL shutdown;
6923        ошибка появилась в 0.3.13.
6924 
6925 
6926 Изменения в nginx 0.3.15                                          07.12.2005
6927 
6928     *) Добавление: новой код 444 в директиве return для закрытия соединения.
6929 
6930     *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
6931 
6932     *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
6933        соединений только при плавном выходе и включённой директиве
6934        debug_points.
6935 
6936 
6937 Изменения в nginx 0.3.14                                          05.12.2005
6938 
6939     *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
6940        в 0.3.13.
6941 
6942 
6943 Изменения в nginx 0.3.13                                          05.12.2005
6944 
6945     *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
6946 
6947     *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
6948        /dev/poll.
6949 
6950     *) Исправление: ошибки в обработке SSI.
6951 
6952     *) Исправление: sendfilev() в Solaris теперь не используется при
6953        передаче тела запроса FastCGI-серверу через unix domain сокет.
6954 
6955     *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
6956        появилась в 0.3.11.
6957 
6958 
6959 Изменения в nginx 0.3.12                                          26.11.2005
6960 
6961     *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
6962        то при использовании директивы "satisfy_any on" директивы доступа и
6963        аутентификации не работали. Модуль ngx_http_realip_module не
6964        собирался и не собирается по умолчанию.
6965 
6966     *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
6967 
6968     *) Изменение: директивы proxy_header_buffer_size и
6969        fastcgi_header_buffer_size переименованы соответственно в
6970        proxy_buffer_size и fastcgi_buffer_size.
6971 
6972     *) Добавление: модуль ngx_http_memcached_module.
6973 
6974     *) Добавление: директива proxy_buffering.
6975 
6976     *) Исправление: изменение в работе с accept mutex при использовании
6977        метода rtsig; ошибка появилась в 0.3.0.
6978 
6979     *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
6980        в заголовке запроса, то nginx теперь выдаёт ошибку 411.
6981 
6982     *) Исправление: при наследовании директивы auth_basic с уровня http в
6983        строке "WWW-Authenticate" заголовка ответа выводился realm без текста
6984        "Basic realm".
6985 
6986     *) Исправление: если в директиве access_log был явно указан формат
6987        combined, то в лог записывались пустые строки; ошибка появилась в
6988        0.3.8.
6989 
6990     *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
6991        Solaris.
6992 
6993     *) Исправление: в директиве if теперь не нужно разделять пробелом строку
6994        в кавычках и закрывающую скобку.
6995 
6996 
6997 Изменения в nginx 0.3.11                                          15.11.2005
6998 
6999     *) Исправление: nginx не передавал при проксировании тело запроса и
7000        строки заголовка клиента; ошибка появилась в 0.3.10.
7001 
7002 
7003 Изменения в nginx 0.3.10                                          15.11.2005
7004 
7005     *) Изменение: директива valid_referers и переменная $invalid_referer
7006        перенесены из модуля ngx_http_rewrite_module в новый модуль
7007        ngx_http_referer_module.
7008 
7009     *) Изменение: имя переменной "$apache_bytes_sent" изменено на
7010        "$body_bytes_sent".
7011 
7012     *) Добавление: переменные "$sent_http_...".
7013 
7014     *) Добавление: директива if поддерживает операции "=" и "!=".
7015 
7016     *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
7017 
7018     *) Добавление: директива proxy_set_body.
7019 
7020     *) Добавление: директива post_action.
7021 
7022     *) Добавление: модуль ngx_http_empty_gif_module.
7023 
7024     *) Добавление: директива worker_cpu_affinity для Linux.
7025 
7026     *) Исправление: директива rewrite не раскодировала символы в редиректах
7027        в URI, теперь символы раскодируются, кроме символов %00-%25 и
7028        %7F-%FF.
7029 
7030     *) Исправление: nginx не собирался компилятором icc 9.0.
7031 
7032     *) Исправление: если для статического файла нулевого размера был
7033        разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
7034 
7035 
7036 Изменения в nginx 0.3.9                                           10.11.2005
7037 
7038     *) Исправление: nginx считал небезопасными URI, в которых между двумя
7039        слэшами находилось два любых символа; ошибка появилась в 0.3.8.
7040 
7041 
7042 Изменения в nginx 0.3.8                                           09.11.2005
7043 
7044     *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
7045        строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
7046        наличие путей "/../" и нулей.
7047 
7048     *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
7049        строке "Authorization" в заголовке запроса.
7050 
7051     *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
7052        и ngx_imap_ssl_module.
7053 
7054     *) Добавление: директива auth_http_header модуля
7055        ngx_imap_auth_http_module.
7056 
7057     *) Добавление: директива add_header.
7058 
7059     *) Добавление: модуль ngx_http_realip_module.
7060 
7061     *) Добавление: новые переменные для использования в директиве
7062        log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
7063        $uri, $request_time, $request_length, $upstream_status,
7064        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
7065        $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
7066        упразднены.
7067 
7068     *) Изменение: в директиве "if" ложными значениями переменных теперь
7069        являются пустая строка "" и строки, начинающиеся на "0".
7070 
7071     *) Исправление: при работает с проксированными или FastCGI-серверами
7072        nginx мог оставлять открытыми соединения и временные файлы с
7073        запросами клиентов.
7074 
7075     *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
7076        плавном выходе.
7077 
7078     *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
7079        запрос проксировался в location, заданном регулярным выражением, то
7080        бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
7081 
7082     *) Исправление: директива expires не удаляла уже установленную строку
7083        заголовка "Expires".
7084 
7085     *) Исправление: при использовании метода rtsig и нескольких рабочих
7086        процессах nginx мог перестать принимать запросы.
7087 
7088     *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
7089        "\'".
7090 
7091     *) Исправление: если ответ заканчивался сразу же после SSI команды, то
7092        при использовании сжатия ответ передавался не до конца или не
7093        передавался вообще.
7094 
7095 
7096 Изменения в nginx 0.3.7                                           27.10.2005
7097 
7098     *) Добавление: директива access_log поддерживает параметр buffer=.
7099 
7100     *) Исправление: nginx не собирался на платформах, отличных от i386,
7101        amd64, sparc и ppc; ошибка появилась в 0.3.2.
7102 
7103 
7104 Изменения в nginx 0.3.6                                           24.10.2005
7105 
7106     *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
7107        пустой логин.
7108 
7109     *) Добавление: директива log_format поддерживает переменные в виде
7110        $name.
7111 
7112     *) Исправление: если хотя бы в одном сервере не было описано ни одной
7113        директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
7114        0.3.3.
7115 
7116     *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
7117        использовался порт 80.
7118 
7119 
7120 Изменения в nginx 0.3.5                                           21.10.2005
7121 
7122     *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
7123        мог произойти segmentation fault; ошибка появилась в 0.2.2.
7124 
7125     *) Исправление: accept mutex не работал, все соединения обрабатывались
7126        одним рабочим процессом; ошибка появилась в 0.3.3.
7127 
7128     *) Исправление: при использовании метода rtsig и директивы
7129        timer_resolution не работали таймауты.
7130 
7131 
7132 Изменения в nginx 0.3.4                                           19.10.2005
7133 
7134     *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
7135        появилась в 0.3.3.
7136 
7137 
7138 Изменения в nginx 0.3.3                                           19.10.2005
7139 
7140     *) Изменение: параметры "bl" и "af" директивы listen переименованы в
7141        "backlog" и "accept_filter".
7142 
7143     *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
7144 
7145     *) Изменение: параметр лога $msec теперь не требует дополнительного
7146        системного вызова gettimeofday().
7147 
7148     *) Добавление: ключ -t теперь проверяет директивы listen.
7149 
7150     *) Исправление: если в директиве listen был указан неверный адрес, то
7151        nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
7152 
7153     *) Исправление: для индексных файлов, содержащих в имени переменную, мог
7154        неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
7155 
7156     *) Добавление: директива timer_resolution.
7157 
7158     *) Добавление: параметр лога $upstream_response_time в миллисекундах.
7159 
7160     *) Исправление: временный файл с телом запроса клиента теперь удаляется
7161        сразу после того, как клиенту передан заголовок ответа.
7162 
7163     *) Исправление: совместимость с OpenSSL 0.9.6.
7164 
7165     *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
7166        относительными.
7167 
7168     *) Исправление: директива ssl_prefer_server_ciphers не работала для
7169        модуля ngx_imap_ssl_module.
7170 
7171     *) Исправление: директива ssl_protocols позволяла задать только один
7172        протокол.
7173 
7174 
7175 Изменения в nginx 0.3.2                                           12.10.2005
7176 
7177     *) Добавление: поддержка Sun Studio 10 C compiler.
7178 
7179     *) Добавление: директивы proxy_upstream_max_fails,
7180        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
7181        fastcgi_upstream_fail_timeout.
7182 
7183 
7184 Изменения в nginx 0.3.1                                           10.10.2005
7185 
7186     *) Исправление: во время переполнения очереди сигналов при использовании
7187        метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
7188 
7189     *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
7190 
7191 
7192 Изменения в nginx 0.3.0                                           07.10.2005
7193 
7194     *) Изменение: убрано десятидневное ограничение времени работы рабочего
7195        процесса. Ограничение было введено из-за переполнения миллисекундных
7196        таймеров.
7197 
7198 
7199 Изменения в nginx 0.2.6                                           05.10.2005
7200 
7201     *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
7202        бэкенду при использовании распределения нагрузки.
7203 
7204     *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
7205        запрос теперь передаётся, если в директиве proxy_pass отсутствует
7206        URI.
7207 
7208     *) Добавление: директива error_page поддерживает редиректы и позволяет
7209        более гибко менять код ошибки.
7210 
7211     *) Изменение: в проксированных подзапросах теперь игнорируется
7212        переданный charset.
7213 
7214     *) Исправление: если после изменения URI в блоке if для запроса не
7215        находилась новая конфигурация, то правила модуля
7216        ngx_http_rewrite_module выполнялись снова.
7217 
7218     *) Исправление: если директива set устанавливала переменную модуля
7219        ngx_http_geo_module в какой-либо части конфигурации, то эта
7220        переменная не была доступна в других частях конфигурации и выдавалась
7221        ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
7222 
7223 
7224 Изменения в nginx 0.2.5                                           04.10.2005
7225 
7226     *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
7227        теперь выдаёт предупреждение и изменяет старое значение.
7228 
7229     *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
7230 
7231     *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
7232        команде include.
7233 
7234     *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
7235        значений переменных в выражениях команды if.
7236 
7237 
7238 Изменения в nginx 0.2.4                                           03.10.2005
7239 
7240     *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
7241        "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
7242        if.
7243 
7244     *) Исправление: ошибки при проксировании location без слэша в конце;
7245        ошибка появилась в 0.1.44.
7246 
7247     *) Исправление: при использовании метода rtsig мог произойти
7248        segmentation fault; ошибка появилась в 0.2.0.
7249 
7250 
7251 Изменения в nginx 0.2.3                                           30.09.2005
7252 
7253     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
7254        появилась в 0.2.2.
7255 
7256 
7257 Изменения в nginx 0.2.2                                           30.09.2005
7258 
7259     *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
7260 
7261     *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
7262        директивой set.
7263 
7264     *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
7265        модулей ngx_http_ssl_module и ngx_imap_ssl_module.
7266 
7267     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7268        длинных имён файлов;
7269 
7270     *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
7271        файлы, начинающиеся на точку.
7272 
7273     *) Исправление: если SSL handshake завершался с ошибкой, то это могло
7274        привести также к закрытию другого соединения.
7275        Спасибо Rob Mueller.
7276 
7277     *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
7278        HTTPS.
7279 
7280 
7281 Изменения в nginx 0.2.1                                           23.09.2005
7282 
7283     *) Исправление: если все бэкенды, используемые для балансировки
7284        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7285        nginx мог зациклится; ошибка появилась в 0.2.0.
7286 
7287 
7288 Изменения в nginx 0.2.0                                           23.09.2005
7289 
7290     *) Изменились имена pid-файлов, используемые во время обновления
7291        исполняемого файла. Ручное переименование теперь не нужно. Старый
7292        основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
7293        запускает новый исполняемый файл. Новый основной процесс создаёт
7294        обычный pid-файл без суффикса ".newbin". Если новый основной процесс
7295        выходит, то старый процесс переименовывает свой pid-файл c суффиксом
7296        ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
7297        0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
7298        0.2.0 - используют pid-файл без суффиксов.
7299 
7300     *) Изменение: директива worker_connections, новое название директивы
7301        connections; директива теперь задаёт максимальное число соединений, а
7302        не максимально возможный номер дескриптора для сокета.
7303 
7304     *) Добавление: SSL поддерживает кэширование сессий в пределах одного
7305        рабочего процесса.
7306 
7307     *) Добавление: директива satisfy_any.
7308 
7309     *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
7310        не работают для подзапросов.
7311 
7312     *) Добавление: директивы worker_rlimit_nofile и
7313        worker_rlimit_sigpending.
7314 
7315     *) Исправление: если все бэкенды, используемые для балансировки
7316        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7317        nginx не обращался к ним в течение 60 секунд.
7318 
7319     *) Исправление: в парсинге аргументов IMAP/POP3 команд.
7320        Спасибо Rob Mueller.
7321 
7322     *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
7323 
7324     *) Исправление: ошибки при использовании SSI и сжатия.
7325 
7326     *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
7327        "Expires" и "Cache-Control".
7328        Спасибо Александру Кукушкину.
7329 
7330 
7331 Изменения в nginx 0.1.45                                          08.09.2005
7332 
7333     *) Изменение: директива ssl_engine упразднена в модуле
7334        ngx_http_ssl_module и перенесена на глобальный уровень.
7335 
7336     *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
7337        передавались через SSL соединение.
7338 
7339     *) Разные исправления в IMAP/POP3 прокси.
7340 
7341 
7342 Изменения в nginx 0.1.44                                          06.09.2005
7343 
7344     *) Добавление: IMAP/POP3 прокси поддерживает SSL.
7345 
7346     *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
7347 
7348     *) Добавление: директива userid_mark.
7349 
7350     *) Добавление: значение переменной $remote_user определяется независимо
7351        от того, используется ли авторизация или нет.
7352 
7353 
7354 Изменения в nginx 0.1.43                                          30.08.2005
7355 
7356     *) Добавление: listen(2) backlog в директиве listen можно менять по
7357        сигналу -HUP.
7358 
7359     *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
7360 
7361     *) Изменение: параметры FastCGI с пустым значениями теперь передаются
7362        серверу.
7363 
7364     *) Исправление: если в ответе проксированного сервера или FastCGI
7365        сервера была строка "Cache-Control", то при использовании директивы
7366        expires происходил segmentation fault или рабочий процесс мог
7367        зациклится; в режиме прокси ошибка появилась в 0.1.29.
7368 
7369 
7370 Изменения в nginx 0.1.42                                          23.08.2005
7371 
7372     *) Исправление: если URI запроса получался нулевой длины после обработки
7373        модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
7374        происходил segmentation fault или bus error.
7375 
7376     *) Исправление: директива limit_rate не работала внутри блока if; ошибка
7377        появилась в 0.1.38.
7378 
7379 
7380 Изменения в nginx 0.1.41                                          25.07.2005
7381 
7382     *) Исправление: если переменная использовалась в файле конфигурации, то
7383        она не могла использоваться в SSI.
7384 
7385 
7386 Изменения в nginx 0.1.40                                          22.07.2005
7387 
7388     *) Исправление: если клиент слал очень длинную строку заголовка, то в
7389        логе не помещалась информация, связанная с этим запросом.
7390 
7391     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7392        строка "Set-Cookie"; ошибка появилась в 0.1.39.
7393 
7394     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7395        строка "Content-Disposition".
7396 
7397     *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
7398        на которых он слушал.
7399 
7400     *) Исправление: после обновления исполняемого файла на лету на Linux и
7401        Solaris название процесса в команде ps становилось короче.
7402 
7403 
7404 Изменения в nginx 0.1.39                                          14.07.2005
7405 
7406     *) Изменения в модуле ngx_http_charset_module: директива default_charset
7407        упразднена; директива charset задаёт кодировку ответа; директива
7408        source_charset задаёт только исходную кодировку.
7409 
7410     *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
7411        не передавалась строка заголовка "WWW-Authenticate".
7412 
7413     *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
7414        могли закрыть соединение до того, как что-нибудь было передано
7415        клиенту; ошибка появилась в 0.1.38.
7416 
7417     *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
7418 
7419     *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
7420        URI в команде include virtual.
7421 
7422     *) Исправление: если в строке заголовка ответа бэкенда была строка
7423        "Location", которую nginx не должен был изменять, то в ответе
7424        передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
7425 
7426     *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
7427        ngx_http_fastcgi_module не наследовались с уровня server на уровень
7428        location; ошибка появилась в 0.1.29.
7429 
7430     *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
7431        сертификатов.
7432 
7433     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7434        длинных имён файлов; ошибка появилась в 0.1.38.
7435 
7436     *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
7437        стадии login.
7438 
7439 
7440 Изменения в nginx 0.1.38                                          08.07.2005
7441 
7442     *) Добавление: директива limit_rate поддерживается в режиме прокси и
7443        FastCGI.
7444 
7445     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7446        "X-Accel-Limit-Rate" в ответе бэкенда.
7447 
7448     *) Добавление: директива break.
7449 
7450     *) Добавление: директива log_not_found.
7451 
7452     *) Исправление: при перенаправлении запроса с помощью строки заголовка
7453        "X-Accel-Redirect" не изменялся код ответа.
7454 
7455     *) Исправление: переменные, установленные директивой set не могли
7456        использоваться в SSI.
7457 
7458     *) Исправление: при включении в SSI более одного удалённого подзапроса
7459        мог произойти segmentation fault.
7460 
7461     *) Исправление: если статусная строка в ответе бэкенда передавалась в
7462        двух пакетах, то nginx считал ответ неверным; ошибка появилась в
7463        0.1.29.
7464 
7465     *) Добавление: директива ssi_types.
7466 
7467     *) Добавление: директива autoindex_exact_size.
7468 
7469     *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
7470        имена файлов в UTF-8.
7471 
7472     *) Добавление: IMAP/POP3 прокси.
7473 
7474 
7475 Изменения в nginx 0.1.37                                          23.06.2005
7476 
7477     *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
7478 
7479     *) Исправление: при включении большого количества вставок или нескольких
7480        больших вставок с помощью SSI ответ мог передаваться не полностью.
7481 
7482     *) Исправление: если все бэкенды возвращали ответ 404, то при
7483        использовании параметра http_404 в директивах proxy_next_upstream или
7484        fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
7485 
7486 
7487 Изменения в nginx 0.1.36                                          15.06.2005
7488 
7489     *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
7490        "Connection", "Content-Length" и "Authorization", то nginx теперь
7491        выдаёт ошибку 400.
7492 
7493     *) Изменение: директива post_accept_timeout упразднена.
7494 
7495     *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
7496        listen.
7497 
7498     *) Добавление: поддержка accept фильтров во FreeBSD.
7499 
7500     *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
7501 
7502     *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
7503        файлов в UTF-8.
7504 
7505     *) Исправление: после добавления новый лог-файл ротация этого лога по
7506        сигналу -USR1 выполнялась, только если переконфигурировать nginx два
7507        раза по сигналу -HUP.
7508 
7509 
7510 Изменения в nginx 0.1.35                                          07.06.2005
7511 
7512     *) Добавление: директива working_directory.
7513 
7514     *) Добавление: директива port_in_redirect.
7515 
7516     *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
7517        то происходил segmentation fault; ошибка появилась в 0.1.29.
7518 
7519     *) Исправление: если было сконфигурировано более 10 серверов или в
7520        сервере не описана директива "listen", то при запуске мог произойти
7521        segmentation fault.
7522 
7523     *) Исправление: если ответ не помещался во временный файл, то мог
7524        произойти segmentation fault.
7525 
7526     *) Исправление: nginx возвращал ошибку 400 на запросы вида
7527        "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
7528 
7529 
7530 Изменения в nginx 0.1.34                                          26.05.2005
7531 
7532     *) Исправление: при включении больших ответов с помощью SSI рабочий
7533        процесс мог зациклиться.
7534 
7535     *) Исправление: переменные, устанавливаемые директивой "set", не были
7536        доступны в SSI.
7537 
7538     *) Добавление: директива autoindex_localtime.
7539 
7540     *) Исправление: пустое значение в директиве proxy_set_header запрещает
7541        передачу заголовка.
7542 
7543 
7544 Изменения в nginx 0.1.33                                          23.05.2005
7545 
7546     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
7547        появилась в 0.1.29.
7548 
7549     *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
7550        вызывали bus fault при запуске.
7551 
7552     *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
7553        HTTP.
7554 
7555     *) Исправление: если директива rewrite использовала выделения внутри
7556        директивы if, то возвращалась ошибка 500.
7557 
7558 
7559 Изменения в nginx 0.1.32                                          19.05.2005
7560 
7561     *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
7562        передавались аргументы; ошибка появилась в 0.1.29.
7563 
7564     *) Добавление: директива if поддерживает выделения в регулярных
7565        выражениях.
7566 
7567     *) Добавление: директива set поддерживает переменные и выделения из
7568        регулярных выражений.
7569 
7570     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7571        "X-Accel-Redirect" в ответе бэкенда.
7572 
7573 
7574 Изменения в nginx 0.1.31                                          16.05.2005
7575 
7576     *) Исправление: при использовании SSL ответ мог передаваться не до
7577        конца.
7578 
7579     *) Исправление: ошибки при обработке SSI в ответе, полученного от
7580        FastCGI-сервера.
7581 
7582     *) Исправление: ошибки при использовании SSI и сжатия.
7583 
7584     *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
7585        появилась в 0.1.30.
7586 
7587 
7588 Изменения в nginx 0.1.30                                          14.05.2005
7589 
7590     *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
7591 
7592     *) Исправление: при использовании SSL ответ мог передаваться не до
7593        конца.
7594 
7595     *) Исправление: если длина части ответа, полученного за один раз от
7596        проксируемого или FastCGI сервера была равна 500 байт, то nginx
7597        возвращал код ответа 500; в режиме прокси ошибка появилась только в
7598        0.1.29.
7599 
7600     *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
7601        параметрами.
7602 
7603     *) Добавление: директива return может возвращать код ответа 204.
7604 
7605     *) Добавление: директива ignore_invalid_headers.
7606 
7607 
7608 Изменения в nginx 0.1.29                                          12.05.2005
7609 
7610     *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
7611        virtual.
7612 
7613     *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
7614        вида 'if expr="$NAME"' и команды else и endif. Допускается только
7615        один уровень вложенности.
7616 
7617     *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
7618        DATE_LOCAL и DATE_GMT и команду config timefmt.
7619 
7620     *) Добавление: директива ssi_ignore_recycled_buffers.
7621 
7622     *) Исправление: если переменная QUERY_STRING не была определена, то в
7623        команде echo не ставилось значение по умолчанию.
7624 
7625     *) Изменение: модуль ngx_http_proxy_module полностью переписан.
7626 
7627     *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
7628        proxy_pass_request_body и proxy_method.
7629 
7630     *) Добавление: директива proxy_set_header. Директива proxy_x_var
7631        упразднена и должна быть заменена директивой proxy_set_header.
7632 
7633     *) Изменение: директива proxy_preserve_host упразднена и должна быть
7634        заменена директивами "proxy_set_header Host $host" и "proxy_redirect
7635        off" или директивой "proxy_set_header Host $host:$proxy_port" и
7636        соответствующими ей директивами proxy_redirect.
7637 
7638     *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
7639        заменена директивой "proxy_set_header X-Real-IP $remote_addr".
7640 
7641     *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
7642        быть заменена директивой
7643        "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
7644 
7645     *) Изменение: директива proxy_set_x_url упразднена и должна быть
7646        заменена директивой
7647        "proxy_set_header X-URL http://$host:$server_port$request_uri".
7648 
7649     *) Добавление: директива fastcgi_param.
7650 
7651     *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
7652        упразднены и должны быть замены директивами fastcgi_param.
7653 
7654     *) Добавление: директива index может использовать переменные.
7655 
7656     *) Добавление: директива index может быть указана на уровне http и
7657        server.
7658 
7659     *) Изменение: только последний параметр в директиве index может быть
7660        абсолютным.
7661 
7662     *) Добавление: в директиве rewrite могут использоваться переменные.
7663 
7664     *) Добавление: директива internal.
7665 
7666     *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
7667        SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
7668        SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
7669 
7670     *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
7671        клиента и ответа бэкенда.
7672 
7673     *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
7674        меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
7675 
7676     *) Исправление: если бэкенд передавал неверную строку в заголовке
7677        ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
7678 
7679     *) Исправление: при использовании отказоустойчивой конфигурации в
7680        FastCGI мог происходить segmentation fault.
7681 
7682     *) Исправление: директива expires не удаляла уже установленные строки
7683        заголовка "Expires" и "Cache-Control".
7684 
7685     *) Исправление: nginx не учитывал завершающую точку в строке заголовка
7686        запроса "Host".
7687 
7688     *) Исправление: модуль ngx_http_auth_module не работал на Linux.
7689 
7690     *) Исправление: директива rewrite неверно работала, если в запросе
7691        присутствовали аргументы.
7692 
7693     *) Исправление: nginx не собирался на MacOS X.
7694 
7695 
7696 Изменения в nginx 0.1.28                                          08.04.2005
7697 
7698     *) Исправление: при проксировании больших файлов nginx сильно нагружал
7699        процессор.
7700 
7701     *) Исправление: nginx не собирался gcc 4.0 на Linux.
7702 
7703 
7704 Изменения в nginx 0.1.27                                          28.03.2005
7705 
7706     *) Добавление: параметр blocked в директиве valid_referers.
7707 
7708     *) Изменение: ошибки обработки заголовка запроса теперь записываются на
7709        уровне info, в лог также записывается имя сервера и строки заголовка
7710        запроса "Host" и "Referer".
7711 
7712     *) Изменение: при записи ошибок в лог записывается также строка
7713        заголовка запроса "Host".
7714 
7715     *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
7716        символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
7717 
7718     *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
7719        параметр конфигурации --without-ngx_http_auth_basic_module.
7720 
7721 
7722 Изменения в nginx 0.1.26                                          22.03.2005
7723 
7724     *) Изменение: неверные строки заголовка, переданные клиентом, теперь
7725        игнорируется и записываются в error_log на уровне info.
7726 
7727     *) Изменение: при записи ошибок в лог записывается также имя сервера,
7728        при обращении к которому произошла ошибка.
7729 
7730     *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
7731        и auth_basic_user_file.
7732 
7733 
7734 Изменения в nginx 0.1.25                                          19.03.2005
7735 
7736     *) Исправление: nginx не работал на Linux parisc.
7737 
7738     *) Добавление: nginx теперь не запускается под FreeBSD, если значение
7739        sysctl kern.ipc.somaxconn слишком большое.
7740 
7741     *) Исправление: если модуль ngx_http_index_module делал внутреннее
7742        перенаправление запроса в модули ngx_http_proxy_module или
7743        ngx_http_fastcgi_module, то файл индекса не закрывался после
7744        обслуживания запроса.
7745 
7746     *) Добавление: директива proxy_pass может использоваться в location,
7747        заданных регулярным выражением.
7748 
7749     *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
7750        условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
7751 
7752     *) Исправление: nginx очень медленно запускался при большом количестве
7753        адресов и использовании текстовых значений в директиве geo.
7754 
7755     *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
7756        Прежний вариант без "$" пока работает, но вскоре будет убран.
7757 
7758     *) Добавление: параметр лога "%{VARIABLE}v".
7759 
7760     *) Добавление: директива "set $name value".
7761 
7762     *) Исправление: совместимость с gcc 4.0.
7763 
7764     *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
7765 
7766 
7767 Изменения в nginx 0.1.24                                          04.03.2005
7768 
7769     *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
7770        QUERY_STRING и DOCUMENT_URI.
7771 
7772     *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
7773        на существующий каталог, если этот каталог был указан как alias.
7774 
7775     *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
7776        при больших ответах.
7777 
7778     *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
7779        правильным referrer'ом.
7780 
7781 
7782 Изменения в nginx 0.1.23                                          01.03.2005
7783 
7784     *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
7785        ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
7786        var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
7787 
7788     *) Добавление: параметр лога %request_time.
7789 
7790     *) Добавление: если запрос пришёл без строки заголовка "Host", то
7791        директива proxy_preserve_host устанавливает в качестве этого
7792        заголовка первое имя сервера из директивы server_name.
7793 
7794     *) Исправление: nginx не собирался на платформах, отличных от i386,
7795        amd64, sparc и ppc; ошибка появилась в 0.1.22.
7796 
7797     *) Исправление: модуль ngx_http_autoindex_module теперь показывает
7798        информацию не о символическом линке, а о файле или каталоге, на
7799        который он указывает.
7800 
7801     *) Исправление: если клиенту ничего не передавалось, то параметр
7802        %apache_length записывал в лог отрицательную длину заголовка ответа.
7803 
7804 
7805 Изменения в nginx 0.1.22                                          22.02.2005
7806 
7807     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7808        статистику для обработанных соединений, если использовалось
7809        проксирование или FastCGI-сервер.
7810 
7811     *) Исправление: на Linux и Solaris установочные пути были неверно
7812        заключены в кавычки; ошибка появилась в 0.1.21.
7813 
7814 
7815 Изменения в nginx 0.1.21                                          22.02.2005
7816 
7817     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7818        статистику при использовании метода rtsig или при использовании
7819        нескольких рабочих процессов на SMP машине.
7820 
7821     *) Исправление: nginx не собирался компилятором icc под Линуксом или
7822        если библиотека zlib-1.2.x собиралась из исходных текстов.
7823 
7824     *) Исправление: nginx не собирался под NetBSD 2.0.
7825 
7826 
7827 Изменения в nginx 0.1.20                                          17.02.2005
7828 
7829     *) Добавление: новые параметры script_filename и remote_port в директиве
7830        fastcgi_params.
7831 
7832     *) Исправление: неправильно обрабатывался поток stderr от
7833        FastCGI-сервера.
7834 
7835 
7836 Изменения в nginx 0.1.19                                          16.02.2005
7837 
7838     *) Исправление: если в запросе есть нуль, то для локальных запросов
7839        теперь возвращается ошибка 404.
7840 
7841     *) Исправление: nginx не собирался под NetBSD 2.0.
7842 
7843     *) Исправление: во время чтения тела запроса клиента в SSL соединении
7844        мог произойти таймаут.
7845 
7846 
7847 Изменения в nginx 0.1.18                                          09.02.2005
7848 
7849     *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
7850        и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
7851 
7852     *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
7853        наследовались.
7854 
7855     *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
7856        присоединялись к URI через символ "&" вместо "?".
7857 
7858     *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
7859        включённом файле игнорировались.
7860 
7861     *) Добавление: модуль ngx_http_stub_status_module.
7862 
7863     *) Исправление: неизвестный формат лог-файла в директиве access_log
7864        вызывал segmentation fault.
7865 
7866     *) Добавление: новый параметр document_root в директиве fastcgi_params.
7867 
7868     *) Добавление: директива fastcgi_redirect_errors.
7869 
7870     *) Добавление: новый модификатор break в директиве rewrite позволяет
7871        прекратить цикл rewrite/location и устанавливает текущую конфигурацию
7872        для запроса.
7873 
7874 
7875 Изменения в nginx 0.1.17                                          03.02.2005
7876 
7877     *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
7878        можно делать редиректы, возвращать коды ошибок и проверять переменные
7879        и рефереры. Эти директивы можно использовать внутри location.
7880        Директива redirect упразднена.
7881 
7882     *) Добавление: модуль ngx_http_geo_module.
7883 
7884     *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
7885 
7886     *) Исправление: конфигурация location с модификатором "=" могла
7887        использоваться в другом location.
7888 
7889     *) Исправление: правильный тип ответа выставлялся только для запросов, у
7890        которых в расширении были только маленькие буквы.
7891 
7892     *) Исправление: если для location установлен proxy_pass или
7893        fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
7894        на статическую страницу, то происходил segmentation fault.
7895 
7896     *) Исправление: если в проксированном ответе в заголовке "Location"
7897        передавался относительный URL, то к нему добавлялось имя хоста и
7898        слэш; ошибка появилась в 0.1.14.
7899 
7900     *) Исправление: на Linux в лог не записывался текст системной ошибки.
7901 
7902 
7903 Изменения в nginx 0.1.16                                          25.01.2005
7904 
7905     *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
7906        выдавался завершающий chunk.
7907 
7908     *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
7909        директива keepalive_timeout запрещала использование keep-alive.
7910 
7911     *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
7912        segmentation fault.
7913 
7914     *) Исправление: при использовании SSL сжатый ответ мог передаваться не
7915        до конца.
7916 
7917     *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
7918        для TCP сокетов, не используются для unix domain сокетов.
7919 
7920     *) Добавление: директива rewrite поддерживает перезаписывание
7921        аргументов.
7922 
7923     *) Исправление: на запрос POST с заголовком "Content-Length: 0"
7924        возвращался ответ 400; ошибка появилась в 0.1.14.
7925 
7926 
7927 Изменения в nginx 0.1.15                                          19.01.2005
7928 
7929     *) Исправление: ошибка соединения с FastCGI-сервером вызывала
7930        segmentation fault.
7931 
7932     *) Исправление: корректная обработка регулярного выражения, в котором
7933        число выделенных частей не совпадает с числом подстановок.
7934 
7935     *) Добавление: location, который передаётся FastCGI-серверу, может быть
7936        задан с помощью регулярного выражения.
7937 
7938     *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
7939        аргументами и в том виде, в котором был получен от клиента.
7940 
7941     *) Исправление: для использования регулярных выражений в location нужно
7942        было собирать nginx вместе с ngx_http_rewrite_module.
7943 
7944     *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
7945        директивы "proxy_preserve_host on" в заголовке "Host" указывался
7946        также порт 80; ошибка появилась в 0.1.14.
7947 
7948     *) Исправление: если задать одинаковые пути в параметрах
7949        автоконфигурации --http-client-body-temp-path=PATH и
7950        --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
7951        --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
7952 
7953 
7954 Изменения в nginx 0.1.14                                          18.01.2005
7955 
7956     *) Добавление: параметры автоконфигурации
7957        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
7958        --http-fastcgi-temp-path=PATH
7959 
7960     *) Изменение: имя каталога с временными файлами, содержащие тело запроса
7961        клиента, задаётся директивой client_body_temp_path, по умолчанию
7962        <prefix>/client_body_temp.
7963 
7964     *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
7965        fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
7966        fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
7967        fastcgi_header_buffer_size, fastcgi_buffers,
7968        fastcgi_busy_buffers_size, fastcgi_temp_path,
7969        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
7970        fastcgi_next_upstream и fastcgi_x_powered_by.
7971 
7972     *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
7973        0.1.3.
7974 
7975     *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
7976        после имени хоста.
7977 
7978     *) Изменение: если в URI встречался символ %3F, то он считался началом
7979        строки аргументов.
7980 
7981     *) Добавление: поддержка unix domain сокетов в модуле
7982        ngx_http_proxy_module.
7983 
7984     *) Добавление: директивы ssl_engine и ssl_ciphers.
7985        Спасибо Сергею Скворцову за SSL-акселератор.
7986 
7987 
7988 Изменения в nginx 0.1.13                                          21.12.2004
7989 
7990     *) Добавление: директивы server_names_hash и
7991        server_names_hash_threshold.
7992 
7993     *) Исправление: имена *.domain.tld в директиве server_name не работали.
7994 
7995     *) Исправление: параметр лога %request_length записывал неверную длину.
7996 
7997 
7998 Изменения в nginx 0.1.12                                          06.12.2004
7999 
8000     *) Добавление: параметр лога %request_length.
8001 
8002     *) Исправление: при использовании /dev/poll, select и poll на
8003        платформах, где возможны ложные срабатывания указанных методов, могли
8004        быть длительные задержки при обработке запроса по keep-alive
8005        соединению. Наблюдалось по крайней мере на Solaris с использованием
8006        /dev/poll.
8007 
8008     *) Исправление: директива send_lowat игнорируется на Linux, так как
8009        Linux не поддерживает опцию SO_SNDLOWAT.
8010 
8011 
8012 Изменения в nginx 0.1.11                                          02.12.2004
8013 
8014     *) Добавление: директива worker_priority.
8015 
8016     *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
8017        влияют на передачу ответа.
8018 
8019     *) Исправление: nginx не вызывал initgroups().
8020        Спасибо Андрею Ситникову и Андрею Нигматулину.
8021 
8022     *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
8023        байтах.
8024 
8025     *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
8026        каталоге есть битый symlink.
8027 
8028     *) Исправление: файлы больше 4G не передавались с использованием
8029        sendfile.
8030 
8031     *) Исправление: если бэкенд резолвился в несколько адресов и при
8032        ожидании от него ответа происходила ошибка, то процесс зацикливался.
8033 
8034     *) Исправление: при использовании метода /dev/poll рабочий процесс мог
8035        завершиться с сообщением "unknown cycle".
8036 
8037     *) Исправление: ошибки "close() channel failed".
8038 
8039     *) Исправление: автоматическое определение групп nobody и nogroup.
8040 
8041     *) Исправление: директива send_lowat не работала на Linux.
8042 
8043     *) Исправление: если в конфигурации не было раздела events, то
8044        происходил segmentation fault.
8045 
8046     *) Исправление: nginx не собирался под OpenBSD.
8047 
8048     *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
8049 
8050 
8051 Изменения в nginx 0.1.10                                          26.11.2004
8052 
8053     *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
8054        или "%XX", то терялся последний символ в строке запроса; ошибка
8055        появилась в 0.1.9.
8056 
8057     *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
8058        не работало.
8059 
8060 
8061 Изменения в nginx 0.1.9                                           25.11.2004
8062 
8063     *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
8064        проксируемый запрос передавался без аргументов.
8065 
8066     *) Исправление: при сжатии больших ответов иногда они передавались не
8067        полностью.
8068 
8069     *) Исправление: не передавались файлы больше 2G на Linux,
8070        неподдерживающем sendfile64().
8071 
8072     *) Исправление: на Linux при конфигурации сборки нужно было обязательно
8073        использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
8074 
8075 
8076 Изменения в nginx 0.1.8                                           20.11.2004
8077 
8078     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
8079        длинных имён файлов.
8080 
8081     *) Добавление: модификатор "^~" в директиве location.
8082 
8083     *) Добавление: директива proxy_max_temp_file_size.
8084 
8085 
8086 Изменения в nginx 0.1.7                                           12.11.2004
8087 
8088     *) Исправление: при использовании sendfile, если передаваемый файл
8089        менялся, то мог произойти segmentation fault на FreeBSD; ошибка
8090        появилась в 0.1.5.
8091 
8092 
8093 Изменения в nginx 0.1.6                                           11.11.2004
8094 
8095     *) Исправление: при некоторых комбинациях директив location c
8096        регулярными выражениями использовалась конфигурация не из того
8097        location.
8098 
8099 
8100 Изменения в nginx 0.1.5                                           11.11.2004
8101 
8102     *) Исправление: на Solaris и Linux могло быть очень много сообщений
8103        "recvmsg() returned not enough data".
8104 
8105     *) Исправление: в режиме прокси без использования sendfile на Solaris
8106        возникала ошибка "writev() failed (22: Invalid argument)". На других
8107        платформах, не поддерживающих sendfile, процесс зацикливался.
8108 
8109     *) Исправление: при использовании sendfile в режиме прокси на Solaris
8110        возникал segmentation fault.
8111 
8112     *) Исправление: segmentation fault на Solaris.
8113 
8114     *) Исправление: обновление исполняемого файла на лету не работало на
8115        Linux.
8116 
8117     *) Исправление: в списке файлов, выдаваемом модулем
8118        ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
8119        знаки процента.
8120 
8121     *) Изменение: уменьшение операций копирования.
8122 
8123     *) Добавление: директива userid_p3p.
8124 
8125 
8126 Изменения в nginx 0.1.4                                           26.10.2004
8127 
8128     *) Исправление: ошибка в модуле ngx_http_autoindex_module.
8129 
8130 
8131 Изменения в nginx 0.1.3                                           25.10.2004
8132 
8133     *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
8134 
8135     *) Добавление: директива proxy_set_x_url.
8136 
8137     *) Исправление: модуль проксировании мог привести к зацикливанию, если
8138        не использовался sendfile.
8139 
8140 
8141 Изменения в nginx 0.1.2                                           21.10.2004
8142 
8143     *) Добавление: параметры --user=USER, --group=GROUP и
8144        --with-ld-opt=OPTIONS в configure.
8145 
8146     *) Добавление: директива server_name поддерживает *.domain.tld.
8147 
8148     *) Исправление: улучшена переносимость на неизвестные платформы.
8149 
8150     *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
8151        файл указан в командной строке; ошибка появилась в 0.1.1.
8152 
8153     *) Исправление: модуль проксировании мог привести к зацикливанию, если
8154        не использовался sendfile.
8155 
8156     *) Исправление: при использовании sendfile текст ответа не
8157        перекодировался согласно директивам модуля charset; ошибка появилась
8158        в 0.1.1.
8159 
8160     *) Исправление: очень редкая ошибка при обработке kqueue.
8161 
8162     *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
8163        проксировании.
8164 
8165 
8166 Изменения в nginx 0.1.1                                           11.10.2004
8167 
8168     *) Добавление: директива gzip_types.
8169 
8170     *) Добавление: директива tcp_nodelay.
8171 
8172     *) Добавление: директива send_lowat работает не только на платформах,
8173        поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
8174        SO_SNDLOWAT.
8175 
8176     *) Добавление: эмуляция setproctitle() для Linux и Solaris.
8177 
8178     *) Исправление: ошибка при переписывании заголовка "Location" при
8179        проксировании.
8180 
8181     *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
8182        зацикливанию.
8183 
8184     *) Исправление: ошибки в модуле /dev/poll.
8185 
8186     *) Исправление: при проксировании и использовании временных файлов
8187        ответы портились.
8188 
8189     *) Исправление: бэкенду передавались запросы с неперекодированными
8190        символами.
8191 
8192     *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
8193        обязательно использовать параметр --with-poll_module.
8194 
8195 
8196 Изменения в nginx 0.1.0                                           04.10.2004
8197 
8198     *) Первая публично доступная версия.
8199