Back to home page

Nginx displayed by LXR

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

0001 
0002 Изменения в nginx 1.12.2                                          17.10.2017
0003 
0004     *) Исправление: клиентские SSL-соединения сразу закрывались, если
0005        использовался отложенный accept и параметр proxy_protocol директивы
0006        listen.
0007 
0008     *) Исправление: клиентские соединения могли сбрасываться при
0009        тестировании конфигурации, если использовался параметр reuseport
0010        директивы listen на Linux.
0011 
0012     *) Исправление: на 32-битных платформах при запросе более 4 гигабайт с
0013        помощью нескольких диапазонов возвращалась некорректная длина ответа.
0014 
0015     *) Исправление: при использовании директивы ssl_preread в модуле stream
0016        не работало переключение на следующий бэкенд.
0017 
0018     *) Исправление: при использовании HTTP/2 тело запроса могло быть
0019        повреждено.
0020 
0021     *) Исправление: в обработке адресов клиентов при использовании unix
0022        domain сокетов.
0023 
0024 
0025 Изменения в nginx 1.12.1                                          11.07.2017
0026 
0027     *) Безопасность: специально созданный запрос мог вызвать целочисленное
0028        переполнение в range-фильтре и последующую некорректную обработку
0029        запрошенных диапазонов, что потенциально могло привести к утечке
0030        конфиденциальной информации (CVE-2017-7529).
0031 
0032 
0033 Изменения в nginx 1.12.0                                          12.04.2017
0034 
0035     *) Стабильная ветка 1.12.x.
0036 
0037 
0038 Изменения в nginx 1.11.13                                         04.04.2017
0039 
0040     *) Добавление: параметр http_429 в директивах proxy_next_upstream,
0041        fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
0042        Спасибо Piotr Sikora.
0043 
0044     *) Исправление: в обработке ошибок выделения памяти.
0045 
0046     *) Исправление: при использовании директив sendfile и timer_resolution
0047        на Linux запросы могли зависать.
0048 
0049     *) Исправление: при использовании с подзапросами директив sendfile и
0050        aio_write запросы могли зависать.
0051 
0052     *) Исправление: в модуле ngx_http_v2_module.
0053        Спасибо Piotr Sikora.
0054 
0055     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0056        произойти segmentation fault.
0057 
0058     *) Исправление: запросы могли зависать при использовании с подзапросами
0059        директив limit_rate, sendfile_max_chunk, limit_req или метода
0060        $r->sleep() встроенного перла.
0061 
0062     *) Исправление: в модуле ngx_http_slice_module.
0063 
0064 
0065 Изменения в nginx 1.11.12                                         24.03.2017
0066 
0067     *) Исправление: nginx мог нагружать процессор; ошибка появилась в
0068        1.11.11.
0069 
0070 
0071 Изменения в nginx 1.11.11                                         21.03.2017
0072 
0073     *) Добавление: директива worker_shutdown_timeout.
0074 
0075     *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
0076        Спасибо Wei-Ko Kao.
0077 
0078     *) Исправление: при попытке установить переменную $limit_rate в пустую
0079        строку в рабочем процессе мог произойти segmentation fault.
0080 
0081     *) Исправление: директивы proxy_cache_background_update,
0082        fastcgi_cache_background_update, scgi_cache_background_update и
0083        uwsgi_cache_background_update могли работать некорректно, если
0084        использовалась директива if.
0085 
0086     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0087        если количество large_client_header_buffers в виртуальном сервере
0088        отличалось от такового в сервере по умолчанию.
0089 
0090     *) Исправление: в почтовом прокси-сервере.
0091 
0092 
0093 Изменения в nginx 1.11.10                                         14.02.2017
0094 
0095     *) Изменение: формат заголовка кэша был изменен, ранее закэшированные
0096        ответы будут загружены заново.
0097 
0098     *) Добавление: поддержка расширений stale-while-revalidate и
0099        stale-if-error в строке "Cache-Control" в заголовке ответа бэкенда.
0100 
0101     *) Добавление: директивы proxy_cache_background_update,
0102        fastcgi_cache_background_update, scgi_cache_background_update и
0103        uwsgi_cache_background_update.
0104 
0105     *) Добавление: теперь nginx может кэшировать ответы со строкой Vary
0106        заголовка длиной до 128 символов (вместо 42 символов в предыдущих
0107        версиях).
0108 
0109     *) Добавление: параметр build директивы server_tokens.
0110        Спасибо Tom Thorogood.
0111 
0112     *) Исправление: при обработке запросов со строкой "Expect: 100-continue"
0113        в заголовке запроса в логах могли появляться сообщения "[crit]
0114        SSL_write() failed".
0115 
0116     *) Исправление: модуль ngx_http_slice_module не работал в именованных
0117        location'ах.
0118 
0119     *) Исправление: при использовании AIO после перенаправления запроса с
0120        помощью X-Accel-Redirect в рабочем процессе мог произойти
0121        segmentation fault.
0122 
0123     *) Исправление: уменьшено потребление памяти для долгоживущих запросов,
0124        использующих сжатие.
0125 
0126 
0127 Изменения в nginx 1.11.9                                          24.01.2017
0128 
0129     *) Исправление: при использовании модуля stream nginx мог нагружать
0130        процессор; ошибка появилась в 1.11.5.
0131 
0132     *) Исправление: метод аутентификации EXTERNAL в почтовом прокси-сервере
0133        можно было использовать, даже если он не был разрешён в конфигурации.
0134 
0135     *) Исправление: при использовании директивы ssl_verify_client модуля
0136        stream в рабочем процессе мог произойти segmentation fault.
0137 
0138     *) Исправление: директива ssl_verify_client модуля stream могла не
0139        работать.
0140 
0141     *) Исправление: при исчерпании рабочим процессом свободных соединений
0142        keepalive-соединения могли закрываться излишне агрессивно.
0143        Спасибо Joel Cunningham.
0144 
0145     *) Исправление: при использовании директивы sendfile на FreeBSD и macOS
0146        мог возвращаться некорректный ответ; ошибка появилась в 1.7.8.
0147 
0148     *) Исправление: при использовании директивы aio_write ответ мог
0149        сохраняться в кэш не полностью.
0150 
0151     *) Исправление: при использовании директивы aio_write могла происходить
0152        утечка сокетов.
0153 
0154 
0155 Изменения в nginx 1.11.8                                          27.12.2016
0156 
0157     *) Добавление: директива absolute_redirect.
0158 
0159     *) Добавление: параметр escape директивы log_format.
0160 
0161     *) Добавление: проверка клиентских SSL-сертификатов в модуле stream.
0162 
0163     *) Добавление: директива ssl_session_ticket_key поддерживает шифрование
0164        TLS session tickets с помощью AES256 при использовании с 80-байтными
0165        ключами.
0166 
0167     *) Добавление: поддержка vim-commentary в скриптах для vim.
0168        Спасибо Armin Grodon.
0169 
0170     *) Исправление: рекурсия при получении значений переменных не
0171        ограничивалась.
0172 
0173     *) Исправление: в модуле ngx_stream_ssl_preread_module.
0174 
0175     *) Исправление: если сервер, описанный в блоке upstream в модуле stream,
0176        был признан неработающим, то после истечения fail_timeout он
0177        признавался работающим только после завершения тестового соединения;
0178        теперь достаточно, чтобы соединение было успешно установлено.
0179 
0180     *) Исправление: nginx/Windows не собирался с 64-битным Visual Studio.
0181 
0182     *) Исправление: nginx/Windows не собирался с OpenSSL 1.1.0.
0183 
0184 
0185 Изменения в nginx 1.11.7                                          13.12.2016
0186 
0187     *) Изменение: переменная $ssl_client_verify теперь в случае ошибки
0188        проверки клиентского сертификата содержит строку с описанием ошибки,
0189        например, "FAILED:certificate has expired".
0190 
0191     *) Добавление: переменные $ssl_ciphers, $ssl_curves,
0192        $ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain.
0193 
0194     *) Добавление: параметр volatile директивы map.
0195 
0196     *) Исправление: при сборке динамических модулей не учитывались заданные
0197        для модуля зависимости.
0198 
0199     *) Исправление: при использовании HTTP/2 и директив limit_req или
0200        auth_request тело запроса могло быть повреждено; ошибка появилась в
0201        1.11.0.
0202 
0203     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0204        произойти segmentation fault; ошибка появилась в 1.11.3.
0205 
0206     *) Исправление: в модуле ngx_http_mp4_module.
0207        Спасибо Congcong Hu.
0208 
0209     *) Исправление: в модуле ngx_http_perl_module.
0210 
0211 
0212 Изменения в nginx 1.11.6                                          15.11.2016
0213 
0214     *) Изменение: формат переменных $ssl_client_s_dn и $ssl_client_i_dn
0215        изменён на соответствующий RFC 2253 (RFC 4514); значения в старом
0216        формате доступны через переменные $ssl_client_s_dn_legacy и
0217        $ssl_client_i_dn_legacy.
0218 
0219     *) Изменение: при сохранении временных файлов в каталоге кэша они теперь
0220        располагаются не в отдельном подкаталоге для временных файлов, а в
0221        том же подкаталоге, что и соответствующие файлы в кэше.
0222 
0223     *) Добавление: поддержка метода аутентификации EXTERNAL в почтовом
0224        прокси-сервере.
0225        Спасибо Robert Norris.
0226 
0227     *) Добавление: поддержка WebP в модуле ngx_http_image_filter_module.
0228 
0229     *) Добавление: директива proxy_method поддерживает переменные.
0230        Спасибо Дмитрию Лазуркину.
0231 
0232     *) Добавление: директива http2_max_requests в модуле ngx_http_v2_module.
0233 
0234     *) Добавление: директивы proxy_cache_max_range_offset,
0235        fastcgi_cache_max_range_offset, scgi_cache_max_range_offset и
0236        uwsgi_cache_max_range_offset.
0237 
0238     *) Исправление: плавное завершение старых рабочих процессов могло
0239        занимать бесконечное время при использовании HTTP/2.
0240 
0241     *) Исправление: в модуле ngx_http_mp4_module.
0242 
0243     *) Исправление: при проксировании WebSocket-соединений и включённом
0244        кэшировании в логах могли появляться сообщения "ignore long locked
0245        inactive cache entry".
0246 
0247     *) Исправление: если во время SSL handshake с бэкендом происходил
0248        таймаут, nginx ничего не писал в лог и возвращал ответ с кодом 502
0249        вместо 504.
0250 
0251 
0252 Изменения в nginx 1.11.5                                          11.10.2016
0253 
0254     *) Изменение: параметр configure --with-ipv6 упразднён, поддержка IPv6
0255        теперь собирается автоматически.
0256 
0257     *) Изменение: теперь, если в блоке upstream не оказалось доступных
0258        серверов, nginx не сбрасывает статистику ошибок всех серверов, как
0259        делал ранее, а ожидает истечения fail_timeout.
0260 
0261     *) Добавление: модуль ngx_stream_ssl_preread_module.
0262 
0263     *) Добавление: директива server в блоке upstream поддерживает параметр
0264        max_conns.
0265 
0266     *) Добавление: параметр configure --with-compat.
0267 
0268     *) Добавление: параметры manager_files, manager_threshold и
0269        manager_sleep директив proxy_cache_path, fastcgi_cache_path,
0270        scgi_cache_path и uwsgi_cache_path.
0271 
0272     *) Исправление: при сборке perl-модуля не использовались флаги, заданные
0273        с помощью параметра configure --with-ld-opt.
0274 
0275     *) Исправление: в директиве add_after_body при использовании совместно с
0276        директивой sub_filter.
0277 
0278     *) Исправление: в переменной $realip_remote_addr.
0279 
0280     *) Исправление: директивы dav_access, proxy_store_access,
0281        fastcgi_store_access, scgi_store_access и uwsgi_store_access
0282        игнорировали права, заданные для пользователя.
0283 
0284     *) Исправление: unix domain listen-сокеты могли не наследоваться при
0285        обновлении исполняемого файла на Linux.
0286 
0287     *) Исправление: nginx возвращал ошибку 400 на запросы с символом "-" в
0288        HTTP-методе.
0289 
0290 
0291 Изменения в nginx 1.11.4                                          13.09.2016
0292 
0293     *) Добавление: переменная $upstream_bytes_received.
0294 
0295     *) Добавление: переменные $bytes_received, $session_time, $protocol,
0296        $status, $upstream_addr, $upstream_bytes_sent,
0297        $upstream_bytes_received, $upstream_connect_time,
0298        $upstream_first_byte_time и $upstream_session_time в модуле stream.
0299 
0300     *) Добавление: модуль ngx_stream_log_module.
0301 
0302     *) Добавление: параметр proxy_protocol в директиве listen, переменные
0303        $proxy_protocol_addr и $proxy_protocol_port в модуле stream.
0304 
0305     *) Добавление: модуль ngx_stream_realip_module.
0306 
0307     *) Исправление: nginx не собирался с модулем stream и модулем
0308        ngx_http_ssl_module, но без модуля ngx_stream_ssl_module; ошибка
0309        появилась в 1.11.3.
0310 
0311     *) Добавление: опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась;
0312        ошибка появилась в 1.11.2.
0313 
0314     *) Исправление: в параметре ranges директивы geo.
0315 
0316     *) Исправление: при использовании директив "aio threads" и sendfile мог
0317        возвращаться некорректный ответ; ошибка появилась в 1.9.13.
0318 
0319 
0320 Изменения в nginx 1.11.3                                          26.07.2016
0321 
0322     *) Изменение: теперь accept_mutex по умолчанию выключен.
0323 
0324     *) Добавление: теперь nginx использует EPOLLEXCLUSIVE на Linux.
0325 
0326     *) Добавление: модуль ngx_stream_geo_module.
0327 
0328     *) Добавление: модуль ngx_stream_geoip_module.
0329 
0330     *) Добавление: модуль ngx_stream_split_clients_module.
0331 
0332     *) Добавление: директивы proxy_pass и proxy_ssl_name в модуле stream
0333        поддерживают переменные.
0334 
0335     *) Исправление: утечки сокетов при использовании HTTP/2.
0336 
0337     *) Исправление: в configure.
0338        Спасибо Piotr Sikora.
0339 
0340 
0341 Изменения в nginx 1.11.2                                          05.07.2016
0342 
0343     *) Изменение: теперь nginx всегда использует внутренние реализации MD5 и
0344        SHA1; параметры configure --with-md5 и --with-sha1 упразднены.
0345 
0346     *) Добавление: поддержка переменных в модуле stream.
0347 
0348     *) Добавление: модуль ngx_stream_map_module.
0349 
0350     *) Добавление: модуль ngx_stream_return_module.
0351 
0352     *) Добавление: в директивах proxy_bind, fastcgi_bind, memcached_bind,
0353        scgi_bind и uwsgi_bind теперь можно указывать порт.
0354 
0355     *) Добавление: теперь nginx использует опцию сокета
0356        IP_BIND_ADDRESS_NO_PORT, если она доступна.
0357 
0358     *) Исправление: при использовании HTTP/2 и директивы
0359        proxy_request_buffering в рабочем процессе мог произойти segmentation
0360        fault.
0361 
0362     *) Исправление: при использовании HTTP/2 к запросам, передаваемым на
0363        бэкенд, всегда добавлялась строка заголовка "Content-Length", даже
0364        если у запроса не было тела.
0365 
0366     *) Исправление: при использовании HTTP/2 в логах могли появляться
0367        сообщения "http request count is zero".
0368 
0369     *) Исправление: при использовании директивы sub_filter могло
0370        буферизироваться больше данных, чем это необходимо; проблема
0371        появилась в 1.9.4.
0372 
0373 
0374 Изменения в nginx 1.11.1                                          31.05.2016
0375 
0376     *) Безопасность: при записи тела специально созданного запроса во
0377        временный файл в рабочем процессе мог происходить segmentation fault
0378        (CVE-2016-4450); ошибка появилась в 1.3.9.
0379 
0380 
0381 Изменения в nginx 1.11.0                                          24.05.2016
0382 
0383     *) Добавление: параметр transparent директив proxy_bind, fastcgi_bind,
0384        memcached_bind, scgi_bind и uwsgi_bind.
0385 
0386     *) Добавление: переменная $request_id.
0387 
0388     *) Добавление: директива map поддерживает комбинации нескольких
0389        переменных в качестве результирующих значений.
0390 
0391     *) Добавление: теперь при использовании метода epoll nginx проверяет,
0392        поддерживает ли ядро события EPOLLRDHUP, и соответственно
0393        оптимизирует обработку соединений.
0394 
0395     *) Добавление: директивы ssl_certificate и ssl_certificate_key теперь
0396        можно указывать несколько раз для загрузки сертификатов разных типов
0397        (например, RSA и ECDSA).
0398 
0399     *) Добавление: при использовании OpenSSL 1.0.2 и новее с помощью
0400        директивы ssl_ecdh_curve теперь можно задать список кривых; по
0401        умолчанию используется встроенный в OpenSSL список кривых.
0402 
0403     *) Изменение: для использования DHE-шифров теперь надо явно задавать
0404        файл параметров с помощью директивы ssl_dhparam.
0405 
0406     *) Добавление: переменная $proxy_protocol_port.
0407 
0408     *) Добавление: переменная $realip_remote_port в модуле
0409        ngx_http_realip_module.
0410 
0411     *) Добавление: модуль ngx_http_realip_module теперь позволяет
0412        устанавливать не только адрес, но и порт клиента.
0413 
0414     *) Изменение: при попытке запросить виртуальный сервер, отличающийся от
0415        согласованного в процессе SSL handshake, теперь возвращается ответ
0416        "421 Misdirected Request"; это улучшает совместимость с некоторыми
0417        HTTP/2-клиентами в случае использования клиентских сертификатов.
0418 
0419     *) Изменение: HTTP/2-клиенты теперь могут сразу присылать тело запроса;
0420        директива http2_body_preread_size позволяет указать размер буфера,
0421        который будет использоваться до того, как nginx начнёт читать тело.
0422 
0423     *) Исправление: при использовании директивы proxy_cache_bypass не
0424        обновлялись закэшированные ошибочные ответы.
0425 
0426 
0427 Изменения в nginx 1.9.15                                          19.04.2016
0428 
0429     *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли
0430        возникать ошибки "recv() failed".
0431 
0432     *) Исправление: при использовании HTTP/2 и директив limit_req или
0433        auth_request при чтении тела запроса мог произойти таймаут или ошибка
0434        "client violated flow control"; ошибка появилась в 1.9.14.
0435 
0436     *) Изменение: при использовании HTTP/2 ответ мог не показываться
0437        некоторыми браузерами, если тело запроса было прочитано не целиком;
0438        ошибка появилась в 1.9.14.
0439 
0440     *) Исправление: при использовании директивы "aio threads" соединения
0441        могли зависать.
0442        Спасибо Mindaugas Rasiukevicius.
0443 
0444 
0445 Изменения в nginx 1.9.14                                          05.04.2016
0446 
0447     *) Добавление: совместимость с OpenSSL 1.1.0.
0448 
0449     *) Добавление: директивы proxy_request_buffering,
0450        fastcgi_request_buffering, scgi_request_buffering и
0451        uwsgi_request_buffering теперь работают при использовании HTTP/2.
0452 
0453     *) Исправление: при использовании HTTP/2 в логах могли появляться
0454        сообщения "zero size buf in output".
0455 
0456     *) Исправление: при использовании HTTP/2 директива client_max_body_size
0457        могла работать неверно.
0458 
0459     *) Исправление: незначительных ошибок логгирования.
0460 
0461 
0462 Изменения в nginx 1.9.13                                          29.03.2016
0463 
0464     *) Изменение: неидемпотентные запросы (POST, LOCK, PATCH) теперь по
0465        умолчанию не передаются на другой сервер, если запрос уже был
0466        отправлен на бэкенд; параметр non_idempotent директивы
0467        proxy_next_upstream явно разрешает повторять такие запросы.
0468 
0469     *) Добавление: модуль ngx_http_perl_module теперь можно собрать
0470        динамически.
0471 
0472     *) Добавление: поддержка UDP в модуле stream.
0473 
0474     *) Добавление: директива aio_write.
0475 
0476     *) Добавление: теперь cache manager следит за количеством элементов в
0477        кэше и старается не допускать переполнений зоны разделяемой памяти.
0478 
0479     *) Исправление: при использовании директив sendfile и aio с подзапросами
0480        в логах могли появляться сообщения "task already active" и "second
0481        aio post".
0482 
0483     *) Исправление: при использовании кэширования в логах могли появляться
0484        сообщения "zero size buf in output", если клиент закрывал соединение
0485        преждевременно.
0486 
0487     *) Исправление: при использовании кэширования соединения с клиентами
0488        могли закрываться без необходимости.
0489        Спасибо Justin Li.
0490 
0491     *) Исправление: nginx мог нагружать процессор при использовании
0492        директивы sendfile на Linux и Solaris, если отправляемый файл был
0493        изменён в процессе отправки.
0494 
0495     *) Исправление: при использовании директив sendfile и "aio threads"
0496        соединения могли зависать.
0497 
0498     *) Исправление: в директивах proxy_pass, fastcgi_pass, scgi_pass и
0499        uwsgi_pass при использовании переменных.
0500        Спасибо Piotr Sikora.
0501 
0502     *) Исправление: в модуле ngx_http_sub_filter_module.
0503 
0504     *) Исправление: если в закэшированном соединении к бэкенду происходила
0505        ошибка, запрос передавался на другой сервер без учёта директивы
0506        proxy_next_upstream.
0507 
0508     *) Исправление: ошибки "CreateFile() failed" при создании временных
0509        файлов на Windows.
0510 
0511 
0512 Изменения в nginx 1.9.12                                          24.02.2016
0513 
0514     *) Добавление: кодирование Хаффмана заголовков ответов в HTTP/2.
0515        Спасибо Владу Краснову.
0516 
0517     *) Добавление: директива worker_cpu_affinity теперь поддерживает более
0518        64 процессоров.
0519 
0520     *) Исправление: совместимость со сторонними модулями на C++; ошибка
0521        появилась в 1.9.11.
0522        Спасибо Piotr Sikora.
0523 
0524     *) Исправление: nginx не собирался статически с OpenSSL на Linux; ошибка
0525        появилась в 1.9.11.
0526 
0527     *) Исправление: директива "add_header ... always" с пустым значением не
0528        удаляла из заголовков ошибочных ответов строки Last-Modified и ETag.
0529 
0530     *) Изменение: при использовании OpenSSL 1.0.2f в логах могли появляться
0531        сообщения "called a function you should not call" и "shutdown while
0532        in init".
0533 
0534     *) Исправление: ошибочные заголовки могли логгироваться некорректно.
0535 
0536     *) Исправление: утечки сокетов при использовании HTTP/2.
0537 
0538     *) Исправление: в модуле ngx_http_v2_module.
0539 
0540 
0541 Изменения в nginx 1.9.11                                          09.02.2016
0542 
0543     *) Добавление: теперь resolver поддерживает TCP.
0544 
0545     *) Добавление: динамические модули.
0546 
0547     *) Исправление: при использовании HTTP/2 переменная $request_length не
0548        учитывала размер заголовков запроса.
0549 
0550     *) Исправление: в модуле ngx_http_v2_module.
0551 
0552 
0553 Изменения в nginx 1.9.10                                          26.01.2016
0554 
0555     *) Безопасность: при использовании директивы resolver во время обработки
0556        ответов DNS-сервера могло происходить разыменование некорректного
0557        адреса, что позволяло атакующему, имеющему возможность подделывать
0558        UDP-пакеты от DNS-сервера, вызвать segmentation fault в рабочем
0559        процессе (CVE-2016-0742).
0560 
0561     *) Безопасность: при использовании директивы resolver во время обработки
0562        CNAME-записей могло произойти обращение к ранее освобождённой памяти,
0563        что позволяло атакующему, имеющему возможность инициировать
0564        преобразование произвольных имён в адреса, вызвать segmentation fault
0565        в рабочем процессе, а также потенциально могло иметь другие
0566        последствия (CVE-2016-0746).
0567 
0568     *) Безопасность: при использовании директивы resolver во время обработки
0569        CNAME-записей не во всех случаях проверялось ограничение на
0570        максимальное количество записей в цепочке, что позволяло атакующему,
0571        имеющему возможность инициировать преобразование произвольных имён в
0572        адреса, вызвать чрезмерное потребление ресурсов рабочими процессами
0573        (CVE-2016-0747).
0574 
0575     *) Добавление: параметр auto директивы worker_cpu_affinity.
0576 
0577     *) Исправление: параметр proxy_protocol директивы listen не работал с
0578        IPv6 listen-сокетами.
0579 
0580     *) Исправление: при использовании директивы keepalive соединения к
0581        бэкендам могли кэшироваться некорректно.
0582 
0583     *) Исправление: после перенаправления запроса с помощью X-Accel-Redirect
0584        при проксировании использовался HTTP-метод оригинального запроса.
0585 
0586 
0587 Изменения в nginx 1.9.9                                           09.12.2015
0588 
0589     *) Исправление: проксирование в unix domain сокеты не работало при
0590        использовании переменных; ошибка появилась в 1.9.8.
0591 
0592 
0593 Изменения в nginx 1.9.8                                           08.12.2015
0594 
0595     *) Добавление: поддержка pwritev().
0596 
0597     *) Добавление: директива include в блоке upstream.
0598 
0599     *) Добавление: модуль ngx_http_slice_module.
0600 
0601     *) Исправление: при использовании LibreSSL в рабочем процессе мог
0602        произойти segmentation fault; ошибка появилась в 1.9.6.
0603 
0604     *) Исправление: nginx мог не собираться на OS X.
0605 
0606 
0607 Изменения в nginx 1.9.7                                           17.11.2015
0608 
0609     *) Добавление: параметр nohostname логгирования в syslog.
0610 
0611     *) Добавление: директива proxy_cache_convert_head.
0612 
0613     *) Добавление: переменная $realip_remote_addr в модуле
0614        ngx_http_realip_module.
0615 
0616     *) Исправление: директива expires могла не срабатывать при использовании
0617        переменных.
0618 
0619     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0620        произойти segmentation fault; ошибка появилась в 1.9.6.
0621 
0622     *) Исправление: если nginx был собран с модулем ngx_http_v2_module,
0623        протокол HTTP/2 мог быть использован клиентом, даже если не был
0624        указан параметр http2 директивы listen.
0625 
0626     *) Исправление: в модуле ngx_http_v2_module.
0627 
0628 
0629 Изменения в nginx 1.9.6                                           27.10.2015
0630 
0631     *) Исправление: при использовании HTTP/2 в рабочем процессе мог
0632        произойти segmentation fault.
0633        Спасибо Piotr Sikora и Denis Andzakovic.
0634 
0635     *) Исправление: при использовании HTTP/2 переменная $server_protocol
0636        была пустой.
0637 
0638     *) Исправление: SSL-соединения к бэкендам в модуле stream могли
0639        неожиданно завершаться по таймауту.
0640 
0641     *) Исправление: при использовании различных настроек ssl_session_cache в
0642        разных виртуальных серверах в рабочем процессе мог произойти
0643        segmentation fault.
0644 
0645     *) Исправление: nginx/Windows не собирался с MinGW gcc; ошибка появилась
0646        в 1.9.4.
0647        Спасибо Kouhei Sutou.
0648 
0649     *) Исправление: при использовании директивы timer_resolution на Windows
0650        время не обновлялось.
0651 
0652     *) Незначительные исправления и улучшения.
0653        Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
0654 
0655 
0656 Изменения в nginx 1.9.5                                           22.09.2015
0657 
0658     *) Добавление: модуль ngx_http_v2_module (заменяет модуль
0659        ngx_http_spdy_module).
0660        Спасибо Dropbox и Automattic за спонсирование разработки.
0661 
0662     *) Изменение: теперь по умолчанию директива output_buffers использует
0663        два буфера.
0664 
0665     *) Изменение: теперь nginx ограничивает максимальную вложенность
0666        подзапросов, а не количество одновременных подзапросов.
0667 
0668     *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ
0669        полностью.
0670        Спасибо Геннадию Махомеду и Сергею Брестеру.
0671 
0672     *) Исправление: при использовании кэша в логах могли появляться
0673        сообщения "header already sent"; ошибка появилась в 1.7.5.
0674 
0675     *) Исправление: при использовании CephFS и директивы timer_resolution на
0676        Linux в логах могли появляться сообщения "writev() failed (4:
0677        Interrupted system call)".
0678 
0679     *) Исправление: в обработке ошибок конфигурации.
0680        Спасибо Markus Linnala.
0681 
0682     *) Исправление: при использовании директивы sub_filter на уровне http в
0683        рабочем процессе происходил segmentation fault; ошибка появилась в
0684        1.9.4.
0685 
0686 
0687 Изменения в nginx 1.9.4                                           18.08.2015
0688 
0689     *) Изменение: директивы proxy_downstream_buffer и proxy_upstream_buffer
0690        в модуле stream заменены директивой proxy_buffer_size.
0691 
0692     *) Добавление: директива tcp_nodelay в модуле stream.
0693 
0694     *) Добавление: теперь можно указать несколько директив sub_filter
0695        одновременно.
0696 
0697     *) Добавление: директива sub_filter поддерживает переменные в строке
0698        поиска.
0699 
0700     *) Изменение: тестирование конфигурации могло не работать под Linux
0701        OpenVZ.
0702        Спасибо Геннадию Махомеду.
0703 
0704     *) Исправление: после переконфигурации старые рабочие процессы могли
0705        сильно нагружать процессор при больших значениях worker_connections.
0706 
0707     *) Исправление: при совместном использовании директив try_files и alias
0708        внутри location'а, заданного регулярным выражением, в рабочем
0709        процессе мог произойти segmentation fault; ошибка появилась в 1.7.1.
0710 
0711     *) Исправление: директива try_files внутри вложенного location'а,
0712        заданного регулярным выражением, работала неправильно, если во
0713        внешнем location'е использовалась директива alias.
0714 
0715     *) Исправление: в обработке ошибок при построении хэш-таблиц.
0716 
0717     *) Исправление: nginx не собирался с Visual Studio 2015.
0718 
0719 
0720 Изменения в nginx 1.9.3                                           14.07.2015
0721 
0722     *) Изменение: дублирующиеся блоки http, mail и stream теперь запрещены.
0723 
0724     *) Добавление: ограничение количества соединений в модуле stream.
0725 
0726     *) Добавление: ограничение скорости в модуле stream.
0727 
0728     *) Исправление: директива zone в блоке upstream не работала на Windows.
0729 
0730     *) Исправление: совместимость с LibreSSL в модуле stream.
0731        Спасибо Piotr Sikora.
0732 
0733     *) Исправление: в параметре --builddir в configure.
0734        Спасибо Piotr Sikora.
0735 
0736     *) Исправление: директива ssl_stapling_file не работала; ошибка
0737        появилась в 1.9.2.
0738        Спасибо Faidon Liambotis и Brandon Black.
0739 
0740     *) Исправление: при использовании директивы ssl_stapling в рабочем
0741        процессе мог произойти segmentation fault; ошибка появилась в 1.9.2.
0742        Спасибо Matthew Baldwin.
0743 
0744 
0745 Изменения в nginx 1.9.2                                           16.06.2015
0746 
0747     *) Добавление: параметр backlog директивы listen в почтовом
0748        прокси-сервере и модуле stream.
0749 
0750     *) Добавление: директивы allow и deny в модуле stream.
0751 
0752     *) Добавление: директива proxy_bind в модуле stream.
0753 
0754     *) Добавление: директива proxy_protocol в модуле stream.
0755 
0756     *) Добавление: ключ -T.
0757 
0758     *) Добавление: параметр REQUEST_SCHEME добавлен в стандартные
0759        конфигурационные файлы fastcgi.conf, fastcgi_params, scgi_params и
0760        uwsgi_params.
0761 
0762     *) Исправление: параметр reuseport директивы listen в модуле stream не
0763        работал.
0764 
0765     *) Исправление: OCSP stapling в некоторых случаях мог вернуть устаревший
0766        OCSP-ответ.
0767 
0768 
0769 Изменения в nginx 1.9.1                                           26.05.2015
0770 
0771     *) Изменение: теперь протокол SSLv3 по умолчанию запрещён.
0772 
0773     *) Изменение: некоторые давно устаревшие директивы больше не
0774        поддерживаются.
0775 
0776     *) Добавление: параметр reuseport директивы listen.
0777        Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
0778 
0779     *) Добавление: переменная $upstream_connect_time.
0780 
0781     *) Исправление: в директиве hash на big-endian платформах.
0782 
0783     *) Исправление: nginx мог не запускаться на некоторых старых версиях
0784        Linux; ошибка появилась в 1.7.11.
0785 
0786     *) Исправление: в парсинге IP-адресов.
0787        Спасибо Сергею Половко.
0788 
0789 
0790 Изменения в nginx 1.9.0                                           28.04.2015
0791 
0792     *) Изменение: устаревшие методы обработки соединений aio и rtsig больше
0793        не поддерживаются.
0794 
0795     *) Добавление: директива zone в блоке upstream.
0796 
0797     *) Добавление: модуль stream.
0798 
0799     *) Добавление: поддержка byte ranges для ответов модуля
0800        ngx_http_memcached_module.
0801        Спасибо Martin Mlynář.
0802 
0803     *) Добавление: разделяемую память теперь можно использовать на версиях
0804        Windows с рандомизацией адресного пространства.
0805        Спасибо Сергею Брестеру.
0806 
0807     *) Добавление: директиву error_log теперь можно использовать на уровнях
0808        mail и server в почтовом прокси-сервере.
0809 
0810     *) Исправление: параметр proxy_protocol директивы listen не работал,
0811        если не был указан в первой директиве listen для данного
0812        listen-сокета.
0813 
0814 
0815 Изменения в nginx 1.7.12                                          07.04.2015
0816 
0817     *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
0818        с бэкендами.
0819 
0820     *) Добавление: теперь потоки могут использоваться для чтения заголовков
0821        файлов в кэше.
0822 
0823     *) Исправление: в директиве proxy_request_buffering.
0824 
0825     *) Исправление: при использовании потоков на Linux в рабочем процессе
0826        мог произойти segmentation fault.
0827 
0828     *) Исправление: в обработке ошибок при использовании директивы
0829        ssl_stapling.
0830        Спасибо Filipe da Silva.
0831 
0832     *) Исправление: в модуле ngx_http_spdy_module.
0833 
0834 
0835 Изменения в nginx 1.7.11                                          24.03.2015
0836 
0837     *) Изменение: параметр sendfile директивы aio более не нужен; теперь
0838        nginx автоматически использует AIO для подгрузки данных для sendfile,
0839        если одновременно используются директивы aio и sendfile.
0840 
0841     *) Добавление: экспериментальная поддержка потоков.
0842 
0843     *) Добавление: директивы proxy_request_buffering,
0844        fastcgi_request_buffering, scgi_request_buffering и
0845        uwsgi_request_buffering.
0846 
0847     *) Добавление: экспериментальное API для обработки тела запроса.
0848 
0849     *) Добавление: проверка клиентских SSL-сертификатов в почтовом
0850        прокси-сервере.
0851        Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
0852 
0853     *) Добавление: уменьшение времени запуска при использовании директивы
0854        "hash ... consistent" в блоке upstream.
0855        Спасибо Wai Keen Woon.
0856 
0857     *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
0858 
0859     *) Исправление: в обработке хэш-таблиц.
0860        Спасибо Chris West.
0861 
0862     *) Исправление: в директиве proxy_cache_revalidate.
0863 
0864     *) Исправление: SSL-соединения могли зависать, если использовался
0865        отложенный accept или параметр proxy_protocol директивы listen.
0866        Спасибо James Hamlin.
0867 
0868     *) Исправление: переменная $upstream_response_time могла содержать
0869        неверное значение при использовании директивы image_filter.
0870 
0871     *) Исправление: в обработке целочисленных переполнений.
0872        Спасибо Régis Leroy.
0873 
0874     *) Исправление: при использовании LibreSSL было невозможно включить
0875        поддержку SSLv3.
0876 
0877     *) Исправление: при использовании LibreSSL в логах появлялись сообщения
0878        "ignoring stale global SSL error ... called a function you should not
0879        call".
0880 
0881     *) Исправление: сертификаты, указанные в директивах
0882        ssl_client_certificate и ssl_trusted_certificate, использовались для
0883        автоматического построения цепочек сертификатов.
0884 
0885 
0886 Изменения в nginx 1.7.10                                          10.02.2015
0887 
0888     *) Добавление: параметр use_temp_path директив proxy_cache_path,
0889        fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
0890 
0891     *) Добавление: переменная $upstream_header_time.
0892 
0893     *) Изменение: теперь при переполнении диска nginx пытается писать
0894        error_log'и только раз в секунду.
0895 
0896     *) Исправление: директива try_files при тестировании каталогов не
0897        игнорировала обычные файлы.
0898        Спасибо Damien Tournoud.
0899 
0900     *) Исправление: при использовании директивы sendfile на OS X возникали
0901        ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
0902 
0903     *) Исправление: в лог могли писаться сообщения "sem_post() failed".
0904 
0905     *) Исправление: nginx не собирался с musl libc.
0906        Спасибо James Taylor.
0907 
0908     *) Исправление: nginx не собирался на Tru64 UNIX.
0909        Спасибо Goetz T. Fischer.
0910 
0911 
0912 Изменения в nginx 1.7.9                                           23.12.2014
0913 
0914     *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
0915        uwsgi_cache поддерживают переменные.
0916 
0917     *) Добавление: директива expires поддерживает переменные.
0918 
0919     *) Добавление: возможность загрузки секретных ключей с аппаратных
0920        устройств с помощью OpenSSL engines.
0921        Спасибо Дмитрию Пичулину.
0922 
0923     *) Добавление: директива autoindex_format.
0924 
0925     *) Исправление: ревалидация элементов кэша теперь используется только
0926        для ответов с кодами 200 и 206.
0927        Спасибо Piotr Sikora.
0928 
0929     *) Исправление: строка "TE" заголовка запроса клиента передавалась на
0930        бэкенд при проксировании.
0931 
0932     *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
0933        uwsgi_pass могли неправильно работать внутри блоков if и
0934        limit_except.
0935 
0936     *) Исправление: директива proxy_store с параметром "on" игнорировалась,
0937        если на предыдущем уровне использовалась директива proxy_store с явно
0938        заданным путём к файлам.
0939 
0940     *) Исправление: nginx не собирался с BoringSSL.
0941        Спасибо Lukas Tribus.
0942 
0943 
0944 Изменения в nginx 1.7.8                                           02.12.2014
0945 
0946     *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
0947        подобные в заголовке запроса клиента передаются бэкенду при
0948        включённом кэшировании, если nginx заранее знает, что не будет
0949        кэшировать ответ (например, при использовании proxy_cache_min_uses).
0950 
0951     *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
0952        отправляет запрос на бэкенд без кэширования; новые директивы
0953        proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
0954        uwsgi_cache_lock_age позволяют указать, через какое время блокировка
0955        будет принудительно снята и будет сделана ещё одна попытка
0956        закэшировать ответ.
0957 
0958     *) Изменение: директива log_format теперь может использоваться только на
0959        уровне http.
0960 
0961     *) Добавление: директивы proxy_ssl_certificate,
0962        proxy_ssl_certificate_key, proxy_ssl_password_file,
0963        uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
0964        uwsgi_ssl_password_file.
0965        Спасибо Piotr Sikora.
0966 
0967     *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
0968        именованный location.
0969        Спасибо Toshikuni Fukaya.
0970 
0971     *) Добавление: теперь директива tcp_nodelay работает для
0972        SPDY-соединений.
0973 
0974     *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
0975        Спасибо Peter Wu.
0976 
0977     *) Исправление: nginx игнорировал значение "s-maxage" в строке
0978        "Cache-Control" в заголовке ответа бэкенда.
0979        Спасибо Piotr Sikora.
0980 
0981     *) Исправление: в модуле ngx_http_spdy_module.
0982        Спасибо Piotr Sikora.
0983 
0984     *) Исправление: в директиве ssl_password_file при использовании OpenSSL
0985        0.9.8zc, 1.0.0o, 1.0.1j.
0986 
0987     *) Исправление: при использовании директивы post_action в лог писались
0988        сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
0989 
0990     *) Исправление: при использовании директивы "postpone_output 0" с
0991        SSI-подзапросами в лог могли писаться сообщения "the http output
0992        chain is empty".
0993 
0994     *) Исправление: в директиве proxy_cache_lock при использовании
0995        SSI-подзапросов.
0996        Спасибо Yichun Zhang.
0997 
0998 
0999 Изменения в nginx 1.7.7                                           28.10.2014
1000 
1001     *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
1002        заголовке ответа бэкенда.
1003 
1004     *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
1005        scgi_force_ranges и uwsgi_force_ranges.
1006 
1007     *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
1008        scgi_limit_rate и uwsgi_limit_rate.
1009 
1010     *) Добавление: параметр Vary директив proxy_ignore_headers,
1011        fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
1012 
1013     *) Исправление: последняя часть ответа, полученного от бэкенда при
1014        небуферизированном проксировании, могла не отправляться клиенту, если
1015        использовались директивы gzip или gunzip.
1016 
1017     *) Исправление: в директиве proxy_cache_revalidate.
1018        Спасибо Piotr Sikora.
1019 
1020     *) Исправление: в обработке ошибок.
1021        Спасибо Yichun Zhang и Даниилу Бондареву.
1022 
1023     *) Исправление: в директивах proxy_next_upstream_tries и
1024        proxy_next_upstream_timeout.
1025        Спасибо Feng Gu.
1026 
1027     *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
1028        Спасибо Kouhei Sutou.
1029 
1030 
1031 Изменения в nginx 1.7.6                                           30.09.2014
1032 
1033     *) Изменение: устаревшая директива limit_zone больше не поддерживается.
1034 
1035     *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
1036        можно использовать комбинации нескольких переменных.
1037 
1038     *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
1039        запроса могло передаваться неправильно.
1040 
1041     *) Исправление: в логгировании в syslog.
1042 
1043 
1044 Изменения в nginx 1.7.5                                           16.09.2014
1045 
1046     *) Безопасность: при использовании общего для нескольких блоков server
1047        разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
1048        session tickets было возможно повторно использовать SSL-сессию в
1049        контексте другого блока server (CVE-2014-3616).
1050        Спасибо Antoine Delignat-Lavaud.
1051 
1052     *) Изменение: директиву stub_status теперь можно указывать без
1053        параметров.
1054 
1055     *) Добавление: параметр always директивы add_header.
1056 
1057     *) Добавление: директивы proxy_next_upstream_tries,
1058        proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
1059        fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
1060        memcached_next_upstream_timeout, scgi_next_upstream_tries,
1061        scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
1062        uwsgi_next_upstream_timeout.
1063 
1064     *) Исправление: в параметре if директивы access_log.
1065 
1066     *) Исправление: в модуле ngx_http_perl_module.
1067        Спасибо Piotr Sikora.
1068 
1069     *) Исправление: директива listen почтового прокси-сервера не позволяла
1070        указать более двух параметров.
1071 
1072     *) Исправление: директива sub_filter не работала с заменяемой строкой из
1073        одного символа.
1074 
1075     *) Исправление: запросы могли зависать, если использовался resolver и в
1076        процессе обращения к DNS-серверу происходил таймаут.
1077 
1078     *) Исправление: в модуле ngx_http_spdy_module при использовании
1079        совместно с AIO.
1080 
1081     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1082        если с помощью директивы set изменялись переменные "$http_...",
1083        "$sent_http_..." или "$upstream_http_...".
1084 
1085     *) Исправление: в обработке ошибок выделения памяти.
1086        Спасибо Markus Linnala и Feng Gu.
1087 
1088 
1089 Изменения в nginx 1.7.4                                           05.08.2014
1090 
1091     *) Безопасность: pipelined-команды не отбрасывались после команды
1092        STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
1093        1.5.6.
1094        Спасибо Chris Boulton.
1095 
1096     *) Изменение: экранирование символов в URI теперь использует
1097        шестнадцатеричные цифры в верхнем регистре.
1098        Спасибо Piotr Sikora.
1099 
1100     *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
1101        Спасибо Piotr Sikora.
1102 
1103     *) Исправление: запросы могли зависать, если использовался resolver и
1104        DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
1105 
1106     *) Исправление: в модуле ngx_http_spdy_module.
1107        Спасибо Piotr Sikora.
1108 
1109     *) Исправление: переменная $uri могла содержать мусор при возврате
1110        ошибок с кодом 400.
1111        Спасибо Сергею Боброву.
1112 
1113     *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
1114        ngx_http_dav_module.
1115        Спасибо Feng Gu.
1116 
1117     *) Исправление: при логгировании ошибок в syslog мог происходить
1118        segmentation fault; ошибка появилась в 1.7.1.
1119 
1120     *) Исправление: переменные $geoip_latitude, $geoip_longitude,
1121        $geoip_dma_code и $geoip_area_code могли не работать.
1122        Спасибо Yichun Zhang.
1123 
1124     *) Исправление: в обработке ошибок выделения памяти.
1125        Спасибо Tatsuhiko Kubo и Piotr Sikora.
1126 
1127 
1128 Изменения в nginx 1.7.3                                           08.07.2014
1129 
1130     *) Добавление: weak entity tags теперь не удаляются при изменениях
1131        ответа, а strong entity tags преобразуются в weak.
1132 
1133     *) Добавление: ревалидация элементов кэша теперь, если это возможно,
1134        использует заголовок If-None-Match.
1135 
1136     *) Добавление: директива ssl_password_file.
1137 
1138     *) Исправление: при возврате ответа из кэша заголовок запроса
1139        If-None-Match игнорировался, если в ответе не было заголовка
1140        Last-Modified.
1141 
1142     *) Исправление: сообщения "peer closed connection in SSL handshake" при
1143        соединении с бэкендами логгировались на уровне info вместо error.
1144 
1145     *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
1146 
1147     *) Исправление: SPDY-соединения могли неожиданно закрываться, если
1148        использовалось кэширование.
1149 
1150 
1151 Изменения в nginx 1.7.2                                           17.06.2014
1152 
1153     *) Добавление: директива hash в блоке upstream.
1154 
1155     *) Добавление: дефрагментация свободных блоков разделяемой памяти.
1156        Спасибо Wandenberg Peixoto и Yichun Zhang.
1157 
1158     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1159        если использовалось значение access_log по умолчанию; ошибка
1160        появилась в 1.7.0.
1161        Спасибо Piotr Sikora.
1162 
1163     *) Исправление: завершающий слэш ошибочно удалялся из последнего
1164        параметра директивы try_files.
1165 
1166     *) Исправление: nginx мог не собираться на OS X.
1167 
1168     *) Исправление: в модуле ngx_http_spdy_module.
1169 
1170 
1171 Изменения в nginx 1.7.1                                           27.05.2014
1172 
1173     *) Добавление: переменные "$upstream_cookie_...".
1174 
1175     *) Добавление: переменная $ssl_client_fingerprint.
1176 
1177     *) Добавление: директивы error_log и access_log теперь поддерживают
1178        логгирование в syslog.
1179 
1180     *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
1181        соединении.
1182 
1183     *) Исправление: утечки памяти при использовании директивы
1184        "ssl_stapling".
1185        Спасибо Filipe da Silva.
1186 
1187     *) Исправление: директива alias внутри location'а, заданного регулярным
1188        выражением, работала неправильно, если использовались директивы if
1189        или limit_except.
1190 
1191     *) Исправление: директива charset не ставила кодировку для сжатых
1192        ответов бэкендов.
1193 
1194     *) Исправление: директива proxy_pass без URI могла использовать
1195        оригинальный запрос после установки переменной $args.
1196        Спасибо Yichun Zhang.
1197 
1198     *) Исправление: в работе параметра none директивы smtp_auth; ошибка
1199        появилась в 1.5.6.
1200        Спасибо Святославу Никольскому.
1201 
1202     *) Исправление: при совместном использовании sub_filter и SSI ответы
1203        могли передаваться неверно.
1204 
1205     *) Исправление: nginx не собирался с параметром --with-file-aio на
1206        Linux/aarch64.
1207 
1208 
1209 Изменения в nginx 1.7.0                                           24.04.2014
1210 
1211     *) Добавление: проверка SSL-сертификатов бэкендов.
1212 
1213     *) Добавление: поддержка SNI при работе с бэкендами по SSL.
1214 
1215     *) Добавление: переменная $ssl_server_name.
1216 
1217     *) Добавление: параметр if директивы access_log.
1218 
1219 
1220 Изменения в nginx 1.5.13                                          08.04.2014
1221 
1222     *) Изменение: улучшена обработка хэш-таблиц; в директивах
1223        variables_hash_max_size и types_hash_bucket_size значения по
1224        умолчанию изменены на 1024 и 64 соответственно.
1225 
1226     *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end.
1227 
1228     *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при
1229        сохранении ответов в кэш.
1230 
1231     *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc()
1232        failed: no memory" при использовании разделяемой памяти в
1233        ssl_session_cache и в модуле ngx_http_limit_req_module.
1234 
1235     *) Исправление: директива underscores_in_headers не разрешала
1236        подчёркивание в первом символе заголовка.
1237        Спасибо Piotr Sikora.
1238 
1239     *) Исправление: cache manager мог нагружать процессор при выходе в
1240        nginx/Windows.
1241 
1242     *) Исправление: при использовании ssl_session_cache с параметром shared
1243        рабочий процесс nginx/Windows завершался аварийно.
1244 
1245     *) Исправление: в модуле ngx_http_spdy_module.
1246 
1247 
1248 Изменения в nginx 1.5.12                                          18.03.2014
1249 
1250     *) Безопасность: при обработке специально созданного запроса модулем
1251        ngx_http_spdy_module могло происходить переполнение буфера в рабочем
1252        процессе, что потенциально могло приводить к выполнению произвольного
1253        кода (CVE-2014-0133).
1254        Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1255        Buenos Aires, Argentina.
1256 
1257     *) Добавление: параметр proxy_protocol в директивах listen и
1258        real_ip_header, переменная $proxy_protocol_addr.
1259 
1260     *) Исправление: в директиве fastcgi_next_upstream.
1261        Спасибо Lucas Molas.
1262 
1263 
1264 Изменения в nginx 1.5.11                                          04.03.2014
1265 
1266     *) Безопасность: при обработке специально созданного запроса модулем
1267        ngx_http_spdy_module на 32-битных платформах могла повреждаться
1268        память рабочего процесса, что потенциально могло приводить к
1269        выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
1270        1.5.10.
1271        Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1272        Buenos Aires, Argentina.
1273 
1274     *) Добавление: переменная $ssl_session_reused.
1275 
1276     *) Исправление: директива client_max_body_size могла не работать при
1277        чтении тела запроса с использованием chunked transfer encoding;
1278        ошибка появилась в 1.3.9.
1279        Спасибо Lucas Molas.
1280 
1281     *) Исправление: при проксировании WebSocket-соединений в рабочем
1282        процессе мог произойти segmentation fault.
1283 
1284     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1285        если использовался модуль ngx_http_spdy_module на 32-битных
1286        платформах; ошибка появилась в 1.5.10.
1287 
1288     *) Исправление: значение переменной $upstream_status могло быть
1289        неверным, если использовались директивы proxy_cache_use_stale или
1290        proxy_cache_revalidate.
1291        Спасибо Piotr Sikora.
1292 
1293     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1294        если ошибки с кодом 400 с помощью директивы error_page
1295        перенаправлялись в именованный location.
1296 
1297     *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
1298 
1299 
1300 Изменения в nginx 1.5.10                                          04.02.2014
1301 
1302     *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
1303        SPDY 3.1.
1304        Спасибо Automattic и MaxCDN за спонсирование разработки.
1305 
1306     *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
1307        имеющие меньшую длину, чем запрошенная перемотка.
1308 
1309     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1310        если переменная $ssl_session_id использовалась при логгировании;
1311        ошибка появилась в 1.5.9.
1312 
1313     *) Исправление: переменные $date_local и $date_gmt использовали неверный
1314        формат вне модуля ngx_http_ssi_filter_module.
1315 
1316     *) Исправление: клиентские соединения могли сразу закрываться, если
1317        использовался отложенный accept; ошибка появилась в 1.3.15.
1318 
1319     *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
1320        записывались в лог в процессе обновления исполняемого файла на Linux;
1321        ошибка появилась в 1.5.8.
1322        Спасибо Piotr Sikora.
1323 
1324 
1325 Изменения в nginx 1.5.9                                           22.01.2014
1326 
1327     *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
1328        закодированный URI.
1329 
1330     *) Добавление: директива ssl_buffer_size.
1331 
1332     *) Добавление: директиву limit_rate теперь можно использовать для
1333        ограничения скорости передачи ответов клиенту в SPDY-соединениях.
1334 
1335     *) Добавление: директива spdy_chunk_size.
1336 
1337     *) Добавление: директива ssl_session_tickets.
1338        Спасибо Dirkjan Bussink.
1339 
1340     *) Исправление: переменная $ssl_session_id содержала всю сессию в
1341        сериализованном виде вместо её идентификатора.
1342        Спасибо Ivan Ristić.
1343 
1344     *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
1345        в команде SSI include.
1346 
1347     *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
1348        при обработке методов COPY и MOVE.
1349 
1350     *) Исправление: resolver не понимал доменные имена с точкой в конце.
1351        Спасибо Yichun Zhang.
1352 
1353     *) Исправление: при проксировании в логах могли появляться сообщения
1354        "zero size buf in output"; ошибка появилась в 1.3.9.
1355 
1356     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1357        если использовался модуль ngx_http_spdy_module.
1358 
1359     *) Исправление: при использовании методов обработки соединений select,
1360        poll и /dev/poll проксируемые WebSocket-соединения могли зависать
1361        сразу после открытия.
1362 
1363     *) Исправление: директива xclient почтового прокси-сервера некорректно
1364        передавала IPv6-адреса.
1365 
1366 
1367 Изменения в nginx 1.5.8                                           17.12.2013
1368 
1369     *) Добавление: теперь resolver поддерживает IPv6.
1370 
1371     *) Добавление: директива listen поддерживает параметр fastopen.
1372        Спасибо Mathew Rodley.
1373 
1374     *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
1375        Спасибо Roberto De Ioris.
1376 
1377     *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
1378        Спасибо Evan Miller.
1379 
1380     *) Исправление: при чтении тела запроса с использованием chunked
1381        transfer encoding по SSL-соединению мог произойти таймаут.
1382 
1383     *) Исправление: директива master_process работала неправильно в
1384        nginx/Windows.
1385 
1386     *) Исправление: параметр setfib директивы listen мог не работать.
1387 
1388     *) Исправление: в модуле ngx_http_spdy_module.
1389 
1390 
1391 Изменения в nginx 1.5.7                                           19.11.2013
1392 
1393     *) Безопасность: символ, следующий за незакодированным пробелом в строке
1394        запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
1395        в 0.8.41.
1396        Спасибо Ivan Fratric из Google Security Team.
1397 
1398     *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
1399        пароля понижен с уровня error до info.
1400 
1401     *) Добавление: директивы proxy_cache_revalidate,
1402        fastcgi_cache_revalidate, scgi_cache_revalidate и
1403        uwsgi_cache_revalidate.
1404 
1405     *) Добавление: директива ssl_session_ticket_key.
1406        Спасибо Piotr Sikora.
1407 
1408     *) Исправление: директива "add_header Cache-Control ''" добавляла строку
1409        заголовка ответа "Cache-Control" с пустым значением.
1410 
1411     *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
1412        401 при использовании директив auth_request и auth_basic.
1413        Спасибо Jan Marc Hoffmann.
1414 
1415     *) Исправление: параметры accept_filter и deferred директивы listen
1416        игнорировались для listen-сокетов, создаваемых в процессе обновления
1417        исполняемого файла.
1418        Спасибо Piotr Sikora.
1419 
1420     *) Исправление: часть данных, полученных от бэкенда при
1421        небуферизированном проксировании, могла не отправляться клиенту
1422        сразу, если использовались директивы gzip или gunzip.
1423        Спасибо Yichun Zhang.
1424 
1425     *) Исправление: в обработке ошибок в модуле
1426        ngx_http_gunzip_filter_module.
1427 
1428     *) Исправление: ответы могли зависать, если использовался модуль
1429        ngx_http_spdy_module и директива auth_request.
1430 
1431     *) Исправление: утечки памяти в nginx/Windows.
1432 
1433 
1434 Изменения в nginx 1.5.6                                           01.10.2013
1435 
1436     *) Добавление: директива fastcgi_buffering.
1437 
1438     *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
1439        Спасибо Piotr Sikora.
1440 
1441     *) Добавление: оптимизация SSL handshake при использовании длинных
1442        цепочек сертификатов.
1443 
1444     *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
1445 
1446     *) Исправление: в модуле ngx_http_auth_basic_module при использовании
1447        метода шифрования паролей "$apr1$".
1448        Спасибо Markus Linnala.
1449 
1450     *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
1451        мог использоваться неверный location, если для задания location'ов
1452        использовались символы разных регистров.
1453 
1454     *) Исправление: автоматическое перенаправление с добавлением
1455        завершающего слэша для проксированных location'ов могло не работать.
1456 
1457     *) Исправление: в почтовом прокси-сервере.
1458 
1459     *) Исправление: в модуле ngx_http_spdy_module.
1460 
1461 
1462 Изменения в nginx 1.5.5                                           17.09.2013
1463 
1464     *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
1465        определить протокол не удалось.
1466 
1467     *) Добавление: директива disable_symlinks теперь использует O_PATH на
1468        Linux.
1469 
1470     *) Добавление: для определения того, что клиент закрыл соединение, при
1471        использовании метода epoll теперь используются события EPOLLRDHUP.
1472 
1473     *) Исправление: в директиве valid_referers при использовании параметра
1474        server_names.
1475 
1476     *) Исправление: переменная $request_time не работала в nginx/Windows.
1477 
1478     *) Исправление: в директиве image_filter.
1479        Спасибо Lanshun Zhou.
1480 
1481     *) Исправление: совместимость с OpenSSL 1.0.1f.
1482        Спасибо Piotr Sikora.
1483 
1484 
1485 Изменения в nginx 1.5.4                                           27.08.2013
1486 
1487     *) Изменение: MIME-тип для расширения js изменён на
1488        "application/javascript"; значение по умолчанию директивы
1489        charset_types изменено соответственно.
1490 
1491     *) Изменение: теперь директива image_filter с параметром size возвращает
1492        ответ с MIME-типом "application/json".
1493 
1494     *) Добавление: модуль ngx_http_auth_request_module.
1495 
1496     *) Исправление: на старте или во время переконфигурации мог произойти
1497        segmentation fault, если использовалась директива try_files с пустым
1498        параметром.
1499 
1500     *) Исправление: утечки памяти при использовании в директивах root и
1501        auth_basic_user_file относительных путей, заданных с помощью
1502        переменных.
1503 
1504     *) Исправление: директива valid_referers неправильно выполняла
1505        регулярные выражения, если заголовок Referer начинался с "https://".
1506        Спасибо Liangbin Li.
1507 
1508     *) Исправление: ответы могли зависать, если использовались подзапросы и
1509        при обработке подзапроса происходила ошибка во время SSL handshake с
1510        бэкендом.
1511        Спасибо Aviram Cohen.
1512 
1513     *) Исправление: в модуле ngx_http_autoindex_module.
1514 
1515     *) Исправление: в модуле ngx_http_spdy_module.
1516 
1517 
1518 Изменения в nginx 1.5.3                                           30.07.2013
1519 
1520     *) Изменение во внутреннем API: теперь при небуферизированной работе с
1521        бэкендами u->length по умолчанию устанавливается в -1.
1522 
1523     *) Изменение: теперь при получении неполного ответа от бэкенда nginx
1524        отправляет полученную часть ответа, после чего закрывает соединение с
1525        клиентом.
1526 
1527     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1528        если использовался модуль ngx_http_spdy_module и директива
1529        client_body_in_file_only.
1530 
1531     *) Исправление: параметр so_keepalive директивы listen мог работать
1532        некорректно на DragonFlyBSD.
1533        Спасибо Sepherosa Ziehau.
1534 
1535     *) Исправление: в модуле ngx_http_xslt_filter_module.
1536 
1537     *) Исправление: в модуле ngx_http_sub_filter_module.
1538 
1539 
1540 Изменения в nginx 1.5.2                                           02.07.2013
1541 
1542     *) Добавление: теперь можно использовать несколько директив error_log.
1543 
1544     *) Исправление: метод $r->header_in() встроенного перла не возвращал
1545        значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
1546        ошибка появилась в 1.3.14.
1547 
1548     *) Исправление: в модуле ngx_http_spdy_module.
1549        Спасибо Jim Radford.
1550 
1551     *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
1552        Спасибо Сергею Иванцову.
1553 
1554 
1555 Изменения в nginx 1.5.1                                           04.06.2013
1556 
1557     *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
1558        xslt_last_modified.
1559        Спасибо Алексею Колпакову.
1560 
1561     *) Добавление: параметр http_403 в директивах proxy_next_upstream,
1562        fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
1563 
1564     *) Добавление: директивы allow и deny теперь поддерживают unix domain
1565        сокеты.
1566 
1567     *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
1568        модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
1569 
1570     *) Исправление: в директиве proxy_set_body.
1571        Спасибо Lanshun Zhou.
1572 
1573     *) Исправление: в директиве lingering_time.
1574        Спасибо Lanshun Zhou.
1575 
1576     *) Исправление: параметр fail_timeout директивы server в блоке upstream
1577        мог не работать, если использовался параметр max_fails; ошибка
1578        появилась в 1.3.0.
1579 
1580     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1581        если использовалась директива ssl_stapling.
1582        Спасибо Piotr Sikora.
1583 
1584     *) Исправление: в почтовом прокси-сервере.
1585        Спасибо Filipe Da Silva.
1586 
1587     *) Исправление: nginx/Windows мог перестать принимать соединения, если
1588        использовалось несколько рабочих процессов.
1589 
1590 
1591 Изменения в nginx 1.5.0                                           07.05.2013
1592 
1593     *) Безопасность: при обработке специально созданного запроса мог
1594        перезаписываться стек рабочего процесса, что могло приводить к
1595        выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
1596        1.3.9.
1597        Спасибо Greg MacManus, iSIGHT Partners Labs.
1598 
1599 
1600 Изменения в nginx 1.4.0                                           24.04.2013
1601 
1602     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
1603        использовался параметр --with-openssl; ошибка появилась в 1.3.16.
1604 
1605     *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
1606        ошибка появилась в 1.3.9.
1607 
1608 
1609 Изменения в nginx 1.3.16                                          16.04.2013
1610 
1611     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1612        если использовались подзапросы; ошибка появилась в 1.3.9.
1613 
1614     *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
1615        WebSocket-соединений в unix domain сокет.
1616 
1617     *) Исправление: переменная $upstream_response_length возвращала значение
1618        "0", если не использовалась буферизация.
1619        Спасибо Piotr Sikora.
1620 
1621     *) Исправление: в методах обработки соединений eventport и /dev/poll.
1622 
1623 
1624 Изменения в nginx 1.3.15                                          26.03.2013
1625 
1626     *) Изменение: открытие и закрытие соединения без отправки в нём
1627        каких-либо данных больше не записывается в access_log с кодом ошибки
1628        400.
1629 
1630     *) Добавление: модуль ngx_http_spdy_module.
1631        Спасибо Automattic за спонсирование разработки.
1632 
1633     *) Добавление: директивы limit_req_status и limit_conn_status.
1634        Спасибо Nick Marden.
1635 
1636     *) Добавление: директива image_filter_interlace.
1637        Спасибо Ивану Боброву.
1638 
1639     *) Добавление: переменная $connections_waiting в модуле
1640        ngx_http_stub_status_module.
1641 
1642     *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
1643 
1644     *) Исправление: при повторной отправке запроса на бэкенд тело запроса
1645        могло передаваться неправильно; ошибка появилась в 1.3.9.
1646        Спасибо Piotr Sikora.
1647 
1648     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1649        1.3.9.
1650 
1651     *) Исправление: ответы могли зависать, если использовались подзапросы и
1652        при обработке подзапроса происходила DNS-ошибка.
1653        Спасибо Lanshun Zhou.
1654 
1655     *) Исправление: в процедуре учёта использования бэкендов.
1656 
1657 
1658 Изменения в nginx 1.3.14                                          05.03.2013
1659 
1660     *) Добавление: переменные $connections_active, $connections_reading и
1661        $connections_writing в модуле ngx_http_stub_status_module.
1662 
1663     *) Добавление: поддержка WebSocket-соединений в модулях
1664        ngx_http_uwsgi_module и ngx_http_scgi_module.
1665 
1666     *) Исправление: в обработке виртуальных серверов при использовании SNI.
1667 
1668     *) Исправление: при использовании директивы "ssl_session_cache shared"
1669        новые сессии могли не сохраняться, если заканчивалось место в
1670        разделяемой памяти.
1671        Спасибо Piotr Sikora.
1672 
1673     *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
1674        неправильно.
1675        Спасибо Neal Poole за спонсирование разработки.
1676 
1677     *) Исправление: в модуле ngx_http_mp4_module.
1678        Спасибо Gernot Vormayr.
1679 
1680 
1681 Изменения в nginx 1.3.13                                          19.02.2013
1682 
1683     *) Изменение: теперь для сборки по умолчанию используется компилятор с
1684        именем "cc".
1685 
1686     *) Добавление: поддержка проксирования WebSocket-соединений.
1687        Спасибо Apcera и CloudBees за спонсирование разработки.
1688 
1689     *) Добавление: директива auth_basic_user_file поддерживает шифрование
1690        паролей методом "{SHA}".
1691        Спасибо Louis Opter.
1692 
1693 
1694 Изменения в nginx 1.3.12                                          05.02.2013
1695 
1696     *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
1697        scgi_bind и uwsgi_bind поддерживают переменные.
1698 
1699     *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
1700        $time_local теперь можно использовать не только в директиве
1701        log_format.
1702        Спасибо Kiril Kalchev.
1703 
1704     *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
1705        Спасибо Gregor Kališnik.
1706 
1707     *) Исправление: директива proxy_method работала неверно, если была
1708        указана на уровне http.
1709 
1710     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1711        если использовался resolver и метод poll.
1712 
1713     *) Исправление: nginx мог нагружать процессор во время SSL handshake с
1714        бэкендом при использовании методов обработки соединений select, poll
1715        и /dev/poll.
1716 
1717     *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
1718 
1719     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1720        1.3.9.
1721 
1722     *) Исправление: в директиве fastcgi_keep_conn.
1723 
1724 
1725 Изменения в nginx 1.3.11                                          10.01.2013
1726 
1727     *) Исправление: при записи в лог мог происходить segmentation fault;
1728        ошибка появилась в 1.3.10.
1729 
1730     *) Исправление: директива proxy_pass не работала с IP-адресами без
1731        явного указания порта; ошибка появилась в 1.3.10.
1732 
1733     *) Исправление: на старте или во время переконфигурации происходил
1734        segmentation fault, если директива keepalive была указана несколько
1735        раз в одном блоке upstream.
1736 
1737     *) Исправление: параметр default директивы geo не определял значение по
1738        умолчанию для IPv6-адресов.
1739 
1740 
1741 Изменения в nginx 1.3.10                                          25.12.2012
1742 
1743     *) Изменение: для указанных в конфигурационном файле доменных имён
1744        теперь используются не только IPv4, но и IPv6 адреса.
1745 
1746     *) Изменение: теперь при использовании директивы include с маской на
1747        Unix-системах включаемые файлы сортируются в алфавитном порядке.
1748 
1749     *) Изменение: директива add_header добавляет строки в ответы с кодом
1750        201.
1751 
1752     *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
1753        CIDR.
1754 
1755     *) Добавление: параметры flush и gzip в директиве access_log.
1756 
1757     *) Добавление: директива auth_basic поддерживает переменные.
1758 
1759     *) Исправление: nginx в некоторых случаях не собирался с модулем
1760        ngx_http_perl_module.
1761 
1762     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1763        если использовался модуль ngx_http_xslt_module.
1764 
1765     *) Исправление: nginx мог не собираться на MacOSX.
1766        Спасибо Piotr Sikora.
1767 
1768     *) Исправление: при использовании директивы limit_rate с большими
1769        значениями скорости на 32-битных системах ответ мог возвращаться не
1770        целиком.
1771        Спасибо Алексею Антропову.
1772 
1773     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1774        если использовалась директива if.
1775        Спасибо Piotr Sikora.
1776 
1777     *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
1778        Request Entity Too Large".
1779 
1780     *) Исправление: директивы image_filter, image_filter_jpeg_quality и
1781        image_filter_sharpen могли наследоваться некорректно.
1782        Спасибо Ивану Боброву.
1783 
1784     *) Исправление: при использовании директивы auth_basic под Linux могли
1785        возникать ошибки "crypt_r() failed".
1786 
1787     *) Исправление: в обработке backup-серверов.
1788        Спасибо Thomas Chen.
1789 
1790     *) Исправление: при проксировании HEAD-запросов мог возвращаться
1791        некорректный ответ, если использовалась директива gzip.
1792 
1793 
1794 Изменения в nginx 1.3.9                                           27.11.2012
1795 
1796     *) Добавление: поддержка chunked transfer encoding при получении тела
1797        запроса.
1798 
1799     *) Добавление: переменные $request_time и $msec теперь можно
1800        использовать не только в директиве log_format.
1801 
1802     *) Исправление: cache manager и cache loader могли не запускаться, если
1803        использовалось более 512 listen-сокетов.
1804 
1805     *) Исправление: в модуле ngx_http_dav_module.
1806 
1807 
1808 Изменения в nginx 1.3.8                                           30.10.2012
1809 
1810     *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
1811        Спасибо Михаилу Казанцеву и Eric O'Connor.
1812 
1813     *) Добавление: переменные $bytes_sent, $connection и
1814        $connection_requests теперь можно использовать не только в директиве
1815        log_format.
1816        Спасибо Benjamin Grössing.
1817 
1818     *) Добавление: параметр auto директивы worker_processes.
1819 
1820     *) Исправление: сообщения "cache file ... has md5 collision".
1821 
1822     *) Исправление: в модуле ngx_http_gunzip_filter_module.
1823 
1824     *) Исправление: в директиве ssl_stapling.
1825 
1826 
1827 Изменения в nginx 1.3.7                                           02.10.2012
1828 
1829     *) Добавление: поддержка OCSP stapling.
1830        Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
1831 
1832     *) Добавление: директива ssl_trusted_certificate.
1833 
1834     *) Добавление: теперь resolver случайным образом меняет порядок
1835        возвращаемых закэшированных адресов.
1836        Спасибо Антону Жулину.
1837 
1838     *) Исправление: совместимость с OpenSSL 0.9.7.
1839 
1840 
1841 Изменения в nginx 1.3.6                                           12.09.2012
1842 
1843     *) Добавление: модуль ngx_http_gunzip_filter_module.
1844 
1845     *) Добавление: директива memcached_gzip_flag.
1846 
1847     *) Добавление: параметр always директивы gzip_static.
1848 
1849     *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
1850        Спасибо Charles Chen.
1851 
1852     *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
1853        использовался параметр --with-ipv6.
1854 
1855 
1856 Изменения в nginx 1.3.5                                           21.08.2012
1857 
1858     *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
1859        дорожки в форматах, отличных от H.264 и AAC.
1860 
1861     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1862        если в директиве map в качестве значений использовались переменные.
1863 
1864     *) Исправление: в рабочем процессе мог произойти segmentation fault при
1865        использовании директивы geo с параметром ranges, но без параметра
1866        default; ошибка появилась в 0.8.43.
1867        Спасибо Zhen Chen и Weibin Yao.
1868 
1869     *) Исправление: в обработке параметра командной строки -p.
1870 
1871     *) Исправление: в почтовом прокси-сервере.
1872 
1873     *) Исправление: незначительных потенциальных ошибок.
1874        Спасибо Coverity.
1875 
1876     *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
1877        Спасибо HAYASHI Kentaro.
1878 
1879 
1880 Изменения в nginx 1.3.4                                           31.07.2012
1881 
1882     *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
1883        по умолчанию.
1884 
1885     *) Добавление: поддержка компилятора Clang.
1886 
1887     *) Исправление: могли создаваться лишние слушающие сокеты.
1888        Спасибо Роману Одайскому.
1889 
1890     *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
1891        рабочего процесса происходила ошибка.
1892        Спасибо Ricardo Villalobos Guevara.
1893 
1894     *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
1895        scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
1896        fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
1897        наследоваться некорректно.
1898 
1899 
1900 Изменения в nginx 1.3.3                                           10.07.2012
1901 
1902     *) Добавление: поддержка entity tags и директива etag.
1903 
1904     *) Исправление: при использовании директивы map с параметром hostnames
1905        не игнорировалась конечная точка в исходном значении.
1906 
1907     *) Исправление: для обработки запроса мог использоваться неверный
1908        location, если переход в именованный location происходил после
1909        изменения URI с помощью директивы rewrite.
1910 
1911 
1912 Изменения в nginx 1.3.2                                           26.06.2012
1913 
1914     *) Изменение: параметр single директивы keepalive теперь игнорируется.
1915 
1916     *) Изменение: сжатие SSL теперь отключено в том числе при использовании
1917        OpenSSL старее 1.0.0.
1918 
1919     *) Добавление: директиву "ip_hash" теперь можно использовать для
1920        балансировки IPv6 клиентов.
1921 
1922     *) Добавление: переменную $status теперь можно использовать не только в
1923        директиве log_format.
1924 
1925     *) Исправление: при завершении рабочего процесса мог произойти
1926        segmentation fault, если использовалась директива resolver.
1927 
1928     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1929        если использовался модуль ngx_http_mp4_module.
1930 
1931     *) Исправление: в модуле ngx_http_mp4_module.
1932 
1933     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1934        если использовались конфликтующие имена серверов с масками.
1935 
1936     *) Исправление: на платформе ARM nginx мог аварийно завершаться по
1937        сигналу SIGBUS.
1938 
1939     *) Исправление: во время переконфигурации на HP-UX в лог записывался
1940        alert "sendmsg() failed (9: Bad file number)".
1941 
1942 
1943 Изменения в nginx 1.3.1                                           05.06.2012
1944 
1945     *) Безопасность: теперь nginx/Windows игнорирует точку в конце
1946        компонента URI и не разрешает URI, содержащие последовательность
1947        ":$".
1948        Спасибо Владимиру Кочеткову, Positive Research Center.
1949 
1950     *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
1951        и директива server в блоке upstream теперь поддерживают IPv6-адреса.
1952 
1953     *) Добавление: в директиве resolver теперь можно указывать порт и
1954        задавать IPv6-адреса DNS-серверов.
1955 
1956     *) Добавление: директива least_conn в блоке upstream.
1957 
1958     *) Добавление: при использовании директивы ip_hash теперь можно задавать
1959        веса серверов.
1960 
1961     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1962        если использовалась директива image_filter; ошибка появилась в 1.3.0.
1963 
1964     *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
1965        появилась в 1.1.12.
1966 
1967     *) Исправление: доступ к переменным из SSI и встроенного перла мог не
1968        работать после переконфигурации.
1969        Спасибо Yichun Zhang.
1970 
1971     *) Исправление: в модуле ngx_http_xslt_filter_module.
1972        Спасибо Kuramoto Eiji.
1973 
1974     *) Исправление: утечки памяти при использовании переменной $geoip_org.
1975        Спасибо Денису Латыпову.
1976 
1977     *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
1978 
1979 
1980 Изменения в nginx 1.3.0                                           15.05.2012
1981 
1982     *) Добавление: директива debug_connection теперь поддерживает
1983        IPv6-адреса и параметр "unix:".
1984 
1985     *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
1986        теперь поддерживают IPv6-адреса.
1987 
1988     *) Добавление: директивы real_ip_recursive, geoip_proxy и
1989        geoip_proxy_recursive.
1990 
1991     *) Добавление: параметр proxy_recursive директивы geo.
1992 
1993     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1994        если использовалась директива resolver.
1995 
1996     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1997        если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
1998        и бэкенд возвращал некорректный ответ.
1999 
2000     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2001        если использовалась директива rewrite и в новых аргументах запроса в
2002        строке замены использовались переменные.
2003 
2004     *) Исправление: nginx мог нагружать процессор, если было достигнуто
2005        ограничение на количество открытых файлов.
2006 
2007     *) Исправление: при использовании директивы proxy_next_upstream с
2008        параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
2009        блоке upstream был хотя бы один сервер с флагом backup.
2010 
2011     *) Исправление: при использовании директивы ip_hash установка параметра
2012        down директивы server могла приводить к ненужному перераспределению
2013        клиентов между бэкендами.
2014 
2015     *) Исправление: утечки сокетов.
2016        Спасибо Yichun Zhang.
2017 
2018     *) Исправление: в модуле ngx_http_fastcgi_module.
2019 
2020 
2021 Изменения в nginx 1.2.0                                           23.04.2012
2022 
2023     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2024        если использовалась директива try_files; ошибка появилась в 1.1.19.
2025 
2026     *) Исправление: ответ мог быть передан не полностью, если использовалось
2027        больше IOV_MAX буферов.
2028 
2029     *) Исправление: в работе параметра crop директивы image_filter.
2030        Спасибо Maxim Bublis.
2031 
2032 
2033 Изменения в nginx 1.1.19                                          12.04.2012
2034 
2035     *) Безопасность: при обработке специально созданного mp4 файла модулем
2036        ngx_http_mp4_module могли перезаписываться области памяти рабочего
2037        процесса, что могло приводить к выполнению произвольного кода
2038        (CVE-2012-2089).
2039        Спасибо Matthew Daley.
2040 
2041     *) Исправление: nginx/Windows мог завершаться аварийно.
2042        Спасибо Vincent Lee.
2043 
2044     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2045        были помечены флагом backup.
2046 
2047     *) Исправление: директивы allow и deny могли наследоваться некорректно,
2048        если в них использовались IPv6 адреса.
2049 
2050     *) Исправление: директивы modern_browser и ancient_browser могли
2051        наследоваться некорректно.
2052 
2053     *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
2054 
2055     *) Исправление: в модуле ngx_http_mp4_module.
2056 
2057 
2058 Изменения в nginx 1.1.18                                          28.03.2012
2059 
2060     *) Изменение: теперь keepalive соединения не запрещены для Safari по
2061        умолчанию.
2062 
2063     *) Добавление: переменная $connection_requests.
2064 
2065     *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
2066        $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
2067 
2068     *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
2069 
2070     *) Добавление: директивы xslt_param и xslt_string_param.
2071        Спасибо Samuel Behan.
2072 
2073     *) Исправление: в configure.
2074        Спасибо Piotr Sikora.
2075 
2076     *) Исправление: в модуле ngx_http_xslt_filter_module.
2077 
2078     *) Исправление: nginx не собирался на Debian GNU/Hurd.
2079 
2080 
2081 Изменения в nginx 1.1.17                                          15.03.2012
2082 
2083     *) Безопасность: содержимое ранее освобождённой памяти могло быть
2084        отправлено клиенту, если бэкенд возвращал специально созданный ответ.
2085        Спасибо Matthew Daley.
2086 
2087     *) Исправление: при использовании встроенного перла из SSI.
2088        Спасибо Matthew Daley.
2089 
2090     *) Исправление: в модуле ngx_http_uwsgi_module.
2091 
2092 
2093 Изменения в nginx 1.1.16                                          29.02.2012
2094 
2095     *) Изменение: ограничение на количество одновременных подзапросов
2096        поднято до 200.
2097 
2098     *) Добавление: параметр from в директиве disable_symlinks.
2099 
2100     *) Добавление: директивы return и error_page теперь могут использоваться
2101        для возврата перенаправлений с кодом 307.
2102 
2103     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2104        если использовалась директива resolver и на глобальном уровне не была
2105        задана директива error_log.
2106        Спасибо Роману Арутюняну.
2107 
2108     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2109        если использовались директивы "proxy_http_version 1.1" или
2110        "fastcgi_keep_conn on".
2111 
2112     *) Исправление: утечек памяти.
2113        Спасибо Lanshun Zhou.
2114 
2115     *) Исправление: в директиве disable_symlinks.
2116 
2117     *) Исправление: при использовании ZFS размер кэша на диске мог считаться
2118        некорректно; ошибка появилась в 1.0.1.
2119 
2120     *) Исправление: nginx не собирался компилятором icc 12.1.
2121 
2122     *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
2123        1.1.15.
2124 
2125 
2126 Изменения в nginx 1.1.15                                          15.02.2012
2127 
2128     *) Добавление: директива disable_symlinks.
2129 
2130     *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
2131 
2132     *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
2133        prematurely closed connection" вместо "upstream sent too big header".
2134        Спасибо Feibo Li.
2135 
2136     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
2137        использовался параметр --with-openssl.
2138 
2139     *) Исправление: количество внутренних перенаправлений в именованные
2140        location'ы не ограничивалось.
2141 
2142     *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
2143        ошибкам в модуле ngx_http_gzip_filter_module.
2144 
2145     *) Исправление: при использовании директивы proxy_store с
2146        SSI-подзапросами временные файлы могли не удаляться.
2147 
2148     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2149        $args) возвращали старое пустое закэшированное значение.
2150 
2151     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2152        если одновременно создавалось слишком много SSI-подзапросов; ошибка
2153        появилась в 0.7.25.
2154 
2155 
2156 Изменения в nginx 1.1.14                                          30.01.2012
2157 
2158     *) Добавление: теперь можно указать несколько ограничений limit_req
2159        одновременно.
2160 
2161     *) Исправление: в обработке ошибок при соединении с бэкендом.
2162        Спасибо Piotr Sikora.
2163 
2164     *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
2165 
2166     *) Исправление: в инициализации библиотеки OpenSSL.
2167 
2168     *) Исправление: директивы proxy_redirect могли наследоваться
2169        некорректно.
2170 
2171     *) Исправление: утечки памяти при переконфигурации, если использовалась
2172        директива pcre_jit.
2173 
2174 
2175 Изменения в nginx 1.1.13                                          16.01.2012
2176 
2177     *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
2178 
2179     *) Исправление: параметры директивы limit_req наследовались некорректно;
2180        ошибка появилась в 1.1.12.
2181 
2182     *) Исправление: директива proxy_redirect некорректно обрабатывала
2183        заголовок Refresh при использовании регулярных выражений.
2184 
2185     *) Исправление: директива proxy_cache_use_stale с параметром error не
2186        возвращала ответ из кэша, если все бэкенды были признаны
2187        неработающими.
2188 
2189     *) Исправление: директива worker_cpu_affinity могла не работать.
2190 
2191     *) Исправление: nginx не собирался на Solaris; ошибка появилась в
2192        1.1.12.
2193 
2194     *) Исправление: в модуле ngx_http_mp4_module.
2195 
2196 
2197 Изменения в nginx 1.1.12                                          26.12.2011
2198 
2199     *) Изменение: после перенаправления запроса с помощью директивы
2200        error_page директива proxy_pass без URI теперь использует изменённый
2201        URI.
2202        Спасибо Lanshun Zhou.
2203 
2204     *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
2205        proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
2206 
2207     *) Добавление: директива pcre_jit.
2208 
2209     *) Добавление: SSI команда if поддерживает выделения в регулярных
2210        выражениях.
2211 
2212     *) Исправление: SSI команда if не работала внутри команды block.
2213 
2214     *) Исправление: директивы limit_conn_log_level и limit_req_log_level
2215        могли не работать.
2216 
2217     *) Исправление: директива limit_rate не позволяла передавать на полной
2218        скорости, даже если был указан очень большой лимит.
2219 
2220     *) Исправление: директива sendfile_max_chunk не работала, если
2221        использовалась директива limit_rate.
2222 
2223     *) Исправление: если в директиве proxy_pass использовались переменные и
2224        не был указан URI, всегда использовался URI исходного запроса.
2225 
2226     *) Исправление: после перенаправления запроса с помощью директивы
2227        try_files директива proxy_pass без URI могла использовать URI
2228        исходного запроса.
2229        Спасибо Lanshun Zhou.
2230 
2231     *) Исправление: в модуле ngx_http_scgi_module.
2232 
2233     *) Исправление: в модуле ngx_http_mp4_module.
2234 
2235     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
2236 
2237 
2238 Изменения в nginx 1.1.11                                          12.12.2011
2239 
2240     *) Добавление: параметр so_keepalive в директиве listen.
2241        Спасибо Всеволоду Стахову.
2242 
2243     *) Добавление: параметр if_not_empty в директивах
2244        fastcgi/scgi/uwsgi_param.
2245 
2246     *) Добавление: переменная $https.
2247 
2248     *) Добавление: директива proxy_redirect поддерживает переменные в первом
2249        параметре.
2250 
2251     *) Добавление: директива proxy_redirect поддерживает регулярные
2252        выражения.
2253 
2254     *) Исправление: переменная $sent_http_cache_control могла содержать
2255        неверное значение при использовании директивы expires.
2256        Спасибо Yichun Zhang.
2257 
2258     *) Исправление: директива read_ahead могла не работать при использовании
2259        совместно с try_files и open_file_cache.
2260 
2261     *) Исправление: если в параметре inactive директивы proxy_cache_path
2262        было указано малое время, в рабочем процессе мог произойти
2263        segmentation fault.
2264 
2265     *) Исправление: ответы из кэша могли зависать.
2266 
2267 
2268 Изменения в nginx 1.1.10                                          30.11.2011
2269 
2270     *) Исправление: при использовании AIO на Linux в рабочем процессе
2271        происходил segmentation fault; ошибка появилась в 1.1.9.
2272 
2273 
2274 Изменения в nginx 1.1.9                                           28.11.2011
2275 
2276     *) Изменение: теперь двойные кавычки экранируется при выводе
2277        SSI-командой echo.
2278        Спасибо Зауру Абасмирзоеву.
2279 
2280     *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
2281        используется TTL, возвращённый DNS-сервером.
2282        Спасибо Кириллу Коринскому.
2283 
2284     *) Исправление: nginx мог перестать отвечать, если рабочий процесс
2285        завершался аварийно.
2286 
2287     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2288        если использовалось SNI; ошибка появилась в 1.1.2.
2289 
2290     *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
2291        Спасибо Александру Усову.
2292 
2293     *) Исправление: сигнал SIGWINCH переставал работать после первого
2294        обновления исполняемого файла; ошибка появилась в 1.1.1.
2295 
2296     *) Исправление: теперь ответы бэкендов, длина которых не соответствует
2297        заголовку Content-Length, не кэширутся.
2298 
2299     *) Исправление: в директиве scgi_param при использовании составных
2300        параметров.
2301 
2302     *) Исправление: в методе epoll.
2303        Спасибо Yichun Zhang.
2304 
2305     *) Исправление: в модуле ngx_http_flv_module.
2306        Спасибо Piotr Sikora.
2307 
2308     *) Исправление: в модуле ngx_http_mp4_module.
2309 
2310     *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
2311        заголовке Host.
2312 
2313     *) Исправление: директивы add_header и expires не работали для ответов с
2314        кодом 206, если запрос проксировался.
2315 
2316     *) Исправление: nginx не собирался на FreeBSD 10.
2317 
2318     *) Исправление: nginx не собирался на AIX.
2319 
2320 
2321 Изменения в nginx 1.1.8                                           14.11.2011
2322 
2323     *) Изменение: модуль ngx_http_limit_zone_module переименован в
2324        ngx_http_limit_conn_module.
2325 
2326     *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
2327        новым синтаксисом.
2328 
2329     *) Добавление: поддержка ограничения по нескольким limit_conn на одном
2330        уровне.
2331 
2332     *) Добавление: директива image_filter_sharpen.
2333 
2334     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2335        если resolver получил большой DNS-ответ.
2336        Спасибо Ben Hawkes.
2337 
2338     *) Исправление: в вычислении ключа для кэширования, если использовалась
2339        внутренняя реализация MD5; ошибка появилась в 1.0.4.
2340 
2341     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2342        заголовке запроса клиента могли передаваться бэкенду при кэшировании;
2343        или не передаваться при выключенном кэшировании, если кэширование
2344        было включено в другой части конфигурации.
2345 
2346     *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
2347        "Content-Length" в заголовке ответа, использовался аргумент start.
2348        Спасибо Piotr Sikora.
2349 
2350 
2351 Изменения в nginx 1.1.7                                           31.10.2011
2352 
2353     *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
2354        Спасибо Кириллу Коринскому.
2355 
2356     *) Исправление: на старте или во время переконфигурации происходил
2357        segmentation fault, если директива ssl использовалась на уровне http
2358        и не был указан ssl_certificate.
2359 
2360     *) Исправление: уменьшено потребление памяти при проксировании больших
2361        файлов, если они буферизировались на диск.
2362 
2363     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2364        если использовалась директива "proxy_http_version 1.1".
2365 
2366     *) Исправление: в директиве "expires @time".
2367 
2368 
2369 Изменения в nginx 1.1.6                                           17.10.2011
2370 
2371     *) Изменение во внутреннем API: теперь при внутреннем редиректе в
2372        именованный location контексты модулей очищаются.
2373        По запросу Yichun Zhang.
2374 
2375     *) Изменение: теперь если сервер, описанный в блоке upstream, был
2376        признан неработающим, то после истечения fail_timeout на него будет
2377        отправлен только один запрос; сервер будет считаться работающим, если
2378        успешно ответит на этот запрос.
2379 
2380     *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
2381        \xXX.
2382 
2383     *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
2384        теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
2385        X-Accel-Charset.
2386 
2387     *) Добавление: уменьшение потребления памяти при использовании SSL.
2388 
2389     *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
2390        Спасибо Алексею Куцу.
2391 
2392     *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
2393        уровне server, применялись повторно, если для запроса не находилось
2394        ни одного location'а.
2395 
2396     *) Исправление: при использовании "aio sendfile" могла происходить
2397        утечка сокетов.
2398 
2399     *) Исправление: при использовании файлового AIO соединения с быстрыми
2400        клиентами могли быть закрыты по истечению send_timeout.
2401 
2402     *) Исправление: в модуле ngx_http_autoindex_module.
2403 
2404     *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
2405        32-битных платформах.
2406 
2407 
2408 Изменения в nginx 1.1.5                                           05.10.2011
2409 
2410     *) Добавление: директивы uwsgi_buffering и scgi_buffering.
2411        Спасибо Peter Smit.
2412 
2413     *) Исправление: при использовании proxy_cache_bypass могли быть
2414        закэшированы некэшируемые ответы.
2415        Спасибо John Ferlito.
2416 
2417     *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
2418        HTTP/1.1.
2419 
2420     *) Исправление: закэшированные ответы с пустым телом возвращались
2421        некорректно; ошибка появилась в 0.8.31.
2422 
2423     *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
2424        некорректны; ошибка появилась в 0.8.32.
2425 
2426     *) Исправление: в директиве return.
2427 
2428     *) Исправление: при использовании директивы "ssl_session_cache builtin"
2429        происходил segmentation fault; ошибка появилась в 1.1.1.
2430 
2431 
2432 Изменения в nginx 1.1.4                                           20.09.2011
2433 
2434     *) Добавление: модуль ngx_http_upstream_keepalive.
2435 
2436     *) Добавление: директива proxy_http_version.
2437 
2438     *) Добавление: директива fastcgi_keep_conn.
2439 
2440     *) Добавление: директива worker_aio_requests.
2441 
2442     *) Исправление: если nginx был собран с файловым AIO, он не мог
2443        запускаться на Linux без поддержки AIO.
2444 
2445     *) Исправление: в обработке ошибок при работе с Linux AIO.
2446        Спасибо Hagai Avrahami.
2447 
2448     *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
2449 
2450     *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
2451        MP4-атом co64.
2452 
2453 
2454 Изменения в nginx 1.1.3                                           14.09.2011
2455 
2456     *) Добавление: модуль ngx_http_mp4_module.
2457 
2458     *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
2459 
2460     *) Исправление: open_file_cache не обновлял информацию о файле, если
2461        файл был изменён не атомарно.
2462 
2463     *) Исправление: nginx не собирался на MacOSX 10.7.
2464 
2465 
2466 Изменения в nginx 1.1.2                                           05.09.2011
2467 
2468     *) Изменение: теперь, если суммарный размер всех диапазонов больше
2469        размера исходного ответа, то nginx возвращает только исходный ответ,
2470        не обрабатывая диапазоны.
2471 
2472     *) Добавление: директива max_ranges.
2473 
2474     *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
2475        ssl_prefer_server_cipher могли работать некорректно, если
2476        использовался SNI.
2477 
2478     *) Исправление: в директивах proxy/fastcgi/scgi/
2479        uwsgi_ignore_client_abort.
2480 
2481 
2482 Изменения в nginx 1.1.1                                           22.08.2011
2483 
2484     *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
2485        число файлов, указанное в параметре load_files, либо работает не
2486        дольше времени, указанного в параметре loader_threshold.
2487 
2488     *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
2489 
2490     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2491        на Solaris.
2492        Спасибо Денису Иванову.
2493 
2494     *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
2495 
2496     *) Исправление: nginx не собирался на Linux 3.0.
2497 
2498     *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
2499        появилась в 1.1.0.
2500 
2501     *) Исправление: обработка тела запроса могла быть неверной, если клиент
2502        использовал pipelining.
2503 
2504     *) Исправление: в директиве request_body_in_single_buf.
2505 
2506     *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
2507        при использовании SSL-соединения с бэкендом.
2508 
2509     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2510        были помечены флагом down.
2511 
2512     *) Исправление: при переконфигурации мог произойти segmentation fault,
2513        если в предыдущей конфигурации был определён, но не использовался
2514        ssl_session_cache.
2515 
2516     *) Исправление: при использовании большого количества backup-серверов в
2517        рабочем процессе мог произойти segmentation fault.
2518 
2519     *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
2520        значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
2521        произойти segmentation fault; ошибка появилась в 0.8.40.
2522 
2523 
2524 Изменения в nginx 1.1.0                                           01.08.2011
2525 
2526     *) Добавление: уменьшение времени работы загрузчика кэша.
2527 
2528     *) Добавление: параметры loader_files, loader_sleep и loader_threshold
2529        директив proxy/fastcgi/scgi/uwsgi_cache_path.
2530 
2531     *) Добавление: уменьшение времени загрузки конфигураций с большим
2532        количеством HTTPS серверов.
2533 
2534     *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
2535        Спасибо Adrian Kotelba.
2536 
2537     *) Добавление: директива lingering_close.
2538        Спасибо Максиму Дунину.
2539 
2540     *) Исправление: закрытия соединения для pipelined-запросов.
2541        Спасибо Максиму Дунину.
2542 
2543     *) Исправление: nginx не запрещал сжатие при получении значения
2544        "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
2545 
2546     *) Исправление: таймаута при небуферизированном проксировании.
2547        Спасибо Максиму Дунину.
2548 
2549     *) Исправление: утечки памяти при использовании переменных в директиве
2550        proxy_pass при работе с бэкендом по HTTPS.
2551        Спасибо Максиму Дунину.
2552 
2553     *) Исправление: в проверке параметра директивы proxy_pass, заданного
2554        переменными.
2555        Спасибо Lanshun Zhou.
2556 
2557     *) Исправление: SSL не работал на QNX.
2558        Спасибо Максиму Дунину.
2559 
2560     *) Исправление: SSL модули не собирались gcc 4.6 без параметра
2561        --with-debug.
2562 
2563 
2564 Изменения в nginx 1.0.5                                           19.07.2011
2565 
2566     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2567        "HIGH:!aNULL:!MD5".
2568        Спасибо Rob Stradling.
2569 
2570     *) Добавление: директивы referer_hash_max_size и
2571        referer_hash_bucket_size.
2572        Спасибо Witold Filipczyk.
2573 
2574     *) Добавление: переменная $uid_reset.
2575 
2576     *) Исправление: при использовании кэширования в рабочем процессе мог
2577        произойти segmentation fault.
2578        Спасибо Lanshun Zhou.
2579 
2580     *) Исправление: при использовании кэширования рабочие процессы могли
2581        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
2582        Спасибо Максиму Дунину.
2583 
2584     *) Исправление: сообщения "stalled cache updating".
2585        Спасибо Максиму Дунину.
2586 
2587 
2588 Изменения в nginx 1.0.4                                           01.06.2011
2589 
2590     *) Изменение: теперь в регулярных выражениях в директиве map можно
2591        задать чувствительность к регистру с помощью префиксов "~" и "~*".
2592 
2593     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2594        на Linux.
2595        Спасибо Денису Латыпову.
2596 
2597     *) Исправление: сообщения "stalled cache updating".
2598 
2599     *) Исправление: nginx не собирался с параметром
2600        --without-http_auth_basic_module; ошибка появилась в 1.0.3.
2601 
2602 
2603 Изменения в nginx 1.0.3                                           25.05.2011
2604 
2605     *) Добавление: директива auth_basic_user_file поддерживает шифрование
2606        пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
2607        Спасибо Максиму Дунину.
2608 
2609     *) Добавление: директива geoip_org и переменная $geoip_org.
2610        Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
2611 
2612     *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
2613        поддерживают адреса IPv4, отображённые на IPv6 адреса.
2614 
2615     *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
2616        рабочем процессе происходил segmentation fault, если директивы access
2617        или deny были определены только для адресов IPv6; ошибка появилась в
2618        0.8.22.
2619 
2620     *) Исправление: закэшированный ответ мог быть испорчен, если значения
2621        директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
2622        uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
2623 
2624 
2625 Изменения в nginx 1.0.2                                           10.05.2011
2626 
2627     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
2628 
2629     *) Исправление: в работе параметра rotate директивы image_filter.
2630        Спасибо Adam Bocim.
2631 
2632     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
2633 
2634 
2635 Изменения в nginx 1.0.1                                           03.05.2011
2636 
2637     *) Изменение: теперь директива split_clients использует алгоритм
2638        MurmurHash2 из-за лучшего распределения.
2639        Спасибо Олегу Мамонтову.
2640 
2641     *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
2642        ложными значениями.
2643        Спасибо Максиму Дунину.
2644 
2645     *) Изменение: теперь по умолчанию nginx использует значение 511 для
2646        listen backlog на Linux.
2647 
2648     *) Добавление: переменные $upstream_... можно использовать в SSI и
2649        перловом модулях.
2650 
2651     *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
2652        Спасибо Олегу Мамонтову.
2653 
2654     *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
2655        segmentation fault; ошибка появилась в 0.8.22.
2656        Спасибо Максиму Дунину.
2657 
2658     *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
2659 
2660     *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
2661        появилась в 0.9.3.
2662        Спасибо Dagobert Michelsen.
2663 
2664     *) Исправление: переменная $request_time имела неверные значения, если
2665        использовались подзапросы; ошибка появилась в 0.8.47.
2666        Спасибо Игорю А. Валькову.
2667 
2668 
2669 Изменения в nginx 1.0.0                                           12.04.2011
2670 
2671     *) Исправление: cache manager мог нагружать процессор после
2672        переконфигурации.
2673        Спасибо Максиму Дунину.
2674 
2675     *) Исправление: директива "image_filter crop" неправильно работала в
2676        сочетании с "image_filter rotate 180".
2677 
2678     *) Исправление: директива "satisfy any" запрещала выдачу
2679        пользовательской страницы для 401 кода.
2680 
2681 
2682 Изменения в nginx 0.9.7                                           04.04.2011
2683 
2684     *) Добавление: теперь соединения в состоянии keepalive могут быть
2685        закрыты преждевременно, если у воркера нет свободных соединений.
2686        Спасибо Максиму Дунину.
2687 
2688     *) Добавление: параметр rotate директивы image_filter.
2689        Спасибо Adam Bocim.
2690 
2691     *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
2692        scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
2693        upstream.
2694 
2695 
2696 Изменения в nginx 0.9.6                                           21.03.2011
2697 
2698     *) Добавление: директива map поддерживает регулярные выражения в
2699        качестве значения первого параметра.
2700 
2701     *) Добавление: переменная $time_iso8601 для access_log.
2702        Спасибо Michael Lustfield.
2703 
2704 
2705 Изменения в nginx 0.9.5                                           21.02.2011
2706 
2707     *) Изменение: теперь по умолчанию nginx использует значение -1 для
2708        listen backlog на Linux.
2709        Спасибо Андрею Нигматулину.
2710 
2711     *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
2712        Спасибо Денису Латыпову.
2713 
2714     *) Исправление: исправление в умолчательной директиве proxy_redirect,
2715        если в директиве proxy_pass не был описан URI.
2716        Спасибо Максиму Дунину.
2717 
2718     *) Исправление: директива error_page не работала с нестандартными кодами
2719        ошибок; ошибка появилась в 0.8.53.
2720        Спасибо Максиму Дунину.
2721 
2722 
2723 Изменения в nginx 0.9.4                                           21.01.2011
2724 
2725     *) Добавление: директива server_name поддерживает переменную $hostname.
2726 
2727     *) Добавление: 494 код для ошибки "Request Header Too Large".
2728 
2729 
2730 Изменения в nginx 0.9.3                                           13.12.2010
2731 
2732     *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
2733        то выделения в регулярных выражениях в директиве server_name не
2734        работали.
2735 
2736     *) Исправление: nginx не собирался под Solaris; ошибка появилась в
2737        0.9.0.
2738 
2739 
2740 Изменения в nginx 0.9.2                                           06.12.2010
2741 
2742     *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
2743        запроса клиента.
2744 
2745     *) Изменение: использование accept(), если accept4() не реализован;
2746        ошибка появилась в 0.9.0.
2747 
2748     *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
2749 
2750     *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
2751        Спасибо Максиму Дунину.
2752 
2753 
2754 Изменения в nginx 0.9.1                                           30.11.2010
2755 
2756     *) Исправление: директивы вида "return CODE message" не работали; ошибка
2757        появилась в 0.9.0.
2758 
2759 
2760 Изменения в nginx 0.9.0                                           29.11.2010
2761 
2762     *) Добавление: директива keepalive_disable.
2763 
2764     *) Добавление: директива map поддерживает переменные в качестве значения
2765        определяемой переменной.
2766 
2767     *) Добавление: директива map поддерживает пустые строки в качестве
2768        значения первого параметра.
2769 
2770     *) Добавление: директива map поддерживает выражения в первом параметре.
2771 
2772     *) Добавление: страница руководства nginx(8).
2773        Спасибо Сергею Осокину.
2774 
2775     *) Добавление: поддержка accept4() в Linux.
2776        Спасибо Simon Liu.
2777 
2778     *) Изменение: устранение предупреждения линкера о "sys_errlist" и
2779        "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
2780 
2781     *) Исправление: при использовании директивы auth_basic в рабочем
2782        процессе мог произойти segmentation fault.
2783        Спасибо Михаилу Лалетину.
2784 
2785     *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
2786        появилась в 0.8.42.
2787 
2788 
2789 Изменения в nginx 0.8.53                                          18.10.2010
2790 
2791     *) Добавление: теперь директива error_page позволяет менять код статуса
2792        у редиректа.
2793 
2794     *) Добавление: директива gzip_disable поддерживает специальную маску
2795        degradation.
2796 
2797     *) Исправление: при использовании файлового AIO могла происходить утечка
2798        сокетов.
2799        Спасибо Максиму Дунину.
2800 
2801     *) Исправление: если в первом сервере не была описана директива listen и
2802        нигде явно не описан сервер по умолчанию, то сервером по умолчанию
2803        становился следующий сервер с директивой listen; ошибка появилась в
2804        0.8.21.
2805 
2806 
2807 Изменения в nginx 0.8.52                                          28.09.2010
2808 
2809     *) Исправление: nginx использовал режим SSL для listen сокета, если для
2810        него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
2811 
2812 
2813 Изменения в nginx 0.8.51                                          27.09.2010
2814 
2815     *) Изменение: директива secure_link_expires упразднена.
2816 
2817     *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
2818        alert на error.
2819 
2820     *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
2821        несколько раз.
2822 
2823 
2824 Изменения в nginx 0.8.50                                          02.09.2010
2825 
2826     *) Добавление: директивы secure_link, secure_link_md5 и
2827        secure_link_expires модуля ngx_http_secure_link_module.
2828 
2829     *) Добавление: ключ -q.
2830        Спасибо Геннадию Махомеду.
2831 
2832     *) Исправление: при использовании кэширования рабочие процессы и могли
2833        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
2834 
2835     *) Исправление: в директиве gzip_disable.
2836        Спасибо Derrick Petzold.
2837 
2838     *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
2839        reopen, reload процессу, запущенному в другой сессии.
2840 
2841 
2842 Изменения в nginx 0.8.49                                          09.08.2010
2843 
2844     *) Добавление: директива image_filter_jpeg_quality поддерживает
2845        переменные.
2846 
2847     *) Исправление: при использовании переменной $geoip_region_name в
2848        рабочем процессе мог произойти segmentation fault; ошибка появилась в
2849        0.8.48.
2850 
2851     *) Исправление: ошибки, перехваченные error_page, кэшировались только до
2852        следующего запроса; ошибка появилась в 0.8.48.
2853 
2854 
2855 Изменения в nginx 0.8.48                                          03.08.2010
2856 
2857     *) Изменение: теперь по умолчанию директива server_name имеет значение
2858        пустое имя "".
2859        Спасибо Геннадию Махомеду.
2860 
2861     *) Изменение: теперь по умолчанию директива server_name_in_redirect
2862        имеет значение off.
2863 
2864     *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
2865        $geoip_region_name.
2866        Спасибо Christine McGonagle.
2867 
2868     *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
2869        scgi_pass не наследовались в блоки limit_except.
2870 
2871     *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
2872        uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
2873        появилась в 0.8.46.
2874 
2875     *) Исправление: директива fastcgi_split_path_info неверно использовала
2876        выделения, если в выделения попадала только часть URI.
2877        Спасибо Юрию Тарадаю и Frank Enderle.
2878 
2879     *) Исправление: директива rewrite не экранировала символ ";" при
2880        копировании из URI в аргументы.
2881        Спасибо Daisuke Murase.
2882 
2883     *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
2884        если изображение было больше размера image_filter_buffer.
2885 
2886 
2887 Изменения в nginx 0.8.47                                          28.07.2010
2888 
2889     *) Исправление: переменная $request_time имела неверные значения для
2890        подзапросов.
2891 
2892     *) Исправление: ошибки, перехваченные error_page, не кэшировались.
2893 
2894     *) Исправление: если использовался параметр max_size, то cache manager
2895        мог зациклиться; ошибка появилась в 0.8.46.
2896 
2897 
2898 Изменения в nginx 0.8.46                                          19.07.2010
2899 
2900     *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
2901        и scgi_no_cache теперь влияют только на сохранение закэшированного
2902        ответа.
2903 
2904     *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
2905        uwsgi_cache_bypass и scgi_cache_bypass.
2906 
2907     *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
2908        ошибки работы с бэкендом: память освобождалась только по истечении
2909        времени неактивности или при недостатке памяти.
2910 
2911 
2912 Изменения в nginx 0.8.45                                          13.07.2010
2913 
2914     *) Добавление: улучшения в модуле ngx_http_xslt_filter.
2915        Спасибо Laurence Rowe.
2916 
2917     *) Исправление: ответ SSI модуля мог передаваться не полностью после
2918        команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
2919        Спасибо Максиму Дунину.
2920 
2921     *) Исправление: директива listen не поддерживала параметр setfib=0.
2922 
2923 
2924 Изменения в nginx 0.8.44                                          05.07.2010
2925 
2926     *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
2927        заголовке которых есть строка "Set-Cookie".
2928 
2929     *) Добавление: директива listen поддерживает параметр setfib.
2930        Спасибо Андрею Филонову.
2931 
2932     *) Исправление: директива sub_filter могла изменять регистр букв при
2933        частичном совпадении.
2934 
2935     *) Исправление: совместимость с HP/UX.
2936 
2937     *) Исправление: совместимость с компилятором AIX xlC_r.
2938 
2939     *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
2940        запросы.
2941        Спасибо Miroslaw Jaworski.
2942 
2943 
2944 Изменения в nginx 0.8.43                                          30.06.2010
2945 
2946     *) Добавление: ускорение загрузки больших баз geo-диапазонов.
2947 
2948     *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
2949        без изменения кода ответа оставляло тело ошибки; ошибка появилась в
2950        0.8.42.
2951 
2952     *) Исправление: nginx мог закрывать IPv6 listen сокет во время
2953        переконфигурации.
2954        Спасибо Максиму Дунину.
2955 
2956     *) Исправление: переменную $uid_set можно использовать на любой стадии
2957        обработки запроса.
2958 
2959 
2960 Изменения в nginx 0.8.42                                          21.06.2010
2961 
2962     *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
2963        выражениями, если запрос полностью совпал с location'ом, заданным
2964        строкой префикса. Предыдущее поведение появилось в 0.7.1.
2965 
2966     *) Добавление: модуль ngx_http_scgi_module.
2967        Спасибо Manlio Perillo.
2968 
2969     *) Добавление: в директиве return можно добавлять текст ответа.
2970 
2971 
2972 Изменения в nginx 0.8.41                                          15.06.2010
2973 
2974     *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
2975        при запросе файла с неверной кодировкой UTF-8.
2976 
2977     *) Изменение: теперь nginx разрешает использовать пробелы в строке
2978        запроса.
2979 
2980     *) Исправление: директива proxy_redirect неправильно изменяла строку
2981        "Refresh" в заголовке ответа бэкенда.
2982        Спасибо Андрею Андрееву и Максиму Согину.
2983 
2984     *) Исправление: nginx не поддерживал путь без имени хоста в строке
2985        "Destination" в заголовке запроса.
2986 
2987 
2988 Изменения в nginx 0.8.40                                          07.06.2010
2989 
2990     *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
2991        умолчанию.
2992        Спасибо Jose Antonio Vazquez Gonzalez.
2993 
2994     *) Добавление: модуль ngx_http_uwsgi_module.
2995        Спасибо Roberto De Ioris.
2996 
2997     *) Добавление: директива fastcgi_param со значением, начинающимся со
2998        строки "HTTP_", изменяет строку заголовка в запросе клиента.
2999 
3000     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3001        заголовке запроса клиента передавались FastCGI-серверу при
3002        кэшировании.
3003 
3004     *) Исправление: listen unix domain сокет нельзя было изменить во время
3005        переконфигурации.
3006        Спасибо Максиму Дунину.
3007 
3008 
3009 Изменения в nginx 0.8.39                                          31.05.2010
3010 
3011     *) Исправление: наследуемая директива alias неправильно работала во
3012        вложенном location'е.
3013 
3014     *) Исправление: в комбинации директив alias с переменными и try_files;
3015 
3016     *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
3017        время обновления без перерыва.
3018        Спасибо Максиму Дунину.
3019 
3020 
3021 Изменения в nginx 0.8.38                                          24.05.2010
3022 
3023     *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
3024 
3025     *) Добавление: теперь при использовании переменной $scheme в директиве
3026        rewrite автоматически делается редирект.
3027        Спасибо Piotr Sikora.
3028 
3029     *) Исправление: теперь задержки в директиве limit_req соответствует
3030        описанному алгоритму.
3031        Спасибо Максиму Дунину.
3032 
3033     *) Исправление: переменную $uid_got нельзя было использовать в SSI и
3034        перловом модулях.
3035 
3036 
3037 Изменения в nginx 0.8.37                                          17.05.2010
3038 
3039     *) Добавление: модуль ngx_http_split_clients_module.
3040 
3041     *) Добавление: директива map поддерживает ключи больше 255 символов.
3042 
3043     *) Исправление: nginx игнорировал значения "private" и "no-store" в
3044        строке "Cache-Control" в заголовке ответа бэкенда.
3045 
3046     *) Исправление: параметр stub в SSI-директиве include не использовался,
3047        если пустой ответ имел код 200.
3048 
3049     *) Исправление: если проксированный или FastCGI запрос внутренне
3050        перенаправлялся в другой проксированный или FastCGI location, то в
3051        рабочем процессе мог произойти segmentation fault; ошибка появилась в
3052        0.8.33.
3053        Спасибо Yichun Zhang.
3054 
3055     *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
3056        таймаута.
3057        Спасибо Alan Batie.
3058 
3059 
3060 Изменения в nginx 0.8.36                                          22.04.2010
3061 
3062     *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
3063        методы DELETE, COPY и MOVE для симлинков.
3064 
3065     *) Исправление: модуль SSI в подзапросах использовал закэшированные в
3066        основном запросе значения переменных $query_string, $arg_... и им
3067        подобных.
3068 
3069     *) Исправление: значение переменной повторно экранировалось после
3070        каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
3071 
3072     *) Исправление: рабочий процесс зависал при запросе файла FIFO.
3073        Спасибо Vicente Aguilar и Максиму Дунину.
3074 
3075     *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
3076        Спасибо Максиму Дунину.
3077 
3078     *) Исправление: nginx не собирался с параметром --without-http-cache;
3079        ошибка появилась в 0.8.35.
3080 
3081 
3082 Изменения в nginx 0.8.35                                          01.04.2010
3083 
3084     *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
3085 
3086     *) Добавление: директива chunked_transfer_encoding.
3087 
3088     *) Исправление: символ "&" при копировании в аргументы в правилах
3089        rewrite не экранировался.
3090 
3091     *) Исправление: nginx мог завершаться аварийно во время обработки
3092        сигнала или при использовании директивы timer_resolution на
3093        платформах, не поддерживающих методы kqueue или eventport.
3094        Спасибо George Xie и Максиму Дунину.
3095 
3096     *) Исправление: если временные файлы и постоянное место хранения
3097        располагались на разных файловых системах, то у постоянных файлов
3098        время изменения было неверным.
3099        Спасибо Максиму Дунину.
3100 
3101     *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
3102        "memcached sent invalid trailer".
3103        Спасибо Максиму Дунину.
3104 
3105     *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
3106        текстов.
3107        Спасибо Максиму Дунину.
3108 
3109     *) Исправление: в рабочем процессе происходил segmentation fault, если
3110        перед ответом FastCGI-сервера было много вывода в stderr; ошибка
3111        появилась в 0.8.34.
3112        Спасибо Максиму Дунину.
3113 
3114 
3115 Изменения в nginx 0.8.34                                          03.03.2010
3116 
3117     *) Исправление: nginx не поддерживал все шифры, используемые в
3118        клиентских сертификатах.
3119        Спасибо Иннокентию Еникееву.
3120 
3121     *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
3122        ответом было много вывода в stderr.
3123 
3124     *) Исправление: nginx не поддерживал HTTPS-рефереры.
3125 
3126     *) Исправление: nginx/Windows мог не находить файлы, если путь в
3127        конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
3128 
3129     *) Исправление: переменная $date_local выдавала неверное время, если
3130        использовался формат "%s".
3131        Спасибо Максиму Дунину.
3132 
3133     *) Исправление: если ssl_session_cache не был установлен или установлен
3134        в none, то при проверке клиентского сертификаты могла происходить
3135        ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
3136 
3137     *) Исправление: geo-диапазон возвращал значение по умолчанию, если
3138        диапазон включал в себя одну и более сетей размером /16 и не
3139        начинался на границе сети размером /16.
3140 
3141     *) Исправление: блок, используемый в параметре stub в SSI-директиве
3142        include, выводился с MIME-типом "text/plain".
3143 
3144     *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
3145 
3146 
3147 Изменения в nginx 0.8.33                                          01.02.2010
3148 
3149     *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
3150        Спасибо Dan Crowley, Core Security Technologies.
3151 
3152     *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
3153        Спасибо Dan Crowley, Core Security Technologies.
3154 
3155     *) Изменение: теперь keepalive соединения после запросов POST не
3156        запрещаются для MSIE 7.0+.
3157        Спасибо Adam Lounds.
3158 
3159     *) Изменение: теперь keepalive соединения запрещены для Safari.
3160        Спасибо Joshua Sierles.
3161 
3162     *) Исправление: если проксированный или FastCGI запрос внутренне
3163        перенаправлялся в другой проксированный или FastCGI location, то
3164        переменная $upstream_response_time могла иметь ненормально большое
3165        значение; ошибка появилась в 0.8.7.
3166 
3167     *) Исправление: в рабочем процессе мог произойти segmentation fault при
3168        отбрасывания тела запроса; ошибка появилась в 0.8.11.
3169 
3170 
3171 Изменения в nginx 0.8.32                                          11.01.2010
3172 
3173     *) Исправление: ошибки при использовании кодировки UTF-8 в
3174        ngx_http_autoindex_module.
3175        Спасибо Максиму Дунину.
3176 
3177     *) Исправление: именованные выделения в регулярных выражениях работали
3178        только для двух переменных.
3179        Спасибо Максиму Дунину.
3180 
3181     *) Исправление: теперь в строке заголовка запроса "Host" используется
3182        имя "localhost", если в директиве auth_http указан unix domain сокет.
3183        Спасибо Максиму Дунину.
3184 
3185     *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
3186        ответов.
3187        Спасибо Julian Reich.
3188 
3189     *) Исправление: если директива "expires modified" выставляла дату в
3190        прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
3191        отрицательное число.
3192        Спасибо Алексею Капранову.
3193 
3194 
3195 Изменения в nginx 0.8.31                                          23.12.2009
3196 
3197     *) Добавление: теперь директива error_page может перенаправлять ответы
3198        со статусом 301 и 302.
3199 
3200     *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
3201        $geoip_longitude.
3202        Спасибо Arvind Sundararajan.
3203 
3204     *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
3205        EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
3206 
3207     *) Исправление: nginx закрывал соединение при запросе закэшированного
3208        ответа с пустым телом.
3209        Спасибо Piotr Sikora.
3210 
3211     *) Исправление: nginx мог не собираться gcc 4.x при использовании
3212        оптимизации -O2 и выше.
3213        Спасибо Максиму Дунину и Денису Латыпову.
3214 
3215     *) Исправление: регулярные выражения в location всегда тестировались с
3216        учётом регистра; ошибка появилась в 0.8.25.
3217 
3218     *) Исправление: nginx кэшировал 304 ответ, если в заголовке
3219        проксируемого запроса была строка "If-None-Match".
3220        Спасибо Tim Dettrick и David Kostal.
3221 
3222     *) Исправление: nginx/Windows пытался дважды удалить временный файл при
3223        перезаписи уже существующего файла.
3224 
3225 
3226 Изменения в nginx 0.8.30                                          15.12.2009
3227 
3228     *) Изменение: теперь по умолчанию размер буфера директивы
3229        large_client_header_buffers равен 8K.
3230        Спасибо Andrew Cholakian.
3231 
3232     *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
3233 
3234     *) Исправление: nginx/Windows пытался дважды переименовать временный
3235        файл при перезаписи уже существующего файла.
3236 
3237     *) Исправление: ошибки double free or corruption, возникающей, если имя
3238        хоста не было найдено; ошибка появилась в 0.8.22.
3239        Спасибо Константину Свисту.
3240 
3241     *) Исправление: в использовании libatomic на некоторых платформах.
3242        Спасибо W-Mark Kubacki.
3243 
3244 
3245 Изменения в nginx 0.8.29                                          30.11.2009
3246 
3247     *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
3248        ответа "009".
3249 
3250     *) Добавление: директивы addition_types, charset_types, gzip_types,
3251        ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
3252 
3253     *) Добавление: использование встроенных атомарных операций GCC 4.1+.
3254        Спасибо W-Mark Kubacki.
3255 
3256     *) Добавление: параметр --with-libatomic[=DIR] в configure.
3257        Спасибо W-Mark Kubacki.
3258 
3259     *) Исправление: listen unix domain сокет имели ограниченные права
3260        доступа.
3261 
3262     *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
3263        обрабатывались.
3264 
3265     *) Исправление: именованные выделения в регулярных выражениях, заданные
3266        как "?P<...>", не работали в директиве server_name.
3267        Спасибо Максиму Дунину.
3268 
3269 
3270 Изменения в nginx 0.8.28                                          23.11.2009
3271 
3272     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
3273        появилась в 0.8.25.
3274 
3275 
3276 Изменения в nginx 0.8.27                                          17.11.2009
3277 
3278     *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
3279        появилась в 0.8.25.
3280 
3281 
3282 Изменения в nginx 0.8.26                                          16.11.2009
3283 
3284     *) Исправление: ошибки при использовании выделений в директиве rewrite;
3285        ошибка появилась в 0.8.25.
3286 
3287     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3288        появилась в 0.8.25.
3289 
3290 
3291 Изменения в nginx 0.8.25                                          16.11.2009
3292 
3293     *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
3294        не найдена с помощью метода $r->variable().
3295 
3296     *) Добавление: модуль ngx_http_degradation_module.
3297 
3298     *) Добавление: именованные выделения в регулярных выражениях.
3299 
3300     *) Добавление: теперь при использовании переменных в директиве
3301        proxy_pass не требуется задавать URI.
3302 
3303     *) Добавление: теперь директива msie_padding работает и для Chrome.
3304 
3305     *) Исправление: в рабочем процессе происходил segmentation fault при
3306        недостатке памяти; ошибка появилась в 0.8.18.
3307 
3308     *) Исправление: nginx передавал сжатые ответы клиентам, не
3309        поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
3310        ошибка появилась в 0.8.16.
3311 
3312 
3313 Изменения в nginx 0.8.24                                          11.11.2009
3314 
3315     *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
3316        заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
3317 
3318     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3319        появилась в 0.8.23.
3320 
3321     *) Исправление: параметр "unix:" в директиве set_real_ip_from
3322        неправильно наследовался с предыдущего уровня.
3323 
3324     *) Исправление: в resolver'е при определении пустого имени.
3325 
3326 
3327 Изменения в nginx 0.8.23                                          11.11.2009
3328 
3329     *) Безопасность: теперь SSL/TLS renegotiation запрещён.
3330        Спасибо Максиму Дунину.
3331 
3332     *) Исправление: listen unix domain сокет не наследовался во время
3333        обновления без перерыва.
3334 
3335     *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
3336        без ещё одной директивы с любым IP-адресом.
3337 
3338     *) Исправление: segmentation fault и зацикливания в resolver'е.
3339 
3340     *) Исправление: в resolver'е.
3341        Спасибо Артёму Бохану.
3342 
3343 
3344 Изменения в nginx 0.8.22                                          03.11.2009
3345 
3346     *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
3347 
3348     *) Добавление: директивы access и deny поддерживают IPv6.
3349 
3350     *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
3351        заголовках запроса.
3352 
3353     *) Добавление: параметр "unix:" в директиве set_real_ip_from.
3354 
3355     *) Исправление: nginx не удалял unix domain сокет после тестирования
3356        конфигурации.
3357 
3358     *) Исправление: nginx удалял unix domain сокет во время обновления без
3359        перерыва.
3360 
3361     *) Исправление: оператор "!-x" не работал.
3362        Спасибо Максиму Дунину.
3363 
3364     *) Исправление: в рабочем процессе мог произойти segmentation fault при
3365        использовании limit_rate в HTTPS сервере.
3366        Спасибо Максиму Дунину.
3367 
3368     *) Исправление: при записи в лог переменной $limit_rate в рабочем
3369        процессе происходил segmentation fault.
3370        Спасибо Максиму Дунину.
3371 
3372     *) Исправление: в рабочем процессе мог произойти segmentation fault,
3373        если внутри блока server не было директивы listen; ошибка появилась в
3374        0.8.21.
3375 
3376 
3377 Изменения в nginx 0.8.21                                          26.10.2009
3378 
3379     *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
3380 
3381     *) Добавление: директива listen модуля HTTP поддерживает unix domain
3382        сокеты.
3383        Спасибо Hongli Lai.
3384 
3385     *) Добавление: параметр "default_server" в директиве listen.
3386 
3387     *) Добавление: теперь параметр "default" не обязателен для установки
3388        параметров listen-сокета.
3389 
3390     *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
3391        платформах;
3392 
3393     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3394 
3395 
3396 Изменения в nginx 0.8.20                                          14.10.2009
3397 
3398     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3399        "HIGH:!ADH:!MD5".
3400 
3401     *) Исправление: модуль ngx_http_autoindex_module не показывал последний
3402        слэш для линков на каталоги; ошибка появилась в 0.7.15.
3403 
3404     *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
3405        --error-log-path; ошибка появилась в 0.7.53.
3406 
3407     *) Исправление: nginx не считал запятую разделителем в строке
3408        "Cache-Control" в заголовке ответа бэкенда.
3409 
3410     *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
3411        или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
3412        не имел достаточно прав для работы с каталогами верхнего уровня.
3413 
3414     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
3415        FastCGI-сервера не скрывались при кэшировании, если не использовались
3416        директивы fastcgi_hide_header с любыми параметрами.
3417 
3418     *) Исправление: nginx неверно считал размер кэша на диске.
3419 
3420 
3421 Изменения в nginx 0.8.19                                          06.10.2009
3422 
3423     *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
3424 
3425     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3426        "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
3427 
3428     *) Исправление: директива limit_req не работала; ошибка появилась в
3429        0.8.18.
3430 
3431 
3432 Изменения в nginx 0.8.18                                          06.10.2009
3433 
3434     *) Добавление: директива read_ahead.
3435 
3436     *) Добавление: теперь можно использовать несколько директив
3437        perl_modules.
3438 
3439     *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
3440 
3441     *) Исправление: теперь директива limit_req соответствует алгоритму leaky
3442        bucket.
3443        Спасибо Максиму Дунину.
3444 
3445     *) Исправление: nginx не работал на Linux/sparc.
3446        Спасибо Marcus Ramberg.
3447 
3448     *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
3449        ответе на запрос MKCOL.
3450        Спасибо Xie Zhenye.
3451 
3452     *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
3453        появилась в 0.8.11.
3454 
3455     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3456 
3457 
3458 Изменения в nginx 0.8.17                                          28.09.2009
3459 
3460     *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
3461        в заголовке запроса.
3462 
3463     *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
3464 
3465     *) Добавление: переменная $ssl_session_id.
3466 
3467     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3468 
3469 
3470 Изменения в nginx 0.8.16                                          22.09.2009
3471 
3472     *) Добавление: директива image_filter_transparency.
3473 
3474     *) Исправление: директива "addition_types" была неверно названа
3475        "addtion_types".
3476 
3477     *) Исправление: порчи кэша resolver'а.
3478        Спасибо Matthew Dempsky.
3479 
3480     *) Исправление: утечки памяти в resolver'е.
3481        Спасибо Matthew Dempsky.
3482 
3483     *) Исправление: неверная строка запроса в переменной $request
3484        записывалась в access_log только при использовании error_log на
3485        уровне info или debug.
3486 
3487     *) Исправление: в поддержке альфа-канала PNG в модуле
3488        ngx_http_image_filter_module.
3489 
3490     *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
3491        заголовок ответа, если обе директивы gzip_static и gzip_vary были
3492        включены.
3493 
3494     *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
3495        nginx/Windows.
3496 
3497     *) Исправление: ошибки при использовании post_action; ошибка появилась в
3498        0.8.11.
3499        Спасибо Игорю Артемьеву.
3500 
3501 
3502 Изменения в nginx 0.8.15                                          14.09.2009
3503 
3504     *) Безопасность: при обработке специально созданного запроса в рабочем
3505        процессе мог произойти segmentation fault.
3506        Спасибо Chris Ries.
3507 
3508     *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
3509        .domain-some.tld, то имя .sub.domain.tld попадало под маску
3510        .domain.tld.
3511 
3512     *) Исправление: в поддержке прозрачности в модуле
3513        ngx_http_image_filter_module.
3514 
3515     *) Исправление: в файловом AIO.
3516 
3517     *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
3518        появилась в 0.8.11.
3519 
3520     *) Исправление: ошибки при использовании встроенного перла; ошибка
3521        появилась в 0.8.11.
3522 
3523 
3524 Изменения в nginx 0.8.14                                          07.09.2009
3525 
3526     *) Исправление: устаревший закэшированный запрос мог залипнуть в
3527        состоянии "UPDATING".
3528 
3529     *) Исправление: при использовании error_log на уровне info или debug в
3530        рабочем процессе мог произойти segmentation fault.
3531        Спасибо Сергею Боченкову.
3532 
3533     *) Исправление: ошибки при использовании встроенного перла; ошибка
3534        появилась в 0.8.11.
3535 
3536     *) Исправление: директива error_page не перенаправляла ошибку 413;
3537        ошибка появилась в 0.6.10.
3538 
3539 
3540 Изменения в nginx 0.8.13                                          31.08.2009
3541 
3542     *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
3543 
3544     *) Исправление: nginx не собирался без параметра --with-file-aio на
3545        FreeBSD; ошибка появилась в 0.8.12.
3546 
3547 
3548 Изменения в nginx 0.8.12                                          31.08.2009
3549 
3550     *) Добавление: параметр sendfile в директиве aio во FreeBSD.
3551 
3552     *) Исправление: ошибки при использовании try_files; ошибка появилась в
3553        0.8.11.
3554 
3555     *) Исправление: ошибки при использовании memcached; ошибка появилась в
3556        0.8.11.
3557 
3558 
3559 Изменения в nginx 0.8.11                                          28.08.2009
3560 
3561     *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
3562        для MSIE 6.0 SV1.
3563 
3564     *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
3565 
3566     *) Добавление: директива directio_alignment.
3567 
3568 
3569 Изменения в nginx 0.8.10                                          24.08.2009
3570 
3571     *) Исправление: утечек памяти при использовании базы GeoIP City.
3572 
3573     *) Исправление: ошибки при копировании временных файлов в постоянное
3574        место хранения; ошибка появилась в 0.8.9.
3575 
3576 
3577 Изменения в nginx 0.8.9                                           17.08.2009
3578 
3579     *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
3580        процесс; это должно улучшить обработку больших кэшей.
3581 
3582     *) Добавление: теперь временные файлы и постоянное место хранения могут
3583        располагаться на разных файловых системах.
3584 
3585 
3586 Изменения в nginx 0.8.8                                           10.08.2009
3587 
3588     *) Исправление: в обработке заголовков ответа, разделённых в
3589        FastCGI-записях.
3590 
3591     *) Исправление: если запрос обрабатывался в двух проксированных или
3592        FastCGI location'ах и в первом из них использовалось кэширование, то
3593        в рабочем процессе происходил segmentation fault; ошибка появилась в
3594        0.8.7.
3595 
3596 
3597 Изменения в nginx 0.8.7                                           27.07.2009
3598 
3599     *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
3600 
3601     *) Изменение: параметр ask директивы ssl_verify_client изменён на
3602        параметр optional и теперь он проверяет клиентский сертификат, если
3603        он был предложен.
3604        Спасибо Brice Figureau.
3605 
3606     *) Добавление: переменная $ssl_client_verify.
3607        Спасибо Brice Figureau.
3608 
3609     *) Добавление: директива ssl_crl.
3610        Спасибо Brice Figureau.
3611 
3612     *) Добавление: параметр proxy директивы geo.
3613 
3614     *) Добавление: директива image_filter поддерживает переменные для
3615        задания размеров.
3616 
3617     *) Исправление: использование переменной $ssl_client_cert портило
3618        память; ошибка появилась в 0.7.7.
3619        Спасибо Сергею Журавлёву.
3620 
3621     *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
3622        передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
3623        "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
3624        Спасибо Максиму Дунину.
3625 
3626     *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
3627        заголовке ответа бэкенда; ошибка появилась в 0.7.44.
3628        Спасибо Максиму Дунину.
3629 
3630     *) Исправление: ошибки "[alert] zero size buf" при получении пустых
3631        ответы в подзапросах; ошибка появилась в 0.8.5.
3632 
3633 
3634 Изменения в nginx 0.8.6                                           20.07.2009
3635 
3636     *) Добавление: модуль ngx_http_geoip_module.
3637 
3638     *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
3639        document" для правильного документа.
3640        Спасибо Kuramoto Eiji.
3641 
3642     *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
3643        location'ов, заданных регулярным выражением, теперь всегда делается
3644        сравнение без учёта регистра символов.
3645 
3646     *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
3647        Спасибо Hugo Leisink.
3648 
3649     *) Исправление: имя файла указанного в --conf-path игнорировалось при
3650        установке; ошибка появилась в 0.6.6.
3651        Спасибо Максиму Дунину.
3652 
3653 
3654 Изменения в nginx 0.8.5                                           13.07.2009
3655 
3656     *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
3657 
3658     *) Исправление: при использовании HTTP Basic-аутентификации на Windows
3659        для неверных имени/пароля возвращалась 500-ая ошибка.
3660 
3661     *) Исправление: ответы модуля ngx_http_perl_module не работали в
3662        подзапросах.
3663 
3664     *) Исправление: в модуле ngx_http_limit_req_module.
3665        Спасибо Максиму Дунину.
3666 
3667 
3668 Изменения в nginx 0.8.4                                           22.06.2009
3669 
3670     *) Исправление: nginx не собирался с параметром --without-http-cache;
3671        ошибка появилась в 0.8.3.
3672 
3673 
3674 Изменения в nginx 0.8.3                                           19.06.2009
3675 
3676     *) Добавление: переменная $upstream_cache_status.
3677 
3678     *) Исправление: nginx не собирался на MacOSX 10.6.
3679 
3680     *) Исправление: nginx не собирался с параметром --without-http-cache;
3681        ошибка появилась в 0.8.2.
3682 
3683     *) Исправление: если использовался перехват 401 ошибки от бэкенда и
3684        бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
3685        в рабочем процессе происходил segmentation fault.
3686        Спасибо Евгению Мычло.
3687 
3688 
3689 Изменения в nginx 0.8.2                                           15.06.2009
3690 
3691     *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
3692        на старте.
3693 
3694     *) Исправление: open_file_cache мог кэшировать открытые файлы очень
3695        долго; ошибка появилась в 0.7.4.
3696 
3697 
3698 Изменения в nginx 0.8.1                                           08.06.2009
3699 
3700     *) Добавление: параметр updating в директивах proxy_cache_use_stale и
3701        fastcgi_cache_use_stale.
3702 
3703     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3704        заголовке запроса клиента передавались бэкенду при кэшировании, если
3705        не использовалась директива proxy_set_header с любыми параметрами.
3706 
3707     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
3708        не скрывались при кэшировании, если не использовались директивы
3709        proxy_hide_header/fastcgi_hide_header с любыми параметрами.
3710 
3711     *) Исправление: модуль ngx_http_image_filter_module не понимал формат
3712        GIF87a.
3713        Спасибо Денису Ильиных.
3714 
3715     *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
3716        появилась в 0.7.56.
3717 
3718 
3719 Изменения в nginx 0.8.0                                           02.06.2009
3720 
3721     *) Добавление: директива keepalive_requests.
3722 
3723     *) Добавление: директива limit_rate_after.
3724        Спасибо Ivan Debnar.
3725 
3726     *) Исправление: XSLT-фильтр не работал в подзапросах.
3727 
3728     *) Исправление: обработке относительных путей в nginx/Windows.
3729 
3730     *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
3731        fastcgi_cache в nginx/Windows.
3732 
3733     *) Исправление: в обработке ошибок выделения памяти.
3734        Спасибо Максиму Дунину и Кириллу Коринскому.
3735 
3736 
3737 Изменения в nginx 0.7.59                                          25.05.2009
3738 
3739     *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
3740 
3741     *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
3742        Спасибо Максиму Дунину.
3743 
3744     *) Исправление: при использовании переменной $request_body в рабочем
3745        процессе происходил segmentation fault, если в запросе не было тела;
3746        ошибка появилась в 0.7.58.
3747 
3748     *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
3749        ошибка появилась в 0.7.56.
3750 
3751     *) Исправление: ответы модуля ngx_http_xslt_filter_module не
3752        обрабатывались SSI-, charset- и gzip-фильтрами.
3753 
3754     *) Исправление: директива charset не ставила кодировку для ответов
3755        модуля ngx_http_gzip_static_module.
3756 
3757 
3758 Изменения в nginx 0.7.58                                          18.05.2009
3759 
3760     *) Добавление: директива listen почтового прокси-сервера поддерживает
3761        IPv6.
3762 
3763     *) Добавление: директива image_filter_jpeg_quality.
3764 
3765     *) Добавление: директива client_body_in_single_buffer.
3766 
3767     *) Добавление: переменная $request_body.
3768 
3769     *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
3770        файлов, содержащих символ ":".
3771 
3772     *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
3773        0.7.53.
3774        Спасибо Денису Латыпову.
3775 
3776 
3777 Изменения в nginx 0.7.57                                          12.05.2009
3778 
3779     *) Исправление: при перенаправлении ошибок модуля
3780        ngx_http_image_filter_module в именованный location в рабочем
3781        процессе происходил floating-point fault; ошибка появилась в 0.7.56.
3782 
3783 
3784 Изменения в nginx 0.7.56                                          11.05.2009
3785 
3786     *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
3787        HTTP.
3788 
3789     *) Исправление: в модуле ngx_http_image_filter_module.
3790 
3791 
3792 Изменения в nginx 0.7.55                                          06.05.2009
3793 
3794     *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
3795        fastcgi_cache_use_stale не работали.
3796 
3797     *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
3798        заголовка.
3799 
3800     *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
3801        nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
3802 
3803     *) Исправление: при использовании директивы debug_connection в рабочем
3804        процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
3805 
3806     *) Исправление: в сборке модуля ngx_http_image_filter_module.
3807 
3808     *) Исправление: файлы больше 2G не передавались с использованием
3809        $r->sendfile.
3810        Спасибо Максиму Дунину.
3811 
3812 
3813 Изменения в nginx 0.7.54                                          01.05.2009
3814 
3815     *) Добавление: модуль ngx_http_image_filter_module.
3816 
3817     *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
3818 
3819     *) Исправление: при использовании переменных "open_file_cache_errors on"
3820        в рабочем процессе мог произойти segmentation fault; ошибка появилась
3821        в 0.7.53.
3822 
3823     *) Исправление: директива "port_in_redirect off" не работала; ошибка
3824        появилась в 0.7.39.
3825 
3826     *) Исправление: улучшение обработки ошибок метода select.
3827 
3828     *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
3829 
3830     *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
3831        ошибка появилась в 0.7.53.
3832 
3833 
3834 Изменения в nginx 0.7.53                                          27.04.2009
3835 
3836     *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
3837        самого начала работы.
3838 
3839     *) Добавление: теперь ошибки и предупреждения при старте записываются в
3840        error_log и выводятся на stderr.
3841 
3842     *) Добавление: при сборке с пустым параметром --prefix= nginx использует
3843        как префикс каталог, в котором он был запущен.
3844 
3845     *) Добавление: ключ -p.
3846 
3847     *) Добавление: ключ -s на Unix-платформах.
3848 
3849     *) Добавление: ключи -? и -h.
3850        Спасибо Jerome Loyet.
3851 
3852     *) Добавление: теперь ключи можно задавать в сжатой форме.
3853 
3854     *) Исправление: nginx/Windows не работал, если файл конфигурации был
3855        задан ключом -c.
3856 
3857     *) Исправление: при использовании директив proxy_store, fastcgi_store,
3858        proxy_cache или fastcgi_cache временные файлы могли не удаляться.
3859        Спасибо Максиму Дунину.
3860 
3861     *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
3862        почтового прокси-сервера передавалось неверное значение; ошибка
3863        появилась в 0.7.34.
3864        Спасибо Simon Lecaille.
3865 
3866     *) Исправление: при логгировании на Linux не писались текстовые описания
3867        системных ошибок; ошибка появилась в 0.7.45.
3868 
3869     *) Исправление: директива fastcgi_cache_min_uses не работала.
3870        Спасибо Андрею Воробьёву.
3871 
3872 
3873 Изменения в nginx 0.7.52                                          20.04.2009
3874 
3875     *) Добавление: первая бинарная версия под Windows.
3876 
3877     *) Исправление: корректная обработка метода HEAD при кэшировании.
3878 
3879     *) Исправление: корректная обработка строк "If-Modified-Since",
3880        "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
3881 
3882     *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
3883        заголовке ответа для закэшированных ответов.
3884 
3885     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3886        perl поддерживал потоки, то при выходе основного процесса могла
3887        выдаваться ошибка "panic: MUTEX_LOCK".
3888 
3889     *) Исправление: nginx не собирался с параметром --without-http-cache;
3890        ошибка появилась в 0.7.48.
3891 
3892     *) Исправление: nginx не собирался на платформах, отличных от i386,
3893        amd64, sparc и ppc; ошибка появилась в 0.7.42.
3894 
3895 
3896 Изменения в nginx 0.7.51                                          12.04.2009
3897 
3898     *) Добавление: директива try_files поддерживает код ответа в последнем
3899        параметре.
3900 
3901     *) Добавление: теперь в директиве return можно использовать любой код
3902        ответа.
3903 
3904     *) Исправление: директива error_page делала внешний редирект без строки
3905        запроса; ошибка появилась в 0.7.44.
3906 
3907     *) Исправление: если сервера слушали на нескольких явно описанных
3908        адресах, то виртуальные сервера могли не работать; ошибка появилась в
3909        0.7.39.
3910 
3911 
3912 Изменения в nginx 0.7.50                                          06.04.2009
3913 
3914     *) Исправление: переменные $arg_... не работали; ошибка появилась в
3915        0.7.49.
3916 
3917 
3918 Изменения в nginx 0.7.49                                          06.04.2009
3919 
3920     *) Исправление: при использовании переменных $arg_... в рабочем процессе
3921        мог произойти segmentation fault; ошибка появилась в 0.7.48.
3922 
3923 
3924 Изменения в nginx 0.7.48                                          06.04.2009
3925 
3926     *) Добавление: директива proxy_cache_key.
3927 
3928     *) Исправление: теперь nginx учитывает при кэшировании строки
3929        "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
3930        бэкенда.
3931 
3932     *) Исправление: теперь nginx кэширует только ответы на запросы GET.
3933 
3934     *) Исправление: директива fastcgi_cache_key не наследовалась.
3935 
3936     *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
3937        Спасибо Максиму Дунину.
3938 
3939     *) Исправление: nginx не собирался с библиотекой uclibc.
3940        Спасибо Timothy Redaelli.
3941 
3942     *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
3943        в 0.7.46.
3944 
3945 
3946 Изменения в nginx 0.7.47                                          01.04.2009
3947 
3948     *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
3949        ошибка появилась в 0.7.46.
3950 
3951     *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
3952 
3953     *) Исправление: если использовался параметр max_size, то cache manager
3954        мог удалить весь кэш; ошибка появилась в 0.7.46.
3955 
3956     *) Изменение: в рабочем процессе мог произойти segmentation fault, если
3957        директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
3958        fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
3959        в 0.7.46.
3960 
3961     *) Исправление: в рабочем процессе мог произойти segmentation fault при
3962        перенаправлении запроса проксированному или FastCGI-серверу с помощью
3963        error_page или try_files; ошибка появилась в 0.7.44.
3964 
3965 
3966 Изменения в nginx 0.7.46                                          30.03.2009
3967 
3968     *) Исправление: архив предыдущего релиза был неверным.
3969 
3970 
3971 Изменения в nginx 0.7.45                                          30.03.2009
3972 
3973     *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
3974        задавать на разных уровнях.
3975 
3976     *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
3977 
3978     *) Добавление: параметр max_size в директиве proxy_cache_path.
3979 
3980     *) Добавление: предварительная поддержка кэширования в модуле
3981        ngx_http_fastcgi_module.
3982 
3983     *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
3984        указываются названия директивы и зоны.
3985 
3986     *) Исправление: директива "add_header last-modified ''" не удаляла в
3987        заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
3988 
3989     *) Исправление: в директиве auth_basic_user_file не работал
3990        относительный путь, заданный строкой без переменных; ошибка появилась
3991        в 0.7.44.
3992        Спасибо Jerome Loyet.
3993 
3994     *) Исправление: в директиве alias, заданной переменными без ссылок на
3995        выделения в регулярных выражениях; ошибка появилась в 0.7.42.
3996 
3997 
3998 Изменения в nginx 0.7.44                                          23.03.2009
3999 
4000     *) Добавление: предварительная поддержка кэширования в модуле
4001        ngx_http_proxy_module.
4002 
4003     *) Добавление: параметр --with-pcre в configure.
4004 
4005     *) Добавление: теперь директива try_files может быть использована на
4006        уровне server.
4007 
4008     *) Исправление: директива try_files неправильно обрабатывала строку
4009        запроса в последнем параметре.
4010 
4011     *) Исправление: директива try_files могла неверно тестировать каталоги.
4012 
4013     *) Исправление: если для пары адрес:порт описан только один сервер, то
4014        выделения в регулярных выражениях в директиве server_name не
4015        работали.
4016 
4017 
4018 Изменения в nginx 0.7.43                                          18.03.2009
4019 
4020     *) Исправление: запрос обрабатывался неверно, если директива root
4021        использовала переменные; ошибка появилась в 0.7.42.
4022 
4023     *) Исправление: если сервер слушал на адресах типа "*", то значение
4024        переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
4025 
4026 
4027 Изменения в nginx 0.7.42                                          16.03.2009
4028 
4029     *) Изменение: ошибка "Invalid argument", возвращаемая
4030        setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
4031 
4032     *) Изменение: при отсутствии файла, указанного в директиве
4033        auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
4034 
4035     *) Добавление: директива auth_basic_user_file поддерживает переменные.
4036        Спасибо Кириллу Коринскому.
4037 
4038     *) Добавление: директива listen поддерживает параметр ipv6only.
4039        Спасибо Zhang Hua.
4040 
4041     *) Исправление: в директиве alias со ссылками на выделения в регулярных
4042        выражениях; ошибка появилась в 0.7.40.
4043 
4044     *) Исправление: совместимость с Tru64 UNIX.
4045        Спасибо Dustin Marquess.
4046 
4047     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4048        в 0.7.41.
4049 
4050 
4051 Изменения в nginx 0.7.41                                          11.03.2009
4052 
4053     *) Исправление: в рабочем процессе мог произойти segmentation fault,
4054        если в server_name или location были выделения в регулярных
4055        выражениях; ошибка появилась в 0.7.40.
4056        Спасибо Владимиру Сопоту.
4057 
4058 
4059 Изменения в nginx 0.7.40                                          09.03.2009
4060 
4061     *) Добавление: директива location поддерживает выделения в регулярных
4062        выражениях.
4063 
4064     *) Добавление: директиву alias с ссылками на выделения в регулярных
4065        выражениях можно использовать внутри location'а, заданного регулярным
4066        выражением с выделениями.
4067 
4068     *) Добавление: директива server_name поддерживает выделения в регулярных
4069        выражениях.
4070 
4071     *) Изменение: модуль ngx_http_autoindex_module не показывал последний
4072        слэш для каталогов на файловой системе XFS; ошибка появилась в
4073        0.7.15.
4074        Спасибо Дмитрию Кузьменко.
4075 
4076 
4077 Изменения в nginx 0.7.39                                          02.03.2009
4078 
4079     *) Исправление: при включённом сжатии большие ответы с использованием
4080        SSI могли зависать; ошибка появилась в 0.7.28.
4081        Спасибо Артёму Бохану.
4082 
4083     *) Исправление: при использовании коротких статических вариантов в
4084        директиве try_files в рабочем процессе мог произойти segmentation
4085        fault.
4086 
4087 
4088 Изменения в nginx 0.7.38                                          23.02.2009
4089 
4090     *) Добавление: логгирование ошибок аутентификации.
4091 
4092     *) Исправление: имя/пароль, заданные в auth_basic_user_file,
4093        игнорировались после нечётного числа пустых строк.
4094        Спасибо Александру Загребину.
4095 
4096     *) Исправление: при использовании длинного пути в unix domain сокете в
4097        главном процессе происходил segmentation fault; ошибка появилась в
4098        0.7.36.
4099 
4100 
4101 Изменения в nginx 0.7.37                                          21.02.2009
4102 
4103     *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
4104        появилась в 0.7.36.
4105 
4106 
4107 Изменения в nginx 0.7.36                                          21.02.2009
4108 
4109     *) Добавление: предварительная поддержка IPv6; директива listen модуля
4110        HTTP поддерживает IPv6.
4111 
4112     *) Исправление: переменная $ancient_browser не работала для браузеров,
4113        заданных директивами modern_browser.
4114 
4115 
4116 Изменения в nginx 0.7.35                                          16.02.2009
4117 
4118     *) Исправление: директива ssl_engine не использовала SSL-акселератор для
4119        асимметричных шифров.
4120        Спасибо Marcin Gozdalik.
4121 
4122     *) Исправление: директива try_files выставляла MIME-type, исходя из
4123        расширения первоначального запроса.
4124 
4125     *) Исправление: в директивах server_name, valid_referers и map
4126        неправильно обрабатывались имена вида "*domain.tld", если
4127        использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
4128        ошибка появилась в 0.7.9.
4129 
4130 
4131 Изменения в nginx 0.7.34                                          10.02.2009
4132 
4133     *) Добавление: параметр off в директиве if_modified_since.
4134 
4135     *) Добавление: теперь после команды XCLIENT nginx посылает команду
4136        HELO/EHLO.
4137        Спасибо Максиму Дунину.
4138 
4139     *) Добавление: поддержка Microsoft-специфичного режима
4140        "AUTH LOGIN with User Name" в почтовом прокси-сервере.
4141        Спасибо Максиму Дунину.
4142 
4143     *) Исправление: в директиве rewrite, возвращающей редирект, старые
4144        аргументы присоединялись к новым через символ "?" вместо "&";
4145        ошибка появилась в 0.1.18.
4146        Спасибо Максиму Дунину.
4147 
4148     *) Исправление: nginx не собирался на AIX.
4149 
4150 
4151 Изменения в nginx 0.7.33                                          02.02.2009
4152 
4153     *) Исправление: если на запрос с телом возвращался редирект, то ответ
4154        мог быть двойным при использовании методов epoll или rtsig.
4155        Спасибо Eden Li.
4156 
4157     *) Исправление: для некоторых типов редиректов в переменной
4158        $sent_http_location было пустое значение.
4159 
4160     *) Исправление: при использовании директивы resolver в SMTP
4161        прокси-сервере в рабочем процессе мог произойти segmentation fault.
4162 
4163 
4164 Изменения в nginx 0.7.32                                          26.01.2009
4165 
4166     *) Добавление: теперь в директиве try_files можно явно указать проверку
4167        каталога.
4168 
4169     *) Исправление: fastcgi_store не всегда сохранял файлы.
4170 
4171     *) Исправление: в гео-диапазонах.
4172 
4173     *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
4174        если nginx был собран без отладки.
4175        Спасибо Андрею Квасову.
4176 
4177 
4178 Изменения в nginx 0.7.31                                          19.01.2009
4179 
4180     *) Изменение: теперь директива try_files проверяет только файлы,
4181        игнорируя каталоги.
4182 
4183     *) Добавление: директива fastcgi_split_path_info.
4184 
4185     *) Исправления в поддержке строки "Expect" в заголовке запроса.
4186 
4187     *) Исправления в гео-диапазонах.
4188 
4189     *) Исправление: при отсутствии ответа ngx_http_memcached_module
4190        возвращал в теле ответа строку "END" вместо 404-ой страницы по
4191        умолчанию; ошибка появилась в 0.7.18.
4192        Спасибо Максиму Дунину.
4193 
4194     *) Исправление: при проксировании SMTP nginx выдавал сообщение
4195        "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
4196        Спасибо Максиму Дунину.
4197 
4198 
4199 Изменения в nginx 0.7.30                                          24.12.2008
4200 
4201     *) Исправление: в рабочем процессе происходил segmentation fault, если в
4202        директивах fastcgi_pass или proxy_pass использовались переменные и
4203        имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
4204 
4205 
4206 Изменения в nginx 0.7.29                                          24.12.2008
4207 
4208     *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
4209        переменные при использовании unix domain сокетов.
4210 
4211     *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
4212 
4213     *) Исправление: ответ "100 Continue" выдавался для запросов версии
4214        HTTP/1.0;
4215        Спасибо Максиму Дунину.
4216 
4217     *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
4218        под Cygwin.
4219 
4220 
4221 Изменения в nginx 0.7.28                                          22.12.2008
4222 
4223     *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
4224 
4225     *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
4226        с 4 4k/8k на 32 4k или 16 8k.
4227 
4228 
4229 Изменения в nginx 0.7.27                                          15.12.2008
4230 
4231     *) Добавление: директива try_files.
4232 
4233     *) Добавление: директива fastcgi_pass поддерживает переменные.
4234 
4235     *) Добавление: теперь директива geo может брать адрес из переменной.
4236        Спасибо Андрею Нигматулину.
4237 
4238     *) Добавление: теперь модификатор location'а можно указывать без пробела
4239        перед названием.
4240 
4241     *) Добавление: переменная $upstream_response_length.
4242 
4243     *) Исправление: теперь директива add_header не добавляет пустое
4244        значение.
4245 
4246     *) Исправление: при запросе файла нулевой длины nginx закрывал
4247        соединение, ничего не передав; ошибка появилась в 0.7.25.
4248 
4249     *) Исправление: метод MOVE не мог перемещать файл в несуществующий
4250        каталог.
4251 
4252     *) Исправление: если в сервере не был описан ни один именованный
4253        location, но такой location использовался в директиве error_page, то
4254        в рабочем процессе происходил segmentation fault.
4255        Спасибо Сергею Боченкову.
4256 
4257 
4258 Изменения в nginx 0.7.26                                          08.12.2008
4259 
4260     *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
4261 
4262 
4263 Изменения в nginx 0.7.25                                          08.12.2008
4264 
4265     *) Изменение: в обработке подзапросов.
4266 
4267     *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
4268        заголовке запроса.
4269 
4270     *) Исправление: теперь директивы limit_req и limit_conn указывают
4271        причину запрета запроса.
4272 
4273     *) Исправление: в параметре delete директивы geo.
4274 
4275 
4276 Изменения в nginx 0.7.24                                          01.12.2008
4277 
4278     *) Добавление: директива if_modified_since.
4279 
4280     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
4281        ответом сервер передавал много сообщений в stderr.
4282 
4283     *) Исправление: переменные "$cookie_..." не работали в SSI and в
4284        перловом модуле.
4285 
4286 
4287 Изменения в nginx 0.7.23                                          27.11.2008
4288 
4289     *) Добавление: параметры delete и ranges в директиве geo.
4290 
4291     *) Добавление: ускорение загрузки geo-базы с большим числом значений.
4292 
4293     *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
4294 
4295 
4296 Изменения в nginx 0.7.22                                          20.11.2008
4297 
4298     *) Добавление: параметр none в директиве smtp_auth.
4299        Спасибо Максиму Дунину.
4300 
4301     *) Добавление: переменные "$cookie_...".
4302 
4303     *) Исправление: директива directio не работала с файловой системой XFS.
4304 
4305     *) Исправление: resolver не понимал большие DNS-ответы.
4306        Спасибо Zyb.
4307 
4308 
4309 Изменения в nginx 0.7.21                                          11.11.2008
4310 
4311     *) Изменения в модуле ngx_http_limit_req_module.
4312 
4313     *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
4314        Спасибо Денису Латыпову.
4315 
4316     *) Изменение: совместимость с glibc 2.3.
4317        Спасибо Eric Benson и Максиму Дунину.
4318 
4319     *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
4320        ошибка появилась в 0.7.6.
4321 
4322 
4323 Изменения в nginx 0.7.20                                          10.11.2008
4324 
4325     *) Изменения в модуле ngx_http_gzip_filter_module.
4326 
4327     *) Добавление: модуль ngx_http_limit_req_module.
4328 
4329     *) Исправление: на платформах sparc и ppc рабочие процессы могли
4330        выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
4331        Спасибо Максиму Дунину.
4332 
4333     *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
4334        работали; ошибка появилась в 0.7.12.
4335 
4336     *) Исправление: при использовании HTTPS запросы могли завершаться с
4337        ошибкой "bad write retry".
4338 
4339     *) Исправление: модуль ngx_http_secure_link_module не работал внутри
4340        location'ов с именами меньше 3 символов.
4341 
4342     *) Исправление: переменная $server_addr могла не иметь значения.
4343 
4344 
4345 Изменения в nginx 0.7.19                                          13.10.2008
4346 
4347     *) Исправление: обновление номера версии.
4348 
4349 
4350 Изменения в nginx 0.7.18                                          13.10.2008
4351 
4352     *) Изменение: директива underscores_in_headers; теперь nginx по
4353        умолчанию не разрешает подчёркивания в именах строк в заголовке
4354        запроса клиента.
4355 
4356     *) Добавление: модуль ngx_http_secure_link_module.
4357 
4358     *) Добавление: директива real_ip_header поддерживает любой заголовок.
4359 
4360     *) Добавление: директива log_subrequest.
4361 
4362     *) Добавление: переменная $realpath_root.
4363 
4364     *) Добавление: параметры http_502 и http_504 в директиве
4365        proxy_next_upstream.
4366 
4367     *) Исправление: параметр http_503 в директивах proxy_next_upstream или
4368        fastcgi_next_upstream не работал.
4369 
4370     *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
4371        для запросов HEAD.
4372 
4373     *) Исправление: теперь accept-лимит зависит от числа worker_connections.
4374 
4375 
4376 Изменения в nginx 0.7.17                                          15.09.2008
4377 
4378     *) Добавление: директива directio теперь работает на Linux.
4379 
4380     *) Добавление: переменная $pid.
4381 
4382     *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
4383        при использовании open_file_cache.
4384 
4385     *) Исправление: access_log с переменными не работал на Linux; ошибка
4386        появилась в 0.7.7.
4387 
4388     *) Исправление: модуль ngx_http_charset_module не понимал название
4389        кодировки в кавычках, полученное от бэкенда.
4390 
4391 
4392 Изменения в nginx 0.7.16                                          08.09.2008
4393 
4394     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
4395        появилась в 0.7.15.
4396 
4397 
4398 Изменения в nginx 0.7.15                                          08.09.2008
4399 
4400     *) Добавление: модуль ngx_http_random_index_module.
4401 
4402     *) Добавление: директива directio оптимизирована для запросов файлов,
4403        начинающихся с произвольной позиции.
4404 
4405     *) Добавление: директива directio при необходимости запрещает
4406        использование sendfile.
4407 
4408     *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
4409        заголовке запроса клиента.
4410 
4411 
4412 Изменения в nginx 0.7.14                                          01.09.2008
4413 
4414     *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
4415        имеют значений по умолчанию.
4416 
4417     *) Добавление: директива listen поддерживает параметр ssl.
4418 
4419     *) Добавление: теперь при переконфигурации nginx учитывает изменение
4420        временной зоны на FreeBSD и Linux.
4421 
4422     *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
4423        прочие, не устанавливались, если сервером по умолчанию был не первый
4424        сервер.
4425 
4426     *) Исправление: при использовании в качестве аргументов части URI,
4427        выделенного с помощью директивы rewrite, эти аргументы не
4428        экранировались.
4429 
4430     *) Исправление: улучшения тестирования правильности конфигурационного
4431        файла.
4432 
4433 
4434 Изменения в nginx 0.7.13                                          26.08.2008
4435 
4436     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4437        в 0.7.12.
4438 
4439 
4440 Изменения в nginx 0.7.12                                          26.08.2008
4441 
4442     *) Добавление: директива server_name поддерживает пустое имя "".
4443 
4444     *) Добавление: директива gzip_disable поддерживает специальную маску
4445        msie6.
4446 
4447     *) Исправление: при использовании параметра max_fails=0 в upstream'е с
4448        несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
4449        Спасибо Максиму Дунину.
4450 
4451     *) Исправление: при перенаправлении запроса с помощью директивы
4452        error_page терялось тело запроса.
4453 
4454     *) Исправление: при перенаправлении запроса с методом HEAD с помощью
4455        директивы error_page возвращался полный ответ.
4456 
4457     *) Исправление: метод $r->header_in() не возвращал значения строк
4458        "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
4459        появилась в 0.7.0.
4460 
4461 
4462 Изменения в nginx 0.7.11                                          18.08.2008
4463 
4464     *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
4465        MIME-типом text/css.
4466 
4467     *) Добавление: теперь nginx возвращает код 405 для метода POST при
4468        запросе статического файла, только если файл существует.
4469 
4470     *) Добавление: директива proxy_ssl_session_reuse.
4471 
4472     *) Исправление: после перенаправления запроса с помощью
4473        "X-Accel-Redirect" директива proxy_pass без URI могла использовать
4474        оригинальный запрос.
4475 
4476     *) Исправление: если у каталога были права доступа только на поиск
4477        файлов и первый индексный файл отсутствовал, то nginx возвращал
4478        ошибку 500.
4479 
4480     *) Исправление: ошибок во вложенных location'ах; ошибки появились в
4481        0.7.1.
4482 
4483 
4484 Изменения в nginx 0.7.10                                          13.08.2008
4485 
4486     *) Исправление: ошибок в директивах addition_types, charset_types,
4487        gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
4488        появились в 0.7.9.
4489 
4490     *) Исправление: рекурсивной error_page для 500 ошибки.
4491 
4492     *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
4493        не для всего keepalive соединения, а для каждого запроса по этому
4494        соединению.
4495 
4496 
4497 Изменения в nginx 0.7.9                                           12.08.2008
4498 
4499     *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
4500        следующими MIME-типами: text/html, text/css, text/xml, text/plain,
4501        text/vnd.wap.wml, application/x-javascript и application/rss+xml.
4502 
4503     *) Добавление: директивы charset_types и addition_types.
4504 
4505     *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
4506        используют хэш.
4507 
4508     *) Добавление: модуль ngx_cpp_test_module.
4509 
4510     *) Добавление: директива expires поддерживает суточное время.
4511 
4512     *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
4513        Спасибо Денису Латыпову и Максиму Дунину.
4514 
4515     *) Исправление: директива log_not_found не работала при поиске индексных
4516        файлов.
4517 
4518     *) Исправление: HTTPS-соединения могли зависнуть, если использовались
4519        методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
4520 
4521     *) Исправление: если в директивах server_name, valid_referers и map
4522        использовалась маска вида "*.domain.tld" и при этом полное имя вида
4523        "domain.tld" не было описано, то это имя попадало под маску; ошибка
4524        появилась в 0.3.18.
4525 
4526 
4527 Изменения в nginx 0.7.8                                           04.08.2008
4528 
4529     *) Добавление: модуль ngx_http_xslt_module.
4530 
4531     *) Добавление: переменные "$arg_...".
4532 
4533     *) Добавление: поддержка directio в Solaris.
4534        Спасибо Ivan Debnar.
4535 
4536     *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
4537        в заголовке ответа без строки статуса, то nginx использует код
4538        статуса 302.
4539        Спасибо Максиму Дунину.
4540 
4541 
4542 Изменения в nginx 0.7.7                                           30.07.2008
4543 
4544     *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
4545        временной.
4546 
4547     *) Изменение: значением переменной $ssl_client_cert теперь является
4548        сертификат, перед каждой строкой которого, кроме первой, вставляется
4549        символ табуляции; неизменённый сертификат доступен через переменную
4550        $ssl_client_raw_cert.
4551 
4552     *) Добавление: параметр ask директивы ssl_verify_client.
4553 
4554     *) Добавление: улучшения в обработке byte-range.
4555        Спасибо Максиму Дунину.
4556 
4557     *) Добавление: директива directio.
4558        Спасибо Jiang Hong.
4559 
4560     *) Добавление: поддержка sendfile() в MacOSX 10.5.
4561 
4562     *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
4563        делается сравнение без учёта регистра символов; однако, сравнение
4564        ограничено только однобайтными locale'ями.
4565 
4566     *) Исправление: соединения почтового прокси-сервера зависали в режиме
4567        SSL, если использовались методы select, poll или /dev/poll.
4568 
4569     *) Исправление: ошибки при использовании кодировки UTF-8 в
4570        ngx_http_autoindex_module.
4571 
4572 
4573 Изменения в nginx 0.7.6                                           07.07.2008
4574 
4575     *) Исправление: теперь при использовании переменных в директиве
4576        access_log всегда проверяется существовании root'а для запроса.
4577 
4578     *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
4579        значений в аргументах запроса.
4580 
4581 
4582 Изменения в nginx 0.7.5                                           01.07.2008
4583 
4584     *) Исправления в поддержке переменных в директиве access_log; ошибки
4585        появились в 0.7.4.
4586 
4587     *) Исправление: nginx не собирался с параметром
4588        --without-http_gzip_module; ошибка появилась в 0.7.3.
4589        Спасибо Кириллу Коринскому.
4590 
4591     *) Исправление: при совместном использовании sub_filter и SSI ответы
4592        могли передаваться неверно.
4593 
4594 
4595 Изменения в nginx 0.7.4                                           30.06.2008
4596 
4597     *) Добавление: директива access_log поддерживает переменные.
4598 
4599     *) Добавление: директива open_log_file_cache.
4600 
4601     *) Добавление: ключ -g.
4602 
4603     *) Добавление: поддержка строки "Expect" в заголовке запроса.
4604 
4605     *) Исправление: большие включения в SSI могли передавались не полностью.
4606 
4607 
4608 Изменения в nginx 0.7.3                                           23.06.2008
4609 
4610     *) Изменение: MIME-тип для расширения rss изменён на
4611        "application/rss+xml".
4612 
4613     *) Изменение: теперь директива "gzip_vary on" выдаёт строку
4614        "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
4615 
4616     *) Добавление: теперь при использовании протокола "https://" в директиве
4617        rewrite автоматически делается редирект.
4618 
4619     *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
4620        ошибка появилась в 0.6.9.
4621 
4622 
4623 Изменения в nginx 0.7.2                                           16.06.2008
4624 
4625     *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
4626 
4627     *) Добавление: директива ssl_dhparam.
4628 
4629     *) Добавление: переменная $ssl_client_cert.
4630        Спасибо Manlio Perillo.
4631 
4632     *) Исправление: после изменения URI с помощью директивы rewrite nginx не
4633        искал новый location; ошибка появилась в 0.7.1.
4634        Спасибо Максиму Дунину.
4635 
4636     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4637        в 0.7.1.
4638 
4639     *) Исправление: при редиректе запроса к каталогу с добавлением слэша
4640        nginx не добавлял аргументы из оригинального запроса.
4641 
4642 
4643 Изменения в nginx 0.7.1                                           26.05.2008
4644 
4645     *) Изменение: теперь поиск location'а делается с помощью дерева.
4646 
4647     *) Изменение: директива optimize_server_names упразднена в связи с
4648        появлением директивы server_name_in_redirect.
4649 
4650     *) Изменение: некоторые давно устаревшие директивы больше не
4651        поддерживаются.
4652 
4653     *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
4654        параметр используется по умолчанию.
4655        Спасибо Rob Mueller.
4656 
4657     *) Исправление: рабочие процессы могли не реагировать на сигналы
4658        переконфигурации и ротации логов.
4659 
4660     *) Исправление: nginx не собирался на последних Fedora 9 Linux.
4661        Спасибо Roxis.
4662 
4663 
4664 Изменения в nginx 0.7.0                                           19.05.2008
4665 
4666     *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
4667        записываются в виде \xXX.
4668        Спасибо Максиму Дунину.
4669 
4670     *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
4671        запроса.
4672 
4673     *) Добавление: директива expires поддерживает флаг modified.
4674 
4675     *) Добавление: переменные $uid_got и $uid_set можно использовать на
4676        любой стадии обработки запроса.
4677 
4678     *) Добавление: переменная $hostname.
4679        Спасибо Андрею Нигматулину.
4680 
4681     *) Добавление: поддержка DESTDIR.
4682        Спасибо Todd A. Fisher и Andras Voroskoi.
4683 
4684     *) Исправление: при использовании keepalive на Linux в рабочем процессе
4685        мог произойти segmentation fault.
4686 
4687 
4688 Изменения в nginx 0.6.31                                          12.05.2008
4689 
4690     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
4691        заголовка ответа была в конце записи FastCGI; ошибка появилась в
4692        0.6.2.
4693        Спасибо Сергею Серову.
4694 
4695     *) Исправление: при удалении файла и использовании директивы
4696        open_file_cache_errors off в рабочем процессе мог произойти
4697        segmentation fault.
4698 
4699 
4700 Изменения в nginx 0.6.30                                          29.04.2008
4701 
4702     *) Изменение: теперь, если маске, заданной в директиве include, не
4703        соответствует ни один файл, то nginx не выдаёт ошибку.
4704 
4705     *) Добавление: теперь время в директивах можно задавать без пробела,
4706        например, "1h50m".
4707 
4708     *) Исправление: утечек памяти, если директива ssl_verify_client имела
4709        значение on.
4710        Спасибо Chavelle Vincent.
4711 
4712     *) Исправление: директива sub_filter могла вставлять заменяемый текст в
4713        вывод.
4714 
4715     *) Исправление: директива error_page не воспринимала параметры в
4716        перенаправляемом URI.
4717 
4718     *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
4719        в бинарном режиме.
4720 
4721     *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
4722        0.6.15.
4723 
4724 
4725 Изменения в nginx 0.6.29                                          18.03.2008
4726 
4727     *) Добавление: модуль ngx_google_perftools_module.
4728 
4729     *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
4730        платформах; ошибка появилась в 0.6.27.
4731 
4732 
4733 Изменения в nginx 0.6.28                                          13.03.2008
4734 
4735     *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
4736 
4737 
4738 Изменения в nginx 0.6.27                                          12.03.2008
4739 
4740     *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
4741        rtsig.
4742 
4743     *) Изменение: теперь при перенаправлении запроса в именованный location
4744        с помощью директивы error_page метод запроса не изменяется.
4745 
4746     *) Добавление: директивы resolver и resolver_timeout в SMTP
4747        прокси-сервере.
4748 
4749     *) Добавление: директива post_action поддерживает именованные
4750        location'ы.
4751 
4752     *) Исправление: при перенаправлении запроса из location'а c обработчиком
4753        proxy, FastCGI или memcached в именованный location со статическим
4754        обработчиком в рабочем процессе происходил segmentation fault.
4755 
4756     *) Исправление: браузеры не повторяли SSL handshake, если при первом
4757        handshake не оказалось правильного клиентского сертификата.
4758        Спасибо Александру Инюхину.
4759 
4760     *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
4761        error_page без изменения кода ошибки nginx пытался выделить очень
4762        много памяти.
4763 
4764     *) Исправление: утечки памяти в долгоживущих небуфферизированных
4765        соединениях.
4766 
4767     *) Исправление: утечки памяти в resolver'е.
4768 
4769     *) Исправление: при перенаправлении запроса из location'а c обработчиком
4770        proxy в другой location с обработчиком proxy в рабочем процессе
4771        происходил segmentation fault.
4772 
4773     *) Исправление: ошибки в кэшировании переменных $proxy_host и
4774        $proxy_port.
4775        Спасибо Сергею Боченкову.
4776 
4777     *) Исправление: директива proxy_pass с переменными использовала порт,
4778        описанной в другой директиве proxy_pass без переменных, но с таким же
4779        именем хоста.
4780        Спасибо Сергею Боченкову.
4781 
4782     *) Исправление: во время переконфигурации на некоторых 64-битном
4783        платформах в лог записывался alert "sendmsg() failed (9: Bad file
4784        descriptor)".
4785 
4786     *) Исправление: при повторном использовании в SSI пустого block'а в
4787        качестве заглушки в рабочем процессе происходил segmentation fault.
4788 
4789     *) Исправление: ошибки при копировании части URI, содержащего
4790        экранированные символы, в аргументы.
4791 
4792 
4793 Изменения в nginx 0.6.26                                          11.02.2008
4794 
4795     *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
4796        ответа.
4797 
4798     *) Исправление: при использовании большого значения в директиве expires
4799        в рабочем процессе происходил segmentation fault.
4800        Спасибо Joaquin Cuenca Abela.
4801 
4802     *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
4803        Спасибо Геннадию Махомеду.
4804 
4805     *) Исправление: в проксированных подзапросах и подзапросах к
4806        FastCGI-серверу вместо метода GET использовался оригинальный метод
4807        клиента.
4808 
4809     *) Исправление: утечки сокетов в режиме HTTPS при использовании
4810        отложенного accept'а.
4811        Спасибо Ben Maurer.
4812 
4813     *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
4814        (SSL: )"; ошибка появилась в 0.6.23.
4815 
4816     *) Исправление: при использовании HTTPS запросы могли завершаться с
4817        ошибкой "bad write retry"; ошибка появилась в 0.6.23.
4818 
4819 
4820 Изменения в nginx 0.6.25                                          08.01.2008
4821 
4822     *) Изменение: вместо специального параметра "*" в директиве server_name
4823        теперь используется директива server_name_in_redirect.
4824 
4825     *) Изменение: в качестве основного имени в директиве server_name теперь
4826        можно использовать имена с масками и регулярными выражениями.
4827 
4828     *) Изменение: директива satisfy_any заменена директивой satisfy.
4829 
4830     *) Изменение: после переконфигурации старые рабочие процесс могли сильно
4831        нагружать процессор при запуске под Linux OpenVZ.
4832 
4833     *) Добавление: директива min_delete_depth.
4834 
4835     *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
4836 
4837     *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
4838        модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
4839 
4840     *) Исправление: утечки сокетов в режиме HTTPS при использовании
4841        отложенного accept'а.
4842        Спасибо Ben Maurer.
4843 
4844     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4845        в 0.6.23.
4846 
4847 
4848 Изменения в nginx 0.6.24                                          27.12.2007
4849 
4850     *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
4851        segmentation fault; ошибка появилась в 0.6.23.
4852 
4853 
4854 Изменения в nginx 0.6.23                                          27.12.2007
4855 
4856     *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
4857        параметр используется по умолчанию.
4858 
4859     *) Изменение: директива open_file_cache_retest переименована в
4860        open_file_cache_valid.
4861 
4862     *) Добавление: директива open_file_cache_min_uses.
4863 
4864     *) Добавление: модуль ngx_http_gzip_static_module.
4865 
4866     *) Добавление: директива gzip_disable.
4867 
4868     *) Добавление: директиву memcached_pass можно использовать внутри блока
4869        if.
4870 
4871     *) Исправление: если внутри одного location'а использовались директивы
4872        "memcached_pass" и "if", то в рабочем процессе происходил
4873        segmentation fault.
4874 
4875     *) Исправление: если при использовании директивы satisfy_any on" были
4876        заданы директивы не всех модулей доступа, то заданные директивы не
4877        проверялись.
4878 
4879     *) Исправление: параметры, заданные регулярным выражением в директиве
4880        valid_referers, не наследовалась с предыдущего уровня.
4881 
4882     *) Исправление: директива post_action не работала, если запрос
4883        завершался с кодом 499.
4884 
4885     *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
4886        Спасибо Ben Maurer.
4887 
4888     *) Исправление: STARTTLS в режиме SMTP не работал.
4889        Спасибо Олегу Мотиенко.
4890 
4891     *) Исправление: при использовании HTTPS запросы могли завершаться с
4892        ошибкой "bad write retry"; ошибка появилась в 0.5.13.
4893 
4894 
4895 Изменения в nginx 0.6.22                                          19.12.2007
4896 
4897     *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
4898        значения, скопированные в память, выделенную perl'ом.
4899 
4900     *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
4901        использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
4902        время переконфигурации основной процесс аварийно выходил; ошибка
4903        появилась в 0.5.9.
4904        Спасибо Борису Жмурову.
4905 
4906     *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
4907        неверные результаты выделения в регулярных выражениях.
4908 
4909     *) Исправление: если метод $r->has_request_body() вызывался для запроса,
4910        у которого небольшое тело запроса было уже полностью получено, то в
4911        рабочем процессе происходил segmentation fault.
4912 
4913     *) Исправление: large_client_header_buffers не освобождались перед
4914        переходом в состояние keep-alive.
4915        Спасибо Олександру Штепе.
4916 
4917     *) Исправление: в переменной $upstream_addr не записывался последний
4918        адрес; ошибка появилась в 0.6.18.
4919 
4920     *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
4921        теперь она возвращает ошибку 502, которую можно направить на
4922        следующий сервер с помощью "fastcgi_next_upstream invalid_header".
4923 
4924     *) Исправление: при использовании директивы fastcgi_catch_stderr в
4925        основном процессе происходил segmentation fault; ошибка появилась в
4926        0.6.10.
4927        Спасибо Manlio Perillo.
4928 
4929 
4930 Изменения в nginx 0.6.21                                          03.12.2007
4931 
4932     *) Изменение: если в значениях переменных директивы proxy_pass
4933        используются только IP-адреса, то указывать resolver не нужно.
4934 
4935     *) Исправление: при использовании директивы proxy_pass c URI-частью в
4936        рабочем процессе мог произойти segmentation fault; ошибка появилась в
4937        0.6.19.
4938 
4939     *) Исправление: если resolver использовался на платформах, не
4940        поддерживающих метод kqueue, то nginx выдавал alert "name is out of
4941        response".
4942        Спасибо Андрею Нигматулину.
4943 
4944     *) Исправление: При использовании переменной $server_protocol в
4945        FastCGI-параметрах и запросе, длина которого была близка к значению
4946        директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
4947        the request record is too big".
4948 
4949     *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
4950        nginx возвращал обычный ответ.
4951 
4952 
4953 Изменения в nginx 0.6.20                                          28.11.2007
4954 
4955     *) Исправление: при использовании директивы proxy_pass c URI-частью в
4956        рабочем процессе мог произойти segmentation fault; ошибка появилась в
4957        0.6.19.
4958 
4959 
4960 Изменения в nginx 0.6.19                                          27.11.2007
4961 
4962     *) Исправление: версия 0.6.18 не собиралась.
4963 
4964 
4965 Изменения в nginx 0.6.18                                          27.11.2007
4966 
4967     *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
4968        процесса добавляет микросекунды на время старта.
4969 
4970     *) Изменение: в error_log теперь записывается полная строка запроса
4971        вместо только URI.
4972 
4973     *) Добавление: директива proxy_pass поддерживает переменные.
4974 
4975     *) Добавление: директивы resolver и resolver_timeout.
4976 
4977     *) Добавление: теперь директива "add_header last-modified ''" удаляет в
4978        заголовке ответа строку "Last-Modified".
4979 
4980     *) Исправление: директива limit_rate не позволяла передавать на полной
4981        скорости, даже если был указан очень большой лимит.
4982 
4983 
4984 Изменения в nginx 0.6.17                                          15.11.2007
4985 
4986     *) Добавление: поддержка строки "If-Range" в заголовке запроса.
4987        Спасибо Александру Инюхину.
4988 
4989     *) Исправление: при использовании директивы msie_refresh повторно
4990        экранировались уже экранированные символы; ошибка появилась в 0.6.4.
4991 
4992     *) Исправление: директива autoindex не работала при использовании "alias
4993        /".
4994 
4995     *) Исправление: при использовании подзапросов в рабочем процессе мог
4996        произойти segmentation fault.
4997 
4998     *) Исправление: при использовании SSL и gzip большие ответы могли
4999        передаваться не полностью.
5000 
5001     *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
5002        то переменная $status была равна 0.
5003 
5004 
5005 Изменения в nginx 0.6.16                                          29.10.2007
5006 
5007     *) Изменение: теперь на Linux используется uname(2) вместо procfs.
5008        Спасибо Илье Новикову.
5009 
5010     *) Исправление: если в директиве error_page использовался символ "?", то
5011        он экранировался при проксировании запроса; ошибка появилась в
5012        0.6.11.
5013 
5014     *) Исправление: совместимость с mget.
5015 
5016 
5017 Изменения в nginx 0.6.15                                          22.10.2007
5018 
5019     *) Добавление: совместимость с Cygwin.
5020        Спасибо Владимиру Кутакову.
5021 
5022     *) Добавление: директива merge_slashes.
5023 
5024     *) Добавление: директива gzip_vary.
5025 
5026     *) Добавление: директива server_tokens.
5027 
5028     *) Исправление: nginx не раскодировал URI в команде SSI include.
5029 
5030     *) Исправление: при использовании переменной в директивах charset или
5031        source_charset на старте или во время переконфигурации происходил
5032        segmentation fault,
5033 
5034     *) Исправление: nginx возвращал ошибку 400 на запросы вида
5035        "GET http://www.domain.com HTTP/1.0".
5036        Спасибо James Oakley.
5037 
5038     *) Исправление: после перенаправления запроса с телом запроса с помощью
5039        директивы error_page nginx пытался снова прочитать тело запроса;
5040        ошибка появилась в 0.6.7.
5041 
5042     *) Исправление: в рабочем процессе происходил segmentation fault, если у
5043        сервера, обрабатывающему запрос, не был явно определён server_name;
5044        ошибка появилась в 0.6.7.
5045 
5046 
5047 Изменения в nginx 0.6.14                                          15.10.2007
5048 
5049     *) Изменение: теперь по умолчанию команда SSI echo использует
5050        кодирование entity.
5051 
5052     *) Добавление: параметр encoding в команде SSI echo.
5053 
5054     *) Добавление: директиву access_log можно использовать внутри блока
5055        limit_except.
5056 
5057     *) Исправление: если все сервера апстрима оказывались недоступными, то
5058        до восстановления работоспособности у всех серверов вес становился
5059        равным одному; ошибка появилась в 0.6.6.
5060 
5061     *) Исправление: при использовании переменных $date_local и $date_gmt вне
5062        модуля ngx_http_ssi_filter_module в рабочем процессе происходил
5063        segmentation fault.
5064 
5065     *) Исправление: при использовании включённом отладочном логе в рабочем
5066        процессе мог произойти segmentation fault.
5067        Спасибо Андрею Нигматулину.
5068 
5069     *) Исправление: ngx_http_memcached_module не устанавливал
5070        $upstream_response_time.
5071        Спасибо Максиму Дунину.
5072 
5073     *) Исправление: рабочий процесс мог зациклиться при использовании
5074        memcached.
5075 
5076     *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
5077        строке "Connection" в заголовке запроса только, если они были в
5078        нижнем регистре; ошибка появилась в 0.6.11.
5079 
5080     *) Исправление: sub_filter не работал с пустой строкой замены.
5081 
5082     *) Исправление: в парсинге sub_filter.
5083 
5084 
5085 Изменения в nginx 0.6.13                                          24.09.2007
5086 
5087     *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
5088        использовался autoindex
5089        Спасибо Arkadiusz Patyk.
5090 
5091 
5092 Изменения в nginx 0.6.12                                          21.09.2007
5093 
5094     *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
5095        и smtp.
5096 
5097     *) Добавление: параметры конфигурации --without-mail_pop3_module,
5098        --without-mail_imap_module и --without-mail_smtp_module.
5099 
5100     *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
5101        ngx_mail_smtp_module.
5102 
5103     *) Исправление: wildcard в конце имени сервера не работали; ошибка
5104        появилась в 0.6.9.
5105 
5106     *) Исправление: при использовании разделяемой библиотеки PCRE,
5107        расположенной в нестандартном месте, nginx не запускался на Solaris.
5108 
5109     *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
5110        скрывали строки заголовка ответа с именем больше 32 символов.
5111        Спасибо Manlio Perillo.
5112 
5113 
5114 Изменения в nginx 0.6.11                                          11.09.2007
5115 
5116     *) Исправление: счётчик активных соединений всегда рос при использовании
5117        почтового прокси-сервера.
5118 
5119     *) Исправление: если бэкенд возвращал только заголовок ответа при
5120        небуферизированном проксировании, то nginx закрывал соединение с
5121        бэкендом по таймауту.
5122 
5123     *) Исправление: nginx не поддерживал несколько строк "Connection" в
5124        заголовке запроса.
5125 
5126     *) Исправление: если в сервере апстрима был задан max_fails, то после
5127        первой же неудачной попытки вес сервера навсегда становился равным
5128        одному; ошибка появилась в 0.6.6.
5129 
5130 
5131 Изменения в nginx 0.6.10                                          03.09.2007
5132 
5133     *) Добавление: директивы open_file_cache, open_file_cache_retest и
5134        open_file_cache_errors.
5135 
5136     *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
5137 
5138     *) Исправление: В строку заголовка ответа "Content-Type", указанную в
5139        методе $r->send_http_header(), не добавлялась кодировка, указанная в
5140        директиве charset.
5141 
5142     *) Исправление: при использовании метода /dev/poll в рабочем процессе
5143        мог произойти segmentation fault.
5144 
5145 
5146 Изменения в nginx 0.6.9                                           28.08.2007
5147 
5148     *) Исправление: рабочий процесс мог зациклиться при использовании
5149        протокола HTTPS; ошибка появилась в 0.6.7.
5150 
5151     *) Исправление: если сервер слушал на двух адресах или портах, то nginx
5152        не запускался при использовании wildcard в конце имени сервера.
5153 
5154     *) Исправление: директива ip_hash могла неверно помечать сервера как
5155        нерабочие.
5156 
5157     *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
5158 
5159 
5160 Изменения в nginx 0.6.8                                           20.08.2007
5161 
5162     *) Изменение: теперь nginx пытается установить директивы
5163        worker_priority, worker_rlimit_nofile, worker_rlimit_core,
5164        worker_rlimit_sigpending без привилегий root'а.
5165 
5166     *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
5167        запроса серверу аутентификации почтового прокси-сервера.
5168 
5169     *) Изменение: теперь nginx экранирует символ "%" в переменной
5170        $memcached_key.
5171 
5172     *) Исправление: при указании относительного пути к конфигурационному
5173        файлу в качестве параметра ключа -c nginx определял путь относительно
5174        конфигурационного префикса; ошибка появилась в 0.6.6.
5175 
5176     *) Исправление: nginx не работал на FreeBSD/sparc64.
5177 
5178 
5179 Изменения в nginx 0.6.7                                           15.08.2007
5180 
5181     *) Изменение: теперь пути, указанные в директивах include,
5182        auth_basic_user_file, perl_modules, ssl_certificate,
5183        ssl_certificate_key и ssl_client_certificate, определяются
5184        относительно каталога конфигурационного файла nginx.conf, а не
5185        относительно префикса.
5186 
5187     *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
5188 
5189     *) Изменение: для обновления на лету версий 0.1.x создан специальный
5190        сценарий make upgrade1.
5191 
5192     *) Добавление: директивы server_name и valid_referers поддерживают
5193        регулярные выражения.
5194 
5195     *) Добавление: директива server в блоке upstream поддерживает параметр
5196        backup.
5197 
5198     *) Добавление: модуль ngx_http_perl_module поддерживает метод
5199        $r->discard_request_body.
5200 
5201     *) Добавление: директива "add_header Last-Modified ..." меняет строку
5202        "Last-Modified" в заголовке ответа.
5203 
5204     *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
5205        отличным от 200, и после этого запроса соединение переходило в
5206        состояние keep-alive, то на следующий запрос nginx возвращал 400.
5207 
5208     *) Исправление: если в директиве auth_http был задан неправильный адрес,
5209        то в рабочем процессе происходил segmentation fault.
5210 
5211     *) Исправление: теперь по умолчанию nginx использует значение 511 для
5212        listen backlog на всех платформах, кроме FreeBSD.
5213        Спасибо Jiang Hong.
5214 
5215     *) Исправление: рабочий процесс мог зациклиться, если server в блоке
5216        upstream был помечен как down; ошибка появилась в 0.6.6.
5217 
5218     *) Исправление: sendfilev() в Solaris теперь не используется при
5219        передаче тела запроса FastCGI-серверу через unix domain сокет.
5220 
5221 
5222 Изменения в nginx 0.6.6                                           30.07.2007
5223 
5224     *) Добавление: параметр --sysconfdir=PATH в configure.
5225 
5226     *) Добавление: именованные location'ы.
5227 
5228     *) Добавление: переменную $args можно устанавливать с помощью set.
5229 
5230     *) Добавление: переменная $is_args.
5231 
5232     *) Исправление: равномерное распределение запросов к апстримам с
5233        большими весами.
5234 
5235     *) Исправление: если клиент в почтовом прокси-сервере закрывал
5236        соединение, то nginx мог не закрывать соединение с бэкендом.
5237 
5238     *) Исправление: при использовании одного хоста в качестве бэкендов для
5239        протоколов HTTP и HTTPS без явного указания портов, nginx использовал
5240        только один порт - 80 или 443.
5241 
5242     *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
5243        более ранними версиями; ошибка появилась в 0.6.4.
5244 
5245 
5246 Изменения в nginx 0.6.5                                           23.07.2007
5247 
5248     *) Добавление: переменная $nginx_version.
5249        Спасибо Николаю Гречуху.
5250 
5251     *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
5252        IMAP.
5253        Спасибо Максиму Дунину.
5254 
5255     *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
5256        SMTP.
5257        Спасибо Максиму Дунину.
5258 
5259     *) Исправление: теперь nginx экранирует пробел в переменной
5260        $memcached_key.
5261 
5262     *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
5263        Спасибо Jiang Hong.
5264 
5265     *) Исправление: незначительных потенциальных ошибок.
5266        Спасибо Coverity's Scan.
5267 
5268 
5269 Изменения в nginx 0.6.4                                           17.07.2007
5270 
5271     *) Безопасность: при использовании директивы msie_refresh был возможен
5272        XSS.
5273        Спасибо Максиму Богуку.
5274 
5275     *) Изменение: директивы proxy_store и fastcgi_store изменены.
5276 
5277     *) Добавление: директивы proxy_store_access и fastcgi_store_access.
5278 
5279     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
5280        Studio.
5281        Спасибо Андрею Нигматулину.
5282 
5283     *) Изменение: обход ошибки в Sun Studio 12.
5284        Спасибо Jiang Hong.
5285 
5286 
5287 Изменения в nginx 0.6.3                                           12.07.2007
5288 
5289     *) Добавление: директивы proxy_store и fastcgi_store.
5290 
5291     *) Исправление: при использовании директивы auth_http_header в рабочем
5292        процессе мог произойти segmentation fault.
5293        Спасибо Максиму Дунину.
5294 
5295     *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
5296        не был разрешён, то в рабочем процессе происходил segmentation fault.
5297 
5298     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5299        в рабочем процессе мог произойти segmentation fault.
5300 
5301     *) Исправление: в рабочем процессе мог произойти segmentation fault,
5302        если использовался метод eventport.
5303 
5304     *) Исправление: директивы proxy_ignore_client_abort и
5305        fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
5306 
5307 
5308 Изменения в nginx 0.6.2                                           09.07.2007
5309 
5310     *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
5311        nginx передавал клиенту мусор в таких заголовках.
5312 
5313 
5314 Изменения в nginx 0.6.1                                           17.06.2007
5315 
5316     *) Исправление: в парсинге SSI.
5317 
5318     *) Исправление: при использовании удалённого подзапроса в SSI
5319        последующий подзапрос локального файла мог отдаваться клиенту в
5320        неверном порядке.
5321 
5322     *) Исправление: большие включения в SSI, сохранённые во временные файлы,
5323        передавались не полностью.
5324 
5325     *) Исправление: значение perl'овой переменной $$ модуля
5326        ngx_http_perl_module было равно номеру главного процесса.
5327 
5328 
5329 Изменения в nginx 0.6.0                                           14.06.2007
5330 
5331     *) Добавление: директивы "server_name", "map", and "valid_referers"
5332        поддерживают маски вида "www.example.*".
5333 
5334 
5335 Изменения в nginx 0.5.25                                          11.06.2007
5336 
5337     *) Исправление: nginx не собирался с параметром
5338        --without-http_rewrite_module; ошибка появилась в 0.5.24.
5339 
5340 
5341 Изменения в nginx 0.5.24                                          06.06.2007
5342 
5343     *) Безопасность: директива ssl_verify_client не работала, если запрос
5344        выполнялся по протоколу HTTP/0.9.
5345 
5346     *) Исправление: при использовании сжатия часть ответа могла передаваться
5347        несжатой; ошибка появилась в 0.5.23.
5348 
5349 
5350 Изменения в nginx 0.5.23                                          04.06.2007
5351 
5352     *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
5353        Server Name Indication.
5354 
5355     *) Добавление: директива fastcgi_catch_stderr.
5356        Спасибо Николаю Гречуху, проект OWOX.
5357 
5358     *) Исправление: на Линуксе в основном процессе происходил segmentation
5359        fault, если два виртуальных сервера должны bind()ится к
5360        пересекающимся портам.
5361 
5362     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
5363        perl поддерживал потоки, то во время второй переконфигурации
5364        выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
5365 
5366     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5367 
5368 
5369 Изменения в nginx 0.5.22                                          29.05.2007
5370 
5371     *) Исправление: большое тело запроса могло не передаваться бэкенду;
5372        ошибка появилась в 0.5.21.
5373 
5374 
5375 Изменения в nginx 0.5.21                                          28.05.2007
5376 
5377     *) Исправление: если внутри сервера описано больше примерно десяти
5378        location'ов, то location'ы, заданные с помощью регулярного выражения,
5379        могли выполняться не в том, порядке, в каком они описаны.
5380 
5381     *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
5382        если 33-тий по счёту или последующий бэкенд упал.
5383        Спасибо Антону Поварову.
5384 
5385     *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
5386        произойти bus error.
5387        Спасибо Андрею Нигматулину.
5388 
5389     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5390 
5391 
5392 Изменения в nginx 0.5.20                                          07.05.2007
5393 
5394     *) Добавление: директива sendfile_max_chunk.
5395 
5396     *) Добавление: переменные "$http_...", "$sent_http_..." и
5397        "$upstream_http_..." можно менять директивой set.
5398 
5399     *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
5400        рабочем процессе мог произойти segmentation fault.
5401 
5402     *) Исправление: завершающая строка multipart range ответа передавалась
5403        неверно.
5404        Спасибо Evan Miller.
5405 
5406     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
5407        Studio.
5408        Спасибо Андрею Нигматулину.
5409 
5410     *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
5411        Спасибо Андрею Нигматулину.
5412 
5413 
5414 Изменения в nginx 0.5.19                                          24.04.2007
5415 
5416     *) Изменение: значение переменной $request_time теперь записывается с
5417        точностью до миллисекунд.
5418 
5419     *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
5420        переименован в $r->flush.
5421 
5422     *) Добавление: переменная $upstream_addr.
5423 
5424     *) Добавление: директивы proxy_headers_hash_max_size и
5425        proxy_headers_hash_bucket_size.
5426        Спасибо Володымыру Костырко.
5427 
5428     *) Исправление: при использовании sendfile и limit_rate на 64-битных
5429        платформах нельзя было передавать файлы больше 2G.
5430 
5431     *) Исправление: при использовании sendfile на 64-битном Linux нельзя
5432        было передавать файлы больше 2G.
5433 
5434 
5435 Изменения в nginx 0.5.18                                          19.04.2007
5436 
5437     *) Добавление: модуль ngx_http_sub_filter_module.
5438 
5439     *) Добавление: переменные "$upstream_http_...".
5440 
5441     *) Добавление: теперь переменные $upstream_status и
5442        $upstream_response_time содержат данные о всех обращениях к
5443        апстримам, сделанным до X-Accel-Redirect.
5444 
5445     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
5446        perl не поддерживал multiplicity, то после первой переконфигурации и
5447        после получения любого сигнала в основном процессе происходил
5448        segmentation fault; ошибка появилась в 0.5.9.
5449 
5450     *) Исправление: если perl не поддерживал multiplicity, то после
5451        переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
5452 
5453 
5454 Изменения в nginx 0.5.17                                          02.04.2007
5455 
5456     *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
5457 
5458     *) Добавление: теперь nginx поддерживает директиву include внутри блока
5459        types.
5460 
5461     *) Исправление: использование переменной $document_root в директиве root
5462        и alias запрещено: оно вызывало рекурсивное переполнение стека.
5463 
5464     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5465 
5466     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
5467        $uri) возвращали старое закэшированное значение.
5468 
5469 
5470 Изменения в nginx 0.5.16                                          26.03.2007
5471 
5472     *) Исправление: в качестве ключа для хэша в директиве ip_hash не
5473        использовалась сеть класса С.
5474        Спасибо Павлу Ярковому.
5475 
5476     *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
5477        был указан charset и строка завершалась символом ";", то в рабочем
5478        процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
5479 
5480     *) Исправление: ошибки "[alert] zero size buf" при работе с
5481        FastCGI-сервером, если тело запроса, записанное во временный файл,
5482        было кратно 32K.
5483 
5484     *) Исправление: nginx не собирался на Solaris без параметра
5485        --with-debug; ошибка появилась в 0.5.15.
5486 
5487 
5488 Изменения в nginx 0.5.15                                          19.03.2007
5489 
5490     *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
5491        SMTP-проксирование и директивы smtp_auth, smtp_capabilities и
5492        xclient.
5493        Спасибо Антону Южанинову и Максиму Дунину.
5494 
5495     *) Добавление: теперь keep-alive соединения закрываются сразу же по
5496        получении сигнала переконфигурации.
5497 
5498     *) Изменение: директивы imap и auth переименованы соответственно в mail
5499        и pop3_auth.
5500 
5501     *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
5502        был разрешён метод APOP, то в рабочем процессе происходил
5503        segmentation fault.
5504 
5505     *) Исправление: при использовании директивы starttls only в протоколе
5506        POP3 nginx разрешал аутентификацию без перехода в режим SSL.
5507 
5508     *) Исправление: рабочие процессы не выходили после переконфигурации и не
5509        переоткрывали логи, если использовался метод eventport.
5510 
5511     *) Исправление: при использовании директивы ip_hash рабочий процесс мог
5512        зациклиться.
5513 
5514     *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
5515        используются методы eventport или /dev/poll.
5516 
5517 
5518 Изменения в nginx 0.5.14                                          23.02.2007
5519 
5520     *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
5521        конфигурационного файла.
5522 
5523 
5524 Изменения в nginx 0.5.13                                          19.02.2007
5525 
5526     *) Добавление: методы COPY и MOVE.
5527 
5528     *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
5529        запросов, переданных по keep-alive соединению.
5530 
5531     *) Исправление: nginx не работал на 64-битном big-endian Linux.
5532        Спасибо Андрею Нигматулину.
5533 
5534     *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
5535        теперь сразу закрывает соединение, а не по таймауту.
5536 
5537     *) Исправление: если при использовании метода epoll клиент закрывал
5538        преждевременно соединение со своей стороны, то nginx закрывал это
5539        соединение только по истечении таймаута на передачу.
5540 
5541     *) Исправление: nginx не собирался на платформах, отличных от i386,
5542        amd64, sparc и ppc; ошибка появилась в 0.5.8.
5543 
5544 
5545 Изменения в nginx 0.5.12                                          12.02.2007
5546 
5547     *) Исправление: nginx не собирался на платформах, отличных от i386,
5548        amd64, sparc и ppc; ошибка появилась в 0.5.8.
5549 
5550     *) Исправление: при использовании временных файлов в время работы с
5551        FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
5552        ошибка появилась в 0.5.8.
5553 
5554     *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
5555        то в рабочем процессе мог произойти segmentation fault.
5556 
5557     *) Исправление: ngx_http_perl_module не собирался на Solaris.
5558 
5559 
5560 Изменения в nginx 0.5.11                                          05.02.2007
5561 
5562     *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
5563        Спасибо Chris McGrath.
5564 
5565     *) Исправление: ответ был неверным, если запрашивалось несколько
5566        диапазонов; ошибка появилась в 0.5.6.
5567 
5568     *) Исправление: директива create_full_put_path не могла создавать
5569        промежуточные каталоги, если не была установлена директива
5570        dav_access.
5571        Спасибо Evan Miller.
5572 
5573     *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
5574        записываться код "0".
5575 
5576     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5577        произойти segmentation fault.
5578 
5579 
5580 Изменения в nginx 0.5.10                                          26.01.2007
5581 
5582     *) Исправление: во время обновления исполняемого файла новый процесс не
5583        наследовал слушающие сокеты; ошибка появилась в 0.5.9.
5584 
5585     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5586        произойти segmentation fault; ошибка появилась в 0.5.1.
5587 
5588 
5589 Изменения в nginx 0.5.9                                           25.01.2007
5590 
5591     *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
5592        использует значение переменной $memcached_key.
5593 
5594     *) Добавление: переменная $memcached_key.
5595 
5596     *) Добавление: параметр clean в директиве client_body_in_file_only.
5597 
5598     *) Добавление: директива env.
5599 
5600     *) Добавление: директива sendfile работает внутри блока if.
5601 
5602     *) Добавление: теперь при ошибке записи в access_log nginx записывает
5603        сообщение в error_log, но не чаще одного раза в минуту.
5604 
5605     *) Исправление: директива "access_log off" не всегда запрещала запись в
5606        лог.
5607 
5608 
5609 Изменения в nginx 0.5.8                                           19.01.2007
5610 
5611     *) Исправление: если использовалась директива
5612        "client_body_in_file_only on" и тело запроса было небольшое, то мог
5613        произойти segmentation fault.
5614 
5615     *) Исправление: происходил segmentation fault, если использовались
5616        директивы "client_body_in_file_only on" и
5617        "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
5618        делался переход к следующему бэкенду.
5619 
5620     *) Исправление: если при использовании директивы "proxy_buffering off"
5621        соединение с клиентом было неактивно, то оно закрывалось по таймауту,
5622        заданному директивой send_timeout; ошибка появилась в 0.4.7.
5623 
5624     *) Исправление: если при использовании метода epoll клиент закрывал
5625        преждевременно соединение со своей стороны, то nginx закрывал это
5626        соединение только по истечении таймаута на передачу.
5627 
5628     *) Исправление: ошибки "[alert] zero size buf" при работе с
5629        FastCGI-сервером.
5630 
5631     *) Исправление ошибок в директиве limit_zone.
5632 
5633 
5634 Изменения в nginx 0.5.7                                           15.01.2007
5635 
5636     *) Добавление: оптимизация использования памяти в ssl_session_cache.
5637 
5638     *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
5639 
5640     *) Исправление: на старте или во время переконфигурации происходил
5641        segmentation fault, если директивы ssl_session_cache или limit_zone
5642        использовались на 64-битных платформах.
5643 
5644     *) Исправление: при использовании директив add_before_body или
5645        add_after_body происходил segmentation fault, если в заголовке ответа
5646        нет строки "Content-Type".
5647 
5648     *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
5649        потоков.
5650        Спасибо Дену Иванову.
5651 
5652     *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
5653 
5654 
5655 Изменения в nginx 0.5.6                                           09.01.2007
5656 
5657     *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
5658        кроме GET, HEAD и POST.
5659 
5660     *) Добавление: модуль ngx_http_limit_zone_module.
5661 
5662     *) Добавление: переменная $binary_remote_addr.
5663 
5664     *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
5665        ngx_imap_ssl_module.
5666 
5667     *) Добавление: метод DELETE поддерживает рекурсивное удаление.
5668 
5669     *) Исправление: при использовании $r->sendfile() byte-ranges
5670        передавались неверно.
5671 
5672 
5673 Изменения в nginx 0.5.5                                           24.12.2006
5674 
5675     *) Изменение: ключ -v больше не выводит информацию о компиляторе.
5676 
5677     *) Добавление: ключ -V.
5678 
5679     *) Добавление: директива worker_rlimit_core поддерживает указание
5680        размера в K, M и G.
5681 
5682     *) Исправление: модуль nginx.pm теперь может устанавливаться
5683        непривилегированным пользователем.
5684 
5685     *) Исправление: при использовании методов $r->request_body или
5686        $r->request_body_file мог произойти segmentation fault.
5687 
5688     *) Исправление: ошибок, специфичных для платформы ppc.
5689 
5690 
5691 Изменения в nginx 0.5.4                                           15.12.2006
5692 
5693     *) Добавление: директиву perl можно использовать внутри блока
5694        limit_except.
5695 
5696     *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
5697        заголовке запроса для метода DELETE.
5698 
5699     *) Исправление: при использовании одного параметра в директиве
5700        dav_access nginx мог сообщить об ошибке в конфигурации.
5701 
5702     *) Исправление: при использовании переменной $host мог произойти
5703        segmentation fault; ошибка появилась в 0.4.14.
5704 
5705 
5706 Изменения в nginx 0.5.3                                           13.12.2006
5707 
5708     *) Добавление: модуль ngx_http_perl_module поддерживает методы
5709        $r->status, $r->log_error и $r->sleep.
5710 
5711     *) Добавление: метод $r->variable поддерживает переменные, неописанные в
5712        конфигурации nginx'а.
5713 
5714     *) Исправление: метод $r->has_request_body не работал.
5715 
5716 
5717 Изменения в nginx 0.5.2                                           11.12.2006
5718 
5719     *) Исправление: если в директивах proxy_pass использовалось имя,
5720        указанное в upstream, то nginx пытался найти IP-адрес этого имени;
5721        ошибка появилась в 0.5.1.
5722 
5723 
5724 Изменения в nginx 0.5.1                                           11.12.2006
5725 
5726     *) Исправление: директива post_action могла не работать после неудачного
5727        завершения запроса.
5728 
5729     *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
5730        Спасибо Bron Gondwana.
5731 
5732     *) Исправление: при указании в директиве fastcgi_pass имени описанного
5733        upstream'а выдавалось сообщение "no port in upstream"; ошибка
5734        появилась в 0.5.0.
5735 
5736     *) Исправление: если в директивах proxy_pass и fastcgi_pass
5737        использовались одинаковых имена серверов, но с разными портами, то
5738        эти директивы использовали первый описанный порт; ошибка появилась в
5739        0.5.0.
5740 
5741     *) Исправление: если в директивах proxy_pass и fastcgi_pass
5742        использовались unix domain сокеты, то эти директивы использовали
5743        первый описанный сокет; ошибка появилась в 0.5.0.
5744 
5745     *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
5746        если он был указан в последней строке файла паролей и после пароля не
5747        было перевода строки, возврата каретки или символа ":".
5748 
5749     *) Исправление: переменная $upstream_response_time могла быть равна
5750        "0.000", хотя время обработки было больше 1 миллисекунды.
5751 
5752 
5753 Изменения в nginx 0.5.0                                           04.12.2006
5754 
5755     *) Изменение: параметры в виде "%name" в директиве log_format больше не
5756        поддерживаются.
5757 
5758     *) Изменение: директивы proxy_upstream_max_fails,
5759        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
5760        fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
5761        memcached_upstream_fail_timeout больше не поддерживаются.
5762 
5763     *) Добавление: директива server в блоке upstream поддерживает параметры
5764        max_fails, fail_timeout и down.
5765 
5766     *) Добавление: директива ip_hash в блоке upstream.
5767 
5768     *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
5769        сервера аутентификации IMAP/POP3 прокси.
5770 
5771     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
5772        появилась в 0.4.14.
5773 
5774 
5775 Изменения в nginx 0.4.14                                          27.11.2006
5776 
5777     *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
5778 
5779     *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
5780        Linux и NetBSD.
5781 
5782     *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
5783        поддержкой потоков; ошибка появилась в 0.3.38.
5784 
5785     *) Исправление: ngx_http_perl_module не работал корректно, если перл
5786        вызывался рекурсивно.
5787 
5788     *) Исправление: nginx игнорировал имя сервера в строке запроса.
5789 
5790     *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
5791        процесс мог зациклиться.
5792 
5793     *) Исправление: при изменении системного времени переменная
5794        $upstream_response_time могла быть отрицательной.
5795 
5796     *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
5797        прокси не передавался параметр Auth-Login-Attempt.
5798 
5799     *) Исправление: при ошибке соединения с сервером аутентификации
5800        IMAP/POP3 прокси мог произойти segmentation fault.
5801 
5802 
5803 Изменения в nginx 0.4.13                                          15.11.2006
5804 
5805     *) Добавление: директиву proxy_pass можно использовать внутри блока
5806        limit_except.
5807 
5808     *) Добавление: директива limit_except поддерживает все WebDAV методы.
5809 
5810     *) Исправление: при использовании директивы add_before_body без
5811        директивы add_after_body ответ передавался не полностью.
5812 
5813     *) Исправление: большое тело запроса не принималось, если использовались
5814        метод epoll и deferred accept().
5815 
5816     *) Исправление: для ответов модуля ngx_http_autoindex_module не
5817        выставлялась кодировка; ошибка появилась в 0.3.50.
5818 
5819     *) Исправление: ошибки "[alert] zero size buf" при работе с
5820        FastCGI-сервером;
5821 
5822     *) Исправление: параметр конфигурации --group= игнорировался.
5823        Спасибо Thomas Moschny.
5824 
5825     *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
5826        в 0.3.50.
5827 
5828 
5829 Изменения в nginx 0.4.12                                          31.10.2006
5830 
5831     *) Добавление: модуль ngx_http_perl_module поддерживает метод
5832        $r->variable.
5833 
5834     *) Исправление: при включении в ответ большого статического файла с
5835        помощью SSI ответ мог передаваться не полностью.
5836 
5837     *) Исправление: nginx не убирал "#fragment" в URI.
5838 
5839 
5840 Изменения в nginx 0.4.11                                          25.10.2006
5841 
5842     *) Добавление: POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
5843 
5844     *) Добавление: модуль ngx_http_perl_module поддерживает метод
5845        $r->allow_ranges.
5846 
5847     *) Исправление: при включённой поддержке команды APOP в POP3 прокси
5848        могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
5849 
5850 
5851 Изменения в nginx 0.4.10                                          23.10.2006
5852 
5853     *) Добавление: POP3 прокси поддерживает APOP.
5854 
5855     *) Исправление: при использовании методов select, poll и /dev/poll во
5856        время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
5857        нагружал процессор.
5858 
5859     *) Исправление: при использовании переменной $server_addr в директиве
5860        map мог произойти segmentation fault.
5861 
5862     *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
5863        для полных ответов; ошибка появилась в 0.4.7.
5864 
5865     *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
5866        0.4.9.
5867 
5868 
5869 Изменения в nginx 0.4.9                                           13.10.2006
5870 
5871     *) Добавление: параметр set в команде SSI include.
5872 
5873     *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
5874        модуля nginx.pm.
5875 
5876 
5877 Изменения в nginx 0.4.8                                           11.10.2006
5878 
5879     *) Исправление: если до команды SSI include с параметром wait
5880        выполнялась ещё одна команда SSI include, то параметр wait мог не
5881        работать.
5882 
5883     *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
5884        полных ответов.
5885        Спасибо Алексею Ковырину.
5886 
5887 
5888 Изменения в nginx 0.4.7                                           10.10.2006
5889 
5890     *) Добавление: модуль ngx_http_flv_module.
5891 
5892     *) Добавление: переменная $request_body_file.
5893 
5894     *) Добавление: директивы charset и source_charset поддерживают
5895        переменные.
5896 
5897     *) Исправление: если до команды SSI include с параметром wait
5898        выполнялась ещё одна команда SSI include, то параметр wait мог не
5899        работать.
5900 
5901     *) Исправление: при использовании директивы "proxy_buffering off" или
5902        при работе с memcached соединения могли не закрываться по таймауту.
5903 
5904     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
5905        amd64, sparc64 и ppc64.
5906 
5907 
5908 Изменения в nginx 0.4.6                                           06.10.2006
5909 
5910     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
5911        amd64, sparc64 и ppc64.
5912 
5913     *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
5914        chunk'ами, если длина ответа в методе
5915        $r->headers_out("Content-Length", ...) была задана текстовой строкой.
5916 
5917     *) Исправление: после перенаправления ошибки с помощью директивы
5918        error_page любая директива модуля ngx_http_rewrite_module возвращала
5919        эту ошибку; ошибка появилась в 0.4.4.
5920 
5921 
5922 Изменения в nginx 0.4.5                                           02.10.2006
5923 
5924     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
5925        в 0.4.4.
5926 
5927 
5928 Изменения в nginx 0.4.4                                           02.10.2006
5929 
5930     *) Добавление: переменная $scheme.
5931 
5932     *) Добавление: директива expires поддерживает параметр max.
5933 
5934     *) Добавление: директива include поддерживает маску "*".
5935        Спасибо Jonathan Dance.
5936 
5937     *) Исправление: директива return всегда изменяла код ответа,
5938        перенаправленного директивой error_page.
5939 
5940     *) Исправление: происходил segmentation fault, если в методе PUT
5941        передавалось тело нулевой длины.
5942 
5943     *) Исправление: при использовании переменных в директиве proxy_redirect
5944        редирект изменялся неверно.
5945 
5946 
5947 Изменения в nginx 0.4.3                                           26.09.2006
5948 
5949     *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
5950        error_page.
5951 
5952     *) Добавление: поддержка Solaris 10 event ports.
5953 
5954     *) Добавление: модуль ngx_http_browser_module.
5955 
5956     *) Исправление: при перенаправлении ошибки 400 проксированному серверу
5957        помощью директивы error_page мог произойти segmentation fault.
5958 
5959     *) Исправление: происходил segmentation fault, если в директиве
5960        proxy_pass использовался unix domain сокет; ошибка появилась в
5961        0.3.47.
5962 
5963     *) Исправление: SSI не работал с ответами memcached и
5964        небуферизированными проксированными ответами.
5965 
5966     *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
5967 
5968 
5969 Изменения в nginx 0.4.2                                           14.09.2006
5970 
5971     *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
5972        появилась в 0.4.1.
5973 
5974 
5975 Изменения в nginx 0.4.1                                           14.09.2006
5976 
5977     *) Исправление: совместимость с DragonFlyBSD.
5978        Спасибо Павлу Назарову.
5979 
5980     *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
5981        файлов больше 2G.
5982 
5983     *) Добавление: теперь на Linux nginx для статических запросов использует
5984        флаг O_NOATIME.
5985        Спасибо Yusuf Goolamabbas.
5986 
5987 
5988 Изменения в nginx 0.4.0                                           30.08.2006
5989 
5990     *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
5991        фазы init module в фазу HTTP postconfiguration.
5992 
5993     *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
5994        считывается заранее: нужно явно инициировать чтение с помощью метода
5995        $r->has_request_body.
5996 
5997     *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
5998        DECLINED.
5999 
6000     *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
6001        заголовка "Date" для метода PUT.
6002 
6003     *) Добавление: директива ssi работает внутри блока if.
6004 
6005     *) Исправление: происходил segmentation fault, если в директиве index
6006        использовалась переменные и при этом первое имя индексного файла было
6007        без переменных; ошибка появилась в 0.1.29.
6008 
6009 
6010 Изменения в nginx 0.3.61                                          28.08.2006
6011 
6012     *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
6013 
6014     *) Добавление: директива msie_refresh.
6015 
6016     *) Добавление: директива recursive_error_pages.
6017 
6018     *) Исправление: директива rewrite возвращала неправильный редирект, если
6019        редирект включал в себя выделенные закодированные символы из
6020        оригинального URI.
6021 
6022 
6023 Изменения в nginx 0.3.60                                          18.08.2006
6024 
6025     *) Исправление: во время перенаправления ошибки рабочий процесс мог
6026        зациклиться; ошибка появилась в 0.3.59.
6027 
6028 
6029 Изменения в nginx 0.3.59                                          16.08.2006
6030 
6031     *) Добавление: теперь можно делать несколько перенаправлений через
6032        директиву error_page.
6033 
6034     *) Исправление: директива dav_access не поддерживала три параметра.
6035 
6036     *) Исправление: директива error_page не изменяла строку "Content-Type"
6037        после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
6038        в 0.3.58.
6039 
6040 
6041 Изменения в nginx 0.3.58                                          14.08.2006
6042 
6043     *) Добавление: директива error_page поддерживает переменные.
6044 
6045     *) Изменение: теперь на Linux используется интерфейс procfs вместо
6046        sysctl.
6047 
6048     *) Изменение: теперь при использовании "X-Accel-Redirect" строка
6049        "Content-Type" наследуется из первоначального ответа.
6050 
6051     *) Исправление: директива error_page не перенаправляла ошибку 413.
6052 
6053     *) Исправление: завершающий "?" не удалял старые аргументы, если в
6054        переписанном URI не было новых аргументов.
6055 
6056     *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
6057 
6058 
6059 Изменения в nginx 0.3.57                                          09.08.2006
6060 
6061     *) Добавление: переменная $ssl_client_serial.
6062 
6063     *) Исправление: в операторе "!-e" в директиве if.
6064        Спасибо Андриану Буданцову.
6065 
6066     *) Исправление: при проверке клиентского сертификата nginx не передавал
6067        клиенту информацию о требуемых сертификатах.
6068 
6069     *) Исправление: переменная $document_root не поддерживала переменные в
6070        директиве root.
6071 
6072 
6073 Изменения в nginx 0.3.56                                          04.08.2006
6074 
6075     *) Добавление: директива dav_access.
6076 
6077     *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
6078        "!-e", "-x" и "!-x".
6079 
6080     *) Исправление: при записи в access_log некоторых передаваемых клиенту
6081        строк заголовков происходил segmentation fault, если запрос возвращал
6082        редирект.
6083 
6084 
6085 Изменения в nginx 0.3.55                                          28.07.2006
6086 
6087     *) Добавление: параметр stub в команде SSI include.
6088 
6089     *) Добавление: команда SSI block.
6090 
6091     *) Добавление: скрипт unicode2nginx добавлен в contrib.
6092 
6093     *) Исправление: если root был задан только переменной, то корень
6094        задавался относительно префикса сервера.
6095 
6096     *) Исправление: если в запросе был "//" или "/.", и после этого
6097        закодированные символы в виде "%XX", то проксируемый запрос
6098        передавался незакодированным.
6099 
6100     *) Исправление: метод $r->header_in("Cookie") модуля
6101        ngx_http_perl_module теперь возвращает все строки "Cookie" в
6102        заголовке запроса.
6103 
6104     *) Исправление: происходил segmentation fault, если использовался
6105        "client_body_in_file_only on" и делался переход к следующему бэкенду.
6106 
6107     *) Исправление: при некоторых условиях во время переконфигурации коды
6108        символов внутри директивы charset_map могли считаться неверными;
6109        ошибка появилась в 0.3.50.
6110 
6111 
6112 Изменения в nginx 0.3.54                                          11.07.2006
6113 
6114     *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
6115 
6116     *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
6117        memcached_next_upstream поддерживают параметр off.
6118 
6119     *) Добавление: директива debug_connection поддерживает запись адресов в
6120        формате CIDR.
6121 
6122     *) Исправление: при перекодировании ответа проксированного сервера или
6123        сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
6124        полностью.
6125 
6126     *) Исправление: переменная $upstream_response_time содержала время
6127        только первого обращения к бэкенду.
6128 
6129     *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
6130        в 0.3.53.
6131 
6132 
6133 Изменения в nginx 0.3.53                                          07.07.2006
6134 
6135     *) Изменение: директива add_header добавляет строки в ответы с кодом
6136        204, 301 и 302.
6137 
6138     *) Добавление: директива server в блоке upstream поддерживает параметр
6139        weight.
6140 
6141     *) Добавление: директива server_name поддерживает маску "*".
6142 
6143     *) Добавление: nginx поддерживает тело запроса больше 2G.
6144 
6145     *) Исправление: если при использовании "satisfy_any on" клиент успешно
6146        проходил аутентификацию, в лог всё равно записалоcь сообщение "access
6147        forbidden by rule".
6148 
6149     *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
6150        409.
6151 
6152     *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
6153        ошибку, nginx продолжал проксирование.
6154 
6155 
6156 Изменения в nginx 0.3.52                                          03.07.2006
6157 
6158     *) Изменение: восстановлено поведение модуля ngx_http_index_module для
6159        запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
6160        ошибку 405.
6161 
6162     *) Исправление: при использовании ограничения скорости рабочий процесс
6163        мог зациклиться; ошибка появилась в 0.3.37.
6164 
6165     *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
6166        "unknown charset", даже если перекодировка не требовалась; ошибка
6167        появилась в 0.3.50.
6168 
6169     *) Исправление: если в результате запроса PUT возвращался код 409, то
6170        временный файл не удалялся.
6171 
6172 
6173 Изменения в nginx 0.3.51                                          30.06.2006
6174 
6175     *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
6176        ошибка появилась в 0.3.50.
6177 
6178 
6179 Изменения в nginx 0.3.50                                          28.06.2006
6180 
6181     *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
6182        переименованы соответственно в proxy_intercept_errors и
6183        fastcgi_intercept_errors.
6184 
6185     *) Добавление: модуль ngx_http_charset_module поддерживает
6186        перекодирование из однобайтных кодировок в UTF-8 и обратно.
6187 
6188     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6189        "X-Accel-Charset" в ответе бэкенда.
6190 
6191     *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
6192        только если также использовался символ "$".
6193 
6194     *) Исправление: при некоторых условиях в SSI после вставки могла быть
6195        добавлена строка "<!--".
6196 
6197     *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
6198        то при использовании небуферизированного проксировании не закрывалось
6199        соединение с клиентом.
6200 
6201 
6202 Изменения в nginx 0.3.49                                          31.05.2006
6203 
6204     *) Исправление: в директиве set.
6205 
6206     *) Исправление: при включении в ssi двух и более подзапросов,
6207        обрабатываемых через FastCGI, вместо вывода второго и остальных
6208        подзапросов в ответ включался вывод первого подзапроса.
6209 
6210 
6211 Изменения в nginx 0.3.48                                          29.05.2006
6212 
6213     *) Изменение: теперь модуль ngx_http_charset_module работает для
6214        подзапросов, в ответах которых нет строки заголовка "Content-Type".
6215 
6216     *) Исправление: если в директиве proxy_pass не было URI, то директива
6217        "proxy_redirect default" добавляла в переписанный редирект в начало
6218        лишний слэш.
6219 
6220     *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
6221        GET, теперь это делается только для редиректов, выполняемых с помощью
6222        X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
6223        0.3.42.
6224 
6225     *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
6226        с поддержкой потоков; ошибка появилась в 0.3.46.
6227 
6228 
6229 Изменения в nginx 0.3.47                                          23.05.2006
6230 
6231     *) Добавление: директива upstream.
6232 
6233     *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
6234        всегда убирается.
6235 
6236 
6237 Изменения в nginx 0.3.46                                          11.05.2006
6238 
6239     *) Добавление: директивы proxy_hide_header, proxy_pass_header,
6240        fastcgi_hide_header и fastcgi_pass_header.
6241 
6242     *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
6243        proxy_pass_server упразднены.
6244 
6245     *) Добавление: в режиме прокси поддерживается строка заголовка
6246        "X-Accel-Buffering" в ответе бэкенда.
6247 
6248     *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
6249        ngx_http_perl_module.
6250 
6251 
6252 Изменения в nginx 0.3.45                                          06.05.2006
6253 
6254     *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
6255        ssl_client_certificate.
6256 
6257     *) Изменение: теперь переменная $request_method возвращает метод только
6258        основного запроса.
6259 
6260     *) Изменение: в таблице перекодировки koi-win изменены коды символа
6261        &deg;.
6262 
6263     *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
6264        номера.
6265 
6266     *) Исправление: если nginx распределял запросы на несколько машин, то
6267        при падении одной из них запросы, предназначенные для этой машины,
6268        перенаправлялись только на одну машину вместо того, чтобы равномерно
6269        распределяться между остальными.
6270 
6271 
6272 Изменения в nginx 0.3.44                                          04.05.2006
6273 
6274     *) Добавление: параметр wait в команде SSI include.
6275 
6276     *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
6277        белорусские символы.
6278 
6279     *) Исправление: в SSI.
6280 
6281 
6282 Изменения в nginx 0.3.43                                          26.04.2006
6283 
6284     *) Исправление: в SSI.
6285 
6286 
6287 Изменения в nginx 0.3.42                                          26.04.2006
6288 
6289     *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
6290 
6291     *) Исправление: ошибки при использовании в директиве rewrite одного и
6292        того же выделения более одного раза.
6293 
6294     *) Исправление: в лог не записывались переменные
6295        $sent_http_content_type, $sent_http_content_length,
6296        $sent_http_last_modified, $sent_http_connection,
6297        $sent_http_keep_alive и $sent_http_transfer_encoding.
6298 
6299     *) Исправление: переменная $sent_http_cache_control возвращала
6300        содержимое только одной строки "Cache-Control" в заголовке ответа.
6301 
6302 
6303 Изменения в nginx 0.3.41                                          21.04.2006
6304 
6305     *) Добавление: ключ -v.
6306 
6307     *) Исправление: при включении в SSI удалённых подзапросов мог произойти
6308        segmentation fault.
6309 
6310     *) Исправление: в обработке FastCGI.
6311 
6312     *) Исправление: если путь к перловым модулям не был указан с помощью
6313        --with-perl_modules_path=PATH или директивы perl_modules, то на
6314        старте происходил segmentation fault.
6315 
6316 
6317 Изменения в nginx 0.3.40                                          19.04.2006
6318 
6319     *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
6320 
6321     *) Добавление: директива create_full_put_path.
6322 
6323     *) Добавление: переменная $limit_rate.
6324 
6325 
6326 Изменения в nginx 0.3.39                                          17.04.2006
6327 
6328     *) Добавление: директива uninitialized_variable_warn; уровень
6329        логгирования сообщения о неинициализированной переменной понижен с
6330        уровня alert на warn.
6331 
6332     *) Добавление: директива override_charset.
6333 
6334     *) Изменение: при использовании неизвестной переменной в SSI-командах
6335        echo и if expr='$name' теперь не записывается в лог сообщение о
6336        неизвестной переменной.
6337 
6338     *) Исправление: счётчик активных соединений рос при превышении лимита
6339        соединений, заданного директивой worker_connections; ошибка появилась
6340        в 0.2.0.
6341 
6342     *) Исправление: при некоторых условия ограничение скорости соединения
6343        могло не работать; ошибка появилась в 0.3.38.
6344 
6345 
6346 Изменения в nginx 0.3.38                                          14.04.2006
6347 
6348     *) Добавление: модуль ngx_http_dav_module.
6349 
6350     *) Изменение: оптимизация модуля ngx_http_perl_module.
6351        Спасибо Сергею Скворцову.
6352 
6353     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6354        $r->request_body_file.
6355 
6356     *) Добавление: директива client_body_in_file_only.
6357 
6358     *) Изменение: теперь при переполнении диска nginx пытается писать
6359        access_log'и только раз в секунду.
6360        Спасибо Антону Южанинову и Максиму Дунину.
6361 
6362     *) Исправление: теперь директива limit_rate точнее ограничивает скорость
6363        при значениях больше 100 Kbyte/s.
6364        Спасибо ForJest.
6365 
6366     *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
6367        символы "\r" и "\n" в логине и пароле в закодированном виде.
6368        Спасибо Максиму Дунину.
6369 
6370 
6371 Изменения в nginx 0.3.37                                          07.04.2006
6372 
6373     *) Добавление: директива limit_except.
6374 
6375     *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
6376        "!-f".
6377 
6378     *) Добавление: модуль ngx_http_perl_module поддерживает метод
6379        $r->request_body.
6380 
6381     *) Исправление: в модуле ngx_http_addition_filter_module.
6382 
6383 
6384 Изменения в nginx 0.3.36                                          05.04.2006
6385 
6386     *) Добавление: модуль ngx_http_addition_filter_module.
6387 
6388     *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
6389        внутри блока if.
6390 
6391     *) Добавление: директивы proxy_ignore_client_abort и
6392        fastcgi_ignore_client_abort.
6393 
6394     *) Добавление: переменная $request_completion.
6395 
6396     *) Добавление: модуль ngx_http_perl_module поддерживает методы
6397        $r->request_method и $r->remote_addr.
6398 
6399     *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
6400 
6401     *) Исправление: строка "\/" в начале выражения команды if модуля
6402        ngx_http_ssi_module воспринималась неверно.
6403 
6404     *) Исправление: в использовании регулярных выражениях в команде if
6405        модуля ngx_http_ssi_module.
6406 
6407     *) Исправление: при задании относительного пути в директивах
6408        client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
6409        perl_modules использовался каталог относительно текущего каталога, а
6410        не относительно префикса сервера.
6411 
6412 
6413 Изменения в nginx 0.3.35                                          22.03.2006
6414 
6415     *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
6416        для первой директивы listen; ошибка появилась в 0.3.31.
6417 
6418     *) Исправление: в директиве proxy_pass без URI при использовании в
6419        подзапросе.
6420 
6421 
6422 Изменения в nginx 0.3.34                                          21.03.2006
6423 
6424     *) Добавление: директива add_header поддерживает переменные.
6425 
6426 
6427 Изменения в nginx 0.3.33                                          15.03.2006
6428 
6429     *) Добавление: параметр http_503 в директивах proxy_next_upstream или
6430        fastcgi_next_upstream.
6431 
6432     *) Исправление: ngx_http_perl_module не работал со встроенным в
6433        конфигурационный файл кодом, если он не начинался сразу же с "sub".
6434 
6435     *) Исправление: в директиве post_action.
6436 
6437 
6438 Изменения в nginx 0.3.32                                          11.03.2006
6439 
6440     *) Исправление: удаление отладочного логгирования на старте и при
6441        переконфигурации; ошибка появилась в 0.3.31.
6442 
6443 
6444 Изменения в nginx 0.3.31                                          10.03.2006
6445 
6446     *) Изменение: теперь nginx передаёт неверные ответы проксированного
6447        бэкенда.
6448 
6449     *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
6450 
6451     *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
6452 
6453     *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
6454        64-битном ядре MacOSX.
6455        Спасибо Андрею Нигматулину.
6456 
6457     *) Исправление: если внутри одного сервера описаны несколько директив
6458        listen, слушающих на разных адресах, то имена серверов вида
6459        "*.domain.tld" работали только для первого адреса; ошибка появилась в
6460        0.3.18.
6461 
6462     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6463        не передавались запросы с телом, записанным во временный файл.
6464 
6465     *) Исправление: совместимость с perl 5.8.8.
6466 
6467 
6468 Изменения в nginx 0.3.30                                          22.02.2006
6469 
6470     *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
6471        с уровня crit.
6472 
6473     *) Исправление: модуль ngx_http_perl_module не собирался без модуля
6474        ngx_http_ssi_filter_module.
6475 
6476     *) Исправление: nginx не собирался на i386 платформе, если использовался
6477        PIC; ошибка появилась в 0.3.27.
6478 
6479 
6480 Изменения в nginx 0.3.29                                          20.02.2006
6481 
6482     *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
6483        FastCGI передаёт большое количество предупреждений перед ответом.
6484 
6485     *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
6486        строка заголовка "Transfer-Encoding: chunked".
6487 
6488     *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
6489        передавал полные строки заголовка ответа в отдельных FastCGI записях.
6490 
6491     *) Исправление: если в директиве post_action был указан проксируемый
6492        URI, то он выполнялся только после успешного завершения запроса.
6493 
6494 
6495 Изменения в nginx 0.3.28                                          16.02.2006
6496 
6497     *) Добавление: директива restrict_host_names упразднена.
6498 
6499     *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
6500 
6501     *) Исправление: при некоторых условиях проксированное соединение с
6502        клиентом завершалось преждевременно.
6503        Спасибо Владимиру Шутову.
6504 
6505     *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
6506        запросов, перенаправленных с помощью строки "X-Accel-Redirect".
6507 
6508     *) Исправление: директива post_action работала только после успешного
6509        завершения запроса.
6510 
6511     *) Исправление: тело проксированного ответа, создаваемого директивой
6512        post_action, передавалось клиенту.
6513 
6514 
6515 Изменения в nginx 0.3.27                                          08.02.2006
6516 
6517     *) Изменение: директивы variables_hash_max_size и
6518        variables_hash_bucket_size.
6519 
6520     *) Добавление: переменная $body_bytes_sent доступна не только в
6521        директиве log_format.
6522 
6523     *) Добавление: переменные $ssl_protocol и $ssl_cipher.
6524 
6525     *) Добавление: определение размера строки кэша распространённых
6526        процессоров при старте.
6527 
6528     *) Добавление: директива accept_mutex теперь поддерживается посредством
6529        fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
6530 
6531     *) Добавление: директива lock_file и параметр автоконфигурации
6532        --with-lock-path=PATH.
6533 
6534     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6535        не передавались запросы с телом.
6536 
6537 
6538 Изменения в nginx 0.3.26                                          03.02.2006
6539 
6540     *) Изменение: директива optimize_host_names переименована в
6541        optimize_server_names.
6542 
6543     *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
6544        URI основного запроса, если в директиве proxy_pass отсутствовал URI.
6545 
6546 
6547 Изменения в nginx 0.3.25                                          01.02.2006
6548 
6549     *) Исправление: при неверной конфигурации на старте или во время
6550        переконфигурации происходил segmentation fault; ошибка появилась в
6551        0.3.24.
6552 
6553 
6554 Изменения в nginx 0.3.24                                          01.02.2006
6555 
6556     *) Изменение: обход ошибки в kqueue во FreeBSD.
6557 
6558     *) Исправление: ответ, создаваемый директивой post_action, теперь не
6559        передаётся клиенту.
6560 
6561     *) Исправление: при использовании большого количества лог-файлов
6562        происходила утечка памяти.
6563 
6564     *) Исправление: внутри одного location работала только первая директива
6565        proxy_redirect.
6566 
6567     *) Исправление: на 64-битных платформах при старте мог произойти
6568        segmentation fault, если использовалось большое количество имён в
6569        директивах server_name; ошибка появилась в 0.3.18.
6570 
6571 
6572 Изменения в nginx 0.3.23                                          24.01.2006
6573 
6574     *) Добавление: директива optimize_host_names.
6575 
6576     *) Исправление: ошибки при использовании переменных в директивах path и
6577        alias.
6578 
6579     *) Исправление: модуль ngx_http_perl_module неправильно собирался на
6580        Linux и Solaris.
6581 
6582 
6583 Изменения в nginx 0.3.22                                          17.01.2006
6584 
6585     *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
6586        и $r->unescape.
6587 
6588     *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
6589        упразднён.
6590 
6591     *) Исправление: если в директиве valid_referers указаны только none или
6592        blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
6593 
6594 
6595 Изменения в nginx 0.3.21                                          16.01.2006
6596 
6597     *) Добавление: модуль ngx_http_perl_module.
6598 
6599     *) Изменение: директива valid_referers разрешает использовать рефереры
6600        совсем без URI.
6601 
6602 
6603 Изменения в nginx 0.3.20                                          11.01.2006
6604 
6605     *) Исправление: ошибки в обработке SSI.
6606 
6607     *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
6608        виде /uri?args.
6609 
6610 
6611 Изменения в nginx 0.3.19                                          28.12.2005
6612 
6613     *) Добавление: директивы path и alias поддерживают переменные.
6614 
6615     *) Изменение: теперь директива valid_referers опять учитывает URI.
6616 
6617     *) Исправление: ошибки в обработке SSI.
6618 
6619 
6620 Изменения в nginx 0.3.18                                          26.12.2005
6621 
6622     *) Добавление: директива server_names поддерживает имена вида
6623        ".domain.tld".
6624 
6625     *) Добавление: директива server_names использует хэш для имён вида
6626        "*.domain.tld" и более эффективный хэш для обычных имён.
6627 
6628     *) Изменение: директивы server_names_hash_max_size и
6629        server_names_hash_bucket_size.
6630 
6631     *) Изменение: директивы server_names_hash и server_names_hash_threshold
6632        упразднены.
6633 
6634     *) Добавление: директива valid_referers использует хэш для имён сайтов.
6635 
6636     *) Изменение: теперь директива valid_referers проверяет только имена
6637        сайтов без учёта URI.
6638 
6639     *) Исправление: некоторые имена вида ".domain.tld" неверно
6640        обрабатывались модулем ngx_http_map_module.
6641 
6642     *) Исправление: если конфигурационного файла не было, то происходил
6643        segmentation fault; ошибка появилась в 0.3.12.
6644 
6645     *) Исправление: на 64-битных платформах при старте мог произойти
6646        segmentation fault; ошибка появилась в 0.3.16.
6647 
6648 
6649 Изменения в nginx 0.3.17                                          18.12.2005
6650 
6651     *) Изменение: на Linux configure теперь проверяет наличие epoll и
6652        sendfile64() в ядре.
6653 
6654     *) Добавление: директива map поддерживает доменные имена в формате
6655        ".domain.tld".
6656 
6657     *) Исправление: во время SSL handshake не иcпользовались таймауты;
6658        ошибка появилась в 0.2.4.
6659 
6660     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6661 
6662     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6663        по умолчанию использовался порт 80.
6664 
6665 
6666 Изменения в nginx 0.3.16                                          16.12.2005
6667 
6668     *) Добавление: модуль ngx_http_map_module.
6669 
6670     *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
6671 
6672     *) Добавление: директива ssi_value_length.
6673 
6674     *) Добавление: директива worker_rlimit_core.
6675 
6676     *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
6677        Pentium 4 номер соединения в логах всегда был равен 1.
6678 
6679     *) Исправление: команда config timefmt в SSI задавала неверный формат
6680        времени.
6681 
6682     *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
6683        использовании SSL соединений; ошибка появилась в 0.3.13.
6684        Спасибо Rob Mueller.
6685 
6686     *) Исправление: segmentation fault мог произойти во время SSL shutdown;
6687        ошибка появилась в 0.3.13.
6688 
6689 
6690 Изменения в nginx 0.3.15                                          07.12.2005
6691 
6692     *) Добавление: новой код 444 в директиве return для закрытия соединения.
6693 
6694     *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
6695 
6696     *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
6697        соединений только при плавном выходе и включённой директиве
6698        debug_points.
6699 
6700 
6701 Изменения в nginx 0.3.14                                          05.12.2005
6702 
6703     *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
6704        в 0.3.13.
6705 
6706 
6707 Изменения в nginx 0.3.13                                          05.12.2005
6708 
6709     *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
6710 
6711     *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
6712        /dev/poll.
6713 
6714     *) Исправление: ошибки в обработке SSI.
6715 
6716     *) Исправление: sendfilev() в Solaris теперь не используется при
6717        передаче тела запроса FastCGI-серверу через unix domain сокет.
6718 
6719     *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
6720        появилась в 0.3.11.
6721 
6722 
6723 Изменения в nginx 0.3.12                                          26.11.2005
6724 
6725     *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
6726        то при использовании директивы "satisfy_any on" директивы доступа и
6727        аутентификации не работали. Модуль ngx_http_realip_module не
6728        собирался и не собирается по умолчанию.
6729 
6730     *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
6731 
6732     *) Изменение: директивы proxy_header_buffer_size и
6733        fastcgi_header_buffer_size переименованы соответственно в
6734        proxy_buffer_size и fastcgi_buffer_size.
6735 
6736     *) Добавление: модуль ngx_http_memcached_module.
6737 
6738     *) Добавление: директива proxy_buffering.
6739 
6740     *) Исправление: изменение в работе с accept mutex при использовании
6741        метода rtsig; ошибка появилась в 0.3.0.
6742 
6743     *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
6744        в заголовке запроса, то nginx теперь выдаёт ошибку 411.
6745 
6746     *) Исправление: при наследовании директивы auth_basic с уровня http в
6747        строке "WWW-Authenticate" заголовка ответа выводился realm без текста
6748        "Basic realm".
6749 
6750     *) Исправление: если в директиве access_log был явно указан формат
6751        combined, то в лог записывались пустые строки; ошибка появилась в
6752        0.3.8.
6753 
6754     *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
6755        Solaris.
6756 
6757     *) Исправление: в директиве if теперь не нужно разделять пробелом строку
6758        в кавычках и закрывающую скобку.
6759 
6760 
6761 Изменения в nginx 0.3.11                                          15.11.2005
6762 
6763     *) Исправление: nginx не передавал при проксировании тело запроса и
6764        строки заголовка клиента; ошибка появилась в 0.3.10.
6765 
6766 
6767 Изменения в nginx 0.3.10                                          15.11.2005
6768 
6769     *) Изменение: директива valid_referers и переменная $invalid_referer
6770        перенесены из модуля ngx_http_rewrite_module в новый модуль
6771        ngx_http_referer_module.
6772 
6773     *) Изменение: имя переменной "$apache_bytes_sent" изменено на
6774        "$body_bytes_sent".
6775 
6776     *) Добавление: переменные "$sent_http_...".
6777 
6778     *) Добавление: директива if поддерживает операции "=" и "!=".
6779 
6780     *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
6781 
6782     *) Добавление: директива proxy_set_body.
6783 
6784     *) Добавление: директива post_action.
6785 
6786     *) Добавление: модуль ngx_http_empty_gif_module.
6787 
6788     *) Добавление: директива worker_cpu_affinity для Linux.
6789 
6790     *) Исправление: директива rewrite не раскодировала символы в редиректах
6791        в URI, теперь символы раскодируются, кроме символов %00-%25 и
6792        %7F-%FF.
6793 
6794     *) Исправление: nginx не собирался компилятором icc 9.0.
6795 
6796     *) Исправление: если для статического файла нулевого размера был
6797        разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
6798 
6799 
6800 Изменения в nginx 0.3.9                                           10.11.2005
6801 
6802     *) Исправление: nginx считал небезопасными URI, в которых между двумя
6803        слэшами находилось два любых символа; ошибка появилась в 0.3.8.
6804 
6805 
6806 Изменения в nginx 0.3.8                                           09.11.2005
6807 
6808     *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
6809        строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
6810        наличие путей "/../" и нулей.
6811 
6812     *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
6813        строке "Authorization" в заголовке запроса.
6814 
6815     *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
6816        и ngx_imap_ssl_module.
6817 
6818     *) Добавление: директива auth_http_header модуля
6819        ngx_imap_auth_http_module.
6820 
6821     *) Добавление: директива add_header.
6822 
6823     *) Добавление: модуль ngx_http_realip_module.
6824 
6825     *) Добавление: новые переменные для использования в директиве
6826        log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
6827        $uri, $request_time, $request_length, $upstream_status,
6828        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
6829        $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
6830        упразднены.
6831 
6832     *) Изменение: в директиве "if" ложными значениями переменных теперь
6833        являются пустая строка "" и строки, начинающиеся на "0".
6834 
6835     *) Исправление: при работает с проксированными или FastCGI-серверами
6836        nginx мог оставлять открытыми соединения и временные файлы с
6837        запросами клиентов.
6838 
6839     *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
6840        плавном выходе.
6841 
6842     *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
6843        запрос проксировался в location, заданном регулярным выражением, то
6844        бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
6845 
6846     *) Исправление: директива expires не удаляла уже установленную строку
6847        заголовка "Expires".
6848 
6849     *) Исправление: при использовании метода rtsig и нескольких рабочих
6850        процессах nginx мог перестать принимать запросы.
6851 
6852     *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
6853        "\'".
6854 
6855     *) Исправление: если ответ заканчивался сразу же после SSI команды, то
6856        при использовании сжатия ответ передавался не до конца или не
6857        передавался вообще.
6858 
6859 
6860 Изменения в nginx 0.3.7                                           27.10.2005
6861 
6862     *) Добавление: директива access_log поддерживает параметр buffer=.
6863 
6864     *) Исправление: nginx не собирался на платформах, отличных от i386,
6865        amd64, sparc и ppc; ошибка появилась в 0.3.2.
6866 
6867 
6868 Изменения в nginx 0.3.6                                           24.10.2005
6869 
6870     *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
6871        пустой логин.
6872 
6873     *) Добавление: директива log_format поддерживает переменные в виде
6874        $name.
6875 
6876     *) Исправление: если хотя бы в одном сервере не было описано ни одной
6877        директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
6878        0.3.3.
6879 
6880     *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
6881        использовался порт 80.
6882 
6883 
6884 Изменения в nginx 0.3.5                                           21.10.2005
6885 
6886     *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
6887        мог произойти segmentation fault; ошибка появилась в 0.2.2.
6888 
6889     *) Исправление: accept mutex не работал, все соединения обрабатывались
6890        одним рабочим процессом; ошибка появилась в 0.3.3.
6891 
6892     *) Исправление: при использовании метода rtsig и директивы
6893        timer_resolution не работали таймауты.
6894 
6895 
6896 Изменения в nginx 0.3.4                                           19.10.2005
6897 
6898     *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
6899        появилась в 0.3.3.
6900 
6901 
6902 Изменения в nginx 0.3.3                                           19.10.2005
6903 
6904     *) Изменение: параметры "bl" и "af" директивы listen переименованы в
6905        "backlog" и "accept_filter".
6906 
6907     *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
6908 
6909     *) Изменение: параметр лога $msec теперь не требует дополнительного
6910        системного вызова gettimeofday().
6911 
6912     *) Добавление: ключ -t теперь проверяет директивы listen.
6913 
6914     *) Исправление: если в директиве listen был указан неверный адрес, то
6915        nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
6916 
6917     *) Исправление: для индексных файлов, содержащих в имени переменную, мог
6918        неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
6919 
6920     *) Добавление: директива timer_resolution.
6921 
6922     *) Добавление: параметр лога $upstream_response_time в миллисекундах.
6923 
6924     *) Исправление: временный файл с телом запроса клиента теперь удаляется
6925        сразу после того, как клиенту передан заголовок ответа.
6926 
6927     *) Исправление: совместимость с OpenSSL 0.9.6.
6928 
6929     *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
6930        относительными.
6931 
6932     *) Исправление: директива ssl_prefer_server_ciphers не работала для
6933        модуля ngx_imap_ssl_module.
6934 
6935     *) Исправление: директива ssl_protocols позволяла задать только один
6936        протокол.
6937 
6938 
6939 Изменения в nginx 0.3.2                                           12.10.2005
6940 
6941     *) Добавление: поддержка Sun Studio 10 C compiler.
6942 
6943     *) Добавление: директивы proxy_upstream_max_fails,
6944        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
6945        fastcgi_upstream_fail_timeout.
6946 
6947 
6948 Изменения в nginx 0.3.1                                           10.10.2005
6949 
6950     *) Исправление: во время переполнения очереди сигналов при использовании
6951        метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
6952 
6953     *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
6954 
6955 
6956 Изменения в nginx 0.3.0                                           07.10.2005
6957 
6958     *) Изменение: убрано десятидневное ограничение времени работы рабочего
6959        процесса. Ограничение было введено из-за переполнения миллисекундных
6960        таймеров.
6961 
6962 
6963 Изменения в nginx 0.2.6                                           05.10.2005
6964 
6965     *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
6966        бэкенду при использовании распределения нагрузки.
6967 
6968     *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
6969        запрос теперь передаётся, если в директиве proxy_pass отсутствует
6970        URI.
6971 
6972     *) Добавление: директива error_page поддерживает редиректы и позволяет
6973        более гибко менять код ошибки.
6974 
6975     *) Изменение: в проксированных подзапросах теперь игнорируется
6976        переданный charset.
6977 
6978     *) Исправление: если после изменения URI в блоке if для запроса не
6979        находилась новая конфигурация, то правила модуля
6980        ngx_http_rewrite_module выполнялись снова.
6981 
6982     *) Исправление: если директива set устанавливала переменную модуля
6983        ngx_http_geo_module в какой-либо части конфигурации, то эта
6984        переменная не была доступна в других частях конфигурации и выдавалась
6985        ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
6986 
6987 
6988 Изменения в nginx 0.2.5                                           04.10.2005
6989 
6990     *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
6991        теперь выдаёт предупреждение и изменяет старое значение.
6992 
6993     *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
6994 
6995     *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
6996        команде include.
6997 
6998     *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
6999        значений переменных в выражениях команды if.
7000 
7001 
7002 Изменения в nginx 0.2.4                                           03.10.2005
7003 
7004     *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
7005        "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
7006        if.
7007 
7008     *) Исправление: ошибки при проксировании location без слэша в конце;
7009        ошибка появилась в 0.1.44.
7010 
7011     *) Исправление: при использовании метода rtsig мог произойти
7012        segmentation fault; ошибка появилась в 0.2.0.
7013 
7014 
7015 Изменения в nginx 0.2.3                                           30.09.2005
7016 
7017     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
7018        появилась в 0.2.2.
7019 
7020 
7021 Изменения в nginx 0.2.2                                           30.09.2005
7022 
7023     *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
7024 
7025     *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
7026        директивой set.
7027 
7028     *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
7029        модулей ngx_http_ssl_module и ngx_imap_ssl_module.
7030 
7031     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7032        длинных имён файлов;
7033 
7034     *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
7035        файлы, начинающиеся на точку.
7036 
7037     *) Исправление: если SSL handshake завершался с ошибкой, то это могло
7038        привести также к закрытию другого соединения.
7039        Спасибо Rob Mueller.
7040 
7041     *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
7042        HTTPS.
7043 
7044 
7045 Изменения в nginx 0.2.1                                           23.09.2005
7046 
7047     *) Исправление: если все бэкенды, используемые для балансировки
7048        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7049        nginx мог зациклится; ошибка появилась в 0.2.0.
7050 
7051 
7052 Изменения в nginx 0.2.0                                           23.09.2005
7053 
7054     *) Изменились имена pid-файлов, используемые во время обновления
7055        исполняемого файла. Ручное переименование теперь не нужно. Старый
7056        основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
7057        запускает новый исполняемый файл. Новый основной процесс создаёт
7058        обычный pid-файл без суффикса ".newbin". Если новый основной процесс
7059        выходит, то старый процесс переименовывает свой pid-файл c суффиксом
7060        ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
7061        0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
7062        0.2.0 - используют pid-файл без суффиксов.
7063 
7064     *) Изменение: директива worker_connections, новое название директивы
7065        connections; директива теперь задаёт максимальное число соединений, а
7066        не максимально возможный номер дескриптора для сокета.
7067 
7068     *) Добавление: SSL поддерживает кэширование сессий в пределах одного
7069        рабочего процесса.
7070 
7071     *) Добавление: директива satisfy_any.
7072 
7073     *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
7074        не работают для подзапросов.
7075 
7076     *) Добавление: директивы worker_rlimit_nofile и
7077        worker_rlimit_sigpending.
7078 
7079     *) Исправление: если все бэкенды, используемые для балансировки
7080        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7081        nginx не обращался к ним в течение 60 секунд.
7082 
7083     *) Исправление: в парсинге аргументов IMAP/POP3 команд.
7084        Спасибо Rob Mueller.
7085 
7086     *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
7087 
7088     *) Исправление: ошибки при использовании SSI и сжатия.
7089 
7090     *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
7091        "Expires" и "Cache-Control".
7092        Спасибо Александру Кукушкину.
7093 
7094 
7095 Изменения в nginx 0.1.45                                          08.09.2005
7096 
7097     *) Изменение: директива ssl_engine упразднена в модуле
7098        ngx_http_ssl_module и перенесена на глобальный уровень.
7099 
7100     *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
7101        передавались через SSL соединение.
7102 
7103     *) Разные исправления в IMAP/POP3 прокси.
7104 
7105 
7106 Изменения в nginx 0.1.44                                          06.09.2005
7107 
7108     *) Добавление: IMAP/POP3 прокси поддерживает SSL.
7109 
7110     *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
7111 
7112     *) Добавление: директива userid_mark.
7113 
7114     *) Добавление: значение переменной $remote_user определяется независимо
7115        от того, используется ли авторизация или нет.
7116 
7117 
7118 Изменения в nginx 0.1.43                                          30.08.2005
7119 
7120     *) Добавление: listen(2) backlog в директиве listen можно менять по
7121        сигналу -HUP.
7122 
7123     *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
7124 
7125     *) Изменение: параметры FastCGI с пустым значениями теперь передаются
7126        серверу.
7127 
7128     *) Исправление: если в ответе проксированного сервера или FastCGI
7129        сервера была строка "Cache-Control", то при использовании директивы
7130        expires происходил segmentation fault или рабочий процесс мог
7131        зациклится; в режиме прокси ошибка появилась в 0.1.29.
7132 
7133 
7134 Изменения в nginx 0.1.42                                          23.08.2005
7135 
7136     *) Исправление: если URI запроса получался нулевой длины после обработки
7137        модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
7138        происходил segmentation fault или bus error.
7139 
7140     *) Исправление: директива limit_rate не работала внутри блока if; ошибка
7141        появилась в 0.1.38.
7142 
7143 
7144 Изменения в nginx 0.1.41                                          25.07.2005
7145 
7146     *) Исправление: если переменная использовалась в файле конфигурации, то
7147        она не могла использоваться в SSI.
7148 
7149 
7150 Изменения в nginx 0.1.40                                          22.07.2005
7151 
7152     *) Исправление: если клиент слал очень длинную строку заголовка, то в
7153        логе не помещалась информация, связанная с этим запросом.
7154 
7155     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7156        строка "Set-Cookie"; ошибка появилась в 0.1.39.
7157 
7158     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7159        строка "Content-Disposition".
7160 
7161     *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
7162        на которых он слушал.
7163 
7164     *) Исправление: после обновления исполняемого файла на лету на Linux и
7165        Solaris название процесса в команде ps становилось короче.
7166 
7167 
7168 Изменения в nginx 0.1.39                                          14.07.2005
7169 
7170     *) Изменения в модуле ngx_http_charset_module: директива default_charset
7171        упразднена; директива charset задаёт кодировку ответа; директива
7172        source_charset задаёт только исходную кодировку.
7173 
7174     *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
7175        не передавалась строка заголовка "WWW-Authenticate".
7176 
7177     *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
7178        могли закрыть соединение до того, как что-нибудь было передано
7179        клиенту; ошибка появилась в 0.1.38.
7180 
7181     *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
7182 
7183     *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
7184        URI в команде include virtual.
7185 
7186     *) Исправление: если в строке заголовка ответа бэкенда была строка
7187        "Location", которую nginx не должен был изменять, то в ответе
7188        передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
7189 
7190     *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
7191        ngx_http_fastcgi_module не наследовались с уровня server на уровень
7192        location; ошибка появилась в 0.1.29.
7193 
7194     *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
7195        сертификатов.
7196 
7197     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7198        длинных имён файлов; ошибка появилась в 0.1.38.
7199 
7200     *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
7201        стадии login.
7202 
7203 
7204 Изменения в nginx 0.1.38                                          08.07.2005
7205 
7206     *) Добавление: директива limit_rate поддерживается в режиме прокси и
7207        FastCGI.
7208 
7209     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7210        "X-Accel-Limit-Rate" в ответе бэкенда.
7211 
7212     *) Добавление: директива break.
7213 
7214     *) Добавление: директива log_not_found.
7215 
7216     *) Исправление: при перенаправлении запроса с помощью строки заголовка
7217        "X-Accel-Redirect" не изменялся код ответа.
7218 
7219     *) Исправление: переменные, установленные директивой set не могли
7220        использоваться в SSI.
7221 
7222     *) Исправление: при включении в SSI более одного удалённого подзапроса
7223        мог произойти segmentation fault.
7224 
7225     *) Исправление: если статусная строка в ответе бэкенда передавалась в
7226        двух пакетах, то nginx считал ответ неверным; ошибка появилась в
7227        0.1.29.
7228 
7229     *) Добавление: директива ssi_types.
7230 
7231     *) Добавление: директива autoindex_exact_size.
7232 
7233     *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
7234        имена файлов в UTF-8.
7235 
7236     *) Добавление: IMAP/POP3 прокси.
7237 
7238 
7239 Изменения в nginx 0.1.37                                          23.06.2005
7240 
7241     *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
7242 
7243     *) Исправление: при включении большого количества вставок или нескольких
7244        больших вставок с помощью SSI ответ мог передаваться не полностью.
7245 
7246     *) Исправление: если все бэкенды возвращали ответ 404, то при
7247        использовании параметра http_404 в директивах proxy_next_upstream или
7248        fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
7249 
7250 
7251 Изменения в nginx 0.1.36                                          15.06.2005
7252 
7253     *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
7254        "Connection", "Content-Length" и "Authorization", то nginx теперь
7255        выдаёт ошибку 400.
7256 
7257     *) Изменение: директива post_accept_timeout упразднена.
7258 
7259     *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
7260        listen.
7261 
7262     *) Добавление: поддержка accept фильтров во FreeBSD.
7263 
7264     *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
7265 
7266     *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
7267        файлов в UTF-8.
7268 
7269     *) Исправление: после добавления новый лог-файл ротация этого лога по
7270        сигналу -USR1 выполнялась, только если переконфигурировать nginx два
7271        раза по сигналу -HUP.
7272 
7273 
7274 Изменения в nginx 0.1.35                                          07.06.2005
7275 
7276     *) Добавление: директива working_directory.
7277 
7278     *) Добавление: директива port_in_redirect.
7279 
7280     *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
7281        то происходил segmentation fault; ошибка появилась в 0.1.29.
7282 
7283     *) Исправление: если было сконфигурировано более 10 серверов или в
7284        сервере не описана директива "listen", то при запуске мог произойти
7285        segmentation fault.
7286 
7287     *) Исправление: если ответ не помещался во временный файл, то мог
7288        произойти segmentation fault.
7289 
7290     *) Исправление: nginx возвращал ошибку 400 на запросы вида
7291        "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
7292 
7293 
7294 Изменения в nginx 0.1.34                                          26.05.2005
7295 
7296     *) Исправление: при включении больших ответов с помощью SSI рабочий
7297        процесс мог зациклиться.
7298 
7299     *) Исправление: переменные, устанавливаемые директивой "set", не были
7300        доступны в SSI.
7301 
7302     *) Добавление: директива autoindex_localtime.
7303 
7304     *) Исправление: пустое значение в директиве proxy_set_header запрещает
7305        передачу заголовка.
7306 
7307 
7308 Изменения в nginx 0.1.33                                          23.05.2005
7309 
7310     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
7311        появилась в 0.1.29.
7312 
7313     *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
7314        вызывали bus fault при запуске.
7315 
7316     *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
7317        HTTP.
7318 
7319     *) Исправление: если директива rewrite использовала выделения внутри
7320        директивы if, то возвращалась ошибка 500.
7321 
7322 
7323 Изменения в nginx 0.1.32                                          19.05.2005
7324 
7325     *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
7326        передавались аргументы; ошибка появилась в 0.1.29.
7327 
7328     *) Добавление: директива if поддерживает выделения в регулярных
7329        выражениях.
7330 
7331     *) Добавление: директива set поддерживает переменные и выделения из
7332        регулярных выражений.
7333 
7334     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7335        "X-Accel-Redirect" в ответе бэкенда.
7336 
7337 
7338 Изменения в nginx 0.1.31                                          16.05.2005
7339 
7340     *) Исправление: при использовании SSL ответ мог передаваться не до
7341        конца.
7342 
7343     *) Исправление: ошибки при обработке SSI в ответе, полученного от
7344        FastCGI-сервера.
7345 
7346     *) Исправление: ошибки при использовании SSI и сжатия.
7347 
7348     *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
7349        появилась в 0.1.30.
7350 
7351 
7352 Изменения в nginx 0.1.30                                          14.05.2005
7353 
7354     *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
7355 
7356     *) Исправление: при использовании SSL ответ мог передаваться не до
7357        конца.
7358 
7359     *) Исправление: если длина части ответа, полученного за один раз от
7360        проксируемого или FastCGI сервера была равна 500 байт, то nginx
7361        возвращал код ответа 500; в режиме прокси ошибка появилась только в
7362        0.1.29.
7363 
7364     *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
7365        параметрами.
7366 
7367     *) Добавление: директива return может возвращать код ответа 204.
7368 
7369     *) Добавление: директива ignore_invalid_headers.
7370 
7371 
7372 Изменения в nginx 0.1.29                                          12.05.2005
7373 
7374     *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
7375        virtual.
7376 
7377     *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
7378        вида 'if expr="$NAME"' и команды else и endif. Допускается только
7379        один уровень вложенности.
7380 
7381     *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
7382        DATE_LOCAL и DATE_GMT и команду config timefmt.
7383 
7384     *) Добавление: директива ssi_ignore_recycled_buffers.
7385 
7386     *) Исправление: если переменная QUERY_STRING не была определена, то в
7387        команде echo не ставилось значение по умолчанию.
7388 
7389     *) Изменение: модуль ngx_http_proxy_module полностью переписан.
7390 
7391     *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
7392        proxy_pass_request_body и proxy_method.
7393 
7394     *) Добавление: директива proxy_set_header. Директива proxy_x_var
7395        упразднена и должна быть заменена директивой proxy_set_header.
7396 
7397     *) Изменение: директива proxy_preserve_host упразднена и должна быть
7398        заменена директивами "proxy_set_header Host $host" и "proxy_redirect
7399        off" или директивой "proxy_set_header Host $host:$proxy_port" и
7400        соответствующими ей директивами proxy_redirect.
7401 
7402     *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
7403        заменена директивой "proxy_set_header X-Real-IP $remote_addr".
7404 
7405     *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
7406        быть заменена директивой
7407        "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
7408 
7409     *) Изменение: директива proxy_set_x_url упразднена и должна быть
7410        заменена директивой
7411        "proxy_set_header X-URL http://$host:$server_port$request_uri".
7412 
7413     *) Добавление: директива fastcgi_param.
7414 
7415     *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
7416        упразднены и должны быть замены директивами fastcgi_param.
7417 
7418     *) Добавление: директива index может использовать переменные.
7419 
7420     *) Добавление: директива index может быть указана на уровне http и
7421        server.
7422 
7423     *) Изменение: только последний параметр в директиве index может быть
7424        абсолютным.
7425 
7426     *) Добавление: в директиве rewrite могут использоваться переменные.
7427 
7428     *) Добавление: директива internal.
7429 
7430     *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
7431        SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
7432        SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
7433 
7434     *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
7435        клиента и ответа бэкенда.
7436 
7437     *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
7438        меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
7439 
7440     *) Исправление: если бэкенд передавал неверную строку в заголовке
7441        ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
7442 
7443     *) Исправление: при использовании отказоустойчивой конфигурации в
7444        FastCGI мог происходить segmentation fault.
7445 
7446     *) Исправление: директива expires не удаляла уже установленные строки
7447        заголовка "Expires" и "Cache-Control".
7448 
7449     *) Исправление: nginx не учитывал завершающую точку в строке заголовка
7450        запроса "Host".
7451 
7452     *) Исправление: модуль ngx_http_auth_module не работал на Linux.
7453 
7454     *) Исправление: директива rewrite неверно работала, если в запросе
7455        присутствовали аргументы.
7456 
7457     *) Исправление: nginx не собирался на MacOS X.
7458 
7459 
7460 Изменения в nginx 0.1.28                                          08.04.2005
7461 
7462     *) Исправление: при проксировании больших файлов nginx сильно нагружал
7463        процессор.
7464 
7465     *) Исправление: nginx не собирался gcc 4.0 на Linux.
7466 
7467 
7468 Изменения в nginx 0.1.27                                          28.03.2005
7469 
7470     *) Добавление: параметр blocked в директиве valid_referers.
7471 
7472     *) Изменение: ошибки обработки заголовка запроса теперь записываются на
7473        уровне info, в лог также записывается имя сервера и строки заголовка
7474        запроса "Host" и "Referer".
7475 
7476     *) Изменение: при записи ошибок в лог записывается также строка
7477        заголовка запроса "Host".
7478 
7479     *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
7480        символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
7481 
7482     *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
7483        параметр конфигурации --without-ngx_http_auth_basic_module.
7484 
7485 
7486 Изменения в nginx 0.1.26                                          22.03.2005
7487 
7488     *) Изменение: неверные строки заголовка, переданные клиентом, теперь
7489        игнорируется и записываются в error_log на уровне info.
7490 
7491     *) Изменение: при записи ошибок в лог записывается также имя сервера,
7492        при обращении к которому произошла ошибка.
7493 
7494     *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
7495        и auth_basic_user_file.
7496 
7497 
7498 Изменения в nginx 0.1.25                                          19.03.2005
7499 
7500     *) Исправление: nginx не работал на Linux parisc.
7501 
7502     *) Добавление: nginx теперь не запускается под FreeBSD, если значение
7503        sysctl kern.ipc.somaxconn слишком большое.
7504 
7505     *) Исправление: если модуль ngx_http_index_module делал внутреннее
7506        перенаправление запроса в модули ngx_http_proxy_module или
7507        ngx_http_fastcgi_module, то файл индекса не закрывался после
7508        обслуживания запроса.
7509 
7510     *) Добавление: директива proxy_pass может использоваться в location,
7511        заданных регулярным выражением.
7512 
7513     *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
7514        условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
7515 
7516     *) Исправление: nginx очень медленно запускался при большом количестве
7517        адресов и использовании текстовых значений в директиве geo.
7518 
7519     *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
7520        Прежний вариант без "$" пока работает, но вскоре будет убран.
7521 
7522     *) Добавление: параметр лога "%{VARIABLE}v".
7523 
7524     *) Добавление: директива "set $name value".
7525 
7526     *) Исправление: совместимость с gcc 4.0.
7527 
7528     *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
7529 
7530 
7531 Изменения в nginx 0.1.24                                          04.03.2005
7532 
7533     *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
7534        QUERY_STRING и DOCUMENT_URI.
7535 
7536     *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
7537        на существующий каталог, если этот каталог был указан как alias.
7538 
7539     *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
7540        при больших ответах.
7541 
7542     *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
7543        правильным referrer'ом.
7544 
7545 
7546 Изменения в nginx 0.1.23                                          01.03.2005
7547 
7548     *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
7549        ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
7550        var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
7551 
7552     *) Добавление: параметр лога %request_time.
7553 
7554     *) Добавление: если запрос пришёл без строки заголовка "Host", то
7555        директива proxy_preserve_host устанавливает в качестве этого
7556        заголовка первое имя сервера из директивы server_name.
7557 
7558     *) Исправление: nginx не собирался на платформах, отличных от i386,
7559        amd64, sparc и ppc; ошибка появилась в 0.1.22.
7560 
7561     *) Исправление: модуль ngx_http_autoindex_module теперь показывает
7562        информацию не о символическом линке, а о файле или каталоге, на
7563        который он указывает.
7564 
7565     *) Исправление: если клиенту ничего не передавалось, то параметр
7566        %apache_length записывал в лог отрицательную длину заголовка ответа.
7567 
7568 
7569 Изменения в nginx 0.1.22                                          22.02.2005
7570 
7571     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7572        статистику для обработанных соединений, если использовалось
7573        проксирование или FastCGI-сервер.
7574 
7575     *) Исправление: на Linux и Solaris установочные пути были неверно
7576        заключены в кавычки; ошибка появилась в 0.1.21.
7577 
7578 
7579 Изменения в nginx 0.1.21                                          22.02.2005
7580 
7581     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7582        статистику при использовании метода rtsig или при использовании
7583        нескольких рабочих процессов на SMP машине.
7584 
7585     *) Исправление: nginx не собирался компилятором icc под Линуксом или
7586        если библиотека zlib-1.2.x собиралась из исходных текстов.
7587 
7588     *) Исправление: nginx не собирался под NetBSD 2.0.
7589 
7590 
7591 Изменения в nginx 0.1.20                                          17.02.2005
7592 
7593     *) Добавление: новые параметры script_filename и remote_port в директиве
7594        fastcgi_params.
7595 
7596     *) Исправление: неправильно обрабатывался поток stderr от
7597        FastCGI-сервера.
7598 
7599 
7600 Изменения в nginx 0.1.19                                          16.02.2005
7601 
7602     *) Исправление: если в запросе есть нуль, то для локальных запросов
7603        теперь возвращается ошибка 404.
7604 
7605     *) Исправление: nginx не собирался под NetBSD 2.0.
7606 
7607     *) Исправление: во время чтения тела запроса клиента в SSL соединении
7608        мог произойти таймаут.
7609 
7610 
7611 Изменения в nginx 0.1.18                                          09.02.2005
7612 
7613     *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
7614        и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
7615 
7616     *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
7617        наследовались.
7618 
7619     *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
7620        присоединялись к URI через символ "&" вместо "?".
7621 
7622     *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
7623        включённом файле игнорировались.
7624 
7625     *) Добавление: модуль ngx_http_stub_status_module.
7626 
7627     *) Исправление: неизвестный формат лог-файла в директиве access_log
7628        вызывал segmentation fault.
7629 
7630     *) Добавление: новый параметр document_root в директиве fastcgi_params.
7631 
7632     *) Добавление: директива fastcgi_redirect_errors.
7633 
7634     *) Добавление: новый модификатор break в директиве rewrite позволяет
7635        прекратить цикл rewrite/location и устанавливает текущую конфигурацию
7636        для запроса.
7637 
7638 
7639 Изменения в nginx 0.1.17                                          03.02.2005
7640 
7641     *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
7642        можно делать редиректы, возвращать коды ошибок и проверять переменные
7643        и рефереры. Эти директивы можно использовать внутри location.
7644        Директива redirect упразднена.
7645 
7646     *) Добавление: модуль ngx_http_geo_module.
7647 
7648     *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
7649 
7650     *) Исправление: конфигурация location с модификатором "=" могла
7651        использоваться в другом location.
7652 
7653     *) Исправление: правильный тип ответа выставлялся только для запросов, у
7654        которых в расширении были только маленькие буквы.
7655 
7656     *) Исправление: если для location установлен proxy_pass или
7657        fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
7658        на статическую страницу, то происходил segmentation fault.
7659 
7660     *) Исправление: если в проксированном ответе в заголовке "Location"
7661        передавался относительный URL, то к нему добавлялось имя хоста и
7662        слэш; ошибка появилась в 0.1.14.
7663 
7664     *) Исправление: на Linux в лог не записывался текст системной ошибки.
7665 
7666 
7667 Изменения в nginx 0.1.16                                          25.01.2005
7668 
7669     *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
7670        выдавался завершающий chunk.
7671 
7672     *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
7673        директива keepalive_timeout запрещала использование keep-alive.
7674 
7675     *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
7676        segmentation fault.
7677 
7678     *) Исправление: при использовании SSL сжатый ответ мог передаваться не
7679        до конца.
7680 
7681     *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
7682        для TCP сокетов, не используются для unix domain сокетов.
7683 
7684     *) Добавление: директива rewrite поддерживает перезаписывание
7685        аргументов.
7686 
7687     *) Исправление: на запрос POST с заголовком "Content-Length: 0"
7688        возвращался ответ 400; ошибка появилась в 0.1.14.
7689 
7690 
7691 Изменения в nginx 0.1.15                                          19.01.2005
7692 
7693     *) Исправление: ошибка соединения с FastCGI-сервером вызывала
7694        segmentation fault.
7695 
7696     *) Исправление: корректная обработка регулярного выражения, в котором
7697        число выделенных частей не совпадает с числом подстановок.
7698 
7699     *) Добавление: location, который передаётся FastCGI-серверу, может быть
7700        задан с помощью регулярного выражения.
7701 
7702     *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
7703        аргументами и в том виде, в котором был получен от клиента.
7704 
7705     *) Исправление: для использования регулярных выражений в location нужно
7706        было собирать nginx вместе с ngx_http_rewrite_module.
7707 
7708     *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
7709        директивы "proxy_preserve_host on" в заголовке "Host" указывался
7710        также порт 80; ошибка появилась в 0.1.14.
7711 
7712     *) Исправление: если задать одинаковые пути в параметрах
7713        автоконфигурации --http-client-body-temp-path=PATH и
7714        --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
7715        --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
7716 
7717 
7718 Изменения в nginx 0.1.14                                          18.01.2005
7719 
7720     *) Добавление: параметры автоконфигурации
7721        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
7722        --http-fastcgi-temp-path=PATH
7723 
7724     *) Изменение: имя каталога с временными файлами, содержащие тело запроса
7725        клиента, задаётся директивой client_body_temp_path, по умолчанию
7726        <prefix>/client_body_temp.
7727 
7728     *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
7729        fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
7730        fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
7731        fastcgi_header_buffer_size, fastcgi_buffers,
7732        fastcgi_busy_buffers_size, fastcgi_temp_path,
7733        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
7734        fastcgi_next_upstream и fastcgi_x_powered_by.
7735 
7736     *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
7737        0.1.3.
7738 
7739     *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
7740        после имени хоста.
7741 
7742     *) Изменение: если в URI встречался символ %3F, то он считался началом
7743        строки аргументов.
7744 
7745     *) Добавление: поддержка unix domain сокетов в модуле
7746        ngx_http_proxy_module.
7747 
7748     *) Добавление: директивы ssl_engine и ssl_ciphers.
7749        Спасибо Сергею Скворцову за SSL-акселератор.
7750 
7751 
7752 Изменения в nginx 0.1.13                                          21.12.2004
7753 
7754     *) Добавление: директивы server_names_hash и
7755        server_names_hash_threshold.
7756 
7757     *) Исправление: имена *.domain.tld в директиве server_name не работали.
7758 
7759     *) Исправление: параметр лога %request_length записывал неверную длину.
7760 
7761 
7762 Изменения в nginx 0.1.12                                          06.12.2004
7763 
7764     *) Добавление: параметр лога %request_length.
7765 
7766     *) Исправление: при использовании /dev/poll, select и poll на
7767        платформах, где возможны ложные срабатывания указанных методов, могли
7768        быть длительные задержки при обработке запроса по keep-alive
7769        соединению. Наблюдалось по крайней мере на Solaris с использованием
7770        /dev/poll.
7771 
7772     *) Исправление: директива send_lowat игнорируется на Linux, так как
7773        Linux не поддерживает опцию SO_SNDLOWAT.
7774 
7775 
7776 Изменения в nginx 0.1.11                                          02.12.2004
7777 
7778     *) Добавление: директива worker_priority.
7779 
7780     *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
7781        влияют на передачу ответа.
7782 
7783     *) Исправление: nginx не вызывал initgroups().
7784        Спасибо Андрею Ситникову и Андрею Нигматулину.
7785 
7786     *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
7787        байтах.
7788 
7789     *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
7790        каталоге есть битый symlink.
7791 
7792     *) Исправление: файлы больше 4G не передавались с использованием
7793        sendfile.
7794 
7795     *) Исправление: если бэкенд резолвился в несколько адресов и при
7796        ожидании от него ответа происходила ошибка, то процесс зацикливался.
7797 
7798     *) Исправление: при использовании метода /dev/poll рабочий процесс мог
7799        завершиться с сообщением "unknown cycle".
7800 
7801     *) Исправление: ошибки "close() channel failed".
7802 
7803     *) Исправление: автоматическое определение групп nobody и nogroup.
7804 
7805     *) Исправление: директива send_lowat не работала на Linux.
7806 
7807     *) Исправление: если в конфигурации не было раздела events, то
7808        происходил segmentation fault.
7809 
7810     *) Исправление: nginx не собирался под OpenBSD.
7811 
7812     *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
7813 
7814 
7815 Изменения в nginx 0.1.10                                          26.11.2004
7816 
7817     *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
7818        или "%XX", то терялся последний символ в строке запроса; ошибка
7819        появилась в 0.1.9.
7820 
7821     *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
7822        не работало.
7823 
7824 
7825 Изменения в nginx 0.1.9                                           25.11.2004
7826 
7827     *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
7828        проксируемый запрос передавался без аргументов.
7829 
7830     *) Исправление: при сжатии больших ответов иногда они передавались не
7831        полностью.
7832 
7833     *) Исправление: не передавались файлы больше 2G на Linux,
7834        неподдерживающем sendfile64().
7835 
7836     *) Исправление: на Linux при конфигурации сборки нужно было обязательно
7837        использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
7838 
7839 
7840 Изменения в nginx 0.1.8                                           20.11.2004
7841 
7842     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7843        длинных имён файлов.
7844 
7845     *) Добавление: модификатор "^~" в директиве location.
7846 
7847     *) Добавление: директива proxy_max_temp_file_size.
7848 
7849 
7850 Изменения в nginx 0.1.7                                           12.11.2004
7851 
7852     *) Исправление: при использовании sendfile, если передаваемый файл
7853        менялся, то мог произойти segmentation fault на FreeBSD; ошибка
7854        появилась в 0.1.5.
7855 
7856 
7857 Изменения в nginx 0.1.6                                           11.11.2004
7858 
7859     *) Исправление: при некоторых комбинациях директив location c
7860        регулярными выражениями использовалась конфигурация не из того
7861        location.
7862 
7863 
7864 Изменения в nginx 0.1.5                                           11.11.2004
7865 
7866     *) Исправление: на Solaris и Linux могло быть очень много сообщений
7867        "recvmsg() returned not enough data".
7868 
7869     *) Исправление: в режиме прокси без использования sendfile на Solaris
7870        возникала ошибка "writev() failed (22: Invalid argument)". На других
7871        платформах, не поддерживающих sendfile, процесс зацикливался.
7872 
7873     *) Исправление: при использовании sendfile в режиме прокси на Solaris
7874        возникал segmentation fault.
7875 
7876     *) Исправление: segmentation fault на Solaris.
7877 
7878     *) Исправление: обновление исполняемого файла на лету не работало на
7879        Linux.
7880 
7881     *) Исправление: в списке файлов, выдаваемом модулем
7882        ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
7883        знаки процента.
7884 
7885     *) Изменение: уменьшение операций копирования.
7886 
7887     *) Добавление: директива userid_p3p.
7888 
7889 
7890 Изменения в nginx 0.1.4                                           26.10.2004
7891 
7892     *) Исправление: ошибка в модуле ngx_http_autoindex_module.
7893 
7894 
7895 Изменения в nginx 0.1.3                                           25.10.2004
7896 
7897     *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
7898 
7899     *) Добавление: директива proxy_set_x_url.
7900 
7901     *) Исправление: модуль проксировании мог привести к зацикливанию, если
7902        не использовался sendfile.
7903 
7904 
7905 Изменения в nginx 0.1.2                                           21.10.2004
7906 
7907     *) Добавление: параметры --user=USER, --group=GROUP и
7908        --with-ld-opt=OPTIONS в configure.
7909 
7910     *) Добавление: директива server_name поддерживает *.domain.tld.
7911 
7912     *) Исправление: улучшена переносимость на неизвестные платформы.
7913 
7914     *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
7915        файл указан в командной строке; ошибка появилась в 0.1.1.
7916 
7917     *) Исправление: модуль проксировании мог привести к зацикливанию, если
7918        не использовался sendfile.
7919 
7920     *) Исправление: при использовании sendfile текст ответа не
7921        перекодировался согласно директивам модуля charset; ошибка появилась
7922        в 0.1.1.
7923 
7924     *) Исправление: очень редкая ошибка при обработке kqueue.
7925 
7926     *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
7927        проксировании.
7928 
7929 
7930 Изменения в nginx 0.1.1                                           11.10.2004
7931 
7932     *) Добавление: директива gzip_types.
7933 
7934     *) Добавление: директива tcp_nodelay.
7935 
7936     *) Добавление: директива send_lowat работает не только на платформах,
7937        поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
7938        SO_SNDLOWAT.
7939 
7940     *) Добавление: эмуляция setproctitle() для Linux и Solaris.
7941 
7942     *) Исправление: ошибка при переписывании заголовка "Location" при
7943        проксировании.
7944 
7945     *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
7946        зацикливанию.
7947 
7948     *) Исправление: ошибки в модуле /dev/poll.
7949 
7950     *) Исправление: при проксировании и использовании временных файлов
7951        ответы портились.
7952 
7953     *) Исправление: бэкенду передавались запросы с неперекодированными
7954        символами.
7955 
7956     *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
7957        обязательно использовать параметр --with-poll_module.
7958 
7959 
7960 Изменения в nginx 0.1.0                                           04.10.2004
7961 
7962     *) Первая публично доступная версия.
7963