Back to home page

Nginx cross reference

 
 

    


0001 
0002 Изменения в nginx 1.5.0                                           07.05.2013
0003 
0004     *) Безопасность: при обработке специально созданного запроса мог
0005        перезаписываться стек рабочего процесса, что могло приводить к
0006        выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
0007        1.3.9.
0008        Спасибо Greg MacManus, iSIGHT Partners Labs.
0009 
0010 
0011 Изменения в nginx 1.4.0                                           24.04.2013
0012 
0013     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
0014        использовался параметр --with-openssl; ошибка появилась в 1.3.16.
0015 
0016     *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
0017        ошибка появилась в 1.3.9.
0018 
0019 
0020 Изменения в nginx 1.3.16                                          16.04.2013
0021 
0022     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0023        если использовались подзапросы; ошибка появилась в 1.3.9.
0024 
0025     *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
0026        WebSocket-соединений в unix domain сокет.
0027 
0028     *) Исправление: переменная $upstream_response_length возвращала значение
0029        "0", если не использовалась буферизация.
0030        Спасибо Piotr Sikora.
0031 
0032     *) Исправление: в методах обработки соединений eventport и /dev/poll.
0033 
0034 
0035 Изменения в nginx 1.3.15                                          26.03.2013
0036 
0037     *) Изменение: открытие и закрытие соединения без отправки в нём
0038        каких-либо данных больше не записывается в access_log с кодом ошибки
0039        400.
0040 
0041     *) Добавление: модуль ngx_http_spdy_module.
0042        Спасибо Automattic за спонсирование разработки.
0043 
0044     *) Добавление: директивы limit_req_status и limit_conn_status.
0045        Спасибо Nick Marden.
0046 
0047     *) Добавление: директива image_filter_interlace.
0048        Спасибо Ивану Боброву.
0049 
0050     *) Добавление: переменная $connections_waiting в модуле
0051        ngx_http_stub_status_module.
0052 
0053     *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
0054 
0055     *) Исправление: при повторной отправке запроса на бэкенд тело запроса
0056        могло передаваться неправильно; ошибка появилась в 1.3.9.
0057        Спасибо Piotr Sikora.
0058 
0059     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
0060        1.3.9.
0061 
0062     *) Исправление: ответы могли зависать, если использовались подзапросы и
0063        при обработке подзапроса происходила DNS-ошибка.
0064        Спасибо Lanshun Zhou.
0065 
0066     *) Исправление: в процедуре учёта использования бэкендов.
0067 
0068 
0069 Изменения в nginx 1.3.14                                          05.03.2013
0070 
0071     *) Добавление: переменные $connections_active, $connections_reading и
0072        $connections_writing в модуле ngx_http_stub_status_module.
0073 
0074     *) Добавление: поддержка WebSocket-соединений в модулях
0075        ngx_http_uwsgi_module и ngx_http_scgi_module.
0076 
0077     *) Исправление: в обработке виртуальных серверов при использовании SNI.
0078 
0079     *) Исправление: при использовании директивы "ssl_session_cache shared"
0080        новые сессии могли не сохраняться, если заканчивалось место в
0081        разделяемой памяти.
0082        Спасибо Piotr Sikora.
0083 
0084     *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
0085        неправильно.
0086        Спасибо Neal Poole за спонсирование разработки.
0087 
0088     *) Исправление: в модуле ngx_http_mp4_module.
0089        Спасибо Gernot Vormayr.
0090 
0091 
0092 Изменения в nginx 1.3.13                                          19.02.2013
0093 
0094     *) Изменение: теперь для сборки по умолчанию используется компилятор с
0095        именем "cc".
0096 
0097     *) Добавление: поддержка проксирования WebSocket-соединений.
0098        Спасибо Apcera и CloudBees за спонсирование разработки.
0099 
0100     *) Добавление: директива auth_basic_user_file поддерживает шифрование
0101        паролей методом "{SHA}".
0102        Спасибо Louis Opter.
0103 
0104 
0105 Изменения в nginx 1.3.12                                          05.02.2013
0106 
0107     *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
0108        scgi_bind и uwsgi_bind поддерживают переменные.
0109 
0110     *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
0111        $time_local теперь можно использовать не только в директиве
0112        log_format.
0113        Спасибо Kiril Kalchev.
0114 
0115     *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
0116        Спасибо Gregor Kališnik.
0117 
0118     *) Исправление: директива proxy_method работала неверно, если была
0119        указана на уровне http.
0120 
0121     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0122        если использовался resolver и метод poll.
0123 
0124     *) Исправление: nginx мог нагружать процессор во время SSL handshake с
0125        бэкендом при использовании методов обработки соединений select, poll
0126        и /dev/poll.
0127 
0128     *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
0129 
0130     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
0131        1.3.9.
0132 
0133     *) Исправление: в директиве fastcgi_keep_conn.
0134 
0135 
0136 Изменения в nginx 1.3.11                                          10.01.2013
0137 
0138     *) Исправление: при записи в лог мог происходить segmentation fault;
0139        ошибка появилась в 1.3.10.
0140 
0141     *) Исправление: директива proxy_pass не работала с IP-адресами без
0142        явного указания порта; ошибка появилась в 1.3.10.
0143 
0144     *) Исправление: на старте или во время переконфигурации происходил
0145        segmentation fault, если директива keepalive была указана несколько
0146        раз в одном блоке upstream.
0147 
0148     *) Исправление: параметр default директивы geo не определял значение по
0149        умолчанию для IPv6-адресов.
0150 
0151 
0152 Изменения в nginx 1.3.10                                          25.12.2012
0153 
0154     *) Изменение: для указанных в конфигурационном файле доменных имён
0155        теперь используются не только IPv4, но и IPv6 адреса.
0156 
0157     *) Изменение: теперь при использовании директивы include с маской на
0158        Unix-системах включаемые файлы сортируются в алфавитном порядке.
0159 
0160     *) Изменение: директива add_header добавляет строки в ответы с кодом
0161        201.
0162 
0163     *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
0164        CIDR.
0165 
0166     *) Добавление: параметры flush и gzip в директиве access_log.
0167 
0168     *) Добавление: директива auth_basic поддерживает переменные.
0169 
0170     *) Исправление: nginx в некоторых случаях не собирался с модулем
0171        ngx_http_perl_module.
0172 
0173     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0174        если использовался модуль ngx_http_xslt_module.
0175 
0176     *) Исправление: nginx мог не собираться на MacOSX.
0177        Спасибо Piotr Sikora.
0178 
0179     *) Исправление: при использовании директивы limit_rate с большими
0180        значениями скорости на 32-битных системах ответ мог возвращаться не
0181        целиком.
0182        Спасибо Алексею Антропову.
0183 
0184     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0185        если использовалась директива if.
0186        Спасибо Piotr Sikora.
0187 
0188     *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
0189        Request Entity Too Large".
0190 
0191     *) Исправление: директивы image_filter, image_filter_jpeg_quality и
0192        image_filter_sharpen могли наследоваться некорректно.
0193        Спасибо Ивану Боброву.
0194 
0195     *) Исправление: при использовании директивы auth_basic под Linux могли
0196        возникать ошибки "crypt_r() failed".
0197 
0198     *) Исправление: в обработке backup-серверов.
0199        Спасибо Thomas Chen.
0200 
0201     *) Исправление: при проксировании HEAD-запросов мог возвращаться
0202        некорректный ответ, если использовалась директива gzip.
0203 
0204 
0205 Изменения в nginx 1.3.9                                           27.11.2012
0206 
0207     *) Добавление: поддержка chunked transfer encoding при получении тела
0208        запроса.
0209 
0210     *) Добавление: переменные $request_time и $msec теперь можно
0211        использовать не только в директиве log_format.
0212 
0213     *) Исправление: cache manager и cache loader могли не запускаться, если
0214        использовалось более 512 listen-сокетов.
0215 
0216     *) Исправление: в модуле ngx_http_dav_module.
0217 
0218 
0219 Изменения в nginx 1.3.8                                           30.10.2012
0220 
0221     *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
0222        Спасибо Михаилу Казанцеву и Eric O'Connor.
0223 
0224     *) Добавление: переменные $bytes_sent, $connection и
0225        $connection_requests теперь можно использовать не только в директиве
0226        log_format.
0227        Спасибо Benjamin Grössing.
0228 
0229     *) Добавление: параметр auto директивы worker_processes.
0230 
0231     *) Исправление: сообщения "cache file ... has md5 collision".
0232 
0233     *) Исправление: в модуле ngx_http_gunzip_filter_module.
0234 
0235     *) Исправление: в директиве ssl_stapling.
0236 
0237 
0238 Изменения в nginx 1.3.7                                           02.10.2012
0239 
0240     *) Добавление: поддержка OCSP stapling.
0241        Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
0242 
0243     *) Добавление: директива ssl_trusted_certificate.
0244 
0245     *) Добавление: теперь resolver случайным образом меняет порядок
0246        возвращаемых закэшированных адресов.
0247        Спасибо Антону Жулину.
0248 
0249     *) Исправление: совместимость с OpenSSL 0.9.7.
0250 
0251 
0252 Изменения в nginx 1.3.6                                           12.09.2012
0253 
0254     *) Добавление: модуль ngx_http_gunzip_filter_module.
0255 
0256     *) Добавление: директива memcached_gzip_flag.
0257 
0258     *) Добавление: параметр always директивы gzip_static.
0259 
0260     *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
0261        Спасибо Charles Chen.
0262 
0263     *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
0264        использовался параметр --with-ipv6.
0265 
0266 
0267 Изменения в nginx 1.3.5                                           21.08.2012
0268 
0269     *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
0270        дорожки в форматах, отличных от H.264 и AAC.
0271 
0272     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0273        если в директиве map в качестве значений использовались переменные.
0274 
0275     *) Исправление: в рабочем процессе мог произойти segmentation fault при
0276        использовании директивы geo с параметром ranges, но без параметра
0277        default; ошибка появилась в 0.8.43.
0278        Спасибо Zhen Chen и Weibin Yao.
0279 
0280     *) Исправление: в обработке параметра командной строки -p.
0281 
0282     *) Исправление: в почтовом прокси-сервере.
0283 
0284     *) Исправление: незначительных потенциальных ошибок.
0285        Спасибо Coverity.
0286 
0287     *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
0288        Спасибо HAYASHI Kentaro.
0289 
0290 
0291 Изменения в nginx 1.3.4                                           31.07.2012
0292 
0293     *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
0294        по умолчанию.
0295 
0296     *) Добавление: поддержка компилятора Clang.
0297 
0298     *) Исправление: могли создаваться лишние слушающие сокеты.
0299        Спасибо Роману Одайскому.
0300 
0301     *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
0302        рабочего процесса происходила ошибка.
0303        Спасибо Ricardo Villalobos Guevara.
0304 
0305     *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
0306        scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
0307        fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
0308        наследоваться некорректно.
0309 
0310 
0311 Изменения в nginx 1.3.3                                           10.07.2012
0312 
0313     *) Добавление: поддержка entity tags и директива etag.
0314 
0315     *) Исправление: при использовании директивы map с параметром hostnames
0316        не игнорировалась конечная точка в исходном значении.
0317 
0318     *) Исправление: для обработки запроса мог использоваться неверный
0319        location, если переход в именованный location происходил после
0320        изменения URI с помощью директивы rewrite.
0321 
0322 
0323 Изменения в nginx 1.3.2                                           26.06.2012
0324 
0325     *) Изменение: параметр single директивы keepalive теперь игнорируется.
0326 
0327     *) Изменение: сжатие SSL теперь отключено в том числе при использовании
0328        OpenSSL cтарее 1.0.0.
0329 
0330     *) Добавление: директиву "ip_hash" теперь можно использовать для
0331        балансировки IPv6 клиентов.
0332 
0333     *) Добавление: переменную $status теперь можно использовать не только в
0334        директиве log_format.
0335 
0336     *) Исправление: при завершении рабочего процесса мог произойти
0337        segmentation fault, если использовалась директива resolver.
0338 
0339     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0340        если использовался модуль ngx_http_mp4_module.
0341 
0342     *) Исправление: в модуле ngx_http_mp4_module.
0343 
0344     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0345        если использовались конфликтующие имена серверов с масками.
0346 
0347     *) Исправление: на платформе ARM nginx мог аварийно завершаться по
0348        сигналу SIGBUS.
0349 
0350     *) Исправление: во время переконфигурации на HP-UX в лог записывался
0351        alert "sendmsg() failed (9: Bad file number)".
0352 
0353 
0354 Изменения в nginx 1.3.1                                           05.06.2012
0355 
0356     *) Безопасность: теперь nginx/Windows игнорирует точку в конце
0357        компонента URI и не разрешает URI, содержащие последовательность
0358        ":$".
0359        Спасибо Владимиру Кочеткову, Positive Research Center.
0360 
0361     *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
0362        и директива server в блоке upstream теперь поддерживают IPv6-адреса.
0363 
0364     *) Добавление: в директиве resolver теперь можно указывать порт и
0365        задавать IPv6-адреса DNS-серверов.
0366 
0367     *) Добавление: директива least_conn в блоке upstream.
0368 
0369     *) Добавление: при использовании директивы ip_hash теперь можно задавать
0370        веса серверов.
0371 
0372     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0373        если использовалась директива image_filter; ошибка появилась в 1.3.0.
0374 
0375     *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
0376        появилась в 1.1.12.
0377 
0378     *) Исправление: доступ к переменным из SSI и встроенного перла мог не
0379        работать после переконфигурации.
0380        Спасибо Yichun Zhang.
0381 
0382     *) Исправление: в модуле ngx_http_xslt_filter_module.
0383        Спасибо Kuramoto Eiji.
0384 
0385     *) Исправление: утечки памяти при использовании переменной $geoip_org.
0386        Спасибо Денису Латыпову.
0387 
0388     *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
0389 
0390 
0391 Изменения в nginx 1.3.0                                           15.05.2012
0392 
0393     *) Добавление: директива debug_connection теперь поддерживает
0394        IPv6-адреса и параметр "unix:".
0395 
0396     *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
0397        теперь поддерживают IPv6-адреса.
0398 
0399     *) Добавление: директивы real_ip_recursive, geoip_proxy и
0400        geoip_proxy_recursive.
0401 
0402     *) Добавление: параметр proxy_recursive директивы geo.
0403 
0404     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0405        если использовалась директива resolver.
0406 
0407     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0408        если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
0409        и бэкенд возвращал некорректный ответ.
0410 
0411     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0412        если использовалась директива rewrite и в новых аргументах запроса в
0413        строке замены использовались переменные.
0414 
0415     *) Исправление: nginx мог нагружать процессор, если было достигнуто
0416        ограничение на количество открытых файлов.
0417 
0418     *) Исправление: при использовании директивы proxy_next_upstream с
0419        параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
0420        блоке upstream был хотя бы один сервер с флагом backup.
0421 
0422     *) Исправление: при использовании директивы ip_hash установка параметра
0423        down директивы server могла приводить к ненужному перераспределению
0424        клиентов между бэкендами.
0425 
0426     *) Исправление: утечки сокетов.
0427        Спасибо Yichun Zhang.
0428 
0429     *) Исправление: в модуле ngx_http_fastcgi_module.
0430 
0431 
0432 Изменения в nginx 1.2.0                                           23.04.2012
0433 
0434     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0435        если использовалась директива try_files; ошибка появилась в 1.1.19.
0436 
0437     *) Исправление: ответ мог быть передан не полностью, если использовалось
0438        больше IOV_MAX буферов.
0439 
0440     *) Исправление: в работе параметра crop директивы image_filter.
0441        Спасибо Maxim Bublis.
0442 
0443 
0444 Изменения в nginx 1.1.19                                          12.04.2012
0445 
0446     *) Безопасность: при обработке специально созданного mp4 файла модулем
0447        ngx_http_mp4_module могли перезаписываться области памяти рабочего
0448        процесса, что могло приводить к выполнению произвольного кода
0449        (CVE-2012-2089).
0450        Спасибо Matthew Daley.
0451 
0452     *) Исправление: nginx/Windows мог завершаться аварийно.
0453        Спасибо Vincent Lee.
0454 
0455     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
0456        были помечены флагом backup.
0457 
0458     *) Исправление: директивы allow и deny могли наследоваться некорректно,
0459        если в них использовались IPv6 адреса.
0460 
0461     *) Исправление: директивы modern_browser и ancient_browser могли
0462        наследоваться некорректно.
0463 
0464     *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
0465 
0466     *) Исправление: в модуле ngx_http_mp4_module.
0467 
0468 
0469 Изменения в nginx 1.1.18                                          28.03.2012
0470 
0471     *) Изменение: теперь keepalive соединения не запрещены для Safari по
0472        умолчанию.
0473 
0474     *) Добавление: переменная $connection_requests.
0475 
0476     *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
0477        $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
0478 
0479     *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
0480 
0481     *) Добавление: директивы xslt_param и xslt_string_param.
0482        Спасибо Samuel Behan.
0483 
0484     *) Исправление: в configure.
0485        Спасибо Piotr Sikora.
0486 
0487     *) Исправление: в модуле ngx_http_xslt_filter_module.
0488 
0489     *) Исправление: nginx не собирался на Debian GNU/Hurd.
0490 
0491 
0492 Изменения в nginx 1.1.17                                          15.03.2012
0493 
0494     *) Безопасность: содержимое ранее освобождённой памяти могло быть
0495        отправлено клиенту, если бэкенд возвращал специально созданный ответ.
0496        Спасибо Matthew Daley.
0497 
0498     *) Исправление: при использовании встроенного перла из SSI.
0499        Спасибо Matthew Daley.
0500 
0501     *) Исправление: в модуле ngx_http_uwsgi_module.
0502 
0503 
0504 Изменения в nginx 1.1.16                                          29.02.2012
0505 
0506     *) Изменение: ограничение на количество одновременных подзапросов
0507        поднято до 200.
0508 
0509     *) Добавление: параметр from в директиве disable_symlinks.
0510 
0511     *) Добавление: директивы return и error_page теперь могут использоваться
0512        для возврата перенаправлений с кодом 307.
0513 
0514     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0515        если использовалась директива resolver и на глобальном уровне не была
0516        задана директива error_log.
0517        Спасибо Роману Арутюняну.
0518 
0519     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0520        если использовались директивы "proxy_http_version 1.1" или
0521        "fastcgi_keep_conn on".
0522 
0523     *) Исправление: утечек памяти.
0524        Спасибо Lanshun Zhou.
0525 
0526     *) Исправление: в директиве disable_symlinks.
0527 
0528     *) Исправление: при использовании ZFS размер кэша на диске мог считаться
0529        некорректно; ошибка появилась в 1.0.1.
0530 
0531     *) Исправление: nginx не собирался компилятором icc 12.1.
0532 
0533     *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
0534        1.1.15.
0535 
0536 
0537 Изменения в nginx 1.1.15                                          15.02.2012
0538 
0539     *) Добавление: директива disable_symlinks.
0540 
0541     *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
0542 
0543     *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
0544        prematurely closed connection" вместо "upstream sent too big header".
0545        Спасибо Feibo Li.
0546 
0547     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
0548        использовался параметр --with-openssl.
0549 
0550     *) Исправление: количество внутренних перенаправлений в именованные
0551        location'ы не ограничивалось.
0552 
0553     *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
0554        ошибкам в модуле ngx_http_gzip_filter_module.
0555 
0556     *) Исправление: при использовании директивы proxy_store с
0557        SSI-подзапросами временные файлы могли не удаляться.
0558 
0559     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
0560        $args) возвращали старое пустое закэшированное значение.
0561 
0562     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0563        если одновременно создавалось слишком много SSI-подзапросов; ошибка
0564        появилась в 0.7.25.
0565 
0566 
0567 Изменения в nginx 1.1.14                                          30.01.2012
0568 
0569     *) Добавление: теперь можно указать несколько ограничений limit_req
0570        одновременно.
0571 
0572     *) Исправление: в обработке ошибок при соединении с бэкендом.
0573        Спасибо Piotr Sikora.
0574 
0575     *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
0576 
0577     *) Исправление: в инициализации библиотеки OpenSSL.
0578 
0579     *) Исправление: директивы proxy_redirect могли наследоваться
0580        некорректно.
0581 
0582     *) Исправление: утечки памяти при переконфигурации, если использовалась
0583        директива pcre_jit.
0584 
0585 
0586 Изменения в nginx 1.1.13                                          16.01.2012
0587 
0588     *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
0589 
0590     *) Исправление: параметры директивы limit_req наследовались некорректно;
0591        ошибка появилась в 1.1.12.
0592 
0593     *) Исправление: директива proxy_redirect некорректно обрабатывала
0594        заголовок Refresh при использовании регулярных выражений.
0595 
0596     *) Исправление: директива proxy_cache_use_stale с параметром error не
0597        возвращала ответ из кэша, если все бэкенды были признаны
0598        неработающими.
0599 
0600     *) Исправление: директива worker_cpu_affinity могла не работать.
0601 
0602     *) Исправление: nginx не собирался на Solaris; ошибка появилась в
0603        1.1.12.
0604 
0605     *) Исправление: в модуле ngx_http_mp4_module.
0606 
0607 
0608 Изменения в nginx 1.1.12                                          26.12.2011
0609 
0610     *) Изменение: после перенаправления запроса с помощью директивы
0611        error_page директива proxy_pass без URI теперь использует изменённый
0612        URI.
0613        Спасибо Lanshun Zhou.
0614 
0615     *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
0616        proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
0617 
0618     *) Добавление: директива pcre_jit.
0619 
0620     *) Добавление: SSI команда if поддерживает выделения в регулярных
0621        выражениях.
0622 
0623     *) Исправление: SSI команда if не работала внутри команды block.
0624 
0625     *) Исправление: директивы limit_conn_log_level и limit_req_log_level
0626        могли не работать.
0627 
0628     *) Исправление: директива limit_rate не позволяла передавать на полной
0629        скорости, даже если был указан очень большой лимит.
0630 
0631     *) Исправление: директива sendfile_max_chunk не работала, если
0632        использовалась директива limit_rate.
0633 
0634     *) Исправление: если в директиве proxy_pass использовались переменные и
0635        не был указан URI, всегда использовался URI исходного запроса.
0636 
0637     *) Исправление: после перенаправления запроса с помощью директивы
0638        try_files директива proxy_pass без URI могла использовать URI
0639        исходного запроса.
0640        Спасибо Lanshun Zhou.
0641 
0642     *) Исправление: в модуле ngx_http_scgi_module.
0643 
0644     *) Исправление: в модуле ngx_http_mp4_module.
0645 
0646     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
0647 
0648 
0649 Изменения в nginx 1.1.11                                          12.12.2011
0650 
0651     *) Добавление: параметр so_keepalive в директиве listen.
0652        Спасибо Всеволоду Стахову.
0653 
0654     *) Добавление: параметр if_not_empty в директивах
0655        fastcgi/scgi/uwsgi_param.
0656 
0657     *) Добавление: переменная $https.
0658 
0659     *) Добавление: директива proxy_redirect поддерживает переменные в первом
0660        параметре.
0661 
0662     *) Добавление: директива proxy_redirect поддерживает регулярные
0663        выражения.
0664 
0665     *) Исправление: переменная $sent_http_cache_control могла содержать
0666        неверное значение при использовании директивы expires.
0667        Спасибо Yichun Zhang.
0668 
0669     *) Исправление: директива read_ahead могла не работать при использовании
0670        совместно с try_files и open_file_cache.
0671 
0672     *) Исправление: если в параметре inactive директивы proxy_cache_path
0673        было указано малое время, в рабочем процессе мог произойти
0674        segmentation fault.
0675 
0676     *) Исправление: ответы из кэша могли зависать.
0677 
0678 
0679 Изменения в nginx 1.1.10                                          30.11.2011
0680 
0681     *) Исправление: при использовании AIO на Linux в рабочем процессе
0682        происходил segmentation fault; ошибка появилась в 1.1.9.
0683 
0684 
0685 Изменения в nginx 1.1.9                                           28.11.2011
0686 
0687     *) Изменение: теперь двойные кавычки экранируется при выводе
0688        SSI-командой echo.
0689        Спасибо Зауру Абасмирзоеву.
0690 
0691     *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
0692        используется TTL, возвращённый DNS-сервером.
0693        Спасибо Кириллу Коринскому.
0694 
0695     *) Исправление: nginx мог перестать отвечать, если рабочий процесс
0696        завершался аварийно.
0697 
0698     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0699        если использовалось SNI; ошибка появилась в 1.1.2.
0700 
0701     *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
0702        Спасибо Александру Усову.
0703 
0704     *) Исправление: сигнал SIGWINCH переставал работать после первого
0705        обновления исполняемого файла; ошибка появилась в 1.1.1.
0706 
0707     *) Исправление: теперь ответы бэкендов, длина которых не соответствует
0708        заголовку Content-Length, не кэширутся.
0709 
0710     *) Исправление: в директиве scgi_param при использовании составных
0711        параметров.
0712 
0713     *) Исправление: в методе epoll.
0714        Спасибо Yichun Zhang.
0715 
0716     *) Исправление: в модуле ngx_http_flv_module.
0717        Спасибо Piotr Sikora.
0718 
0719     *) Исправление: в модуле ngx_http_mp4_module.
0720 
0721     *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
0722        заголовке Host.
0723 
0724     *) Исправление: директивы add_header и expires не работали для ответов с
0725        кодом 206, если запрос проксировался.
0726 
0727     *) Исправление: nginx не собирался на FreeBSD 10.
0728 
0729     *) Исправление: nginx не собирался на AIX.
0730 
0731 
0732 Изменения в nginx 1.1.8                                           14.11.2011
0733 
0734     *) Изменение: модуль ngx_http_limit_zone_module переименован в
0735        ngx_http_limit_conn_module.
0736 
0737     *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
0738        новым синтаксисом.
0739 
0740     *) Добавление: поддержка ограничения по нескольким limit_conn на одном
0741        уровне.
0742 
0743     *) Добавление: директива image_filter_sharpen.
0744 
0745     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0746        если resolver получил большой DNS-ответ.
0747        Спасибо Ben Hawkes.
0748 
0749     *) Исправление: в вычислении ключа для кэширования, если использовалась
0750        внутренняя реализация MD5; ошибка появилась в 1.0.4.
0751 
0752     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
0753        заголовке запроса клиента могли передаваться бэкенду при кэшировании;
0754        или не передаваться при выключенном кэшировании, если кэширование
0755        было включено в другой части конфигурации.
0756 
0757     *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
0758        "Content-Length" в заголовке ответа, использовался аргумент start.
0759        Спасибо Piotr Sikora.
0760 
0761 
0762 Изменения в nginx 1.1.7                                           31.10.2011
0763 
0764     *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
0765        Спасибо Кириллу Коринскому.
0766 
0767     *) Исправление: на старте или во время переконфигурации происходил
0768        segmentation fault, если директива ssl использовалась на уровне http
0769        и не был указан ssl_certificate.
0770 
0771     *) Исправление: уменьшено потребление памяти при проксировании больших
0772        файлов, если они буферизировались на диск.
0773 
0774     *) Исправление: в рабочем процессе мог произойти segmentation fault,
0775        если использовалась директива "proxy_http_version 1.1".
0776 
0777     *) Исправление: в директиве "expires @time".
0778 
0779 
0780 Изменения в nginx 1.1.6                                           17.10.2011
0781 
0782     *) Изменение во внутреннем API: теперь при внутреннем редиректе в
0783        именованный location контексты модулей очищаются.
0784        По запросу Yichun Zhang.
0785 
0786     *) Изменение: теперь если сервер, описанный в блоке upstream, был
0787        признан неработающим, то после истечения fail_timeout на него будет
0788        отправлен только один запрос; сервер будет считаться работающим, если
0789        успешно ответит на этот запрос.
0790 
0791     *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
0792        \xXX.
0793 
0794     *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
0795        теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
0796        X-Accel-Charset.
0797 
0798     *) Добавление: уменьшение потребления памяти при использовании SSL.
0799 
0800     *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
0801        Спасибо Алексею Куцу.
0802 
0803     *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
0804        уровне server, применялись повторно, если для запроса не находилось
0805        ни одного location'а.
0806 
0807     *) Исправление: при использовании "aio sendfile" могла происходить
0808        утечка сокетов.
0809 
0810     *) Исправление: при использовании файлового AIO соединения с быстрыми
0811        клиентами могли быть закрыты по истечению send_timeout.
0812 
0813     *) Исправление: в модуле ngx_http_autoindex_module.
0814 
0815     *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
0816        32-битных платформах.
0817 
0818 
0819 Изменения в nginx 1.1.5                                           05.10.2011
0820 
0821     *) Добавление: директивы uwsgi_buffering и scgi_buffering.
0822        Спасибо Peter Smit.
0823 
0824     *) Исправление: при использовании proxy_cache_bypass могли быть
0825        закэшированы некэшируемые ответы.
0826        Спасибо John Ferlito.
0827 
0828     *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
0829        HTTP/1.1.
0830 
0831     *) Исправление: закэшированные ответы с пустым телом возвращались
0832        некорректно; ошибка появилась в 0.8.31.
0833 
0834     *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
0835        некорректны; ошибка появилась в 0.8.32.
0836 
0837     *) Исправление: в директиве return.
0838 
0839     *) Исправление: при использовании директивы "ssl_session_cache builtin"
0840        происходил segmentation fault; ошибка появилась в 1.1.1.
0841 
0842 
0843 Изменения в nginx 1.1.4                                           20.09.2011
0844 
0845     *) Добавление: модуль ngx_http_upstream_keepalive.
0846 
0847     *) Добавление: директива proxy_http_version.
0848 
0849     *) Добавление: директива fastcgi_keep_conn.
0850 
0851     *) Добавление: директива worker_aio_requests.
0852 
0853     *) Исправление: если nginx был собран с файловым AIO, он не мог
0854        запускаться на Linux без поддержки AIO.
0855 
0856     *) Исправление: в обработке ошибок при работе с Linux AIO.
0857        Спасибо Hagai Avrahami.
0858 
0859     *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
0860 
0861     *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
0862        MP4-атом co64.
0863 
0864 
0865 Изменения в nginx 1.1.3                                           14.09.2011
0866 
0867     *) Добавление: модуль ngx_http_mp4_module.
0868 
0869     *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
0870 
0871     *) Исправление: open_file_cache не обновлял информацию о файле, если
0872        файл был изменён не атомарно.
0873 
0874     *) Исправление: nginx не собирался на MacOSX 10.7.
0875 
0876 
0877 Изменения в nginx 1.1.2                                           05.09.2011
0878 
0879     *) Изменение: теперь, если суммарный размер всех диапазонов больше
0880        размера исходного ответа, то nginx возвращает только исходный ответ,
0881        не обрабатывая диапазоны.
0882 
0883     *) Добавление: директива max_ranges.
0884 
0885     *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
0886        ssl_prefer_server_cipher могли работать некорректно, если
0887        использовался SNI.
0888 
0889     *) Исправление: в директивах proxy/fastcgi/scgi/
0890        uwsgi_ignore_client_abort.
0891 
0892 
0893 Изменения в nginx 1.1.1                                           22.08.2011
0894 
0895     *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
0896        число файлов, указанное в параметре load_files, либо работает не
0897        дольше времени, указанного в параметре loader_threshold.
0898 
0899     *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
0900 
0901     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
0902        на Solaris.
0903        Спасибо Денису Иванову.
0904 
0905     *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
0906 
0907     *) Исправление: nginx не собирался на Linux 3.0.
0908 
0909     *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
0910        появилась в 1.1.0.
0911 
0912     *) Исправление: обработка тела запроса могла быть неверной, если клиент
0913        использовал pipelining.
0914 
0915     *) Исправление: в директиве request_body_in_single_buf.
0916 
0917     *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
0918        при использовании SSL-соединения с бэкендом.
0919 
0920     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
0921        были помечены флагом down.
0922 
0923     *) Исправление: при переконфигурации мог произойти segmentation fault,
0924        если в предыдущей конфигурации был определён, но не использовался
0925        ssl_session_cache.
0926 
0927     *) Исправление: при использовании большого количества backup-серверов в
0928        рабочем процессе мог произойти segmentation fault.
0929 
0930     *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
0931        значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
0932        произойти segmentation fault; ошибка появилась в 0.8.40.
0933 
0934 
0935 Изменения в nginx 1.1.0                                           01.08.2011
0936 
0937     *) Добавление: уменьшение времени работы загрузчика кэша.
0938 
0939     *) Добавление: параметры loader_files, loader_sleep и loader_threshold
0940        директив proxy/fastcgi/scgi/uwsgi_cache_path.
0941 
0942     *) Добавление: уменьшение времени загрузки конфигураций с большим
0943        количеством HTTPS серверов.
0944 
0945     *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
0946        Спасибо Adrian Kotelba.
0947 
0948     *) Добавление: директива lingering_close.
0949        Спасибо Максиму Дунину.
0950 
0951     *) Исправление: закрытия соединения для pipelined-запросов.
0952        Спасибо Максиму Дунину.
0953 
0954     *) Исправление: nginx не запрещал сжатие при получении значения
0955        "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
0956 
0957     *) Исправление: таймаута при небуферизированном проксировании.
0958        Спасибо Максиму Дунину.
0959 
0960     *) Исправление: утечки памяти при использовании переменных в директиве
0961        proxy_pass при работе с бэкендом по HTTPS.
0962        Спасибо Максиму Дунину.
0963 
0964     *) Исправление: в проверке параметра директивы proxy_pass, заданного
0965        переменными.
0966        Спасибо Lanshun Zhou.
0967 
0968     *) Исправление: SSL не работал на QNX.
0969        Спасибо Максиму Дунину.
0970 
0971     *) Исправление: SSL модули не собирались gcc 4.6 без параметра
0972        --with-debug.
0973 
0974 
0975 Изменения в nginx 1.0.5                                           19.07.2011
0976 
0977     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
0978        "HIGH:!aNULL:!MD5".
0979        Спасибо Rob Stradling.
0980 
0981     *) Добавление: директивы referer_hash_max_size и
0982        referer_hash_bucket_size.
0983        Спасибо Witold Filipczyk.
0984 
0985     *) Добавление: переменная $uid_reset.
0986 
0987     *) Исправление: при использовании кэширования в рабочем процессе мог
0988        произойти segmentation fault.
0989        Спасибо Lanshun Zhou.
0990 
0991     *) Исправление: при использовании кэширования рабочие процессы могли
0992        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
0993        Спасибо Максиму Дунину.
0994 
0995     *) Исправление: сообщения "stalled cache updating".
0996        Спасибо Максиму Дунину.
0997 
0998 
0999 Изменения в nginx 1.0.4                                           01.06.2011
1000 
1001     *) Изменение: теперь в регулярных выражениях в директиве map можно
1002        задать чувствительность к регистру с помощью префиксов "~" и "~*".
1003 
1004     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
1005        на Linux.
1006        Спасибо Денису Латыпову.
1007 
1008     *) Исправление: сообщения "stalled cache updating".
1009 
1010     *) Исправление: nginx не собирался с параметром
1011        --without-http_auth_basic_module; ошибка появилась в 1.0.3.
1012 
1013 
1014 Изменения в nginx 1.0.3                                           25.05.2011
1015 
1016     *) Добавление: директива auth_basic_user_file поддерживает шифрование
1017        пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
1018        Спасибо Максиму Дунину.
1019 
1020     *) Добавление: директива geoip_org и переменная $geoip_org.
1021        Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
1022 
1023     *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
1024        поддерживают адреса IPv4, отображённые на IPv6 адреса.
1025 
1026     *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
1027        рабочем процессе происходил segmentation fault, если директивы access
1028        или deny были определены только для адресов IPv6; ошибка появилась в
1029        0.8.22.
1030 
1031     *) Исправление: закэшированный ответ мог быть испорчен, если значения
1032        директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
1033        uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
1034 
1035 
1036 Изменения в nginx 1.0.2                                           10.05.2011
1037 
1038     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
1039 
1040     *) Исправление: в работе параметра rotate директивы image_filter.
1041        Спасибо Adam Bocim.
1042 
1043     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
1044 
1045 
1046 Изменения в nginx 1.0.1                                           03.05.2011
1047 
1048     *) Изменение: теперь директива split_clients использует алгоритм
1049        MurmurHash2 из-за лучшего распределения.
1050        Спасибо Олегу Мамонтову.
1051 
1052     *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
1053        ложными значениями.
1054        Спасибо Максиму Дунину.
1055 
1056     *) Изменение: теперь по умолчанию nginx использует значение 511 для
1057        listen backlog на Linux.
1058 
1059     *) Добавление: переменные $upstream_... можно использовать в SSI и
1060        перловом модулях.
1061 
1062     *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
1063        Спасибо Олегу Мамонтову.
1064 
1065     *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
1066        segmentation fault; ошибка появилась в 0.8.22.
1067        Спасибо Максиму Дунину.
1068 
1069     *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
1070 
1071     *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
1072        появилась в 0.9.3.
1073        Спасибо Dagobert Michelsen.
1074 
1075     *) Исправление: переменная $request_time имела неверные значения, если
1076        использовались подзапросы; ошибка появилась в 0.8.47.
1077        Спасибо Игорю А. Валькову.
1078 
1079 
1080 Изменения в nginx 1.0.0                                           12.04.2011
1081 
1082     *) Исправление: cache manager мог нагружать процессор после
1083        переконфигурации.
1084        Спасибо Максиму Дунину.
1085 
1086     *) Исправление: директива "image_filter crop" неправильно работала в
1087        сочетании с "image_filter rotate 180".
1088 
1089     *) Исправление: директива "satisfy any" запрещала выдачу
1090        пользовательской страницы для 401 кода.
1091 
1092 
1093 Изменения в nginx 0.9.7                                           04.04.2011
1094 
1095     *) Добавление: теперь соединения в состоянии keepalive могут быть
1096        закрыты преждевременно, если у воркера нет свободных соединений.
1097        Спасибо Максиму Дунину.
1098 
1099     *) Добавление: параметр rotate директивы image_filter.
1100        Спасибо Adam Bocim.
1101 
1102     *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
1103        scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
1104        upstream.
1105 
1106 
1107 Изменения в nginx 0.9.6                                           21.03.2011
1108 
1109     *) Добавление: директива map поддерживает регулярные выражения в
1110        качестве значения первого параметра.
1111 
1112     *) Добавление: переменная $time_iso8601 для access_log.
1113        Спасибо Michael Lustfield.
1114 
1115 
1116 Изменения в nginx 0.9.5                                           21.02.2011
1117 
1118     *) Изменение: теперь по умолчанию nginx использует значение -1 для
1119        listen backlog на Linux.
1120        Спасибо Андрею Нигматулину.
1121 
1122     *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
1123        Спасибо Денису Латыпову.
1124 
1125     *) Исправление: исправление в умолчательной директиве proxy_redirect,
1126        если в директиве proxy_pass не был описан URI.
1127        Спасибо Максиму Дунину.
1128 
1129     *) Исправление: директива error_page не работала с нестандартными кодами
1130        ошибок; ошибка появилась в 0.8.53.
1131        Спасибо Максиму Дунину.
1132 
1133 
1134 Изменения в nginx 0.9.4                                           21.01.2011
1135 
1136     *) Добавление: директива server_name поддерживает переменную $hostname.
1137 
1138     *) Добавление: 494 код для ошибки "Request Header Too Large".
1139 
1140 
1141 Изменения в nginx 0.9.3                                           13.12.2010
1142 
1143     *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
1144        то выделения в регулярных выражениях в директиве server_name не
1145        работали.
1146 
1147     *) Исправление: nginx не собирался под Solaris; ошибка появилась в
1148        0.9.0.
1149 
1150 
1151 Изменения в nginx 0.9.2                                           06.12.2010
1152 
1153     *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
1154        запросе клиента.
1155 
1156     *) Изменение: использование accept(), если accept4() не реализован;
1157        ошибка появилась в 0.9.0.
1158 
1159     *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
1160 
1161     *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
1162        Спасибо Максиму Дунину.
1163 
1164 
1165 Изменения в nginx 0.9.1                                           30.11.2010
1166 
1167     *) Исправление: директивы вида "return CODE message" не работали; ошибка
1168        появилась в 0.9.0.
1169 
1170 
1171 Изменения в nginx 0.9.0                                           29.11.2010
1172 
1173     *) Добавление: директива keepalive_disable.
1174 
1175     *) Добавление: директива map поддерживает переменные в качестве значения
1176        определяемой переменной.
1177 
1178     *) Добавление: директива map поддерживает пустые строки в качестве
1179        значения первого параметра.
1180 
1181     *) Добавление: директива map поддерживает выражения в первом параметре.
1182 
1183     *) Добавление: страница руководства nginx(8).
1184        Спасибо Сергею Осокину.
1185 
1186     *) Добавление: поддержка accept4() в Linux.
1187        Спасибо Simon Liu.
1188 
1189     *) Изменение: устранение предупреждения линкера о "sys_errlist" и
1190        "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
1191 
1192     *) Исправление: при использовании директивы auth_basic в рабочем
1193        процессе мог произойти segmentation fault.
1194        Спасибо Михаилу Лалетину.
1195 
1196     *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
1197        появилась в 0.8.42.
1198 
1199 
1200 Изменения в nginx 0.8.53                                          18.10.2010
1201 
1202     *) Добавление: теперь директива error_page позволяет менять код статуса
1203        у редиректа.
1204 
1205     *) Добавление: директива gzip_disable поддерживает специальную маску
1206        degradation.
1207 
1208     *) Исправление: при использовании файлового AIO могла происходить утечка
1209        сокетов.
1210        Спасибо Максиму Дунину.
1211 
1212     *) Исправление: если в первом сервере не была описана директива listen и
1213        нигде явно не описан сервер по умолчанию, то сервером по умолчанию
1214        становился следующий сервер с директивой listen; ошибка появилась в
1215        0.8.21.
1216 
1217 
1218 Изменения в nginx 0.8.52                                          28.09.2010
1219 
1220     *) Исправление: nginx использовал режим SSL для listen сокета, если для
1221        него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
1222 
1223 
1224 Изменения в nginx 0.8.51                                          27.09.2010
1225 
1226     *) Изменение: директива secure_link_expires упразднена.
1227 
1228     *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
1229        alert на error.
1230 
1231     *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
1232        несколько раз.
1233 
1234 
1235 Изменения в nginx 0.8.50                                          02.09.2010
1236 
1237     *) Добавление: директивы secure_link, secure_link_md5 и
1238        secure_link_expires модуля ngx_http_secure_link_module.
1239 
1240     *) Добавление: ключ -q.
1241        Спасибо Геннадию Махомеду.
1242 
1243     *) Исправление: при использовании кэширования рабочие процессы и могли
1244        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
1245 
1246     *) Исправление: в директиве gzip_disable.
1247        Спасибо Derrick Petzold.
1248 
1249     *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
1250        reopen, reload процессу, запущенному в другой сессии.
1251 
1252 
1253 Изменения в nginx 0.8.49                                          09.08.2010
1254 
1255     *) Добавление: директива image_filter_jpeg_quality поддерживает
1256        переменные.
1257 
1258     *) Исправление: при использовании переменной $geoip_region_name в
1259        рабочем процессе мог произойти segmentation fault; ошибка появилась в
1260        0.8.48.
1261 
1262     *) Исправление: ошибки, перехваченные error_page, кэшировались только до
1263        следующего запроса; ошибка появилась в 0.8.48.
1264 
1265 
1266 Изменения в nginx 0.8.48                                          03.08.2010
1267 
1268     *) Изменение: теперь по умолчанию директива server_name имеет значение
1269        пустое имя "".
1270        Спасибо Геннадию Махомеду.
1271 
1272     *) Изменение: теперь по умолчанию директива server_name_in_redirect
1273        имеет значение off.
1274 
1275     *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
1276        $geoip_region_name.
1277        Спасибо Christine McGonagle.
1278 
1279     *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
1280        scgi_pass не наследовались в блоки limit_except.
1281 
1282     *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
1283        uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
1284        появилась в 0.8.46.
1285 
1286     *) Исправление: директива fastcgi_split_path_info неверно использовала
1287        выделения, если в выделения попадала только часть URI.
1288        Спасибо Юрию Тарадаю и Frank Enderle.
1289 
1290     *) Исправление: директива rewrite не экранировала символ ";" при
1291        копировании из URI в аргументы.
1292        Спасибо Daisuke Murase.
1293 
1294     *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
1295        если изображение было больше размера image_filter_buffer.
1296 
1297 
1298 Изменения в nginx 0.8.47                                          28.07.2010
1299 
1300     *) Исправление: переменная $request_time имела неверные значения для
1301        подзапросов.
1302 
1303     *) Исправление: ошибки, перехваченные error_page, не кэшировались.
1304 
1305     *) Исправление: если использовался параметр max_size, то cache manager
1306        мог зациклиться; ошибка появилась в 0.8.46.
1307 
1308 
1309 Изменения в nginx 0.8.46                                          19.07.2010
1310 
1311     *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
1312        и scgi_no_cache теперь влияют только на сохранение закэшированного
1313        ответа.
1314 
1315     *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
1316        uwsgi_cache_bypass и scgi_cache_bypass.
1317 
1318     *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
1319        ошибки работы с бэкендом: память освобождалась только по истечении
1320        времени неактивности или при недостатке памяти.
1321 
1322 
1323 Изменения в nginx 0.8.45                                          13.07.2010
1324 
1325     *) Добавление: улучшения в модуле ngx_http_xslt_filter.
1326        Спасибо Laurence Rowe.
1327 
1328     *) Исправление: ответ SSI модуля мог передаваться не полностью после
1329        команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
1330        Спасибо Максиму Дунину.
1331 
1332     *) Исправление: директива listen не поддерживала параметр setfib=0.
1333 
1334 
1335 Изменения в nginx 0.8.44                                          05.07.2010
1336 
1337     *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
1338        заголовке которых есть строка "Set-Cookie".
1339 
1340     *) Добавление: директива listen поддерживает параметр setfib.
1341        Спасибо Андрею Филонову.
1342 
1343     *) Исправление: директива sub_filter могла изменять регистр букв при
1344        частичном совпадении.
1345 
1346     *) Исправление: совместимость с HP/UX.
1347 
1348     *) Исправление: совместимость с компилятором AIX xlC_r.
1349 
1350     *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
1351        запросы.
1352        Спасибо Miroslaw Jaworski.
1353 
1354 
1355 Изменения в nginx 0.8.43                                          30.06.2010
1356 
1357     *) Добавление: ускорение загрузки больших баз geo-диапазонов.
1358 
1359     *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
1360        без изменения кода ответа оставляло тело ошибки; ошибка появилась в
1361        0.8.42.
1362 
1363     *) Исправление: nginx мог закрывать IPv6 listen сокет во время
1364        переконфигурации.
1365        Спасибо Максиму Дунину.
1366 
1367     *) Исправление: переменную $uid_set можно использовать на любой стадии
1368        обработки запроса.
1369 
1370 
1371 Изменения в nginx 0.8.42                                          21.06.2010
1372 
1373     *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
1374        выражениями, если запрос полностью совпал с location'ом, заданным
1375        строкой префикса. Предыдущее поведение появилось в 0.7.1.
1376 
1377     *) Добавление: модуль ngx_http_scgi_module.
1378        Спасибо Manlio Perillo.
1379 
1380     *) Добавление: в директиве return можно добавлять текст ответа.
1381 
1382 
1383 Изменения в nginx 0.8.41                                          15.06.2010
1384 
1385     *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
1386        при запросе файла с неверной кодировкой UTF-8.
1387 
1388     *) Изменение: теперь nginx разрешает использовать пробелы в строке
1389        запроса.
1390 
1391     *) Исправление: директива proxy_redirect неправильно изменяла строку
1392        "Refresh" в заголовке ответа бэкенда.
1393        Спасибо Андрею Андрееву и Максиму Согину.
1394 
1395     *) Исправление: nginx не поддерживал путь без имени хоста в строке
1396        "Destination" в заголовке запроса.
1397 
1398 
1399 Изменения в nginx 0.8.40                                          07.06.2010
1400 
1401     *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
1402        умолчанию.
1403        Спасибо Jose Antonio Vazquez Gonzalez.
1404 
1405     *) Добавление: модуль ngx_http_uwsgi_module.
1406        Спасибо Roberto De Ioris.
1407 
1408     *) Добавление: директива fastcgi_param со значением, начинающимся со
1409        строки "HTTP_", изменяет строку заголовка в запросе клиента.
1410 
1411     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1412        заголовке запроса клиента передавались FastCGI-серверу при
1413        кэшировании.
1414 
1415     *) Исправление: listen unix domain сокет нельзя было изменить во время
1416        переконфигурации.
1417        Спасибо Максиму Дунину.
1418 
1419 
1420 Изменения в nginx 0.8.39                                          31.05.2010
1421 
1422     *) Исправление: наследуемая директива alias неправильно работала во
1423        вложенном location'е.
1424 
1425     *) Исправление: в комбинации директив alias с переменными и try_files;
1426 
1427     *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
1428        время обновления без перерыва.
1429        Спасибо Максиму Дунину.
1430 
1431 
1432 Изменения в nginx 0.8.38                                          24.05.2010
1433 
1434     *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
1435 
1436     *) Добавление: теперь при использовании переменной $scheme в директиве
1437        rewrite автоматически делается редирект.
1438        Спасибо Piotr Sikora.
1439 
1440     *) Исправление: теперь задержки в директиве limit_req соответствует
1441        описанному алгоритму.
1442        Спасибо Максиму Дунину.
1443 
1444     *) Исправление: переменную $uid_got нельзя было использовать в SSI и
1445        перловом модулях.
1446 
1447 
1448 Изменения в nginx 0.8.37                                          17.05.2010
1449 
1450     *) Добавление: модуль ngx_http_split_clients_module.
1451 
1452     *) Добавление: директива map поддерживает ключи больше 255 символов.
1453 
1454     *) Исправление: nginx игнорировал значения "private" и "no-store" в
1455        строке "Cache-Control" в заголовке ответа бэкенда.
1456 
1457     *) Исправление: параметр stub в SSI-директиве include не использовался,
1458        если пустой ответ имел код 200.
1459 
1460     *) Исправление: если проксированный или FastCGI запрос внутренне
1461        перенаправлялся в другой проксированный или FastCGI location, то в
1462        рабочем процессе мог произойти segmentation fault; ошибка появилась в
1463        0.8.33.
1464        Спасибо Yichun Zhang.
1465 
1466     *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
1467        таймаута.
1468        Спасибо Alan Batie.
1469 
1470 
1471 Изменения в nginx 0.8.36                                          22.04.2010
1472 
1473     *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
1474        методы DELETE, COPY и MOVE для симлинков.
1475 
1476     *) Исправление: модуль SSI в подзапросах использовал закэшированные в
1477        основном запросе значения переменных $query_string, $arg_... и им
1478        подобных.
1479 
1480     *) Исправление: значение переменной повторно экранировалось после
1481        каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
1482 
1483     *) Исправление: рабочий процесс зависал при запросе файла FIFO.
1484        Спасибо Vicente Aguilar и Максиму Дунину.
1485 
1486     *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
1487        Спасибо Максиму Дунину.
1488 
1489     *) Исправление: nginx не собирался с параметром --without-http-cache;
1490        ошибка появилась в 0.8.35.
1491 
1492 
1493 Изменения в nginx 0.8.35                                          01.04.2010
1494 
1495     *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
1496 
1497     *) Добавление: директива chunked_transfer_encoding.
1498 
1499     *) Исправление: символ "&" при копировании в аргументы в правилах
1500        rewrite не экранировался.
1501 
1502     *) Исправление: nginx мог завершаться аварийно во время обработки
1503        сигнала или при использовании директивы timer_resolution на
1504        платформах, не поддерживающих методы kqueue или eventport.
1505        Спасибо George Xie и Максиму Дунину.
1506 
1507     *) Исправление: если временные файлы и постоянное место хранения
1508        располагались на разных файловых системах, то у постоянных файлов
1509        время изменения было неверным.
1510        Спасибо Максиму Дунину.
1511 
1512     *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
1513        "memcached sent invalid trailer".
1514        Спасибо Максиму Дунину.
1515 
1516     *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
1517        текстов.
1518        Спасибо Максиму Дунину.
1519 
1520     *) Исправление: в рабочем процессе происходил segmentation fault, если
1521        перед ответом FastCGI-сервера было много вывода в stderr; ошибка
1522        появилась в 0.8.34.
1523        Спасибо Максиму Дунину.
1524 
1525 
1526 Изменения в nginx 0.8.34                                          03.03.2010
1527 
1528     *) Исправление: nginx не поддерживал все шифры, используемые в
1529        клиентских сертификатах.
1530        Спасибо Иннокентию Еникееву.
1531 
1532     *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
1533        ответом было много вывода в stderr.
1534 
1535     *) Исправление: nginx не поддерживал HTTPS-рефереры.
1536 
1537     *) Исправление: nginx/Windows мог не находить файлы, если путь в
1538        конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
1539 
1540     *) Исправление: переменная $date_local выдавала неверное время, если
1541        использовался формат "%s".
1542        Спасибо Максиму Дунину.
1543 
1544     *) Исправление: если ssl_session_cache не был установлен или установлен
1545        в none, то при проверке клиентского сертификаты могла происходить
1546        ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
1547 
1548     *) Исправление: geo-диапазон возвращал значение по умолчанию, если
1549        диапазон включал в себя одну и более сетей размером /16 и не
1550        начинался на границе сети размером /16.
1551 
1552     *) Исправление: блок, используемый в параметре stub в SSI-директиве
1553        include, выводился с MIME-типом "text/plain".
1554 
1555     *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
1556 
1557 
1558 Изменения в nginx 0.8.33                                          01.02.2010
1559 
1560     *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
1561        Спасибо Dan Crowley, Core Security Technologies.
1562 
1563     *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
1564        Спасибо Dan Crowley, Core Security Technologies.
1565 
1566     *) Изменение: теперь keepalive соединения после запросов POST не
1567        запрещаются для MSIE 7.0+.
1568        Спасибо Adam Lounds.
1569 
1570     *) Изменение: теперь keepalive соединения запрещены для Safari.
1571        Спасибо Joshua Sierles.
1572 
1573     *) Исправление: если проксированный или FastCGI запрос внутренне
1574        перенаправлялся в другой проксированный или FastCGI location, то
1575        переменная $upstream_response_time могла иметь ненормально большое
1576        значение; ошибка появилась в 0.8.7.
1577 
1578     *) Исправление: в рабочем процессе мог произойти segmentation fault при
1579        отбрасывания тела запроса; ошибка появилась в 0.8.11.
1580 
1581 
1582 Изменения в nginx 0.8.32                                          11.01.2010
1583 
1584     *) Исправление: ошибки при использовании кодировки UTF-8 в
1585        ngx_http_autoindex_module.
1586        Спасибо Максиму Дунину.
1587 
1588     *) Исправление: именованные выделения в регулярных выражениях работали
1589        только для двух переменных.
1590        Спасибо Максиму Дунину.
1591 
1592     *) Исправление: теперь в строке заголовка запроса "Host" используется
1593        имя "localhost", если в директиве auth_http указан unix domain сокет.
1594        Спасибо Максиму Дунину.
1595 
1596     *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
1597        ответов.
1598        Спасибо Julian Reich.
1599 
1600     *) Исправление: если директива "expires modified" выставляла дату в
1601        прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
1602        отрицательное число.
1603        Спасибо Алексею Капранову.
1604 
1605 
1606 Изменения в nginx 0.8.31                                          23.12.2009
1607 
1608     *) Добавление: теперь директива error_page может перенаправлять ответы
1609        со статусом 301 и 302.
1610 
1611     *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
1612        $geoip_longitude.
1613        Спасибо Arvind Sundararajan.
1614 
1615     *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
1616        EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
1617 
1618     *) Исправление: nginx закрывал соединение при запросе закэшированного
1619        ответа с пустым телом.
1620        Спасибо Piotr Sikora.
1621 
1622     *) Исправление: nginx мог не собираться gcc 4.x при использовании
1623        оптимизации -O2 и выше.
1624        Спасибо Максиму Дунину и Денису Латыпову.
1625 
1626     *) Исправление: регулярные выражения в location всегда тестировались с
1627        учётом регистра; ошибка появилась в 0.8.25.
1628 
1629     *) Исправление: nginx кэшировал 304 ответ, если в заголовке
1630        проксируемого запроса была строка "If-None-Match".
1631        Спасибо Tim Dettrick и David Kostal.
1632 
1633     *) Исправление: nginx/Windows пытался дважды удалить временный файл при
1634        перезаписи уже существующего файла.
1635 
1636 
1637 Изменения в nginx 0.8.30                                          15.12.2009
1638 
1639     *) Изменение: теперь по умолчанию размер буфера директивы
1640        large_client_header_buffers равен 8K.
1641        Спасибо Andrew Cholakian.
1642 
1643     *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
1644 
1645     *) Исправление: nginx/Windows пытался дважды переименовать временный
1646        файл при перезаписи уже существующего файла.
1647 
1648     *) Исправление: ошибки double free or corruption, возникающей, если имя
1649        хоста не было найдено; ошибка появилась в 0.8.22.
1650        Спасибо Константину Свисту.
1651 
1652     *) Исправление: в использовании libatomic на некоторых платформах.
1653        Спасибо W-Mark Kubacki.
1654 
1655 
1656 Изменения в nginx 0.8.29                                          30.11.2009
1657 
1658     *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
1659        ответа "009".
1660 
1661     *) Добавление: директивы addition_types, charset_types, gzip_types,
1662        ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
1663 
1664     *) Добавление: использование встроенных атомарных операций GCC 4.1+.
1665        Спасибо W-Mark Kubacki.
1666 
1667     *) Добавление: параметр --with-libatomic[=DIR] в configure.
1668        Спасибо W-Mark Kubacki.
1669 
1670     *) Исправление: listen unix domain сокет имели ограниченные права
1671        доступа.
1672 
1673     *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
1674        обрабатывались.
1675 
1676     *) Исправление: именованные выделения в регулярных выражениях, заданные
1677        как "?P<...>", не работали в директиве server_name.
1678        Спасибо Максиму Дунину.
1679 
1680 
1681 Изменения в nginx 0.8.28                                          23.11.2009
1682 
1683     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
1684        появилась в 0.8.25.
1685 
1686 
1687 Изменения в nginx 0.8.27                                          17.11.2009
1688 
1689     *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
1690        появилась в 0.8.25.
1691 
1692 
1693 Изменения в nginx 0.8.26                                          16.11.2009
1694 
1695     *) Исправление: ошибки при использовании выделений в директиве rewrite;
1696        ошибка появилась в 0.8.25.
1697 
1698     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1699        появилась в 0.8.25.
1700 
1701 
1702 Изменения в nginx 0.8.25                                          16.11.2009
1703 
1704     *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
1705        не найдена с помощью метода $r->variable().
1706 
1707     *) Добавление: модуль ngx_http_degradation_module.
1708 
1709     *) Добавление: именованные выделения в регулярных выражениях.
1710 
1711     *) Добавление: теперь при использовании переменных в директиве
1712        proxy_pass не требуется задавать URI.
1713 
1714     *) Добавление: теперь директива msie_padding работает и для Chrome.
1715 
1716     *) Исправление: в рабочем процессе происходил segmentation fault при
1717        недостатке памяти; ошибка появилась в 0.8.18.
1718 
1719     *) Исправление: nginx передавал сжатые ответы клиентам, не
1720        поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
1721        ошибка появилась в 0.8.16.
1722 
1723 
1724 Изменения в nginx 0.8.24                                          11.11.2009
1725 
1726     *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
1727        заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
1728 
1729     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1730        появилась в 0.8.23.
1731 
1732     *) Исправление: параметр "unix:" в директиве set_real_ip_from
1733        неправильно наследовался с предыдущего уровня.
1734 
1735     *) Исправление: в resolver'е при определении пустого имени.
1736 
1737 
1738 Изменения в nginx 0.8.23                                          11.11.2009
1739 
1740     *) Безопасность: теперь SSL/TLS renegotiation запрещён.
1741        Спасибо Максиму Дунину.
1742 
1743     *) Исправление: listen unix domain сокет не наследовался во время
1744        обновления без перерыва.
1745 
1746     *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
1747        без ещё одной директивы с любым IP-адресом.
1748 
1749     *) Исправление: segmentation fault и зацикливания в resolver'е.
1750 
1751     *) Исправление: в resolver'е.
1752        Спасибо Артёму Бохану.
1753 
1754 
1755 Изменения в nginx 0.8.22                                          03.11.2009
1756 
1757     *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
1758 
1759     *) Добавление: директивы access и deny поддерживают IPv6.
1760 
1761     *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
1762        заголовках запроса.
1763 
1764     *) Добавление: параметр "unix:" в директиве set_real_ip_from.
1765 
1766     *) Исправление: nginx не удалял unix domain сокет после тестирования
1767        конфигурации.
1768 
1769     *) Исправление: nginx удалял unix domain сокет во время обновления без
1770        перерыва.
1771 
1772     *) Исправление: оператор "!-x" не работал.
1773        Спасибо Максиму Дунину.
1774 
1775     *) Исправление: в рабочем процессе мог произойти segmentation fault при
1776        использовании limit_rate в HTTPS сервере.
1777        Спасибо Максиму Дунину.
1778 
1779     *) Исправление: при записи в лог переменной $limit_rate в рабочем
1780        процессе происходил segmentation fault.
1781        Спасибо Максиму Дунину.
1782 
1783     *) Исправление: в рабочем процессе мог произойти segmentation fault,
1784        если внутри блока server не было директивы listen; ошибка появилась в
1785        0.8.21.
1786 
1787 
1788 Изменения в nginx 0.8.21                                          26.10.2009
1789 
1790     *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
1791 
1792     *) Добавление: директива listen модуля HTTP поддерживает unix domain
1793        сокеты.
1794        Спасибо Hongli Lai.
1795 
1796     *) Добавление: параметр "default_server" в директиве listen.
1797 
1798     *) Добавление: теперь параметр "default" не обязателен для установки
1799        параметров listen-сокета.
1800 
1801     *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
1802        платформах;
1803 
1804     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1805 
1806 
1807 Изменения в nginx 0.8.20                                          14.10.2009
1808 
1809     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1810        "HIGH:!ADH:!MD5".
1811 
1812     *) Исправление: модуль ngx_http_autoindex_module не показывал последний
1813        слэш для линков на каталоги; ошибка появилась в 0.7.15.
1814 
1815     *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
1816        --error-log-path; ошибка появилась в 0.7.53.
1817 
1818     *) Исправление: nginx не считал запятую разделителем в строке
1819        "Cache-Control" в заголовке ответа бэкенда.
1820 
1821     *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
1822        или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
1823        не имел достаточно прав для работы с каталогами верхнего уровня.
1824 
1825     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
1826        FastCGI-сервера не скрывались при кэшировании, если не использовались
1827        директивы fastcgi_hide_header с любыми параметрами.
1828 
1829     *) Исправление: nginx неверно считал размер кэша на диске.
1830 
1831 
1832 Изменения в nginx 0.8.19                                          06.10.2009
1833 
1834     *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
1835 
1836     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1837        "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
1838 
1839     *) Исправление: директива limit_req не работала; ошибка появилась в
1840        0.8.18.
1841 
1842 
1843 Изменения в nginx 0.8.18                                          06.10.2009
1844 
1845     *) Добавление: директива read_ahead.
1846 
1847     *) Добавление: теперь можно использовать несколько директив
1848        perl_modules.
1849 
1850     *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
1851 
1852     *) Исправление: теперь директива limit_req соответствует алгоритму leaky
1853        bucket.
1854        Спасибо Максиму Дунину.
1855 
1856     *) Исправление: nginx не работал на Linux/sparc.
1857        Спасибо Marcus Ramberg.
1858 
1859     *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
1860        ответе на запрос MKCOL.
1861        Спасибо Xie Zhenye.
1862 
1863     *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
1864        появилась в 0.8.11.
1865 
1866     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1867 
1868 
1869 Изменения в nginx 0.8.17                                          28.09.2009
1870 
1871     *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
1872        в заголовке запроса.
1873 
1874     *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
1875 
1876     *) Добавление: переменная $ssl_session_id.
1877 
1878     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1879 
1880 
1881 Изменения в nginx 0.8.16                                          22.09.2009
1882 
1883     *) Добавление: директива image_filter_transparency.
1884 
1885     *) Исправление: директива "addition_types" была неверно названа
1886        "addtion_types".
1887 
1888     *) Исправление: порчи кэша resolver'а.
1889        Спасибо Matthew Dempsky.
1890 
1891     *) Исправление: утечки памяти в resolver'е.
1892        Спасибо Matthew Dempsky.
1893 
1894     *) Исправление: неверная строка запроса в переменной $request
1895        записывалась в access_log только при использовании error_log на
1896        уровне info или debug.
1897 
1898     *) Исправление: в поддержке альфа-канала PNG в модуле
1899        ngx_http_image_filter_module.
1900 
1901     *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
1902        заголовок ответа, если обе директивы gzip_static и gzip_vary были
1903        включены.
1904 
1905     *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
1906        nginx/Windows.
1907 
1908     *) Исправление: ошибки при использовании post_action; ошибка появилась в
1909        0.8.11.
1910        Спасибо Игорю Артемьеву.
1911 
1912 
1913 Изменения в nginx 0.8.15                                          14.09.2009
1914 
1915     *) Безопасность: при обработке специально созданного запроса в рабочем
1916        процессе мог произойти segmentation fault.
1917        Спасибо Chris Ries.
1918 
1919     *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
1920        .domain-some.tld, то имя .sub.domain.tld попадало под маску
1921        .domain.tld.
1922 
1923     *) Исправление: в поддержке прозрачности в модуле
1924        ngx_http_image_filter_module.
1925 
1926     *) Исправление: в файловом AIO.
1927 
1928     *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
1929        появилась в 0.8.11.
1930 
1931     *) Исправление: ошибки при использовании встроенного перла; ошибка
1932        появилась в 0.8.11.
1933 
1934 
1935 Изменения в nginx 0.8.14                                          07.09.2009
1936 
1937     *) Исправление: устаревший закэшированный запрос мог залипнуть в
1938        состоянии "UPDATING".
1939 
1940     *) Исправление: при использовании error_log на уровне info или debug в
1941        рабочем процессе мог произойти segmentation fault.
1942        Спасибо Сергею Боченкову.
1943 
1944     *) Исправление: ошибки при использовании встроенного перла; ошибка
1945        появилась в 0.8.11.
1946 
1947     *) Исправление: директива error_page не перенаправляла ошибку 413;
1948        ошибка появилась в 0.6.10.
1949 
1950 
1951 Изменения в nginx 0.8.13                                          31.08.2009
1952 
1953     *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
1954 
1955     *) Исправление: nginx не собирался без параметра --with-file-aio на
1956        FreeBSD; ошибка появилась в 0.8.12.
1957 
1958 
1959 Изменения в nginx 0.8.12                                          31.08.2009
1960 
1961     *) Добавление: параметр sendfile в директиве aio во FreeBSD.
1962 
1963     *) Исправление: ошибки при использовании try_files; ошибка появилась в
1964        0.8.11.
1965 
1966     *) Исправление: ошибки при использовании memcached; ошибка появилась в
1967        0.8.11.
1968 
1969 
1970 Изменения в nginx 0.8.11                                          28.08.2009
1971 
1972     *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
1973        для MSIE 6.0 SV1.
1974 
1975     *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
1976 
1977     *) Добавление: директива directio_alignment.
1978 
1979 
1980 Изменения в nginx 0.8.10                                          24.08.2009
1981 
1982     *) Исправление: утечек памяти при использовании базы GeoIP City.
1983 
1984     *) Исправление: ошибки при копировании временных файлов в постоянное
1985        место хранения; ошибка появилась в 0.8.9.
1986 
1987 
1988 Изменения в nginx 0.8.9                                           17.08.2009
1989 
1990     *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
1991        процесс; это должно улучшить обработку больших кэшей.
1992 
1993     *) Добавление: теперь временные файлы и постоянное место хранения могут
1994        располагаться на разных файловых системах.
1995 
1996 
1997 Изменения в nginx 0.8.8                                           10.08.2009
1998 
1999     *) Исправление: в обработке заголовков ответа, разделённых в
2000        FastCGI-записях.
2001 
2002     *) Исправление: если запрос обрабатывался в двух проксированных или
2003        FastCGI location'ах и в первом из них использовалось кэширование, то
2004        в рабочем процессе происходил segmentation fault; ошибка появилась в
2005        0.8.7.
2006 
2007 
2008 Изменения в nginx 0.8.7                                           27.07.2009
2009 
2010     *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
2011 
2012     *) Изменение: параметр ask директивы ssl_verify_client изменён на
2013        параметр optional и теперь он проверяет клиентский сертификат, если
2014        он был предложен.
2015        Спасибо Brice Figureau.
2016 
2017     *) Добавление: переменная $ssl_client_verify.
2018        Спасибо Brice Figureau.
2019 
2020     *) Добавление: директива ssl_crl.
2021        Спасибо Brice Figureau.
2022 
2023     *) Добавление: параметр proxy директивы geo.
2024 
2025     *) Добавление: директива image_filter поддерживает переменные для
2026        задания размеров.
2027 
2028     *) Исправление: использование переменной $ssl_client_cert портило
2029        память; ошибка появилась в 0.7.7.
2030        Спасибо Сергею Журавлёву.
2031 
2032     *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
2033        передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
2034        "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
2035        Спасибо Максиму Дунину.
2036 
2037     *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
2038        заголовке ответа бэкенда; ошибка появилась в 0.7.44.
2039        Спасибо Максиму Дунину.
2040 
2041     *) Исправление: ошибки "[alert] zero size buf" при получении пустых
2042        ответы в подзапросах; ошибка появилась в 0.8.5.
2043 
2044 
2045 Изменения в nginx 0.8.6                                           20.07.2009
2046 
2047     *) Добавление: модуль ngx_http_geoip_module.
2048 
2049     *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
2050        document" для правильного документа.
2051        Спасибо Kuramoto Eiji.
2052 
2053     *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
2054        location'ов, заданных регулярным выражением, теперь всегда делается
2055        сравнение без учёта регистра символов.
2056 
2057     *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
2058        Спасибо Hugo Leisink.
2059 
2060     *) Исправление: имя файла указанного в --conf-path игнорировалось при
2061        установке; ошибка появилась в 0.6.6.
2062        Спасибо Максиму Дунину.
2063 
2064 
2065 Изменения в nginx 0.8.5                                           13.07.2009
2066 
2067     *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
2068 
2069     *) Исправление: при использовании HTTP Basic-аутентификации на Windows
2070        для неверных имени/пароля возвращалась 500-ая ошибка.
2071 
2072     *) Исправление: ответы модуля ngx_http_perl_module не работали в
2073        подзапросах.
2074 
2075     *) Исправление: в модуле ngx_http_limit_req_module.
2076        Спасибо Максиму Дунину.
2077 
2078 
2079 Изменения в nginx 0.8.4                                           22.06.2009
2080 
2081     *) Исправление: nginx не собирался с параметром --without-http-cache;
2082        ошибка появилась в 0.8.3.
2083 
2084 
2085 Изменения в nginx 0.8.3                                           19.06.2009
2086 
2087     *) Добавление: переменная $upstream_cache_status.
2088 
2089     *) Исправление: nginx не собирался на MacOSX 10.6.
2090 
2091     *) Исправление: nginx не собирался с параметром --without-http-cache;
2092        ошибка появилась в 0.8.2.
2093 
2094     *) Исправление: если использовался перехват 401 ошибки от бэкенда и
2095        бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
2096        в рабочем процессе происходил segmentation fault.
2097        Спасибо Евгению Мычло.
2098 
2099 
2100 Изменения в nginx 0.8.2                                           15.06.2009
2101 
2102     *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
2103        на старте.
2104 
2105     *) Исправление: open_file_cache мог кэшировать открытые файлы очень
2106        долго; ошибка появилась в 0.7.4.
2107 
2108 
2109 Изменения в nginx 0.8.1                                           08.06.2009
2110 
2111     *) Добавление: параметр updating в директивах proxy_cache_use_stale и
2112        fastcgi_cache_use_stale.
2113 
2114     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2115        заголовке запроса клиента передавались бэкенду при кэшировании, если
2116        не использовалась директива proxy_set_header с любыми параметрами.
2117 
2118     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
2119        не скрывались при кэшировании, если не использовались директивы
2120        proxy_hide_header/fastcgi_hide_header с любыми параметрами.
2121 
2122     *) Исправление: модуль ngx_http_image_filter_module не понимал формат
2123        GIF87a.
2124        Спасибо Денису Ильиных.
2125 
2126     *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
2127        появилась в 0.7.56.
2128 
2129 
2130 Изменения в nginx 0.8.0                                           02.06.2009
2131 
2132     *) Добавление: директива keepalive_requests.
2133 
2134     *) Добавление: директива limit_rate_after.
2135        Спасибо Ivan Debnar.
2136 
2137     *) Исправление: XSLT-фильтр не работал в подзапросах.
2138 
2139     *) Исправление: обработке относительных путей в nginx/Windows.
2140 
2141     *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
2142        fastcgi_cache в nginx/Windows.
2143 
2144     *) Исправление: в обработке ошибок выделения памяти.
2145        Спасибо Максиму Дунину и Кириллу Коринскому.
2146 
2147 
2148 Изменения в nginx 0.7.59                                          25.05.2009
2149 
2150     *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
2151 
2152     *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
2153        Спасибо Максиму Дунину.
2154 
2155     *) Исправление: при использовании переменной $request_body в рабочем
2156        процессе происходил segmentation fault, если в запросе не было тела;
2157        ошибка появилась в 0.7.58.
2158 
2159     *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
2160        ошибка появилась в 0.7.56.
2161 
2162     *) Исправление: ответы модуля ngx_http_xslt_filter_module не
2163        обрабатывались SSI-, charset- и gzip-фильтрами.
2164 
2165     *) Исправление: директива charset не ставила кодировку для ответов
2166        модуля ngx_http_gzip_static_module.
2167 
2168 
2169 Изменения в nginx 0.7.58                                          18.05.2009
2170 
2171     *) Добавление: директива listen почтового прокси-сервера поддерживает
2172        IPv6.
2173 
2174     *) Добавление: директива image_filter_jpeg_quality.
2175 
2176     *) Добавление: директива client_body_in_single_buffer.
2177 
2178     *) Добавление: переменная $request_body.
2179 
2180     *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
2181        файлов, содержащих символ ":".
2182 
2183     *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
2184        0.7.53.
2185        Спасибо Денису Латыпову.
2186 
2187 
2188 Изменения в nginx 0.7.57                                          12.05.2009
2189 
2190     *) Исправление: при перенаправлении ошибок модуля
2191        ngx_http_image_filter_module в именованный location в рабочем
2192        процессе происходил floating-point fault; ошибка появилась в 0.7.56.
2193 
2194 
2195 Изменения в nginx 0.7.56                                          11.05.2009
2196 
2197     *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
2198        HTTP.
2199 
2200     *) Исправление: в модуле ngx_http_image_filter_module.
2201 
2202 
2203 Изменения в nginx 0.7.55                                          06.05.2009
2204 
2205     *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
2206        fastcgi_cache_use_stale не работали.
2207 
2208     *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
2209        заголовка.
2210 
2211     *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
2212        nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
2213 
2214     *) Исправление: при использовании директивы debug_connection в рабочем
2215        процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
2216 
2217     *) Исправление: в сборке модуля ngx_http_image_filter_module.
2218 
2219     *) Исправление: файлы больше 2G не передавались с использованием
2220        $r->sendfile.
2221        Спасибо Максиму Дунину.
2222 
2223 
2224 Изменения в nginx 0.7.54                                          01.05.2009
2225 
2226     *) Добавление: модуль ngx_http_image_filter_module.
2227 
2228     *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
2229 
2230     *) Исправление: при использовании переменных "open_file_cache_errors on"
2231        в рабочем процессе мог произойти segmentation fault; ошибка появилась
2232        в 0.7.53.
2233 
2234     *) Исправление: директива "port_in_redirect off" не работала; ошибка
2235        появилась в 0.7.39.
2236 
2237     *) Исправление: улучшение обработки ошибок метода select.
2238 
2239     *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
2240 
2241     *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
2242        ошибка появилась в 0.7.53.
2243 
2244 
2245 Изменения в nginx 0.7.53                                          27.04.2009
2246 
2247     *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
2248        самого начала работы.
2249 
2250     *) Добавление: теперь ошибки и предупреждения при старте записываются в
2251        error_log и выводятся на stderr.
2252 
2253     *) Добавление: при сборке с пустым параметром --prefix= nginx использует
2254        как префикс каталог, в котором он был запущен.
2255 
2256     *) Добавление: ключ -p.
2257 
2258     *) Добавление: ключ -s на Unix-платформах.
2259 
2260     *) Добавление: ключи -? и -h.
2261        Спасибо Jerome Loyet.
2262 
2263     *) Добавление: теперь ключи можно задавать в сжатой форме.
2264 
2265     *) Исправление: nginx/Windows не работал, если файл конфигурации был
2266        задан ключом -c.
2267 
2268     *) Исправление: при использовании директив proxy_store, fastcgi_store,
2269        proxy_cache или fastcgi_cache временные файлы могли не удаляться.
2270        Спасибо Максиму Дунину.
2271 
2272     *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
2273        почтового прокси-сервера передавалось неверное значение; ошибка
2274        появилась в 0.7.34.
2275        Спасибо Simon Lecaille.
2276 
2277     *) Исправление: при логгировании на Linux не писались текстовые описания
2278        системных ошибок; ошибка появилась в 0.7.45.
2279 
2280     *) Исправление: директива fastcgi_cache_min_uses не работала.
2281        Спасибо Андрею Воробьёву.
2282 
2283 
2284 Изменения в nginx 0.7.52                                          20.04.2009
2285 
2286     *) Добавление: первая бинарная версия под Windows.
2287 
2288     *) Исправление: корректная обработка метода HEAD при кэшировании.
2289 
2290     *) Исправление: корректная обработка строк "If-Modified-Since",
2291        "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
2292 
2293     *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
2294        заголовке ответа для закэшированных ответов.
2295 
2296     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2297        perl поддерживал потоки, то при выходе основного процесса могла
2298        выдаваться ошибка "panic: MUTEX_LOCK".
2299 
2300     *) Исправление: nginx не собирался с параметром --without-http-cache;
2301        ошибка появилась в 0.7.48.
2302 
2303     *) Исправление: nginx не собирался на платформах, отличных от i386,
2304        amd64, sparc и ppc; ошибка появилась в 0.7.42.
2305 
2306 
2307 Изменения в nginx 0.7.51                                          12.04.2009
2308 
2309     *) Добавление: директива try_files поддерживает код ответа в последнем
2310        параметре.
2311 
2312     *) Добавление: теперь в директиве return можно использовать любой код
2313        ответа.
2314 
2315     *) Исправление: директива error_page делала внешний редирект без строки
2316        запроса; ошибка появилась в 0.7.44.
2317 
2318     *) Исправление: если сервера слушали на нескольких явно описанных
2319        адресах, то виртуальные сервера могли не работать; ошибка появилась в
2320        0.7.39.
2321 
2322 
2323 Изменения в nginx 0.7.50                                          06.04.2009
2324 
2325     *) Исправление: переменные $arg_... не работали; ошибка появилась в
2326        0.7.49.
2327 
2328 
2329 Изменения в nginx 0.7.49                                          06.04.2009
2330 
2331     *) Исправление: при использовании переменных $arg_... в рабочем процессе
2332        мог произойти segmentation fault; ошибка появилась в 0.7.48.
2333 
2334 
2335 Изменения в nginx 0.7.48                                          06.04.2009
2336 
2337     *) Добавление: директива proxy_cache_key.
2338 
2339     *) Исправление: теперь nginx учитывает при кэшировании строки
2340        "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
2341        бэкенда.
2342 
2343     *) Исправление: теперь nginx кэширует только ответы на запросы GET.
2344 
2345     *) Исправление: директива fastcgi_cache_key не наследовалась.
2346 
2347     *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
2348        Спасибо Максиму Дунину.
2349 
2350     *) Исправление: nginx не собирался с библиотекой uclibc.
2351        Спасибо Timothy Redaelli.
2352 
2353     *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
2354        в 0.7.46.
2355 
2356 
2357 Изменения в nginx 0.7.47                                          01.04.2009
2358 
2359     *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
2360        ошибка появилась в 0.7.46.
2361 
2362     *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
2363 
2364     *) Исправление: если использовался параметр max_size, то cache manager
2365        мог удалить весь кэш; ошибка появилась в 0.7.46.
2366 
2367     *) Изменение: в рабочем процессе мог произойти segmentation fault, если
2368        директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
2369        fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
2370        в 0.7.46.
2371 
2372     *) Исправление: в рабочем процессе мог произойти segmentation fault при
2373        перенаправлении запроса проксированному или FastCGI-серверу с помощью
2374        error_page или try_files; ошибка появилась в 0.7.44.
2375 
2376 
2377 Изменения в nginx 0.7.46                                          30.03.2009
2378 
2379     *) Исправление: архив предыдущего релиза был неверным.
2380 
2381 
2382 Изменения в nginx 0.7.45                                          30.03.2009
2383 
2384     *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
2385        задавать на разных уровнях.
2386 
2387     *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
2388 
2389     *) Добавление: параметр max_size в директиве proxy_cache_path.
2390 
2391     *) Добавление: предварительная поддержка кэширования в модуле
2392        ngx_http_fastcgi_module.
2393 
2394     *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
2395        указываются названия директивы и зоны.
2396 
2397     *) Исправление: директива "add_header last-modified ''" не удаляла в
2398        заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
2399 
2400     *) Исправление: в директиве auth_basic_user_file не работал
2401        относительный путь, заданный строкой без переменных; ошибка появилась
2402        в 0.7.44.
2403        Спасибо Jerome Loyet.
2404 
2405     *) Исправление: в директиве alias, заданной переменными без ссылок на
2406        выделения в регулярных выражениях; ошибка появилась в 0.7.42.
2407 
2408 
2409 Изменения в nginx 0.7.44                                          23.03.2009
2410 
2411     *) Добавление: предварительная поддержка кэширования в модуле
2412        ngx_http_proxy_module.
2413 
2414     *) Добавление: параметр --with-pcre в configure.
2415 
2416     *) Добавление: теперь директива try_files может быть использована на
2417        уровне server.
2418 
2419     *) Исправление: директива try_files неправильно обрабатывала строку
2420        запроса в последнем параметре.
2421 
2422     *) Исправление: директива try_files могла неверно тестировать каталоги.
2423 
2424     *) Исправление: если для пары адрес:порт описан только один сервер, то
2425        выделения в регулярных выражениях в директиве server_name не
2426        работали.
2427 
2428 
2429 Изменения в nginx 0.7.43                                          18.03.2009
2430 
2431     *) Исправление: запрос обрабатывался неверно, если директива root
2432        использовала переменные; ошибка появилась в 0.7.42.
2433 
2434     *) Исправление: если сервер слушал на адресах типа "*", то значение
2435        переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
2436 
2437 
2438 Изменения в nginx 0.7.42                                          16.03.2009
2439 
2440     *) Изменение: ошибка "Invalid argument", возвращаемая
2441        setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
2442 
2443     *) Изменение: при отсутствии файла, указанного в директиве
2444        auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
2445 
2446     *) Добавление: директива auth_basic_user_file поддерживает переменные.
2447        Спасибо Кириллу Коринскому.
2448 
2449     *) Добавление: директива listen поддерживает параметр ipv6only.
2450        Спасибо Zhang Hua.
2451 
2452     *) Исправление: в директиве alias со ссылками на выделения в регулярных
2453        выражениях; ошибка появилась в 0.7.40.
2454 
2455     *) Исправление: совместимость с Tru64 UNIX.
2456        Спасибо Dustin Marquess.
2457 
2458     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2459        в 0.7.41.
2460 
2461 
2462 Изменения в nginx 0.7.41                                          11.03.2009
2463 
2464     *) Исправление: в рабочем процессе мог произойти segmentation fault,
2465        если в server_name или location были выделения в регулярных
2466        выражениях; ошибка появилась в 0.7.40.
2467        Спасибо Владимиру Сопоту.
2468 
2469 
2470 Изменения в nginx 0.7.40                                          09.03.2009
2471 
2472     *) Добавление: директива location поддерживает выделения в регулярных
2473        выражениях.
2474 
2475     *) Добавление: директиву alias с ссылками на выделения в регулярных
2476        выражениях можно использовать внутри location'а, заданного регулярным
2477        выражением с выделениями.
2478 
2479     *) Добавление: директива server_name поддерживает выделения в регулярных
2480        выражениях.
2481 
2482     *) Изменение: модуль ngx_http_autoindex_module не показывал последний
2483        слэш для каталогов на файловой системе XFS; ошибка появилась в
2484        0.7.15.
2485        Спасибо Дмитрию Кузьменко.
2486 
2487 
2488 Изменения в nginx 0.7.39                                          02.03.2009
2489 
2490     *) Исправление: при включённом сжатии большие ответы с использованием
2491        SSI могли зависать; ошибка появилась в 0.7.28.
2492        Спасибо Артёму Бохану.
2493 
2494     *) Исправление: при использовании коротких статических вариантов в
2495        директиве try_files в рабочем процессе мог произойти segmentation
2496        fault.
2497 
2498 
2499 Изменения в nginx 0.7.38                                          23.02.2009
2500 
2501     *) Добавление: логгирование ошибок аутентификации.
2502 
2503     *) Исправление: имя/пароль, заданные в auth_basic_user_file,
2504        игнорировались после нечётного числа пустых строк.
2505        Спасибо Александру Загребину.
2506 
2507     *) Исправление: при использовании длинного пути в unix domain сокете в
2508        главном процессе происходил segmentation fault; ошибка появилась в
2509        0.7.36.
2510 
2511 
2512 Изменения в nginx 0.7.37                                          21.02.2009
2513 
2514     *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
2515        появилась в 0.7.36.
2516 
2517 
2518 Изменения в nginx 0.7.36                                          21.02.2009
2519 
2520     *) Добавление: предварительная поддержка IPv6; директива listen модуля
2521        HTTP поддерживает IPv6.
2522 
2523     *) Исправление: переменная $ancient_browser не работала для браузеров,
2524        заданных директивами modern_browser.
2525 
2526 
2527 Изменения в nginx 0.7.35                                          16.02.2009
2528 
2529     *) Исправление: директива ssl_engine не использовала SSL-акселератор для
2530        асимметричных шифров.
2531        Спасибо Marcin Gozdalik.
2532 
2533     *) Исправление: директива try_files выставляла MIME-type, исходя из
2534        расширения первоначального запроса.
2535 
2536     *) Исправление: в директивах server_name, valid_referers и map
2537        неправильно обрабатывались имена вида "*domain.tld", если
2538        использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
2539        ошибка появилась в 0.7.9.
2540 
2541 
2542 Изменения в nginx 0.7.34                                          10.02.2009
2543 
2544     *) Добавление: параметр off в директиве if_modified_since.
2545 
2546     *) Добавление: теперь после команды XCLIENT nginx посылает команду
2547        HELO/EHLO.
2548        Спасибо Максиму Дунину.
2549 
2550     *) Добавление: поддержка Microsoft-специфичного режима
2551        "AUTH LOGIN with User Name" в почтовом прокси-сервере.
2552        Спасибо Максиму Дунину.
2553 
2554     *) Исправление: в директиве rewrite, возвращающей редирект, старые
2555        аргументы присоединялись к новым через символ "?" вместо "&";
2556        ошибка появилась в 0.1.18.
2557        Спасибо Максиму Дунину.
2558 
2559     *) Исправление: nginx не собирался на AIX.
2560 
2561 
2562 Изменения в nginx 0.7.33                                          02.02.2009
2563 
2564     *) Исправление: если на запрос с телом возвращался редирект, то ответ
2565        мог быть двойным при использовании методов epoll или rtsig.
2566        Спасибо Eden Li.
2567 
2568     *) Исправление: для некоторых типов редиректов в переменной
2569        $sent_http_location было пустое значение.
2570 
2571     *) Исправление: при использовании директивы resolver в SMTP
2572        прокси-сервере в рабочем процессе мог произойти segmentation fault.
2573 
2574 
2575 Изменения в nginx 0.7.32                                          26.01.2009
2576 
2577     *) Добавление: теперь в директиве try_files можно явно указать проверку
2578        каталога.
2579 
2580     *) Исправление: fastcgi_store не всегда сохранял файлы.
2581 
2582     *) Исправление: в гео-диапазонах.
2583 
2584     *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
2585        если nginx был собран без отладки.
2586        Спасибо Андрею Квасову.
2587 
2588 
2589 Изменения в nginx 0.7.31                                          19.01.2009
2590 
2591     *) Изменение: теперь директива try_files проверяет только файлы,
2592        игнорируя каталоги.
2593 
2594     *) Добавление: директива fastcgi_split_path_info.
2595 
2596     *) Исправления в поддержке строки "Expect" в заголовке запроса.
2597 
2598     *) Исправления в гео-диапазонах.
2599 
2600     *) Исправление: при отсутствии ответа ngx_http_memcached_module
2601        возвращал в теле ответа строку "END" вместо 404-ой страницы по
2602        умолчанию; ошибка появилась в 0.7.18.
2603        Спасибо Максиму Дунину.
2604 
2605     *) Исправление: при проксировании SMPT nginx выдавал сообщение
2606        "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
2607        Спасибо Максиму Дунину.
2608 
2609 
2610 Изменения в nginx 0.7.30                                          24.12.2008
2611 
2612     *) Исправление: в рабочем процессе происходил segmentation fault, если в
2613        директивах fastcgi_pass или proxy_pass использовались переменные и
2614        имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
2615 
2616 
2617 Изменения в nginx 0.7.29                                          24.12.2008
2618 
2619     *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
2620        переменные при использовании unix domain сокетов.
2621 
2622     *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
2623 
2624     *) Исправление: ответ "100 Continue" выдавался для запросов версии
2625        HTTP/1.0;
2626        Спасибо Максиму Дунину.
2627 
2628     *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
2629        под Cygwin.
2630 
2631 
2632 Изменения в nginx 0.7.28                                          22.12.2008
2633 
2634     *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
2635 
2636     *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
2637        с 4 4k/8k на 32 4k или 16 8k.
2638 
2639 
2640 Изменения в nginx 0.7.27                                          15.12.2008
2641 
2642     *) Добавление: директива try_files.
2643 
2644     *) Добавление: директива fastcgi_pass поддерживает переменные.
2645 
2646     *) Добавление: теперь директива geo может брать адрес из переменной.
2647        Спасибо Андрею Нигматулину.
2648 
2649     *) Добавление: теперь модификатор location'а можно указывать без пробела
2650        перед названием.
2651 
2652     *) Добавление: переменная $upstream_response_length.
2653 
2654     *) Исправление: теперь директива add_header не добавляет пустое
2655        значение.
2656 
2657     *) Исправление: при запросе файла нулевой длины nginx закрывал
2658        соединение, ничего не передав; ошибка появилась в 0.7.25.
2659 
2660     *) Исправление: метод MOVE не мог перемещать файл в несуществующий
2661        каталог.
2662 
2663     *) Исправление: если в сервере не был описан ни один именованный
2664        location, но такой location использовался в директиве error_page, то
2665        в рабочем процессе происходил segmentation fault.
2666        Спасибо Сергею Боченкову.
2667 
2668 
2669 Изменения в nginx 0.7.26                                          08.12.2008
2670 
2671     *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
2672 
2673 
2674 Изменения в nginx 0.7.25                                          08.12.2008
2675 
2676     *) Изменение: в обработке подзапросов.
2677 
2678     *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
2679        заголовке запроса.
2680 
2681     *) Исправление: теперь директивы limit_req и limit_conn указывают
2682        причину запрета запроса.
2683 
2684     *) Исправление: в параметре delete директивы geo.
2685 
2686 
2687 Изменения в nginx 0.7.24                                          01.12.2008
2688 
2689     *) Добавление: директива if_modified_since.
2690 
2691     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
2692        ответом сервер передавал много сообщений в stderr.
2693 
2694     *) Исправление: переменные "$cookie_..." не работали в SSI and в
2695        перловом модуле.
2696 
2697 
2698 Изменения в nginx 0.7.23                                          27.11.2008
2699 
2700     *) Добавление: параметры delete и ranges в директиве geo.
2701 
2702     *) Добавление: ускорение загрузки geo-базы с большим числом значений.
2703 
2704     *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
2705 
2706 
2707 Изменения в nginx 0.7.22                                          20.11.2008
2708 
2709     *) Добавление: параметр none в директиве smtp_auth.
2710        Спасибо Максиму Дунину.
2711 
2712     *) Добавление: переменные "$cookie_...".
2713 
2714     *) Исправление: директива directio не работала с файловой системой XFS.
2715 
2716     *) Исправление: resolver не понимал большие DNS-ответы.
2717        Спасибо Zyb.
2718 
2719 
2720 Изменения в nginx 0.7.21                                          11.11.2008
2721 
2722     *) Изменения в модуле ngx_http_limit_req_module.
2723 
2724     *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
2725        Спасибо Денису Латыпову.
2726 
2727     *) Изменение: совместимость с glibc 2.3.
2728        Спасибо Eric Benson и Максиму Дунину.
2729 
2730     *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
2731        ошибка появилась в 0.7.6.
2732 
2733 
2734 Изменения в nginx 0.7.20                                          10.11.2008
2735 
2736     *) Изменения в модуле ngx_http_gzip_filter_module.
2737 
2738     *) Добавление: модуль ngx_http_limit_req_module.
2739 
2740     *) Исправление: на платформах sparc и ppc рабочие процессы могли
2741        выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
2742        Спасибо Максиму Дунину.
2743 
2744     *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
2745        работали; ошибка появилась в 0.7.12.
2746 
2747     *) Исправление: при использовании HTTPS запросы могли завершаться с
2748        ошибкой "bad write retry".
2749 
2750     *) Исправление: модуль ngx_http_secure_link_module не работал внутри
2751        location'ов с именами меньше 3 символов.
2752 
2753     *) Исправление: переменная $server_addr могла не иметь значения.
2754 
2755 
2756 Изменения в nginx 0.7.19                                          13.10.2008
2757 
2758     *) Исправление: обновление номера версии.
2759 
2760 
2761 Изменения в nginx 0.7.18                                          13.10.2008
2762 
2763     *) Изменение: директива underscores_in_headers; теперь nginx по
2764        умолчанию не разрешает подчёркивания в именах строк в заголовке
2765        запроса клиента.
2766 
2767     *) Добавление: модуль ngx_http_secure_link_module.
2768 
2769     *) Добавление: директива real_ip_header поддерживает любой заголовок.
2770 
2771     *) Добавление: директива log_subrequest.
2772 
2773     *) Добавление: переменная $realpath_root.
2774 
2775     *) Добавление: параметры http_502 и http_504 в директиве
2776        proxy_next_upstream.
2777 
2778     *) Исправление: параметр http_503 в директивах proxy_next_upstream или
2779        fastcgi_next_upstream не работал.
2780 
2781     *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
2782        для запросов HEAD.
2783 
2784     *) Исправление: теперь accept-лимит зависит от числа worker_connections.
2785 
2786 
2787 Изменения в nginx 0.7.17                                          15.09.2008
2788 
2789     *) Добавление: директива directio теперь работает на Linux.
2790 
2791     *) Добавление: переменная $pid.
2792 
2793     *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
2794        при использовании open_file_cache.
2795 
2796     *) Исправление: access_log с переменными не работал на Linux; ошибка
2797        появилась в 0.7.7.
2798 
2799     *) Исправление: модуль ngx_http_charset_module не понимал название
2800        кодировки в кавычках, полученное от бэкенда.
2801 
2802 
2803 Изменения в nginx 0.7.16                                          08.09.2008
2804 
2805     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
2806        появилась в 0.7.15.
2807 
2808 
2809 Изменения в nginx 0.7.15                                          08.09.2008
2810 
2811     *) Добавление: модуль ngx_http_random_index_module.
2812 
2813     *) Добавление: директива directio оптимизирована для запросов файлов,
2814        начинающихся с произвольной позиции.
2815 
2816     *) Добавление: директива directio при необходимости запрещает
2817        использование sendfile.
2818 
2819     *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
2820        заголовке запроса клиента.
2821 
2822 
2823 Изменения в nginx 0.7.14                                          01.09.2008
2824 
2825     *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
2826        имеют значений по умолчанию.
2827 
2828     *) Добавление: директива listen поддерживает параметр ssl.
2829 
2830     *) Добавление: теперь при переконфигурации nginx учитывает изменение
2831        временной зоны на FreeBSD и Linux.
2832 
2833     *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
2834        прочие, не устанавливались, если сервером по умолчанию был не первый
2835        сервер.
2836 
2837     *) Исправление: при использовании в качестве аргументов части URI,
2838        выделенного с помощью директивы rewrite, эти аргументы не
2839        экранировались.
2840 
2841     *) Исправление: улучшения тестирования правильности конфигурационного
2842        файла.
2843 
2844 
2845 Изменения в nginx 0.7.13                                          26.08.2008
2846 
2847     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
2848        в 0.7.12.
2849 
2850 
2851 Изменения в nginx 0.7.12                                          26.08.2008
2852 
2853     *) Добавление: директива server_name поддерживает пустое имя "".
2854 
2855     *) Добавление: директива gzip_disable поддерживает специальную маску
2856        msie6.
2857 
2858     *) Исправление: при использовании параметра max_fails=0 в upstream'е с
2859        несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
2860        Спасибо Максиму Дунину.
2861 
2862     *) Исправление: при перенаправлении запроса с помощью директивы
2863        error_page терялось тело запроса.
2864 
2865     *) Исправление: при перенаправлении запроса с методом HEAD с помощью
2866        директивы error_page возвращался полный ответ.
2867 
2868     *) Исправление: метод $r->header_in() не возвращал значения строк
2869        "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
2870        появилась в 0.7.0.
2871 
2872 
2873 Изменения в nginx 0.7.11                                          18.08.2008
2874 
2875     *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
2876        MIME-типом text/css.
2877 
2878     *) Добавление: теперь nginx возвращает код 405 для метода POST при
2879        запросе статического файла, только если файл существует.
2880 
2881     *) Добавление: директива proxy_ssl_session_reuse.
2882 
2883     *) Исправление: после перенаправления запроса с помощью
2884        "X-Accel-Redirect" директива proxy_pass без URI могла использовать
2885        оригинальный запрос.
2886 
2887     *) Исправление: если у каталога были права доступа только на поиск
2888        файлов и первый индексный файл отсутствовал, то nginx возвращал
2889        ошибку 500.
2890 
2891     *) Исправление: ошибок во вложенных location'ах; ошибки появились в
2892        0.7.1.
2893 
2894 
2895 Изменения в nginx 0.7.10                                          13.08.2008
2896 
2897     *) Исправление: ошибок в директивах addition_types, charset_types,
2898        gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
2899        появились в 0.7.9.
2900 
2901     *) Исправление: рекурсивной error_page для 500 ошибки.
2902 
2903     *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
2904        не для всего keepalive соединения, а для каждого запроса по этому
2905        соединению.
2906 
2907 
2908 Изменения в nginx 0.7.9                                           12.08.2008
2909 
2910     *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
2911        следующими MIME-типами: text/html, text/css, text/xml, text/plain,
2912        text/vnd.wap.wml, application/x-javascript и application/rss+xml.
2913 
2914     *) Добавление: директивы charset_types и addition_types.
2915 
2916     *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
2917        используют хэш.
2918 
2919     *) Добавление: модуль ngx_cpp_test_module.
2920 
2921     *) Добавление: директива expires поддерживает суточное время.
2922 
2923     *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
2924        Спасибо Денису Латыпову и Максиму Дунину.
2925 
2926     *) Исправление: директива log_not_found не работала при поиске индексных
2927        файлов.
2928 
2929     *) Исправление: HTTPS-соединения могли зависнуть, если использовались
2930        методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
2931 
2932     *) Исправление: если в директивах server_name, valid_referers и map
2933        использовалась маска вида "*.domain.tld" и при этом полное имя вида
2934        "domain.tld" не было описано, то это имя попадало под маску; ошибка
2935        появилась в 0.3.18.
2936 
2937 
2938 Изменения в nginx 0.7.8                                           04.08.2008
2939 
2940     *) Добавление: модуль ngx_http_xslt_module.
2941 
2942     *) Добавление: переменные "$arg_...".
2943 
2944     *) Добавление: поддержка directio в Solaris.
2945        Спасибо Ivan Debnar.
2946 
2947     *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
2948        в заголовке ответа без строки статуса, то nginx использует код
2949        статуса 302.
2950        Спасибо Максиму Дунину.
2951 
2952 
2953 Изменения в nginx 0.7.7                                           30.07.2008
2954 
2955     *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
2956        временной.
2957 
2958     *) Изменение: значением переменной $ssl_client_cert теперь является
2959        сертификат, перед каждой строкой которого, кроме первой, вставляется
2960        символ табуляции; неизменённый сертификат доступен через переменную
2961        $ssl_client_raw_cert.
2962 
2963     *) Добавление: параметр ask директивы ssl_verify_client.
2964 
2965     *) Добавление: улучшения в обработке byte-range.
2966        Спасибо Максиму Дунину.
2967 
2968     *) Добавление: директива directio.
2969        Спасибо Jiang Hong.
2970 
2971     *) Добавление: поддержка sendfile() в MacOSX 10.5.
2972 
2973     *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
2974        делается сравнение без учёта регистра символов; однако, сравнение
2975        ограничено только однобайтными locale'ями.
2976 
2977     *) Исправление: соединения почтового прокси-сервера зависали в режиме
2978        SSL, если использовались методы select, poll или /dev/poll.
2979 
2980     *) Исправление: ошибки при использовании кодировки UTF-8 в
2981        ngx_http_autoindex_module.
2982 
2983 
2984 Изменения в nginx 0.7.6                                           07.07.2008
2985 
2986     *) Исправление: теперь при использовании переменных в директиве
2987        access_log всегда проверяется существовании root'а для запроса.
2988 
2989     *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
2990        значений в аргументах запроса.
2991 
2992 
2993 Изменения в nginx 0.7.5                                           01.07.2008
2994 
2995     *) Исправления в поддержке переменных в директиве access_log; ошибки
2996        появились в 0.7.4.
2997 
2998     *) Исправление: nginx не собирался с параметром
2999        --without-http_gzip_module; ошибка появилась в 0.7.3.
3000        Спасибо Кириллу Коринскому.
3001 
3002     *) Исправление: при совместном использовании sub_filter и SSI ответы
3003        могли передаваться неверно.
3004 
3005 
3006 Изменения в nginx 0.7.4                                           30.06.2008
3007 
3008     *) Добавление: директива access_log поддерживает переменные.
3009 
3010     *) Добавление: директива open_log_file_cache.
3011 
3012     *) Добавление: ключ -g.
3013 
3014     *) Добавление: поддержка строки "Expect" в заголовке запроса.
3015 
3016     *) Исправление: большие включения в SSI могли передавались не полностью.
3017 
3018 
3019 Изменения в nginx 0.7.3                                           23.06.2008
3020 
3021     *) Изменение: MIME-тип для расширения rss изменён на
3022        "application/rss+xml".
3023 
3024     *) Изменение: теперь директива "gzip_vary on" выдаёт строку
3025        "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
3026 
3027     *) Добавление: теперь при использовании протокола "https://" в директиве
3028        rewrite автоматически делается редирект.
3029 
3030     *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
3031        ошибка появилась в 0.6.9.
3032 
3033 
3034 Изменения в nginx 0.7.2                                           16.06.2008
3035 
3036     *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
3037 
3038     *) Добавление: директива ssl_dhparam.
3039 
3040     *) Добавление: переменная $ssl_client_cert.
3041        Спасибо Manlio Perillo.
3042 
3043     *) Исправление: после изменения URI с помощью директивы rewrite nginx не
3044        искал новый location; ошибка появилась в 0.7.1.
3045        Спасибо Максиму Дунину.
3046 
3047     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3048        в 0.7.1.
3049 
3050     *) Исправление: при редиректе запроса к каталогу с добавлением слэша
3051        nginx не добавлял аргументы из оригинального запроса.
3052 
3053 
3054 Изменения в nginx 0.7.1                                           26.05.2008
3055 
3056     *) Изменение: теперь поиск location'а делается с помощью дерева.
3057 
3058     *) Изменение: директива optimize_server_names упразднена в связи с
3059        появлением директивы server_name_in_redirect.
3060 
3061     *) Изменение: некоторые давно устаревшие директивы больше не
3062        поддерживаются.
3063 
3064     *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
3065        параметр используется по умолчанию.
3066        Спасибо Rob Mueller.
3067 
3068     *) Исправление: рабочие процессы могли не реагировать на сигналы
3069        переконфигурации и ротации логов.
3070 
3071     *) Исправление: nginx не собирался на последних Fedora 9 Linux.
3072        Спасибо Roxis.
3073 
3074 
3075 Изменения в nginx 0.7.0                                           19.05.2008
3076 
3077     *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
3078        записываются в виде \xXX.
3079        Спасибо Максиму Дунину.
3080 
3081     *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
3082        запроса.
3083 
3084     *) Добавление: директива expires поддерживает флаг modified.
3085 
3086     *) Добавление: переменные $uid_got и $uid_set можно использовать на
3087        любой стадии обработки запроса.
3088 
3089     *) Добавление: переменная $hostname.
3090        Спасибо Андрею Нигматулину.
3091 
3092     *) Добавление: поддержка DESTDIR.
3093        Спасибо Todd A. Fisher и Andras Voroskoi.
3094 
3095     *) Исправление: при использовании keepalive на Linux в рабочем процессе
3096        мог произойти segmentation fault.
3097 
3098 
3099 Изменения в nginx 0.6.31                                          12.05.2008
3100 
3101     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
3102        заголовка ответ была в конце записи FastCGI; ошибка появилась в
3103        0.6.2.
3104        Спасибо Сергею Серову.
3105 
3106     *) Исправление: при удалении файла и использовании директивы
3107        open_file_cache_errors off в рабочем процессе мог произойти
3108        segmentation fault.
3109 
3110 
3111 Изменения в nginx 0.6.30                                          29.04.2008
3112 
3113     *) Изменение: теперь, если маске, заданной в директиве include, не
3114        соответствует ни один файл, то nginx не выдаёт ошибку.
3115 
3116     *) Добавление: теперь время в директивах можно задавать без пробела,
3117        например, "1h50m".
3118 
3119     *) Исправление: утечек памяти, если директива ssl_verify_client имела
3120        значение on.
3121        Спасибо Chavelle Vincent.
3122 
3123     *) Исправление: директива sub_filter могла вставлять заменяемый текст в
3124        вывод.
3125 
3126     *) Исправление: директива error_page не воспринимала параметры в
3127        перенаправляемом URI.
3128 
3129     *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
3130        в бинарном режиме.
3131 
3132     *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
3133        0.6.15.
3134 
3135 
3136 Изменения в nginx 0.6.29                                          18.03.2008
3137 
3138     *) Добавление: модуль ngx_google_perftools_module.
3139 
3140     *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
3141        платформах; ошибка появилась в 0.6.27.
3142 
3143 
3144 Изменения в nginx 0.6.28                                          13.03.2008
3145 
3146     *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
3147 
3148 
3149 Изменения в nginx 0.6.27                                          12.03.2008
3150 
3151     *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
3152        rtsig.
3153 
3154     *) Изменение: теперь при перенаправлении запроса в именованный location
3155        с помощью директивы error_page метод запроса не изменяется.
3156 
3157     *) Добавление: директивы resolver и resolver_timeout в SMTP
3158        прокси-сервере.
3159 
3160     *) Добавление: директива post_action поддерживает именованные
3161        location'ы.
3162 
3163     *) Исправление: при перенаправлении запроса из location'а c обработчиком
3164        proxy, FastCGI или memcached в именованный location со статическим
3165        обработчиком в рабочем процессе происходил segmentation fault.
3166 
3167     *) Исправление: браузеры не повторяли SSL handshake, если при первом
3168        handshake не оказалось правильного клиентского сертификата.
3169        Спасибо Александру Инюхину.
3170 
3171     *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
3172        error_page без изменения кода ошибки nginx пытался выделить очень
3173        много памяти.
3174 
3175     *) Исправление: утечки памяти в долгоживущих небуфферизированных
3176        соединениях.
3177 
3178     *) Исправление: утечки памяти в resolver'е.
3179 
3180     *) Исправление: при перенаправлении запроса из location'а c обработчиком
3181        proxy в другой location с обработчиком proxy в рабочем процессе
3182        происходил segmentation fault.
3183 
3184     *) Исправление: ошибки в кэшировании переменных $proxy_host и
3185        $proxy_port.
3186        Спасибо Сергею Боченкову.
3187 
3188     *) Исправление: директива proxy_pass с переменными использовала порт,
3189        описанной в другой директиве proxy_pass без переменных, но с таким же
3190        именем хоста.
3191        Спасибо Сергею Боченкову.
3192 
3193     *) Исправление: во время переконфигурации на некоторых 64-битном
3194        платформах в лог записывался alert "sendmsg() failed (9: Bad file
3195        descriptor)".
3196 
3197     *) Исправление: при повторном использовании в SSI пустого block'а в
3198        качестве заглушки в рабочем процессе происходил segmentation fault.
3199 
3200     *) Исправление: ошибки при копировании части URI, содержащего
3201        экранированные символы, в аргументы.
3202 
3203 
3204 Изменения в nginx 0.6.26                                          11.02.2008
3205 
3206     *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
3207        ответа.
3208 
3209     *) Исправление: при использовании большого значения в директиве expires
3210        в рабочем процессе происходил segmentation fault.
3211        Спасибо Joaquin Cuenca Abela.
3212 
3213     *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
3214        Спасибо Геннадию Махомеду.
3215 
3216     *) Исправление: в проксированных подзапросах и подзапросах к
3217        FastCGI-серверу вместо метода GET использовался оригинальный метод
3218        клиента.
3219 
3220     *) Исправление: утечки сокетов в режиме HTTPS при использовании
3221        отложенного accept'а.
3222        Спасибо Ben Maurer.
3223 
3224     *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
3225        (SSL: )"; ошибка появилась в 0.6.23.
3226 
3227     *) Исправление: при использовании HTTPS запросы могли завершаться с
3228        ошибкой "bad write retry"; ошибка появилась в 0.6.23.
3229 
3230 
3231 Изменения в nginx 0.6.25                                          08.01.2008
3232 
3233     *) Изменение: вместо специального параметра "*" в директиве server_name
3234        теперь используется директива server_name_in_redirect.
3235 
3236     *) Изменение: в качестве основного имени в директиве server_name теперь
3237        можно использовать имена с масками и регулярными выражениями.
3238 
3239     *) Изменение: директива satisfy_any заменена директивой satisfy.
3240 
3241     *) Изменение: после переконфигурации старые рабочие процесс могли сильно
3242        нагружать процессор при запуске под Linux OpenVZ.
3243 
3244     *) Добавление: директива min_delete_depth.
3245 
3246     *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
3247 
3248     *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
3249        модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
3250 
3251     *) Исправление: утечки сокетов в режиме HTTPS при использовании
3252        отложенного accept'а.
3253        Спасибо Ben Maurer.
3254 
3255     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3256        в 0.6.23.
3257 
3258 
3259 Изменения в nginx 0.6.24                                          27.12.2007
3260 
3261     *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
3262        segmentation fault; ошибка появилась в 0.6.23.
3263 
3264 
3265 Изменения в nginx 0.6.23                                          27.12.2007
3266 
3267     *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
3268        параметр используется по умолчанию.
3269 
3270     *) Изменение: директива open_file_cache_retest переименована в
3271        open_file_cache_valid.
3272 
3273     *) Добавление: директива open_file_cache_min_uses.
3274 
3275     *) Добавление: модуль ngx_http_gzip_static_module.
3276 
3277     *) Добавление: директива gzip_disable.
3278 
3279     *) Добавление: директиву memcached_pass можно использовать внутри блока
3280        if.
3281 
3282     *) Исправление: если внутри одного location'а использовались директивы
3283        "memcached_pass" и "if", то в рабочем процессе происходил
3284        segmentation fault.
3285 
3286     *) Исправление: если при использовании директивы satisfy_any on" были
3287        заданы директивы не всех модулей доступа, то заданные директивы не
3288        проверялись.
3289 
3290     *) Исправление: параметры, заданные регулярным выражением в директиве
3291        valid_referers, не наследовалась с предыдущего уровня.
3292 
3293     *) Исправление: директива post_action не работала, если запрос
3294        завершался с кодом 499.
3295 
3296     *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
3297        Спасибо Ben Maurer.
3298 
3299     *) Исправление: STARTTLS в режиме SMTP не работал.
3300        Спасибо Олегу Мотиенко.
3301 
3302     *) Исправление: при использовании HTTPS запросы могли завершаться с
3303        ошибкой "bad write retry"; ошибка появилась в 0.5.13.
3304 
3305 
3306 Изменения в nginx 0.6.22                                          19.12.2007
3307 
3308     *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
3309        значения, скопированные в память, выделенную perl'ом.
3310 
3311     *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
3312        использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
3313        время переконфигурации основной процесс аварийно выходил; ошибка
3314        появилась в 0.5.9.
3315        Спасибо Борису Жмурову.
3316 
3317     *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
3318        неверные результаты выделения в регулярных выражениях.
3319 
3320     *) Исправление: если метод $r->has_request_body() вызывался для запроса,
3321        у которого небольшое тело запроса было уже полностью получено, то в
3322        рабочем процессе происходил segmentation fault.
3323 
3324     *) Исправление: large_client_header_buffers не освобождались перед
3325        переходом в состояние keep-alive.
3326        Спасибо Олександру Штепе.
3327 
3328     *) Исправление: в переменной $upstream_addr не записывался последний
3329        адрес; ошибка появилась в 0.6.18.
3330 
3331     *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
3332        теперь она возвращает ошибку 502, которую можно направить на
3333        следующий сервер с помощью "fastcgi_next_upstream invalid_header".
3334 
3335     *) Исправление: при использовании директивы fastcgi_catch_stderr в
3336        основном процессе происходил segmentation fault; ошибка появилась в
3337        0.6.10.
3338        Спасибо Manlio Perillo.
3339 
3340 
3341 Изменения в nginx 0.6.21                                          03.12.2007
3342 
3343     *) Изменение: если в значениях переменных директивы proxy_pass
3344        используются только IP-адреса, то указывать resolver не нужно.
3345 
3346     *) Исправление: при использовании директивы proxy_pass c URI-частью в
3347        рабочем процессе мог произойти segmentation fault; ошибка появилась в
3348        0.6.19.
3349 
3350     *) Исправление: если resolver использовался на платформах, не
3351        поддерживающих метод kqueue, то nginx выдавал alert "name is out of
3352        response".
3353        Спасибо Андрею Нигматулину.
3354 
3355     *) Исправление: При использовании переменной $server_protocol в
3356        FastCGI-параметрах и запросе, длина которого была близка к значению
3357        директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
3358        the request record is too big".
3359 
3360     *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
3361        nginx возвращал обычный ответ.
3362 
3363 
3364 Изменения в nginx 0.6.20                                          28.11.2007
3365 
3366     *) Исправление: при использовании директивы proxy_pass c URI-частью в
3367        рабочем процессе мог произойти segmentation fault; ошибка появилась в
3368        0.6.19.
3369 
3370 
3371 Изменения в nginx 0.6.19                                          27.11.2007
3372 
3373     *) Исправление: версия 0.6.18 не собиралась.
3374 
3375 
3376 Изменения в nginx 0.6.18                                          27.11.2007
3377 
3378     *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
3379        процесса добавляет микросекунды на время старта.
3380 
3381     *) Изменение: в error_log теперь записывается полная строка запроса
3382        вместо только URI.
3383 
3384     *) Добавление: директива proxy_pass поддерживает переменные.
3385 
3386     *) Добавление: директивы resolver и resolver_timeout.
3387 
3388     *) Добавление: теперь директива "add_header last-modified ''" удаляет в
3389        заголовке ответа строку "Last-Modified".
3390 
3391     *) Исправление: директива limit_rate не позволяла передавать на полной
3392        скорости, даже если был указан очень большой лимит.
3393 
3394 
3395 Изменения в nginx 0.6.17                                          15.11.2007
3396 
3397     *) Добавление: поддержка строки "If-Range" в заголовке запроса.
3398        Спасибо Александру Инюхину.
3399 
3400     *) Исправление: при использовании директивы msie_refresh повторно
3401        экранировались уже экранированные символы; ошибка появилась в 0.6.4.
3402 
3403     *) Исправление: директива autoindex не работала при использовании "alias
3404        /".
3405 
3406     *) Исправление: при использовании подзапросов в рабочем процессе мог
3407        произойти segmentation fault.
3408 
3409     *) Исправление: при использовании SSL и gzip большие ответы могли
3410        передаваться не полностью.
3411 
3412     *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
3413        то переменная $status была равна 0.
3414 
3415 
3416 Изменения в nginx 0.6.16                                          29.10.2007
3417 
3418     *) Изменение: теперь на Linux используется uname(2) вместо procfs.
3419        Спасибо Илье Новикову.
3420 
3421     *) Исправление: если в директиве error_page использовался символ "?", то
3422        он экранировался при проксировании запроса; ошибка появилась в
3423        0.6.11.
3424 
3425     *) Исправление: совместимость с mget.
3426 
3427 
3428 Изменения в nginx 0.6.15                                          22.10.2007
3429 
3430     *) Добавление: совместимость с Cygwin.
3431        Спасибо Владимиру Кутакову.
3432 
3433     *) Добавление: директива merge_slashes.
3434 
3435     *) Добавление: директива gzip_vary.
3436 
3437     *) Добавление: директива server_tokens.
3438 
3439     *) Исправление: nginx не раскодировал URI в команде SSI include.
3440 
3441     *) Исправление: при использовании переменной в директивах charset или
3442        source_charset на старте или во время переконфигурации происходил
3443        segmentation fault,
3444 
3445     *) Исправление: nginx возвращал ошибку 400 на запросы вида
3446        "GET http://www.domain.com HTTP/1.0".
3447        Спасибо James Oakley.
3448 
3449     *) Исправление: после перенаправления запроса с телом запроса с помощью
3450        директивы error_page nginx пытался снова прочитать тело запроса;
3451        ошибка появилась в 0.6.7.
3452 
3453     *) Исправление: в рабочем процессе происходил segmentation fault, если у
3454        сервера, обрабатывающему запрос, не был явно определён server_name;
3455        ошибка появилась в 0.6.7.
3456 
3457 
3458 Изменения в nginx 0.6.14                                          15.10.2007
3459 
3460     *) Изменение: теперь по умолчанию команда SSI echo использует
3461        кодирование entity.
3462 
3463     *) Добавление: параметр encoding в команде SSI echo.
3464 
3465     *) Добавление: директиву access_log можно использовать внутри блока
3466        limit_except.
3467 
3468     *) Исправление: если все сервера апстрима оказывались недоступными, то
3469        до восстановления работоспособности у всех серверов вес становился
3470        равным одному; ошибка появилась в 0.6.6.
3471 
3472     *) Исправление: при использовании переменных $date_local и $date_gmt вне
3473        модуля ngx_http_ssi_filter_module в рабочем процессе происходил
3474        segmentation fault.
3475 
3476     *) Исправление: при использовании включённом отладочном логе в рабочем
3477        процессе мог произойти segmentation fault.
3478        Спасибо Андрею Нигматулину.
3479 
3480     *) Исправление: ngx_http_memcached_module не устанавливал
3481        $upstream_response_time.
3482        Спасибо Максиму Дунину.
3483 
3484     *) Исправление: рабочий процесс мог зациклиться при использовании
3485        memcached.
3486 
3487     *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
3488        строке "Connection" в заголовке запроса только, если они были в
3489        нижнем регистре; ошибка появилась в 0.6.11.
3490 
3491     *) Исправление: sub_filter не работал с пустой строкой замены.
3492 
3493     *) Исправление: в парсинге sub_filter.
3494 
3495 
3496 Изменения в nginx 0.6.13                                          24.09.2007
3497 
3498     *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
3499        использовался autoindex
3500        Спасибо Arkadiusz Patyk.
3501 
3502 
3503 Изменения в nginx 0.6.12                                          21.09.2007
3504 
3505     *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
3506        и smtp.
3507 
3508     *) Добавление: параметры конфигурации --without-mail_pop3_module,
3509        --without-mail_imap_module и --without-mail_smtp_module.
3510 
3511     *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
3512        ngx_mail_smtp_module.
3513 
3514     *) Исправление: wildcard в конце имени сервера не работали; ошибка
3515        появилась в 0.6.9.
3516 
3517     *) Исправление: при использовании разделяемой библиотеки PCRE,
3518        расположенной в нестандартном месте, nginx не запускался на Solaris.
3519 
3520     *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
3521        скрывали строки заголовка ответа с именем больше 32 символов.
3522        Спасибо Manlio Perillo.
3523 
3524 
3525 Изменения в nginx 0.6.11                                          11.09.2007
3526 
3527     *) Исправление: счётчик активных соединений всегда рос при использовании
3528        почтового прокси-сервера.
3529 
3530     *) Исправление: если бэкенд возвращал только заголовок ответа при
3531        небуферизированном проксировании, то nginx закрывал соединение с
3532        бэкендом по таймауту.
3533 
3534     *) Исправление: nginx не поддерживал несколько строк "Connection" в
3535        заголовке запроса.
3536 
3537     *) Исправление: если в сервере апстрима был задан max_fails, то после
3538        первой же неудачной попытки вес сервера навсегда становился равным
3539        одному; ошибка появилась в 0.6.6.
3540 
3541 
3542 Изменения в nginx 0.6.10                                          03.09.2007
3543 
3544     *) Добавление: директивы open_file_cache, open_file_cache_retest и
3545        open_file_cache_errors.
3546 
3547     *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
3548 
3549     *) Исправление: В строку заголовка ответа "Content-Type", указанную в
3550        методе $r->send_http_header(), не добавлялась кодировка, указанная в
3551        директиве charset.
3552 
3553     *) Исправление: при использовании метода /dev/poll в рабочем процессе
3554        мог произойти segmentation fault.
3555 
3556 
3557 Изменения в nginx 0.6.9                                           28.08.2007
3558 
3559     *) Исправление: рабочий процесс мог зациклиться при использовании
3560        протокола HTTPS; ошибка появилась в 0.6.7.
3561 
3562     *) Исправление: если сервер слушал на двух адресах или портах, то nginx
3563        не запускался при использовании wildcard в конце имени сервера.
3564 
3565     *) Исправление: директива ip_hash могла неверно помечать сервера как
3566        нерабочие.
3567 
3568     *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
3569 
3570 
3571 Изменения в nginx 0.6.8                                           20.08.2007
3572 
3573     *) Изменение: теперь nginx пытается установить директивы
3574        worker_priority, worker_rlimit_nofile, worker_rlimit_core,
3575        worker_rlimit_sigpending без привилегий root'а.
3576 
3577     *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
3578        запроса серверу аутентификации почтового прокси-сервера.
3579 
3580     *) Изменение: теперь nginx экранирует символ "%" в переменной
3581        $memcached_key.
3582 
3583     *) Исправление: при указании относительного пути к конфигурационному
3584        файлу в качестве параметра ключа -c nginx определял путь относительно
3585        конфигурационного префикса; ошибка появилась в 0.6.6.
3586 
3587     *) Исправление: nginx не работал на FreeBSD/sparc64.
3588 
3589 
3590 Изменения в nginx 0.6.7                                           15.08.2007
3591 
3592     *) Изменение: теперь пути, указанные в директивах include,
3593        auth_basic_user_file, perl_modules, ssl_certificate,
3594        ssl_certificate_key и ssl_client_certificate, определяются
3595        относительно каталога конфигурационного файла nginx.conf, а не
3596        относительно префикса.
3597 
3598     *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
3599 
3600     *) Изменение: для обновления на лету версий 0.1.x создан специальный
3601        сценарий make upgrade1.
3602 
3603     *) Добавление: директивы server_name и valid_referers поддерживают
3604        регулярные выражения.
3605 
3606     *) Добавление: директива server в блоке upstream поддерживает параметр
3607        backup.
3608 
3609     *) Добавление: модуль ngx_http_perl_module поддерживает метод
3610        $r->discard_request_body.
3611 
3612     *) Добавление: директива "add_header Last-Modified ..." меняет строку
3613        "Last-Modified" в заголовке ответа.
3614 
3615     *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
3616        отличным от 200, и после этого запроса соединение переходило в
3617        состояние keep-alive, то на следующий запрос nginx возвращал 400.
3618 
3619     *) Исправление: если в директиве auth_http был задан неправильный адрес,
3620        то в рабочем процессе происходил segmentation fault.
3621 
3622     *) Исправление: теперь по умолчанию nginx использует значение 511 для
3623        listen backlog на всех платформах, кроме FreeBSD.
3624        Спасибо Jiang Hong.
3625 
3626     *) Исправление: рабочий процесс мог зациклиться, если server в блоке
3627        upstream был помечен как down; ошибка появилась в 0.6.6.
3628 
3629     *) Исправление: sendfilev() в Solaris теперь не используется при
3630        передаче тела запроса FastCGI-серверу через unix domain сокет.
3631 
3632 
3633 Изменения в nginx 0.6.6                                           30.07.2007
3634 
3635     *) Добавление: параметр --sysconfdir=PATH в configure.
3636 
3637     *) Добавление: именованные location'ы.
3638 
3639     *) Добавление: переменную $args можно устанавливать с помощью set.
3640 
3641     *) Добавление: переменная $is_args.
3642 
3643     *) Исправление: равномерное распределение запросов к апстримам с
3644        большими весами.
3645 
3646     *) Исправление: если клиент в почтовом прокси-сервере закрывал
3647        соединение, то nginx мог не закрывать соединение с бэкендом.
3648 
3649     *) Исправление: при использовании одного хоста в качестве бэкендов для
3650        протоколов HTTP и HTTPS без явного указания портов, nginx использовал
3651        только один порт - 80 или 443.
3652 
3653     *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
3654        более ранними версиями; ошибка появилась в 0.6.4.
3655 
3656 
3657 Изменения в nginx 0.6.5                                           23.07.2007
3658 
3659     *) Добавление: переменная $nginx_version.
3660        Спасибо Николаю Гречуху.
3661 
3662     *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
3663        IMAP.
3664        Спасибо Максиму Дунину.
3665 
3666     *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
3667        SMTP.
3668        Спасибо Максиму Дунину.
3669 
3670     *) Исправление: теперь nginx экранирует пробел в переменной
3671        $memcached_key.
3672 
3673     *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
3674        Спасибо Jiang Hong.
3675 
3676     *) Исправление: незначительных потенциальных ошибок.
3677        Спасибо Coverity's Scan.
3678 
3679 
3680 Изменения в nginx 0.6.4                                           17.07.2007
3681 
3682     *) Безопасность: при использовании директивы msie_refresh был возможен
3683        XSS.
3684        Спасибо Максиму Богуку.
3685 
3686     *) Изменение: директивы proxy_store и fastcgi_store изменены.
3687 
3688     *) Добавление: директивы proxy_store_access и fastcgi_store_access.
3689 
3690     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3691        Studio.
3692        Спасибо Андрею Нигматулину.
3693 
3694     *) Изменение: обход ошибки в Sun Studio 12.
3695        Спасибо Jiang Hong.
3696 
3697 
3698 Изменения в nginx 0.6.3                                           12.07.2007
3699 
3700     *) Добавление: директивы proxy_store и fastcgi_store.
3701 
3702     *) Исправление: при использовании директивы auth_http_header в рабочем
3703        процессе мог произойти segmentation fault.
3704        Спасибо Максиму Дунину.
3705 
3706     *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
3707        не был разрешён, то в рабочем процессе происходил segmentation fault.
3708 
3709     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
3710        в рабочем процессе мог произойти segmentation fault.
3711 
3712     *) Исправление: в рабочем процессе мог произойти segmentation fault,
3713        если использовался метод eventport.
3714 
3715     *) Исправление: директивы proxy_ignore_client_abort и
3716        fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
3717 
3718 
3719 Изменения в nginx 0.6.2                                           09.07.2007
3720 
3721     *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
3722        nginx передавал клиенту мусор в таких заголовках.
3723 
3724 
3725 Изменения в nginx 0.6.1                                           17.06.2007
3726 
3727     *) Исправление: в парсинге SSI.
3728 
3729     *) Исправление: при использовании удалённого подзапроса в SSI
3730        последующий подзапрос локального файла мог отдаваться клиенту в
3731        неверном порядке.
3732 
3733     *) Исправление: большие включения в SSI, сохранённые во временные файлы,
3734        передавались не полностью.
3735 
3736     *) Исправление: значение perl'овой переменной $$ модуля
3737        ngx_http_perl_module было равно номеру главного процесса.
3738 
3739 
3740 Изменения в nginx 0.6.0                                           14.06.2007
3741 
3742     *) Добавление: директивы "server_name", "map", and "valid_referers"
3743        поддерживают маски вида "www.example.*".
3744 
3745 
3746 Изменения в nginx 0.5.25                                          11.06.2007
3747 
3748     *) Исправление: nginx не собирался с параметром
3749        --without-http_rewrite_module; ошибка появилась в 0.5.24.
3750 
3751 
3752 Изменения в nginx 0.5.24                                          06.06.2007
3753 
3754     *) Безопасность: директива ssl_verify_client не работала, если запрос
3755        выполнялся по протоколу HTTP/0.9.
3756 
3757     *) Исправление: при использовании сжатия часть ответа могла передаваться
3758        несжатой; ошибка появилась в 0.5.23.
3759 
3760 
3761 Изменения в nginx 0.5.23                                          04.06.2007
3762 
3763     *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
3764        Server Name Indication.
3765 
3766     *) Добавление: директива fastcgi_catch_stderr.
3767        Спасибо Николаю Гречуху, проект OWOX.
3768 
3769     *) Исправление: на Линуксе в основном процессе происходил segmentation
3770        fault, если два виртуальных сервера должны bind()ится к
3771        пересекающимся портам.
3772 
3773     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3774        perl поддерживал потоки, то во время второй переконфигурации
3775        выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
3776 
3777     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3778 
3779 
3780 Изменения в nginx 0.5.22                                          29.05.2007
3781 
3782     *) Исправление: большое тело запроса могло не передаваться бэкенду;
3783        ошибка появилась в 0.5.21.
3784 
3785 
3786 Изменения в nginx 0.5.21                                          28.05.2007
3787 
3788     *) Исправление: если внутри сервера описано больше примерно десяти
3789        location'ов, то location'ы, заданные с помощью регулярного выражения,
3790        могли выполняться не в том, порядке, в каком они описаны.
3791 
3792     *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
3793        если 33-тий по счёту или последующий бэкенд упал.
3794        Спасибо Антону Поварову.
3795 
3796     *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
3797        произойти bus error.
3798        Спасибо Андрею Нигматулину.
3799 
3800     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3801 
3802 
3803 Изменения в nginx 0.5.20                                          07.05.2007
3804 
3805     *) Добавление: директива sendfile_max_chunk.
3806 
3807     *) Добавление: переменные "$http_...", "$sent_http_..." и
3808        "$upstream_http_..." можно менять директивой set.
3809 
3810     *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
3811        рабочем процессе мог произойти segmentation fault.
3812 
3813     *) Исправление: завершающая строка multipart range ответа передавалась
3814        неверно.
3815        Спасибо Evan Miller.
3816 
3817     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3818        Studio.
3819        Спасибо Андрею Нигматулину.
3820 
3821     *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
3822        Спасибо Андрею Нигматулину.
3823 
3824 
3825 Изменения в nginx 0.5.19                                          24.04.2007
3826 
3827     *) Изменение: значение переменной $request_time теперь записывается с
3828        точностью до миллисекунд.
3829 
3830     *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
3831        переименован в $r->flush.
3832 
3833     *) Добавление: переменная $upstream_addr.
3834 
3835     *) Добавление: директивы proxy_headers_hash_max_size и
3836        proxy_headers_hash_bucket_size.
3837        Спасибо Володымыру Костырко.
3838 
3839     *) Исправление: при использовании sendfile и limit_rate на 64-битных
3840        платформах нельзя было передавать файлы больше 2G.
3841 
3842     *) Исправление: при использовании sendfile на 64-битном Linux нельзя
3843        было передавать файлы больше 2G.
3844 
3845 
3846 Изменения в nginx 0.5.18                                          19.04.2007
3847 
3848     *) Добавление: модуль ngx_http_sub_filter_module.
3849 
3850     *) Добавление: переменные "$upstream_http_...".
3851 
3852     *) Добавление: теперь переменные $upstream_status и
3853        $upstream_response_time содержат данные о всех обращениях к
3854        апстримам, сделанным до X-Accel-Redirect.
3855 
3856     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3857        perl не поддерживал multiplicity, то после первой переконфигурации и
3858        после получения любого сигнала в основном процессе происходил
3859        segmentation fault; ошибка появилась в 0.5.9.
3860 
3861     *) Исправление: если perl не поддерживал multiplicity, то после
3862        переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
3863 
3864 
3865 Изменения в nginx 0.5.17                                          02.04.2007
3866 
3867     *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
3868 
3869     *) Добавление: теперь nginx поддерживает директиву include внутри блока
3870        types.
3871 
3872     *) Исправление: использование переменной $document_root в директиве root
3873        и alias запрещено: оно вызывало рекурсивное переполнение стека.
3874 
3875     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3876 
3877     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
3878        $uri) возвращали старое закэшированное значение.
3879 
3880 
3881 Изменения в nginx 0.5.16                                          26.03.2007
3882 
3883     *) Исправление: в качестве ключа для хэша в директиве ip_hash не
3884        использовалась сеть класса С.
3885        Спасибо Павлу Ярковому.
3886 
3887     *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
3888        был указан charset и строка завершалась символом ";", то в рабочем
3889        процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
3890 
3891     *) Исправление: ошибки "[alert] zero size buf" при работе с
3892        FastCGI-сервером, если тело запроса, записанное во временный файл,
3893        было кратно 32K.
3894 
3895     *) Исправление: nginx не собирался на Solaris без параметра
3896        --with-debug; ошибка появилась в 0.5.15.
3897 
3898 
3899 Изменения в nginx 0.5.15                                          19.03.2007
3900 
3901     *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
3902        SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
3903        Спасибо Антону Южанинову и Максиму Дунину.
3904 
3905     *) Добавление: теперь keep-alive соединения закрываются сразу же по
3906        получении сигнала переконфигурации.
3907 
3908     *) Изменение: директивы imap и auth переименованы соответственно в mail
3909        и pop3_auth.
3910 
3911     *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
3912        был разрешён метод APOP, то в рабочем процессе происходил
3913        segmentation fault.
3914 
3915     *) Исправление: при использовании директивы starttls only в протоколе
3916        POP3 nginx разрешал аутентификацию без перехода в режим SSL.
3917 
3918     *) Исправление: рабочие процессы не выходили после переконфигурации и не
3919        переоткрывали логи, если использовался метод eventport.
3920 
3921     *) Исправление: при использовании директивы ip_hash рабочий процесс мог
3922        зациклиться.
3923 
3924     *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
3925        используются методы eventport или /dev/poll.
3926 
3927 
3928 Изменения в nginx 0.5.14                                          23.02.2007
3929 
3930     *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
3931        конфигурационного файла.
3932 
3933 
3934 Изменения в nginx 0.5.13                                          19.02.2007
3935 
3936     *) Добавление: методы COPY и MOVE.
3937 
3938     *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
3939        запросов, переданных по keep-alive соединению.
3940 
3941     *) Исправление: nginx не работал на 64-битном big-endian Linux.
3942        Спасибо Андрею Нигматулину.
3943 
3944     *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
3945        теперь сразу закрывает соединение, а не по таймауту.
3946 
3947     *) Исправление: если при использовании метода epoll клиент закрывал
3948        преждевременно соединение со своей стороны, то nginx закрывал это
3949        соединение только по истечении таймаута на передачу.
3950 
3951     *) Исправление: nginx не собирался на платформах, отличных от i386,
3952        amd64, sparc и ppc; ошибка появилась в 0.5.8.
3953 
3954 
3955 Изменения в nginx 0.5.12                                          12.02.2007
3956 
3957     *) Исправление: nginx не собирался на платформах, отличных от i386,
3958        amd64, sparc и ppc; ошибка появилась в 0.5.8.
3959 
3960     *) Исправление: при использовании временных файлов в время работы с
3961        FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
3962        ошибка появилась в 0.5.8.
3963 
3964     *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
3965        то в рабочем процессе мог произойти segmentation fault.
3966 
3967     *) Исправление: ngx_http_perl_module не собирался на Solaris.
3968 
3969 
3970 Изменения в nginx 0.5.11                                          05.02.2007
3971 
3972     *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
3973        Спасибо Chris McGrath.
3974 
3975     *) Исправление: ответ был неверным, если запрашивалось несколько
3976        диапазонов; ошибка появилась в 0.5.6.
3977 
3978     *) Исправление: директива create_full_put_path не могла создавать
3979        промежуточные каталоги, если не была установлена директива
3980        dav_access.
3981        Спасибо Evan Miller.
3982 
3983     *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
3984        записываться код "0".
3985 
3986     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3987        произойти segmentation fault.
3988 
3989 
3990 Изменения в nginx 0.5.10                                          26.01.2007
3991 
3992     *) Исправление: во время обновления исполняемого файла новый процесс не
3993        наследовал слушающие сокеты; ошибка появилась в 0.5.9.
3994 
3995     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3996        произойти segmentation fault; ошибка появилась в 0.5.1.
3997 
3998 
3999 Изменения в nginx 0.5.9                                           25.01.2007
4000 
4001     *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
4002        использует значение переменной $memcached_key.
4003 
4004     *) Добавление: переменная $memcached_key.
4005 
4006     *) Добавление: параметр clean в директиве client_body_in_file_only.
4007 
4008     *) Добавление: директива env.
4009 
4010     *) Добавление: директива sendfile работает внутри блока if.
4011 
4012     *) Добавление: теперь при ошибке записи в access_log nginx записывает
4013        сообщение в error_log, но не чаще одного раза в минуту.
4014 
4015     *) Исправление: директива "access_log off" не всегда запрещала запись в
4016        лог.
4017 
4018 
4019 Изменения в nginx 0.5.8                                           19.01.2007
4020 
4021     *) Исправление: если использовалась директива
4022        "client_body_in_file_only on" и тело запроса было небольшое, то мог
4023        произойти segmentation fault.
4024 
4025     *) Исправление: происходил segmentation fault, если использовались
4026        директивы "client_body_in_file_only on" и
4027        "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
4028        делался переход к следующему бэкенду.
4029 
4030     *) Исправление: если при использовании директивы "proxy_buffering off"
4031        соединение с клиентом было неактивно, то оно закрывалось по таймауту,
4032        заданному директивой send_timeout; ошибка появилась в 0.4.7.
4033 
4034     *) Исправление: если при использовании метода epoll клиент закрывал
4035        преждевременно соединение со своей стороны, то nginx закрывал это
4036        соединение только по истечении таймаута на передачу.
4037 
4038     *) Исправление: ошибки "[alert] zero size buf" при работе с
4039        FastCGI-сервером.
4040 
4041     *) Исправление ошибок в директиве limit_zone.
4042 
4043 
4044 Изменения в nginx 0.5.7                                           15.01.2007
4045 
4046     *) Добавление: оптимизация использования памяти в ssl_session_cache.
4047 
4048     *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
4049 
4050     *) Исправление: на старте или во время переконфигурации происходил
4051        segmentation fault, если директивы ssl_session_cache или limit_zone
4052        использовались на 64-битных платформах.
4053 
4054     *) Исправление: при использовании директив add_before_body или
4055        add_after_body происходил segmentation fault, если в заголовке ответа
4056        нет строки "Content-Type".
4057 
4058     *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
4059        потоков.
4060        Спасибо Дену Иванову.
4061 
4062     *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
4063 
4064 
4065 Изменения в nginx 0.5.6                                           09.01.2007
4066 
4067     *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
4068        кроме GET, HEAD и POST.
4069 
4070     *) Добавление: модуль ngx_http_limit_zone_module.
4071 
4072     *) Добавление: переменная $binary_remote_addr.
4073 
4074     *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
4075        ngx_imap_ssl_module.
4076 
4077     *) Добавление: метод DELETE поддерживает рекурсивное удаление.
4078 
4079     *) Исправление: при использовании $r->sendfile() byte-ranges
4080        передавались неверно.
4081 
4082 
4083 Изменения в nginx 0.5.5                                           24.12.2006
4084 
4085     *) Изменение: ключ -v больше не выводит информацию о компиляторе.
4086 
4087     *) Добавление: ключ -V.
4088 
4089     *) Добавление: директива worker_rlimit_core поддерживает указание
4090        размера в K, M и G.
4091 
4092     *) Исправление: модуль nginx.pm теперь может устанавливаться
4093        непривилегированным пользователем.
4094 
4095     *) Исправление: при использовании методов $r->request_body или
4096        $r->request_body_file мог произойти segmentation fault.
4097 
4098     *) Исправление: ошибок, специфичных для платформы ppc.
4099 
4100 
4101 Изменения в nginx 0.5.4                                           15.12.2006
4102 
4103     *) Добавление: директиву perl можно использовать внутри блока
4104        limit_except.
4105 
4106     *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
4107        заголовке запроса для метода DELETE.
4108 
4109     *) Исправление: при использовании одного параметра в директиве
4110        dav_access nginx мог сообщить об ошибке в конфигурации.
4111 
4112     *) Исправление: при использовании переменной $host мог произойти
4113        segmentation fault; ошибка появилась в 0.4.14.
4114 
4115 
4116 Изменения в nginx 0.5.3                                           13.12.2006
4117 
4118     *) Добавление: модуль ngx_http_perl_module поддерживает методы
4119        $r->status, $r->log_error и $r->sleep.
4120 
4121     *) Добавление: метод $r->variable поддерживает переменные, неописанные в
4122        конфигурации nginx'а.
4123 
4124     *) Исправление: метод $r->has_request_body не работал.
4125 
4126 
4127 Изменения в nginx 0.5.2                                           11.12.2006
4128 
4129     *) Исправление: если в директивах proxy_pass использовалось имя,
4130        указанное в upstream, то nginx пытался найти IP-адрес этого имени;
4131        ошибка появилась в 0.5.1.
4132 
4133 
4134 Изменения в nginx 0.5.1                                           11.12.2006
4135 
4136     *) Исправление: директива post_action могла не работать после неудачного
4137        завершения запроса.
4138 
4139     *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
4140        Спасибо Bron Gondwana.
4141 
4142     *) Исправление: при указании в директиве fastcgi_pass имени описанного
4143        upstream'а выдавалось сообщение "no port in upstream"; ошибка
4144        появилась в 0.5.0.
4145 
4146     *) Исправление: если в директивах proxy_pass и fastcgi_pass
4147        использовались одинаковых имена серверов, но с разными портами, то
4148        эти директивы использовали первый описанный порт; ошибка появилась в
4149        0.5.0.
4150 
4151     *) Исправление: если в директивах proxy_pass и fastcgi_pass
4152        использовались unix domain сокеты, то эти директивы использовали
4153        первый описанный сокет; ошибка появилась в 0.5.0.
4154 
4155     *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
4156        если он был указан в последней строке файла паролей и после пароля не
4157        было перевода строки, возврата каретки или символа ":".
4158 
4159     *) Исправление: переменная $upstream_response_time могла быть равна
4160        "0.000", хотя время обработки было больше 1 миллисекунды.
4161 
4162 
4163 Изменения в nginx 0.5.0                                           04.12.2006
4164 
4165     *) Изменение: параметры в виде "%name" в директиве log_format больше не
4166        поддерживаются.
4167 
4168     *) Изменение: директивы proxy_upstream_max_fails,
4169        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
4170        fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
4171        memcached_upstream_fail_timeout больше не поддерживаются.
4172 
4173     *) Добавление: директива server в блоке upstream поддерживает параметры
4174        max_fails, fail_timeout и down.
4175 
4176     *) Добавление: директива ip_hash в блоке upstream.
4177 
4178     *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
4179        сервера аутентификации IMAP/POP3 прокси.
4180 
4181     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
4182        появилась в 0.4.14.
4183 
4184 
4185 Изменения в nginx 0.4.14                                          27.11.2006
4186 
4187     *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
4188 
4189     *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
4190        Linux и NetBSD.
4191 
4192     *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
4193        поддержкой потоков; ошибка появилась в 0.3.38.
4194 
4195     *) Исправление: ngx_http_perl_module не работал корректно, если перл
4196        вызывался рекурсивно.
4197 
4198     *) Исправление: nginx игнорировал имя сервера в строке запроса.
4199 
4200     *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
4201        процесс мог зациклиться.
4202 
4203     *) Исправление: при изменении системного времени переменная
4204        $upstream_response_time могла быть отрицательной.
4205 
4206     *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
4207        прокси не передавался параметр Auth-Login-Attempt.
4208 
4209     *) Исправление: при ошибке соединения с сервером аутентификации
4210        IMAP/POP3 прокси мог произойти segmentation fault.
4211 
4212 
4213 Изменения в nginx 0.4.13                                          15.11.2006
4214 
4215     *) Добавление: директиву proxy_pass можно использовать внутри блока
4216        limit_except.
4217 
4218     *) Добавление: директива limit_except поддерживает все WebDAV методы.
4219 
4220     *) Исправление: при использовании директивы add_before_body без
4221        директивы add_after_body ответ передавался не полностью.
4222 
4223     *) Исправление: большое тело запроса не принималось, если использовались
4224        метод epoll и deferred accept().
4225 
4226     *) Исправление: для ответов модуля ngx_http_autoindex_module не
4227        выставлялась кодировка; ошибка появилась в 0.3.50.
4228 
4229     *) Исправление: ошибки "[alert] zero size buf" при работе с
4230        FastCGI-сервером;
4231 
4232     *) Исправление: параметр конфигурации --group= игнорировался.
4233        Спасибо Thomas Moschny.
4234 
4235     *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
4236        в 0.3.50.
4237 
4238 
4239 Изменения в nginx 0.4.12                                          31.10.2006
4240 
4241     *) Добавление: модуль ngx_http_perl_module поддерживает метод
4242        $r->variable.
4243 
4244     *) Исправление: при включении в ответ большого статического файла с
4245        помощью SSI ответ мог передаваться не полностью.
4246 
4247     *) Исправление: nginx не убирал "#fragment" в URI.
4248 
4249 
4250 Изменения в nginx 0.4.11                                          25.10.2006
4251 
4252     *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
4253 
4254     *) Добавление: модуль ngx_http_perl_module поддерживает метод
4255        $r->allow_ranges.
4256 
4257     *) Исправление: при включённой поддержке команды APOP в POP3 прокси
4258        могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
4259 
4260 
4261 Изменения в nginx 0.4.10                                          23.10.2006
4262 
4263     *) Добавление: POP3 прокси поддерживает APOP.
4264 
4265     *) Исправление: при использовании методов select, poll и /dev/poll во
4266        время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
4267        нагружал процессор.
4268 
4269     *) Исправление: при использовании переменной $server_addr в директиве
4270        map мог произойти segmentation fault.
4271 
4272     *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
4273        для полных ответов; ошибка появилась в 0.4.7.
4274 
4275     *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
4276        0.4.9.
4277 
4278 
4279 Изменения в nginx 0.4.9                                           13.10.2006
4280 
4281     *) Добавление: параметр set в команде SSI include.
4282 
4283     *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
4284        модуля nginx.pm.
4285 
4286 
4287 Изменения в nginx 0.4.8                                           11.10.2006
4288 
4289     *) Исправление: если до команды SSI include с параметром wait
4290        выполнялась ещё одна команда SSI include, то параметр wait мог не
4291        работать.
4292 
4293     *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
4294        полных ответов.
4295        Спасибо Алексею Ковырину.
4296 
4297 
4298 Изменения в nginx 0.4.7                                           10.10.2006
4299 
4300     *) Добавление: модуль ngx_http_flv_module.
4301 
4302     *) Добавление: переменная $request_body_file.
4303 
4304     *) Добавление: директивы charset и source_charset поддерживают
4305        переменные.
4306 
4307     *) Исправление: если до команды SSI include с параметром wait
4308        выполнялась ещё одна команда SSI include, то параметр wait мог не
4309        работать.
4310 
4311     *) Исправление: при использовании директивы "proxy_buffering off" или
4312        при работе с memcached соединения могли не закрываться по таймауту.
4313 
4314     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4315        amd64, sparc64 и ppc64.
4316 
4317 
4318 Изменения в nginx 0.4.6                                           06.10.2006
4319 
4320     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4321        amd64, sparc64 и ppc64.
4322 
4323     *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
4324        chunk'ами, если длина ответа в методе
4325        $r->headers_out("Content-Length", ...) была задана текстовой строкой.
4326 
4327     *) Исправление: после перенаправления ошибки с помощью директивы
4328        error_page любая директива модуля ngx_http_rewrite_module возвращала
4329        эту ошибку; ошибка появилась в 0.4.4.
4330 
4331 
4332 Изменения в nginx 0.4.5                                           02.10.2006
4333 
4334     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4335        в 0.4.4.
4336 
4337 
4338 Изменения в nginx 0.4.4                                           02.10.2006
4339 
4340     *) Добавление: переменная $scheme.
4341 
4342     *) Добавление: директива expires поддерживает параметр max.
4343 
4344     *) Добавление: директива include поддерживает маску "*".
4345        Спасибо Jonathan Dance.
4346 
4347     *) Исправление: директива return всегда изменяла код ответа,
4348        перенаправленного директивой error_page.
4349 
4350     *) Исправление: происходил segmentation fault, если в методе PUT
4351        передавалось тело нулевой длины.
4352 
4353     *) Исправление: при использовании переменных в директиве proxy_redirect
4354        редирект изменялся неверно.
4355 
4356 
4357 Изменения в nginx 0.4.3                                           26.09.2006
4358 
4359     *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
4360        error_page.
4361 
4362     *) Добавление: поддержка Solaris 10 event ports.
4363 
4364     *) Добавление: модуль ngx_http_browser_module.
4365 
4366     *) Исправление: при перенаправлении ошибки 400 проксированному серверу
4367        помощью директивы error_page мог произойти segmentation fault.
4368 
4369     *) Исправление: происходил segmentation fault, если в директиве
4370        proxy_pass использовался unix domain сокет; ошибка появилась в
4371        0.3.47.
4372 
4373     *) Исправление: SSI не работал с ответами memcached и
4374        небуферизированными проксированными ответами.
4375 
4376     *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
4377 
4378 
4379 Изменения в nginx 0.4.2                                           14.09.2006
4380 
4381     *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
4382        появилась в 0.4.1.
4383 
4384 
4385 Изменения в nginx 0.4.1                                           14.09.2006
4386 
4387     *) Исправление: совместимость с DragonFlyBSD.
4388        Спасибо Павлу Назарову.
4389 
4390     *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
4391        файлов больше 2G.
4392 
4393     *) Добавление: теперь на Linux nginx для статических запросов использует
4394        флаг O_NOATIME.
4395        Спасибо Yusuf Goolamabbas.
4396 
4397 
4398 Изменения в nginx 0.4.0                                           30.08.2006
4399 
4400     *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
4401        фазы init module в фазу HTTP postconfiguration.
4402 
4403     *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
4404        считывается заранее: нужно явно инициировать чтение с помощью метода
4405        $r->has_request_body.
4406 
4407     *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
4408        DECLINED.
4409 
4410     *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
4411        заголовка "Date" для метода PUT.
4412 
4413     *) Добавление: директива ssi работает внутри блока if.
4414 
4415     *) Исправление: происходил segmentation fault, если в директиве index
4416        использовалась переменные и при этом первое имя индексного файла было
4417        без переменных; ошибка появилась в 0.1.29.
4418 
4419 
4420 Изменения в nginx 0.3.61                                          28.08.2006
4421 
4422     *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
4423 
4424     *) Добавление: директива msie_refresh.
4425 
4426     *) Добавление: директива recursive_error_pages.
4427 
4428     *) Исправление: директива rewrite возвращала неправильный редирект, если
4429        редирект включал в себя выделенные закодированные символы из
4430        оригинального URI.
4431 
4432 
4433 Изменения в nginx 0.3.60                                          18.08.2006
4434 
4435     *) Исправление: во время перенаправления ошибки рабочий процесс мог
4436        зациклиться; ошибка появилась в 0.3.59.
4437 
4438 
4439 Изменения в nginx 0.3.59                                          16.08.2006
4440 
4441     *) Добавление: теперь можно делать несколько перенаправлений через
4442        директиву error_page.
4443 
4444     *) Исправление: директива dav_access не поддерживала три параметра.
4445 
4446     *) Исправление: директива error_page не изменяла строку "Content-Type"
4447        после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
4448        в 0.3.58.
4449 
4450 
4451 Изменения в nginx 0.3.58                                          14.08.2006
4452 
4453     *) Добавление: директива error_page поддерживает переменные.
4454 
4455     *) Изменение: теперь на Linux используется интерфейс procfs вместо
4456        sysctl.
4457 
4458     *) Изменение: теперь при использовании "X-Accel-Redirect" строка
4459        "Content-Type" наследуется из первоначального ответа.
4460 
4461     *) Исправление: директива error_page не перенаправляла ошибку 413.
4462 
4463     *) Исправление: завершающий "?" не удалял старые аргументы, если в
4464        переписанном URI не было новых аргументов.
4465 
4466     *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
4467 
4468 
4469 Изменения в nginx 0.3.57                                          09.08.2006
4470 
4471     *) Добавление: переменная $ssl_client_serial.
4472 
4473     *) Исправление: в операторе "!-e" в директиве if.
4474        Спасибо Андриану Буданцову.
4475 
4476     *) Исправление: при проверке клиентского сертификата nginx не передавал
4477        клиенту информацию о требуемых сертификатах.
4478 
4479     *) Исправление: переменная $document_root не поддерживала переменные в
4480        директиве root.
4481 
4482 
4483 Изменения в nginx 0.3.56                                          04.08.2006
4484 
4485     *) Добавление: директива dav_access.
4486 
4487     *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
4488        "!-e", "-x" и "!-x".
4489 
4490     *) Исправление: при записи в access_log некоторых передаваемых клиенту
4491        строк заголовков происходил segmentation fault, если запрос возвращал
4492        редирект.
4493 
4494 
4495 Изменения в nginx 0.3.55                                          28.07.2006
4496 
4497     *) Добавление: параметр stub в команде SSI include.
4498 
4499     *) Добавление: команда SSI block.
4500 
4501     *) Добавление: скрипт unicode2nginx добавлен в contrib.
4502 
4503     *) Исправление: если root был задан только переменной, то корень
4504        задавался относительно префикса сервера.
4505 
4506     *) Исправление: если в запросе был "//" или "/.", и после этого
4507        закодированные символы в виде "%XX", то проксируемый запрос
4508        передавался незакодированным.
4509 
4510     *) Исправление: метод $r->header_in("Cookie") модуля
4511        ngx_http_perl_module теперь возвращает все строки "Cookie" в
4512        заголовке запроса.
4513 
4514     *) Исправление: происходил segmentation fault, если использовался
4515        "client_body_in_file_only on" и делался переход к следующему бэкенду.
4516 
4517     *) Исправление: при некоторых условиях во время переконфигурации коды
4518        символов внутри директивы charset_map могли считаться неверными;
4519        ошибка появилась в 0.3.50.
4520 
4521 
4522 Изменения в nginx 0.3.54                                          11.07.2006
4523 
4524     *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
4525 
4526     *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
4527        memcached_next_upstream поддерживают параметр off.
4528 
4529     *) Добавление: директива debug_connection поддерживает запись адресов в
4530        формате CIDR.
4531 
4532     *) Исправление: при перекодировании ответа проксированного сервера или
4533        сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
4534        полностью.
4535 
4536     *) Исправление: переменная $upstream_response_time содержала время
4537        только первого обращения к бэкенду.
4538 
4539     *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
4540        в 0.3.53.
4541 
4542 
4543 Изменения в nginx 0.3.53                                          07.07.2006
4544 
4545     *) Изменение: директива add_header добавляет строки в ответы с кодом
4546        204, 301 и 302.
4547 
4548     *) Добавление: директива server в блоке upstream поддерживает параметр
4549        weight.
4550 
4551     *) Добавление: директива server_name поддерживает маску "*".
4552 
4553     *) Добавление: nginx поддерживает тело запроса больше 2G.
4554 
4555     *) Исправление: если при использовании "satisfy_any on" клиент успешно
4556        проходил аутентификацию, в лог всё равно записалоcь сообщение "access
4557        forbidden by rule".
4558 
4559     *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
4560        409.
4561 
4562     *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
4563        ошибку, nginx продолжал проксирование.
4564 
4565 
4566 Изменения в nginx 0.3.52                                          03.07.2006
4567 
4568     *) Изменение: восстановлено поведение модуля ngx_http_index_module для
4569        запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
4570        ошибку 405.
4571 
4572     *) Исправление: при использовании ограничения скорости рабочий процесс
4573        мог зациклиться; ошибка появилась в 0.3.37.
4574 
4575     *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
4576        "unknown charset", даже если перекодировка не требовалась; ошибка
4577        появилась в 0.3.50.
4578 
4579     *) Исправление: если в результате запроса PUT возвращался код 409, то
4580        временный файл не удалялся.
4581 
4582 
4583 Изменения в nginx 0.3.51                                          30.06.2006
4584 
4585     *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
4586        ошибка появилась в 0.3.50.
4587 
4588 
4589 Изменения в nginx 0.3.50                                          28.06.2006
4590 
4591     *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
4592        переименованы соответственно в proxy_intercept_errors и
4593        fastcgi_intercept_errors.
4594 
4595     *) Добавление: модуль ngx_http_charset_module поддерживает
4596        перекодирование из однобайтных кодировок в UTF-8 и обратно.
4597 
4598     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4599        "X-Accel-Charset" в ответе бэкенда.
4600 
4601     *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
4602        только если также использовался символ "$".
4603 
4604     *) Исправление: при некоторых условиях в SSI после вставки могла быть
4605        добавлена строка "<!--".
4606 
4607     *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
4608        то при использовании небуферизированного проксировании не закрывалось
4609        соединение с клиентом.
4610 
4611 
4612 Изменения в nginx 0.3.49                                          31.05.2006
4613 
4614     *) Исправление: в директиве set.
4615 
4616     *) Исправление: при включении в ssi двух и более подзапросов,
4617        обрабатываемых через FastCGI, вместо вывода второго и остальных
4618        подзапросов в ответ включался вывод первого подзапроса.
4619 
4620 
4621 Изменения в nginx 0.3.48                                          29.05.2006
4622 
4623     *) Изменение: теперь модуль ngx_http_charset_module работает для
4624        подзапросов, в ответах которых нет строки заголовка "Content-Type".
4625 
4626     *) Исправление: если в директиве proxy_pass не было URI, то директива
4627        "proxy_redirect default" добавляла в переписанный редирект в начало
4628        лишний слэш.
4629 
4630     *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
4631        GET, теперь это делается только для редиректов, выполняемых с помощью
4632        X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
4633        0.3.42.
4634 
4635     *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
4636        с поддержкой потоков; ошибка появилась в 0.3.46.
4637 
4638 
4639 Изменения в nginx 0.3.47                                          23.05.2006
4640 
4641     *) Добавление: директива upstream.
4642 
4643     *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
4644        всегда убирается.
4645 
4646 
4647 Изменения в nginx 0.3.46                                          11.05.2006
4648 
4649     *) Добавление: директивы proxy_hide_header, proxy_pass_header,
4650        fastcgi_hide_header и fastcgi_pass_header.
4651 
4652     *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
4653        proxy_pass_server упразднены.
4654 
4655     *) Добавление: в режиме прокси поддерживается строка заголовка
4656        "X-Accel-Buffering" в ответе бэкенда.
4657 
4658     *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
4659        ngx_http_perl_module.
4660 
4661 
4662 Изменения в nginx 0.3.45                                          06.05.2006
4663 
4664     *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
4665        ssl_client_certificate.
4666 
4667     *) Изменение: теперь переменная $request_method возвращает метод только
4668        основного запроса.
4669 
4670     *) Изменение: в таблице перекодировки koi-win изменены коды символа
4671        &deg;.
4672 
4673     *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
4674        номера.
4675 
4676     *) Исправление: если nginx распределял запросы на несколько машин, то
4677        при падении одной из них запросы, предназначенные для этой машины,
4678        перенаправлялись только на одну машину вместо того, чтобы равномерно
4679        распределяться между остальными.
4680 
4681 
4682 Изменения в nginx 0.3.44                                          04.05.2006
4683 
4684     *) Добавление: параметр wait в команде SSI include.
4685 
4686     *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
4687        белорусские символы.
4688 
4689     *) Исправление: в SSI.
4690 
4691 
4692 Изменения в nginx 0.3.43                                          26.04.2006
4693 
4694     *) Исправление: в SSI.
4695 
4696 
4697 Изменения в nginx 0.3.42                                          26.04.2006
4698 
4699     *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
4700 
4701     *) Исправление: ошибки при использовании в директиве rewrite одного и
4702        того же выделения более одного раза.
4703 
4704     *) Исправление: в лог не записывались переменные
4705        $sent_http_content_type, $sent_http_content_length,
4706        $sent_http_last_modified, $sent_http_connection,
4707        $sent_http_keep_alive и $sent_http_transfer_encoding.
4708 
4709     *) Исправление: переменная $sent_http_cache_control возвращала
4710        содержимое только одной строки "Cache-Control" в заголовке ответа.
4711 
4712 
4713 Изменения в nginx 0.3.41                                          21.04.2006
4714 
4715     *) Добавление: ключ -v.
4716 
4717     *) Исправление: при включении в SSI удалённых подзапросов мог произойти
4718        segmentation fault.
4719 
4720     *) Исправление: в обработке FastCGI.
4721 
4722     *) Исправление: если путь к перловым модулям не был указан с помощью
4723        --with-perl_modules_path=PATH или директивы perl_modules, то на
4724        старте происходил segmentation fault.
4725 
4726 
4727 Изменения в nginx 0.3.40                                          19.04.2006
4728 
4729     *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
4730 
4731     *) Добавление: директива create_full_put_path.
4732 
4733     *) Добавление: переменная $limit_rate.
4734 
4735 
4736 Изменения в nginx 0.3.39                                          17.04.2006
4737 
4738     *) Добавление: директива uninitialized_variable_warn; уровень
4739        логгирования сообщения о неинициализированной переменной понижен с
4740        уровня alert на warn.
4741 
4742     *) Добавление: директива override_charset.
4743 
4744     *) Изменение: при использовании неизвестной переменной в SSI-командах
4745        echo и if expr='$name' теперь не записывается в лог сообщение о
4746        неизвестной переменной.
4747 
4748     *) Исправление: счётчик активных соединений рос при превышении лимита
4749        соединений, заданного директивой worker_connections; ошибка появилась
4750        в 0.2.0.
4751 
4752     *) Исправление: при некоторых условия ограничение скорости соединения
4753        могло не работать; ошибка появилась в 0.3.38.
4754 
4755 
4756 Изменения в nginx 0.3.38                                          14.04.2006
4757 
4758     *) Добавление: модуль ngx_http_dav_module.
4759 
4760     *) Изменение: оптимизация модуля ngx_http_perl_module.
4761        Спасибо Сергею Скворцову.
4762 
4763     *) Добавление: модуль ngx_http_perl_module поддерживает метод
4764        $r->request_body_file.
4765 
4766     *) Добавление: директива client_body_in_file_only.
4767 
4768     *) Изменение: теперь при переполнении диска nginx пытается писать
4769        access_log'и только раз в секунду.
4770        Спасибо Антону Южанинову и Максиму Дунину.
4771 
4772     *) Исправление: теперь директива limit_rate точнее ограничивает скорость
4773        при значениях больше 100 Kbyte/s.
4774        Спасибо ForJest.
4775 
4776     *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
4777        символы "\r" и "\n" в логине и пароле в закодированном виде.
4778        Спасибо Максиму Дунину.
4779 
4780 
4781 Изменения в nginx 0.3.37                                          07.04.2006
4782 
4783     *) Добавление: директива limit_except.
4784 
4785     *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
4786        "!-f".
4787 
4788     *) Добавление: модуль ngx_http_perl_module поддерживает метод
4789        $r->request_body.
4790 
4791     *) Исправление: в модуле ngx_http_addition_filter_module.
4792 
4793 
4794 Изменения в nginx 0.3.36                                          05.04.2006
4795 
4796     *) Добавление: модуль ngx_http_addition_filter_module.
4797 
4798     *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
4799        внутри блока if.
4800 
4801     *) Добавление: директивы proxy_ignore_client_abort и
4802        fastcgi_ignore_client_abort.
4803 
4804     *) Добавление: переменная $request_completion.
4805 
4806     *) Добавление: модуль ngx_http_perl_module поддерживает методы
4807        $r->request_method и $r->remote_addr.
4808 
4809     *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
4810 
4811     *) Исправление: строка "\/" в начале выражения команды if модуля
4812        ngx_http_ssi_module воспринималась неверно.
4813 
4814     *) Исправление: в использовании регулярных выражениях в команде if
4815        модуля ngx_http_ssi_module.
4816 
4817     *) Исправление: при задании относительного пути в директивах
4818        client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
4819        perl_modules использовался каталог относительно текущего каталога, а
4820        не относительно префикса сервера.
4821 
4822 
4823 Изменения в nginx 0.3.35                                          22.03.2006
4824 
4825     *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
4826        для первой директивы listen; ошибка появилась в 0.3.31.
4827 
4828     *) Исправление: в директиве proxy_pass без URI при использовании в
4829        подзапросе.
4830 
4831 
4832 Изменения в nginx 0.3.34                                          21.03.2006
4833 
4834     *) Добавление: директива add_header поддерживает переменные.
4835 
4836 
4837 Изменения в nginx 0.3.33                                          15.03.2006
4838 
4839     *) Добавление: параметр http_503 в директивах proxy_next_upstream или
4840        fastcgi_next_upstream.
4841 
4842     *) Исправление: ngx_http_perl_module не работал со встроенным в
4843        конфигурационный файл кодом, если он не начинался сразу же с "sub".
4844 
4845     *) Исправление: в директиве post_action.
4846 
4847 
4848 Изменения в nginx 0.3.32                                          11.03.2006
4849 
4850     *) Исправление: удаление отладочного логгирования на старте и при
4851        переконфигурации; ошибка появилась в 0.3.31.
4852 
4853 
4854 Изменения в nginx 0.3.31                                          10.03.2006
4855 
4856     *) Изменение: теперь nginx передаёт неверные ответы проксированного
4857        бэкенда.
4858 
4859     *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
4860 
4861     *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
4862 
4863     *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
4864        64-битном ядре MacOSX.
4865        Спасибо Андрею Нигматулину.
4866 
4867     *) Исправление: если внутри одного сервера описаны несколько директив
4868        listen, слушающих на разных адресах, то имена серверов вида
4869        "*.domain.tld" работали только для первого адреса; ошибка появилась в
4870        0.3.18.
4871 
4872     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4873        не передавались запросы с телом, записанным во временный файл.
4874 
4875     *) Исправление: совместимость с perl 5.8.8.
4876 
4877 
4878 Изменения в nginx 0.3.30                                          22.02.2006
4879 
4880     *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
4881        с уровня crit.
4882 
4883     *) Исправление: модуль ngx_http_perl_module не собирался без модуля
4884        ngx_http_ssi_filter_module.
4885 
4886     *) Исправление: nginx не собирался на i386 платформе, если использовался
4887        PIC; ошибка появилась в 0.3.27.
4888 
4889 
4890 Изменения в nginx 0.3.29                                          20.02.2006
4891 
4892     *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
4893        FastCGI передаёт большое количество предупреждений перед ответом.
4894 
4895     *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
4896        строка заголовка "Transfer-Encoding: chunked".
4897 
4898     *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
4899        передавал полные строки заголовка ответа в отдельных FastCGI записях.
4900 
4901     *) Исправление: если в директиве post_action был указан проксируемый
4902        URI, то он выполнялся только после успешного завершения запроса.
4903 
4904 
4905 Изменения в nginx 0.3.28                                          16.02.2006
4906 
4907     *) Добавление: директива restrict_host_names упразднена.
4908 
4909     *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
4910 
4911     *) Исправление: при некоторых условиях проксированное соединение с
4912        клиентом завершалось преждевременно.
4913        Спасибо Владимиру Шутову.
4914 
4915     *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
4916        запросов, перенаправленных с помощью строки "X-Accel-Redirect".
4917 
4918     *) Исправление: директива post_action работала только после успешного
4919        завершения запроса.
4920 
4921     *) Исправление: тело проксированного ответа, создаваемого директивой
4922        post_action, передавалось клиенту.
4923 
4924 
4925 Изменения в nginx 0.3.27                                          08.02.2006
4926 
4927     *) Изменение: директивы variables_hash_max_size и
4928        variables_hash_bucket_size.
4929 
4930     *) Добавление: переменная $body_bytes_sent доступна не только в
4931        директиве log_format.
4932 
4933     *) Добавление: переменные $ssl_protocol и $ssl_cipher.
4934 
4935     *) Добавление: определение размера строки кэша распространённых
4936        процессоров при старте.
4937 
4938     *) Добавление: директива accept_mutex теперь поддерживается посредством
4939        fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
4940 
4941     *) Добавление: директива lock_file и параметр автоконфигурации
4942        --with-lock-path=PATH.
4943 
4944     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4945        не передавались запросы с телом.
4946 
4947 
4948 Изменения в nginx 0.3.26                                          03.02.2006
4949 
4950     *) Изменение: директива optimize_host_names переименована в
4951        optimize_server_names.
4952 
4953     *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
4954        URI основного запроса, если в директиве proxy_pass отсутствовал URI.
4955 
4956 
4957 Изменения в nginx 0.3.25                                          01.02.2006
4958 
4959     *) Исправление: при неверной конфигурации на старте или во время
4960        переконфигурации происходил segmentation fault; ошибка появилась в
4961        0.3.24.
4962 
4963 
4964 Изменения в nginx 0.3.24                                          01.02.2006
4965 
4966     *) Изменение: обход ошибки в kqueue во FreeBSD.
4967 
4968     *) Исправление: ответ, создаваемый директивой post_action, теперь не
4969        передаётся клиенту.
4970 
4971     *) Исправление: при использовании большого количества лог-файлов
4972        происходила утечка памяти.
4973 
4974     *) Исправление: внутри одного location работала только первая директива
4975        proxy_redirect.
4976 
4977     *) Исправление: на 64-битных платформах при старте мог произойти
4978        segmentation fault, если использовалось большое количество имён в
4979        директивах server_name; ошибка появилась в 0.3.18.
4980 
4981 
4982 Изменения в nginx 0.3.23                                          24.01.2006
4983 
4984     *) Добавление: директива optimize_host_names.
4985 
4986     *) Исправление: ошибки при использовании переменных в директивах path и
4987        alias.
4988 
4989     *) Исправление: модуль ngx_http_perl_module неправильно собирался на
4990        Linux и Solaris.
4991 
4992 
4993 Изменения в nginx 0.3.22                                          17.01.2006
4994 
4995     *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
4996        и $r->unescape.
4997 
4998     *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
4999        упразднён.
5000 
5001     *) Исправление: если в директиве valid_referers указаны только none или
5002        blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
5003 
5004 
5005 Изменения в nginx 0.3.21                                          16.01.2006
5006 
5007     *) Добавление: модуль ngx_http_perl_module.
5008 
5009     *) Изменение: директива valid_referers разрешает использовать рефереры
5010        совсем без URI.
5011 
5012 
5013 Изменения в nginx 0.3.20                                          11.01.2006
5014 
5015     *) Исправление: ошибки в обработке SSI.
5016 
5017     *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
5018        виде /uri?args.
5019 
5020 
5021 Изменения в nginx 0.3.19                                          28.12.2005
5022 
5023     *) Добавление: директивы path и alias поддерживают переменные.
5024 
5025     *) Изменение: теперь директива valid_referers опять учитывает URI.
5026 
5027     *) Исправление: ошибки в обработке SSI.
5028 
5029 
5030 Изменения в nginx 0.3.18                                          26.12.2005
5031 
5032     *) Добавление: директива server_names поддерживает имена вида
5033        ".domain.tld".
5034 
5035     *) Добавление: директива server_names использует хэш для имён вида
5036        "*.domain.tld" и более эффективный хэш для обычных имён.
5037 
5038     *) Изменение: директивы server_names_hash_max_size и
5039        server_names_hash_bucket_size.
5040 
5041     *) Изменение: директивы server_names_hash и server_names_hash_threshold
5042        упразднены.
5043 
5044     *) Добавление: директива valid_referers использует хэш для имён сайтов.
5045 
5046     *) Изменение: теперь директива valid_referers проверяет только имена
5047        сайтов без учёта URI.
5048 
5049     *) Исправление: некоторые имена вида ".domain.tld" неверно
5050        обрабатывались модулем ngx_http_map_module.
5051 
5052     *) Исправление: если конфигурационного файла не было, то происходил
5053        segmentation fault; ошибка появилась в 0.3.12.
5054 
5055     *) Исправление: на 64-битных платформах при старте мог произойти
5056        segmentation fault; ошибка появилась в 0.3.16.
5057 
5058 
5059 Изменения в nginx 0.3.17                                          18.12.2005
5060 
5061     *) Изменение: на Linux configure теперь проверяет наличие epoll и
5062        sendfile64() в ядре.
5063 
5064     *) Добавление: директива map поддерживает доменные имена в формате
5065        ".domain.tld".
5066 
5067     *) Исправление: во время SSL handshake не иcпользовались таймауты;
5068        ошибка появилась в 0.2.4.
5069 
5070     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5071 
5072     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5073        по умолчанию использовался порт 80.
5074 
5075 
5076 Изменения в nginx 0.3.16                                          16.12.2005
5077 
5078     *) Добавление: модуль ngx_http_map_module.
5079 
5080     *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
5081 
5082     *) Добавление: директива ssi_value_length.
5083 
5084     *) Добавление: директива worker_rlimit_core.
5085 
5086     *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
5087        Pentium 4 номер соединения в логах всегда был равен 1.
5088 
5089     *) Исправление: команда config timefmt в SSI задавала неверный формат
5090        времени.
5091 
5092     *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
5093        использовании SSL соединений; ошибка появилась в 0.3.13.
5094        Спасибо Rob Mueller.
5095 
5096     *) Исправление: segmentation fault мог произойти во время SSL shutdown;
5097        ошибка появилась в 0.3.13.
5098 
5099 
5100 Изменения в nginx 0.3.15                                          07.12.2005
5101 
5102     *) Добавление: новой код 444 в директиве return для закрытия соединения.
5103 
5104     *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
5105 
5106     *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
5107        соединений только при планом выходе и включённой директиве
5108        debug_points.
5109 
5110 
5111 Изменения в nginx 0.3.14                                          05.12.2005
5112 
5113     *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
5114        в 0.3.13.
5115 
5116 
5117 Изменения в nginx 0.3.13                                          05.12.2005
5118 
5119     *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
5120 
5121     *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
5122        /dev/poll.
5123 
5124     *) Исправление: ошибки в обработке SSI.
5125 
5126     *) Исправление: sendfilev() в Solaris теперь не используется при
5127        передаче тела запроса FastCGI-серверу через unix domain сокет.
5128 
5129     *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
5130        появилась в 0.3.11.
5131 
5132 
5133 Изменения в nginx 0.3.12                                          26.11.2005
5134 
5135     *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
5136        то при использовании директивы "satisfy_any on" директивы доступа и
5137        аутентификации не работали. Модуль ngx_http_realip_module не
5138        собирался и не собирается по умолчанию.
5139 
5140     *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
5141 
5142     *) Изменение: директивы proxy_header_buffer_size и
5143        fastcgi_header_buffer_size переименованы соответственно в
5144        proxy_buffer_size и fastcgi_buffer_size.
5145 
5146     *) Добавление: модуль ngx_http_memcached_module.
5147 
5148     *) Добавление: директива proxy_buffering.
5149 
5150     *) Исправление: изменение в работе с accept mutex при использовании
5151        метода rtsig; ошибка появилась в 0.3.0.
5152 
5153     *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
5154        в заголовке запроса, то nginx теперь выдаёт ошибку 411.
5155 
5156     *) Исправление: при наследовании директивы auth_basic с уровня http в
5157        строке "WWW-Authenticate" заголовка ответа выводился realm без текста
5158        "Basic realm".
5159 
5160     *) Исправление: если в директиве access_log был явно указан формат
5161        combined, то в лог записывались пустые строки; ошибка появилась в
5162        0.3.8.
5163 
5164     *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
5165        Solaris.
5166 
5167     *) Исправление: в директиве if теперь не нужно разделять пробелом строку
5168        в кавычках и закрывающую скобку.
5169 
5170 
5171 Изменения в nginx 0.3.11                                          15.11.2005
5172 
5173     *) Исправление: nginx не передавал при проксировании тело запроса и
5174        строки заголовка клиента; ошибка появилась в 0.3.10.
5175 
5176 
5177 Изменения в nginx 0.3.10                                          15.11.2005
5178 
5179     *) Изменение: директива valid_referers и переменная $invalid_referer
5180        перенесены из модуля ngx_http_rewrite_module в новый модуль
5181        ngx_http_referer_module.
5182 
5183     *) Изменение: имя переменной "$apache_bytes_sent" изменено на
5184        "$body_bytes_sent".
5185 
5186     *) Добавление: переменные "$sent_http_...".
5187 
5188     *) Добавление: директива if поддерживает операции "=" и "!=".
5189 
5190     *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
5191 
5192     *) Добавление: директива proxy_set_body.
5193 
5194     *) Добавление: директива post_action.
5195 
5196     *) Добавление: модуль ngx_http_empty_gif_module.
5197 
5198     *) Добавление: директива worker_cpu_affinity для Linux.
5199 
5200     *) Исправление: директива rewrite не раскодировала символы в редиректах
5201        в URI, теперь символы раскодируются, кроме символов %00-%25 и
5202        %7F-%FF.
5203 
5204     *) Исправление: nginx не собирался компилятором icc 9.0.
5205 
5206     *) Исправление: если для статического файла нулевого размера был
5207        разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
5208 
5209 
5210 Изменения в nginx 0.3.9                                           10.11.2005
5211 
5212     *) Исправление: nginx считал небезопасными URI, в которых между двумя
5213        слэшами находилось два любых символа; ошибка появилась в 0.3.8.
5214 
5215 
5216 Изменения в nginx 0.3.8                                           09.11.2005
5217 
5218     *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
5219        строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
5220        наличие путей "/../" и нулей.
5221 
5222     *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
5223        строке "Authorization" в заголовке запроса.
5224 
5225     *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
5226        и ngx_imap_ssl_module.
5227 
5228     *) Добавление: директива auth_http_header модуля
5229        ngx_imap_auth_http_module.
5230 
5231     *) Добавление: директива add_header.
5232 
5233     *) Добавление: модуль ngx_http_realip_module.
5234 
5235     *) Добавление: новые переменные для использования в директиве
5236        log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
5237        $uri, $request_time, $request_length, $upstream_status,
5238        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
5239        $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
5240        упразднены.
5241 
5242     *) Изменение: в директиве "if" ложными значениями переменных теперь
5243        являются пустая строка "" и строки, начинающиеся на "0".
5244 
5245     *) Исправление: при работает с проксированными или FastCGI-серверами
5246        nginx мог оставлять открытыми соединения и временные файлы с
5247        запросами клиентов.
5248 
5249     *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
5250        плавном выходе.
5251 
5252     *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
5253        запрос проксировался в location, заданном регулярным выражением, то
5254        бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
5255 
5256     *) Исправление: директива expires не удаляла уже установленную строку
5257        заголовка "Expires".
5258 
5259     *) Исправление: при использовании метода rtsig и нескольких рабочих
5260        процессах nginx мог перестать принимать запросы.
5261 
5262     *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
5263        "\'".
5264 
5265     *) Исправление: если ответ заканчивался сразу же после SSI команды, то
5266        при использовании сжатия ответ передавался не до конца или не
5267        передавался вообще.
5268 
5269 
5270 Изменения в nginx 0.3.7                                           27.10.2005
5271 
5272     *) Добавление: директива access_log поддерживает параметр buffer=.
5273 
5274     *) Исправление: nginx не собирался на платформах, отличных от i386,
5275        amd64, sparc и ppc; ошибка появилась в 0.3.2.
5276 
5277 
5278 Изменения в nginx 0.3.6                                           24.10.2005
5279 
5280     *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
5281        пустой логин.
5282 
5283     *) Добавление: директива log_format поддерживает переменные в виде
5284        $name.
5285 
5286     *) Исправление: если хотя бы в одном сервере не было описано ни одной
5287        директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
5288        0.3.3.
5289 
5290     *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
5291        использовался порт 80.
5292 
5293 
5294 Изменения в nginx 0.3.5                                           21.10.2005
5295 
5296     *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
5297        мог произойти segmentation fault; ошибка появилась в 0.2.2.
5298 
5299     *) Исправление: accept mutex не работал, все соединения обрабатывались
5300        одним рабочим процессом; ошибка появилась в 0.3.3.
5301 
5302     *) Исправление: при использовании метода rtsig и директивы
5303        timer_resolution не работали таймауты.
5304 
5305 
5306 Изменения в nginx 0.3.4                                           19.10.2005
5307 
5308     *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
5309        появилась в 0.3.3.
5310 
5311 
5312 Изменения в nginx 0.3.3                                           19.10.2005
5313 
5314     *) Изменение: параметры "bl" и "af" директивы listen переименованы в
5315        "backlog" и "accept_filter".
5316 
5317     *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
5318 
5319     *) Изменение: параметр лога $msec теперь не требует дополнительного
5320        системного вызова gettimeofday().
5321 
5322     *) Добавление: ключ -t теперь проверяет директивы listen.
5323 
5324     *) Исправление: если в директиве listen был указан неверный адрес, то
5325        nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
5326 
5327     *) Исправление: для индексных файлов, содержащих в имени переменную, мог
5328        неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
5329 
5330     *) Добавление: директива timer_resolution.
5331 
5332     *) Добавление: параметр лога $upstream_response_time в миллисекундах.
5333 
5334     *) Исправление: временный файл с телом запроса клиента теперь удаляется
5335        сразу после того, как клиенту передан заголовок ответа.
5336 
5337     *) Исправление: совместимость с OpenSSL 0.9.6.
5338 
5339     *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
5340        относительными.
5341 
5342     *) Исправление: директива ssl_prefer_server_ciphers не работала для
5343        модуля ngx_imap_ssl_module.
5344 
5345     *) Исправление: директива ssl_protocols позволяла задать только один
5346        протокол.
5347 
5348 
5349 Изменения в nginx 0.3.2                                           12.10.2005
5350 
5351     *) Добавление: поддержка Sun Studio 10 C compiler.
5352 
5353     *) Добавление: директивы proxy_upstream_max_fails,
5354        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
5355        fastcgi_upstream_fail_timeout.
5356 
5357 
5358 Изменения в nginx 0.3.1                                           10.10.2005
5359 
5360     *) Исправление: во время переполнения очереди сигналов при использовании
5361        метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
5362 
5363     *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
5364 
5365 
5366 Изменения в nginx 0.3.0                                           07.10.2005
5367 
5368     *) Изменение: убрано десятидневное ограничение времени работы рабочего
5369        процесса. Ограничение было введено из-за переполнения миллисекундных
5370        таймеров.
5371 
5372 
5373 Изменения в nginx 0.2.6                                           05.10.2005
5374 
5375     *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
5376        бэкенду при использовании распределения нагрузки.
5377 
5378     *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
5379        запрос теперь передаётся, если в директиве proxy_pass отсутствует
5380        URI.
5381 
5382     *) Добавление: директива error_page поддерживает редиректы и позволяет
5383        более гибко менять код ошибки.
5384 
5385     *) Изменение: в проксированных подзапросах теперь игнорируется
5386        переданный charset.
5387 
5388     *) Исправление: если после изменения URI в блоке if для запроса не
5389        находилась новая конфигурация, то правила модуля
5390        ngx_http_rewrite_module выполнялись снова.
5391 
5392     *) Исправление: если директива set устанавливала переменную модуля
5393        ngx_http_geo_module в какой-либо части конфигурации, то эта
5394        переменная не была доступна в других частях конфигурации и выдавалась
5395        ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
5396 
5397 
5398 Изменения в nginx 0.2.5                                           04.10.2005
5399 
5400     *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
5401        теперь выдаёт предупреждение и изменяет старое значение.
5402 
5403     *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
5404 
5405     *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
5406        команде include.
5407 
5408     *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
5409        значений переменных в выражениях команды if.
5410 
5411 
5412 Изменения в nginx 0.2.4                                           03.10.2005
5413 
5414     *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
5415        "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
5416        if.
5417 
5418     *) Исправление: ошибки при проксировании location без слэша в конце;
5419        ошибка появилась в 0.1.44.
5420 
5421     *) Исправление: при использовании метода rtsig мог произойти
5422        segmentation fault; ошибка появилась в 0.2.0.
5423 
5424 
5425 Изменения в nginx 0.2.3                                           30.09.2005
5426 
5427     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
5428        появилась в 0.2.2.
5429 
5430 
5431 Изменения в nginx 0.2.2                                           30.09.2005
5432 
5433     *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
5434 
5435     *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
5436        директивой set.
5437 
5438     *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
5439        модулей ngx_http_ssl_module и ngx_imap_ssl_module.
5440 
5441     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5442        длинных имён файлов;
5443 
5444     *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
5445        файлы, начинающиеся на точку.
5446 
5447     *) Исправление: если SSL handshake завершался с ошибкой, то это могло
5448        привести также к закрытию другого соединения.
5449        Спасибо Rob Mueller.
5450 
5451     *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
5452        HTTPS.
5453 
5454 
5455 Изменения в nginx 0.2.1                                           23.09.2005
5456 
5457     *) Исправление: если все бэкенды, используемые для балансировки
5458        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5459        nginx мог зациклится; ошибка появилась в 0.2.0.
5460 
5461 
5462 Изменения в nginx 0.2.0                                           23.09.2005
5463 
5464     *) Изменились имена pid-файлов, используемые во время обновления
5465        исполняемого файла. Ручное переименование теперь не нужно. Старый
5466        основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
5467        запускает новый исполняемый файл. Новый основной процесс создаёт
5468        обычный pid-файл без суффикса ".newbin". Если новый основной процесс
5469        выходит, то старый процесс переименовывает свой pid-файл c суффиксом
5470        ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
5471        0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
5472        0.2.0 - используют pid-файл без суффиксов.
5473 
5474     *) Изменение: директива worker_connections, новое название директивы
5475        connections; директива теперь задаёт максимальное число соединений, а
5476        не максимально возможный номер дескриптора для сокета.
5477 
5478     *) Добавление: SSL поддерживает кэширование сессий в пределах одного
5479        рабочего процесса.
5480 
5481     *) Добавление: директива satisfy_any.
5482 
5483     *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
5484        не работают для подзапросов.
5485 
5486     *) Добавление: директивы worker_rlimit_nofile и
5487        worker_rlimit_sigpending.
5488 
5489     *) Исправление: если все бэкенды, используемые для балансировки
5490        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5491        nginx не обращался к ним в течение 60 секунд.
5492 
5493     *) Исправление: в парсинге аргументов IMAP/POP3 команд.
5494        Спасибо Rob Mueller.
5495 
5496     *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
5497 
5498     *) Исправление: ошибки при использовании SSI и сжатия.
5499 
5500     *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
5501        "Expires" и "Cache-Control".
5502        Спасибо Александру Кукушкину.
5503 
5504 
5505 Изменения в nginx 0.1.45                                          08.09.2005
5506 
5507     *) Изменение: директива ssl_engine упразднена в модуле
5508        ngx_http_ssl_module и перенесена на глобальный уровень.
5509 
5510     *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
5511        передавались через SSL соединение.
5512 
5513     *) Разные исправления в IMAP/POP3 прокси.
5514 
5515 
5516 Изменения в nginx 0.1.44                                          06.09.2005
5517 
5518     *) Добавление: IMAP/POP3 прокси поддерживает SSL.
5519 
5520     *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
5521 
5522     *) Добавление: директива userid_mark.
5523 
5524     *) Добавление: значение переменной $remote_user определяется независимо
5525        от того, используется ли авторизация или нет.
5526 
5527 
5528 Изменения в nginx 0.1.43                                          30.08.2005
5529 
5530     *) Добавление: listen(2) backlog в директиве listen можно менять по
5531        сигналу -HUP.
5532 
5533     *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
5534 
5535     *) Изменение: параметры FastCGI с пустым значениями теперь передаются
5536        серверу.
5537 
5538     *) Исправление: если в ответе проксированного сервера или FastCGI
5539        сервера была строка "Cache-Control", то при использовании директивы
5540        expires происходил segmentation fault или рабочий процесс мог
5541        зациклится; в режиме прокси ошибка появилась в 0.1.29.
5542 
5543 
5544 Изменения в nginx 0.1.42                                          23.08.2005
5545 
5546     *) Исправление: если URI запроса получался нулевой длины после обработки
5547        модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
5548        происходил segmentation fault или bus error.
5549 
5550     *) Исправление: директива limit_rate не работала внутри блока if; ошибка
5551        появилась в 0.1.38.
5552 
5553 
5554 Изменения в nginx 0.1.41                                          25.07.2005
5555 
5556     *) Исправление: если переменная использовалась в файле конфигурации, то
5557        она не могла использоваться в SSI.
5558 
5559 
5560 Изменения в nginx 0.1.40                                          22.07.2005
5561 
5562     *) Исправление: если клиент слал очень длинную строку заголовка, то в
5563        логе не помещалась информация, связанная с этим запросом.
5564 
5565     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5566        строка "Set-Cookie"; ошибка появилась в 0.1.39.
5567 
5568     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5569        строка "Content-Disposition".
5570 
5571     *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
5572        на которых он слушал.
5573 
5574     *) Исправление: после обновления исполняемого файла на лету на Linux и
5575        Solaris название процесса в команде ps становилось короче.
5576 
5577 
5578 Изменения в nginx 0.1.39                                          14.07.2005
5579 
5580     *) Изменения в модуле ngx_http_charset_module: директива default_charset
5581        упразднена; директива charset задаёт кодировку ответа; директива
5582        source_charset задаёт только исходную кодировку.
5583 
5584     *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
5585        не передавалась строка заголовка "WWW-Authenticate".
5586 
5587     *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
5588        могли закрыть соединение до того, как что-нибудь было передано
5589        клиенту; ошибка появилась в 0.1.38.
5590 
5591     *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
5592 
5593     *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
5594        URI в команде include virtual.
5595 
5596     *) Исправление: если в строке заголовка ответа бэкенда была строка
5597        "Location", которую nginx не должен был изменять, то в ответе
5598        передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
5599 
5600     *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
5601        ngx_http_fastcgi_module не наследовались с уровня server на уровень
5602        location; ошибка появилась в 0.1.29.
5603 
5604     *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
5605        сертификатов.
5606 
5607     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5608        длинных имён файлов; ошибка появилась в 0.1.38.
5609 
5610     *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
5611        стадии login.
5612 
5613 
5614 Изменения в nginx 0.1.38                                          08.07.2005
5615 
5616     *) Добавление: директива limit_rate поддерживается в режиме прокси и
5617        FastCGI.
5618 
5619     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5620        "X-Accel-Limit-Rate" в ответе бэкенда.
5621 
5622     *) Добавление: директива break.
5623 
5624     *) Добавление: директива log_not_found.
5625 
5626     *) Исправление: при перенаправлении запроса с помощью строки заголовка
5627        "X-Accel-Redirect" не изменялся код ответа.
5628 
5629     *) Исправление: переменные, установленные директивой set не могли
5630        использоваться в SSI.
5631 
5632     *) Исправление: при включении в SSI более одного удалённого подзапроса
5633        мог произойти segmentation fault.
5634 
5635     *) Исправление: если статусная строка в ответе бэкенда передавалась в
5636        двух пакетах, то nginx считал ответ неверным; ошибка появилась в
5637        0.1.29.
5638 
5639     *) Добавление: директива ssi_types.
5640 
5641     *) Добавление: директива autoindex_exact_size.
5642 
5643     *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
5644        имена файлов в UTF-8.
5645 
5646     *) Добавление: IMAP/POP3 прокси.
5647 
5648 
5649 Изменения в nginx 0.1.37                                          23.06.2005
5650 
5651     *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
5652 
5653     *) Исправление: при включении большого количества вставок или нескольких
5654        больших вставок с помощью SSI ответ мог передаваться не полностью.
5655 
5656     *) Исправление: если все бэкенды возвращали ответ 404, то при
5657        использовании параметра http_404 в директивах proxy_next_upstream или
5658        fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
5659 
5660 
5661 Изменения в nginx 0.1.36                                          15.06.2005
5662 
5663     *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
5664        "Connection", "Content-Length" и "Authorization", то nginx теперь
5665        выдаёт ошибку 400.
5666 
5667     *) Изменение: директива post_accept_timeout упразднена.
5668 
5669     *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
5670        listen.
5671 
5672     *) Добавление: поддержка accept фильтров во FreeBSD.
5673 
5674     *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
5675 
5676     *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
5677        файлов в UTF-8.
5678 
5679     *) Исправление: после добавления новый лог-файл ротация этого лога по
5680        сигналу -USR1 выполнялась, только если переконфигурировать nginx два
5681        раза по сигналу -HUP.
5682 
5683 
5684 Изменения в nginx 0.1.35                                          07.06.2005
5685 
5686     *) Добавление: директива working_directory.
5687 
5688     *) Добавление: директива port_in_redirect.
5689 
5690     *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
5691        то происходил segmentation fault; ошибка появилась в 0.1.29.
5692 
5693     *) Исправление: если было сконфигурировано более 10 серверов или в
5694        сервере не описана директива "listen", то при запуске мог произойти
5695        segmentation fault.
5696 
5697     *) Исправление: если ответ не помещался во временный файл, то мог
5698        произойти segmentation fault.
5699 
5700     *) Исправление: nginx возвращал ошибку 400 на запросы вида
5701        "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
5702 
5703 
5704 Изменения в nginx 0.1.34                                          26.05.2005
5705 
5706     *) Исправление: при включении больших ответов с помощью SSI рабочий
5707        процесс мог зациклиться.
5708 
5709     *) Исправление: переменные, устанавливаемые директивой "set", не были
5710        доступны в SSI.
5711 
5712     *) Добавление: директива autoindex_localtime.
5713 
5714     *) Исправление: пустое значение в директиве proxy_set_header запрещает
5715        передачу заголовка.
5716 
5717 
5718 Изменения в nginx 0.1.33                                          23.05.2005
5719 
5720     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
5721        появилась в 0.1.29.
5722 
5723     *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
5724        вызывали bus fault при запуске.
5725 
5726     *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
5727        HTTP.
5728 
5729     *) Исправление: если директива rewrite использовала выделения внутри
5730        директивы if, то возвращалась ошибка 500.
5731 
5732 
5733 Изменения в nginx 0.1.32                                          19.05.2005
5734 
5735     *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
5736        передавались аргументы; ошибка появилась в 0.1.29.
5737 
5738     *) Добавление: директива if поддерживает выделения в регулярных
5739        выражениях.
5740 
5741     *) Добавление: директива set поддерживает переменные и выделения из
5742        регулярных выражений.
5743 
5744     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5745        "X-Accel-Redirect" в ответе бэкенда.
5746 
5747 
5748 Изменения в nginx 0.1.31                                          16.05.2005
5749 
5750     *) Исправление: при использовании SSL ответ мог передаваться не до
5751        конца.
5752 
5753     *) Исправление: ошибки при обработке SSI в ответе, полученного от
5754        FastCGI-сервера.
5755 
5756     *) Исправление: ошибки при использовании SSI и сжатия.
5757 
5758     *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
5759        появилась в 0.1.30.
5760 
5761 
5762 Изменения в nginx 0.1.30                                          14.05.2005
5763 
5764     *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
5765 
5766     *) Исправление: при использовании SSL ответ мог передаваться не до
5767        конца.
5768 
5769     *) Исправление: если длина части ответа, полученного за один раз от
5770        проксируемого или FastCGI сервера была равна 500 байт, то nginx
5771        возвращал код ответа 500; в режиме прокси ошибка появилась только в
5772        0.1.29.
5773 
5774     *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
5775        параметрами.
5776 
5777     *) Добавление: директива return может возвращать код ответа 204.
5778 
5779     *) Добавление: директива ignore_invalid_headers.
5780 
5781 
5782 Изменения в nginx 0.1.29                                          12.05.2005
5783 
5784     *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
5785        virtual.
5786 
5787     *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
5788        вида 'if expr="$NAME"' и команды else и endif. Допускается только
5789        один уровень вложенности.
5790 
5791     *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
5792        DATE_LOCAL и DATE_GMT и команду config timefmt.
5793 
5794     *) Добавление: директива ssi_ignore_recycled_buffers.
5795 
5796     *) Исправление: если переменная QUERY_STRING не была определена, то в
5797        команде echo не ставилось значение по умолчанию.
5798 
5799     *) Изменение: модуль ngx_http_proxy_module полностью переписан.
5800 
5801     *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
5802        proxy_pass_request_body и proxy_method.
5803 
5804     *) Добавление: директива proxy_set_header. Директива proxy_x_var
5805        упразднена и должна быть заменена директивой proxy_set_header.
5806 
5807     *) Изменение: директива proxy_preserve_host упразднена и должна быть
5808        заменена директивами "proxy_set_header Host $host" и "proxy_redirect
5809        off" или директивой "proxy_set_header Host $host:$proxy_port" и
5810        соответствующими ей директивами proxy_redirect.
5811 
5812     *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
5813        заменена директивой "proxy_set_header X-Real-IP $remote_addr".
5814 
5815     *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
5816        быть заменена директивой
5817        "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
5818 
5819     *) Изменение: директива proxy_set_x_url упразднена и должна быть
5820        заменена директивой
5821        "proxy_set_header X-URL http://$host:$server_port$request_uri".
5822 
5823     *) Добавление: директива fastcgi_param.
5824 
5825     *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
5826        упразднены и должны быть замены директивами fastcgi_param.
5827 
5828     *) Добавление: директива index может использовать переменные.
5829 
5830     *) Добавление: директива index может быть указана на уровне http и
5831        server.
5832 
5833     *) Изменение: только последний параметр в директиве index может быть
5834        абсолютным.
5835 
5836     *) Добавление: в директиве rewrite могут использоваться переменные.
5837 
5838     *) Добавление: директива internal.
5839 
5840     *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
5841        SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
5842        SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
5843 
5844     *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
5845        клиента и ответа бэкенда.
5846 
5847     *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
5848        меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
5849 
5850     *) Исправление: если бэкенд передавал неверную строку в заголовке
5851        ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
5852 
5853     *) Исправление: при использовании отказоустойчивой конфигурации в
5854        FastCGI мог происходить segmentation fault.
5855 
5856     *) Исправление: директива expires не удаляла уже установленные строки
5857        заголовка "Expires" и "Cache-Control".
5858 
5859     *) Исправление: nginx не учитывал завершающую точку в строке заголовка
5860        запроса "Host".
5861 
5862     *) Исправление: модуль ngx_http_auth_module не работал на Linux.
5863 
5864     *) Исправление: директива rewrite неверно работала, если в запросе
5865        присутствовали аргументы.
5866 
5867     *) Исправление: nginx не собирался на MacOS X.
5868 
5869 
5870 Изменения в nginx 0.1.28                                          08.04.2005
5871 
5872     *) Исправление: при проксировании больших файлов nginx сильно нагружал
5873        процессор.
5874 
5875     *) Исправление: nginx не собирался gcc 4.0 на Linux.
5876 
5877 
5878 Изменения в nginx 0.1.27                                          28.03.2005
5879 
5880     *) Добавление: параметр blocked в директиве valid_referers.
5881 
5882     *) Изменение: ошибки обработки заголовка запроса теперь записываются на
5883        уровне info, в лог также записывается имя сервера и строки заголовка
5884        запроса "Host" и "Referer".
5885 
5886     *) Изменение: при записи ошибок в лог записывается также строка
5887        заголовка запроса "Host".
5888 
5889     *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
5890        символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
5891 
5892     *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
5893        параметр конфигурации --without-ngx_http_auth_basic_module.
5894 
5895 
5896 Изменения в nginx 0.1.26                                          22.03.2005
5897 
5898     *) Изменение: неверные строки заголовка, переданные клиентом, теперь
5899        игнорируется и записываются в error_log на уровне info.
5900 
5901     *) Изменение: при записи ошибок в лог записывается также имя сервера,
5902        при обращении к которому произошла ошибка.
5903 
5904     *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
5905        и auth_basic_user_file.
5906 
5907 
5908 Изменения в nginx 0.1.25                                          19.03.2005
5909 
5910     *) Исправление: nginx не работал на Linux parisc.
5911 
5912     *) Добавление: nginx теперь не запускается под FreeBSD, если значение
5913        sysctl kern.ipc.somaxconn слишком большое.
5914 
5915     *) Исправление: если модуль ngx_http_index_module делал внутреннее
5916        перенаправление запроса в модули ngx_http_proxy_module или
5917        ngx_http_fastcgi_module, то файл индекса не закрывался после
5918        обслуживания запроса.
5919 
5920     *) Добавление: директива proxy_pass может использоваться в location,
5921        заданных регулярным выражением.
5922 
5923     *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
5924        условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
5925 
5926     *) Исправление: nginx очень медленно запускался при большом количестве
5927        адресов и использовании текстовых значений в директиве geo.
5928 
5929     *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
5930        Прежний вариант без "$" пока работает, но вскоре будет убран.
5931 
5932     *) Добавление: параметр лога "%{VARIABLE}v".
5933 
5934     *) Добавление: директива "set $name value".
5935 
5936     *) Исправление: совместимость с gcc 4.0.
5937 
5938     *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
5939 
5940 
5941 Изменения в nginx 0.1.24                                          04.03.2005
5942 
5943     *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
5944        QUERY_STRING и DOCUMENT_URI.
5945 
5946     *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
5947        на существующий каталог, если этот каталог был указан как alias.
5948 
5949     *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
5950        при больших ответах.
5951 
5952     *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
5953        правильным referrer'ом.
5954 
5955 
5956 Изменения в nginx 0.1.23                                          01.03.2005
5957 
5958     *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
5959        ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
5960        var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
5961 
5962     *) Добавление: параметр лога %request_time.
5963 
5964     *) Добавление: если запрос пришёл без строки заголовка "Host", то
5965        директива proxy_preserve_host устанавливает в качестве этого
5966        заголовка первое имя сервера из директивы server_name.
5967 
5968     *) Исправление: nginx не собирался на платформах, отличных от i386,
5969        amd64, sparc и ppc; ошибка появилась в 0.1.22.
5970 
5971     *) Исправление: модуль ngx_http_autoindex_module теперь показывает
5972        информацию не о символическом линке, а о файле или каталоге, на
5973        который он указывает.
5974 
5975     *) Исправление: если клиенту ничего не передавалось, то параметр
5976        %apache_length записывал в лог отрицательную длину заголовка ответа.
5977 
5978 
5979 Изменения в nginx 0.1.22                                          22.02.2005
5980 
5981     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5982        статистику для обработанных соединений, если использовалось
5983        проксирование или FastCGI-сервер.
5984 
5985     *) Исправление: на Linux и Solaris установочные пути были неверно
5986        заключены в кавычки; ошибка появилась в 0.1.21.
5987 
5988 
5989 Изменения в nginx 0.1.21                                          22.02.2005
5990 
5991     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5992        статистику при использовании метода rtsig или при использовании
5993        нескольких рабочих процессов на SMP машине.
5994 
5995     *) Исправление: nginx не собирался компилятором icc под Линуксом или
5996        если библиотека zlib-1.2.x собиралась из исходных текстов.
5997 
5998     *) Исправление: nginx не собирался под NetBSD 2.0.
5999 
6000 
6001 Изменения в nginx 0.1.20                                          17.02.2005
6002 
6003     *) Добавление: новые параметры script_filename и remote_port в директиве
6004        fastcgi_params.
6005 
6006     *) Исправление: неправильно обрабатывался поток stderr от
6007        FastCGI-сервера.
6008 
6009 
6010 Изменения в nginx 0.1.19                                          16.02.2005
6011 
6012     *) Исправление: если в запросе есть нуль, то для локальных запросов
6013        теперь возвращается ошибка 404.
6014 
6015     *) Исправление: nginx не собирался под NetBSD 2.0.
6016 
6017     *) Исправление: во время чтения тела запроса клиента в SSL соединении
6018        мог произойти таймаут.
6019 
6020 
6021 Изменения в nginx 0.1.18                                          09.02.2005
6022 
6023     *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
6024        и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
6025 
6026     *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
6027        наследовались.
6028 
6029     *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
6030        присоединялись к URI через символ "&" вместо "?".
6031 
6032     *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
6033        включённом файле игнорировались.
6034 
6035     *) Добавление: модуль ngx_http_stub_status_module.
6036 
6037     *) Исправление: неизвестный формат лог-файла в директиве access_log
6038        вызывал segmentation fault.
6039 
6040     *) Добавление: новый параметр document_root в директиве fastcgi_params.
6041 
6042     *) Добавление: директива fastcgi_redirect_errors.
6043 
6044     *) Добавление: новый модификатор break в директиве rewrite позволяет
6045        прекратить цикл rewrite/location и устанавливает текущую конфигурацию
6046        для запроса.
6047 
6048 
6049 Изменения в nginx 0.1.17                                          03.02.2005
6050 
6051     *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
6052        можно делать редиректы, возвращать коды ошибок и проверять переменные
6053        и рефереры. Эти директивы можно использовать внутри location.
6054        Директива redirect упразднена.
6055 
6056     *) Добавление: модуль ngx_http_geo_module.
6057 
6058     *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
6059 
6060     *) Исправление: конфигурация location с модификатором "=" могла
6061        использоваться в другом location.
6062 
6063     *) Исправление: правильный тип ответа выставлялся только для запросов, у
6064        которых в расширении были только маленькие буквы.
6065 
6066     *) Исправление: если для location установлен proxy_pass или
6067        fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
6068        на статическую страницу, то происходил segmentation fault.
6069 
6070     *) Исправление: если в проксированном ответе в заголовке "Location"
6071        передавался относительный URL, то к нему добавлялось имя хоста и
6072        слэш; ошибка появилась в 0.1.14.
6073 
6074     *) Исправление: на Linux в лог не записывался текст системной ошибки.
6075 
6076 
6077 Изменения в nginx 0.1.16                                          25.01.2005
6078 
6079     *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
6080        выдавался завершающий chunk.
6081 
6082     *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
6083        директива keepalive_timeout запрещала использование keep-alive.
6084 
6085     *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
6086        segmentation fault.
6087 
6088     *) Исправление: при использовании SSL сжатый ответ мог передаваться не
6089        до конца.
6090 
6091     *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
6092        для TCP сокетов, не используются для unix domain сокетов.
6093 
6094     *) Добавление: директива rewrite поддерживает перезаписывание
6095        аргументов.
6096 
6097     *) Исправление: на запрос POST с заголовком "Content-Length: 0"
6098        возвращался ответ 400; ошибка появилась в 0.1.14.
6099 
6100 
6101 Изменения в nginx 0.1.15                                          19.01.2005
6102 
6103     *) Исправление: ошибка соединения с FastCGI-сервером вызывала
6104        segmentation fault.
6105 
6106     *) Исправление: корректная обработка регулярного выражения, в котором
6107        число выделенных частей не совпадает с числом подстановок.
6108 
6109     *) Добавление: location, который передаётся FastCGI-серверу, может быть
6110        задан с помощью регулярного выражения.
6111 
6112     *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
6113        аргументами и в том виде, в котором был получен от клиента.
6114 
6115     *) Исправление: для использования регулярных выражений в location нужно
6116        было собирать nginx вместе с ngx_http_rewrite_module.
6117 
6118     *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
6119        директивы "proxy_preserve_host on" в заголовке "Host" указывался
6120        также порт 80; ошибка появилась в 0.1.14.
6121 
6122     *) Исправление: если задать одинаковые пути в параметрах
6123        автоконфигурации --http-client-body-temp-path=PATH и
6124        --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
6125        --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
6126 
6127 
6128 Изменения в nginx 0.1.14                                          18.01.2005
6129 
6130     *) Добавление: параметры автоконфигурации
6131        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
6132        --http-fastcgi-temp-path=PATH
6133 
6134     *) Изменение: имя каталога с временными файлами, содержащие тело запроса
6135        клиента, задаётся директивой client_body_temp_path, по умолчанию
6136        <prefix>/client_body_temp.
6137 
6138     *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
6139        fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
6140        fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
6141        fastcgi_header_buffer_size, fastcgi_buffers,
6142        fastcgi_busy_buffers_size, fastcgi_temp_path,
6143        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
6144        fastcgi_next_upstream и fastcgi_x_powered_by.
6145 
6146     *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
6147        0.1.3.
6148 
6149     *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
6150        после имени хоста.
6151 
6152     *) Изменение: если в URI встречался символ %3F, то он считался началом
6153        строки аргументов.
6154 
6155     *) Добавление: поддержка unix domain сoкетов в модуле
6156        ngx_http_proxy_module.
6157 
6158     *) Добавление: директивы ssl_engine и ssl_ciphers.
6159        Спасибо Сергею Скворцову за SSL-акселератор.
6160 
6161 
6162 Изменения в nginx 0.1.13                                          21.12.2004
6163 
6164     *) Добавление: директивы server_names_hash и
6165        server_names_hash_threshold.
6166 
6167     *) Исправление: имена *.domain.tld в директиве server_name не работали.
6168 
6169     *) Исправление: параметр лога %request_length записывал неверную длину.
6170 
6171 
6172 Изменения в nginx 0.1.12                                          06.12.2004
6173 
6174     *) Добавление: параметр лога %request_length.
6175 
6176     *) Исправление: при использовании /dev/poll, select и poll на
6177        платформах, где возможны ложные срабатывания указанных методов, могли
6178        быть длительные задержки при обработке запроса по keep-alive
6179        соединению. Наблюдалось по крайней мере на Solaris с использованием
6180        /dev/poll.
6181 
6182     *) Исправление: директива send_lowat игнорируется на Linux, так как
6183        Linux не поддерживает опцию SO_SNDLOWAT.
6184 
6185 
6186 Изменения в nginx 0.1.11                                          02.12.2004
6187 
6188     *) Добавление: директива worker_priority.
6189 
6190     *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
6191        влияют на передачу ответа.
6192 
6193     *) Исправление: nginx не вызывал initgroups().
6194        Спасибо Андрею Ситникову и Андрею Нигматулину.
6195 
6196     *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
6197        байтах.
6198 
6199     *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
6200        каталоге есть битый symlink.
6201 
6202     *) Исправление: файлы больше 4G не передавались с использованием
6203        sendfile.
6204 
6205     *) Исправление: если бэкенд резолвился в несколько адресов и при
6206        ожидании от него ответа происходила ошибка, то процесс зацикливался.
6207 
6208     *) Исправление: при использовании метода /dev/poll рабочий процесс мог
6209        завершиться с сообщением "unknown cycle".
6210 
6211     *) Исправление: ошибки "close() channel failed".
6212 
6213     *) Исправление: автоматическое определение групп nobody и nogroup.
6214 
6215     *) Исправление: директива send_lowat не работала на Linux.
6216 
6217     *) Исправление: если в конфигурации не было раздела events, то
6218        происходил segmentation fault.
6219 
6220     *) Исправление: nginx не собирался под OpenBSD.
6221 
6222     *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
6223 
6224 
6225 Изменения в nginx 0.1.10                                          26.11.2004
6226 
6227     *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
6228        или "%XX", то терялся последний символ в строке запроса; ошибка
6229        появилась в 0.1.9.
6230 
6231     *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
6232        не работало.
6233 
6234 
6235 Изменения в nginx 0.1.9                                           25.11.2004
6236 
6237     *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
6238        проксируемый запрос передавался без аргументов.
6239 
6240     *) Исправление: при сжатии больших ответов иногда они передавались не
6241        полностью.
6242 
6243     *) Исправление: не передавались файлы больше 2G на Linux,
6244        неподдерживающем sendfile64().
6245 
6246     *) Исправление: на Linux при конфигурации сборки нужно было обязательно
6247        использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
6248 
6249 
6250 Изменения в nginx 0.1.8                                           20.11.2004
6251 
6252     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6253        длинных имён файлов.
6254 
6255     *) Добавление: модификатор "^~" в директиве location.
6256 
6257     *) Добавление: директива proxy_max_temp_file_size.
6258 
6259 
6260 Изменения в nginx 0.1.7                                           12.11.2004
6261 
6262     *) Исправление: при использовании sendfile, если передаваемый файл
6263        менялся, то мог произойти segmentation fault на FreeBSD; ошибка
6264        появилась в 0.1.5.
6265 
6266 
6267 Изменения в nginx 0.1.6                                           11.11.2004
6268 
6269     *) Исправление: при некоторых комбинациях директив location c
6270        регулярными выражениями использовалась конфигурация не из того
6271        location.
6272 
6273 
6274 Изменения в nginx 0.1.5                                           11.11.2004
6275 
6276     *) Исправление: на Solaris и Linux могло быть очень много сообщений
6277        "recvmsg() returned not enough data".
6278 
6279     *) Исправление: в режиме прокси без использования sendfile на Solaris
6280        возникала ошибка "writev() failed (22: Invalid argument)". На других
6281        платформах, не поддерживающих sendfile, процесс зацикливался.
6282 
6283     *) Исправление: при использовании sendfile в режиме прокси на Solaris
6284        возникал segmentation fault.
6285 
6286     *) Исправление: segmentation fault на Solaris.
6287 
6288     *) Исправление: обновление исполняемого файла на лету не работало на
6289        Linux.
6290 
6291     *) Исправление: в списке файлов, выдаваемом модулем
6292        ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
6293        знаки процента.
6294 
6295     *) Изменение: уменьшение операций копирования.
6296 
6297     *) Добавление: директива userid_p3p.
6298 
6299 
6300 Изменения в nginx 0.1.4                                           26.10.2004
6301 
6302     *) Исправление: ошибка в модуле ngx_http_autoindex_module.
6303 
6304 
6305 Изменения в nginx 0.1.3                                           25.10.2004
6306 
6307     *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
6308 
6309     *) Добавление: директива proxy_set_x_url.
6310 
6311     *) Исправление: модуль проксировании мог привести к зацикливанию, если
6312        не использовался sendfile.
6313 
6314 
6315 Изменения в nginx 0.1.2                                           21.10.2004
6316 
6317     *) Добавление: параметры --user=USER, --group=GROUP и
6318        --with-ld-opt=OPTIONS в configure.
6319 
6320     *) Добавление: директива server_name поддерживает *.domain.tld.
6321 
6322     *) Исправление: улучшена переносимость на неизвестные платформы.
6323 
6324     *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
6325        файл указан в командной строке; ошибка появилась в 0.1.1.
6326 
6327     *) Исправление: модуль проксировании мог привести к зацикливанию, если
6328        не использовался sendfile.
6329 
6330     *) Исправление: при использовании sendfile текст ответа не
6331        перекодировался согласно директивам модуля charset; ошибка появилась
6332        в 0.1.1.
6333 
6334     *) Исправление: очень редкая ошибка при обработке kqueue.
6335 
6336     *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
6337        проксировании.
6338 
6339 
6340 Изменения в nginx 0.1.1                                           11.10.2004
6341 
6342     *) Добавление: директива gzip_types.
6343 
6344     *) Добавление: директива tcp_nodelay.
6345 
6346     *) Добавление: директива send_lowat работает не только на платформах,
6347        поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
6348        SO_SNDLOWAT.
6349 
6350     *) Добавление: эмуляция setproctitle() для Linux и Solaris.
6351 
6352     *) Исправление: ошибка при переписывании заголовка "Location" при
6353        проксировании.
6354 
6355     *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
6356        зацикливанию.
6357 
6358     *) Исправление: ошибки в модуле /dev/poll.
6359 
6360     *) Исправление: при проксировании и использовании временных файлов
6361        ответы портились.
6362 
6363     *) Исправление: бэкенду передавались запросы с неперекодированными
6364        символами.
6365 
6366     *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
6367        обязательно использовать параметр --with-poll_module.
6368 
6369 
6370 Изменения в nginx 0.1.0                                           04.10.2004
6371 
6372     *) Первая публично доступная версия.
6373