Back to home page

Nginx displayed by LXR

Source navigation ]
Diff markup ]
Identifier search ]
general search ]
 
 
Version: nginx-1.19.2 ]​[ nginx-1.18.0 ]​

0001 
0002 Изменения в nginx 1.18.0                                          21.04.2020
0003 
0004     *) Стабильная ветка 1.18.x.
0005 
0006 
0007 Изменения в nginx 1.17.10                                         14.04.2020
0008 
0009     *) Добавление: директива auth_delay.
0010 
0011 
0012 Изменения в nginx 1.17.9                                          03.03.2020
0013 
0014     *) Изменение: теперь nginx не разрешает несколько строк "Host" в
0015        заголовке запроса.
0016 
0017     *) Исправление: nginx игнорировал дополнительные строки
0018        "Transfer-Encoding" в заголовке запроса.
0019 
0020     *) Исправление: утечки сокетов при использовании HTTP/2.
0021 
0022     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0023        если использовался OCSP stapling.
0024 
0025     *) Исправление: в модуле ngx_http_mp4_module.
0026 
0027     *) Исправление: при перенаправлении ошибок с кодом 494 с помощью
0028        директивы error_page nginx возвращал ответ с кодом 494 вместо 400.
0029 
0030     *) Исправление: утечки сокетов при использовании подзапросов в модуле
0031        njs и директивы aio.
0032 
0033 
0034 Изменения в nginx 1.17.8                                          21.01.2020
0035 
0036     *) Добавление: директива grpc_pass поддерживает переменные.
0037 
0038     *) Исправление: при обработке pipelined-запросов по SSL-соединению мог
0039        произойти таймаут; ошибка появилась в 1.17.5.
0040 
0041     *) Исправление: в директиве debug_points при использовании HTTP/2.
0042        Спасибо Даниилу Бондареву.
0043 
0044 
0045 Изменения в nginx 1.17.7                                          24.12.2019
0046 
0047     *) Исправление: на старте или во время переконфигурации мог произойти
0048        segmentation fault, если в конфигурации использовалась директива
0049        rewrite с пустой строкой замены.
0050 
0051     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0052        если директива break использовалась совместно с директивой alias или
0053        директивой proxy_pass с URI.
0054 
0055     *) Исправление: строка Location заголовка ответа могла содержать мусор,
0056        если URI запроса был изменён на URI, содержащий нулевой символ.
0057 
0058     *) Исправление: при возврате перенаправлений с помощью директивы
0059        error_page запросы с телом обрабатывались некорректно; ошибка
0060        появилась в 0.7.12.
0061 
0062     *) Исправление: утечки сокетов при использовании HTTP/2.
0063 
0064     *) Исправление: при обработке pipelined-запросов по SSL-соединению мог
0065        произойти таймаут; ошибка появилась в 1.17.5.
0066 
0067     *) Исправление: в модуле ngx_http_dav_module.
0068 
0069 
0070 Изменения в nginx 1.17.6                                          19.11.2019
0071 
0072     *) Добавление: переменные $proxy_protocol_server_addr и
0073        $proxy_protocol_server_port.
0074 
0075     *) Добавление: директива limit_conn_dry_run.
0076 
0077     *) Добавление: переменные $limit_req_status и $limit_conn_status.
0078 
0079 
0080 Изменения в nginx 1.17.5                                          22.10.2019
0081 
0082     *) Добавление: теперь nginx использует вызов ioctl(FIONREAD), если он
0083        доступен, чтобы избежать чтения из быстрого соединения в течение
0084        долгого времени.
0085 
0086     *) Исправление: неполные закодированные символы в конце URI запроса
0087        игнорировались.
0088 
0089     *) Исправление: "/." и "/.." в конце URI запроса не нормализовывались.
0090 
0091     *) Исправление: в директиве merge_slashes.
0092 
0093     *) Исправление: в директиве ignore_invalid_headers.
0094        Спасибо Alan Kemp.
0095 
0096     *) Исправление: nginx не собирался с MinGW-w64 gcc 8.1 и новее.
0097 
0098 
0099 Изменения в nginx 1.17.4                                          24.09.2019
0100 
0101     *) Изменение: улучшено детектирование некорректного поведения клиентов в
0102        HTTP/2.
0103 
0104     *) Изменение: в обработке непрочитанного тела запроса при возврате
0105        ошибок в HTTP/2.
0106 
0107     *) Исправление: директива worker_shutdown_timeout могла не работать при
0108        использовании HTTP/2.
0109 
0110     *) Исправление: при использовании HTTP/2 и директивы
0111        proxy_request_buffering в рабочем процессе мог произойти segmentation
0112        fault.
0113 
0114     *) Исправление: на Windows при использовании SSL уровень записи в лог
0115        ошибки ECONNABORTED был "crit" вместо "error".
0116 
0117     *) Исправление: nginx игнорировал лишние данные при использовании
0118        chunked transfer encoding.
0119 
0120     *) Исправление: если использовалась директива return и при чтении тела
0121        запроса возникала ошибка, nginx всегда возвращал ошибку 500.
0122 
0123     *) Исправление: в обработке ошибок выделения памяти.
0124 
0125 
0126 Изменения в nginx 1.17.3                                          13.08.2019
0127 
0128     *) Безопасность: при использовании HTTP/2 клиент мог вызвать чрезмерное
0129        потребление памяти и ресурсов процессора (CVE-2019-9511,
0130        CVE-2019-9513, CVE-2019-9516).
0131 
0132     *) Исправление: при использовании сжатия в логах могли появляться
0133        сообщения "zero size buf"; ошибка появилась в 1.17.2.
0134 
0135     *) Исправление: при использовании директивы resolver в SMTP
0136        прокси-сервере в рабочем процессе мог произойти segmentation fault.
0137 
0138 
0139 Изменения в nginx 1.17.2                                          23.07.2019
0140 
0141     *) Изменение: минимальная поддерживаемая версия zlib - 1.2.0.4.
0142        Спасибо Илье Леошкевичу.
0143 
0144     *) Изменение: метод $r->internal_redirect() встроенного перла теперь
0145        ожидает закодированный URI.
0146 
0147     *) Добавление: теперь с помощью метода $r->internal_redirect()
0148        встроенного перла можно перейти в именованный location.
0149 
0150     *) Исправление: в обработке ошибок во встроенном перле.
0151 
0152     *) Исправление: на старте или во время переконфигурации мог произойти
0153        segmentation fault, если в конфигурации использовалось значение hash
0154        bucket size больше 64 килобайт.
0155 
0156     *) Исправление: при использовании методов обработки соединений select,
0157        poll и /dev/poll nginx мог нагружать процессор во время
0158        небуферизованного проксирования и при проксировании
0159        WebSocket-соединений.
0160 
0161     *) Исправление: в модуле ngx_http_xslt_filter_module.
0162 
0163     *) Исправление: в модуле ngx_http_ssi_filter_module.
0164 
0165 
0166 Изменения в nginx 1.17.1                                          25.06.2019
0167 
0168     *) Добавление: директива limit_req_dry_run.
0169 
0170     *) Добавление: при использовании директивы hash в блоке upstream пустой
0171        ключ хэширования теперь приводит к переключению на round-robin
0172        балансировку.
0173        Спасибо Niklas Keller.
0174 
0175     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0176        если использовалось кэширование и директива image_filter, а ошибки с
0177        кодом 415 перенаправлялись с помощью директивы error_page; ошибка
0178        появилась в 1.11.10.
0179 
0180     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0181        если использовался встроенный перл; ошибка появилась в 1.7.3.
0182 
0183 
0184 Изменения в nginx 1.17.0                                          21.05.2019
0185 
0186     *) Добавление: директивы limit_rate и limit_rate_after поддерживают
0187        переменные.
0188 
0189     *) Добавление: директивы proxy_upload_rate и proxy_download_rate в
0190        модуле stream поддерживают переменные.
0191 
0192     *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.8.
0193 
0194     *) Изменение: теперь postpone-фильтр собирается всегда.
0195 
0196     *) Исправление: директива include не работала в блоках if и
0197        limit_except.
0198 
0199     *) Исправление: в обработке byte ranges.
0200 
0201 
0202 Изменения в nginx 1.15.12                                         16.04.2019
0203 
0204     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0205        если в директивах ssl_certificate или ssl_certificate_key
0206        использовались переменные и был включён OCSP stapling.
0207 
0208 
0209 Изменения в nginx 1.15.11                                         09.04.2019
0210 
0211     *) Исправление: в директиве ssl_stapling_file на Windows.
0212 
0213 
0214 Изменения в nginx 1.15.10                                         26.03.2019
0215 
0216     *) Изменение: теперь при использовании имени хоста в директиве listen
0217        nginx создаёт listen-сокеты для всех адресов, соответствующих этому
0218        имени (ранее использовался только первый адрес).
0219 
0220     *) Добавление: диапазоны портов в директиве listen.
0221 
0222     *) Добавление: возможность загрузки SSL-сертификатов и секретных ключей
0223        из переменных.
0224 
0225     *) Изменение: переменная $ssl_server_name могла быть пустой при
0226        использовании OpenSSL 1.1.1.
0227 
0228     *) Исправление: nginx/Windows не собирался с Visual Studio 2015 и новее;
0229        ошибка появилась в 1.15.9.
0230 
0231 
0232 Изменения в nginx 1.15.9                                          26.02.2019
0233 
0234     *) Добавление: директивы ssl_certificate и ssl_certificate_key
0235        поддерживают переменные.
0236 
0237     *) Добавление: метод poll теперь доступен на Windows при использовании
0238        Windows Vista и новее.
0239 
0240     *) Исправление: если при использовании метода select на Windows
0241        происходила ошибка при установлении соединения с бэкендом, nginx
0242        ожидал истечения таймаута на установление соединения.
0243 
0244     *) Исправление: директивы proxy_upload_rate и proxy_download_rate в
0245        модуле stream работали некорректно при проксировании UDP-пакетов.
0246 
0247 
0248 Изменения в nginx 1.15.8                                          25.12.2018
0249 
0250     *) Добавление: переменная $upstream_bytes_sent.
0251        Спасибо Piotr Sikora.
0252 
0253     *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
0254        Спасибо Геннадию Махомеду.
0255 
0256     *) Исправление: в директиве proxy_cache_background_update.
0257 
0258     *) Исправление: в директиве geo при использовании unix domain
0259        listen-сокетов.
0260 
0261     *) Изменение: при использовании директивы ssl_early_data с OpenSSL в
0262        логах могли появляться сообщения "ignoring stale global SSL error ...
0263        bad length".
0264 
0265     *) Исправление: в nginx/Windows.
0266 
0267     *) Исправление: в модуле ngx_http_autoindex_module на 32-битных
0268        платформах.
0269 
0270 
0271 Изменения в nginx 1.15.7                                          27.11.2018
0272 
0273     *) Добавление: директива proxy_requests в модуле stream.
0274 
0275     *) Добавление: параметр "delay" директивы "limit_req".
0276        Спасибо Владиславу Шабанову и Петру Щучкину.
0277 
0278     *) Исправление: утечки памяти в случае ошибок при переконфигурации.
0279 
0280     *) Исправление: в переменных $upstream_response_time,
0281        $upstream_connect_time и $upstream_header_time.
0282 
0283     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0284        если использовался модуль ngx_http_mp4_module на 32-битных
0285        платформах.
0286 
0287 
0288 Изменения в nginx 1.15.6                                          06.11.2018
0289 
0290     *) Безопасность: при использовании HTTP/2 клиент мог вызвать чрезмерное
0291        потреблению памяти (CVE-2018-16843) и ресурсов процессора
0292        (CVE-2018-16844).
0293 
0294     *) Безопасность: при обработке специально созданного mp4-файла модулем
0295        ngx_http_mp4_module содержимое памяти рабочего процесса могло быть
0296        отправлено клиенту (CVE-2018-16845).
0297 
0298     *) Добавление: директивы proxy_socket_keepalive,
0299        fastcgi_socket_keepalive, grpc_socket_keepalive,
0300        memcached_socket_keepalive, scgi_socket_keepalive и
0301        uwsgi_socket_keepalive.
0302 
0303     *) Исправление: если nginx был собран с OpenSSL 1.1.0, а использовался с
0304        OpenSSL 1.1.1, протокол TLS 1.3 всегда был разрешён.
0305 
0306     *) Исправление: при работе с gRPC-бэкендами могло расходоваться большое
0307        количество памяти.
0308 
0309 
0310 Изменения в nginx 1.15.5                                          02.10.2018
0311 
0312     *) Исправление: при использовании OpenSSL 1.1.0h и новее в рабочем
0313        процессе мог произойти segmentation fault; ошибка появилась в 1.15.4.
0314 
0315     *) Исправление: незначительных потенциальных ошибок.
0316 
0317 
0318 Изменения в nginx 1.15.4                                          25.09.2018
0319 
0320     *) Добавление: теперь директиву ssl_early_data можно использовать с
0321        OpenSSL.
0322 
0323     *) Исправление: в модуле ngx_http_uwsgi_module.
0324        Спасибо Chris Caputo.
0325 
0326     *) Исправление: соединения к некоторым gRPC-бэкендам могли не
0327        кэшироваться при использовании директивы keepalive.
0328 
0329     *) Исправление: при использовании директивы error_page для
0330        перенаправления ошибок, возникающих на ранних этапах обработки
0331        запроса, в частности ошибок с кодом 400, могла происходить утечка
0332        сокетов.
0333 
0334     *) Исправление: директива return при возврате ошибок не изменяла код
0335        ответа, если запрос был перенаправлен с помощью директивы error_page.
0336 
0337     *) Исправление: стандартные сообщения об ошибках и ответы модуля
0338        ngx_http_autoindex_module содержали атрибут bgcolor, что могло
0339        приводить к их некорректному отображению при использовании
0340        пользовательских настроек цветов в браузерах.
0341        Спасибо Nova DasSarma.
0342 
0343     *) Изменение: уровень логгирования ошибок SSL "no suitable key share" и
0344        "no suitable signature algorithm" понижен с уровня crit до info.
0345 
0346 
0347 Изменения в nginx 1.15.3                                          28.08.2018
0348 
0349     *) Добавление: теперь TLSv1.3 можно использовать с BoringSSL.
0350 
0351     *) Добавление: директива ssl_early_data, сейчас доступна при
0352        использовании BoringSSL.
0353 
0354     *) Добавление: директивы keepalive_timeout и keepalive_requests в блоке
0355        upstream.
0356 
0357     *) Исправление: модуль ngx_http_dav_module при копировании файла поверх
0358        существующего файла с помощью метода COPY не обнулял целевой файл.
0359 
0360     *) Исправление: модуль ngx_http_dav_module при перемещении файла между
0361        файловыми системами с помощью метода MOVE устанавливал нулевые права
0362        доступа на результирующий файл и не сохранял время изменения файла.
0363 
0364     *) Исправление: модуль ngx_http_dav_module при копировании файла с
0365        помощью метода COPY для результирующего файла использовал права
0366        доступа по умолчанию.
0367 
0368     *) Изменение: некоторые клиенты могли не работать при использовании
0369        HTTP/2; ошибка появилась в 1.13.5.
0370 
0371     *) Исправление: nginx не собирался с LibreSSL 2.8.0.
0372 
0373 
0374 Изменения в nginx 1.15.2                                          24.07.2018
0375 
0376     *) Добавление: переменная $ssl_preread_protocol в модуле
0377        ngx_stream_ssl_preread_module.
0378 
0379     *) Добавление: теперь при использовании директивы
0380        reset_timedout_connection nginx сбрасывает соединения, закрываемые с
0381        кодом 444.
0382 
0383     *) Изменение: уровень логгирования ошибок SSL "http request", "https
0384        proxy request", "unsupported protocol" и "version too low" понижен с
0385        уровня crit до info.
0386 
0387     *) Исправление: запросы к DNS-серверу не отправлялись повторно, если при
0388        первой попытке отправки происходила ошибка.
0389 
0390     *) Исправление: параметр reuseport директивы listen игнорировался, если
0391        количество рабочих процессов было задано после директивы listen.
0392 
0393     *) Исправление: при использовании OpenSSL 1.1.0 и новее директиву
0394        ssl_prefer_server_ciphers нельзя было выключить в виртуальном
0395        сервере, если она была включена в сервере по умолчанию.
0396 
0397     *) Исправление: повторное использование SSL-сессий к бэкендам не
0398        работало с протоколом TLS 1.3.
0399 
0400 
0401 Изменения в nginx 1.15.1                                          03.07.2018
0402 
0403     *) Добавление: директива random в блоке upstream.
0404 
0405     *) Добавление: улучшена производительность при использовании директив
0406        hash и ip_hash совместно с директивой zone.
0407 
0408     *) Добавление: параметр reuseport директивы listen теперь использует
0409        SO_REUSEPORT_LB на FreeBSD 12.
0410 
0411     *) Исправление: HTTP/2 server push не работал, если SSL терминировался
0412        прокси-сервером перед nginx'ом.
0413 
0414     *) Исправление: директива tcp_nopush всегда использовалась для
0415        соединений к бэкендам.
0416 
0417     *) Исправление: при отправке сохранённого на диск тела запроса на
0418        gRPC-бэкенд могли возникать ошибки.
0419 
0420 
0421 Изменения в nginx 1.15.0                                          05.06.2018
0422 
0423     *) Изменение: директива "ssl" теперь считается устаревшей; вместо неё
0424        следует использовать параметр ssl директивы listen.
0425 
0426     *) Изменение: теперь при использовании директивы listen с параметром ssl
0427        nginx определяет отсутствие SSL-сертификатов при тестировании
0428        конфигурации.
0429 
0430     *) Добавление: теперь модуль stream умеет обрабатывать несколько
0431        входящих UDP-пакетов от клиента в рамках одной сессии.
0432 
0433     *) Исправление: в директиве proxy_cache_valid можно было указать
0434        некорректный код ответа.
0435 
0436     *) Исправление: nginx не собирался gcc 8.1.
0437 
0438     *) Исправление: логгирование в syslog останавливалось при изменении
0439        локального IP-адреса.
0440 
0441     *) Исправление: nginx не собирался компилятором clang, если был
0442        установлен CUDA SDK; ошибка появилась в 1.13.8.
0443 
0444     *) Исправление: при использовании unix domain listen-сокетов на FreeBSD
0445        в процессе обновления исполняемого файла в логе могли появляться
0446        сообщения "getsockopt(TCP_FASTOPEN) ... failed".
0447 
0448     *) Исправление: nginx не собирался на Fedora 28 Linux.
0449 
0450     *) Исправление: при использовании директивы limit_req заданная скорость
0451        обработки запросов могла не соблюдаться.
0452 
0453     *) Исправление: в обработке адресов клиентов при использовании unix
0454        domain listen-сокетов для работы с датаграммами на Linux.
0455 
0456     *) Исправление: в обработке ошибок выделения памяти.
0457 
0458 
0459 Изменения в nginx 1.13.12                                         10.04.2018
0460 
0461     *) Исправление: при возврате большого ответа соединения с gRPC-бэкендами
0462        могли неожиданно закрываться.
0463 
0464 
0465 Изменения в nginx 1.13.11                                         03.04.2018
0466 
0467     *) Добавление: параметр proxy_protocol директивы listen теперь
0468        поддерживает протокол PROXY версии 2.
0469 
0470     *) Исправление: nginx не собирался с OpenSSL 1.1.1 статически на Linux.
0471 
0472     *) Исправление: в параметрах http_404, http_500 и им подобных директивы
0473        proxy_next_upstream.
0474 
0475 
0476 Изменения в nginx 1.13.10                                         20.03.2018
0477 
0478     *) Добавление: теперь параметр set в SSI-директиве include позволяет
0479        сохранять в переменную любые ответы; максимальный размер ответа
0480        задаётся директивой subrequest_output_buffer_size.
0481 
0482     *) Добавление: теперь nginx использует вызов
0483        clock_gettime(CLOCK_MONOTONIC), если он доступен, что позволяет
0484        избежать некорректного срабатывания таймаутов при изменениях
0485        системного времени.
0486 
0487     *) Добавление: параметр "escape=none" директивы log_format.
0488        Спасибо Johannes Baiter и Calin Don.
0489 
0490     *) Добавление: переменная $ssl_preread_alpn_protocols в модуле
0491        ngx_stream_ssl_preread_module.
0492 
0493     *) Добавление: модуль ngx_http_grpc_module.
0494 
0495     *) Исправление: в обработке ошибок выделения памяти в директиве geo.
0496 
0497     *) Исправление: при использовании переменных в директиве
0498        auth_basic_user_file в лог мог выводиться символ '\0'.
0499        Спасибо Вадиму Филимонову.
0500 
0501 
0502 Изменения в nginx 1.13.9                                          20.02.2018
0503 
0504     *) Добавление: поддержка HTTP/2 server push; директивы http2_push и
0505        http2_push_preload.
0506 
0507     *) Исправление: при использовании кэша в логах могли появляться
0508        сообщения "header already sent"; ошибка появилась в 1.9.13.
0509 
0510     *) Исправление: при использовании директивы ssl_verify_client в рабочем
0511        процессе мог произойти segmentation fault, если в виртуальном сервере
0512        не был указан SSL-сертификат.
0513 
0514     *) Исправление: в модуле ngx_http_v2_module.
0515 
0516     *) Исправление: в модуле ngx_http_dav_module.
0517 
0518 
0519 Изменения в nginx 1.13.8                                          26.12.2017
0520 
0521     *) Добавление: теперь при использовании параметра transparent директив
0522        proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
0523        nginx автоматически сохраняет capability CAP_NET_RAW в рабочих
0524        процессах.
0525 
0526     *) Добавление: улучшения в определении размера строки кэша процессора.
0527        Спасибо Debayan Ghosh.
0528 
0529     *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
0530        Спасибо Геннадию Махомеду.
0531 
0532     *) Исправление: процедура обновления исполняемого файла не работала,
0533        если после завершения родительского процесса новым родительским
0534        процессом nginx'а становился процесс с PID, отличным от 1.
0535 
0536     *) Исправление: модуль ngx_http_autoindex_module неправильно обрабатывал
0537        запросы с телом.
0538 
0539     *) Исправление: в директиве proxy_limit_rate при использовании с
0540        директивой keepalive.
0541 
0542     *) Исправление: при использовании "proxy_buffering off" часть ответа
0543        могла буферизироваться, если клиентское соединение использовало SSL.
0544        Спасибо Patryk Lesiewicz.
0545 
0546     *) Исправление: в директиве proxy_cache_background_update.
0547 
0548     *) Исправление: переменную вида "${name}" с именем в фигурных скобках
0549        нельзя было использовать в начале параметра не заключив весь параметр
0550        в кавычки.
0551 
0552 
0553 Изменения в nginx 1.13.7                                          21.11.2017
0554 
0555     *) Исправление: в переменной $upstream_status.
0556 
0557     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0558        если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос.
0559 
0560     *) Исправление: если при переконфигурации изменялся размер зоны
0561        разделяемой памяти и переконфигурация завершалась неудачно, то в
0562        главном процессе происходил segmentation fault.
0563 
0564     *) Исправление: в модуле ngx_http_fastcgi_module.
0565 
0566     *) Исправление: nginx возвращал ошибку 500, если в директиве
0567        xslt_stylesheet были заданы параметры без использования переменных.
0568 
0569     *) Изменение: при использовании варианта библиотеки zlib от Intel в лог
0570        писались сообщения "gzip filter failed to use preallocated memory".
0571 
0572     *) Исправление: директива worker_shutdown_timeout не работала при
0573        использовании почтового прокси-сервера и при проксировании
0574        WebSocket-соединений.
0575 
0576 
0577 Изменения в nginx 1.13.6                                          10.10.2017
0578 
0579     *) Исправление: при использовании директивы ssl_preread в модуле stream
0580        не работало переключение на следующий бэкенд.
0581 
0582     *) Исправление: в модуле ngx_http_v2_module.
0583        Спасибо Piotr Sikora.
0584 
0585     *) Исправление: nginx не поддерживал даты после 2038 года на 32-битных
0586        платформах с 64-битным time_t.
0587 
0588     *) Исправление: в обработке дат до 1970 года и после 10000 года.
0589 
0590     *) Исправление: в модуле stream таймауты ожидания UDP-пакетов от
0591        бэкендов не логгировались или логгировались на уровне info вместо
0592        error.
0593 
0594     *) Исправление: при использовании HTTP/2 nginx мог вернуть ошибку 400,
0595        не указав в логе причину.
0596 
0597     *) Исправление: в обработке повреждённых файлов кэша.
0598 
0599     *) Исправление: при кэшировании ошибок, перехваченных error_page, не
0600        учитывались заголовки управления кэшированием.
0601 
0602     *) Исправление: при использовании HTTP/2 тело запроса могло быть
0603        повреждено.
0604 
0605     *) Исправление: в обработке адресов клиентов при использовании unix
0606        domain сокетов.
0607 
0608     *) Исправление: при использовании директивы "hash ... consistent" в
0609        блоке upstream nginx нагружал процессор, если использовались большие
0610        веса и все или почти все бэкенды были недоступны.
0611 
0612 
0613 Изменения в nginx 1.13.5                                          05.09.2017
0614 
0615     *) Добавление: переменная $ssl_client_escaped_cert.
0616 
0617     *) Исправление: директива ssl_session_ticket_key и параметр include
0618        директивы geo не работали на Windows.
0619 
0620     *) Исправление: на 32-битных платформах при запросе более 4 гигабайт с
0621        помощью нескольких диапазонов возвращалась некорректная длина ответа.
0622 
0623     *) Исправление: директива "expires modified" и обработка строки If-Range
0624        заголовка запроса не учитывали время последнего изменения ответа,
0625        если использовалось проксирование без кэширования.
0626 
0627 
0628 Изменения в nginx 1.13.4                                          08.08.2017
0629 
0630     *) Добавление: модуль ngx_http_mirror_module.
0631 
0632     *) Исправление: клиентские соединения могли сбрасываться при
0633        тестировании конфигурации, если использовался параметр reuseport
0634        директивы listen на Linux.
0635 
0636     *) Исправление: тело запроса могло быть недоступно в подзапросах, если
0637        оно было сохранено в файл и использовалось проксирование.
0638 
0639     *) Исправление: очистка кэша по max_size не работала на Windows.
0640 
0641     *) Исправление: любое выделение разделяемой памяти на Windows требовало
0642        4096 байт памяти.
0643 
0644     *) Исправление: при использовании директивы zone в блоке upstream на
0645        Windows рабочий процесс мог завершаться аварийно.
0646 
0647 
0648 Изменения в nginx 1.13.3                                          11.07.2017
0649 
0650     *) Безопасность: специально созданный запрос мог вызвать целочисленное
0651        переполнение в range-фильтре и последующую некорректную обработку
0652        запрошенных диапазонов, что потенциально могло привести к утечке
0653        конфиденциальной информации (CVE-2017-7529).
0654 
0655 
0656 Изменения в nginx 1.13.2                                          27.06.2017
0657 
0658     *) Изменение: теперь при запросе диапазона, начинающегося с 0, из
0659        пустого файла nginx возвращает ответ 200 вместо 416.
0660 
0661     *) Добавление: директива add_trailer.
0662        Спасибо Piotr Sikora.
0663 
0664     *) Исправление: nginx не собирался под Cygwin и NetBSD; ошибка появилась
0665        в 1.13.0.
0666 
0667     *) Исправление: nginx не собирался под MSYS2 / MinGW 64-bit.
0668        Спасибо Orgad Shaneh.
0669 
0670     *) Исправление: при использовании SSI с большим количеством подзапросов
0671        и proxy_pass с переменными в рабочем процессе мог произойти
0672        segmentation fault.
0673 
0674     *) Исправление: в модуле ngx_http_v2_module.
0675        Спасибо Piotr Sikora.
0676 
0677 
0678 Изменения в nginx 1.13.1                                          30.05.2017
0679 
0680     *) Добавление: теперь в качестве параметра директивы set_real_ip_from
0681        можно указывать имя хоста.
0682 
0683     *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
0684 
0685     *) Добавление: директива worker_cpu_affinity теперь работает на
0686        DragonFly BSD.
0687        Спасибо Sepherosa Ziehau.
0688 
0689     *) Исправление: SSL renegotiation в соединениях к бэкендам не работал
0690        при использовании OpenSSL до 1.1.0.
0691 
0692     *) Изменение: nginx не собирался с Oracle Developer Studio 12.5.
0693 
0694     *) Изменение: теперь cache manager пропускает заблокированные записи при
0695        очистке кэша по max_size.
0696 
0697     *) Исправление: клиентские SSL-соединения сразу закрывались, если
0698        использовался отложенный accept и параметр proxy_protocol директивы
0699        listen.
0700 
0701     *) Исправление: в директиве proxy_cache_background_update.
0702 
0703     *) Изменение: теперь директива tcp_nodelay устанавливает опцию
0704        TCP_NODELAY перед SSL handshake.
0705 
0706 
0707 Изменения в nginx 1.13.0                                          25.04.2017
0708 
0709     *) Изменение: теперь SSL renegotiation допускается в соединениях к
0710        бэкендам.
0711 
0712     *) Добавление: параметры rcvbuf и sndbuf директив listen в почтовом
0713        прокси-сервере и модуле stream.
0714 
0715     *) Добавление: директивы return и error_page теперь могут использоваться
0716        для возврата перенаправлений с кодом 308.
0717        Спасибо Simon Leblanc.
0718 
0719     *) Добавление: параметр TLSv1.3 в директиве ssl_protocols.
0720 
0721     *) Добавление: при логгировании сигналов теперь указывается PID
0722        отправившего сигнал процесса.
0723 
0724     *) Исправление: в обработке ошибок выделения памяти.
0725 
0726     *) Исправление: если сервер в модуле stream слушал на wildcard-адресе,
0727        исходящий адрес ответного UDP-пакета мог отличаться от адреса
0728        назначения исходного пакета.
0729 
0730 
0731 Изменения в nginx 1.11.13                                         04.04.2017
0732 
0733     *) Добавление: параметр http_429 в директивах proxy_next_upstream,
0734        fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
0735        Спасибо Piotr Sikora.
0736 
0737     *) Исправление: в обработке ошибок выделения памяти.
0738 
0739     *) Исправление: при использовании директив sendfile и timer_resolution
0740        на Linux запросы могли зависать.
0741 
0742     *) Исправление: при использовании с подзапросами директив sendfile и
0743        aio_write запросы могли зависать.
0744 
0745     *) Исправление: в модуле ngx_http_v2_module.
0746        Спасибо Piotr Sikora.
0747 
0748     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0749        произойти segmentation fault.
0750 
0751     *) Исправление: запросы могли зависать при использовании с подзапросами
0752        директив limit_rate, sendfile_max_chunk, limit_req или метода
0753        $r->sleep() встроенного перла.
0754 
0755     *) Исправление: в модуле ngx_http_slice_module.
0756 
0757 
0758 Изменения в nginx 1.11.12                                         24.03.2017
0759 
0760     *) Исправление: nginx мог нагружать процессор; ошибка появилась в
0761        1.11.11.
0762 
0763 
0764 Изменения в nginx 1.11.11                                         21.03.2017
0765 
0766     *) Добавление: директива worker_shutdown_timeout.
0767 
0768     *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
0769        Спасибо Wei-Ko Kao.
0770 
0771     *) Исправление: при попытке установить переменную $limit_rate в пустую
0772        строку в рабочем процессе мог произойти segmentation fault.
0773 
0774     *) Исправление: директивы proxy_cache_background_update,
0775        fastcgi_cache_background_update, scgi_cache_background_update и
0776        uwsgi_cache_background_update могли работать некорректно, если
0777        использовалась директива if.
0778 
0779     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0780        если количество large_client_header_buffers в виртуальном сервере
0781        отличалось от такового в сервере по умолчанию.
0782 
0783     *) Исправление: в почтовом прокси-сервере.
0784 
0785 
0786 Изменения в nginx 1.11.10                                         14.02.2017
0787 
0788     *) Изменение: формат заголовка кэша был изменен, ранее закэшированные
0789        ответы будут загружены заново.
0790 
0791     *) Добавление: поддержка расширений stale-while-revalidate и
0792        stale-if-error в строке "Cache-Control" в заголовке ответа бэкенда.
0793 
0794     *) Добавление: директивы proxy_cache_background_update,
0795        fastcgi_cache_background_update, scgi_cache_background_update и
0796        uwsgi_cache_background_update.
0797 
0798     *) Добавление: теперь nginx может кэшировать ответы со строкой Vary
0799        заголовка длиной до 128 символов (вместо 42 символов в предыдущих
0800        версиях).
0801 
0802     *) Добавление: параметр build директивы server_tokens.
0803        Спасибо Tom Thorogood.
0804 
0805     *) Исправление: при обработке запросов со строкой "Expect: 100-continue"
0806        в заголовке запроса в логах могли появляться сообщения "[crit]
0807        SSL_write() failed".
0808 
0809     *) Исправление: модуль ngx_http_slice_module не работал в именованных
0810        location'ах.
0811 
0812     *) Исправление: при использовании AIO после перенаправления запроса с
0813        помощью X-Accel-Redirect в рабочем процессе мог произойти
0814        segmentation fault.
0815 
0816     *) Исправление: уменьшено потребление памяти для долгоживущих запросов,
0817        использующих сжатие.
0818 
0819 
0820 Изменения в nginx 1.11.9                                          24.01.2017
0821 
0822     *) Исправление: при использовании модуля stream nginx мог нагружать
0823        процессор; ошибка появилась в 1.11.5.
0824 
0825     *) Исправление: метод аутентификации EXTERNAL в почтовом прокси-сервере
0826        можно было использовать, даже если он не был разрешён в конфигурации.
0827 
0828     *) Исправление: при использовании директивы ssl_verify_client модуля
0829        stream в рабочем процессе мог произойти segmentation fault.
0830 
0831     *) Исправление: директива ssl_verify_client модуля stream могла не
0832        работать.
0833 
0834     *) Исправление: при исчерпании рабочим процессом свободных соединений
0835        keepalive-соединения могли закрываться излишне агрессивно.
0836        Спасибо Joel Cunningham.
0837 
0838     *) Исправление: при использовании директивы sendfile на FreeBSD и macOS
0839        мог возвращаться некорректный ответ; ошибка появилась в 1.7.8.
0840 
0841     *) Исправление: при использовании директивы aio_write ответ мог
0842        сохраняться в кэш не полностью.
0843 
0844     *) Исправление: при использовании директивы aio_write могла происходить
0845        утечка сокетов.
0846 
0847 
0848 Изменения в nginx 1.11.8                                          27.12.2016
0849 
0850     *) Добавление: директива absolute_redirect.
0851 
0852     *) Добавление: параметр escape директивы log_format.
0853 
0854     *) Добавление: проверка клиентских SSL-сертификатов в модуле stream.
0855 
0856     *) Добавление: директива ssl_session_ticket_key поддерживает шифрование
0857        TLS session tickets с помощью AES256 при использовании с 80-байтными
0858        ключами.
0859 
0860     *) Добавление: поддержка vim-commentary в скриптах для vim.
0861        Спасибо Armin Grodon.
0862 
0863     *) Исправление: рекурсия при получении значений переменных не
0864        ограничивалась.
0865 
0866     *) Исправление: в модуле ngx_stream_ssl_preread_module.
0867 
0868     *) Исправление: если сервер, описанный в блоке upstream в модуле stream,
0869        был признан неработающим, то после истечения fail_timeout он
0870        признавался работающим только после завершения тестового соединения;
0871        теперь достаточно, чтобы соединение было успешно установлено.
0872 
0873     *) Исправление: nginx/Windows не собирался с 64-битным Visual Studio.
0874 
0875     *) Исправление: nginx/Windows не собирался с OpenSSL 1.1.0.
0876 
0877 
0878 Изменения в nginx 1.11.7                                          13.12.2016
0879 
0880     *) Изменение: переменная $ssl_client_verify теперь в случае ошибки
0881        проверки клиентского сертификата содержит строку с описанием ошибки,
0882        например, "FAILED:certificate has expired".
0883 
0884     *) Добавление: переменные $ssl_ciphers, $ssl_curves,
0885        $ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain.
0886 
0887     *) Добавление: параметр volatile директивы map.
0888 
0889     *) Исправление: при сборке динамических модулей не учитывались заданные
0890        для модуля зависимости.
0891 
0892     *) Исправление: при использовании HTTP/2 и директив limit_req или
0893        auth_request тело запроса могло быть повреждено; ошибка появилась в
0894        1.11.0.
0895 
0896     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0897        произойти segmentation fault; ошибка появилась в 1.11.3.
0898 
0899     *) Исправление: в модуле ngx_http_mp4_module.
0900        Спасибо Congcong Hu.
0901 
0902     *) Исправление: в модуле ngx_http_perl_module.
0903 
0904 
0905 Изменения в nginx 1.11.6                                          15.11.2016
0906 
0907     *) Изменение: формат переменных $ssl_client_s_dn и $ssl_client_i_dn
0908        изменён на соответствующий RFC 2253 (RFC 4514); значения в старом
0909        формате доступны через переменные $ssl_client_s_dn_legacy и
0910        $ssl_client_i_dn_legacy.
0911 
0912     *) Изменение: при сохранении временных файлов в каталоге кэша они теперь
0913        располагаются не в отдельном подкаталоге для временных файлов, а в
0914        том же подкаталоге, что и соответствующие файлы в кэше.
0915 
0916     *) Добавление: поддержка метода аутентификации EXTERNAL в почтовом
0917        прокси-сервере.
0918        Спасибо Robert Norris.
0919 
0920     *) Добавление: поддержка WebP в модуле ngx_http_image_filter_module.
0921 
0922     *) Добавление: директива proxy_method поддерживает переменные.
0923        Спасибо Дмитрию Лазуркину.
0924 
0925     *) Добавление: директива http2_max_requests в модуле ngx_http_v2_module.
0926 
0927     *) Добавление: директивы proxy_cache_max_range_offset,
0928        fastcgi_cache_max_range_offset, scgi_cache_max_range_offset и
0929        uwsgi_cache_max_range_offset.
0930 
0931     *) Исправление: плавное завершение старых рабочих процессов могло
0932        занимать бесконечное время при использовании HTTP/2.
0933 
0934     *) Исправление: в модуле ngx_http_mp4_module.
0935 
0936     *) Исправление: при проксировании WebSocket-соединений и включённом
0937        кэшировании в логах могли появляться сообщения "ignore long locked
0938        inactive cache entry".
0939 
0940     *) Исправление: если во время SSL handshake с бэкендом происходил
0941        таймаут, nginx ничего не писал в лог и возвращал ответ с кодом 502
0942        вместо 504.
0943 
0944 
0945 Изменения в nginx 1.11.5                                          11.10.2016
0946 
0947     *) Изменение: параметр configure --with-ipv6 упразднён, поддержка IPv6
0948        теперь собирается автоматически.
0949 
0950     *) Изменение: теперь, если в блоке upstream не оказалось доступных
0951        серверов, nginx не сбрасывает статистику ошибок всех серверов, как
0952        делал ранее, а ожидает истечения fail_timeout.
0953 
0954     *) Добавление: модуль ngx_stream_ssl_preread_module.
0955 
0956     *) Добавление: директива server в блоке upstream поддерживает параметр
0957        max_conns.
0958 
0959     *) Добавление: параметр configure --with-compat.
0960 
0961     *) Добавление: параметры manager_files, manager_threshold и
0962        manager_sleep директив proxy_cache_path, fastcgi_cache_path,
0963        scgi_cache_path и uwsgi_cache_path.
0964 
0965     *) Исправление: при сборке perl-модуля не использовались флаги, заданные
0966        с помощью параметра configure --with-ld-opt.
0967 
0968     *) Исправление: в директиве add_after_body при использовании совместно с
0969        директивой sub_filter.
0970 
0971     *) Исправление: в переменной $realip_remote_addr.
0972 
0973     *) Исправление: директивы dav_access, proxy_store_access,
0974        fastcgi_store_access, scgi_store_access и uwsgi_store_access
0975        игнорировали права, заданные для пользователя.
0976 
0977     *) Исправление: unix domain listen-сокеты могли не наследоваться при
0978        обновлении исполняемого файла на Linux.
0979 
0980     *) Исправление: nginx возвращал ошибку 400 на запросы с символом "-" в
0981        HTTP-методе.
0982 
0983 
0984 Изменения в nginx 1.11.4                                          13.09.2016
0985 
0986     *) Добавление: переменная $upstream_bytes_received.
0987 
0988     *) Добавление: переменные $bytes_received, $session_time, $protocol,
0989        $status, $upstream_addr, $upstream_bytes_sent,
0990        $upstream_bytes_received, $upstream_connect_time,
0991        $upstream_first_byte_time и $upstream_session_time в модуле stream.
0992 
0993     *) Добавление: модуль ngx_stream_log_module.
0994 
0995     *) Добавление: параметр proxy_protocol в директиве listen, переменные
0996        $proxy_protocol_addr и $proxy_protocol_port в модуле stream.
0997 
0998     *) Добавление: модуль ngx_stream_realip_module.
0999 
1000     *) Исправление: nginx не собирался с модулем stream и модулем
1001        ngx_http_ssl_module, но без модуля ngx_stream_ssl_module; ошибка
1002        появилась в 1.11.3.
1003 
1004     *) Добавление: опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась;
1005        ошибка появилась в 1.11.2.
1006 
1007     *) Исправление: в параметре ranges директивы geo.
1008 
1009     *) Исправление: при использовании директив "aio threads" и sendfile мог
1010        возвращаться некорректный ответ; ошибка появилась в 1.9.13.
1011 
1012 
1013 Изменения в nginx 1.11.3                                          26.07.2016
1014 
1015     *) Изменение: теперь accept_mutex по умолчанию выключен.
1016 
1017     *) Добавление: теперь nginx использует EPOLLEXCLUSIVE на Linux.
1018 
1019     *) Добавление: модуль ngx_stream_geo_module.
1020 
1021     *) Добавление: модуль ngx_stream_geoip_module.
1022 
1023     *) Добавление: модуль ngx_stream_split_clients_module.
1024 
1025     *) Добавление: директивы proxy_pass и proxy_ssl_name в модуле stream
1026        поддерживают переменные.
1027 
1028     *) Исправление: утечки сокетов при использовании HTTP/2.
1029 
1030     *) Исправление: в configure.
1031        Спасибо Piotr Sikora.
1032 
1033 
1034 Изменения в nginx 1.11.2                                          05.07.2016
1035 
1036     *) Изменение: теперь nginx всегда использует внутренние реализации MD5 и
1037        SHA1; параметры configure --with-md5 и --with-sha1 упразднены.
1038 
1039     *) Добавление: поддержка переменных в модуле stream.
1040 
1041     *) Добавление: модуль ngx_stream_map_module.
1042 
1043     *) Добавление: модуль ngx_stream_return_module.
1044 
1045     *) Добавление: в директивах proxy_bind, fastcgi_bind, memcached_bind,
1046        scgi_bind и uwsgi_bind теперь можно указывать порт.
1047 
1048     *) Добавление: теперь nginx использует опцию сокета
1049        IP_BIND_ADDRESS_NO_PORT, если она доступна.
1050 
1051     *) Исправление: при использовании HTTP/2 и директивы
1052        proxy_request_buffering в рабочем процессе мог произойти segmentation
1053        fault.
1054 
1055     *) Исправление: при использовании HTTP/2 к запросам, передаваемым на
1056        бэкенд, всегда добавлялась строка заголовка "Content-Length", даже
1057        если у запроса не было тела.
1058 
1059     *) Исправление: при использовании HTTP/2 в логах могли появляться
1060        сообщения "http request count is zero".
1061 
1062     *) Исправление: при использовании директивы sub_filter могло
1063        буферизироваться больше данных, чем это необходимо; проблема
1064        появилась в 1.9.4.
1065 
1066 
1067 Изменения в nginx 1.11.1                                          31.05.2016
1068 
1069     *) Безопасность: при записи тела специально созданного запроса во
1070        временный файл в рабочем процессе мог происходить segmentation fault
1071        (CVE-2016-4450); ошибка появилась в 1.3.9.
1072 
1073 
1074 Изменения в nginx 1.11.0                                          24.05.2016
1075 
1076     *) Добавление: параметр transparent директив proxy_bind, fastcgi_bind,
1077        memcached_bind, scgi_bind и uwsgi_bind.
1078 
1079     *) Добавление: переменная $request_id.
1080 
1081     *) Добавление: директива map поддерживает комбинации нескольких
1082        переменных в качестве результирующих значений.
1083 
1084     *) Добавление: теперь при использовании метода epoll nginx проверяет,
1085        поддерживает ли ядро события EPOLLRDHUP, и соответственно
1086        оптимизирует обработку соединений.
1087 
1088     *) Добавление: директивы ssl_certificate и ssl_certificate_key теперь
1089        можно указывать несколько раз для загрузки сертификатов разных типов
1090        (например, RSA и ECDSA).
1091 
1092     *) Добавление: при использовании OpenSSL 1.0.2 и новее с помощью
1093        директивы ssl_ecdh_curve теперь можно задать список кривых; по
1094        умолчанию используется встроенный в OpenSSL список кривых.
1095 
1096     *) Изменение: для использования DHE-шифров теперь надо явно задавать
1097        файл параметров с помощью директивы ssl_dhparam.
1098 
1099     *) Добавление: переменная $proxy_protocol_port.
1100 
1101     *) Добавление: переменная $realip_remote_port в модуле
1102        ngx_http_realip_module.
1103 
1104     *) Добавление: модуль ngx_http_realip_module теперь позволяет
1105        устанавливать не только адрес, но и порт клиента.
1106 
1107     *) Изменение: при попытке запросить виртуальный сервер, отличающийся от
1108        согласованного в процессе SSL handshake, теперь возвращается ответ
1109        "421 Misdirected Request"; это улучшает совместимость с некоторыми
1110        HTTP/2-клиентами в случае использования клиентских сертификатов.
1111 
1112     *) Изменение: HTTP/2-клиенты теперь могут сразу присылать тело запроса;
1113        директива http2_body_preread_size позволяет указать размер буфера,
1114        который будет использоваться до того, как nginx начнёт читать тело.
1115 
1116     *) Исправление: при использовании директивы proxy_cache_bypass не
1117        обновлялись закэшированные ошибочные ответы.
1118 
1119 
1120 Изменения в nginx 1.9.15                                          19.04.2016
1121 
1122     *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли
1123        возникать ошибки "recv() failed".
1124 
1125     *) Исправление: при использовании HTTP/2 и директив limit_req или
1126        auth_request при чтении тела запроса мог произойти таймаут или ошибка
1127        "client violated flow control"; ошибка появилась в 1.9.14.
1128 
1129     *) Изменение: при использовании HTTP/2 ответ мог не показываться
1130        некоторыми браузерами, если тело запроса было прочитано не целиком;
1131        ошибка появилась в 1.9.14.
1132 
1133     *) Исправление: при использовании директивы "aio threads" соединения
1134        могли зависать.
1135        Спасибо Mindaugas Rasiukevicius.
1136 
1137 
1138 Изменения в nginx 1.9.14                                          05.04.2016
1139 
1140     *) Добавление: совместимость с OpenSSL 1.1.0.
1141 
1142     *) Добавление: директивы proxy_request_buffering,
1143        fastcgi_request_buffering, scgi_request_buffering и
1144        uwsgi_request_buffering теперь работают при использовании HTTP/2.
1145 
1146     *) Исправление: при использовании HTTP/2 в логах могли появляться
1147        сообщения "zero size buf in output".
1148 
1149     *) Исправление: при использовании HTTP/2 директива client_max_body_size
1150        могла работать неверно.
1151 
1152     *) Исправление: незначительных ошибок логгирования.
1153 
1154 
1155 Изменения в nginx 1.9.13                                          29.03.2016
1156 
1157     *) Изменение: неидемпотентные запросы (POST, LOCK, PATCH) теперь по
1158        умолчанию не передаются на другой сервер, если запрос уже был
1159        отправлен на бэкенд; параметр non_idempotent директивы
1160        proxy_next_upstream явно разрешает повторять такие запросы.
1161 
1162     *) Добавление: модуль ngx_http_perl_module теперь можно собрать
1163        динамически.
1164 
1165     *) Добавление: поддержка UDP в модуле stream.
1166 
1167     *) Добавление: директива aio_write.
1168 
1169     *) Добавление: теперь cache manager следит за количеством элементов в
1170        кэше и старается не допускать переполнений зоны разделяемой памяти.
1171 
1172     *) Исправление: при использовании директив sendfile и aio с подзапросами
1173        в логах могли появляться сообщения "task already active" и "second
1174        aio post".
1175 
1176     *) Исправление: при использовании кэширования в логах могли появляться
1177        сообщения "zero size buf in output", если клиент закрывал соединение
1178        преждевременно.
1179 
1180     *) Исправление: при использовании кэширования соединения с клиентами
1181        могли закрываться без необходимости.
1182        Спасибо Justin Li.
1183 
1184     *) Исправление: nginx мог нагружать процессор при использовании
1185        директивы sendfile на Linux и Solaris, если отправляемый файл был
1186        изменён в процессе отправки.
1187 
1188     *) Исправление: при использовании директив sendfile и "aio threads"
1189        соединения могли зависать.
1190 
1191     *) Исправление: в директивах proxy_pass, fastcgi_pass, scgi_pass и
1192        uwsgi_pass при использовании переменных.
1193        Спасибо Piotr Sikora.
1194 
1195     *) Исправление: в модуле ngx_http_sub_filter_module.
1196 
1197     *) Исправление: если в закэшированном соединении к бэкенду происходила
1198        ошибка, запрос передавался на другой сервер без учёта директивы
1199        proxy_next_upstream.
1200 
1201     *) Исправление: ошибки "CreateFile() failed" при создании временных
1202        файлов на Windows.
1203 
1204 
1205 Изменения в nginx 1.9.12                                          24.02.2016
1206 
1207     *) Добавление: кодирование Хаффмана заголовков ответов в HTTP/2.
1208        Спасибо Владу Краснову.
1209 
1210     *) Добавление: директива worker_cpu_affinity теперь поддерживает более
1211        64 процессоров.
1212 
1213     *) Исправление: совместимость со сторонними модулями на C++; ошибка
1214        появилась в 1.9.11.
1215        Спасибо Piotr Sikora.
1216 
1217     *) Исправление: nginx не собирался статически с OpenSSL на Linux; ошибка
1218        появилась в 1.9.11.
1219 
1220     *) Исправление: директива "add_header ... always" с пустым значением не
1221        удаляла из заголовков ошибочных ответов строки Last-Modified и ETag.
1222 
1223     *) Изменение: при использовании OpenSSL 1.0.2f в логах могли появляться
1224        сообщения "called a function you should not call" и "shutdown while
1225        in init".
1226 
1227     *) Исправление: ошибочные заголовки могли логгироваться некорректно.
1228 
1229     *) Исправление: утечки сокетов при использовании HTTP/2.
1230 
1231     *) Исправление: в модуле ngx_http_v2_module.
1232 
1233 
1234 Изменения в nginx 1.9.11                                          09.02.2016
1235 
1236     *) Добавление: теперь resolver поддерживает TCP.
1237 
1238     *) Добавление: динамические модули.
1239 
1240     *) Исправление: при использовании HTTP/2 переменная $request_length не
1241        учитывала размер заголовков запроса.
1242 
1243     *) Исправление: в модуле ngx_http_v2_module.
1244 
1245 
1246 Изменения в nginx 1.9.10                                          26.01.2016
1247 
1248     *) Безопасность: при использовании директивы resolver во время обработки
1249        ответов DNS-сервера могло происходить разыменование некорректного
1250        адреса, что позволяло атакующему, имеющему возможность подделывать
1251        UDP-пакеты от DNS-сервера, вызвать segmentation fault в рабочем
1252        процессе (CVE-2016-0742).
1253 
1254     *) Безопасность: при использовании директивы resolver во время обработки
1255        CNAME-записей могло произойти обращение к ранее освобождённой памяти,
1256        что позволяло атакующему, имеющему возможность инициировать
1257        преобразование произвольных имён в адреса, вызвать segmentation fault
1258        в рабочем процессе, а также потенциально могло иметь другие
1259        последствия (CVE-2016-0746).
1260 
1261     *) Безопасность: при использовании директивы resolver во время обработки
1262        CNAME-записей не во всех случаях проверялось ограничение на
1263        максимальное количество записей в цепочке, что позволяло атакующему,
1264        имеющему возможность инициировать преобразование произвольных имён в
1265        адреса, вызвать чрезмерное потребление ресурсов рабочими процессами
1266        (CVE-2016-0747).
1267 
1268     *) Добавление: параметр auto директивы worker_cpu_affinity.
1269 
1270     *) Исправление: параметр proxy_protocol директивы listen не работал с
1271        IPv6 listen-сокетами.
1272 
1273     *) Исправление: при использовании директивы keepalive соединения к
1274        бэкендам могли кэшироваться некорректно.
1275 
1276     *) Исправление: после перенаправления запроса с помощью X-Accel-Redirect
1277        при проксировании использовался HTTP-метод оригинального запроса.
1278 
1279 
1280 Изменения в nginx 1.9.9                                           09.12.2015
1281 
1282     *) Исправление: проксирование в unix domain сокеты не работало при
1283        использовании переменных; ошибка появилась в 1.9.8.
1284 
1285 
1286 Изменения в nginx 1.9.8                                           08.12.2015
1287 
1288     *) Добавление: поддержка pwritev().
1289 
1290     *) Добавление: директива include в блоке upstream.
1291 
1292     *) Добавление: модуль ngx_http_slice_module.
1293 
1294     *) Исправление: при использовании LibreSSL в рабочем процессе мог
1295        произойти segmentation fault; ошибка появилась в 1.9.6.
1296 
1297     *) Исправление: nginx мог не собираться на OS X.
1298 
1299 
1300 Изменения в nginx 1.9.7                                           17.11.2015
1301 
1302     *) Добавление: параметр nohostname логгирования в syslog.
1303 
1304     *) Добавление: директива proxy_cache_convert_head.
1305 
1306     *) Добавление: переменная $realip_remote_addr в модуле
1307        ngx_http_realip_module.
1308 
1309     *) Исправление: директива expires могла не срабатывать при использовании
1310        переменных.
1311 
1312     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
1313        произойти segmentation fault; ошибка появилась в 1.9.6.
1314 
1315     *) Исправление: если nginx был собран с модулем ngx_http_v2_module,
1316        протокол HTTP/2 мог быть использован клиентом, даже если не был
1317        указан параметр http2 директивы listen.
1318 
1319     *) Исправление: в модуле ngx_http_v2_module.
1320 
1321 
1322 Изменения в nginx 1.9.6                                           27.10.2015
1323 
1324     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
1325        произойти segmentation fault.
1326        Спасибо Piotr Sikora и Denis Andzakovic.
1327 
1328     *) Исправление: при использовании HTTP/2 переменная $server_protocol
1329        была пустой.
1330 
1331     *) Исправление: SSL-соединения к бэкендам в модуле stream могли
1332        неожиданно завершаться по таймауту.
1333 
1334     *) Исправление: при использовании различных настроек ssl_session_cache в
1335        разных виртуальных серверах в рабочем процессе мог произойти
1336        segmentation fault.
1337 
1338     *) Исправление: nginx/Windows не собирался с MinGW gcc; ошибка появилась
1339        в 1.9.4.
1340        Спасибо Kouhei Sutou.
1341 
1342     *) Исправление: при использовании директивы timer_resolution на Windows
1343        время не обновлялось.
1344 
1345     *) Незначительные исправления и улучшения.
1346        Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
1347 
1348 
1349 Изменения в nginx 1.9.5                                           22.09.2015
1350 
1351     *) Добавление: модуль ngx_http_v2_module (заменяет модуль
1352        ngx_http_spdy_module).
1353        Спасибо Dropbox и Automattic за спонсирование разработки.
1354 
1355     *) Изменение: теперь по умолчанию директива output_buffers использует
1356        два буфера.
1357 
1358     *) Изменение: теперь nginx ограничивает максимальную вложенность
1359        подзапросов, а не количество одновременных подзапросов.
1360 
1361     *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ
1362        полностью.
1363        Спасибо Геннадию Махомеду и Сергею Брестеру.
1364 
1365     *) Исправление: при использовании кэша в логах могли появляться
1366        сообщения "header already sent"; ошибка появилась в 1.7.5.
1367 
1368     *) Исправление: при использовании CephFS и директивы timer_resolution на
1369        Linux в логах могли появляться сообщения "writev() failed (4:
1370        Interrupted system call)".
1371 
1372     *) Исправление: в обработке ошибок конфигурации.
1373        Спасибо Markus Linnala.
1374 
1375     *) Исправление: при использовании директивы sub_filter на уровне http в
1376        рабочем процессе происходил segmentation fault; ошибка появилась в
1377        1.9.4.
1378 
1379 
1380 Изменения в nginx 1.9.4                                           18.08.2015
1381 
1382     *) Изменение: директивы proxy_downstream_buffer и proxy_upstream_buffer
1383        в модуле stream заменены директивой proxy_buffer_size.
1384 
1385     *) Добавление: директива tcp_nodelay в модуле stream.
1386 
1387     *) Добавление: теперь можно указать несколько директив sub_filter
1388        одновременно.
1389 
1390     *) Добавление: директива sub_filter поддерживает переменные в строке
1391        поиска.
1392 
1393     *) Изменение: тестирование конфигурации могло не работать под Linux
1394        OpenVZ.
1395        Спасибо Геннадию Махомеду.
1396 
1397     *) Исправление: после переконфигурации старые рабочие процессы могли
1398        сильно нагружать процессор при больших значениях worker_connections.
1399 
1400     *) Исправление: при совместном использовании директив try_files и alias
1401        внутри location'а, заданного регулярным выражением, в рабочем
1402        процессе мог произойти segmentation fault; ошибка появилась в 1.7.1.
1403 
1404     *) Исправление: директива try_files внутри вложенного location'а,
1405        заданного регулярным выражением, работала неправильно, если во
1406        внешнем location'е использовалась директива alias.
1407 
1408     *) Исправление: в обработке ошибок при построении хэш-таблиц.
1409 
1410     *) Исправление: nginx не собирался с Visual Studio 2015.
1411 
1412 
1413 Изменения в nginx 1.9.3                                           14.07.2015
1414 
1415     *) Изменение: дублирующиеся блоки http, mail и stream теперь запрещены.
1416 
1417     *) Добавление: ограничение количества соединений в модуле stream.
1418 
1419     *) Добавление: ограничение скорости в модуле stream.
1420 
1421     *) Исправление: директива zone в блоке upstream не работала на Windows.
1422 
1423     *) Исправление: совместимость с LibreSSL в модуле stream.
1424        Спасибо Piotr Sikora.
1425 
1426     *) Исправление: в параметре --builddir в configure.
1427        Спасибо Piotr Sikora.
1428 
1429     *) Исправление: директива ssl_stapling_file не работала; ошибка
1430        появилась в 1.9.2.
1431        Спасибо Faidon Liambotis и Brandon Black.
1432 
1433     *) Исправление: при использовании директивы ssl_stapling в рабочем
1434        процессе мог произойти segmentation fault; ошибка появилась в 1.9.2.
1435        Спасибо Matthew Baldwin.
1436 
1437 
1438 Изменения в nginx 1.9.2                                           16.06.2015
1439 
1440     *) Добавление: параметр backlog директивы listen в почтовом
1441        прокси-сервере и модуле stream.
1442 
1443     *) Добавление: директивы allow и deny в модуле stream.
1444 
1445     *) Добавление: директива proxy_bind в модуле stream.
1446 
1447     *) Добавление: директива proxy_protocol в модуле stream.
1448 
1449     *) Добавление: ключ -T.
1450 
1451     *) Добавление: параметр REQUEST_SCHEME добавлен в стандартные
1452        конфигурационные файлы fastcgi.conf, fastcgi_params, scgi_params и
1453        uwsgi_params.
1454 
1455     *) Исправление: параметр reuseport директивы listen в модуле stream не
1456        работал.
1457 
1458     *) Исправление: OCSP stapling в некоторых случаях мог вернуть устаревший
1459        OCSP-ответ.
1460 
1461 
1462 Изменения в nginx 1.9.1                                           26.05.2015
1463 
1464     *) Изменение: теперь протокол SSLv3 по умолчанию запрещён.
1465 
1466     *) Изменение: некоторые давно устаревшие директивы больше не
1467        поддерживаются.
1468 
1469     *) Добавление: параметр reuseport директивы listen.
1470        Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
1471 
1472     *) Добавление: переменная $upstream_connect_time.
1473 
1474     *) Исправление: в директиве hash на big-endian платформах.
1475 
1476     *) Исправление: nginx мог не запускаться на некоторых старых версиях
1477        Linux; ошибка появилась в 1.7.11.
1478 
1479     *) Исправление: в парсинге IP-адресов.
1480        Спасибо Сергею Половко.
1481 
1482 
1483 Изменения в nginx 1.9.0                                           28.04.2015
1484 
1485     *) Изменение: устаревшие методы обработки соединений aio и rtsig больше
1486        не поддерживаются.
1487 
1488     *) Добавление: директива zone в блоке upstream.
1489 
1490     *) Добавление: модуль stream.
1491 
1492     *) Добавление: поддержка byte ranges для ответов модуля
1493        ngx_http_memcached_module.
1494        Спасибо Martin Mlynář.
1495 
1496     *) Добавление: разделяемую память теперь можно использовать на версиях
1497        Windows с рандомизацией адресного пространства.
1498        Спасибо Сергею Брестеру.
1499 
1500     *) Добавление: директиву error_log теперь можно использовать на уровнях
1501        mail и server в почтовом прокси-сервере.
1502 
1503     *) Исправление: параметр proxy_protocol директивы listen не работал,
1504        если не был указан в первой директиве listen для данного
1505        listen-сокета.
1506 
1507 
1508 Изменения в nginx 1.7.12                                          07.04.2015
1509 
1510     *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
1511        с бэкендами.
1512 
1513     *) Добавление: теперь потоки могут использоваться для чтения заголовков
1514        файлов в кэше.
1515 
1516     *) Исправление: в директиве proxy_request_buffering.
1517 
1518     *) Исправление: при использовании потоков на Linux в рабочем процессе
1519        мог произойти segmentation fault.
1520 
1521     *) Исправление: в обработке ошибок при использовании директивы
1522        ssl_stapling.
1523        Спасибо Filipe da Silva.
1524 
1525     *) Исправление: в модуле ngx_http_spdy_module.
1526 
1527 
1528 Изменения в nginx 1.7.11                                          24.03.2015
1529 
1530     *) Изменение: параметр sendfile директивы aio более не нужен; теперь
1531        nginx автоматически использует AIO для подгрузки данных для sendfile,
1532        если одновременно используются директивы aio и sendfile.
1533 
1534     *) Добавление: экспериментальная поддержка потоков.
1535 
1536     *) Добавление: директивы proxy_request_buffering,
1537        fastcgi_request_buffering, scgi_request_buffering и
1538        uwsgi_request_buffering.
1539 
1540     *) Добавление: экспериментальное API для обработки тела запроса.
1541 
1542     *) Добавление: проверка клиентских SSL-сертификатов в почтовом
1543        прокси-сервере.
1544        Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
1545 
1546     *) Добавление: уменьшение времени запуска при использовании директивы
1547        "hash ... consistent" в блоке upstream.
1548        Спасибо Wai Keen Woon.
1549 
1550     *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
1551 
1552     *) Исправление: в обработке хэш-таблиц.
1553        Спасибо Chris West.
1554 
1555     *) Исправление: в директиве proxy_cache_revalidate.
1556 
1557     *) Исправление: SSL-соединения могли зависать, если использовался
1558        отложенный accept или параметр proxy_protocol директивы listen.
1559        Спасибо James Hamlin.
1560 
1561     *) Исправление: переменная $upstream_response_time могла содержать
1562        неверное значение при использовании директивы image_filter.
1563 
1564     *) Исправление: в обработке целочисленных переполнений.
1565        Спасибо Régis Leroy.
1566 
1567     *) Исправление: при использовании LibreSSL было невозможно включить
1568        поддержку SSLv3.
1569 
1570     *) Исправление: при использовании LibreSSL в логах появлялись сообщения
1571        "ignoring stale global SSL error ... called a function you should not
1572        call".
1573 
1574     *) Исправление: сертификаты, указанные в директивах
1575        ssl_client_certificate и ssl_trusted_certificate, использовались для
1576        автоматического построения цепочек сертификатов.
1577 
1578 
1579 Изменения в nginx 1.7.10                                          10.02.2015
1580 
1581     *) Добавление: параметр use_temp_path директив proxy_cache_path,
1582        fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
1583 
1584     *) Добавление: переменная $upstream_header_time.
1585 
1586     *) Изменение: теперь при переполнении диска nginx пытается писать
1587        error_log'и только раз в секунду.
1588 
1589     *) Исправление: директива try_files при тестировании каталогов не
1590        игнорировала обычные файлы.
1591        Спасибо Damien Tournoud.
1592 
1593     *) Исправление: при использовании директивы sendfile на OS X возникали
1594        ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
1595 
1596     *) Исправление: в лог могли писаться сообщения "sem_post() failed".
1597 
1598     *) Исправление: nginx не собирался с musl libc.
1599        Спасибо James Taylor.
1600 
1601     *) Исправление: nginx не собирался на Tru64 UNIX.
1602        Спасибо Goetz T. Fischer.
1603 
1604 
1605 Изменения в nginx 1.7.9                                           23.12.2014
1606 
1607     *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
1608        uwsgi_cache поддерживают переменные.
1609 
1610     *) Добавление: директива expires поддерживает переменные.
1611 
1612     *) Добавление: возможность загрузки секретных ключей с аппаратных
1613        устройств с помощью OpenSSL engines.
1614        Спасибо Дмитрию Пичулину.
1615 
1616     *) Добавление: директива autoindex_format.
1617 
1618     *) Исправление: ревалидация элементов кэша теперь используется только
1619        для ответов с кодами 200 и 206.
1620        Спасибо Piotr Sikora.
1621 
1622     *) Исправление: строка "TE" заголовка запроса клиента передавалась на
1623        бэкенд при проксировании.
1624 
1625     *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
1626        uwsgi_pass могли неправильно работать внутри блоков if и
1627        limit_except.
1628 
1629     *) Исправление: директива proxy_store с параметром "on" игнорировалась,
1630        если на предыдущем уровне использовалась директива proxy_store с явно
1631        заданным путём к файлам.
1632 
1633     *) Исправление: nginx не собирался с BoringSSL.
1634        Спасибо Lukas Tribus.
1635 
1636 
1637 Изменения в nginx 1.7.8                                           02.12.2014
1638 
1639     *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
1640        подобные в заголовке запроса клиента передаются бэкенду при
1641        включённом кэшировании, если nginx заранее знает, что не будет
1642        кэшировать ответ (например, при использовании proxy_cache_min_uses).
1643 
1644     *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
1645        отправляет запрос на бэкенд без кэширования; новые директивы
1646        proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
1647        uwsgi_cache_lock_age позволяют указать, через какое время блокировка
1648        будет принудительно снята и будет сделана ещё одна попытка
1649        закэшировать ответ.
1650 
1651     *) Изменение: директива log_format теперь может использоваться только на
1652        уровне http.
1653 
1654     *) Добавление: директивы proxy_ssl_certificate,
1655        proxy_ssl_certificate_key, proxy_ssl_password_file,
1656        uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
1657        uwsgi_ssl_password_file.
1658        Спасибо Piotr Sikora.
1659 
1660     *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
1661        именованный location.
1662        Спасибо Toshikuni Fukaya.
1663 
1664     *) Добавление: теперь директива tcp_nodelay работает для
1665        SPDY-соединений.
1666 
1667     *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
1668        Спасибо Peter Wu.
1669 
1670     *) Исправление: nginx игнорировал значение "s-maxage" в строке
1671        "Cache-Control" в заголовке ответа бэкенда.
1672        Спасибо Piotr Sikora.
1673 
1674     *) Исправление: в модуле ngx_http_spdy_module.
1675        Спасибо Piotr Sikora.
1676 
1677     *) Исправление: в директиве ssl_password_file при использовании OpenSSL
1678        0.9.8zc, 1.0.0o, 1.0.1j.
1679 
1680     *) Исправление: при использовании директивы post_action в лог писались
1681        сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
1682 
1683     *) Исправление: при использовании директивы "postpone_output 0" с
1684        SSI-подзапросами в лог могли писаться сообщения "the http output
1685        chain is empty".
1686 
1687     *) Исправление: в директиве proxy_cache_lock при использовании
1688        SSI-подзапросов.
1689        Спасибо Yichun Zhang.
1690 
1691 
1692 Изменения в nginx 1.7.7                                           28.10.2014
1693 
1694     *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
1695        заголовке ответа бэкенда.
1696 
1697     *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
1698        scgi_force_ranges и uwsgi_force_ranges.
1699 
1700     *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
1701        scgi_limit_rate и uwsgi_limit_rate.
1702 
1703     *) Добавление: параметр Vary директив proxy_ignore_headers,
1704        fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
1705 
1706     *) Исправление: последняя часть ответа, полученного от бэкенда при
1707        небуферизированном проксировании, могла не отправляться клиенту, если
1708        использовались директивы gzip или gunzip.
1709 
1710     *) Исправление: в директиве proxy_cache_revalidate.
1711        Спасибо Piotr Sikora.
1712 
1713     *) Исправление: в обработке ошибок.
1714        Спасибо Yichun Zhang и Даниилу Бондареву.
1715 
1716     *) Исправление: в директивах proxy_next_upstream_tries и
1717        proxy_next_upstream_timeout.
1718        Спасибо Feng Gu.
1719 
1720     *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
1721        Спасибо Kouhei Sutou.
1722 
1723 
1724 Изменения в nginx 1.7.6                                           30.09.2014
1725 
1726     *) Изменение: устаревшая директива limit_zone больше не поддерживается.
1727 
1728     *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
1729        можно использовать комбинации нескольких переменных.
1730 
1731     *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
1732        запроса могло передаваться неправильно.
1733 
1734     *) Исправление: в логгировании в syslog.
1735 
1736 
1737 Изменения в nginx 1.7.5                                           16.09.2014
1738 
1739     *) Безопасность: при использовании общего для нескольких блоков server
1740        разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
1741        session tickets было возможно повторно использовать SSL-сессию в
1742        контексте другого блока server (CVE-2014-3616).
1743        Спасибо Antoine Delignat-Lavaud.
1744 
1745     *) Изменение: директиву stub_status теперь можно указывать без
1746        параметров.
1747 
1748     *) Добавление: параметр always директивы add_header.
1749 
1750     *) Добавление: директивы proxy_next_upstream_tries,
1751        proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
1752        fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
1753        memcached_next_upstream_timeout, scgi_next_upstream_tries,
1754        scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
1755        uwsgi_next_upstream_timeout.
1756 
1757     *) Исправление: в параметре if директивы access_log.
1758 
1759     *) Исправление: в модуле ngx_http_perl_module.
1760        Спасибо Piotr Sikora.
1761 
1762     *) Исправление: директива listen почтового прокси-сервера не позволяла
1763        указать более двух параметров.
1764 
1765     *) Исправление: директива sub_filter не работала с заменяемой строкой из
1766        одного символа.
1767 
1768     *) Исправление: запросы могли зависать, если использовался resolver и в
1769        процессе обращения к DNS-серверу происходил таймаут.
1770 
1771     *) Исправление: в модуле ngx_http_spdy_module при использовании
1772        совместно с AIO.
1773 
1774     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1775        если с помощью директивы set изменялись переменные "$http_...",
1776        "$sent_http_..." или "$upstream_http_...".
1777 
1778     *) Исправление: в обработке ошибок выделения памяти.
1779        Спасибо Markus Linnala и Feng Gu.
1780 
1781 
1782 Изменения в nginx 1.7.4                                           05.08.2014
1783 
1784     *) Безопасность: pipelined-команды не отбрасывались после команды
1785        STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
1786        1.5.6.
1787        Спасибо Chris Boulton.
1788 
1789     *) Изменение: экранирование символов в URI теперь использует
1790        шестнадцатеричные цифры в верхнем регистре.
1791        Спасибо Piotr Sikora.
1792 
1793     *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
1794        Спасибо Piotr Sikora.
1795 
1796     *) Исправление: запросы могли зависать, если использовался resolver и
1797        DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
1798 
1799     *) Исправление: в модуле ngx_http_spdy_module.
1800        Спасибо Piotr Sikora.
1801 
1802     *) Исправление: переменная $uri могла содержать мусор при возврате
1803        ошибок с кодом 400.
1804        Спасибо Сергею Боброву.
1805 
1806     *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
1807        ngx_http_dav_module.
1808        Спасибо Feng Gu.
1809 
1810     *) Исправление: при логгировании ошибок в syslog мог происходить
1811        segmentation fault; ошибка появилась в 1.7.1.
1812 
1813     *) Исправление: переменные $geoip_latitude, $geoip_longitude,
1814        $geoip_dma_code и $geoip_area_code могли не работать.
1815        Спасибо Yichun Zhang.
1816 
1817     *) Исправление: в обработке ошибок выделения памяти.
1818        Спасибо Tatsuhiko Kubo и Piotr Sikora.
1819 
1820 
1821 Изменения в nginx 1.7.3                                           08.07.2014
1822 
1823     *) Добавление: weak entity tags теперь не удаляются при изменениях
1824        ответа, а strong entity tags преобразуются в weak.
1825 
1826     *) Добавление: ревалидация элементов кэша теперь, если это возможно,
1827        использует заголовок If-None-Match.
1828 
1829     *) Добавление: директива ssl_password_file.
1830 
1831     *) Исправление: при возврате ответа из кэша заголовок запроса
1832        If-None-Match игнорировался, если в ответе не было заголовка
1833        Last-Modified.
1834 
1835     *) Исправление: сообщения "peer closed connection in SSL handshake" при
1836        соединении с бэкендами логгировались на уровне info вместо error.
1837 
1838     *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
1839 
1840     *) Исправление: SPDY-соединения могли неожиданно закрываться, если
1841        использовалось кэширование.
1842 
1843 
1844 Изменения в nginx 1.7.2                                           17.06.2014
1845 
1846     *) Добавление: директива hash в блоке upstream.
1847 
1848     *) Добавление: дефрагментация свободных блоков разделяемой памяти.
1849        Спасибо Wandenberg Peixoto и Yichun Zhang.
1850 
1851     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1852        если использовалось значение access_log по умолчанию; ошибка
1853        появилась в 1.7.0.
1854        Спасибо Piotr Sikora.
1855 
1856     *) Исправление: завершающий слэш ошибочно удалялся из последнего
1857        параметра директивы try_files.
1858 
1859     *) Исправление: nginx мог не собираться на OS X.
1860 
1861     *) Исправление: в модуле ngx_http_spdy_module.
1862 
1863 
1864 Изменения в nginx 1.7.1                                           27.05.2014
1865 
1866     *) Добавление: переменные "$upstream_cookie_...".
1867 
1868     *) Добавление: переменная $ssl_client_fingerprint.
1869 
1870     *) Добавление: директивы error_log и access_log теперь поддерживают
1871        логгирование в syslog.
1872 
1873     *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
1874        соединении.
1875 
1876     *) Исправление: утечки памяти при использовании директивы
1877        "ssl_stapling".
1878        Спасибо Filipe da Silva.
1879 
1880     *) Исправление: директива alias внутри location'а, заданного регулярным
1881        выражением, работала неправильно, если использовались директивы if
1882        или limit_except.
1883 
1884     *) Исправление: директива charset не ставила кодировку для сжатых
1885        ответов бэкендов.
1886 
1887     *) Исправление: директива proxy_pass без URI могла использовать
1888        оригинальный запрос после установки переменной $args.
1889        Спасибо Yichun Zhang.
1890 
1891     *) Исправление: в работе параметра none директивы smtp_auth; ошибка
1892        появилась в 1.5.6.
1893        Спасибо Святославу Никольскому.
1894 
1895     *) Исправление: при совместном использовании sub_filter и SSI ответы
1896        могли передаваться неверно.
1897 
1898     *) Исправление: nginx не собирался с параметром --with-file-aio на
1899        Linux/aarch64.
1900 
1901 
1902 Изменения в nginx 1.7.0                                           24.04.2014
1903 
1904     *) Добавление: проверка SSL-сертификатов бэкендов.
1905 
1906     *) Добавление: поддержка SNI при работе с бэкендами по SSL.
1907 
1908     *) Добавление: переменная $ssl_server_name.
1909 
1910     *) Добавление: параметр if директивы access_log.
1911 
1912 
1913 Изменения в nginx 1.5.13                                          08.04.2014
1914 
1915     *) Изменение: улучшена обработка хэш-таблиц; в директивах
1916        variables_hash_max_size и types_hash_bucket_size значения по
1917        умолчанию изменены на 1024 и 64 соответственно.
1918 
1919     *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end.
1920 
1921     *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при
1922        сохранении ответов в кэш.
1923 
1924     *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc()
1925        failed: no memory" при использовании разделяемой памяти в
1926        ssl_session_cache и в модуле ngx_http_limit_req_module.
1927 
1928     *) Исправление: директива underscores_in_headers не разрешала
1929        подчёркивание в первом символе заголовка.
1930        Спасибо Piotr Sikora.
1931 
1932     *) Исправление: cache manager мог нагружать процессор при выходе в
1933        nginx/Windows.
1934 
1935     *) Исправление: при использовании ssl_session_cache с параметром shared
1936        рабочий процесс nginx/Windows завершался аварийно.
1937 
1938     *) Исправление: в модуле ngx_http_spdy_module.
1939 
1940 
1941 Изменения в nginx 1.5.12                                          18.03.2014
1942 
1943     *) Безопасность: при обработке специально созданного запроса модулем
1944        ngx_http_spdy_module могло происходить переполнение буфера в рабочем
1945        процессе, что потенциально могло приводить к выполнению произвольного
1946        кода (CVE-2014-0133).
1947        Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1948        Buenos Aires, Argentina.
1949 
1950     *) Добавление: параметр proxy_protocol в директивах listen и
1951        real_ip_header, переменная $proxy_protocol_addr.
1952 
1953     *) Исправление: в директиве fastcgi_next_upstream.
1954        Спасибо Lucas Molas.
1955 
1956 
1957 Изменения в nginx 1.5.11                                          04.03.2014
1958 
1959     *) Безопасность: при обработке специально созданного запроса модулем
1960        ngx_http_spdy_module на 32-битных платформах могла повреждаться
1961        память рабочего процесса, что потенциально могло приводить к
1962        выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
1963        1.5.10.
1964        Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1965        Buenos Aires, Argentina.
1966 
1967     *) Добавление: переменная $ssl_session_reused.
1968 
1969     *) Исправление: директива client_max_body_size могла не работать при
1970        чтении тела запроса с использованием chunked transfer encoding;
1971        ошибка появилась в 1.3.9.
1972        Спасибо Lucas Molas.
1973 
1974     *) Исправление: при проксировании WebSocket-соединений в рабочем
1975        процессе мог произойти segmentation fault.
1976 
1977     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1978        если использовался модуль ngx_http_spdy_module на 32-битных
1979        платформах; ошибка появилась в 1.5.10.
1980 
1981     *) Исправление: значение переменной $upstream_status могло быть
1982        неверным, если использовались директивы proxy_cache_use_stale или
1983        proxy_cache_revalidate.
1984        Спасибо Piotr Sikora.
1985 
1986     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1987        если ошибки с кодом 400 с помощью директивы error_page
1988        перенаправлялись в именованный location.
1989 
1990     *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
1991 
1992 
1993 Изменения в nginx 1.5.10                                          04.02.2014
1994 
1995     *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
1996        SPDY 3.1.
1997        Спасибо Automattic и MaxCDN за спонсирование разработки.
1998 
1999     *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
2000        имеющие меньшую длину, чем запрошенная перемотка.
2001 
2002     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2003        если переменная $ssl_session_id использовалась при логгировании;
2004        ошибка появилась в 1.5.9.
2005 
2006     *) Исправление: переменные $date_local и $date_gmt использовали неверный
2007        формат вне модуля ngx_http_ssi_filter_module.
2008 
2009     *) Исправление: клиентские соединения могли сразу закрываться, если
2010        использовался отложенный accept; ошибка появилась в 1.3.15.
2011 
2012     *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
2013        записывались в лог в процессе обновления исполняемого файла на Linux;
2014        ошибка появилась в 1.5.8.
2015        Спасибо Piotr Sikora.
2016 
2017 
2018 Изменения в nginx 1.5.9                                           22.01.2014
2019 
2020     *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
2021        закодированный URI.
2022 
2023     *) Добавление: директива ssl_buffer_size.
2024 
2025     *) Добавление: директиву limit_rate теперь можно использовать для
2026        ограничения скорости передачи ответов клиенту в SPDY-соединениях.
2027 
2028     *) Добавление: директива spdy_chunk_size.
2029 
2030     *) Добавление: директива ssl_session_tickets.
2031        Спасибо Dirkjan Bussink.
2032 
2033     *) Исправление: переменная $ssl_session_id содержала всю сессию в
2034        сериализованном виде вместо её идентификатора.
2035        Спасибо Ivan Ristić.
2036 
2037     *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
2038        в команде SSI include.
2039 
2040     *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
2041        при обработке методов COPY и MOVE.
2042 
2043     *) Исправление: resolver не понимал доменные имена с точкой в конце.
2044        Спасибо Yichun Zhang.
2045 
2046     *) Исправление: при проксировании в логах могли появляться сообщения
2047        "zero size buf in output"; ошибка появилась в 1.3.9.
2048 
2049     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2050        если использовался модуль ngx_http_spdy_module.
2051 
2052     *) Исправление: при использовании методов обработки соединений select,
2053        poll и /dev/poll проксируемые WebSocket-соединения могли зависать
2054        сразу после открытия.
2055 
2056     *) Исправление: директива xclient почтового прокси-сервера некорректно
2057        передавала IPv6-адреса.
2058 
2059 
2060 Изменения в nginx 1.5.8                                           17.12.2013
2061 
2062     *) Добавление: теперь resolver поддерживает IPv6.
2063 
2064     *) Добавление: директива listen поддерживает параметр fastopen.
2065        Спасибо Mathew Rodley.
2066 
2067     *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
2068        Спасибо Roberto De Ioris.
2069 
2070     *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
2071        Спасибо Evan Miller.
2072 
2073     *) Исправление: при чтении тела запроса с использованием chunked
2074        transfer encoding по SSL-соединению мог произойти таймаут.
2075 
2076     *) Исправление: директива master_process работала неправильно в
2077        nginx/Windows.
2078 
2079     *) Исправление: параметр setfib директивы listen мог не работать.
2080 
2081     *) Исправление: в модуле ngx_http_spdy_module.
2082 
2083 
2084 Изменения в nginx 1.5.7                                           19.11.2013
2085 
2086     *) Безопасность: символ, следующий за незакодированным пробелом в строке
2087        запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
2088        в 0.8.41.
2089        Спасибо Ivan Fratric из Google Security Team.
2090 
2091     *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
2092        пароля понижен с уровня error до info.
2093 
2094     *) Добавление: директивы proxy_cache_revalidate,
2095        fastcgi_cache_revalidate, scgi_cache_revalidate и
2096        uwsgi_cache_revalidate.
2097 
2098     *) Добавление: директива ssl_session_ticket_key.
2099        Спасибо Piotr Sikora.
2100 
2101     *) Исправление: директива "add_header Cache-Control ''" добавляла строку
2102        заголовка ответа "Cache-Control" с пустым значением.
2103 
2104     *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
2105        401 при использовании директив auth_request и auth_basic.
2106        Спасибо Jan Marc Hoffmann.
2107 
2108     *) Исправление: параметры accept_filter и deferred директивы listen
2109        игнорировались для listen-сокетов, создаваемых в процессе обновления
2110        исполняемого файла.
2111        Спасибо Piotr Sikora.
2112 
2113     *) Исправление: часть данных, полученных от бэкенда при
2114        небуферизированном проксировании, могла не отправляться клиенту
2115        сразу, если использовались директивы gzip или gunzip.
2116        Спасибо Yichun Zhang.
2117 
2118     *) Исправление: в обработке ошибок в модуле
2119        ngx_http_gunzip_filter_module.
2120 
2121     *) Исправление: ответы могли зависать, если использовался модуль
2122        ngx_http_spdy_module и директива auth_request.
2123 
2124     *) Исправление: утечки памяти в nginx/Windows.
2125 
2126 
2127 Изменения в nginx 1.5.6                                           01.10.2013
2128 
2129     *) Добавление: директива fastcgi_buffering.
2130 
2131     *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
2132        Спасибо Piotr Sikora.
2133 
2134     *) Добавление: оптимизация SSL handshake при использовании длинных
2135        цепочек сертификатов.
2136 
2137     *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
2138 
2139     *) Исправление: в модуле ngx_http_auth_basic_module при использовании
2140        метода шифрования паролей "$apr1$".
2141        Спасибо Markus Linnala.
2142 
2143     *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
2144        мог использоваться неверный location, если для задания location'ов
2145        использовались символы разных регистров.
2146 
2147     *) Исправление: автоматическое перенаправление с добавлением
2148        завершающего слэша для проксированных location'ов могло не работать.
2149 
2150     *) Исправление: в почтовом прокси-сервере.
2151 
2152     *) Исправление: в модуле ngx_http_spdy_module.
2153 
2154 
2155 Изменения в nginx 1.5.5                                           17.09.2013
2156 
2157     *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
2158        определить протокол не удалось.
2159 
2160     *) Добавление: директива disable_symlinks теперь использует O_PATH на
2161        Linux.
2162 
2163     *) Добавление: для определения того, что клиент закрыл соединение, при
2164        использовании метода epoll теперь используются события EPOLLRDHUP.
2165 
2166     *) Исправление: в директиве valid_referers при использовании параметра
2167        server_names.
2168 
2169     *) Исправление: переменная $request_time не работала в nginx/Windows.
2170 
2171     *) Исправление: в директиве image_filter.
2172        Спасибо Lanshun Zhou.
2173 
2174     *) Исправление: совместимость с OpenSSL 1.0.1f.
2175        Спасибо Piotr Sikora.
2176 
2177 
2178 Изменения в nginx 1.5.4                                           27.08.2013
2179 
2180     *) Изменение: MIME-тип для расширения js изменён на
2181        "application/javascript"; значение по умолчанию директивы
2182        charset_types изменено соответственно.
2183 
2184     *) Изменение: теперь директива image_filter с параметром size возвращает
2185        ответ с MIME-типом "application/json".
2186 
2187     *) Добавление: модуль ngx_http_auth_request_module.
2188 
2189     *) Исправление: на старте или во время переконфигурации мог произойти
2190        segmentation fault, если использовалась директива try_files с пустым
2191        параметром.
2192 
2193     *) Исправление: утечки памяти при использовании в директивах root и
2194        auth_basic_user_file относительных путей, заданных с помощью
2195        переменных.
2196 
2197     *) Исправление: директива valid_referers неправильно выполняла
2198        регулярные выражения, если заголовок Referer начинался с "https://".
2199        Спасибо Liangbin Li.
2200 
2201     *) Исправление: ответы могли зависать, если использовались подзапросы и
2202        при обработке подзапроса происходила ошибка во время SSL handshake с
2203        бэкендом.
2204        Спасибо Aviram Cohen.
2205 
2206     *) Исправление: в модуле ngx_http_autoindex_module.
2207 
2208     *) Исправление: в модуле ngx_http_spdy_module.
2209 
2210 
2211 Изменения в nginx 1.5.3                                           30.07.2013
2212 
2213     *) Изменение во внутреннем API: теперь при небуферизированной работе с
2214        бэкендами u->length по умолчанию устанавливается в -1.
2215 
2216     *) Изменение: теперь при получении неполного ответа от бэкенда nginx
2217        отправляет полученную часть ответа, после чего закрывает соединение с
2218        клиентом.
2219 
2220     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2221        если использовался модуль ngx_http_spdy_module и директива
2222        client_body_in_file_only.
2223 
2224     *) Исправление: параметр so_keepalive директивы listen мог работать
2225        некорректно на DragonFlyBSD.
2226        Спасибо Sepherosa Ziehau.
2227 
2228     *) Исправление: в модуле ngx_http_xslt_filter_module.
2229 
2230     *) Исправление: в модуле ngx_http_sub_filter_module.
2231 
2232 
2233 Изменения в nginx 1.5.2                                           02.07.2013
2234 
2235     *) Добавление: теперь можно использовать несколько директив error_log.
2236 
2237     *) Исправление: метод $r->header_in() встроенного перла не возвращал
2238        значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
2239        ошибка появилась в 1.3.14.
2240 
2241     *) Исправление: в модуле ngx_http_spdy_module.
2242        Спасибо Jim Radford.
2243 
2244     *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
2245        Спасибо Сергею Иванцову.
2246 
2247 
2248 Изменения в nginx 1.5.1                                           04.06.2013
2249 
2250     *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
2251        xslt_last_modified.
2252        Спасибо Алексею Колпакову.
2253 
2254     *) Добавление: параметр http_403 в директивах proxy_next_upstream,
2255        fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
2256 
2257     *) Добавление: директивы allow и deny теперь поддерживают unix domain
2258        сокеты.
2259 
2260     *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
2261        модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
2262 
2263     *) Исправление: в директиве proxy_set_body.
2264        Спасибо Lanshun Zhou.
2265 
2266     *) Исправление: в директиве lingering_time.
2267        Спасибо Lanshun Zhou.
2268 
2269     *) Исправление: параметр fail_timeout директивы server в блоке upstream
2270        мог не работать, если использовался параметр max_fails; ошибка
2271        появилась в 1.3.0.
2272 
2273     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2274        если использовалась директива ssl_stapling.
2275        Спасибо Piotr Sikora.
2276 
2277     *) Исправление: в почтовом прокси-сервере.
2278        Спасибо Filipe Da Silva.
2279 
2280     *) Исправление: nginx/Windows мог перестать принимать соединения, если
2281        использовалось несколько рабочих процессов.
2282 
2283 
2284 Изменения в nginx 1.5.0                                           07.05.2013
2285 
2286     *) Безопасность: при обработке специально созданного запроса мог
2287        перезаписываться стек рабочего процесса, что могло приводить к
2288        выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
2289        1.3.9.
2290        Спасибо Greg MacManus, iSIGHT Partners Labs.
2291 
2292 
2293 Изменения в nginx 1.4.0                                           24.04.2013
2294 
2295     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
2296        использовался параметр --with-openssl; ошибка появилась в 1.3.16.
2297 
2298     *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
2299        ошибка появилась в 1.3.9.
2300 
2301 
2302 Изменения в nginx 1.3.16                                          16.04.2013
2303 
2304     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2305        если использовались подзапросы; ошибка появилась в 1.3.9.
2306 
2307     *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
2308        WebSocket-соединений в unix domain сокет.
2309 
2310     *) Исправление: переменная $upstream_response_length возвращала значение
2311        "0", если не использовалась буферизация.
2312        Спасибо Piotr Sikora.
2313 
2314     *) Исправление: в методах обработки соединений eventport и /dev/poll.
2315 
2316 
2317 Изменения в nginx 1.3.15                                          26.03.2013
2318 
2319     *) Изменение: открытие и закрытие соединения без отправки в нём
2320        каких-либо данных больше не записывается в access_log с кодом ошибки
2321        400.
2322 
2323     *) Добавление: модуль ngx_http_spdy_module.
2324        Спасибо Automattic за спонсирование разработки.
2325 
2326     *) Добавление: директивы limit_req_status и limit_conn_status.
2327        Спасибо Nick Marden.
2328 
2329     *) Добавление: директива image_filter_interlace.
2330        Спасибо Ивану Боброву.
2331 
2332     *) Добавление: переменная $connections_waiting в модуле
2333        ngx_http_stub_status_module.
2334 
2335     *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
2336 
2337     *) Исправление: при повторной отправке запроса на бэкенд тело запроса
2338        могло передаваться неправильно; ошибка появилась в 1.3.9.
2339        Спасибо Piotr Sikora.
2340 
2341     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
2342        1.3.9.
2343 
2344     *) Исправление: ответы могли зависать, если использовались подзапросы и
2345        при обработке подзапроса происходила DNS-ошибка.
2346        Спасибо Lanshun Zhou.
2347 
2348     *) Исправление: в процедуре учёта использования бэкендов.
2349 
2350 
2351 Изменения в nginx 1.3.14                                          05.03.2013
2352 
2353     *) Добавление: переменные $connections_active, $connections_reading и
2354        $connections_writing в модуле ngx_http_stub_status_module.
2355 
2356     *) Добавление: поддержка WebSocket-соединений в модулях
2357        ngx_http_uwsgi_module и ngx_http_scgi_module.
2358 
2359     *) Исправление: в обработке виртуальных серверов при использовании SNI.
2360 
2361     *) Исправление: при использовании директивы "ssl_session_cache shared"
2362        новые сессии могли не сохраняться, если заканчивалось место в
2363        разделяемой памяти.
2364        Спасибо Piotr Sikora.
2365 
2366     *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
2367        неправильно.
2368        Спасибо Neal Poole за спонсирование разработки.
2369 
2370     *) Исправление: в модуле ngx_http_mp4_module.
2371        Спасибо Gernot Vormayr.
2372 
2373 
2374 Изменения в nginx 1.3.13                                          19.02.2013
2375 
2376     *) Изменение: теперь для сборки по умолчанию используется компилятор с
2377        именем "cc".
2378 
2379     *) Добавление: поддержка проксирования WebSocket-соединений.
2380        Спасибо Apcera и CloudBees за спонсирование разработки.
2381 
2382     *) Добавление: директива auth_basic_user_file поддерживает шифрование
2383        паролей методом "{SHA}".
2384        Спасибо Louis Opter.
2385 
2386 
2387 Изменения в nginx 1.3.12                                          05.02.2013
2388 
2389     *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
2390        scgi_bind и uwsgi_bind поддерживают переменные.
2391 
2392     *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
2393        $time_local теперь можно использовать не только в директиве
2394        log_format.
2395        Спасибо Kiril Kalchev.
2396 
2397     *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
2398        Спасибо Gregor Kališnik.
2399 
2400     *) Исправление: директива proxy_method работала неверно, если была
2401        указана на уровне http.
2402 
2403     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2404        если использовался resolver и метод poll.
2405 
2406     *) Исправление: nginx мог нагружать процессор во время SSL handshake с
2407        бэкендом при использовании методов обработки соединений select, poll
2408        и /dev/poll.
2409 
2410     *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
2411 
2412     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
2413        1.3.9.
2414 
2415     *) Исправление: в директиве fastcgi_keep_conn.
2416 
2417 
2418 Изменения в nginx 1.3.11                                          10.01.2013
2419 
2420     *) Исправление: при записи в лог мог происходить segmentation fault;
2421        ошибка появилась в 1.3.10.
2422 
2423     *) Исправление: директива proxy_pass не работала с IP-адресами без
2424        явного указания порта; ошибка появилась в 1.3.10.
2425 
2426     *) Исправление: на старте или во время переконфигурации происходил
2427        segmentation fault, если директива keepalive была указана несколько
2428        раз в одном блоке upstream.
2429 
2430     *) Исправление: параметр default директивы geo не определял значение по
2431        умолчанию для IPv6-адресов.
2432 
2433 
2434 Изменения в nginx 1.3.10                                          25.12.2012
2435 
2436     *) Изменение: для указанных в конфигурационном файле доменных имён
2437        теперь используются не только IPv4, но и IPv6 адреса.
2438 
2439     *) Изменение: теперь при использовании директивы include с маской на
2440        Unix-системах включаемые файлы сортируются в алфавитном порядке.
2441 
2442     *) Изменение: директива add_header добавляет строки в ответы с кодом
2443        201.
2444 
2445     *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
2446        CIDR.
2447 
2448     *) Добавление: параметры flush и gzip в директиве access_log.
2449 
2450     *) Добавление: директива auth_basic поддерживает переменные.
2451 
2452     *) Исправление: nginx в некоторых случаях не собирался с модулем
2453        ngx_http_perl_module.
2454 
2455     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2456        если использовался модуль ngx_http_xslt_module.
2457 
2458     *) Исправление: nginx мог не собираться на MacOSX.
2459        Спасибо Piotr Sikora.
2460 
2461     *) Исправление: при использовании директивы limit_rate с большими
2462        значениями скорости на 32-битных системах ответ мог возвращаться не
2463        целиком.
2464        Спасибо Алексею Антропову.
2465 
2466     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2467        если использовалась директива if.
2468        Спасибо Piotr Sikora.
2469 
2470     *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
2471        Request Entity Too Large".
2472 
2473     *) Исправление: директивы image_filter, image_filter_jpeg_quality и
2474        image_filter_sharpen могли наследоваться некорректно.
2475        Спасибо Ивану Боброву.
2476 
2477     *) Исправление: при использовании директивы auth_basic под Linux могли
2478        возникать ошибки "crypt_r() failed".
2479 
2480     *) Исправление: в обработке backup-серверов.
2481        Спасибо Thomas Chen.
2482 
2483     *) Исправление: при проксировании HEAD-запросов мог возвращаться
2484        некорректный ответ, если использовалась директива gzip.
2485 
2486 
2487 Изменения в nginx 1.3.9                                           27.11.2012
2488 
2489     *) Добавление: поддержка chunked transfer encoding при получении тела
2490        запроса.
2491 
2492     *) Добавление: переменные $request_time и $msec теперь можно
2493        использовать не только в директиве log_format.
2494 
2495     *) Исправление: cache manager и cache loader могли не запускаться, если
2496        использовалось более 512 listen-сокетов.
2497 
2498     *) Исправление: в модуле ngx_http_dav_module.
2499 
2500 
2501 Изменения в nginx 1.3.8                                           30.10.2012
2502 
2503     *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
2504        Спасибо Михаилу Казанцеву и Eric O'Connor.
2505 
2506     *) Добавление: переменные $bytes_sent, $connection и
2507        $connection_requests теперь можно использовать не только в директиве
2508        log_format.
2509        Спасибо Benjamin Grössing.
2510 
2511     *) Добавление: параметр auto директивы worker_processes.
2512 
2513     *) Исправление: сообщения "cache file ... has md5 collision".
2514 
2515     *) Исправление: в модуле ngx_http_gunzip_filter_module.
2516 
2517     *) Исправление: в директиве ssl_stapling.
2518 
2519 
2520 Изменения в nginx 1.3.7                                           02.10.2012
2521 
2522     *) Добавление: поддержка OCSP stapling.
2523        Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
2524 
2525     *) Добавление: директива ssl_trusted_certificate.
2526 
2527     *) Добавление: теперь resolver случайным образом меняет порядок
2528        возвращаемых закэшированных адресов.
2529        Спасибо Антону Жулину.
2530 
2531     *) Исправление: совместимость с OpenSSL 0.9.7.
2532 
2533 
2534 Изменения в nginx 1.3.6                                           12.09.2012
2535 
2536     *) Добавление: модуль ngx_http_gunzip_filter_module.
2537 
2538     *) Добавление: директива memcached_gzip_flag.
2539 
2540     *) Добавление: параметр always директивы gzip_static.
2541 
2542     *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
2543        Спасибо Charles Chen.
2544 
2545     *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
2546        использовался параметр --with-ipv6.
2547 
2548 
2549 Изменения в nginx 1.3.5                                           21.08.2012
2550 
2551     *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
2552        дорожки в форматах, отличных от H.264 и AAC.
2553 
2554     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2555        если в директиве map в качестве значений использовались переменные.
2556 
2557     *) Исправление: в рабочем процессе мог произойти segmentation fault при
2558        использовании директивы geo с параметром ranges, но без параметра
2559        default; ошибка появилась в 0.8.43.
2560        Спасибо Zhen Chen и Weibin Yao.
2561 
2562     *) Исправление: в обработке параметра командной строки -p.
2563 
2564     *) Исправление: в почтовом прокси-сервере.
2565 
2566     *) Исправление: незначительных потенциальных ошибок.
2567        Спасибо Coverity.
2568 
2569     *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
2570        Спасибо HAYASHI Kentaro.
2571 
2572 
2573 Изменения в nginx 1.3.4                                           31.07.2012
2574 
2575     *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
2576        по умолчанию.
2577 
2578     *) Добавление: поддержка компилятора Clang.
2579 
2580     *) Исправление: могли создаваться лишние слушающие сокеты.
2581        Спасибо Роману Одайскому.
2582 
2583     *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
2584        рабочего процесса происходила ошибка.
2585        Спасибо Ricardo Villalobos Guevara.
2586 
2587     *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
2588        scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
2589        fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
2590        наследоваться некорректно.
2591 
2592 
2593 Изменения в nginx 1.3.3                                           10.07.2012
2594 
2595     *) Добавление: поддержка entity tags и директива etag.
2596 
2597     *) Исправление: при использовании директивы map с параметром hostnames
2598        не игнорировалась конечная точка в исходном значении.
2599 
2600     *) Исправление: для обработки запроса мог использоваться неверный
2601        location, если переход в именованный location происходил после
2602        изменения URI с помощью директивы rewrite.
2603 
2604 
2605 Изменения в nginx 1.3.2                                           26.06.2012
2606 
2607     *) Изменение: параметр single директивы keepalive теперь игнорируется.
2608 
2609     *) Изменение: сжатие SSL теперь отключено в том числе при использовании
2610        OpenSSL старее 1.0.0.
2611 
2612     *) Добавление: директиву "ip_hash" теперь можно использовать для
2613        балансировки IPv6 клиентов.
2614 
2615     *) Добавление: переменную $status теперь можно использовать не только в
2616        директиве log_format.
2617 
2618     *) Исправление: при завершении рабочего процесса мог произойти
2619        segmentation fault, если использовалась директива resolver.
2620 
2621     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2622        если использовался модуль ngx_http_mp4_module.
2623 
2624     *) Исправление: в модуле ngx_http_mp4_module.
2625 
2626     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2627        если использовались конфликтующие имена серверов с масками.
2628 
2629     *) Исправление: на платформе ARM nginx мог аварийно завершаться по
2630        сигналу SIGBUS.
2631 
2632     *) Исправление: во время переконфигурации на HP-UX в лог записывался
2633        alert "sendmsg() failed (9: Bad file number)".
2634 
2635 
2636 Изменения в nginx 1.3.1                                           05.06.2012
2637 
2638     *) Безопасность: теперь nginx/Windows игнорирует точку в конце
2639        компонента URI и не разрешает URI, содержащие последовательность
2640        ":$".
2641        Спасибо Владимиру Кочеткову, Positive Research Center.
2642 
2643     *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
2644        и директива server в блоке upstream теперь поддерживают IPv6-адреса.
2645 
2646     *) Добавление: в директиве resolver теперь можно указывать порт и
2647        задавать IPv6-адреса DNS-серверов.
2648 
2649     *) Добавление: директива least_conn в блоке upstream.
2650 
2651     *) Добавление: при использовании директивы ip_hash теперь можно задавать
2652        веса серверов.
2653 
2654     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2655        если использовалась директива image_filter; ошибка появилась в 1.3.0.
2656 
2657     *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
2658        появилась в 1.1.12.
2659 
2660     *) Исправление: доступ к переменным из SSI и встроенного перла мог не
2661        работать после переконфигурации.
2662        Спасибо Yichun Zhang.
2663 
2664     *) Исправление: в модуле ngx_http_xslt_filter_module.
2665        Спасибо Kuramoto Eiji.
2666 
2667     *) Исправление: утечки памяти при использовании переменной $geoip_org.
2668        Спасибо Денису Латыпову.
2669 
2670     *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
2671 
2672 
2673 Изменения в nginx 1.3.0                                           15.05.2012
2674 
2675     *) Добавление: директива debug_connection теперь поддерживает
2676        IPv6-адреса и параметр "unix:".
2677 
2678     *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
2679        теперь поддерживают IPv6-адреса.
2680 
2681     *) Добавление: директивы real_ip_recursive, geoip_proxy и
2682        geoip_proxy_recursive.
2683 
2684     *) Добавление: параметр proxy_recursive директивы geo.
2685 
2686     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2687        если использовалась директива resolver.
2688 
2689     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2690        если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
2691        и бэкенд возвращал некорректный ответ.
2692 
2693     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2694        если использовалась директива rewrite и в новых аргументах запроса в
2695        строке замены использовались переменные.
2696 
2697     *) Исправление: nginx мог нагружать процессор, если было достигнуто
2698        ограничение на количество открытых файлов.
2699 
2700     *) Исправление: при использовании директивы proxy_next_upstream с
2701        параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
2702        блоке upstream был хотя бы один сервер с флагом backup.
2703 
2704     *) Исправление: при использовании директивы ip_hash установка параметра
2705        down директивы server могла приводить к ненужному перераспределению
2706        клиентов между бэкендами.
2707 
2708     *) Исправление: утечки сокетов.
2709        Спасибо Yichun Zhang.
2710 
2711     *) Исправление: в модуле ngx_http_fastcgi_module.
2712 
2713 
2714 Изменения в nginx 1.2.0                                           23.04.2012
2715 
2716     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2717        если использовалась директива try_files; ошибка появилась в 1.1.19.
2718 
2719     *) Исправление: ответ мог быть передан не полностью, если использовалось
2720        больше IOV_MAX буферов.
2721 
2722     *) Исправление: в работе параметра crop директивы image_filter.
2723        Спасибо Maxim Bublis.
2724 
2725 
2726 Изменения в nginx 1.1.19                                          12.04.2012
2727 
2728     *) Безопасность: при обработке специально созданного mp4 файла модулем
2729        ngx_http_mp4_module могли перезаписываться области памяти рабочего
2730        процесса, что могло приводить к выполнению произвольного кода
2731        (CVE-2012-2089).
2732        Спасибо Matthew Daley.
2733 
2734     *) Исправление: nginx/Windows мог завершаться аварийно.
2735        Спасибо Vincent Lee.
2736 
2737     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2738        были помечены флагом backup.
2739 
2740     *) Исправление: директивы allow и deny могли наследоваться некорректно,
2741        если в них использовались IPv6 адреса.
2742 
2743     *) Исправление: директивы modern_browser и ancient_browser могли
2744        наследоваться некорректно.
2745 
2746     *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
2747 
2748     *) Исправление: в модуле ngx_http_mp4_module.
2749 
2750 
2751 Изменения в nginx 1.1.18                                          28.03.2012
2752 
2753     *) Изменение: теперь keepalive соединения не запрещены для Safari по
2754        умолчанию.
2755 
2756     *) Добавление: переменная $connection_requests.
2757 
2758     *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
2759        $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
2760 
2761     *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
2762 
2763     *) Добавление: директивы xslt_param и xslt_string_param.
2764        Спасибо Samuel Behan.
2765 
2766     *) Исправление: в configure.
2767        Спасибо Piotr Sikora.
2768 
2769     *) Исправление: в модуле ngx_http_xslt_filter_module.
2770 
2771     *) Исправление: nginx не собирался на Debian GNU/Hurd.
2772 
2773 
2774 Изменения в nginx 1.1.17                                          15.03.2012
2775 
2776     *) Безопасность: содержимое ранее освобождённой памяти могло быть
2777        отправлено клиенту, если бэкенд возвращал специально созданный ответ.
2778        Спасибо Matthew Daley.
2779 
2780     *) Исправление: при использовании встроенного перла из SSI.
2781        Спасибо Matthew Daley.
2782 
2783     *) Исправление: в модуле ngx_http_uwsgi_module.
2784 
2785 
2786 Изменения в nginx 1.1.16                                          29.02.2012
2787 
2788     *) Изменение: ограничение на количество одновременных подзапросов
2789        поднято до 200.
2790 
2791     *) Добавление: параметр from в директиве disable_symlinks.
2792 
2793     *) Добавление: директивы return и error_page теперь могут использоваться
2794        для возврата перенаправлений с кодом 307.
2795 
2796     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2797        если использовалась директива resolver и на глобальном уровне не была
2798        задана директива error_log.
2799        Спасибо Роману Арутюняну.
2800 
2801     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2802        если использовались директивы "proxy_http_version 1.1" или
2803        "fastcgi_keep_conn on".
2804 
2805     *) Исправление: утечек памяти.
2806        Спасибо Lanshun Zhou.
2807 
2808     *) Исправление: в директиве disable_symlinks.
2809 
2810     *) Исправление: при использовании ZFS размер кэша на диске мог считаться
2811        некорректно; ошибка появилась в 1.0.1.
2812 
2813     *) Исправление: nginx не собирался компилятором icc 12.1.
2814 
2815     *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
2816        1.1.15.
2817 
2818 
2819 Изменения в nginx 1.1.15                                          15.02.2012
2820 
2821     *) Добавление: директива disable_symlinks.
2822 
2823     *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
2824 
2825     *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
2826        prematurely closed connection" вместо "upstream sent too big header".
2827        Спасибо Feibo Li.
2828 
2829     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
2830        использовался параметр --with-openssl.
2831 
2832     *) Исправление: количество внутренних перенаправлений в именованные
2833        location'ы не ограничивалось.
2834 
2835     *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
2836        ошибкам в модуле ngx_http_gzip_filter_module.
2837 
2838     *) Исправление: при использовании директивы proxy_store с
2839        SSI-подзапросами временные файлы могли не удаляться.
2840 
2841     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2842        $args) возвращали старое пустое закэшированное значение.
2843 
2844     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2845        если одновременно создавалось слишком много SSI-подзапросов; ошибка
2846        появилась в 0.7.25.
2847 
2848 
2849 Изменения в nginx 1.1.14                                          30.01.2012
2850 
2851     *) Добавление: теперь можно указать несколько ограничений limit_req
2852        одновременно.
2853 
2854     *) Исправление: в обработке ошибок при соединении с бэкендом.
2855        Спасибо Piotr Sikora.
2856 
2857     *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
2858 
2859     *) Исправление: в инициализации библиотеки OpenSSL.
2860 
2861     *) Исправление: директивы proxy_redirect могли наследоваться
2862        некорректно.
2863 
2864     *) Исправление: утечки памяти при переконфигурации, если использовалась
2865        директива pcre_jit.
2866 
2867 
2868 Изменения в nginx 1.1.13                                          16.01.2012
2869 
2870     *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
2871 
2872     *) Исправление: параметры директивы limit_req наследовались некорректно;
2873        ошибка появилась в 1.1.12.
2874 
2875     *) Исправление: директива proxy_redirect некорректно обрабатывала
2876        заголовок Refresh при использовании регулярных выражений.
2877 
2878     *) Исправление: директива proxy_cache_use_stale с параметром error не
2879        возвращала ответ из кэша, если все бэкенды были признаны
2880        неработающими.
2881 
2882     *) Исправление: директива worker_cpu_affinity могла не работать.
2883 
2884     *) Исправление: nginx не собирался на Solaris; ошибка появилась в
2885        1.1.12.
2886 
2887     *) Исправление: в модуле ngx_http_mp4_module.
2888 
2889 
2890 Изменения в nginx 1.1.12                                          26.12.2011
2891 
2892     *) Изменение: после перенаправления запроса с помощью директивы
2893        error_page директива proxy_pass без URI теперь использует изменённый
2894        URI.
2895        Спасибо Lanshun Zhou.
2896 
2897     *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
2898        proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
2899 
2900     *) Добавление: директива pcre_jit.
2901 
2902     *) Добавление: SSI команда if поддерживает выделения в регулярных
2903        выражениях.
2904 
2905     *) Исправление: SSI команда if не работала внутри команды block.
2906 
2907     *) Исправление: директивы limit_conn_log_level и limit_req_log_level
2908        могли не работать.
2909 
2910     *) Исправление: директива limit_rate не позволяла передавать на полной
2911        скорости, даже если был указан очень большой лимит.
2912 
2913     *) Исправление: директива sendfile_max_chunk не работала, если
2914        использовалась директива limit_rate.
2915 
2916     *) Исправление: если в директиве proxy_pass использовались переменные и
2917        не был указан URI, всегда использовался URI исходного запроса.
2918 
2919     *) Исправление: после перенаправления запроса с помощью директивы
2920        try_files директива proxy_pass без URI могла использовать URI
2921        исходного запроса.
2922        Спасибо Lanshun Zhou.
2923 
2924     *) Исправление: в модуле ngx_http_scgi_module.
2925 
2926     *) Исправление: в модуле ngx_http_mp4_module.
2927 
2928     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
2929 
2930 
2931 Изменения в nginx 1.1.11                                          12.12.2011
2932 
2933     *) Добавление: параметр so_keepalive в директиве listen.
2934        Спасибо Всеволоду Стахову.
2935 
2936     *) Добавление: параметр if_not_empty в директивах
2937        fastcgi/scgi/uwsgi_param.
2938 
2939     *) Добавление: переменная $https.
2940 
2941     *) Добавление: директива proxy_redirect поддерживает переменные в первом
2942        параметре.
2943 
2944     *) Добавление: директива proxy_redirect поддерживает регулярные
2945        выражения.
2946 
2947     *) Исправление: переменная $sent_http_cache_control могла содержать
2948        неверное значение при использовании директивы expires.
2949        Спасибо Yichun Zhang.
2950 
2951     *) Исправление: директива read_ahead могла не работать при использовании
2952        совместно с try_files и open_file_cache.
2953 
2954     *) Исправление: если в параметре inactive директивы proxy_cache_path
2955        было указано малое время, в рабочем процессе мог произойти
2956        segmentation fault.
2957 
2958     *) Исправление: ответы из кэша могли зависать.
2959 
2960 
2961 Изменения в nginx 1.1.10                                          30.11.2011
2962 
2963     *) Исправление: при использовании AIO на Linux в рабочем процессе
2964        происходил segmentation fault; ошибка появилась в 1.1.9.
2965 
2966 
2967 Изменения в nginx 1.1.9                                           28.11.2011
2968 
2969     *) Изменение: теперь двойные кавычки экранируется при выводе
2970        SSI-командой echo.
2971        Спасибо Зауру Абасмирзоеву.
2972 
2973     *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
2974        используется TTL, возвращённый DNS-сервером.
2975        Спасибо Кириллу Коринскому.
2976 
2977     *) Исправление: nginx мог перестать отвечать, если рабочий процесс
2978        завершался аварийно.
2979 
2980     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2981        если использовалось SNI; ошибка появилась в 1.1.2.
2982 
2983     *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
2984        Спасибо Александру Усову.
2985 
2986     *) Исправление: сигнал SIGWINCH переставал работать после первого
2987        обновления исполняемого файла; ошибка появилась в 1.1.1.
2988 
2989     *) Исправление: теперь ответы бэкендов, длина которых не соответствует
2990        заголовку Content-Length, не кэширутся.
2991 
2992     *) Исправление: в директиве scgi_param при использовании составных
2993        параметров.
2994 
2995     *) Исправление: в методе epoll.
2996        Спасибо Yichun Zhang.
2997 
2998     *) Исправление: в модуле ngx_http_flv_module.
2999        Спасибо Piotr Sikora.
3000 
3001     *) Исправление: в модуле ngx_http_mp4_module.
3002 
3003     *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
3004        заголовке Host.
3005 
3006     *) Исправление: директивы add_header и expires не работали для ответов с
3007        кодом 206, если запрос проксировался.
3008 
3009     *) Исправление: nginx не собирался на FreeBSD 10.
3010 
3011     *) Исправление: nginx не собирался на AIX.
3012 
3013 
3014 Изменения в nginx 1.1.8                                           14.11.2011
3015 
3016     *) Изменение: модуль ngx_http_limit_zone_module переименован в
3017        ngx_http_limit_conn_module.
3018 
3019     *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
3020        новым синтаксисом.
3021 
3022     *) Добавление: поддержка ограничения по нескольким limit_conn на одном
3023        уровне.
3024 
3025     *) Добавление: директива image_filter_sharpen.
3026 
3027     *) Исправление: в рабочем процессе мог произойти segmentation fault,
3028        если resolver получил большой DNS-ответ.
3029        Спасибо Ben Hawkes.
3030 
3031     *) Исправление: в вычислении ключа для кэширования, если использовалась
3032        внутренняя реализация MD5; ошибка появилась в 1.0.4.
3033 
3034     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3035        заголовке запроса клиента могли передаваться бэкенду при кэшировании;
3036        или не передаваться при выключенном кэшировании, если кэширование
3037        было включено в другой части конфигурации.
3038 
3039     *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
3040        "Content-Length" в заголовке ответа, использовался аргумент start.
3041        Спасибо Piotr Sikora.
3042 
3043 
3044 Изменения в nginx 1.1.7                                           31.10.2011
3045 
3046     *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
3047        Спасибо Кириллу Коринскому.
3048 
3049     *) Исправление: на старте или во время переконфигурации происходил
3050        segmentation fault, если директива ssl использовалась на уровне http
3051        и не был указан ssl_certificate.
3052 
3053     *) Исправление: уменьшено потребление памяти при проксировании больших
3054        файлов, если они буферизировались на диск.
3055 
3056     *) Исправление: в рабочем процессе мог произойти segmentation fault,
3057        если использовалась директива "proxy_http_version 1.1".
3058 
3059     *) Исправление: в директиве "expires @time".
3060 
3061 
3062 Изменения в nginx 1.1.6                                           17.10.2011
3063 
3064     *) Изменение во внутреннем API: теперь при внутреннем редиректе в
3065        именованный location контексты модулей очищаются.
3066        По запросу Yichun Zhang.
3067 
3068     *) Изменение: теперь если сервер, описанный в блоке upstream, был
3069        признан неработающим, то после истечения fail_timeout на него будет
3070        отправлен только один запрос; сервер будет считаться работающим, если
3071        успешно ответит на этот запрос.
3072 
3073     *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
3074        \xXX.
3075 
3076     *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
3077        теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
3078        X-Accel-Charset.
3079 
3080     *) Добавление: уменьшение потребления памяти при использовании SSL.
3081 
3082     *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
3083        Спасибо Алексею Куцу.
3084 
3085     *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
3086        уровне server, применялись повторно, если для запроса не находилось
3087        ни одного location'а.
3088 
3089     *) Исправление: при использовании "aio sendfile" могла происходить
3090        утечка сокетов.
3091 
3092     *) Исправление: при использовании файлового AIO соединения с быстрыми
3093        клиентами могли быть закрыты по истечению send_timeout.
3094 
3095     *) Исправление: в модуле ngx_http_autoindex_module.
3096 
3097     *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
3098        32-битных платформах.
3099 
3100 
3101 Изменения в nginx 1.1.5                                           05.10.2011
3102 
3103     *) Добавление: директивы uwsgi_buffering и scgi_buffering.
3104        Спасибо Peter Smit.
3105 
3106     *) Исправление: при использовании proxy_cache_bypass могли быть
3107        закэшированы некэшируемые ответы.
3108        Спасибо John Ferlito.
3109 
3110     *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
3111        HTTP/1.1.
3112 
3113     *) Исправление: закэшированные ответы с пустым телом возвращались
3114        некорректно; ошибка появилась в 0.8.31.
3115 
3116     *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
3117        некорректны; ошибка появилась в 0.8.32.
3118 
3119     *) Исправление: в директиве return.
3120 
3121     *) Исправление: при использовании директивы "ssl_session_cache builtin"
3122        происходил segmentation fault; ошибка появилась в 1.1.1.
3123 
3124 
3125 Изменения в nginx 1.1.4                                           20.09.2011
3126 
3127     *) Добавление: модуль ngx_http_upstream_keepalive.
3128 
3129     *) Добавление: директива proxy_http_version.
3130 
3131     *) Добавление: директива fastcgi_keep_conn.
3132 
3133     *) Добавление: директива worker_aio_requests.
3134 
3135     *) Исправление: если nginx был собран с файловым AIO, он не мог
3136        запускаться на Linux без поддержки AIO.
3137 
3138     *) Исправление: в обработке ошибок при работе с Linux AIO.
3139        Спасибо Hagai Avrahami.
3140 
3141     *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
3142 
3143     *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
3144        MP4-атом co64.
3145 
3146 
3147 Изменения в nginx 1.1.3                                           14.09.2011
3148 
3149     *) Добавление: модуль ngx_http_mp4_module.
3150 
3151     *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
3152 
3153     *) Исправление: open_file_cache не обновлял информацию о файле, если
3154        файл был изменён не атомарно.
3155 
3156     *) Исправление: nginx не собирался на MacOSX 10.7.
3157 
3158 
3159 Изменения в nginx 1.1.2                                           05.09.2011
3160 
3161     *) Изменение: теперь, если суммарный размер всех диапазонов больше
3162        размера исходного ответа, то nginx возвращает только исходный ответ,
3163        не обрабатывая диапазоны.
3164 
3165     *) Добавление: директива max_ranges.
3166 
3167     *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
3168        ssl_prefer_server_cipher могли работать некорректно, если
3169        использовался SNI.
3170 
3171     *) Исправление: в директивах proxy/fastcgi/scgi/
3172        uwsgi_ignore_client_abort.
3173 
3174 
3175 Изменения в nginx 1.1.1                                           22.08.2011
3176 
3177     *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
3178        число файлов, указанное в параметре load_files, либо работает не
3179        дольше времени, указанного в параметре loader_threshold.
3180 
3181     *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
3182 
3183     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
3184        на Solaris.
3185        Спасибо Денису Иванову.
3186 
3187     *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
3188 
3189     *) Исправление: nginx не собирался на Linux 3.0.
3190 
3191     *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
3192        появилась в 1.1.0.
3193 
3194     *) Исправление: обработка тела запроса могла быть неверной, если клиент
3195        использовал pipelining.
3196 
3197     *) Исправление: в директиве request_body_in_single_buf.
3198 
3199     *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
3200        при использовании SSL-соединения с бэкендом.
3201 
3202     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
3203        были помечены флагом down.
3204 
3205     *) Исправление: при переконфигурации мог произойти segmentation fault,
3206        если в предыдущей конфигурации был определён, но не использовался
3207        ssl_session_cache.
3208 
3209     *) Исправление: при использовании большого количества backup-серверов в
3210        рабочем процессе мог произойти segmentation fault.
3211 
3212     *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
3213        значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
3214        произойти segmentation fault; ошибка появилась в 0.8.40.
3215 
3216 
3217 Изменения в nginx 1.1.0                                           01.08.2011
3218 
3219     *) Добавление: уменьшение времени работы загрузчика кэша.
3220 
3221     *) Добавление: параметры loader_files, loader_sleep и loader_threshold
3222        директив proxy/fastcgi/scgi/uwsgi_cache_path.
3223 
3224     *) Добавление: уменьшение времени загрузки конфигураций с большим
3225        количеством HTTPS серверов.
3226 
3227     *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
3228        Спасибо Adrian Kotelba.
3229 
3230     *) Добавление: директива lingering_close.
3231        Спасибо Максиму Дунину.
3232 
3233     *) Исправление: закрытия соединения для pipelined-запросов.
3234        Спасибо Максиму Дунину.
3235 
3236     *) Исправление: nginx не запрещал сжатие при получении значения
3237        "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
3238 
3239     *) Исправление: таймаута при небуферизированном проксировании.
3240        Спасибо Максиму Дунину.
3241 
3242     *) Исправление: утечки памяти при использовании переменных в директиве
3243        proxy_pass при работе с бэкендом по HTTPS.
3244        Спасибо Максиму Дунину.
3245 
3246     *) Исправление: в проверке параметра директивы proxy_pass, заданного
3247        переменными.
3248        Спасибо Lanshun Zhou.
3249 
3250     *) Исправление: SSL не работал на QNX.
3251        Спасибо Максиму Дунину.
3252 
3253     *) Исправление: SSL модули не собирались gcc 4.6 без параметра
3254        --with-debug.
3255 
3256 
3257 Изменения в nginx 1.0.5                                           19.07.2011
3258 
3259     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3260        "HIGH:!aNULL:!MD5".
3261        Спасибо Rob Stradling.
3262 
3263     *) Добавление: директивы referer_hash_max_size и
3264        referer_hash_bucket_size.
3265        Спасибо Witold Filipczyk.
3266 
3267     *) Добавление: переменная $uid_reset.
3268 
3269     *) Исправление: при использовании кэширования в рабочем процессе мог
3270        произойти segmentation fault.
3271        Спасибо Lanshun Zhou.
3272 
3273     *) Исправление: при использовании кэширования рабочие процессы могли
3274        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
3275        Спасибо Максиму Дунину.
3276 
3277     *) Исправление: сообщения "stalled cache updating".
3278        Спасибо Максиму Дунину.
3279 
3280 
3281 Изменения в nginx 1.0.4                                           01.06.2011
3282 
3283     *) Изменение: теперь в регулярных выражениях в директиве map можно
3284        задать чувствительность к регистру с помощью префиксов "~" и "~*".
3285 
3286     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
3287        на Linux.
3288        Спасибо Денису Латыпову.
3289 
3290     *) Исправление: сообщения "stalled cache updating".
3291 
3292     *) Исправление: nginx не собирался с параметром
3293        --without-http_auth_basic_module; ошибка появилась в 1.0.3.
3294 
3295 
3296 Изменения в nginx 1.0.3                                           25.05.2011
3297 
3298     *) Добавление: директива auth_basic_user_file поддерживает шифрование
3299        пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
3300        Спасибо Максиму Дунину.
3301 
3302     *) Добавление: директива geoip_org и переменная $geoip_org.
3303        Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
3304 
3305     *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
3306        поддерживают адреса IPv4, отображённые на IPv6 адреса.
3307 
3308     *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
3309        рабочем процессе происходил segmentation fault, если директивы access
3310        или deny были определены только для адресов IPv6; ошибка появилась в
3311        0.8.22.
3312 
3313     *) Исправление: закэшированный ответ мог быть испорчен, если значения
3314        директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
3315        uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
3316 
3317 
3318 Изменения в nginx 1.0.2                                           10.05.2011
3319 
3320     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
3321 
3322     *) Исправление: в работе параметра rotate директивы image_filter.
3323        Спасибо Adam Bocim.
3324 
3325     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
3326 
3327 
3328 Изменения в nginx 1.0.1                                           03.05.2011
3329 
3330     *) Изменение: теперь директива split_clients использует алгоритм
3331        MurmurHash2 из-за лучшего распределения.
3332        Спасибо Олегу Мамонтову.
3333 
3334     *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
3335        ложными значениями.
3336        Спасибо Максиму Дунину.
3337 
3338     *) Изменение: теперь по умолчанию nginx использует значение 511 для
3339        listen backlog на Linux.
3340 
3341     *) Добавление: переменные $upstream_... можно использовать в SSI и
3342        перловом модулях.
3343 
3344     *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
3345        Спасибо Олегу Мамонтову.
3346 
3347     *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
3348        segmentation fault; ошибка появилась в 0.8.22.
3349        Спасибо Максиму Дунину.
3350 
3351     *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
3352 
3353     *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
3354        появилась в 0.9.3.
3355        Спасибо Dagobert Michelsen.
3356 
3357     *) Исправление: переменная $request_time имела неверные значения, если
3358        использовались подзапросы; ошибка появилась в 0.8.47.
3359        Спасибо Игорю А. Валькову.
3360 
3361 
3362 Изменения в nginx 1.0.0                                           12.04.2011
3363 
3364     *) Исправление: cache manager мог нагружать процессор после
3365        переконфигурации.
3366        Спасибо Максиму Дунину.
3367 
3368     *) Исправление: директива "image_filter crop" неправильно работала в
3369        сочетании с "image_filter rotate 180".
3370 
3371     *) Исправление: директива "satisfy any" запрещала выдачу
3372        пользовательской страницы для 401 кода.
3373 
3374 
3375 Изменения в nginx 0.9.7                                           04.04.2011
3376 
3377     *) Добавление: теперь соединения в состоянии keepalive могут быть
3378        закрыты преждевременно, если у воркера нет свободных соединений.
3379        Спасибо Максиму Дунину.
3380 
3381     *) Добавление: параметр rotate директивы image_filter.
3382        Спасибо Adam Bocim.
3383 
3384     *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
3385        scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
3386        upstream.
3387 
3388 
3389 Изменения в nginx 0.9.6                                           21.03.2011
3390 
3391     *) Добавление: директива map поддерживает регулярные выражения в
3392        качестве значения первого параметра.
3393 
3394     *) Добавление: переменная $time_iso8601 для access_log.
3395        Спасибо Michael Lustfield.
3396 
3397 
3398 Изменения в nginx 0.9.5                                           21.02.2011
3399 
3400     *) Изменение: теперь по умолчанию nginx использует значение -1 для
3401        listen backlog на Linux.
3402        Спасибо Андрею Нигматулину.
3403 
3404     *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
3405        Спасибо Денису Латыпову.
3406 
3407     *) Исправление: исправление в умолчательной директиве proxy_redirect,
3408        если в директиве proxy_pass не был описан URI.
3409        Спасибо Максиму Дунину.
3410 
3411     *) Исправление: директива error_page не работала с нестандартными кодами
3412        ошибок; ошибка появилась в 0.8.53.
3413        Спасибо Максиму Дунину.
3414 
3415 
3416 Изменения в nginx 0.9.4                                           21.01.2011
3417 
3418     *) Добавление: директива server_name поддерживает переменную $hostname.
3419 
3420     *) Добавление: 494 код для ошибки "Request Header Too Large".
3421 
3422 
3423 Изменения в nginx 0.9.3                                           13.12.2010
3424 
3425     *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
3426        то выделения в регулярных выражениях в директиве server_name не
3427        работали.
3428 
3429     *) Исправление: nginx не собирался под Solaris; ошибка появилась в
3430        0.9.0.
3431 
3432 
3433 Изменения в nginx 0.9.2                                           06.12.2010
3434 
3435     *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
3436        запроса клиента.
3437 
3438     *) Изменение: использование accept(), если accept4() не реализован;
3439        ошибка появилась в 0.9.0.
3440 
3441     *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
3442 
3443     *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
3444        Спасибо Максиму Дунину.
3445 
3446 
3447 Изменения в nginx 0.9.1                                           30.11.2010
3448 
3449     *) Исправление: директивы вида "return CODE message" не работали; ошибка
3450        появилась в 0.9.0.
3451 
3452 
3453 Изменения в nginx 0.9.0                                           29.11.2010
3454 
3455     *) Добавление: директива keepalive_disable.
3456 
3457     *) Добавление: директива map поддерживает переменные в качестве значения
3458        определяемой переменной.
3459 
3460     *) Добавление: директива map поддерживает пустые строки в качестве
3461        значения первого параметра.
3462 
3463     *) Добавление: директива map поддерживает выражения в первом параметре.
3464 
3465     *) Добавление: страница руководства nginx(8).
3466        Спасибо Сергею Осокину.
3467 
3468     *) Добавление: поддержка accept4() в Linux.
3469        Спасибо Simon Liu.
3470 
3471     *) Изменение: устранение предупреждения линкера о "sys_errlist" и
3472        "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
3473 
3474     *) Исправление: при использовании директивы auth_basic в рабочем
3475        процессе мог произойти segmentation fault.
3476        Спасибо Михаилу Лалетину.
3477 
3478     *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
3479        появилась в 0.8.42.
3480 
3481 
3482 Изменения в nginx 0.8.53                                          18.10.2010
3483 
3484     *) Добавление: теперь директива error_page позволяет менять код статуса
3485        у редиректа.
3486 
3487     *) Добавление: директива gzip_disable поддерживает специальную маску
3488        degradation.
3489 
3490     *) Исправление: при использовании файлового AIO могла происходить утечка
3491        сокетов.
3492        Спасибо Максиму Дунину.
3493 
3494     *) Исправление: если в первом сервере не была описана директива listen и
3495        нигде явно не описан сервер по умолчанию, то сервером по умолчанию
3496        становился следующий сервер с директивой listen; ошибка появилась в
3497        0.8.21.
3498 
3499 
3500 Изменения в nginx 0.8.52                                          28.09.2010
3501 
3502     *) Исправление: nginx использовал режим SSL для listen сокета, если для
3503        него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
3504 
3505 
3506 Изменения в nginx 0.8.51                                          27.09.2010
3507 
3508     *) Изменение: директива secure_link_expires упразднена.
3509 
3510     *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
3511        alert на error.
3512 
3513     *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
3514        несколько раз.
3515 
3516 
3517 Изменения в nginx 0.8.50                                          02.09.2010
3518 
3519     *) Добавление: директивы secure_link, secure_link_md5 и
3520        secure_link_expires модуля ngx_http_secure_link_module.
3521 
3522     *) Добавление: ключ -q.
3523        Спасибо Геннадию Махомеду.
3524 
3525     *) Исправление: при использовании кэширования рабочие процессы и могли
3526        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
3527 
3528     *) Исправление: в директиве gzip_disable.
3529        Спасибо Derrick Petzold.
3530 
3531     *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
3532        reopen, reload процессу, запущенному в другой сессии.
3533 
3534 
3535 Изменения в nginx 0.8.49                                          09.08.2010
3536 
3537     *) Добавление: директива image_filter_jpeg_quality поддерживает
3538        переменные.
3539 
3540     *) Исправление: при использовании переменной $geoip_region_name в
3541        рабочем процессе мог произойти segmentation fault; ошибка появилась в
3542        0.8.48.
3543 
3544     *) Исправление: ошибки, перехваченные error_page, кэшировались только до
3545        следующего запроса; ошибка появилась в 0.8.48.
3546 
3547 
3548 Изменения в nginx 0.8.48                                          03.08.2010
3549 
3550     *) Изменение: теперь по умолчанию директива server_name имеет значение
3551        пустое имя "".
3552        Спасибо Геннадию Махомеду.
3553 
3554     *) Изменение: теперь по умолчанию директива server_name_in_redirect
3555        имеет значение off.
3556 
3557     *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
3558        $geoip_region_name.
3559        Спасибо Christine McGonagle.
3560 
3561     *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
3562        scgi_pass не наследовались в блоки limit_except.
3563 
3564     *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
3565        uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
3566        появилась в 0.8.46.
3567 
3568     *) Исправление: директива fastcgi_split_path_info неверно использовала
3569        выделения, если в выделения попадала только часть URI.
3570        Спасибо Юрию Тарадаю и Frank Enderle.
3571 
3572     *) Исправление: директива rewrite не экранировала символ ";" при
3573        копировании из URI в аргументы.
3574        Спасибо Daisuke Murase.
3575 
3576     *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
3577        если изображение было больше размера image_filter_buffer.
3578 
3579 
3580 Изменения в nginx 0.8.47                                          28.07.2010
3581 
3582     *) Исправление: переменная $request_time имела неверные значения для
3583        подзапросов.
3584 
3585     *) Исправление: ошибки, перехваченные error_page, не кэшировались.
3586 
3587     *) Исправление: если использовался параметр max_size, то cache manager
3588        мог зациклиться; ошибка появилась в 0.8.46.
3589 
3590 
3591 Изменения в nginx 0.8.46                                          19.07.2010
3592 
3593     *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
3594        и scgi_no_cache теперь влияют только на сохранение закэшированного
3595        ответа.
3596 
3597     *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
3598        uwsgi_cache_bypass и scgi_cache_bypass.
3599 
3600     *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
3601        ошибки работы с бэкендом: память освобождалась только по истечении
3602        времени неактивности или при недостатке памяти.
3603 
3604 
3605 Изменения в nginx 0.8.45                                          13.07.2010
3606 
3607     *) Добавление: улучшения в модуле ngx_http_xslt_filter.
3608        Спасибо Laurence Rowe.
3609 
3610     *) Исправление: ответ SSI модуля мог передаваться не полностью после
3611        команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
3612        Спасибо Максиму Дунину.
3613 
3614     *) Исправление: директива listen не поддерживала параметр setfib=0.
3615 
3616 
3617 Изменения в nginx 0.8.44                                          05.07.2010
3618 
3619     *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
3620        заголовке которых есть строка "Set-Cookie".
3621 
3622     *) Добавление: директива listen поддерживает параметр setfib.
3623        Спасибо Андрею Филонову.
3624 
3625     *) Исправление: директива sub_filter могла изменять регистр букв при
3626        частичном совпадении.
3627 
3628     *) Исправление: совместимость с HP/UX.
3629 
3630     *) Исправление: совместимость с компилятором AIX xlC_r.
3631 
3632     *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
3633        запросы.
3634        Спасибо Miroslaw Jaworski.
3635 
3636 
3637 Изменения в nginx 0.8.43                                          30.06.2010
3638 
3639     *) Добавление: ускорение загрузки больших баз geo-диапазонов.
3640 
3641     *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
3642        без изменения кода ответа оставляло тело ошибки; ошибка появилась в
3643        0.8.42.
3644 
3645     *) Исправление: nginx мог закрывать IPv6 listen сокет во время
3646        переконфигурации.
3647        Спасибо Максиму Дунину.
3648 
3649     *) Исправление: переменную $uid_set можно использовать на любой стадии
3650        обработки запроса.
3651 
3652 
3653 Изменения в nginx 0.8.42                                          21.06.2010
3654 
3655     *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
3656        выражениями, если запрос полностью совпал с location'ом, заданным
3657        строкой префикса. Предыдущее поведение появилось в 0.7.1.
3658 
3659     *) Добавление: модуль ngx_http_scgi_module.
3660        Спасибо Manlio Perillo.
3661 
3662     *) Добавление: в директиве return можно добавлять текст ответа.
3663 
3664 
3665 Изменения в nginx 0.8.41                                          15.06.2010
3666 
3667     *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
3668        при запросе файла с неверной кодировкой UTF-8.
3669 
3670     *) Изменение: теперь nginx разрешает использовать пробелы в строке
3671        запроса.
3672 
3673     *) Исправление: директива proxy_redirect неправильно изменяла строку
3674        "Refresh" в заголовке ответа бэкенда.
3675        Спасибо Андрею Андрееву и Максиму Согину.
3676 
3677     *) Исправление: nginx не поддерживал путь без имени хоста в строке
3678        "Destination" в заголовке запроса.
3679 
3680 
3681 Изменения в nginx 0.8.40                                          07.06.2010
3682 
3683     *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
3684        умолчанию.
3685        Спасибо Jose Antonio Vazquez Gonzalez.
3686 
3687     *) Добавление: модуль ngx_http_uwsgi_module.
3688        Спасибо Roberto De Ioris.
3689 
3690     *) Добавление: директива fastcgi_param со значением, начинающимся со
3691        строки "HTTP_", изменяет строку заголовка в запросе клиента.
3692 
3693     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3694        заголовке запроса клиента передавались FastCGI-серверу при
3695        кэшировании.
3696 
3697     *) Исправление: listen unix domain сокет нельзя было изменить во время
3698        переконфигурации.
3699        Спасибо Максиму Дунину.
3700 
3701 
3702 Изменения в nginx 0.8.39                                          31.05.2010
3703 
3704     *) Исправление: наследуемая директива alias неправильно работала во
3705        вложенном location'е.
3706 
3707     *) Исправление: в комбинации директив alias с переменными и try_files;
3708 
3709     *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
3710        время обновления без перерыва.
3711        Спасибо Максиму Дунину.
3712 
3713 
3714 Изменения в nginx 0.8.38                                          24.05.2010
3715 
3716     *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
3717 
3718     *) Добавление: теперь при использовании переменной $scheme в директиве
3719        rewrite автоматически делается редирект.
3720        Спасибо Piotr Sikora.
3721 
3722     *) Исправление: теперь задержки в директиве limit_req соответствует
3723        описанному алгоритму.
3724        Спасибо Максиму Дунину.
3725 
3726     *) Исправление: переменную $uid_got нельзя было использовать в SSI и
3727        перловом модулях.
3728 
3729 
3730 Изменения в nginx 0.8.37                                          17.05.2010
3731 
3732     *) Добавление: модуль ngx_http_split_clients_module.
3733 
3734     *) Добавление: директива map поддерживает ключи больше 255 символов.
3735 
3736     *) Исправление: nginx игнорировал значения "private" и "no-store" в
3737        строке "Cache-Control" в заголовке ответа бэкенда.
3738 
3739     *) Исправление: параметр stub в SSI-директиве include не использовался,
3740        если пустой ответ имел код 200.
3741 
3742     *) Исправление: если проксированный или FastCGI запрос внутренне
3743        перенаправлялся в другой проксированный или FastCGI location, то в
3744        рабочем процессе мог произойти segmentation fault; ошибка появилась в
3745        0.8.33.
3746        Спасибо Yichun Zhang.
3747 
3748     *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
3749        таймаута.
3750        Спасибо Alan Batie.
3751 
3752 
3753 Изменения в nginx 0.8.36                                          22.04.2010
3754 
3755     *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
3756        методы DELETE, COPY и MOVE для симлинков.
3757 
3758     *) Исправление: модуль SSI в подзапросах использовал закэшированные в
3759        основном запросе значения переменных $query_string, $arg_... и им
3760        подобных.
3761 
3762     *) Исправление: значение переменной повторно экранировалось после
3763        каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
3764 
3765     *) Исправление: рабочий процесс зависал при запросе файла FIFO.
3766        Спасибо Vicente Aguilar и Максиму Дунину.
3767 
3768     *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
3769        Спасибо Максиму Дунину.
3770 
3771     *) Исправление: nginx не собирался с параметром --without-http-cache;
3772        ошибка появилась в 0.8.35.
3773 
3774 
3775 Изменения в nginx 0.8.35                                          01.04.2010
3776 
3777     *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
3778 
3779     *) Добавление: директива chunked_transfer_encoding.
3780 
3781     *) Исправление: символ "&" при копировании в аргументы в правилах
3782        rewrite не экранировался.
3783 
3784     *) Исправление: nginx мог завершаться аварийно во время обработки
3785        сигнала или при использовании директивы timer_resolution на
3786        платформах, не поддерживающих методы kqueue или eventport.
3787        Спасибо George Xie и Максиму Дунину.
3788 
3789     *) Исправление: если временные файлы и постоянное место хранения
3790        располагались на разных файловых системах, то у постоянных файлов
3791        время изменения было неверным.
3792        Спасибо Максиму Дунину.
3793 
3794     *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
3795        "memcached sent invalid trailer".
3796        Спасибо Максиму Дунину.
3797 
3798     *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
3799        текстов.
3800        Спасибо Максиму Дунину.
3801 
3802     *) Исправление: в рабочем процессе происходил segmentation fault, если
3803        перед ответом FastCGI-сервера было много вывода в stderr; ошибка
3804        появилась в 0.8.34.
3805        Спасибо Максиму Дунину.
3806 
3807 
3808 Изменения в nginx 0.8.34                                          03.03.2010
3809 
3810     *) Исправление: nginx не поддерживал все шифры, используемые в
3811        клиентских сертификатах.
3812        Спасибо Иннокентию Еникееву.
3813 
3814     *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
3815        ответом было много вывода в stderr.
3816 
3817     *) Исправление: nginx не поддерживал HTTPS-рефереры.
3818 
3819     *) Исправление: nginx/Windows мог не находить файлы, если путь в
3820        конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
3821 
3822     *) Исправление: переменная $date_local выдавала неверное время, если
3823        использовался формат "%s".
3824        Спасибо Максиму Дунину.
3825 
3826     *) Исправление: если ssl_session_cache не был установлен или установлен
3827        в none, то при проверке клиентского сертификаты могла происходить
3828        ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
3829 
3830     *) Исправление: geo-диапазон возвращал значение по умолчанию, если
3831        диапазон включал в себя одну и более сетей размером /16 и не
3832        начинался на границе сети размером /16.
3833 
3834     *) Исправление: блок, используемый в параметре stub в SSI-директиве
3835        include, выводился с MIME-типом "text/plain".
3836 
3837     *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
3838 
3839 
3840 Изменения в nginx 0.8.33                                          01.02.2010
3841 
3842     *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
3843        Спасибо Dan Crowley, Core Security Technologies.
3844 
3845     *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
3846        Спасибо Dan Crowley, Core Security Technologies.
3847 
3848     *) Изменение: теперь keepalive соединения после запросов POST не
3849        запрещаются для MSIE 7.0+.
3850        Спасибо Adam Lounds.
3851 
3852     *) Изменение: теперь keepalive соединения запрещены для Safari.
3853        Спасибо Joshua Sierles.
3854 
3855     *) Исправление: если проксированный или FastCGI запрос внутренне
3856        перенаправлялся в другой проксированный или FastCGI location, то
3857        переменная $upstream_response_time могла иметь ненормально большое
3858        значение; ошибка появилась в 0.8.7.
3859 
3860     *) Исправление: в рабочем процессе мог произойти segmentation fault при
3861        отбрасывания тела запроса; ошибка появилась в 0.8.11.
3862 
3863 
3864 Изменения в nginx 0.8.32                                          11.01.2010
3865 
3866     *) Исправление: ошибки при использовании кодировки UTF-8 в
3867        ngx_http_autoindex_module.
3868        Спасибо Максиму Дунину.
3869 
3870     *) Исправление: именованные выделения в регулярных выражениях работали
3871        только для двух переменных.
3872        Спасибо Максиму Дунину.
3873 
3874     *) Исправление: теперь в строке заголовка запроса "Host" используется
3875        имя "localhost", если в директиве auth_http указан unix domain сокет.
3876        Спасибо Максиму Дунину.
3877 
3878     *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
3879        ответов.
3880        Спасибо Julian Reich.
3881 
3882     *) Исправление: если директива "expires modified" выставляла дату в
3883        прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
3884        отрицательное число.
3885        Спасибо Алексею Капранову.
3886 
3887 
3888 Изменения в nginx 0.8.31                                          23.12.2009
3889 
3890     *) Добавление: теперь директива error_page может перенаправлять ответы
3891        со статусом 301 и 302.
3892 
3893     *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
3894        $geoip_longitude.
3895        Спасибо Arvind Sundararajan.
3896 
3897     *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
3898        EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
3899 
3900     *) Исправление: nginx закрывал соединение при запросе закэшированного
3901        ответа с пустым телом.
3902        Спасибо Piotr Sikora.
3903 
3904     *) Исправление: nginx мог не собираться gcc 4.x при использовании
3905        оптимизации -O2 и выше.
3906        Спасибо Максиму Дунину и Денису Латыпову.
3907 
3908     *) Исправление: регулярные выражения в location всегда тестировались с
3909        учётом регистра; ошибка появилась в 0.8.25.
3910 
3911     *) Исправление: nginx кэшировал 304 ответ, если в заголовке
3912        проксируемого запроса была строка "If-None-Match".
3913        Спасибо Tim Dettrick и David Kostal.
3914 
3915     *) Исправление: nginx/Windows пытался дважды удалить временный файл при
3916        перезаписи уже существующего файла.
3917 
3918 
3919 Изменения в nginx 0.8.30                                          15.12.2009
3920 
3921     *) Изменение: теперь по умолчанию размер буфера директивы
3922        large_client_header_buffers равен 8K.
3923        Спасибо Andrew Cholakian.
3924 
3925     *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
3926 
3927     *) Исправление: nginx/Windows пытался дважды переименовать временный
3928        файл при перезаписи уже существующего файла.
3929 
3930     *) Исправление: ошибки double free or corruption, возникающей, если имя
3931        хоста не было найдено; ошибка появилась в 0.8.22.
3932        Спасибо Константину Свисту.
3933 
3934     *) Исправление: в использовании libatomic на некоторых платформах.
3935        Спасибо W-Mark Kubacki.
3936 
3937 
3938 Изменения в nginx 0.8.29                                          30.11.2009
3939 
3940     *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
3941        ответа "009".
3942 
3943     *) Добавление: директивы addition_types, charset_types, gzip_types,
3944        ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
3945 
3946     *) Добавление: использование встроенных атомарных операций GCC 4.1+.
3947        Спасибо W-Mark Kubacki.
3948 
3949     *) Добавление: параметр --with-libatomic[=DIR] в configure.
3950        Спасибо W-Mark Kubacki.
3951 
3952     *) Исправление: listen unix domain сокет имели ограниченные права
3953        доступа.
3954 
3955     *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
3956        обрабатывались.
3957 
3958     *) Исправление: именованные выделения в регулярных выражениях, заданные
3959        как "?P<...>", не работали в директиве server_name.
3960        Спасибо Максиму Дунину.
3961 
3962 
3963 Изменения в nginx 0.8.28                                          23.11.2009
3964 
3965     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
3966        появилась в 0.8.25.
3967 
3968 
3969 Изменения в nginx 0.8.27                                          17.11.2009
3970 
3971     *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
3972        появилась в 0.8.25.
3973 
3974 
3975 Изменения в nginx 0.8.26                                          16.11.2009
3976 
3977     *) Исправление: ошибки при использовании выделений в директиве rewrite;
3978        ошибка появилась в 0.8.25.
3979 
3980     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3981        появилась в 0.8.25.
3982 
3983 
3984 Изменения в nginx 0.8.25                                          16.11.2009
3985 
3986     *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
3987        не найдена с помощью метода $r->variable().
3988 
3989     *) Добавление: модуль ngx_http_degradation_module.
3990 
3991     *) Добавление: именованные выделения в регулярных выражениях.
3992 
3993     *) Добавление: теперь при использовании переменных в директиве
3994        proxy_pass не требуется задавать URI.
3995 
3996     *) Добавление: теперь директива msie_padding работает и для Chrome.
3997 
3998     *) Исправление: в рабочем процессе происходил segmentation fault при
3999        недостатке памяти; ошибка появилась в 0.8.18.
4000 
4001     *) Исправление: nginx передавал сжатые ответы клиентам, не
4002        поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
4003        ошибка появилась в 0.8.16.
4004 
4005 
4006 Изменения в nginx 0.8.24                                          11.11.2009
4007 
4008     *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
4009        заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
4010 
4011     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4012        появилась в 0.8.23.
4013 
4014     *) Исправление: параметр "unix:" в директиве set_real_ip_from
4015        неправильно наследовался с предыдущего уровня.
4016 
4017     *) Исправление: в resolver'е при определении пустого имени.
4018 
4019 
4020 Изменения в nginx 0.8.23                                          11.11.2009
4021 
4022     *) Безопасность: теперь SSL/TLS renegotiation запрещён.
4023        Спасибо Максиму Дунину.
4024 
4025     *) Исправление: listen unix domain сокет не наследовался во время
4026        обновления без перерыва.
4027 
4028     *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
4029        без ещё одной директивы с любым IP-адресом.
4030 
4031     *) Исправление: segmentation fault и зацикливания в resolver'е.
4032 
4033     *) Исправление: в resolver'е.
4034        Спасибо Артёму Бохану.
4035 
4036 
4037 Изменения в nginx 0.8.22                                          03.11.2009
4038 
4039     *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
4040 
4041     *) Добавление: директивы access и deny поддерживают IPv6.
4042 
4043     *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
4044        заголовках запроса.
4045 
4046     *) Добавление: параметр "unix:" в директиве set_real_ip_from.
4047 
4048     *) Исправление: nginx не удалял unix domain сокет после тестирования
4049        конфигурации.
4050 
4051     *) Исправление: nginx удалял unix domain сокет во время обновления без
4052        перерыва.
4053 
4054     *) Исправление: оператор "!-x" не работал.
4055        Спасибо Максиму Дунину.
4056 
4057     *) Исправление: в рабочем процессе мог произойти segmentation fault при
4058        использовании limit_rate в HTTPS сервере.
4059        Спасибо Максиму Дунину.
4060 
4061     *) Исправление: при записи в лог переменной $limit_rate в рабочем
4062        процессе происходил segmentation fault.
4063        Спасибо Максиму Дунину.
4064 
4065     *) Исправление: в рабочем процессе мог произойти segmentation fault,
4066        если внутри блока server не было директивы listen; ошибка появилась в
4067        0.8.21.
4068 
4069 
4070 Изменения в nginx 0.8.21                                          26.10.2009
4071 
4072     *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
4073 
4074     *) Добавление: директива listen модуля HTTP поддерживает unix domain
4075        сокеты.
4076        Спасибо Hongli Lai.
4077 
4078     *) Добавление: параметр "default_server" в директиве listen.
4079 
4080     *) Добавление: теперь параметр "default" не обязателен для установки
4081        параметров listen-сокета.
4082 
4083     *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
4084        платформах;
4085 
4086     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
4087 
4088 
4089 Изменения в nginx 0.8.20                                          14.10.2009
4090 
4091     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
4092        "HIGH:!ADH:!MD5".
4093 
4094     *) Исправление: модуль ngx_http_autoindex_module не показывал последний
4095        слэш для линков на каталоги; ошибка появилась в 0.7.15.
4096 
4097     *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
4098        --error-log-path; ошибка появилась в 0.7.53.
4099 
4100     *) Исправление: nginx не считал запятую разделителем в строке
4101        "Cache-Control" в заголовке ответа бэкенда.
4102 
4103     *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
4104        или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
4105        не имел достаточно прав для работы с каталогами верхнего уровня.
4106 
4107     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
4108        FastCGI-сервера не скрывались при кэшировании, если не использовались
4109        директивы fastcgi_hide_header с любыми параметрами.
4110 
4111     *) Исправление: nginx неверно считал размер кэша на диске.
4112 
4113 
4114 Изменения в nginx 0.8.19                                          06.10.2009
4115 
4116     *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
4117 
4118     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
4119        "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
4120 
4121     *) Исправление: директива limit_req не работала; ошибка появилась в
4122        0.8.18.
4123 
4124 
4125 Изменения в nginx 0.8.18                                          06.10.2009
4126 
4127     *) Добавление: директива read_ahead.
4128 
4129     *) Добавление: теперь можно использовать несколько директив
4130        perl_modules.
4131 
4132     *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
4133 
4134     *) Исправление: теперь директива limit_req соответствует алгоритму leaky
4135        bucket.
4136        Спасибо Максиму Дунину.
4137 
4138     *) Исправление: nginx не работал на Linux/sparc.
4139        Спасибо Marcus Ramberg.
4140 
4141     *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
4142        ответе на запрос MKCOL.
4143        Спасибо Xie Zhenye.
4144 
4145     *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
4146        появилась в 0.8.11.
4147 
4148     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
4149 
4150 
4151 Изменения в nginx 0.8.17                                          28.09.2009
4152 
4153     *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
4154        в заголовке запроса.
4155 
4156     *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
4157 
4158     *) Добавление: переменная $ssl_session_id.
4159 
4160     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
4161 
4162 
4163 Изменения в nginx 0.8.16                                          22.09.2009
4164 
4165     *) Добавление: директива image_filter_transparency.
4166 
4167     *) Исправление: директива "addition_types" была неверно названа
4168        "addtion_types".
4169 
4170     *) Исправление: порчи кэша resolver'а.
4171        Спасибо Matthew Dempsky.
4172 
4173     *) Исправление: утечки памяти в resolver'е.
4174        Спасибо Matthew Dempsky.
4175 
4176     *) Исправление: неверная строка запроса в переменной $request
4177        записывалась в access_log только при использовании error_log на
4178        уровне info или debug.
4179 
4180     *) Исправление: в поддержке альфа-канала PNG в модуле
4181        ngx_http_image_filter_module.
4182 
4183     *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
4184        заголовок ответа, если обе директивы gzip_static и gzip_vary были
4185        включены.
4186 
4187     *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
4188        nginx/Windows.
4189 
4190     *) Исправление: ошибки при использовании post_action; ошибка появилась в
4191        0.8.11.
4192        Спасибо Игорю Артемьеву.
4193 
4194 
4195 Изменения в nginx 0.8.15                                          14.09.2009
4196 
4197     *) Безопасность: при обработке специально созданного запроса в рабочем
4198        процессе мог произойти segmentation fault.
4199        Спасибо Chris Ries.
4200 
4201     *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
4202        .domain-some.tld, то имя .sub.domain.tld попадало под маску
4203        .domain.tld.
4204 
4205     *) Исправление: в поддержке прозрачности в модуле
4206        ngx_http_image_filter_module.
4207 
4208     *) Исправление: в файловом AIO.
4209 
4210     *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
4211        появилась в 0.8.11.
4212 
4213     *) Исправление: ошибки при использовании встроенного перла; ошибка
4214        появилась в 0.8.11.
4215 
4216 
4217 Изменения в nginx 0.8.14                                          07.09.2009
4218 
4219     *) Исправление: устаревший закэшированный запрос мог залипнуть в
4220        состоянии "UPDATING".
4221 
4222     *) Исправление: при использовании error_log на уровне info или debug в
4223        рабочем процессе мог произойти segmentation fault.
4224        Спасибо Сергею Боченкову.
4225 
4226     *) Исправление: ошибки при использовании встроенного перла; ошибка
4227        появилась в 0.8.11.
4228 
4229     *) Исправление: директива error_page не перенаправляла ошибку 413;
4230        ошибка появилась в 0.6.10.
4231 
4232 
4233 Изменения в nginx 0.8.13                                          31.08.2009
4234 
4235     *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
4236 
4237     *) Исправление: nginx не собирался без параметра --with-file-aio на
4238        FreeBSD; ошибка появилась в 0.8.12.
4239 
4240 
4241 Изменения в nginx 0.8.12                                          31.08.2009
4242 
4243     *) Добавление: параметр sendfile в директиве aio во FreeBSD.
4244 
4245     *) Исправление: ошибки при использовании try_files; ошибка появилась в
4246        0.8.11.
4247 
4248     *) Исправление: ошибки при использовании memcached; ошибка появилась в
4249        0.8.11.
4250 
4251 
4252 Изменения в nginx 0.8.11                                          28.08.2009
4253 
4254     *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
4255        для MSIE 6.0 SV1.
4256 
4257     *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
4258 
4259     *) Добавление: директива directio_alignment.
4260 
4261 
4262 Изменения в nginx 0.8.10                                          24.08.2009
4263 
4264     *) Исправление: утечек памяти при использовании базы GeoIP City.
4265 
4266     *) Исправление: ошибки при копировании временных файлов в постоянное
4267        место хранения; ошибка появилась в 0.8.9.
4268 
4269 
4270 Изменения в nginx 0.8.9                                           17.08.2009
4271 
4272     *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
4273        процесс; это должно улучшить обработку больших кэшей.
4274 
4275     *) Добавление: теперь временные файлы и постоянное место хранения могут
4276        располагаться на разных файловых системах.
4277 
4278 
4279 Изменения в nginx 0.8.8                                           10.08.2009
4280 
4281     *) Исправление: в обработке заголовков ответа, разделённых в
4282        FastCGI-записях.
4283 
4284     *) Исправление: если запрос обрабатывался в двух проксированных или
4285        FastCGI location'ах и в первом из них использовалось кэширование, то
4286        в рабочем процессе происходил segmentation fault; ошибка появилась в
4287        0.8.7.
4288 
4289 
4290 Изменения в nginx 0.8.7                                           27.07.2009
4291 
4292     *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
4293 
4294     *) Изменение: параметр ask директивы ssl_verify_client изменён на
4295        параметр optional и теперь он проверяет клиентский сертификат, если
4296        он был предложен.
4297        Спасибо Brice Figureau.
4298 
4299     *) Добавление: переменная $ssl_client_verify.
4300        Спасибо Brice Figureau.
4301 
4302     *) Добавление: директива ssl_crl.
4303        Спасибо Brice Figureau.
4304 
4305     *) Добавление: параметр proxy директивы geo.
4306 
4307     *) Добавление: директива image_filter поддерживает переменные для
4308        задания размеров.
4309 
4310     *) Исправление: использование переменной $ssl_client_cert портило
4311        память; ошибка появилась в 0.7.7.
4312        Спасибо Сергею Журавлёву.
4313 
4314     *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
4315        передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
4316        "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
4317        Спасибо Максиму Дунину.
4318 
4319     *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
4320        заголовке ответа бэкенда; ошибка появилась в 0.7.44.
4321        Спасибо Максиму Дунину.
4322 
4323     *) Исправление: ошибки "[alert] zero size buf" при получении пустых
4324        ответы в подзапросах; ошибка появилась в 0.8.5.
4325 
4326 
4327 Изменения в nginx 0.8.6                                           20.07.2009
4328 
4329     *) Добавление: модуль ngx_http_geoip_module.
4330 
4331     *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
4332        document" для правильного документа.
4333        Спасибо Kuramoto Eiji.
4334 
4335     *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
4336        location'ов, заданных регулярным выражением, теперь всегда делается
4337        сравнение без учёта регистра символов.
4338 
4339     *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
4340        Спасибо Hugo Leisink.
4341 
4342     *) Исправление: имя файла указанного в --conf-path игнорировалось при
4343        установке; ошибка появилась в 0.6.6.
4344        Спасибо Максиму Дунину.
4345 
4346 
4347 Изменения в nginx 0.8.5                                           13.07.2009
4348 
4349     *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
4350 
4351     *) Исправление: при использовании HTTP Basic-аутентификации на Windows
4352        для неверных имени/пароля возвращалась 500-ая ошибка.
4353 
4354     *) Исправление: ответы модуля ngx_http_perl_module не работали в
4355        подзапросах.
4356 
4357     *) Исправление: в модуле ngx_http_limit_req_module.
4358        Спасибо Максиму Дунину.
4359 
4360 
4361 Изменения в nginx 0.8.4                                           22.06.2009
4362 
4363     *) Исправление: nginx не собирался с параметром --without-http-cache;
4364        ошибка появилась в 0.8.3.
4365 
4366 
4367 Изменения в nginx 0.8.3                                           19.06.2009
4368 
4369     *) Добавление: переменная $upstream_cache_status.
4370 
4371     *) Исправление: nginx не собирался на MacOSX 10.6.
4372 
4373     *) Исправление: nginx не собирался с параметром --without-http-cache;
4374        ошибка появилась в 0.8.2.
4375 
4376     *) Исправление: если использовался перехват 401 ошибки от бэкенда и
4377        бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
4378        в рабочем процессе происходил segmentation fault.
4379        Спасибо Евгению Мычло.
4380 
4381 
4382 Изменения в nginx 0.8.2                                           15.06.2009
4383 
4384     *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
4385        на старте.
4386 
4387     *) Исправление: open_file_cache мог кэшировать открытые файлы очень
4388        долго; ошибка появилась в 0.7.4.
4389 
4390 
4391 Изменения в nginx 0.8.1                                           08.06.2009
4392 
4393     *) Добавление: параметр updating в директивах proxy_cache_use_stale и
4394        fastcgi_cache_use_stale.
4395 
4396     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
4397        заголовке запроса клиента передавались бэкенду при кэшировании, если
4398        не использовалась директива proxy_set_header с любыми параметрами.
4399 
4400     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
4401        не скрывались при кэшировании, если не использовались директивы
4402        proxy_hide_header/fastcgi_hide_header с любыми параметрами.
4403 
4404     *) Исправление: модуль ngx_http_image_filter_module не понимал формат
4405        GIF87a.
4406        Спасибо Денису Ильиных.
4407 
4408     *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
4409        появилась в 0.7.56.
4410 
4411 
4412 Изменения в nginx 0.8.0                                           02.06.2009
4413 
4414     *) Добавление: директива keepalive_requests.
4415 
4416     *) Добавление: директива limit_rate_after.
4417        Спасибо Ivan Debnar.
4418 
4419     *) Исправление: XSLT-фильтр не работал в подзапросах.
4420 
4421     *) Исправление: обработке относительных путей в nginx/Windows.
4422 
4423     *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
4424        fastcgi_cache в nginx/Windows.
4425 
4426     *) Исправление: в обработке ошибок выделения памяти.
4427        Спасибо Максиму Дунину и Кириллу Коринскому.
4428 
4429 
4430 Изменения в nginx 0.7.59                                          25.05.2009
4431 
4432     *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
4433 
4434     *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
4435        Спасибо Максиму Дунину.
4436 
4437     *) Исправление: при использовании переменной $request_body в рабочем
4438        процессе происходил segmentation fault, если в запросе не было тела;
4439        ошибка появилась в 0.7.58.
4440 
4441     *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
4442        ошибка появилась в 0.7.56.
4443 
4444     *) Исправление: ответы модуля ngx_http_xslt_filter_module не
4445        обрабатывались SSI-, charset- и gzip-фильтрами.
4446 
4447     *) Исправление: директива charset не ставила кодировку для ответов
4448        модуля ngx_http_gzip_static_module.
4449 
4450 
4451 Изменения в nginx 0.7.58                                          18.05.2009
4452 
4453     *) Добавление: директива listen почтового прокси-сервера поддерживает
4454        IPv6.
4455 
4456     *) Добавление: директива image_filter_jpeg_quality.
4457 
4458     *) Добавление: директива client_body_in_single_buffer.
4459 
4460     *) Добавление: переменная $request_body.
4461 
4462     *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
4463        файлов, содержащих символ ":".
4464 
4465     *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
4466        0.7.53.
4467        Спасибо Денису Латыпову.
4468 
4469 
4470 Изменения в nginx 0.7.57                                          12.05.2009
4471 
4472     *) Исправление: при перенаправлении ошибок модуля
4473        ngx_http_image_filter_module в именованный location в рабочем
4474        процессе происходил floating-point fault; ошибка появилась в 0.7.56.
4475 
4476 
4477 Изменения в nginx 0.7.56                                          11.05.2009
4478 
4479     *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
4480        HTTP.
4481 
4482     *) Исправление: в модуле ngx_http_image_filter_module.
4483 
4484 
4485 Изменения в nginx 0.7.55                                          06.05.2009
4486 
4487     *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
4488        fastcgi_cache_use_stale не работали.
4489 
4490     *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
4491        заголовка.
4492 
4493     *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
4494        nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
4495 
4496     *) Исправление: при использовании директивы debug_connection в рабочем
4497        процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
4498 
4499     *) Исправление: в сборке модуля ngx_http_image_filter_module.
4500 
4501     *) Исправление: файлы больше 2G не передавались с использованием
4502        $r->sendfile.
4503        Спасибо Максиму Дунину.
4504 
4505 
4506 Изменения в nginx 0.7.54                                          01.05.2009
4507 
4508     *) Добавление: модуль ngx_http_image_filter_module.
4509 
4510     *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
4511 
4512     *) Исправление: при использовании переменных "open_file_cache_errors on"
4513        в рабочем процессе мог произойти segmentation fault; ошибка появилась
4514        в 0.7.53.
4515 
4516     *) Исправление: директива "port_in_redirect off" не работала; ошибка
4517        появилась в 0.7.39.
4518 
4519     *) Исправление: улучшение обработки ошибок метода select.
4520 
4521     *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
4522 
4523     *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
4524        ошибка появилась в 0.7.53.
4525 
4526 
4527 Изменения в nginx 0.7.53                                          27.04.2009
4528 
4529     *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
4530        самого начала работы.
4531 
4532     *) Добавление: теперь ошибки и предупреждения при старте записываются в
4533        error_log и выводятся на stderr.
4534 
4535     *) Добавление: при сборке с пустым параметром --prefix= nginx использует
4536        как префикс каталог, в котором он был запущен.
4537 
4538     *) Добавление: ключ -p.
4539 
4540     *) Добавление: ключ -s на Unix-платформах.
4541 
4542     *) Добавление: ключи -? и -h.
4543        Спасибо Jerome Loyet.
4544 
4545     *) Добавление: теперь ключи можно задавать в сжатой форме.
4546 
4547     *) Исправление: nginx/Windows не работал, если файл конфигурации был
4548        задан ключом -c.
4549 
4550     *) Исправление: при использовании директив proxy_store, fastcgi_store,
4551        proxy_cache или fastcgi_cache временные файлы могли не удаляться.
4552        Спасибо Максиму Дунину.
4553 
4554     *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
4555        почтового прокси-сервера передавалось неверное значение; ошибка
4556        появилась в 0.7.34.
4557        Спасибо Simon Lecaille.
4558 
4559     *) Исправление: при логгировании на Linux не писались текстовые описания
4560        системных ошибок; ошибка появилась в 0.7.45.
4561 
4562     *) Исправление: директива fastcgi_cache_min_uses не работала.
4563        Спасибо Андрею Воробьёву.
4564 
4565 
4566 Изменения в nginx 0.7.52                                          20.04.2009
4567 
4568     *) Добавление: первая бинарная версия под Windows.
4569 
4570     *) Исправление: корректная обработка метода HEAD при кэшировании.
4571 
4572     *) Исправление: корректная обработка строк "If-Modified-Since",
4573        "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
4574 
4575     *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
4576        заголовке ответа для закэшированных ответов.
4577 
4578     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4579        perl поддерживал потоки, то при выходе основного процесса могла
4580        выдаваться ошибка "panic: MUTEX_LOCK".
4581 
4582     *) Исправление: nginx не собирался с параметром --without-http-cache;
4583        ошибка появилась в 0.7.48.
4584 
4585     *) Исправление: nginx не собирался на платформах, отличных от i386,
4586        amd64, sparc и ppc; ошибка появилась в 0.7.42.
4587 
4588 
4589 Изменения в nginx 0.7.51                                          12.04.2009
4590 
4591     *) Добавление: директива try_files поддерживает код ответа в последнем
4592        параметре.
4593 
4594     *) Добавление: теперь в директиве return можно использовать любой код
4595        ответа.
4596 
4597     *) Исправление: директива error_page делала внешний редирект без строки
4598        запроса; ошибка появилась в 0.7.44.
4599 
4600     *) Исправление: если сервера слушали на нескольких явно описанных
4601        адресах, то виртуальные сервера могли не работать; ошибка появилась в
4602        0.7.39.
4603 
4604 
4605 Изменения в nginx 0.7.50                                          06.04.2009
4606 
4607     *) Исправление: переменные $arg_... не работали; ошибка появилась в
4608        0.7.49.
4609 
4610 
4611 Изменения в nginx 0.7.49                                          06.04.2009
4612 
4613     *) Исправление: при использовании переменных $arg_... в рабочем процессе
4614        мог произойти segmentation fault; ошибка появилась в 0.7.48.
4615 
4616 
4617 Изменения в nginx 0.7.48                                          06.04.2009
4618 
4619     *) Добавление: директива proxy_cache_key.
4620 
4621     *) Исправление: теперь nginx учитывает при кэшировании строки
4622        "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
4623        бэкенда.
4624 
4625     *) Исправление: теперь nginx кэширует только ответы на запросы GET.
4626 
4627     *) Исправление: директива fastcgi_cache_key не наследовалась.
4628 
4629     *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
4630        Спасибо Максиму Дунину.
4631 
4632     *) Исправление: nginx не собирался с библиотекой uclibc.
4633        Спасибо Timothy Redaelli.
4634 
4635     *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
4636        в 0.7.46.
4637 
4638 
4639 Изменения в nginx 0.7.47                                          01.04.2009
4640 
4641     *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
4642        ошибка появилась в 0.7.46.
4643 
4644     *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
4645 
4646     *) Исправление: если использовался параметр max_size, то cache manager
4647        мог удалить весь кэш; ошибка появилась в 0.7.46.
4648 
4649     *) Изменение: в рабочем процессе мог произойти segmentation fault, если
4650        директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
4651        fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
4652        в 0.7.46.
4653 
4654     *) Исправление: в рабочем процессе мог произойти segmentation fault при
4655        перенаправлении запроса проксированному или FastCGI-серверу с помощью
4656        error_page или try_files; ошибка появилась в 0.7.44.
4657 
4658 
4659 Изменения в nginx 0.7.46                                          30.03.2009
4660 
4661     *) Исправление: архив предыдущего релиза был неверным.
4662 
4663 
4664 Изменения в nginx 0.7.45                                          30.03.2009
4665 
4666     *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
4667        задавать на разных уровнях.
4668 
4669     *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
4670 
4671     *) Добавление: параметр max_size в директиве proxy_cache_path.
4672 
4673     *) Добавление: предварительная поддержка кэширования в модуле
4674        ngx_http_fastcgi_module.
4675 
4676     *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
4677        указываются названия директивы и зоны.
4678 
4679     *) Исправление: директива "add_header last-modified ''" не удаляла в
4680        заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
4681 
4682     *) Исправление: в директиве auth_basic_user_file не работал
4683        относительный путь, заданный строкой без переменных; ошибка появилась
4684        в 0.7.44.
4685        Спасибо Jerome Loyet.
4686 
4687     *) Исправление: в директиве alias, заданной переменными без ссылок на
4688        выделения в регулярных выражениях; ошибка появилась в 0.7.42.
4689 
4690 
4691 Изменения в nginx 0.7.44                                          23.03.2009
4692 
4693     *) Добавление: предварительная поддержка кэширования в модуле
4694        ngx_http_proxy_module.
4695 
4696     *) Добавление: параметр --with-pcre в configure.
4697 
4698     *) Добавление: теперь директива try_files может быть использована на
4699        уровне server.
4700 
4701     *) Исправление: директива try_files неправильно обрабатывала строку
4702        запроса в последнем параметре.
4703 
4704     *) Исправление: директива try_files могла неверно тестировать каталоги.
4705 
4706     *) Исправление: если для пары адрес:порт описан только один сервер, то
4707        выделения в регулярных выражениях в директиве server_name не
4708        работали.
4709 
4710 
4711 Изменения в nginx 0.7.43                                          18.03.2009
4712 
4713     *) Исправление: запрос обрабатывался неверно, если директива root
4714        использовала переменные; ошибка появилась в 0.7.42.
4715 
4716     *) Исправление: если сервер слушал на адресах типа "*", то значение
4717        переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
4718 
4719 
4720 Изменения в nginx 0.7.42                                          16.03.2009
4721 
4722     *) Изменение: ошибка "Invalid argument", возвращаемая
4723        setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
4724 
4725     *) Изменение: при отсутствии файла, указанного в директиве
4726        auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
4727 
4728     *) Добавление: директива auth_basic_user_file поддерживает переменные.
4729        Спасибо Кириллу Коринскому.
4730 
4731     *) Добавление: директива listen поддерживает параметр ipv6only.
4732        Спасибо Zhang Hua.
4733 
4734     *) Исправление: в директиве alias со ссылками на выделения в регулярных
4735        выражениях; ошибка появилась в 0.7.40.
4736 
4737     *) Исправление: совместимость с Tru64 UNIX.
4738        Спасибо Dustin Marquess.
4739 
4740     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4741        в 0.7.41.
4742 
4743 
4744 Изменения в nginx 0.7.41                                          11.03.2009
4745 
4746     *) Исправление: в рабочем процессе мог произойти segmentation fault,
4747        если в server_name или location были выделения в регулярных
4748        выражениях; ошибка появилась в 0.7.40.
4749        Спасибо Владимиру Сопоту.
4750 
4751 
4752 Изменения в nginx 0.7.40                                          09.03.2009
4753 
4754     *) Добавление: директива location поддерживает выделения в регулярных
4755        выражениях.
4756 
4757     *) Добавление: директиву alias с ссылками на выделения в регулярных
4758        выражениях можно использовать внутри location'а, заданного регулярным
4759        выражением с выделениями.
4760 
4761     *) Добавление: директива server_name поддерживает выделения в регулярных
4762        выражениях.
4763 
4764     *) Изменение: модуль ngx_http_autoindex_module не показывал последний
4765        слэш для каталогов на файловой системе XFS; ошибка появилась в
4766        0.7.15.
4767        Спасибо Дмитрию Кузьменко.
4768 
4769 
4770 Изменения в nginx 0.7.39                                          02.03.2009
4771 
4772     *) Исправление: при включённом сжатии большие ответы с использованием
4773        SSI могли зависать; ошибка появилась в 0.7.28.
4774        Спасибо Артёму Бохану.
4775 
4776     *) Исправление: при использовании коротких статических вариантов в
4777        директиве try_files в рабочем процессе мог произойти segmentation
4778        fault.
4779 
4780 
4781 Изменения в nginx 0.7.38                                          23.02.2009
4782 
4783     *) Добавление: логгирование ошибок аутентификации.
4784 
4785     *) Исправление: имя/пароль, заданные в auth_basic_user_file,
4786        игнорировались после нечётного числа пустых строк.
4787        Спасибо Александру Загребину.
4788 
4789     *) Исправление: при использовании длинного пути в unix domain сокете в
4790        главном процессе происходил segmentation fault; ошибка появилась в
4791        0.7.36.
4792 
4793 
4794 Изменения в nginx 0.7.37                                          21.02.2009
4795 
4796     *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
4797        появилась в 0.7.36.
4798 
4799 
4800 Изменения в nginx 0.7.36                                          21.02.2009
4801 
4802     *) Добавление: предварительная поддержка IPv6; директива listen модуля
4803        HTTP поддерживает IPv6.
4804 
4805     *) Исправление: переменная $ancient_browser не работала для браузеров,
4806        заданных директивами modern_browser.
4807 
4808 
4809 Изменения в nginx 0.7.35                                          16.02.2009
4810 
4811     *) Исправление: директива ssl_engine не использовала SSL-акселератор для
4812        асимметричных шифров.
4813        Спасибо Marcin Gozdalik.
4814 
4815     *) Исправление: директива try_files выставляла MIME-type, исходя из
4816        расширения первоначального запроса.
4817 
4818     *) Исправление: в директивах server_name, valid_referers и map
4819        неправильно обрабатывались имена вида "*domain.tld", если
4820        использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
4821        ошибка появилась в 0.7.9.
4822 
4823 
4824 Изменения в nginx 0.7.34                                          10.02.2009
4825 
4826     *) Добавление: параметр off в директиве if_modified_since.
4827 
4828     *) Добавление: теперь после команды XCLIENT nginx посылает команду
4829        HELO/EHLO.
4830        Спасибо Максиму Дунину.
4831 
4832     *) Добавление: поддержка Microsoft-специфичного режима
4833        "AUTH LOGIN with User Name" в почтовом прокси-сервере.
4834        Спасибо Максиму Дунину.
4835 
4836     *) Исправление: в директиве rewrite, возвращающей редирект, старые
4837        аргументы присоединялись к новым через символ "?" вместо "&";
4838        ошибка появилась в 0.1.18.
4839        Спасибо Максиму Дунину.
4840 
4841     *) Исправление: nginx не собирался на AIX.
4842 
4843 
4844 Изменения в nginx 0.7.33                                          02.02.2009
4845 
4846     *) Исправление: если на запрос с телом возвращался редирект, то ответ
4847        мог быть двойным при использовании методов epoll или rtsig.
4848        Спасибо Eden Li.
4849 
4850     *) Исправление: для некоторых типов редиректов в переменной
4851        $sent_http_location было пустое значение.
4852 
4853     *) Исправление: при использовании директивы resolver в SMTP
4854        прокси-сервере в рабочем процессе мог произойти segmentation fault.
4855 
4856 
4857 Изменения в nginx 0.7.32                                          26.01.2009
4858 
4859     *) Добавление: теперь в директиве try_files можно явно указать проверку
4860        каталога.
4861 
4862     *) Исправление: fastcgi_store не всегда сохранял файлы.
4863 
4864     *) Исправление: в гео-диапазонах.
4865 
4866     *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
4867        если nginx был собран без отладки.
4868        Спасибо Андрею Квасову.
4869 
4870 
4871 Изменения в nginx 0.7.31                                          19.01.2009
4872 
4873     *) Изменение: теперь директива try_files проверяет только файлы,
4874        игнорируя каталоги.
4875 
4876     *) Добавление: директива fastcgi_split_path_info.
4877 
4878     *) Исправления в поддержке строки "Expect" в заголовке запроса.
4879 
4880     *) Исправления в гео-диапазонах.
4881 
4882     *) Исправление: при отсутствии ответа ngx_http_memcached_module
4883        возвращал в теле ответа строку "END" вместо 404-ой страницы по
4884        умолчанию; ошибка появилась в 0.7.18.
4885        Спасибо Максиму Дунину.
4886 
4887     *) Исправление: при проксировании SMTP nginx выдавал сообщение
4888        "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
4889        Спасибо Максиму Дунину.
4890 
4891 
4892 Изменения в nginx 0.7.30                                          24.12.2008
4893 
4894     *) Исправление: в рабочем процессе происходил segmentation fault, если в
4895        директивах fastcgi_pass или proxy_pass использовались переменные и
4896        имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
4897 
4898 
4899 Изменения в nginx 0.7.29                                          24.12.2008
4900 
4901     *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
4902        переменные при использовании unix domain сокетов.
4903 
4904     *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
4905 
4906     *) Исправление: ответ "100 Continue" выдавался для запросов версии
4907        HTTP/1.0;
4908        Спасибо Максиму Дунину.
4909 
4910     *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
4911        под Cygwin.
4912 
4913 
4914 Изменения в nginx 0.7.28                                          22.12.2008
4915 
4916     *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
4917 
4918     *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
4919        с 4 4k/8k на 32 4k или 16 8k.
4920 
4921 
4922 Изменения в nginx 0.7.27                                          15.12.2008
4923 
4924     *) Добавление: директива try_files.
4925 
4926     *) Добавление: директива fastcgi_pass поддерживает переменные.
4927 
4928     *) Добавление: теперь директива geo может брать адрес из переменной.
4929        Спасибо Андрею Нигматулину.
4930 
4931     *) Добавление: теперь модификатор location'а можно указывать без пробела
4932        перед названием.
4933 
4934     *) Добавление: переменная $upstream_response_length.
4935 
4936     *) Исправление: теперь директива add_header не добавляет пустое
4937        значение.
4938 
4939     *) Исправление: при запросе файла нулевой длины nginx закрывал
4940        соединение, ничего не передав; ошибка появилась в 0.7.25.
4941 
4942     *) Исправление: метод MOVE не мог перемещать файл в несуществующий
4943        каталог.
4944 
4945     *) Исправление: если в сервере не был описан ни один именованный
4946        location, но такой location использовался в директиве error_page, то
4947        в рабочем процессе происходил segmentation fault.
4948        Спасибо Сергею Боченкову.
4949 
4950 
4951 Изменения в nginx 0.7.26                                          08.12.2008
4952 
4953     *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
4954 
4955 
4956 Изменения в nginx 0.7.25                                          08.12.2008
4957 
4958     *) Изменение: в обработке подзапросов.
4959 
4960     *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
4961        заголовке запроса.
4962 
4963     *) Исправление: теперь директивы limit_req и limit_conn указывают
4964        причину запрета запроса.
4965 
4966     *) Исправление: в параметре delete директивы geo.
4967 
4968 
4969 Изменения в nginx 0.7.24                                          01.12.2008
4970 
4971     *) Добавление: директива if_modified_since.
4972 
4973     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
4974        ответом сервер передавал много сообщений в stderr.
4975 
4976     *) Исправление: переменные "$cookie_..." не работали в SSI and в
4977        перловом модуле.
4978 
4979 
4980 Изменения в nginx 0.7.23                                          27.11.2008
4981 
4982     *) Добавление: параметры delete и ranges в директиве geo.
4983 
4984     *) Добавление: ускорение загрузки geo-базы с большим числом значений.
4985 
4986     *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
4987 
4988 
4989 Изменения в nginx 0.7.22                                          20.11.2008
4990 
4991     *) Добавление: параметр none в директиве smtp_auth.
4992        Спасибо Максиму Дунину.
4993 
4994     *) Добавление: переменные "$cookie_...".
4995 
4996     *) Исправление: директива directio не работала с файловой системой XFS.
4997 
4998     *) Исправление: resolver не понимал большие DNS-ответы.
4999        Спасибо Zyb.
5000 
5001 
5002 Изменения в nginx 0.7.21                                          11.11.2008
5003 
5004     *) Изменения в модуле ngx_http_limit_req_module.
5005 
5006     *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
5007        Спасибо Денису Латыпову.
5008 
5009     *) Изменение: совместимость с glibc 2.3.
5010        Спасибо Eric Benson и Максиму Дунину.
5011 
5012     *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
5013        ошибка появилась в 0.7.6.
5014 
5015 
5016 Изменения в nginx 0.7.20                                          10.11.2008
5017 
5018     *) Изменения в модуле ngx_http_gzip_filter_module.
5019 
5020     *) Добавление: модуль ngx_http_limit_req_module.
5021 
5022     *) Исправление: на платформах sparc и ppc рабочие процессы могли
5023        выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
5024        Спасибо Максиму Дунину.
5025 
5026     *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
5027        работали; ошибка появилась в 0.7.12.
5028 
5029     *) Исправление: при использовании HTTPS запросы могли завершаться с
5030        ошибкой "bad write retry".
5031 
5032     *) Исправление: модуль ngx_http_secure_link_module не работал внутри
5033        location'ов с именами меньше 3 символов.
5034 
5035     *) Исправление: переменная $server_addr могла не иметь значения.
5036 
5037 
5038 Изменения в nginx 0.7.19                                          13.10.2008
5039 
5040     *) Исправление: обновление номера версии.
5041 
5042 
5043 Изменения в nginx 0.7.18                                          13.10.2008
5044 
5045     *) Изменение: директива underscores_in_headers; теперь nginx по
5046        умолчанию не разрешает подчёркивания в именах строк в заголовке
5047        запроса клиента.
5048 
5049     *) Добавление: модуль ngx_http_secure_link_module.
5050 
5051     *) Добавление: директива real_ip_header поддерживает любой заголовок.
5052 
5053     *) Добавление: директива log_subrequest.
5054 
5055     *) Добавление: переменная $realpath_root.
5056 
5057     *) Добавление: параметры http_502 и http_504 в директиве
5058        proxy_next_upstream.
5059 
5060     *) Исправление: параметр http_503 в директивах proxy_next_upstream или
5061        fastcgi_next_upstream не работал.
5062 
5063     *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
5064        для запросов HEAD.
5065 
5066     *) Исправление: теперь accept-лимит зависит от числа worker_connections.
5067 
5068 
5069 Изменения в nginx 0.7.17                                          15.09.2008
5070 
5071     *) Добавление: директива directio теперь работает на Linux.
5072 
5073     *) Добавление: переменная $pid.
5074 
5075     *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
5076        при использовании open_file_cache.
5077 
5078     *) Исправление: access_log с переменными не работал на Linux; ошибка
5079        появилась в 0.7.7.
5080 
5081     *) Исправление: модуль ngx_http_charset_module не понимал название
5082        кодировки в кавычках, полученное от бэкенда.
5083 
5084 
5085 Изменения в nginx 0.7.16                                          08.09.2008
5086 
5087     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
5088        появилась в 0.7.15.
5089 
5090 
5091 Изменения в nginx 0.7.15                                          08.09.2008
5092 
5093     *) Добавление: модуль ngx_http_random_index_module.
5094 
5095     *) Добавление: директива directio оптимизирована для запросов файлов,
5096        начинающихся с произвольной позиции.
5097 
5098     *) Добавление: директива directio при необходимости запрещает
5099        использование sendfile.
5100 
5101     *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
5102        заголовке запроса клиента.
5103 
5104 
5105 Изменения в nginx 0.7.14                                          01.09.2008
5106 
5107     *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
5108        имеют значений по умолчанию.
5109 
5110     *) Добавление: директива listen поддерживает параметр ssl.
5111 
5112     *) Добавление: теперь при переконфигурации nginx учитывает изменение
5113        временной зоны на FreeBSD и Linux.
5114 
5115     *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
5116        прочие, не устанавливались, если сервером по умолчанию был не первый
5117        сервер.
5118 
5119     *) Исправление: при использовании в качестве аргументов части URI,
5120        выделенного с помощью директивы rewrite, эти аргументы не
5121        экранировались.
5122 
5123     *) Исправление: улучшения тестирования правильности конфигурационного
5124        файла.
5125 
5126 
5127 Изменения в nginx 0.7.13                                          26.08.2008
5128 
5129     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
5130        в 0.7.12.
5131 
5132 
5133 Изменения в nginx 0.7.12                                          26.08.2008
5134 
5135     *) Добавление: директива server_name поддерживает пустое имя "".
5136 
5137     *) Добавление: директива gzip_disable поддерживает специальную маску
5138        msie6.
5139 
5140     *) Исправление: при использовании параметра max_fails=0 в upstream'е с
5141        несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
5142        Спасибо Максиму Дунину.
5143 
5144     *) Исправление: при перенаправлении запроса с помощью директивы
5145        error_page терялось тело запроса.
5146 
5147     *) Исправление: при перенаправлении запроса с методом HEAD с помощью
5148        директивы error_page возвращался полный ответ.
5149 
5150     *) Исправление: метод $r->header_in() не возвращал значения строк
5151        "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
5152        появилась в 0.7.0.
5153 
5154 
5155 Изменения в nginx 0.7.11                                          18.08.2008
5156 
5157     *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
5158        MIME-типом text/css.
5159 
5160     *) Добавление: теперь nginx возвращает код 405 для метода POST при
5161        запросе статического файла, только если файл существует.
5162 
5163     *) Добавление: директива proxy_ssl_session_reuse.
5164 
5165     *) Исправление: после перенаправления запроса с помощью
5166        "X-Accel-Redirect" директива proxy_pass без URI могла использовать
5167        оригинальный запрос.
5168 
5169     *) Исправление: если у каталога были права доступа только на поиск
5170        файлов и первый индексный файл отсутствовал, то nginx возвращал
5171        ошибку 500.
5172 
5173     *) Исправление: ошибок во вложенных location'ах; ошибки появились в
5174        0.7.1.
5175 
5176 
5177 Изменения в nginx 0.7.10                                          13.08.2008
5178 
5179     *) Исправление: ошибок в директивах addition_types, charset_types,
5180        gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
5181        появились в 0.7.9.
5182 
5183     *) Исправление: рекурсивной error_page для 500 ошибки.
5184 
5185     *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
5186        не для всего keepalive соединения, а для каждого запроса по этому
5187        соединению.
5188 
5189 
5190 Изменения в nginx 0.7.9                                           12.08.2008
5191 
5192     *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
5193        следующими MIME-типами: text/html, text/css, text/xml, text/plain,
5194        text/vnd.wap.wml, application/x-javascript и application/rss+xml.
5195 
5196     *) Добавление: директивы charset_types и addition_types.
5197 
5198     *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
5199        используют хэш.
5200 
5201     *) Добавление: модуль ngx_cpp_test_module.
5202 
5203     *) Добавление: директива expires поддерживает суточное время.
5204 
5205     *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
5206        Спасибо Денису Латыпову и Максиму Дунину.
5207 
5208     *) Исправление: директива log_not_found не работала при поиске индексных
5209        файлов.
5210 
5211     *) Исправление: HTTPS-соединения могли зависнуть, если использовались
5212        методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
5213 
5214     *) Исправление: если в директивах server_name, valid_referers и map
5215        использовалась маска вида "*.domain.tld" и при этом полное имя вида
5216        "domain.tld" не было описано, то это имя попадало под маску; ошибка
5217        появилась в 0.3.18.
5218 
5219 
5220 Изменения в nginx 0.7.8                                           04.08.2008
5221 
5222     *) Добавление: модуль ngx_http_xslt_module.
5223 
5224     *) Добавление: переменные "$arg_...".
5225 
5226     *) Добавление: поддержка directio в Solaris.
5227        Спасибо Ivan Debnar.
5228 
5229     *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
5230        в заголовке ответа без строки статуса, то nginx использует код
5231        статуса 302.
5232        Спасибо Максиму Дунину.
5233 
5234 
5235 Изменения в nginx 0.7.7                                           30.07.2008
5236 
5237     *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
5238        временной.
5239 
5240     *) Изменение: значением переменной $ssl_client_cert теперь является
5241        сертификат, перед каждой строкой которого, кроме первой, вставляется
5242        символ табуляции; неизменённый сертификат доступен через переменную
5243        $ssl_client_raw_cert.
5244 
5245     *) Добавление: параметр ask директивы ssl_verify_client.
5246 
5247     *) Добавление: улучшения в обработке byte-range.
5248        Спасибо Максиму Дунину.
5249 
5250     *) Добавление: директива directio.
5251        Спасибо Jiang Hong.
5252 
5253     *) Добавление: поддержка sendfile() в MacOSX 10.5.
5254 
5255     *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
5256        делается сравнение без учёта регистра символов; однако, сравнение
5257        ограничено только однобайтными locale'ями.
5258 
5259     *) Исправление: соединения почтового прокси-сервера зависали в режиме
5260        SSL, если использовались методы select, poll или /dev/poll.
5261 
5262     *) Исправление: ошибки при использовании кодировки UTF-8 в
5263        ngx_http_autoindex_module.
5264 
5265 
5266 Изменения в nginx 0.7.6                                           07.07.2008
5267 
5268     *) Исправление: теперь при использовании переменных в директиве
5269        access_log всегда проверяется существовании root'а для запроса.
5270 
5271     *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
5272        значений в аргументах запроса.
5273 
5274 
5275 Изменения в nginx 0.7.5                                           01.07.2008
5276 
5277     *) Исправления в поддержке переменных в директиве access_log; ошибки
5278        появились в 0.7.4.
5279 
5280     *) Исправление: nginx не собирался с параметром
5281        --without-http_gzip_module; ошибка появилась в 0.7.3.
5282        Спасибо Кириллу Коринскому.
5283 
5284     *) Исправление: при совместном использовании sub_filter и SSI ответы
5285        могли передаваться неверно.
5286 
5287 
5288 Изменения в nginx 0.7.4                                           30.06.2008
5289 
5290     *) Добавление: директива access_log поддерживает переменные.
5291 
5292     *) Добавление: директива open_log_file_cache.
5293 
5294     *) Добавление: ключ -g.
5295 
5296     *) Добавление: поддержка строки "Expect" в заголовке запроса.
5297 
5298     *) Исправление: большие включения в SSI могли передавались не полностью.
5299 
5300 
5301 Изменения в nginx 0.7.3                                           23.06.2008
5302 
5303     *) Изменение: MIME-тип для расширения rss изменён на
5304        "application/rss+xml".
5305 
5306     *) Изменение: теперь директива "gzip_vary on" выдаёт строку
5307        "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
5308 
5309     *) Добавление: теперь при использовании протокола "https://" в директиве
5310        rewrite автоматически делается редирект.
5311 
5312     *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
5313        ошибка появилась в 0.6.9.
5314 
5315 
5316 Изменения в nginx 0.7.2                                           16.06.2008
5317 
5318     *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
5319 
5320     *) Добавление: директива ssl_dhparam.
5321 
5322     *) Добавление: переменная $ssl_client_cert.
5323        Спасибо Manlio Perillo.
5324 
5325     *) Исправление: после изменения URI с помощью директивы rewrite nginx не
5326        искал новый location; ошибка появилась в 0.7.1.
5327        Спасибо Максиму Дунину.
5328 
5329     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
5330        в 0.7.1.
5331 
5332     *) Исправление: при редиректе запроса к каталогу с добавлением слэша
5333        nginx не добавлял аргументы из оригинального запроса.
5334 
5335 
5336 Изменения в nginx 0.7.1                                           26.05.2008
5337 
5338     *) Изменение: теперь поиск location'а делается с помощью дерева.
5339 
5340     *) Изменение: директива optimize_server_names упразднена в связи с
5341        появлением директивы server_name_in_redirect.
5342 
5343     *) Изменение: некоторые давно устаревшие директивы больше не
5344        поддерживаются.
5345 
5346     *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
5347        параметр используется по умолчанию.
5348        Спасибо Rob Mueller.
5349 
5350     *) Исправление: рабочие процессы могли не реагировать на сигналы
5351        переконфигурации и ротации логов.
5352 
5353     *) Исправление: nginx не собирался на последних Fedora 9 Linux.
5354        Спасибо Roxis.
5355 
5356 
5357 Изменения в nginx 0.7.0                                           19.05.2008
5358 
5359     *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
5360        записываются в виде \xXX.
5361        Спасибо Максиму Дунину.
5362 
5363     *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
5364        запроса.
5365 
5366     *) Добавление: директива expires поддерживает флаг modified.
5367 
5368     *) Добавление: переменные $uid_got и $uid_set можно использовать на
5369        любой стадии обработки запроса.
5370 
5371     *) Добавление: переменная $hostname.
5372        Спасибо Андрею Нигматулину.
5373 
5374     *) Добавление: поддержка DESTDIR.
5375        Спасибо Todd A. Fisher и Andras Voroskoi.
5376 
5377     *) Исправление: при использовании keepalive на Linux в рабочем процессе
5378        мог произойти segmentation fault.
5379 
5380 
5381 Изменения в nginx 0.6.31                                          12.05.2008
5382 
5383     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
5384        заголовка ответа была в конце записи FastCGI; ошибка появилась в
5385        0.6.2.
5386        Спасибо Сергею Серову.
5387 
5388     *) Исправление: при удалении файла и использовании директивы
5389        open_file_cache_errors off в рабочем процессе мог произойти
5390        segmentation fault.
5391 
5392 
5393 Изменения в nginx 0.6.30                                          29.04.2008
5394 
5395     *) Изменение: теперь, если маске, заданной в директиве include, не
5396        соответствует ни один файл, то nginx не выдаёт ошибку.
5397 
5398     *) Добавление: теперь время в директивах можно задавать без пробела,
5399        например, "1h50m".
5400 
5401     *) Исправление: утечек памяти, если директива ssl_verify_client имела
5402        значение on.
5403        Спасибо Chavelle Vincent.
5404 
5405     *) Исправление: директива sub_filter могла вставлять заменяемый текст в
5406        вывод.
5407 
5408     *) Исправление: директива error_page не воспринимала параметры в
5409        перенаправляемом URI.
5410 
5411     *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
5412        в бинарном режиме.
5413 
5414     *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
5415        0.6.15.
5416 
5417 
5418 Изменения в nginx 0.6.29                                          18.03.2008
5419 
5420     *) Добавление: модуль ngx_google_perftools_module.
5421 
5422     *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
5423        платформах; ошибка появилась в 0.6.27.
5424 
5425 
5426 Изменения в nginx 0.6.28                                          13.03.2008
5427 
5428     *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
5429 
5430 
5431 Изменения в nginx 0.6.27                                          12.03.2008
5432 
5433     *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
5434        rtsig.
5435 
5436     *) Изменение: теперь при перенаправлении запроса в именованный location
5437        с помощью директивы error_page метод запроса не изменяется.
5438 
5439     *) Добавление: директивы resolver и resolver_timeout в SMTP
5440        прокси-сервере.
5441 
5442     *) Добавление: директива post_action поддерживает именованные
5443        location'ы.
5444 
5445     *) Исправление: при перенаправлении запроса из location'а c обработчиком
5446        proxy, FastCGI или memcached в именованный location со статическим
5447        обработчиком в рабочем процессе происходил segmentation fault.
5448 
5449     *) Исправление: браузеры не повторяли SSL handshake, если при первом
5450        handshake не оказалось правильного клиентского сертификата.
5451        Спасибо Александру Инюхину.
5452 
5453     *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
5454        error_page без изменения кода ошибки nginx пытался выделить очень
5455        много памяти.
5456 
5457     *) Исправление: утечки памяти в долгоживущих небуфферизированных
5458        соединениях.
5459 
5460     *) Исправление: утечки памяти в resolver'е.
5461 
5462     *) Исправление: при перенаправлении запроса из location'а c обработчиком
5463        proxy в другой location с обработчиком proxy в рабочем процессе
5464        происходил segmentation fault.
5465 
5466     *) Исправление: ошибки в кэшировании переменных $proxy_host и
5467        $proxy_port.
5468        Спасибо Сергею Боченкову.
5469 
5470     *) Исправление: директива proxy_pass с переменными использовала порт,
5471        описанной в другой директиве proxy_pass без переменных, но с таким же
5472        именем хоста.
5473        Спасибо Сергею Боченкову.
5474 
5475     *) Исправление: во время переконфигурации на некоторых 64-битном
5476        платформах в лог записывался alert "sendmsg() failed (9: Bad file
5477        descriptor)".
5478 
5479     *) Исправление: при повторном использовании в SSI пустого block'а в
5480        качестве заглушки в рабочем процессе происходил segmentation fault.
5481 
5482     *) Исправление: ошибки при копировании части URI, содержащего
5483        экранированные символы, в аргументы.
5484 
5485 
5486 Изменения в nginx 0.6.26                                          11.02.2008
5487 
5488     *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
5489        ответа.
5490 
5491     *) Исправление: при использовании большого значения в директиве expires
5492        в рабочем процессе происходил segmentation fault.
5493        Спасибо Joaquin Cuenca Abela.
5494 
5495     *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
5496        Спасибо Геннадию Махомеду.
5497 
5498     *) Исправление: в проксированных подзапросах и подзапросах к
5499        FastCGI-серверу вместо метода GET использовался оригинальный метод
5500        клиента.
5501 
5502     *) Исправление: утечки сокетов в режиме HTTPS при использовании
5503        отложенного accept'а.
5504        Спасибо Ben Maurer.
5505 
5506     *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
5507        (SSL: )"; ошибка появилась в 0.6.23.
5508 
5509     *) Исправление: при использовании HTTPS запросы могли завершаться с
5510        ошибкой "bad write retry"; ошибка появилась в 0.6.23.
5511 
5512 
5513 Изменения в nginx 0.6.25                                          08.01.2008
5514 
5515     *) Изменение: вместо специального параметра "*" в директиве server_name
5516        теперь используется директива server_name_in_redirect.
5517 
5518     *) Изменение: в качестве основного имени в директиве server_name теперь
5519        можно использовать имена с масками и регулярными выражениями.
5520 
5521     *) Изменение: директива satisfy_any заменена директивой satisfy.
5522 
5523     *) Изменение: после переконфигурации старые рабочие процесс могли сильно
5524        нагружать процессор при запуске под Linux OpenVZ.
5525 
5526     *) Добавление: директива min_delete_depth.
5527 
5528     *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
5529 
5530     *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
5531        модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
5532 
5533     *) Исправление: утечки сокетов в режиме HTTPS при использовании
5534        отложенного accept'а.
5535        Спасибо Ben Maurer.
5536 
5537     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
5538        в 0.6.23.
5539 
5540 
5541 Изменения в nginx 0.6.24                                          27.12.2007
5542 
5543     *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
5544        segmentation fault; ошибка появилась в 0.6.23.
5545 
5546 
5547 Изменения в nginx 0.6.23                                          27.12.2007
5548 
5549     *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
5550        параметр используется по умолчанию.
5551 
5552     *) Изменение: директива open_file_cache_retest переименована в
5553        open_file_cache_valid.
5554 
5555     *) Добавление: директива open_file_cache_min_uses.
5556 
5557     *) Добавление: модуль ngx_http_gzip_static_module.
5558 
5559     *) Добавление: директива gzip_disable.
5560 
5561     *) Добавление: директиву memcached_pass можно использовать внутри блока
5562        if.
5563 
5564     *) Исправление: если внутри одного location'а использовались директивы
5565        "memcached_pass" и "if", то в рабочем процессе происходил
5566        segmentation fault.
5567 
5568     *) Исправление: если при использовании директивы satisfy_any on" были
5569        заданы директивы не всех модулей доступа, то заданные директивы не
5570        проверялись.
5571 
5572     *) Исправление: параметры, заданные регулярным выражением в директиве
5573        valid_referers, не наследовалась с предыдущего уровня.
5574 
5575     *) Исправление: директива post_action не работала, если запрос
5576        завершался с кодом 499.
5577 
5578     *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
5579        Спасибо Ben Maurer.
5580 
5581     *) Исправление: STARTTLS в режиме SMTP не работал.
5582        Спасибо Олегу Мотиенко.
5583 
5584     *) Исправление: при использовании HTTPS запросы могли завершаться с
5585        ошибкой "bad write retry"; ошибка появилась в 0.5.13.
5586 
5587 
5588 Изменения в nginx 0.6.22                                          19.12.2007
5589 
5590     *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
5591        значения, скопированные в память, выделенную perl'ом.
5592 
5593     *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
5594        использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
5595        время переконфигурации основной процесс аварийно выходил; ошибка
5596        появилась в 0.5.9.
5597        Спасибо Борису Жмурову.
5598 
5599     *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
5600        неверные результаты выделения в регулярных выражениях.
5601 
5602     *) Исправление: если метод $r->has_request_body() вызывался для запроса,
5603        у которого небольшое тело запроса было уже полностью получено, то в
5604        рабочем процессе происходил segmentation fault.
5605 
5606     *) Исправление: large_client_header_buffers не освобождались перед
5607        переходом в состояние keep-alive.
5608        Спасибо Олександру Штепе.
5609 
5610     *) Исправление: в переменной $upstream_addr не записывался последний
5611        адрес; ошибка появилась в 0.6.18.
5612 
5613     *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
5614        теперь она возвращает ошибку 502, которую можно направить на
5615        следующий сервер с помощью "fastcgi_next_upstream invalid_header".
5616 
5617     *) Исправление: при использовании директивы fastcgi_catch_stderr в
5618        основном процессе происходил segmentation fault; ошибка появилась в
5619        0.6.10.
5620        Спасибо Manlio Perillo.
5621 
5622 
5623 Изменения в nginx 0.6.21                                          03.12.2007
5624 
5625     *) Изменение: если в значениях переменных директивы proxy_pass
5626        используются только IP-адреса, то указывать resolver не нужно.
5627 
5628     *) Исправление: при использовании директивы proxy_pass c URI-частью в
5629        рабочем процессе мог произойти segmentation fault; ошибка появилась в
5630        0.6.19.
5631 
5632     *) Исправление: если resolver использовался на платформах, не
5633        поддерживающих метод kqueue, то nginx выдавал alert "name is out of
5634        response".
5635        Спасибо Андрею Нигматулину.
5636 
5637     *) Исправление: При использовании переменной $server_protocol в
5638        FastCGI-параметрах и запросе, длина которого была близка к значению
5639        директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
5640        the request record is too big".
5641 
5642     *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
5643        nginx возвращал обычный ответ.
5644 
5645 
5646 Изменения в nginx 0.6.20                                          28.11.2007
5647 
5648     *) Исправление: при использовании директивы proxy_pass c URI-частью в
5649        рабочем процессе мог произойти segmentation fault; ошибка появилась в
5650        0.6.19.
5651 
5652 
5653 Изменения в nginx 0.6.19                                          27.11.2007
5654 
5655     *) Исправление: версия 0.6.18 не собиралась.
5656 
5657 
5658 Изменения в nginx 0.6.18                                          27.11.2007
5659 
5660     *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
5661        процесса добавляет микросекунды на время старта.
5662 
5663     *) Изменение: в error_log теперь записывается полная строка запроса
5664        вместо только URI.
5665 
5666     *) Добавление: директива proxy_pass поддерживает переменные.
5667 
5668     *) Добавление: директивы resolver и resolver_timeout.
5669 
5670     *) Добавление: теперь директива "add_header last-modified ''" удаляет в
5671        заголовке ответа строку "Last-Modified".
5672 
5673     *) Исправление: директива limit_rate не позволяла передавать на полной
5674        скорости, даже если был указан очень большой лимит.
5675 
5676 
5677 Изменения в nginx 0.6.17                                          15.11.2007
5678 
5679     *) Добавление: поддержка строки "If-Range" в заголовке запроса.
5680        Спасибо Александру Инюхину.
5681 
5682     *) Исправление: при использовании директивы msie_refresh повторно
5683        экранировались уже экранированные символы; ошибка появилась в 0.6.4.
5684 
5685     *) Исправление: директива autoindex не работала при использовании "alias
5686        /".
5687 
5688     *) Исправление: при использовании подзапросов в рабочем процессе мог
5689        произойти segmentation fault.
5690 
5691     *) Исправление: при использовании SSL и gzip большие ответы могли
5692        передаваться не полностью.
5693 
5694     *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
5695        то переменная $status была равна 0.
5696 
5697 
5698 Изменения в nginx 0.6.16                                          29.10.2007
5699 
5700     *) Изменение: теперь на Linux используется uname(2) вместо procfs.
5701        Спасибо Илье Новикову.
5702 
5703     *) Исправление: если в директиве error_page использовался символ "?", то
5704        он экранировался при проксировании запроса; ошибка появилась в
5705        0.6.11.
5706 
5707     *) Исправление: совместимость с mget.
5708 
5709 
5710 Изменения в nginx 0.6.15                                          22.10.2007
5711 
5712     *) Добавление: совместимость с Cygwin.
5713        Спасибо Владимиру Кутакову.
5714 
5715     *) Добавление: директива merge_slashes.
5716 
5717     *) Добавление: директива gzip_vary.
5718 
5719     *) Добавление: директива server_tokens.
5720 
5721     *) Исправление: nginx не раскодировал URI в команде SSI include.
5722 
5723     *) Исправление: при использовании переменной в директивах charset или
5724        source_charset на старте или во время переконфигурации происходил
5725        segmentation fault,
5726 
5727     *) Исправление: nginx возвращал ошибку 400 на запросы вида
5728        "GET http://www.domain.com HTTP/1.0".
5729        Спасибо James Oakley.
5730 
5731     *) Исправление: после перенаправления запроса с телом запроса с помощью
5732        директивы error_page nginx пытался снова прочитать тело запроса;
5733        ошибка появилась в 0.6.7.
5734 
5735     *) Исправление: в рабочем процессе происходил segmentation fault, если у
5736        сервера, обрабатывающему запрос, не был явно определён server_name;
5737        ошибка появилась в 0.6.7.
5738 
5739 
5740 Изменения в nginx 0.6.14                                          15.10.2007
5741 
5742     *) Изменение: теперь по умолчанию команда SSI echo использует
5743        кодирование entity.
5744 
5745     *) Добавление: параметр encoding в команде SSI echo.
5746 
5747     *) Добавление: директиву access_log можно использовать внутри блока
5748        limit_except.
5749 
5750     *) Исправление: если все сервера апстрима оказывались недоступными, то
5751        до восстановления работоспособности у всех серверов вес становился
5752        равным одному; ошибка появилась в 0.6.6.
5753 
5754     *) Исправление: при использовании переменных $date_local и $date_gmt вне
5755        модуля ngx_http_ssi_filter_module в рабочем процессе происходил
5756        segmentation fault.
5757 
5758     *) Исправление: при использовании включённом отладочном логе в рабочем
5759        процессе мог произойти segmentation fault.
5760        Спасибо Андрею Нигматулину.
5761 
5762     *) Исправление: ngx_http_memcached_module не устанавливал
5763        $upstream_response_time.
5764        Спасибо Максиму Дунину.
5765 
5766     *) Исправление: рабочий процесс мог зациклиться при использовании
5767        memcached.
5768 
5769     *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
5770        строке "Connection" в заголовке запроса только, если они были в
5771        нижнем регистре; ошибка появилась в 0.6.11.
5772 
5773     *) Исправление: sub_filter не работал с пустой строкой замены.
5774 
5775     *) Исправление: в парсинге sub_filter.
5776 
5777 
5778 Изменения в nginx 0.6.13                                          24.09.2007
5779 
5780     *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
5781        использовался autoindex
5782        Спасибо Arkadiusz Patyk.
5783 
5784 
5785 Изменения в nginx 0.6.12                                          21.09.2007
5786 
5787     *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
5788        и smtp.
5789 
5790     *) Добавление: параметры конфигурации --without-mail_pop3_module,
5791        --without-mail_imap_module и --without-mail_smtp_module.
5792 
5793     *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
5794        ngx_mail_smtp_module.
5795 
5796     *) Исправление: wildcard в конце имени сервера не работали; ошибка
5797        появилась в 0.6.9.
5798 
5799     *) Исправление: при использовании разделяемой библиотеки PCRE,
5800        расположенной в нестандартном месте, nginx не запускался на Solaris.
5801 
5802     *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
5803        скрывали строки заголовка ответа с именем больше 32 символов.
5804        Спасибо Manlio Perillo.
5805 
5806 
5807 Изменения в nginx 0.6.11                                          11.09.2007
5808 
5809     *) Исправление: счётчик активных соединений всегда рос при использовании
5810        почтового прокси-сервера.
5811 
5812     *) Исправление: если бэкенд возвращал только заголовок ответа при
5813        небуферизированном проксировании, то nginx закрывал соединение с
5814        бэкендом по таймауту.
5815 
5816     *) Исправление: nginx не поддерживал несколько строк "Connection" в
5817        заголовке запроса.
5818 
5819     *) Исправление: если в сервере апстрима был задан max_fails, то после
5820        первой же неудачной попытки вес сервера навсегда становился равным
5821        одному; ошибка появилась в 0.6.6.
5822 
5823 
5824 Изменения в nginx 0.6.10                                          03.09.2007
5825 
5826     *) Добавление: директивы open_file_cache, open_file_cache_retest и
5827        open_file_cache_errors.
5828 
5829     *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
5830 
5831     *) Исправление: В строку заголовка ответа "Content-Type", указанную в
5832        методе $r->send_http_header(), не добавлялась кодировка, указанная в
5833        директиве charset.
5834 
5835     *) Исправление: при использовании метода /dev/poll в рабочем процессе
5836        мог произойти segmentation fault.
5837 
5838 
5839 Изменения в nginx 0.6.9                                           28.08.2007
5840 
5841     *) Исправление: рабочий процесс мог зациклиться при использовании
5842        протокола HTTPS; ошибка появилась в 0.6.7.
5843 
5844     *) Исправление: если сервер слушал на двух адресах или портах, то nginx
5845        не запускался при использовании wildcard в конце имени сервера.
5846 
5847     *) Исправление: директива ip_hash могла неверно помечать сервера как
5848        нерабочие.
5849 
5850     *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
5851 
5852 
5853 Изменения в nginx 0.6.8                                           20.08.2007
5854 
5855     *) Изменение: теперь nginx пытается установить директивы
5856        worker_priority, worker_rlimit_nofile, worker_rlimit_core,
5857        worker_rlimit_sigpending без привилегий root'а.
5858 
5859     *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
5860        запроса серверу аутентификации почтового прокси-сервера.
5861 
5862     *) Изменение: теперь nginx экранирует символ "%" в переменной
5863        $memcached_key.
5864 
5865     *) Исправление: при указании относительного пути к конфигурационному
5866        файлу в качестве параметра ключа -c nginx определял путь относительно
5867        конфигурационного префикса; ошибка появилась в 0.6.6.
5868 
5869     *) Исправление: nginx не работал на FreeBSD/sparc64.
5870 
5871 
5872 Изменения в nginx 0.6.7                                           15.08.2007
5873 
5874     *) Изменение: теперь пути, указанные в директивах include,
5875        auth_basic_user_file, perl_modules, ssl_certificate,
5876        ssl_certificate_key и ssl_client_certificate, определяются
5877        относительно каталога конфигурационного файла nginx.conf, а не
5878        относительно префикса.
5879 
5880     *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
5881 
5882     *) Изменение: для обновления на лету версий 0.1.x создан специальный
5883        сценарий make upgrade1.
5884 
5885     *) Добавление: директивы server_name и valid_referers поддерживают
5886        регулярные выражения.
5887 
5888     *) Добавление: директива server в блоке upstream поддерживает параметр
5889        backup.
5890 
5891     *) Добавление: модуль ngx_http_perl_module поддерживает метод
5892        $r->discard_request_body.
5893 
5894     *) Добавление: директива "add_header Last-Modified ..." меняет строку
5895        "Last-Modified" в заголовке ответа.
5896 
5897     *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
5898        отличным от 200, и после этого запроса соединение переходило в
5899        состояние keep-alive, то на следующий запрос nginx возвращал 400.
5900 
5901     *) Исправление: если в директиве auth_http был задан неправильный адрес,
5902        то в рабочем процессе происходил segmentation fault.
5903 
5904     *) Исправление: теперь по умолчанию nginx использует значение 511 для
5905        listen backlog на всех платформах, кроме FreeBSD.
5906        Спасибо Jiang Hong.
5907 
5908     *) Исправление: рабочий процесс мог зациклиться, если server в блоке
5909        upstream был помечен как down; ошибка появилась в 0.6.6.
5910 
5911     *) Исправление: sendfilev() в Solaris теперь не используется при
5912        передаче тела запроса FastCGI-серверу через unix domain сокет.
5913 
5914 
5915 Изменения в nginx 0.6.6                                           30.07.2007
5916 
5917     *) Добавление: параметр --sysconfdir=PATH в configure.
5918 
5919     *) Добавление: именованные location'ы.
5920 
5921     *) Добавление: переменную $args можно устанавливать с помощью set.
5922 
5923     *) Добавление: переменная $is_args.
5924 
5925     *) Исправление: равномерное распределение запросов к апстримам с
5926        большими весами.
5927 
5928     *) Исправление: если клиент в почтовом прокси-сервере закрывал
5929        соединение, то nginx мог не закрывать соединение с бэкендом.
5930 
5931     *) Исправление: при использовании одного хоста в качестве бэкендов для
5932        протоколов HTTP и HTTPS без явного указания портов, nginx использовал
5933        только один порт - 80 или 443.
5934 
5935     *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
5936        более ранними версиями; ошибка появилась в 0.6.4.
5937 
5938 
5939 Изменения в nginx 0.6.5                                           23.07.2007
5940 
5941     *) Добавление: переменная $nginx_version.
5942        Спасибо Николаю Гречуху.
5943 
5944     *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
5945        IMAP.
5946        Спасибо Максиму Дунину.
5947 
5948     *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
5949        SMTP.
5950        Спасибо Максиму Дунину.
5951 
5952     *) Исправление: теперь nginx экранирует пробел в переменной
5953        $memcached_key.
5954 
5955     *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
5956        Спасибо Jiang Hong.
5957 
5958     *) Исправление: незначительных потенциальных ошибок.
5959        Спасибо Coverity's Scan.
5960 
5961 
5962 Изменения в nginx 0.6.4                                           17.07.2007
5963 
5964     *) Безопасность: при использовании директивы msie_refresh был возможен
5965        XSS.
5966        Спасибо Максиму Богуку.
5967 
5968     *) Изменение: директивы proxy_store и fastcgi_store изменены.
5969 
5970     *) Добавление: директивы proxy_store_access и fastcgi_store_access.
5971 
5972     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
5973        Studio.
5974        Спасибо Андрею Нигматулину.
5975 
5976     *) Изменение: обход ошибки в Sun Studio 12.
5977        Спасибо Jiang Hong.
5978 
5979 
5980 Изменения в nginx 0.6.3                                           12.07.2007
5981 
5982     *) Добавление: директивы proxy_store и fastcgi_store.
5983 
5984     *) Исправление: при использовании директивы auth_http_header в рабочем
5985        процессе мог произойти segmentation fault.
5986        Спасибо Максиму Дунину.
5987 
5988     *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
5989        не был разрешён, то в рабочем процессе происходил segmentation fault.
5990 
5991     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5992        в рабочем процессе мог произойти segmentation fault.
5993 
5994     *) Исправление: в рабочем процессе мог произойти segmentation fault,
5995        если использовался метод eventport.
5996 
5997     *) Исправление: директивы proxy_ignore_client_abort и
5998        fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
5999 
6000 
6001 Изменения в nginx 0.6.2                                           09.07.2007
6002 
6003     *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
6004        nginx передавал клиенту мусор в таких заголовках.
6005 
6006 
6007 Изменения в nginx 0.6.1                                           17.06.2007
6008 
6009     *) Исправление: в парсинге SSI.
6010 
6011     *) Исправление: при использовании удалённого подзапроса в SSI
6012        последующий подзапрос локального файла мог отдаваться клиенту в
6013        неверном порядке.
6014 
6015     *) Исправление: большие включения в SSI, сохранённые во временные файлы,
6016        передавались не полностью.
6017 
6018     *) Исправление: значение perl'овой переменной $$ модуля
6019        ngx_http_perl_module было равно номеру главного процесса.
6020 
6021 
6022 Изменения в nginx 0.6.0                                           14.06.2007
6023 
6024     *) Добавление: директивы "server_name", "map", and "valid_referers"
6025        поддерживают маски вида "www.example.*".
6026 
6027 
6028 Изменения в nginx 0.5.25                                          11.06.2007
6029 
6030     *) Исправление: nginx не собирался с параметром
6031        --without-http_rewrite_module; ошибка появилась в 0.5.24.
6032 
6033 
6034 Изменения в nginx 0.5.24                                          06.06.2007
6035 
6036     *) Безопасность: директива ssl_verify_client не работала, если запрос
6037        выполнялся по протоколу HTTP/0.9.
6038 
6039     *) Исправление: при использовании сжатия часть ответа могла передаваться
6040        несжатой; ошибка появилась в 0.5.23.
6041 
6042 
6043 Изменения в nginx 0.5.23                                          04.06.2007
6044 
6045     *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
6046        Server Name Indication.
6047 
6048     *) Добавление: директива fastcgi_catch_stderr.
6049        Спасибо Николаю Гречуху, проект OWOX.
6050 
6051     *) Исправление: на Линуксе в основном процессе происходил segmentation
6052        fault, если два виртуальных сервера должны bind()ится к
6053        пересекающимся портам.
6054 
6055     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
6056        perl поддерживал потоки, то во время второй переконфигурации
6057        выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
6058 
6059     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6060 
6061 
6062 Изменения в nginx 0.5.22                                          29.05.2007
6063 
6064     *) Исправление: большое тело запроса могло не передаваться бэкенду;
6065        ошибка появилась в 0.5.21.
6066 
6067 
6068 Изменения в nginx 0.5.21                                          28.05.2007
6069 
6070     *) Исправление: если внутри сервера описано больше примерно десяти
6071        location'ов, то location'ы, заданные с помощью регулярного выражения,
6072        могли выполняться не в том, порядке, в каком они описаны.
6073 
6074     *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
6075        если 33-тий по счёту или последующий бэкенд упал.
6076        Спасибо Антону Поварову.
6077 
6078     *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
6079        произойти bus error.
6080        Спасибо Андрею Нигматулину.
6081 
6082     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6083 
6084 
6085 Изменения в nginx 0.5.20                                          07.05.2007
6086 
6087     *) Добавление: директива sendfile_max_chunk.
6088 
6089     *) Добавление: переменные "$http_...", "$sent_http_..." и
6090        "$upstream_http_..." можно менять директивой set.
6091 
6092     *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
6093        рабочем процессе мог произойти segmentation fault.
6094 
6095     *) Исправление: завершающая строка multipart range ответа передавалась
6096        неверно.
6097        Спасибо Evan Miller.
6098 
6099     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
6100        Studio.
6101        Спасибо Андрею Нигматулину.
6102 
6103     *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
6104        Спасибо Андрею Нигматулину.
6105 
6106 
6107 Изменения в nginx 0.5.19                                          24.04.2007
6108 
6109     *) Изменение: значение переменной $request_time теперь записывается с
6110        точностью до миллисекунд.
6111 
6112     *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
6113        переименован в $r->flush.
6114 
6115     *) Добавление: переменная $upstream_addr.
6116 
6117     *) Добавление: директивы proxy_headers_hash_max_size и
6118        proxy_headers_hash_bucket_size.
6119        Спасибо Володымыру Костырко.
6120 
6121     *) Исправление: при использовании sendfile и limit_rate на 64-битных
6122        платформах нельзя было передавать файлы больше 2G.
6123 
6124     *) Исправление: при использовании sendfile на 64-битном Linux нельзя
6125        было передавать файлы больше 2G.
6126 
6127 
6128 Изменения в nginx 0.5.18                                          19.04.2007
6129 
6130     *) Добавление: модуль ngx_http_sub_filter_module.
6131 
6132     *) Добавление: переменные "$upstream_http_...".
6133 
6134     *) Добавление: теперь переменные $upstream_status и
6135        $upstream_response_time содержат данные о всех обращениях к
6136        апстримам, сделанным до X-Accel-Redirect.
6137 
6138     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
6139        perl не поддерживал multiplicity, то после первой переконфигурации и
6140        после получения любого сигнала в основном процессе происходил
6141        segmentation fault; ошибка появилась в 0.5.9.
6142 
6143     *) Исправление: если perl не поддерживал multiplicity, то после
6144        переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
6145 
6146 
6147 Изменения в nginx 0.5.17                                          02.04.2007
6148 
6149     *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
6150 
6151     *) Добавление: теперь nginx поддерживает директиву include внутри блока
6152        types.
6153 
6154     *) Исправление: использование переменной $document_root в директиве root
6155        и alias запрещено: оно вызывало рекурсивное переполнение стека.
6156 
6157     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6158 
6159     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
6160        $uri) возвращали старое закэшированное значение.
6161 
6162 
6163 Изменения в nginx 0.5.16                                          26.03.2007
6164 
6165     *) Исправление: в качестве ключа для хэша в директиве ip_hash не
6166        использовалась сеть класса С.
6167        Спасибо Павлу Ярковому.
6168 
6169     *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
6170        был указан charset и строка завершалась символом ";", то в рабочем
6171        процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
6172 
6173     *) Исправление: ошибки "[alert] zero size buf" при работе с
6174        FastCGI-сервером, если тело запроса, записанное во временный файл,
6175        было кратно 32K.
6176 
6177     *) Исправление: nginx не собирался на Solaris без параметра
6178        --with-debug; ошибка появилась в 0.5.15.
6179 
6180 
6181 Изменения в nginx 0.5.15                                          19.03.2007
6182 
6183     *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
6184        SMTP-проксирование и директивы smtp_auth, smtp_capabilities и
6185        xclient.
6186        Спасибо Антону Южанинову и Максиму Дунину.
6187 
6188     *) Добавление: теперь keep-alive соединения закрываются сразу же по
6189        получении сигнала переконфигурации.
6190 
6191     *) Изменение: директивы imap и auth переименованы соответственно в mail
6192        и pop3_auth.
6193 
6194     *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
6195        был разрешён метод APOP, то в рабочем процессе происходил
6196        segmentation fault.
6197 
6198     *) Исправление: при использовании директивы starttls only в протоколе
6199        POP3 nginx разрешал аутентификацию без перехода в режим SSL.
6200 
6201     *) Исправление: рабочие процессы не выходили после переконфигурации и не
6202        переоткрывали логи, если использовался метод eventport.
6203 
6204     *) Исправление: при использовании директивы ip_hash рабочий процесс мог
6205        зациклиться.
6206 
6207     *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
6208        используются методы eventport или /dev/poll.
6209 
6210 
6211 Изменения в nginx 0.5.14                                          23.02.2007
6212 
6213     *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
6214        конфигурационного файла.
6215 
6216 
6217 Изменения в nginx 0.5.13                                          19.02.2007
6218 
6219     *) Добавление: методы COPY и MOVE.
6220 
6221     *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
6222        запросов, переданных по keep-alive соединению.
6223 
6224     *) Исправление: nginx не работал на 64-битном big-endian Linux.
6225        Спасибо Андрею Нигматулину.
6226 
6227     *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
6228        теперь сразу закрывает соединение, а не по таймауту.
6229 
6230     *) Исправление: если при использовании метода epoll клиент закрывал
6231        преждевременно соединение со своей стороны, то nginx закрывал это
6232        соединение только по истечении таймаута на передачу.
6233 
6234     *) Исправление: nginx не собирался на платформах, отличных от i386,
6235        amd64, sparc и ppc; ошибка появилась в 0.5.8.
6236 
6237 
6238 Изменения в nginx 0.5.12                                          12.02.2007
6239 
6240     *) Исправление: nginx не собирался на платформах, отличных от i386,
6241        amd64, sparc и ppc; ошибка появилась в 0.5.8.
6242 
6243     *) Исправление: при использовании временных файлов в время работы с
6244        FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
6245        ошибка появилась в 0.5.8.
6246 
6247     *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
6248        то в рабочем процессе мог произойти segmentation fault.
6249 
6250     *) Исправление: ngx_http_perl_module не собирался на Solaris.
6251 
6252 
6253 Изменения в nginx 0.5.11                                          05.02.2007
6254 
6255     *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
6256        Спасибо Chris McGrath.
6257 
6258     *) Исправление: ответ был неверным, если запрашивалось несколько
6259        диапазонов; ошибка появилась в 0.5.6.
6260 
6261     *) Исправление: директива create_full_put_path не могла создавать
6262        промежуточные каталоги, если не была установлена директива
6263        dav_access.
6264        Спасибо Evan Miller.
6265 
6266     *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
6267        записываться код "0".
6268 
6269     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
6270        произойти segmentation fault.
6271 
6272 
6273 Изменения в nginx 0.5.10                                          26.01.2007
6274 
6275     *) Исправление: во время обновления исполняемого файла новый процесс не
6276        наследовал слушающие сокеты; ошибка появилась в 0.5.9.
6277 
6278     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
6279        произойти segmentation fault; ошибка появилась в 0.5.1.
6280 
6281 
6282 Изменения в nginx 0.5.9                                           25.01.2007
6283 
6284     *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
6285        использует значение переменной $memcached_key.
6286 
6287     *) Добавление: переменная $memcached_key.
6288 
6289     *) Добавление: параметр clean в директиве client_body_in_file_only.
6290 
6291     *) Добавление: директива env.
6292 
6293     *) Добавление: директива sendfile работает внутри блока if.
6294 
6295     *) Добавление: теперь при ошибке записи в access_log nginx записывает
6296        сообщение в error_log, но не чаще одного раза в минуту.
6297 
6298     *) Исправление: директива "access_log off" не всегда запрещала запись в
6299        лог.
6300 
6301 
6302 Изменения в nginx 0.5.8                                           19.01.2007
6303 
6304     *) Исправление: если использовалась директива
6305        "client_body_in_file_only on" и тело запроса было небольшое, то мог
6306        произойти segmentation fault.
6307 
6308     *) Исправление: происходил segmentation fault, если использовались
6309        директивы "client_body_in_file_only on" и
6310        "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
6311        делался переход к следующему бэкенду.
6312 
6313     *) Исправление: если при использовании директивы "proxy_buffering off"
6314        соединение с клиентом было неактивно, то оно закрывалось по таймауту,
6315        заданному директивой send_timeout; ошибка появилась в 0.4.7.
6316 
6317     *) Исправление: если при использовании метода epoll клиент закрывал
6318        преждевременно соединение со своей стороны, то nginx закрывал это
6319        соединение только по истечении таймаута на передачу.
6320 
6321     *) Исправление: ошибки "[alert] zero size buf" при работе с
6322        FastCGI-сервером.
6323 
6324     *) Исправление ошибок в директиве limit_zone.
6325 
6326 
6327 Изменения в nginx 0.5.7                                           15.01.2007
6328 
6329     *) Добавление: оптимизация использования памяти в ssl_session_cache.
6330 
6331     *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
6332 
6333     *) Исправление: на старте или во время переконфигурации происходил
6334        segmentation fault, если директивы ssl_session_cache или limit_zone
6335        использовались на 64-битных платформах.
6336 
6337     *) Исправление: при использовании директив add_before_body или
6338        add_after_body происходил segmentation fault, если в заголовке ответа
6339        нет строки "Content-Type".
6340 
6341     *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
6342        потоков.
6343        Спасибо Дену Иванову.
6344 
6345     *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
6346 
6347 
6348 Изменения в nginx 0.5.6                                           09.01.2007
6349 
6350     *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
6351        кроме GET, HEAD и POST.
6352 
6353     *) Добавление: модуль ngx_http_limit_zone_module.
6354 
6355     *) Добавление: переменная $binary_remote_addr.
6356 
6357     *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
6358        ngx_imap_ssl_module.
6359 
6360     *) Добавление: метод DELETE поддерживает рекурсивное удаление.
6361 
6362     *) Исправление: при использовании $r->sendfile() byte-ranges
6363        передавались неверно.
6364 
6365 
6366 Изменения в nginx 0.5.5                                           24.12.2006
6367 
6368     *) Изменение: ключ -v больше не выводит информацию о компиляторе.
6369 
6370     *) Добавление: ключ -V.
6371 
6372     *) Добавление: директива worker_rlimit_core поддерживает указание
6373        размера в K, M и G.
6374 
6375     *) Исправление: модуль nginx.pm теперь может устанавливаться
6376        непривилегированным пользователем.
6377 
6378     *) Исправление: при использовании методов $r->request_body или
6379        $r->request_body_file мог произойти segmentation fault.
6380 
6381     *) Исправление: ошибок, специфичных для платформы ppc.
6382 
6383 
6384 Изменения в nginx 0.5.4                                           15.12.2006
6385 
6386     *) Добавление: директиву perl можно использовать внутри блока
6387        limit_except.
6388 
6389     *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
6390        заголовке запроса для метода DELETE.
6391 
6392     *) Исправление: при использовании одного параметра в директиве
6393        dav_access nginx мог сообщить об ошибке в конфигурации.
6394 
6395     *) Исправление: при использовании переменной $host мог произойти
6396        segmentation fault; ошибка появилась в 0.4.14.
6397 
6398 
6399 Изменения в nginx 0.5.3                                           13.12.2006
6400 
6401     *) Добавление: модуль ngx_http_perl_module поддерживает методы
6402        $r->status, $r->log_error и $r->sleep.
6403 
6404     *) Добавление: метод $r->variable поддерживает переменные, неописанные в
6405        конфигурации nginx'а.
6406 
6407     *) Исправление: метод $r->has_request_body не работал.
6408 
6409 
6410 Изменения в nginx 0.5.2                                           11.12.2006
6411 
6412     *) Исправление: если в директивах proxy_pass использовалось имя,
6413        указанное в upstream, то nginx пытался найти IP-адрес этого имени;
6414        ошибка появилась в 0.5.1.
6415 
6416 
6417 Изменения в nginx 0.5.1                                           11.12.2006
6418 
6419     *) Исправление: директива post_action могла не работать после неудачного
6420        завершения запроса.
6421 
6422     *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
6423        Спасибо Bron Gondwana.
6424 
6425     *) Исправление: при указании в директиве fastcgi_pass имени описанного
6426        upstream'а выдавалось сообщение "no port in upstream"; ошибка
6427        появилась в 0.5.0.
6428 
6429     *) Исправление: если в директивах proxy_pass и fastcgi_pass
6430        использовались одинаковых имена серверов, но с разными портами, то
6431        эти директивы использовали первый описанный порт; ошибка появилась в
6432        0.5.0.
6433 
6434     *) Исправление: если в директивах proxy_pass и fastcgi_pass
6435        использовались unix domain сокеты, то эти директивы использовали
6436        первый описанный сокет; ошибка появилась в 0.5.0.
6437 
6438     *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
6439        если он был указан в последней строке файла паролей и после пароля не
6440        было перевода строки, возврата каретки или символа ":".
6441 
6442     *) Исправление: переменная $upstream_response_time могла быть равна
6443        "0.000", хотя время обработки было больше 1 миллисекунды.
6444 
6445 
6446 Изменения в nginx 0.5.0                                           04.12.2006
6447 
6448     *) Изменение: параметры в виде "%name" в директиве log_format больше не
6449        поддерживаются.
6450 
6451     *) Изменение: директивы proxy_upstream_max_fails,
6452        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
6453        fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
6454        memcached_upstream_fail_timeout больше не поддерживаются.
6455 
6456     *) Добавление: директива server в блоке upstream поддерживает параметры
6457        max_fails, fail_timeout и down.
6458 
6459     *) Добавление: директива ip_hash в блоке upstream.
6460 
6461     *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
6462        сервера аутентификации IMAP/POP3 прокси.
6463 
6464     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
6465        появилась в 0.4.14.
6466 
6467 
6468 Изменения в nginx 0.4.14                                          27.11.2006
6469 
6470     *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
6471 
6472     *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
6473        Linux и NetBSD.
6474 
6475     *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
6476        поддержкой потоков; ошибка появилась в 0.3.38.
6477 
6478     *) Исправление: ngx_http_perl_module не работал корректно, если перл
6479        вызывался рекурсивно.
6480 
6481     *) Исправление: nginx игнорировал имя сервера в строке запроса.
6482 
6483     *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
6484        процесс мог зациклиться.
6485 
6486     *) Исправление: при изменении системного времени переменная
6487        $upstream_response_time могла быть отрицательной.
6488 
6489     *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
6490        прокси не передавался параметр Auth-Login-Attempt.
6491 
6492     *) Исправление: при ошибке соединения с сервером аутентификации
6493        IMAP/POP3 прокси мог произойти segmentation fault.
6494 
6495 
6496 Изменения в nginx 0.4.13                                          15.11.2006
6497 
6498     *) Добавление: директиву proxy_pass можно использовать внутри блока
6499        limit_except.
6500 
6501     *) Добавление: директива limit_except поддерживает все WebDAV методы.
6502 
6503     *) Исправление: при использовании директивы add_before_body без
6504        директивы add_after_body ответ передавался не полностью.
6505 
6506     *) Исправление: большое тело запроса не принималось, если использовались
6507        метод epoll и deferred accept().
6508 
6509     *) Исправление: для ответов модуля ngx_http_autoindex_module не
6510        выставлялась кодировка; ошибка появилась в 0.3.50.
6511 
6512     *) Исправление: ошибки "[alert] zero size buf" при работе с
6513        FastCGI-сервером;
6514 
6515     *) Исправление: параметр конфигурации --group= игнорировался.
6516        Спасибо Thomas Moschny.
6517 
6518     *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
6519        в 0.3.50.
6520 
6521 
6522 Изменения в nginx 0.4.12                                          31.10.2006
6523 
6524     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6525        $r->variable.
6526 
6527     *) Исправление: при включении в ответ большого статического файла с
6528        помощью SSI ответ мог передаваться не полностью.
6529 
6530     *) Исправление: nginx не убирал "#fragment" в URI.
6531 
6532 
6533 Изменения в nginx 0.4.11                                          25.10.2006
6534 
6535     *) Добавление: POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
6536 
6537     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6538        $r->allow_ranges.
6539 
6540     *) Исправление: при включённой поддержке команды APOP в POP3 прокси
6541        могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
6542 
6543 
6544 Изменения в nginx 0.4.10                                          23.10.2006
6545 
6546     *) Добавление: POP3 прокси поддерживает APOP.
6547 
6548     *) Исправление: при использовании методов select, poll и /dev/poll во
6549        время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
6550        нагружал процессор.
6551 
6552     *) Исправление: при использовании переменной $server_addr в директиве
6553        map мог произойти segmentation fault.
6554 
6555     *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
6556        для полных ответов; ошибка появилась в 0.4.7.
6557 
6558     *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
6559        0.4.9.
6560 
6561 
6562 Изменения в nginx 0.4.9                                           13.10.2006
6563 
6564     *) Добавление: параметр set в команде SSI include.
6565 
6566     *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
6567        модуля nginx.pm.
6568 
6569 
6570 Изменения в nginx 0.4.8                                           11.10.2006
6571 
6572     *) Исправление: если до команды SSI include с параметром wait
6573        выполнялась ещё одна команда SSI include, то параметр wait мог не
6574        работать.
6575 
6576     *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
6577        полных ответов.
6578        Спасибо Алексею Ковырину.
6579 
6580 
6581 Изменения в nginx 0.4.7                                           10.10.2006
6582 
6583     *) Добавление: модуль ngx_http_flv_module.
6584 
6585     *) Добавление: переменная $request_body_file.
6586 
6587     *) Добавление: директивы charset и source_charset поддерживают
6588        переменные.
6589 
6590     *) Исправление: если до команды SSI include с параметром wait
6591        выполнялась ещё одна команда SSI include, то параметр wait мог не
6592        работать.
6593 
6594     *) Исправление: при использовании директивы "proxy_buffering off" или
6595        при работе с memcached соединения могли не закрываться по таймауту.
6596 
6597     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6598        amd64, sparc64 и ppc64.
6599 
6600 
6601 Изменения в nginx 0.4.6                                           06.10.2006
6602 
6603     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6604        amd64, sparc64 и ppc64.
6605 
6606     *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
6607        chunk'ами, если длина ответа в методе
6608        $r->headers_out("Content-Length", ...) была задана текстовой строкой.
6609 
6610     *) Исправление: после перенаправления ошибки с помощью директивы
6611        error_page любая директива модуля ngx_http_rewrite_module возвращала
6612        эту ошибку; ошибка появилась в 0.4.4.
6613 
6614 
6615 Изменения в nginx 0.4.5                                           02.10.2006
6616 
6617     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
6618        в 0.4.4.
6619 
6620 
6621 Изменения в nginx 0.4.4                                           02.10.2006
6622 
6623     *) Добавление: переменная $scheme.
6624 
6625     *) Добавление: директива expires поддерживает параметр max.
6626 
6627     *) Добавление: директива include поддерживает маску "*".
6628        Спасибо Jonathan Dance.
6629 
6630     *) Исправление: директива return всегда изменяла код ответа,
6631        перенаправленного директивой error_page.
6632 
6633     *) Исправление: происходил segmentation fault, если в методе PUT
6634        передавалось тело нулевой длины.
6635 
6636     *) Исправление: при использовании переменных в директиве proxy_redirect
6637        редирект изменялся неверно.
6638 
6639 
6640 Изменения в nginx 0.4.3                                           26.09.2006
6641 
6642     *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
6643        error_page.
6644 
6645     *) Добавление: поддержка Solaris 10 event ports.
6646 
6647     *) Добавление: модуль ngx_http_browser_module.
6648 
6649     *) Исправление: при перенаправлении ошибки 400 проксированному серверу
6650        помощью директивы error_page мог произойти segmentation fault.
6651 
6652     *) Исправление: происходил segmentation fault, если в директиве
6653        proxy_pass использовался unix domain сокет; ошибка появилась в
6654        0.3.47.
6655 
6656     *) Исправление: SSI не работал с ответами memcached и
6657        небуферизированными проксированными ответами.
6658 
6659     *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
6660 
6661 
6662 Изменения в nginx 0.4.2                                           14.09.2006
6663 
6664     *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
6665        появилась в 0.4.1.
6666 
6667 
6668 Изменения в nginx 0.4.1                                           14.09.2006
6669 
6670     *) Исправление: совместимость с DragonFlyBSD.
6671        Спасибо Павлу Назарову.
6672 
6673     *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
6674        файлов больше 2G.
6675 
6676     *) Добавление: теперь на Linux nginx для статических запросов использует
6677        флаг O_NOATIME.
6678        Спасибо Yusuf Goolamabbas.
6679 
6680 
6681 Изменения в nginx 0.4.0                                           30.08.2006
6682 
6683     *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
6684        фазы init module в фазу HTTP postconfiguration.
6685 
6686     *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
6687        считывается заранее: нужно явно инициировать чтение с помощью метода
6688        $r->has_request_body.
6689 
6690     *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
6691        DECLINED.
6692 
6693     *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
6694        заголовка "Date" для метода PUT.
6695 
6696     *) Добавление: директива ssi работает внутри блока if.
6697 
6698     *) Исправление: происходил segmentation fault, если в директиве index
6699        использовалась переменные и при этом первое имя индексного файла было
6700        без переменных; ошибка появилась в 0.1.29.
6701 
6702 
6703 Изменения в nginx 0.3.61                                          28.08.2006
6704 
6705     *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
6706 
6707     *) Добавление: директива msie_refresh.
6708 
6709     *) Добавление: директива recursive_error_pages.
6710 
6711     *) Исправление: директива rewrite возвращала неправильный редирект, если
6712        редирект включал в себя выделенные закодированные символы из
6713        оригинального URI.
6714 
6715 
6716 Изменения в nginx 0.3.60                                          18.08.2006
6717 
6718     *) Исправление: во время перенаправления ошибки рабочий процесс мог
6719        зациклиться; ошибка появилась в 0.3.59.
6720 
6721 
6722 Изменения в nginx 0.3.59                                          16.08.2006
6723 
6724     *) Добавление: теперь можно делать несколько перенаправлений через
6725        директиву error_page.
6726 
6727     *) Исправление: директива dav_access не поддерживала три параметра.
6728 
6729     *) Исправление: директива error_page не изменяла строку "Content-Type"
6730        после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
6731        в 0.3.58.
6732 
6733 
6734 Изменения в nginx 0.3.58                                          14.08.2006
6735 
6736     *) Добавление: директива error_page поддерживает переменные.
6737 
6738     *) Изменение: теперь на Linux используется интерфейс procfs вместо
6739        sysctl.
6740 
6741     *) Изменение: теперь при использовании "X-Accel-Redirect" строка
6742        "Content-Type" наследуется из первоначального ответа.
6743 
6744     *) Исправление: директива error_page не перенаправляла ошибку 413.
6745 
6746     *) Исправление: завершающий "?" не удалял старые аргументы, если в
6747        переписанном URI не было новых аргументов.
6748 
6749     *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
6750 
6751 
6752 Изменения в nginx 0.3.57                                          09.08.2006
6753 
6754     *) Добавление: переменная $ssl_client_serial.
6755 
6756     *) Исправление: в операторе "!-e" в директиве if.
6757        Спасибо Андриану Буданцову.
6758 
6759     *) Исправление: при проверке клиентского сертификата nginx не передавал
6760        клиенту информацию о требуемых сертификатах.
6761 
6762     *) Исправление: переменная $document_root не поддерживала переменные в
6763        директиве root.
6764 
6765 
6766 Изменения в nginx 0.3.56                                          04.08.2006
6767 
6768     *) Добавление: директива dav_access.
6769 
6770     *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
6771        "!-e", "-x" и "!-x".
6772 
6773     *) Исправление: при записи в access_log некоторых передаваемых клиенту
6774        строк заголовков происходил segmentation fault, если запрос возвращал
6775        редирект.
6776 
6777 
6778 Изменения в nginx 0.3.55                                          28.07.2006
6779 
6780     *) Добавление: параметр stub в команде SSI include.
6781 
6782     *) Добавление: команда SSI block.
6783 
6784     *) Добавление: скрипт unicode2nginx добавлен в contrib.
6785 
6786     *) Исправление: если root был задан только переменной, то корень
6787        задавался относительно префикса сервера.
6788 
6789     *) Исправление: если в запросе был "//" или "/.", и после этого
6790        закодированные символы в виде "%XX", то проксируемый запрос
6791        передавался незакодированным.
6792 
6793     *) Исправление: метод $r->header_in("Cookie") модуля
6794        ngx_http_perl_module теперь возвращает все строки "Cookie" в
6795        заголовке запроса.
6796 
6797     *) Исправление: происходил segmentation fault, если использовался
6798        "client_body_in_file_only on" и делался переход к следующему бэкенду.
6799 
6800     *) Исправление: при некоторых условиях во время переконфигурации коды
6801        символов внутри директивы charset_map могли считаться неверными;
6802        ошибка появилась в 0.3.50.
6803 
6804 
6805 Изменения в nginx 0.3.54                                          11.07.2006
6806 
6807     *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
6808 
6809     *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
6810        memcached_next_upstream поддерживают параметр off.
6811 
6812     *) Добавление: директива debug_connection поддерживает запись адресов в
6813        формате CIDR.
6814 
6815     *) Исправление: при перекодировании ответа проксированного сервера или
6816        сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
6817        полностью.
6818 
6819     *) Исправление: переменная $upstream_response_time содержала время
6820        только первого обращения к бэкенду.
6821 
6822     *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
6823        в 0.3.53.
6824 
6825 
6826 Изменения в nginx 0.3.53                                          07.07.2006
6827 
6828     *) Изменение: директива add_header добавляет строки в ответы с кодом
6829        204, 301 и 302.
6830 
6831     *) Добавление: директива server в блоке upstream поддерживает параметр
6832        weight.
6833 
6834     *) Добавление: директива server_name поддерживает маску "*".
6835 
6836     *) Добавление: nginx поддерживает тело запроса больше 2G.
6837 
6838     *) Исправление: если при использовании "satisfy_any on" клиент успешно
6839        проходил аутентификацию, в лог всё равно записалоcь сообщение "access
6840        forbidden by rule".
6841 
6842     *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
6843        409.
6844 
6845     *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
6846        ошибку, nginx продолжал проксирование.
6847 
6848 
6849 Изменения в nginx 0.3.52                                          03.07.2006
6850 
6851     *) Изменение: восстановлено поведение модуля ngx_http_index_module для
6852        запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
6853        ошибку 405.
6854 
6855     *) Исправление: при использовании ограничения скорости рабочий процесс
6856        мог зациклиться; ошибка появилась в 0.3.37.
6857 
6858     *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
6859        "unknown charset", даже если перекодировка не требовалась; ошибка
6860        появилась в 0.3.50.
6861 
6862     *) Исправление: если в результате запроса PUT возвращался код 409, то
6863        временный файл не удалялся.
6864 
6865 
6866 Изменения в nginx 0.3.51                                          30.06.2006
6867 
6868     *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
6869        ошибка появилась в 0.3.50.
6870 
6871 
6872 Изменения в nginx 0.3.50                                          28.06.2006
6873 
6874     *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
6875        переименованы соответственно в proxy_intercept_errors и
6876        fastcgi_intercept_errors.
6877 
6878     *) Добавление: модуль ngx_http_charset_module поддерживает
6879        перекодирование из однобайтных кодировок в UTF-8 и обратно.
6880 
6881     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6882        "X-Accel-Charset" в ответе бэкенда.
6883 
6884     *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
6885        только если также использовался символ "$".
6886 
6887     *) Исправление: при некоторых условиях в SSI после вставки могла быть
6888        добавлена строка "<!--".
6889 
6890     *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
6891        то при использовании небуферизированного проксировании не закрывалось
6892        соединение с клиентом.
6893 
6894 
6895 Изменения в nginx 0.3.49                                          31.05.2006
6896 
6897     *) Исправление: в директиве set.
6898 
6899     *) Исправление: при включении в ssi двух и более подзапросов,
6900        обрабатываемых через FastCGI, вместо вывода второго и остальных
6901        подзапросов в ответ включался вывод первого подзапроса.
6902 
6903 
6904 Изменения в nginx 0.3.48                                          29.05.2006
6905 
6906     *) Изменение: теперь модуль ngx_http_charset_module работает для
6907        подзапросов, в ответах которых нет строки заголовка "Content-Type".
6908 
6909     *) Исправление: если в директиве proxy_pass не было URI, то директива
6910        "proxy_redirect default" добавляла в переписанный редирект в начало
6911        лишний слэш.
6912 
6913     *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
6914        GET, теперь это делается только для редиректов, выполняемых с помощью
6915        X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
6916        0.3.42.
6917 
6918     *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
6919        с поддержкой потоков; ошибка появилась в 0.3.46.
6920 
6921 
6922 Изменения в nginx 0.3.47                                          23.05.2006
6923 
6924     *) Добавление: директива upstream.
6925 
6926     *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
6927        всегда убирается.
6928 
6929 
6930 Изменения в nginx 0.3.46                                          11.05.2006
6931 
6932     *) Добавление: директивы proxy_hide_header, proxy_pass_header,
6933        fastcgi_hide_header и fastcgi_pass_header.
6934 
6935     *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
6936        proxy_pass_server упразднены.
6937 
6938     *) Добавление: в режиме прокси поддерживается строка заголовка
6939        "X-Accel-Buffering" в ответе бэкенда.
6940 
6941     *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
6942        ngx_http_perl_module.
6943 
6944 
6945 Изменения в nginx 0.3.45                                          06.05.2006
6946 
6947     *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
6948        ssl_client_certificate.
6949 
6950     *) Изменение: теперь переменная $request_method возвращает метод только
6951        основного запроса.
6952 
6953     *) Изменение: в таблице перекодировки koi-win изменены коды символа
6954        &deg;.
6955 
6956     *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
6957        номера.
6958 
6959     *) Исправление: если nginx распределял запросы на несколько машин, то
6960        при падении одной из них запросы, предназначенные для этой машины,
6961        перенаправлялись только на одну машину вместо того, чтобы равномерно
6962        распределяться между остальными.
6963 
6964 
6965 Изменения в nginx 0.3.44                                          04.05.2006
6966 
6967     *) Добавление: параметр wait в команде SSI include.
6968 
6969     *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
6970        белорусские символы.
6971 
6972     *) Исправление: в SSI.
6973 
6974 
6975 Изменения в nginx 0.3.43                                          26.04.2006
6976 
6977     *) Исправление: в SSI.
6978 
6979 
6980 Изменения в nginx 0.3.42                                          26.04.2006
6981 
6982     *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
6983 
6984     *) Исправление: ошибки при использовании в директиве rewrite одного и
6985        того же выделения более одного раза.
6986 
6987     *) Исправление: в лог не записывались переменные
6988        $sent_http_content_type, $sent_http_content_length,
6989        $sent_http_last_modified, $sent_http_connection,
6990        $sent_http_keep_alive и $sent_http_transfer_encoding.
6991 
6992     *) Исправление: переменная $sent_http_cache_control возвращала
6993        содержимое только одной строки "Cache-Control" в заголовке ответа.
6994 
6995 
6996 Изменения в nginx 0.3.41                                          21.04.2006
6997 
6998     *) Добавление: ключ -v.
6999 
7000     *) Исправление: при включении в SSI удалённых подзапросов мог произойти
7001        segmentation fault.
7002 
7003     *) Исправление: в обработке FastCGI.
7004 
7005     *) Исправление: если путь к перловым модулям не был указан с помощью
7006        --with-perl_modules_path=PATH или директивы perl_modules, то на
7007        старте происходил segmentation fault.
7008 
7009 
7010 Изменения в nginx 0.3.40                                          19.04.2006
7011 
7012     *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
7013 
7014     *) Добавление: директива create_full_put_path.
7015 
7016     *) Добавление: переменная $limit_rate.
7017 
7018 
7019 Изменения в nginx 0.3.39                                          17.04.2006
7020 
7021     *) Добавление: директива uninitialized_variable_warn; уровень
7022        логгирования сообщения о неинициализированной переменной понижен с
7023        уровня alert на warn.
7024 
7025     *) Добавление: директива override_charset.
7026 
7027     *) Изменение: при использовании неизвестной переменной в SSI-командах
7028        echo и if expr='$name' теперь не записывается в лог сообщение о
7029        неизвестной переменной.
7030 
7031     *) Исправление: счётчик активных соединений рос при превышении лимита
7032        соединений, заданного директивой worker_connections; ошибка появилась
7033        в 0.2.0.
7034 
7035     *) Исправление: при некоторых условия ограничение скорости соединения
7036        могло не работать; ошибка появилась в 0.3.38.
7037 
7038 
7039 Изменения в nginx 0.3.38                                          14.04.2006
7040 
7041     *) Добавление: модуль ngx_http_dav_module.
7042 
7043     *) Изменение: оптимизация модуля ngx_http_perl_module.
7044        Спасибо Сергею Скворцову.
7045 
7046     *) Добавление: модуль ngx_http_perl_module поддерживает метод
7047        $r->request_body_file.
7048 
7049     *) Добавление: директива client_body_in_file_only.
7050 
7051     *) Изменение: теперь при переполнении диска nginx пытается писать
7052        access_log'и только раз в секунду.
7053        Спасибо Антону Южанинову и Максиму Дунину.
7054 
7055     *) Исправление: теперь директива limit_rate точнее ограничивает скорость
7056        при значениях больше 100 Kbyte/s.
7057        Спасибо ForJest.
7058 
7059     *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
7060        символы "\r" и "\n" в логине и пароле в закодированном виде.
7061        Спасибо Максиму Дунину.
7062 
7063 
7064 Изменения в nginx 0.3.37                                          07.04.2006
7065 
7066     *) Добавление: директива limit_except.
7067 
7068     *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
7069        "!-f".
7070 
7071     *) Добавление: модуль ngx_http_perl_module поддерживает метод
7072        $r->request_body.
7073 
7074     *) Исправление: в модуле ngx_http_addition_filter_module.
7075 
7076 
7077 Изменения в nginx 0.3.36                                          05.04.2006
7078 
7079     *) Добавление: модуль ngx_http_addition_filter_module.
7080 
7081     *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
7082        внутри блока if.
7083 
7084     *) Добавление: директивы proxy_ignore_client_abort и
7085        fastcgi_ignore_client_abort.
7086 
7087     *) Добавление: переменная $request_completion.
7088 
7089     *) Добавление: модуль ngx_http_perl_module поддерживает методы
7090        $r->request_method и $r->remote_addr.
7091 
7092     *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
7093 
7094     *) Исправление: строка "\/" в начале выражения команды if модуля
7095        ngx_http_ssi_module воспринималась неверно.
7096 
7097     *) Исправление: в использовании регулярных выражениях в команде if
7098        модуля ngx_http_ssi_module.
7099 
7100     *) Исправление: при задании относительного пути в директивах
7101        client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
7102        perl_modules использовался каталог относительно текущего каталога, а
7103        не относительно префикса сервера.
7104 
7105 
7106 Изменения в nginx 0.3.35                                          22.03.2006
7107 
7108     *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
7109        для первой директивы listen; ошибка появилась в 0.3.31.
7110 
7111     *) Исправление: в директиве proxy_pass без URI при использовании в
7112        подзапросе.
7113 
7114 
7115 Изменения в nginx 0.3.34                                          21.03.2006
7116 
7117     *) Добавление: директива add_header поддерживает переменные.
7118 
7119 
7120 Изменения в nginx 0.3.33                                          15.03.2006
7121 
7122     *) Добавление: параметр http_503 в директивах proxy_next_upstream или
7123        fastcgi_next_upstream.
7124 
7125     *) Исправление: ngx_http_perl_module не работал со встроенным в
7126        конфигурационный файл кодом, если он не начинался сразу же с "sub".
7127 
7128     *) Исправление: в директиве post_action.
7129 
7130 
7131 Изменения в nginx 0.3.32                                          11.03.2006
7132 
7133     *) Исправление: удаление отладочного логгирования на старте и при
7134        переконфигурации; ошибка появилась в 0.3.31.
7135 
7136 
7137 Изменения в nginx 0.3.31                                          10.03.2006
7138 
7139     *) Изменение: теперь nginx передаёт неверные ответы проксированного
7140        бэкенда.
7141 
7142     *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
7143 
7144     *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
7145 
7146     *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
7147        64-битном ядре MacOSX.
7148        Спасибо Андрею Нигматулину.
7149 
7150     *) Исправление: если внутри одного сервера описаны несколько директив
7151        listen, слушающих на разных адресах, то имена серверов вида
7152        "*.domain.tld" работали только для первого адреса; ошибка появилась в
7153        0.3.18.
7154 
7155     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
7156        не передавались запросы с телом, записанным во временный файл.
7157 
7158     *) Исправление: совместимость с perl 5.8.8.
7159 
7160 
7161 Изменения в nginx 0.3.30                                          22.02.2006
7162 
7163     *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
7164        с уровня crit.
7165 
7166     *) Исправление: модуль ngx_http_perl_module не собирался без модуля
7167        ngx_http_ssi_filter_module.
7168 
7169     *) Исправление: nginx не собирался на i386 платформе, если использовался
7170        PIC; ошибка появилась в 0.3.27.
7171 
7172 
7173 Изменения в nginx 0.3.29                                          20.02.2006
7174 
7175     *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
7176        FastCGI передаёт большое количество предупреждений перед ответом.
7177 
7178     *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
7179        строка заголовка "Transfer-Encoding: chunked".
7180 
7181     *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
7182        передавал полные строки заголовка ответа в отдельных FastCGI записях.
7183 
7184     *) Исправление: если в директиве post_action был указан проксируемый
7185        URI, то он выполнялся только после успешного завершения запроса.
7186 
7187 
7188 Изменения в nginx 0.3.28                                          16.02.2006
7189 
7190     *) Добавление: директива restrict_host_names упразднена.
7191 
7192     *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
7193 
7194     *) Исправление: при некоторых условиях проксированное соединение с
7195        клиентом завершалось преждевременно.
7196        Спасибо Владимиру Шутову.
7197 
7198     *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
7199        запросов, перенаправленных с помощью строки "X-Accel-Redirect".
7200 
7201     *) Исправление: директива post_action работала только после успешного
7202        завершения запроса.
7203 
7204     *) Исправление: тело проксированного ответа, создаваемого директивой
7205        post_action, передавалось клиенту.
7206 
7207 
7208 Изменения в nginx 0.3.27                                          08.02.2006
7209 
7210     *) Изменение: директивы variables_hash_max_size и
7211        variables_hash_bucket_size.
7212 
7213     *) Добавление: переменная $body_bytes_sent доступна не только в
7214        директиве log_format.
7215 
7216     *) Добавление: переменные $ssl_protocol и $ssl_cipher.
7217 
7218     *) Добавление: определение размера строки кэша распространённых
7219        процессоров при старте.
7220 
7221     *) Добавление: директива accept_mutex теперь поддерживается посредством
7222        fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
7223 
7224     *) Добавление: директива lock_file и параметр автоконфигурации
7225        --with-lock-path=PATH.
7226 
7227     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
7228        не передавались запросы с телом.
7229 
7230 
7231 Изменения в nginx 0.3.26                                          03.02.2006
7232 
7233     *) Изменение: директива optimize_host_names переименована в
7234        optimize_server_names.
7235 
7236     *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
7237        URI основного запроса, если в директиве proxy_pass отсутствовал URI.
7238 
7239 
7240 Изменения в nginx 0.3.25                                          01.02.2006
7241 
7242     *) Исправление: при неверной конфигурации на старте или во время
7243        переконфигурации происходил segmentation fault; ошибка появилась в
7244        0.3.24.
7245 
7246 
7247 Изменения в nginx 0.3.24                                          01.02.2006
7248 
7249     *) Изменение: обход ошибки в kqueue во FreeBSD.
7250 
7251     *) Исправление: ответ, создаваемый директивой post_action, теперь не
7252        передаётся клиенту.
7253 
7254     *) Исправление: при использовании большого количества лог-файлов
7255        происходила утечка памяти.
7256 
7257     *) Исправление: внутри одного location работала только первая директива
7258        proxy_redirect.
7259 
7260     *) Исправление: на 64-битных платформах при старте мог произойти
7261        segmentation fault, если использовалось большое количество имён в
7262        директивах server_name; ошибка появилась в 0.3.18.
7263 
7264 
7265 Изменения в nginx 0.3.23                                          24.01.2006
7266 
7267     *) Добавление: директива optimize_host_names.
7268 
7269     *) Исправление: ошибки при использовании переменных в директивах path и
7270        alias.
7271 
7272     *) Исправление: модуль ngx_http_perl_module неправильно собирался на
7273        Linux и Solaris.
7274 
7275 
7276 Изменения в nginx 0.3.22                                          17.01.2006
7277 
7278     *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
7279        и $r->unescape.
7280 
7281     *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
7282        упразднён.
7283 
7284     *) Исправление: если в директиве valid_referers указаны только none или
7285        blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
7286 
7287 
7288 Изменения в nginx 0.3.21                                          16.01.2006
7289 
7290     *) Добавление: модуль ngx_http_perl_module.
7291 
7292     *) Изменение: директива valid_referers разрешает использовать рефереры
7293        совсем без URI.
7294 
7295 
7296 Изменения в nginx 0.3.20                                          11.01.2006
7297 
7298     *) Исправление: ошибки в обработке SSI.
7299 
7300     *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
7301        виде /uri?args.
7302 
7303 
7304 Изменения в nginx 0.3.19                                          28.12.2005
7305 
7306     *) Добавление: директивы path и alias поддерживают переменные.
7307 
7308     *) Изменение: теперь директива valid_referers опять учитывает URI.
7309 
7310     *) Исправление: ошибки в обработке SSI.
7311 
7312 
7313 Изменения в nginx 0.3.18                                          26.12.2005
7314 
7315     *) Добавление: директива server_names поддерживает имена вида
7316        ".domain.tld".
7317 
7318     *) Добавление: директива server_names использует хэш для имён вида
7319        "*.domain.tld" и более эффективный хэш для обычных имён.
7320 
7321     *) Изменение: директивы server_names_hash_max_size и
7322        server_names_hash_bucket_size.
7323 
7324     *) Изменение: директивы server_names_hash и server_names_hash_threshold
7325        упразднены.
7326 
7327     *) Добавление: директива valid_referers использует хэш для имён сайтов.
7328 
7329     *) Изменение: теперь директива valid_referers проверяет только имена
7330        сайтов без учёта URI.
7331 
7332     *) Исправление: некоторые имена вида ".domain.tld" неверно
7333        обрабатывались модулем ngx_http_map_module.
7334 
7335     *) Исправление: если конфигурационного файла не было, то происходил
7336        segmentation fault; ошибка появилась в 0.3.12.
7337 
7338     *) Исправление: на 64-битных платформах при старте мог произойти
7339        segmentation fault; ошибка появилась в 0.3.16.
7340 
7341 
7342 Изменения в nginx 0.3.17                                          18.12.2005
7343 
7344     *) Изменение: на Linux configure теперь проверяет наличие epoll и
7345        sendfile64() в ядре.
7346 
7347     *) Добавление: директива map поддерживает доменные имена в формате
7348        ".domain.tld".
7349 
7350     *) Исправление: во время SSL handshake не иcпользовались таймауты;
7351        ошибка появилась в 0.2.4.
7352 
7353     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
7354 
7355     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
7356        по умолчанию использовался порт 80.
7357 
7358 
7359 Изменения в nginx 0.3.16                                          16.12.2005
7360 
7361     *) Добавление: модуль ngx_http_map_module.
7362 
7363     *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
7364 
7365     *) Добавление: директива ssi_value_length.
7366 
7367     *) Добавление: директива worker_rlimit_core.
7368 
7369     *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
7370        Pentium 4 номер соединения в логах всегда был равен 1.
7371 
7372     *) Исправление: команда config timefmt в SSI задавала неверный формат
7373        времени.
7374 
7375     *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
7376        использовании SSL соединений; ошибка появилась в 0.3.13.
7377        Спасибо Rob Mueller.
7378 
7379     *) Исправление: segmentation fault мог произойти во время SSL shutdown;
7380        ошибка появилась в 0.3.13.
7381 
7382 
7383 Изменения в nginx 0.3.15                                          07.12.2005
7384 
7385     *) Добавление: новой код 444 в директиве return для закрытия соединения.
7386 
7387     *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
7388 
7389     *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
7390        соединений только при плавном выходе и включённой директиве
7391        debug_points.
7392 
7393 
7394 Изменения в nginx 0.3.14                                          05.12.2005
7395 
7396     *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
7397        в 0.3.13.
7398 
7399 
7400 Изменения в nginx 0.3.13                                          05.12.2005
7401 
7402     *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
7403 
7404     *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
7405        /dev/poll.
7406 
7407     *) Исправление: ошибки в обработке SSI.
7408 
7409     *) Исправление: sendfilev() в Solaris теперь не используется при
7410        передаче тела запроса FastCGI-серверу через unix domain сокет.
7411 
7412     *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
7413        появилась в 0.3.11.
7414 
7415 
7416 Изменения в nginx 0.3.12                                          26.11.2005
7417 
7418     *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
7419        то при использовании директивы "satisfy_any on" директивы доступа и
7420        аутентификации не работали. Модуль ngx_http_realip_module не
7421        собирался и не собирается по умолчанию.
7422 
7423     *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
7424 
7425     *) Изменение: директивы proxy_header_buffer_size и
7426        fastcgi_header_buffer_size переименованы соответственно в
7427        proxy_buffer_size и fastcgi_buffer_size.
7428 
7429     *) Добавление: модуль ngx_http_memcached_module.
7430 
7431     *) Добавление: директива proxy_buffering.
7432 
7433     *) Исправление: изменение в работе с accept mutex при использовании
7434        метода rtsig; ошибка появилась в 0.3.0.
7435 
7436     *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
7437        в заголовке запроса, то nginx теперь выдаёт ошибку 411.
7438 
7439     *) Исправление: при наследовании директивы auth_basic с уровня http в
7440        строке "WWW-Authenticate" заголовка ответа выводился realm без текста
7441        "Basic realm".
7442 
7443     *) Исправление: если в директиве access_log был явно указан формат
7444        combined, то в лог записывались пустые строки; ошибка появилась в
7445        0.3.8.
7446 
7447     *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
7448        Solaris.
7449 
7450     *) Исправление: в директиве if теперь не нужно разделять пробелом строку
7451        в кавычках и закрывающую скобку.
7452 
7453 
7454 Изменения в nginx 0.3.11                                          15.11.2005
7455 
7456     *) Исправление: nginx не передавал при проксировании тело запроса и
7457        строки заголовка клиента; ошибка появилась в 0.3.10.
7458 
7459 
7460 Изменения в nginx 0.3.10                                          15.11.2005
7461 
7462     *) Изменение: директива valid_referers и переменная $invalid_referer
7463        перенесены из модуля ngx_http_rewrite_module в новый модуль
7464        ngx_http_referer_module.
7465 
7466     *) Изменение: имя переменной "$apache_bytes_sent" изменено на
7467        "$body_bytes_sent".
7468 
7469     *) Добавление: переменные "$sent_http_...".
7470 
7471     *) Добавление: директива if поддерживает операции "=" и "!=".
7472 
7473     *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
7474 
7475     *) Добавление: директива proxy_set_body.
7476 
7477     *) Добавление: директива post_action.
7478 
7479     *) Добавление: модуль ngx_http_empty_gif_module.
7480 
7481     *) Добавление: директива worker_cpu_affinity для Linux.
7482 
7483     *) Исправление: директива rewrite не раскодировала символы в редиректах
7484        в URI, теперь символы раскодируются, кроме символов %00-%25 и
7485        %7F-%FF.
7486 
7487     *) Исправление: nginx не собирался компилятором icc 9.0.
7488 
7489     *) Исправление: если для статического файла нулевого размера был
7490        разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
7491 
7492 
7493 Изменения в nginx 0.3.9                                           10.11.2005
7494 
7495     *) Исправление: nginx считал небезопасными URI, в которых между двумя
7496        слэшами находилось два любых символа; ошибка появилась в 0.3.8.
7497 
7498 
7499 Изменения в nginx 0.3.8                                           09.11.2005
7500 
7501     *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
7502        строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
7503        наличие путей "/../" и нулей.
7504 
7505     *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
7506        строке "Authorization" в заголовке запроса.
7507 
7508     *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
7509        и ngx_imap_ssl_module.
7510 
7511     *) Добавление: директива auth_http_header модуля
7512        ngx_imap_auth_http_module.
7513 
7514     *) Добавление: директива add_header.
7515 
7516     *) Добавление: модуль ngx_http_realip_module.
7517 
7518     *) Добавление: новые переменные для использования в директиве
7519        log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
7520        $uri, $request_time, $request_length, $upstream_status,
7521        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
7522        $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
7523        упразднены.
7524 
7525     *) Изменение: в директиве "if" ложными значениями переменных теперь
7526        являются пустая строка "" и строки, начинающиеся на "0".
7527 
7528     *) Исправление: при работает с проксированными или FastCGI-серверами
7529        nginx мог оставлять открытыми соединения и временные файлы с
7530        запросами клиентов.
7531 
7532     *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
7533        плавном выходе.
7534 
7535     *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
7536        запрос проксировался в location, заданном регулярным выражением, то
7537        бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
7538 
7539     *) Исправление: директива expires не удаляла уже установленную строку
7540        заголовка "Expires".
7541 
7542     *) Исправление: при использовании метода rtsig и нескольких рабочих
7543        процессах nginx мог перестать принимать запросы.
7544 
7545     *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
7546        "\'".
7547 
7548     *) Исправление: если ответ заканчивался сразу же после SSI команды, то
7549        при использовании сжатия ответ передавался не до конца или не
7550        передавался вообще.
7551 
7552 
7553 Изменения в nginx 0.3.7                                           27.10.2005
7554 
7555     *) Добавление: директива access_log поддерживает параметр buffer=.
7556 
7557     *) Исправление: nginx не собирался на платформах, отличных от i386,
7558        amd64, sparc и ppc; ошибка появилась в 0.3.2.
7559 
7560 
7561 Изменения в nginx 0.3.6                                           24.10.2005
7562 
7563     *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
7564        пустой логин.
7565 
7566     *) Добавление: директива log_format поддерживает переменные в виде
7567        $name.
7568 
7569     *) Исправление: если хотя бы в одном сервере не было описано ни одной
7570        директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
7571        0.3.3.
7572 
7573     *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
7574        использовался порт 80.
7575 
7576 
7577 Изменения в nginx 0.3.5                                           21.10.2005
7578 
7579     *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
7580        мог произойти segmentation fault; ошибка появилась в 0.2.2.
7581 
7582     *) Исправление: accept mutex не работал, все соединения обрабатывались
7583        одним рабочим процессом; ошибка появилась в 0.3.3.
7584 
7585     *) Исправление: при использовании метода rtsig и директивы
7586        timer_resolution не работали таймауты.
7587 
7588 
7589 Изменения в nginx 0.3.4                                           19.10.2005
7590 
7591     *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
7592        появилась в 0.3.3.
7593 
7594 
7595 Изменения в nginx 0.3.3                                           19.10.2005
7596 
7597     *) Изменение: параметры "bl" и "af" директивы listen переименованы в
7598        "backlog" и "accept_filter".
7599 
7600     *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
7601 
7602     *) Изменение: параметр лога $msec теперь не требует дополнительного
7603        системного вызова gettimeofday().
7604 
7605     *) Добавление: ключ -t теперь проверяет директивы listen.
7606 
7607     *) Исправление: если в директиве listen был указан неверный адрес, то
7608        nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
7609 
7610     *) Исправление: для индексных файлов, содержащих в имени переменную, мог
7611        неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
7612 
7613     *) Добавление: директива timer_resolution.
7614 
7615     *) Добавление: параметр лога $upstream_response_time в миллисекундах.
7616 
7617     *) Исправление: временный файл с телом запроса клиента теперь удаляется
7618        сразу после того, как клиенту передан заголовок ответа.
7619 
7620     *) Исправление: совместимость с OpenSSL 0.9.6.
7621 
7622     *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
7623        относительными.
7624 
7625     *) Исправление: директива ssl_prefer_server_ciphers не работала для
7626        модуля ngx_imap_ssl_module.
7627 
7628     *) Исправление: директива ssl_protocols позволяла задать только один
7629        протокол.
7630 
7631 
7632 Изменения в nginx 0.3.2                                           12.10.2005
7633 
7634     *) Добавление: поддержка Sun Studio 10 C compiler.
7635 
7636     *) Добавление: директивы proxy_upstream_max_fails,
7637        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
7638        fastcgi_upstream_fail_timeout.
7639 
7640 
7641 Изменения в nginx 0.3.1                                           10.10.2005
7642 
7643     *) Исправление: во время переполнения очереди сигналов при использовании
7644        метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
7645 
7646     *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
7647 
7648 
7649 Изменения в nginx 0.3.0                                           07.10.2005
7650 
7651     *) Изменение: убрано десятидневное ограничение времени работы рабочего
7652        процесса. Ограничение было введено из-за переполнения миллисекундных
7653        таймеров.
7654 
7655 
7656 Изменения в nginx 0.2.6                                           05.10.2005
7657 
7658     *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
7659        бэкенду при использовании распределения нагрузки.
7660 
7661     *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
7662        запрос теперь передаётся, если в директиве proxy_pass отсутствует
7663        URI.
7664 
7665     *) Добавление: директива error_page поддерживает редиректы и позволяет
7666        более гибко менять код ошибки.
7667 
7668     *) Изменение: в проксированных подзапросах теперь игнорируется
7669        переданный charset.
7670 
7671     *) Исправление: если после изменения URI в блоке if для запроса не
7672        находилась новая конфигурация, то правила модуля
7673        ngx_http_rewrite_module выполнялись снова.
7674 
7675     *) Исправление: если директива set устанавливала переменную модуля
7676        ngx_http_geo_module в какой-либо части конфигурации, то эта
7677        переменная не была доступна в других частях конфигурации и выдавалась
7678        ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
7679 
7680 
7681 Изменения в nginx 0.2.5                                           04.10.2005
7682 
7683     *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
7684        теперь выдаёт предупреждение и изменяет старое значение.
7685 
7686     *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
7687 
7688     *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
7689        команде include.
7690 
7691     *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
7692        значений переменных в выражениях команды if.
7693 
7694 
7695 Изменения в nginx 0.2.4                                           03.10.2005
7696 
7697     *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
7698        "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
7699        if.
7700 
7701     *) Исправление: ошибки при проксировании location без слэша в конце;
7702        ошибка появилась в 0.1.44.
7703 
7704     *) Исправление: при использовании метода rtsig мог произойти
7705        segmentation fault; ошибка появилась в 0.2.0.
7706 
7707 
7708 Изменения в nginx 0.2.3                                           30.09.2005
7709 
7710     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
7711        появилась в 0.2.2.
7712 
7713 
7714 Изменения в nginx 0.2.2                                           30.09.2005
7715 
7716     *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
7717 
7718     *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
7719        директивой set.
7720 
7721     *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
7722        модулей ngx_http_ssl_module и ngx_imap_ssl_module.
7723 
7724     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7725        длинных имён файлов;
7726 
7727     *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
7728        файлы, начинающиеся на точку.
7729 
7730     *) Исправление: если SSL handshake завершался с ошибкой, то это могло
7731        привести также к закрытию другого соединения.
7732        Спасибо Rob Mueller.
7733 
7734     *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
7735        HTTPS.
7736 
7737 
7738 Изменения в nginx 0.2.1                                           23.09.2005
7739 
7740     *) Исправление: если все бэкенды, используемые для балансировки
7741        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7742        nginx мог зациклится; ошибка появилась в 0.2.0.
7743 
7744 
7745 Изменения в nginx 0.2.0                                           23.09.2005
7746 
7747     *) Изменились имена pid-файлов, используемые во время обновления
7748        исполняемого файла. Ручное переименование теперь не нужно. Старый
7749        основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
7750        запускает новый исполняемый файл. Новый основной процесс создаёт
7751        обычный pid-файл без суффикса ".newbin". Если новый основной процесс
7752        выходит, то старый процесс переименовывает свой pid-файл c суффиксом
7753        ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
7754        0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
7755        0.2.0 - используют pid-файл без суффиксов.
7756 
7757     *) Изменение: директива worker_connections, новое название директивы
7758        connections; директива теперь задаёт максимальное число соединений, а
7759        не максимально возможный номер дескриптора для сокета.
7760 
7761     *) Добавление: SSL поддерживает кэширование сессий в пределах одного
7762        рабочего процесса.
7763 
7764     *) Добавление: директива satisfy_any.
7765 
7766     *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
7767        не работают для подзапросов.
7768 
7769     *) Добавление: директивы worker_rlimit_nofile и
7770        worker_rlimit_sigpending.
7771 
7772     *) Исправление: если все бэкенды, используемые для балансировки
7773        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7774        nginx не обращался к ним в течение 60 секунд.
7775 
7776     *) Исправление: в парсинге аргументов IMAP/POP3 команд.
7777        Спасибо Rob Mueller.
7778 
7779     *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
7780 
7781     *) Исправление: ошибки при использовании SSI и сжатия.
7782 
7783     *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
7784        "Expires" и "Cache-Control".
7785        Спасибо Александру Кукушкину.
7786 
7787 
7788 Изменения в nginx 0.1.45                                          08.09.2005
7789 
7790     *) Изменение: директива ssl_engine упразднена в модуле
7791        ngx_http_ssl_module и перенесена на глобальный уровень.
7792 
7793     *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
7794        передавались через SSL соединение.
7795 
7796     *) Разные исправления в IMAP/POP3 прокси.
7797 
7798 
7799 Изменения в nginx 0.1.44                                          06.09.2005
7800 
7801     *) Добавление: IMAP/POP3 прокси поддерживает SSL.
7802 
7803     *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
7804 
7805     *) Добавление: директива userid_mark.
7806 
7807     *) Добавление: значение переменной $remote_user определяется независимо
7808        от того, используется ли авторизация или нет.
7809 
7810 
7811 Изменения в nginx 0.1.43                                          30.08.2005
7812 
7813     *) Добавление: listen(2) backlog в директиве listen можно менять по
7814        сигналу -HUP.
7815 
7816     *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
7817 
7818     *) Изменение: параметры FastCGI с пустым значениями теперь передаются
7819        серверу.
7820 
7821     *) Исправление: если в ответе проксированного сервера или FastCGI
7822        сервера была строка "Cache-Control", то при использовании директивы
7823        expires происходил segmentation fault или рабочий процесс мог
7824        зациклится; в режиме прокси ошибка появилась в 0.1.29.
7825 
7826 
7827 Изменения в nginx 0.1.42                                          23.08.2005
7828 
7829     *) Исправление: если URI запроса получался нулевой длины после обработки
7830        модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
7831        происходил segmentation fault или bus error.
7832 
7833     *) Исправление: директива limit_rate не работала внутри блока if; ошибка
7834        появилась в 0.1.38.
7835 
7836 
7837 Изменения в nginx 0.1.41                                          25.07.2005
7838 
7839     *) Исправление: если переменная использовалась в файле конфигурации, то
7840        она не могла использоваться в SSI.
7841 
7842 
7843 Изменения в nginx 0.1.40                                          22.07.2005
7844 
7845     *) Исправление: если клиент слал очень длинную строку заголовка, то в
7846        логе не помещалась информация, связанная с этим запросом.
7847 
7848     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7849        строка "Set-Cookie"; ошибка появилась в 0.1.39.
7850 
7851     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7852        строка "Content-Disposition".
7853 
7854     *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
7855        на которых он слушал.
7856 
7857     *) Исправление: после обновления исполняемого файла на лету на Linux и
7858        Solaris название процесса в команде ps становилось короче.
7859 
7860 
7861 Изменения в nginx 0.1.39                                          14.07.2005
7862 
7863     *) Изменения в модуле ngx_http_charset_module: директива default_charset
7864        упразднена; директива charset задаёт кодировку ответа; директива
7865        source_charset задаёт только исходную кодировку.
7866 
7867     *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
7868        не передавалась строка заголовка "WWW-Authenticate".
7869 
7870     *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
7871        могли закрыть соединение до того, как что-нибудь было передано
7872        клиенту; ошибка появилась в 0.1.38.
7873 
7874     *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
7875 
7876     *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
7877        URI в команде include virtual.
7878 
7879     *) Исправление: если в строке заголовка ответа бэкенда была строка
7880        "Location", которую nginx не должен был изменять, то в ответе
7881        передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
7882 
7883     *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
7884        ngx_http_fastcgi_module не наследовались с уровня server на уровень
7885        location; ошибка появилась в 0.1.29.
7886 
7887     *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
7888        сертификатов.
7889 
7890     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7891        длинных имён файлов; ошибка появилась в 0.1.38.
7892 
7893     *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
7894        стадии login.
7895 
7896 
7897 Изменения в nginx 0.1.38                                          08.07.2005
7898 
7899     *) Добавление: директива limit_rate поддерживается в режиме прокси и
7900        FastCGI.
7901 
7902     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7903        "X-Accel-Limit-Rate" в ответе бэкенда.
7904 
7905     *) Добавление: директива break.
7906 
7907     *) Добавление: директива log_not_found.
7908 
7909     *) Исправление: при перенаправлении запроса с помощью строки заголовка
7910        "X-Accel-Redirect" не изменялся код ответа.
7911 
7912     *) Исправление: переменные, установленные директивой set не могли
7913        использоваться в SSI.
7914 
7915     *) Исправление: при включении в SSI более одного удалённого подзапроса
7916        мог произойти segmentation fault.
7917 
7918     *) Исправление: если статусная строка в ответе бэкенда передавалась в
7919        двух пакетах, то nginx считал ответ неверным; ошибка появилась в
7920        0.1.29.
7921 
7922     *) Добавление: директива ssi_types.
7923 
7924     *) Добавление: директива autoindex_exact_size.
7925 
7926     *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
7927        имена файлов в UTF-8.
7928 
7929     *) Добавление: IMAP/POP3 прокси.
7930 
7931 
7932 Изменения в nginx 0.1.37                                          23.06.2005
7933 
7934     *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
7935 
7936     *) Исправление: при включении большого количества вставок или нескольких
7937        больших вставок с помощью SSI ответ мог передаваться не полностью.
7938 
7939     *) Исправление: если все бэкенды возвращали ответ 404, то при
7940        использовании параметра http_404 в директивах proxy_next_upstream или
7941        fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
7942 
7943 
7944 Изменения в nginx 0.1.36                                          15.06.2005
7945 
7946     *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
7947        "Connection", "Content-Length" и "Authorization", то nginx теперь
7948        выдаёт ошибку 400.
7949 
7950     *) Изменение: директива post_accept_timeout упразднена.
7951 
7952     *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
7953        listen.
7954 
7955     *) Добавление: поддержка accept фильтров во FreeBSD.
7956 
7957     *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
7958 
7959     *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
7960        файлов в UTF-8.
7961 
7962     *) Исправление: после добавления новый лог-файл ротация этого лога по
7963        сигналу -USR1 выполнялась, только если переконфигурировать nginx два
7964        раза по сигналу -HUP.
7965 
7966 
7967 Изменения в nginx 0.1.35                                          07.06.2005
7968 
7969     *) Добавление: директива working_directory.
7970 
7971     *) Добавление: директива port_in_redirect.
7972 
7973     *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
7974        то происходил segmentation fault; ошибка появилась в 0.1.29.
7975 
7976     *) Исправление: если было сконфигурировано более 10 серверов или в
7977        сервере не описана директива "listen", то при запуске мог произойти
7978        segmentation fault.
7979 
7980     *) Исправление: если ответ не помещался во временный файл, то мог
7981        произойти segmentation fault.
7982 
7983     *) Исправление: nginx возвращал ошибку 400 на запросы вида
7984        "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
7985 
7986 
7987 Изменения в nginx 0.1.34                                          26.05.2005
7988 
7989     *) Исправление: при включении больших ответов с помощью SSI рабочий
7990        процесс мог зациклиться.
7991 
7992     *) Исправление: переменные, устанавливаемые директивой "set", не были
7993        доступны в SSI.
7994 
7995     *) Добавление: директива autoindex_localtime.
7996 
7997     *) Исправление: пустое значение в директиве proxy_set_header запрещает
7998        передачу заголовка.
7999 
8000 
8001 Изменения в nginx 0.1.33                                          23.05.2005
8002 
8003     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
8004        появилась в 0.1.29.
8005 
8006     *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
8007        вызывали bus fault при запуске.
8008 
8009     *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
8010        HTTP.
8011 
8012     *) Исправление: если директива rewrite использовала выделения внутри
8013        директивы if, то возвращалась ошибка 500.
8014 
8015 
8016 Изменения в nginx 0.1.32                                          19.05.2005
8017 
8018     *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
8019        передавались аргументы; ошибка появилась в 0.1.29.
8020 
8021     *) Добавление: директива if поддерживает выделения в регулярных
8022        выражениях.
8023 
8024     *) Добавление: директива set поддерживает переменные и выделения из
8025        регулярных выражений.
8026 
8027     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
8028        "X-Accel-Redirect" в ответе бэкенда.
8029 
8030 
8031 Изменения в nginx 0.1.31                                          16.05.2005
8032 
8033     *) Исправление: при использовании SSL ответ мог передаваться не до
8034        конца.
8035 
8036     *) Исправление: ошибки при обработке SSI в ответе, полученного от
8037        FastCGI-сервера.
8038 
8039     *) Исправление: ошибки при использовании SSI и сжатия.
8040 
8041     *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
8042        появилась в 0.1.30.
8043 
8044 
8045 Изменения в nginx 0.1.30                                          14.05.2005
8046 
8047     *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
8048 
8049     *) Исправление: при использовании SSL ответ мог передаваться не до
8050        конца.
8051 
8052     *) Исправление: если длина части ответа, полученного за один раз от
8053        проксируемого или FastCGI сервера была равна 500 байт, то nginx
8054        возвращал код ответа 500; в режиме прокси ошибка появилась только в
8055        0.1.29.
8056 
8057     *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
8058        параметрами.
8059 
8060     *) Добавление: директива return может возвращать код ответа 204.
8061 
8062     *) Добавление: директива ignore_invalid_headers.
8063 
8064 
8065 Изменения в nginx 0.1.29                                          12.05.2005
8066 
8067     *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
8068        virtual.
8069 
8070     *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
8071        вида 'if expr="$NAME"' и команды else и endif. Допускается только
8072        один уровень вложенности.
8073 
8074     *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
8075        DATE_LOCAL и DATE_GMT и команду config timefmt.
8076 
8077     *) Добавление: директива ssi_ignore_recycled_buffers.
8078 
8079     *) Исправление: если переменная QUERY_STRING не была определена, то в
8080        команде echo не ставилось значение по умолчанию.
8081 
8082     *) Изменение: модуль ngx_http_proxy_module полностью переписан.
8083 
8084     *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
8085        proxy_pass_request_body и proxy_method.
8086 
8087     *) Добавление: директива proxy_set_header. Директива proxy_x_var
8088        упразднена и должна быть заменена директивой proxy_set_header.
8089 
8090     *) Изменение: директива proxy_preserve_host упразднена и должна быть
8091        заменена директивами "proxy_set_header Host $host" и "proxy_redirect
8092        off" или директивой "proxy_set_header Host $host:$proxy_port" и
8093        соответствующими ей директивами proxy_redirect.
8094 
8095     *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
8096        заменена директивой "proxy_set_header X-Real-IP $remote_addr".
8097 
8098     *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
8099        быть заменена директивой
8100        "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
8101 
8102     *) Изменение: директива proxy_set_x_url упразднена и должна быть
8103        заменена директивой
8104        "proxy_set_header X-URL http://$host:$server_port$request_uri".
8105 
8106     *) Добавление: директива fastcgi_param.
8107 
8108     *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
8109        упразднены и должны быть замены директивами fastcgi_param.
8110 
8111     *) Добавление: директива index может использовать переменные.
8112 
8113     *) Добавление: директива index может быть указана на уровне http и
8114        server.
8115 
8116     *) Изменение: только последний параметр в директиве index может быть
8117        абсолютным.
8118 
8119     *) Добавление: в директиве rewrite могут использоваться переменные.
8120 
8121     *) Добавление: директива internal.
8122 
8123     *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
8124        SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
8125        SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
8126 
8127     *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
8128        клиента и ответа бэкенда.
8129 
8130     *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
8131        меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
8132 
8133     *) Исправление: если бэкенд передавал неверную строку в заголовке
8134        ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
8135 
8136     *) Исправление: при использовании отказоустойчивой конфигурации в
8137        FastCGI мог происходить segmentation fault.
8138 
8139     *) Исправление: директива expires не удаляла уже установленные строки
8140        заголовка "Expires" и "Cache-Control".
8141 
8142     *) Исправление: nginx не учитывал завершающую точку в строке заголовка
8143        запроса "Host".
8144 
8145     *) Исправление: модуль ngx_http_auth_module не работал на Linux.
8146 
8147     *) Исправление: директива rewrite неверно работала, если в запросе
8148        присутствовали аргументы.
8149 
8150     *) Исправление: nginx не собирался на MacOS X.
8151 
8152 
8153 Изменения в nginx 0.1.28                                          08.04.2005
8154 
8155     *) Исправление: при проксировании больших файлов nginx сильно нагружал
8156        процессор.
8157 
8158     *) Исправление: nginx не собирался gcc 4.0 на Linux.
8159 
8160 
8161 Изменения в nginx 0.1.27                                          28.03.2005
8162 
8163     *) Добавление: параметр blocked в директиве valid_referers.
8164 
8165     *) Изменение: ошибки обработки заголовка запроса теперь записываются на
8166        уровне info, в лог также записывается имя сервера и строки заголовка
8167        запроса "Host" и "Referer".
8168 
8169     *) Изменение: при записи ошибок в лог записывается также строка
8170        заголовка запроса "Host".
8171 
8172     *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
8173        символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
8174 
8175     *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
8176        параметр конфигурации --without-ngx_http_auth_basic_module.
8177 
8178 
8179 Изменения в nginx 0.1.26                                          22.03.2005
8180 
8181     *) Изменение: неверные строки заголовка, переданные клиентом, теперь
8182        игнорируется и записываются в error_log на уровне info.
8183 
8184     *) Изменение: при записи ошибок в лог записывается также имя сервера,
8185        при обращении к которому произошла ошибка.
8186 
8187     *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
8188        и auth_basic_user_file.
8189 
8190 
8191 Изменения в nginx 0.1.25                                          19.03.2005
8192 
8193     *) Исправление: nginx не работал на Linux parisc.
8194 
8195     *) Добавление: nginx теперь не запускается под FreeBSD, если значение
8196        sysctl kern.ipc.somaxconn слишком большое.
8197 
8198     *) Исправление: если модуль ngx_http_index_module делал внутреннее
8199        перенаправление запроса в модули ngx_http_proxy_module или
8200        ngx_http_fastcgi_module, то файл индекса не закрывался после
8201        обслуживания запроса.
8202 
8203     *) Добавление: директива proxy_pass может использоваться в location,
8204        заданных регулярным выражением.
8205 
8206     *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
8207        условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
8208 
8209     *) Исправление: nginx очень медленно запускался при большом количестве
8210        адресов и использовании текстовых значений в директиве geo.
8211 
8212     *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
8213        Прежний вариант без "$" пока работает, но вскоре будет убран.
8214 
8215     *) Добавление: параметр лога "%{VARIABLE}v".
8216 
8217     *) Добавление: директива "set $name value".
8218 
8219     *) Исправление: совместимость с gcc 4.0.
8220 
8221     *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
8222 
8223 
8224 Изменения в nginx 0.1.24                                          04.03.2005
8225 
8226     *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
8227        QUERY_STRING и DOCUMENT_URI.
8228 
8229     *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
8230        на существующий каталог, если этот каталог был указан как alias.
8231 
8232     *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
8233        при больших ответах.
8234 
8235     *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
8236        правильным referrer'ом.
8237 
8238 
8239 Изменения в nginx 0.1.23                                          01.03.2005
8240 
8241     *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
8242        ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
8243        var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
8244 
8245     *) Добавление: параметр лога %request_time.
8246 
8247     *) Добавление: если запрос пришёл без строки заголовка "Host", то
8248        директива proxy_preserve_host устанавливает в качестве этого
8249        заголовка первое имя сервера из директивы server_name.
8250 
8251     *) Исправление: nginx не собирался на платформах, отличных от i386,
8252        amd64, sparc и ppc; ошибка появилась в 0.1.22.
8253 
8254     *) Исправление: модуль ngx_http_autoindex_module теперь показывает
8255        информацию не о символическом линке, а о файле или каталоге, на
8256        который он указывает.
8257 
8258     *) Исправление: если клиенту ничего не передавалось, то параметр
8259        %apache_length записывал в лог отрицательную длину заголовка ответа.
8260 
8261 
8262 Изменения в nginx 0.1.22                                          22.02.2005
8263 
8264     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
8265        статистику для обработанных соединений, если использовалось
8266        проксирование или FastCGI-сервер.
8267 
8268     *) Исправление: на Linux и Solaris установочные пути были неверно
8269        заключены в кавычки; ошибка появилась в 0.1.21.
8270 
8271 
8272 Изменения в nginx 0.1.21                                          22.02.2005
8273 
8274     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
8275        статистику при использовании метода rtsig или при использовании
8276        нескольких рабочих процессов на SMP машине.
8277 
8278     *) Исправление: nginx не собирался компилятором icc под Линуксом или
8279        если библиотека zlib-1.2.x собиралась из исходных текстов.
8280 
8281     *) Исправление: nginx не собирался под NetBSD 2.0.
8282 
8283 
8284 Изменения в nginx 0.1.20                                          17.02.2005
8285 
8286     *) Добавление: новые параметры script_filename и remote_port в директиве
8287        fastcgi_params.
8288 
8289     *) Исправление: неправильно обрабатывался поток stderr от
8290        FastCGI-сервера.
8291 
8292 
8293 Изменения в nginx 0.1.19                                          16.02.2005
8294 
8295     *) Исправление: если в запросе есть нуль, то для локальных запросов
8296        теперь возвращается ошибка 404.
8297 
8298     *) Исправление: nginx не собирался под NetBSD 2.0.
8299 
8300     *) Исправление: во время чтения тела запроса клиента в SSL соединении
8301        мог произойти таймаут.
8302 
8303 
8304 Изменения в nginx 0.1.18                                          09.02.2005
8305 
8306     *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
8307        и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
8308 
8309     *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
8310        наследовались.
8311 
8312     *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
8313        присоединялись к URI через символ "&" вместо "?".
8314 
8315     *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
8316        включённом файле игнорировались.
8317 
8318     *) Добавление: модуль ngx_http_stub_status_module.
8319 
8320     *) Исправление: неизвестный формат лог-файла в директиве access_log
8321        вызывал segmentation fault.
8322 
8323     *) Добавление: новый параметр document_root в директиве fastcgi_params.
8324 
8325     *) Добавление: директива fastcgi_redirect_errors.
8326 
8327     *) Добавление: новый модификатор break в директиве rewrite позволяет
8328        прекратить цикл rewrite/location и устанавливает текущую конфигурацию
8329        для запроса.
8330 
8331 
8332 Изменения в nginx 0.1.17                                          03.02.2005
8333 
8334     *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
8335        можно делать редиректы, возвращать коды ошибок и проверять переменные
8336        и рефереры. Эти директивы можно использовать внутри location.
8337        Директива redirect упразднена.
8338 
8339     *) Добавление: модуль ngx_http_geo_module.
8340 
8341     *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
8342 
8343     *) Исправление: конфигурация location с модификатором "=" могла
8344        использоваться в другом location.
8345 
8346     *) Исправление: правильный тип ответа выставлялся только для запросов, у
8347        которых в расширении были только маленькие буквы.
8348 
8349     *) Исправление: если для location установлен proxy_pass или
8350        fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
8351        на статическую страницу, то происходил segmentation fault.
8352 
8353     *) Исправление: если в проксированном ответе в заголовке "Location"
8354        передавался относительный URL, то к нему добавлялось имя хоста и
8355        слэш; ошибка появилась в 0.1.14.
8356 
8357     *) Исправление: на Linux в лог не записывался текст системной ошибки.
8358 
8359 
8360 Изменения в nginx 0.1.16                                          25.01.2005
8361 
8362     *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
8363        выдавался завершающий chunk.
8364 
8365     *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
8366        директива keepalive_timeout запрещала использование keep-alive.
8367 
8368     *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
8369        segmentation fault.
8370 
8371     *) Исправление: при использовании SSL сжатый ответ мог передаваться не
8372        до конца.
8373 
8374     *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
8375        для TCP сокетов, не используются для unix domain сокетов.
8376 
8377     *) Добавление: директива rewrite поддерживает перезаписывание
8378        аргументов.
8379 
8380     *) Исправление: на запрос POST с заголовком "Content-Length: 0"
8381        возвращался ответ 400; ошибка появилась в 0.1.14.
8382 
8383 
8384 Изменения в nginx 0.1.15                                          19.01.2005
8385 
8386     *) Исправление: ошибка соединения с FastCGI-сервером вызывала
8387        segmentation fault.
8388 
8389     *) Исправление: корректная обработка регулярного выражения, в котором
8390        число выделенных частей не совпадает с числом подстановок.
8391 
8392     *) Добавление: location, который передаётся FastCGI-серверу, может быть
8393        задан с помощью регулярного выражения.
8394 
8395     *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
8396        аргументами и в том виде, в котором был получен от клиента.
8397 
8398     *) Исправление: для использования регулярных выражений в location нужно
8399        было собирать nginx вместе с ngx_http_rewrite_module.
8400 
8401     *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
8402        директивы "proxy_preserve_host on" в заголовке "Host" указывался
8403        также порт 80; ошибка появилась в 0.1.14.
8404 
8405     *) Исправление: если задать одинаковые пути в параметрах
8406        автоконфигурации --http-client-body-temp-path=PATH и
8407        --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
8408        --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
8409 
8410 
8411 Изменения в nginx 0.1.14                                          18.01.2005
8412 
8413     *) Добавление: параметры автоконфигурации
8414        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
8415        --http-fastcgi-temp-path=PATH
8416 
8417     *) Изменение: имя каталога с временными файлами, содержащие тело запроса
8418        клиента, задаётся директивой client_body_temp_path, по умолчанию
8419        <prefix>/client_body_temp.
8420 
8421     *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
8422        fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
8423        fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
8424        fastcgi_header_buffer_size, fastcgi_buffers,
8425        fastcgi_busy_buffers_size, fastcgi_temp_path,
8426        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
8427        fastcgi_next_upstream и fastcgi_x_powered_by.
8428 
8429     *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
8430        0.1.3.
8431 
8432     *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
8433        после имени хоста.
8434 
8435     *) Изменение: если в URI встречался символ %3F, то он считался началом
8436        строки аргументов.
8437 
8438     *) Добавление: поддержка unix domain сокетов в модуле
8439        ngx_http_proxy_module.
8440 
8441     *) Добавление: директивы ssl_engine и ssl_ciphers.
8442        Спасибо Сергею Скворцову за SSL-акселератор.
8443 
8444 
8445 Изменения в nginx 0.1.13                                          21.12.2004
8446 
8447     *) Добавление: директивы server_names_hash и
8448        server_names_hash_threshold.
8449 
8450     *) Исправление: имена *.domain.tld в директиве server_name не работали.
8451 
8452     *) Исправление: параметр лога %request_length записывал неверную длину.
8453 
8454 
8455 Изменения в nginx 0.1.12                                          06.12.2004
8456 
8457     *) Добавление: параметр лога %request_length.
8458 
8459     *) Исправление: при использовании /dev/poll, select и poll на
8460        платформах, где возможны ложные срабатывания указанных методов, могли
8461        быть длительные задержки при обработке запроса по keep-alive
8462        соединению. Наблюдалось по крайней мере на Solaris с использованием
8463        /dev/poll.
8464 
8465     *) Исправление: директива send_lowat игнорируется на Linux, так как
8466        Linux не поддерживает опцию SO_SNDLOWAT.
8467 
8468 
8469 Изменения в nginx 0.1.11                                          02.12.2004
8470 
8471     *) Добавление: директива worker_priority.
8472 
8473     *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
8474        влияют на передачу ответа.
8475 
8476     *) Исправление: nginx не вызывал initgroups().
8477        Спасибо Андрею Ситникову и Андрею Нигматулину.
8478 
8479     *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
8480        байтах.
8481 
8482     *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
8483        каталоге есть битый symlink.
8484 
8485     *) Исправление: файлы больше 4G не передавались с использованием
8486        sendfile.
8487 
8488     *) Исправление: если бэкенд резолвился в несколько адресов и при
8489        ожидании от него ответа происходила ошибка, то процесс зацикливался.
8490 
8491     *) Исправление: при использовании метода /dev/poll рабочий процесс мог
8492        завершиться с сообщением "unknown cycle".
8493 
8494     *) Исправление: ошибки "close() channel failed".
8495 
8496     *) Исправление: автоматическое определение групп nobody и nogroup.
8497 
8498     *) Исправление: директива send_lowat не работала на Linux.
8499 
8500     *) Исправление: если в конфигурации не было раздела events, то
8501        происходил segmentation fault.
8502 
8503     *) Исправление: nginx не собирался под OpenBSD.
8504 
8505     *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
8506 
8507 
8508 Изменения в nginx 0.1.10                                          26.11.2004
8509 
8510     *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
8511        или "%XX", то терялся последний символ в строке запроса; ошибка
8512        появилась в 0.1.9.
8513 
8514     *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
8515        не работало.
8516 
8517 
8518 Изменения в nginx 0.1.9                                           25.11.2004
8519 
8520     *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
8521        проксируемый запрос передавался без аргументов.
8522 
8523     *) Исправление: при сжатии больших ответов иногда они передавались не
8524        полностью.
8525 
8526     *) Исправление: не передавались файлы больше 2G на Linux,
8527        неподдерживающем sendfile64().
8528 
8529     *) Исправление: на Linux при конфигурации сборки нужно было обязательно
8530        использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
8531 
8532 
8533 Изменения в nginx 0.1.8                                           20.11.2004
8534 
8535     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
8536        длинных имён файлов.
8537 
8538     *) Добавление: модификатор "^~" в директиве location.
8539 
8540     *) Добавление: директива proxy_max_temp_file_size.
8541 
8542 
8543 Изменения в nginx 0.1.7                                           12.11.2004
8544 
8545     *) Исправление: при использовании sendfile, если передаваемый файл
8546        менялся, то мог произойти segmentation fault на FreeBSD; ошибка
8547        появилась в 0.1.5.
8548 
8549 
8550 Изменения в nginx 0.1.6                                           11.11.2004
8551 
8552     *) Исправление: при некоторых комбинациях директив location c
8553        регулярными выражениями использовалась конфигурация не из того
8554        location.
8555 
8556 
8557 Изменения в nginx 0.1.5                                           11.11.2004
8558 
8559     *) Исправление: на Solaris и Linux могло быть очень много сообщений
8560        "recvmsg() returned not enough data".
8561 
8562     *) Исправление: в режиме прокси без использования sendfile на Solaris
8563        возникала ошибка "writev() failed (22: Invalid argument)". На других
8564        платформах, не поддерживающих sendfile, процесс зацикливался.
8565 
8566     *) Исправление: при использовании sendfile в режиме прокси на Solaris
8567        возникал segmentation fault.
8568 
8569     *) Исправление: segmentation fault на Solaris.
8570 
8571     *) Исправление: обновление исполняемого файла на лету не работало на
8572        Linux.
8573 
8574     *) Исправление: в списке файлов, выдаваемом модулем
8575        ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
8576        знаки процента.
8577 
8578     *) Изменение: уменьшение операций копирования.
8579 
8580     *) Добавление: директива userid_p3p.
8581 
8582 
8583 Изменения в nginx 0.1.4                                           26.10.2004
8584 
8585     *) Исправление: ошибка в модуле ngx_http_autoindex_module.
8586 
8587 
8588 Изменения в nginx 0.1.3                                           25.10.2004
8589 
8590     *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
8591 
8592     *) Добавление: директива proxy_set_x_url.
8593 
8594     *) Исправление: модуль проксировании мог привести к зацикливанию, если
8595        не использовался sendfile.
8596 
8597 
8598 Изменения в nginx 0.1.2                                           21.10.2004
8599 
8600     *) Добавление: параметры --user=USER, --group=GROUP и
8601        --with-ld-opt=OPTIONS в configure.
8602 
8603     *) Добавление: директива server_name поддерживает *.domain.tld.
8604 
8605     *) Исправление: улучшена переносимость на неизвестные платформы.
8606 
8607     *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
8608        файл указан в командной строке; ошибка появилась в 0.1.1.
8609 
8610     *) Исправление: модуль проксировании мог привести к зацикливанию, если
8611        не использовался sendfile.
8612 
8613     *) Исправление: при использовании sendfile текст ответа не
8614        перекодировался согласно директивам модуля charset; ошибка появилась
8615        в 0.1.1.
8616 
8617     *) Исправление: очень редкая ошибка при обработке kqueue.
8618 
8619     *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
8620        проксировании.
8621 
8622 
8623 Изменения в nginx 0.1.1                                           11.10.2004
8624 
8625     *) Добавление: директива gzip_types.
8626 
8627     *) Добавление: директива tcp_nodelay.
8628 
8629     *) Добавление: директива send_lowat работает не только на платформах,
8630        поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
8631        SO_SNDLOWAT.
8632 
8633     *) Добавление: эмуляция setproctitle() для Linux и Solaris.
8634 
8635     *) Исправление: ошибка при переписывании заголовка "Location" при
8636        проксировании.
8637 
8638     *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
8639        зацикливанию.
8640 
8641     *) Исправление: ошибки в модуле /dev/poll.
8642 
8643     *) Исправление: при проксировании и использовании временных файлов
8644        ответы портились.
8645 
8646     *) Исправление: бэкенду передавались запросы с неперекодированными
8647        символами.
8648 
8649     *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
8650        обязательно использовать параметр --with-poll_module.
8651 
8652 
8653 Изменения в nginx 0.1.0                                           04.10.2004
8654 
8655     *) Первая публично доступная версия.
8656