File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / nginx / CHANGES.ru
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Oct 14 09:20:38 2013 UTC (10 years, 8 months ago) by misho
Branches: nginx, MAIN
CVS tags: v1_4_3p0, v1_4_3, HEAD
v 1.4.3

    1: 
    2: Изменения в nginx 1.4.3                                           08.10.2013
    3: 
    4:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
    5:        если использовался модуль ngx_http_spdy_module и директива
    6:        client_body_in_file_only.
    7: 
    8:     *) Исправление: на старте или во время переконфигурации мог произойти
    9:        segmentation fault, если использовалась директива try_files с пустым
   10:        параметром.
   11: 
   12:     *) Исправление: переменная $request_time не работала в nginx/Windows.
   13: 
   14:     *) Исправление: в модуле ngx_http_auth_basic_module при использовании
   15:        метода шифрования паролей "$apr1$".
   16:        Спасибо Markus Linnala.
   17: 
   18:     *) Исправление: в модуле ngx_http_autoindex_module.
   19: 
   20:     *) Исправление: в почтовом прокси-сервере.
   21: 
   22: 
   23: Изменения в nginx 1.4.2                                           17.07.2013
   24: 
   25:     *) Исправление: метод $r->header_in() встроенного перла не возвращал
   26:        значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
   27:        ошибка появилась в 1.3.14.
   28: 
   29:     *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
   30:        модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
   31: 
   32:     *) Исправление: в директиве proxy_set_body.
   33:        Спасибо Lanshun Zhou.
   34: 
   35:     *) Исправление: параметр fail_timeout директивы server в блоке upstream
   36:        мог не работать, если использовался параметр max_fails; ошибка
   37:        появилась в 1.3.0.
   38: 
   39:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
   40:        если использовалась директива ssl_stapling.
   41:        Спасибо Piotr Sikora.
   42: 
   43:     *) Исправление: nginx/Windows мог перестать принимать соединения, если
   44:        использовалось несколько рабочих процессов.
   45: 
   46: 
   47: Изменения в nginx 1.4.1                                           07.05.2013
   48: 
   49:     *) Безопасность: при обработке специально созданного запроса мог
   50:        перезаписываться стек рабочего процесса, что могло приводить к
   51:        выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
   52:        1.3.9.
   53:        Спасибо Greg MacManus, iSIGHT Partners Labs.
   54: 
   55: 
   56: Изменения в nginx 1.4.0                                           24.04.2013
   57: 
   58:     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
   59:        использовался параметр --with-openssl; ошибка появилась в 1.3.16.
   60: 
   61:     *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
   62:        ошибка появилась в 1.3.9.
   63: 
   64: 
   65: Изменения в nginx 1.3.16                                          16.04.2013
   66: 
   67:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
   68:        если использовались подзапросы; ошибка появилась в 1.3.9.
   69: 
   70:     *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
   71:        WebSocket-соединений в unix domain сокет.
   72: 
   73:     *) Исправление: переменная $upstream_response_length возвращала значение
   74:        "0", если не использовалась буферизация.
   75:        Спасибо Piotr Sikora.
   76: 
   77:     *) Исправление: в методах обработки соединений eventport и /dev/poll.
   78: 
   79: 
   80: Изменения в nginx 1.3.15                                          26.03.2013
   81: 
   82:     *) Изменение: открытие и закрытие соединения без отправки в нём
   83:        каких-либо данных больше не записывается в access_log с кодом ошибки
   84:        400.
   85: 
   86:     *) Добавление: модуль ngx_http_spdy_module.
   87:        Спасибо Automattic за спонсирование разработки.
   88: 
   89:     *) Добавление: директивы limit_req_status и limit_conn_status.
   90:        Спасибо Nick Marden.
   91: 
   92:     *) Добавление: директива image_filter_interlace.
   93:        Спасибо Ивану Боброву.
   94: 
   95:     *) Добавление: переменная $connections_waiting в модуле
   96:        ngx_http_stub_status_module.
   97: 
   98:     *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
   99: 
  100:     *) Исправление: при повторной отправке запроса на бэкенд тело запроса
  101:        могло передаваться неправильно; ошибка появилась в 1.3.9.
  102:        Спасибо Piotr Sikora.
  103: 
  104:     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
  105:        1.3.9.
  106: 
  107:     *) Исправление: ответы могли зависать, если использовались подзапросы и
  108:        при обработке подзапроса происходила DNS-ошибка.
  109:        Спасибо Lanshun Zhou.
  110: 
  111:     *) Исправление: в процедуре учёта использования бэкендов.
  112: 
  113: 
  114: Изменения в nginx 1.3.14                                          05.03.2013
  115: 
  116:     *) Добавление: переменные $connections_active, $connections_reading и
  117:        $connections_writing в модуле ngx_http_stub_status_module.
  118: 
  119:     *) Добавление: поддержка WebSocket-соединений в модулях
  120:        ngx_http_uwsgi_module и ngx_http_scgi_module.
  121: 
  122:     *) Исправление: в обработке виртуальных серверов при использовании SNI.
  123: 
  124:     *) Исправление: при использовании директивы "ssl_session_cache shared"
  125:        новые сессии могли не сохраняться, если заканчивалось место в
  126:        разделяемой памяти.
  127:        Спасибо Piotr Sikora.
  128: 
  129:     *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
  130:        неправильно.
  131:        Спасибо Neal Poole за спонсирование разработки.
  132: 
  133:     *) Исправление: в модуле ngx_http_mp4_module.
  134:        Спасибо Gernot Vormayr.
  135: 
  136: 
  137: Изменения в nginx 1.3.13                                          19.02.2013
  138: 
  139:     *) Изменение: теперь для сборки по умолчанию используется компилятор с
  140:        именем "cc".
  141: 
  142:     *) Добавление: поддержка проксирования WebSocket-соединений.
  143:        Спасибо Apcera и CloudBees за спонсирование разработки.
  144: 
  145:     *) Добавление: директива auth_basic_user_file поддерживает шифрование
  146:        паролей методом "{SHA}".
  147:        Спасибо Louis Opter.
  148: 
  149: 
  150: Изменения в nginx 1.3.12                                          05.02.2013
  151: 
  152:     *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
  153:        scgi_bind и uwsgi_bind поддерживают переменные.
  154: 
  155:     *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
  156:        $time_local теперь можно использовать не только в директиве
  157:        log_format.
  158:        Спасибо Kiril Kalchev.
  159: 
  160:     *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
  161:        Спасибо Gregor Kališnik.
  162: 
  163:     *) Исправление: директива proxy_method работала неверно, если была
  164:        указана на уровне http.
  165: 
  166:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  167:        если использовался resolver и метод poll.
  168: 
  169:     *) Исправление: nginx мог нагружать процессор во время SSL handshake с
  170:        бэкендом при использовании методов обработки соединений select, poll
  171:        и /dev/poll.
  172: 
  173:     *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
  174: 
  175:     *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
  176:        1.3.9.
  177: 
  178:     *) Исправление: в директиве fastcgi_keep_conn.
  179: 
  180: 
  181: Изменения в nginx 1.3.11                                          10.01.2013
  182: 
  183:     *) Исправление: при записи в лог мог происходить segmentation fault;
  184:        ошибка появилась в 1.3.10.
  185: 
  186:     *) Исправление: директива proxy_pass не работала с IP-адресами без
  187:        явного указания порта; ошибка появилась в 1.3.10.
  188: 
  189:     *) Исправление: на старте или во время переконфигурации происходил
  190:        segmentation fault, если директива keepalive была указана несколько
  191:        раз в одном блоке upstream.
  192: 
  193:     *) Исправление: параметр default директивы geo не определял значение по
  194:        умолчанию для IPv6-адресов.
  195: 
  196: 
  197: Изменения в nginx 1.3.10                                          25.12.2012
  198: 
  199:     *) Изменение: для указанных в конфигурационном файле доменных имён
  200:        теперь используются не только IPv4, но и IPv6 адреса.
  201: 
  202:     *) Изменение: теперь при использовании директивы include с маской на
  203:        Unix-системах включаемые файлы сортируются в алфавитном порядке.
  204: 
  205:     *) Изменение: директива add_header добавляет строки в ответы с кодом
  206:        201.
  207: 
  208:     *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
  209:        CIDR.
  210: 
  211:     *) Добавление: параметры flush и gzip в директиве access_log.
  212: 
  213:     *) Добавление: директива auth_basic поддерживает переменные.
  214: 
  215:     *) Исправление: nginx в некоторых случаях не собирался с модулем
  216:        ngx_http_perl_module.
  217: 
  218:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  219:        если использовался модуль ngx_http_xslt_module.
  220: 
  221:     *) Исправление: nginx мог не собираться на MacOSX.
  222:        Спасибо Piotr Sikora.
  223: 
  224:     *) Исправление: при использовании директивы limit_rate с большими
  225:        значениями скорости на 32-битных системах ответ мог возвращаться не
  226:        целиком.
  227:        Спасибо Алексею Антропову.
  228: 
  229:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  230:        если использовалась директива if.
  231:        Спасибо Piotr Sikora.
  232: 
  233:     *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
  234:        Request Entity Too Large".
  235: 
  236:     *) Исправление: директивы image_filter, image_filter_jpeg_quality и
  237:        image_filter_sharpen могли наследоваться некорректно.
  238:        Спасибо Ивану Боброву.
  239: 
  240:     *) Исправление: при использовании директивы auth_basic под Linux могли
  241:        возникать ошибки "crypt_r() failed".
  242: 
  243:     *) Исправление: в обработке backup-серверов.
  244:        Спасибо Thomas Chen.
  245: 
  246:     *) Исправление: при проксировании HEAD-запросов мог возвращаться
  247:        некорректный ответ, если использовалась директива gzip.
  248: 
  249: 
  250: Изменения в nginx 1.3.9                                           27.11.2012
  251: 
  252:     *) Добавление: поддержка chunked transfer encoding при получении тела
  253:        запроса.
  254: 
  255:     *) Добавление: переменные $request_time и $msec теперь можно
  256:        использовать не только в директиве log_format.
  257: 
  258:     *) Исправление: cache manager и cache loader могли не запускаться, если
  259:        использовалось более 512 listen-сокетов.
  260: 
  261:     *) Исправление: в модуле ngx_http_dav_module.
  262: 
  263: 
  264: Изменения в nginx 1.3.8                                           30.10.2012
  265: 
  266:     *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
  267:        Спасибо Михаилу Казанцеву и Eric O'Connor.
  268: 
  269:     *) Добавление: переменные $bytes_sent, $connection и
  270:        $connection_requests теперь можно использовать не только в директиве
  271:        log_format.
  272:        Спасибо Benjamin Grössing.
  273: 
  274:     *) Добавление: параметр auto директивы worker_processes.
  275: 
  276:     *) Исправление: сообщения "cache file ... has md5 collision".
  277: 
  278:     *) Исправление: в модуле ngx_http_gunzip_filter_module.
  279: 
  280:     *) Исправление: в директиве ssl_stapling.
  281: 
  282: 
  283: Изменения в nginx 1.3.7                                           02.10.2012
  284: 
  285:     *) Добавление: поддержка OCSP stapling.
  286:        Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
  287: 
  288:     *) Добавление: директива ssl_trusted_certificate.
  289: 
  290:     *) Добавление: теперь resolver случайным образом меняет порядок
  291:        возвращаемых закэшированных адресов.
  292:        Спасибо Антону Жулину.
  293: 
  294:     *) Исправление: совместимость с OpenSSL 0.9.7.
  295: 
  296: 
  297: Изменения в nginx 1.3.6                                           12.09.2012
  298: 
  299:     *) Добавление: модуль ngx_http_gunzip_filter_module.
  300: 
  301:     *) Добавление: директива memcached_gzip_flag.
  302: 
  303:     *) Добавление: параметр always директивы gzip_static.
  304: 
  305:     *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
  306:        Спасибо Charles Chen.
  307: 
  308:     *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
  309:        использовался параметр --with-ipv6.
  310: 
  311: 
  312: Изменения в nginx 1.3.5                                           21.08.2012
  313: 
  314:     *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
  315:        дорожки в форматах, отличных от H.264 и AAC.
  316: 
  317:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  318:        если в директиве map в качестве значений использовались переменные.
  319: 
  320:     *) Исправление: в рабочем процессе мог произойти segmentation fault при
  321:        использовании директивы geo с параметром ranges, но без параметра
  322:        default; ошибка появилась в 0.8.43.
  323:        Спасибо Zhen Chen и Weibin Yao.
  324: 
  325:     *) Исправление: в обработке параметра командной строки -p.
  326: 
  327:     *) Исправление: в почтовом прокси-сервере.
  328: 
  329:     *) Исправление: незначительных потенциальных ошибок.
  330:        Спасибо Coverity.
  331: 
  332:     *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
  333:        Спасибо HAYASHI Kentaro.
  334: 
  335: 
  336: Изменения в nginx 1.3.4                                           31.07.2012
  337: 
  338:     *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
  339:        по умолчанию.
  340: 
  341:     *) Добавление: поддержка компилятора Clang.
  342: 
  343:     *) Исправление: могли создаваться лишние слушающие сокеты.
  344:        Спасибо Роману Одайскому.
  345: 
  346:     *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
  347:        рабочего процесса происходила ошибка.
  348:        Спасибо Ricardo Villalobos Guevara.
  349: 
  350:     *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
  351:        scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
  352:        fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
  353:        наследоваться некорректно.
  354: 
  355: 
  356: Изменения в nginx 1.3.3                                           10.07.2012
  357: 
  358:     *) Добавление: поддержка entity tags и директива etag.
  359: 
  360:     *) Исправление: при использовании директивы map с параметром hostnames
  361:        не игнорировалась конечная точка в исходном значении.
  362: 
  363:     *) Исправление: для обработки запроса мог использоваться неверный
  364:        location, если переход в именованный location происходил после
  365:        изменения URI с помощью директивы rewrite.
  366: 
  367: 
  368: Изменения в nginx 1.3.2                                           26.06.2012
  369: 
  370:     *) Изменение: параметр single директивы keepalive теперь игнорируется.
  371: 
  372:     *) Изменение: сжатие SSL теперь отключено в том числе при использовании
  373:        OpenSSL cтарее 1.0.0.
  374: 
  375:     *) Добавление: директиву "ip_hash" теперь можно использовать для
  376:        балансировки IPv6 клиентов.
  377: 
  378:     *) Добавление: переменную $status теперь можно использовать не только в
  379:        директиве log_format.
  380: 
  381:     *) Исправление: при завершении рабочего процесса мог произойти
  382:        segmentation fault, если использовалась директива resolver.
  383: 
  384:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  385:        если использовался модуль ngx_http_mp4_module.
  386: 
  387:     *) Исправление: в модуле ngx_http_mp4_module.
  388: 
  389:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  390:        если использовались конфликтующие имена серверов с масками.
  391: 
  392:     *) Исправление: на платформе ARM nginx мог аварийно завершаться по
  393:        сигналу SIGBUS.
  394: 
  395:     *) Исправление: во время переконфигурации на HP-UX в лог записывался
  396:        alert "sendmsg() failed (9: Bad file number)".
  397: 
  398: 
  399: Изменения в nginx 1.3.1                                           05.06.2012
  400: 
  401:     *) Безопасность: теперь nginx/Windows игнорирует точку в конце
  402:        компонента URI и не разрешает URI, содержащие последовательность
  403:        ":$".
  404:        Спасибо Владимиру Кочеткову, Positive Research Center.
  405: 
  406:     *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
  407:        и директива server в блоке upstream теперь поддерживают IPv6-адреса.
  408: 
  409:     *) Добавление: в директиве resolver теперь можно указывать порт и
  410:        задавать IPv6-адреса DNS-серверов.
  411: 
  412:     *) Добавление: директива least_conn в блоке upstream.
  413: 
  414:     *) Добавление: при использовании директивы ip_hash теперь можно задавать
  415:        веса серверов.
  416: 
  417:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  418:        если использовалась директива image_filter; ошибка появилась в 1.3.0.
  419: 
  420:     *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
  421:        появилась в 1.1.12.
  422: 
  423:     *) Исправление: доступ к переменным из SSI и встроенного перла мог не
  424:        работать после переконфигурации.
  425:        Спасибо Yichun Zhang.
  426: 
  427:     *) Исправление: в модуле ngx_http_xslt_filter_module.
  428:        Спасибо Kuramoto Eiji.
  429: 
  430:     *) Исправление: утечки памяти при использовании переменной $geoip_org.
  431:        Спасибо Денису Латыпову.
  432: 
  433:     *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
  434: 
  435: 
  436: Изменения в nginx 1.3.0                                           15.05.2012
  437: 
  438:     *) Добавление: директива debug_connection теперь поддерживает
  439:        IPv6-адреса и параметр "unix:".
  440: 
  441:     *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
  442:        теперь поддерживают IPv6-адреса.
  443: 
  444:     *) Добавление: директивы real_ip_recursive, geoip_proxy и
  445:        geoip_proxy_recursive.
  446: 
  447:     *) Добавление: параметр proxy_recursive директивы geo.
  448: 
  449:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  450:        если использовалась директива resolver.
  451: 
  452:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  453:        если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
  454:        и бэкенд возвращал некорректный ответ.
  455: 
  456:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  457:        если использовалась директива rewrite и в новых аргументах запроса в
  458:        строке замены использовались переменные.
  459: 
  460:     *) Исправление: nginx мог нагружать процессор, если было достигнуто
  461:        ограничение на количество открытых файлов.
  462: 
  463:     *) Исправление: при использовании директивы proxy_next_upstream с
  464:        параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
  465:        блоке upstream был хотя бы один сервер с флагом backup.
  466: 
  467:     *) Исправление: при использовании директивы ip_hash установка параметра
  468:        down директивы server могла приводить к ненужному перераспределению
  469:        клиентов между бэкендами.
  470: 
  471:     *) Исправление: утечки сокетов.
  472:        Спасибо Yichun Zhang.
  473: 
  474:     *) Исправление: в модуле ngx_http_fastcgi_module.
  475: 
  476: 
  477: Изменения в nginx 1.2.0                                           23.04.2012
  478: 
  479:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  480:        если использовалась директива try_files; ошибка появилась в 1.1.19.
  481: 
  482:     *) Исправление: ответ мог быть передан не полностью, если использовалось
  483:        больше IOV_MAX буферов.
  484: 
  485:     *) Исправление: в работе параметра crop директивы image_filter.
  486:        Спасибо Maxim Bublis.
  487: 
  488: 
  489: Изменения в nginx 1.1.19                                          12.04.2012
  490: 
  491:     *) Безопасность: при обработке специально созданного mp4 файла модулем
  492:        ngx_http_mp4_module могли перезаписываться области памяти рабочего
  493:        процесса, что могло приводить к выполнению произвольного кода
  494:        (CVE-2012-2089).
  495:        Спасибо Matthew Daley.
  496: 
  497:     *) Исправление: nginx/Windows мог завершаться аварийно.
  498:        Спасибо Vincent Lee.
  499: 
  500:     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
  501:        были помечены флагом backup.
  502: 
  503:     *) Исправление: директивы allow и deny могли наследоваться некорректно,
  504:        если в них использовались IPv6 адреса.
  505: 
  506:     *) Исправление: директивы modern_browser и ancient_browser могли
  507:        наследоваться некорректно.
  508: 
  509:     *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
  510: 
  511:     *) Исправление: в модуле ngx_http_mp4_module.
  512: 
  513: 
  514: Изменения в nginx 1.1.18                                          28.03.2012
  515: 
  516:     *) Изменение: теперь keepalive соединения не запрещены для Safari по
  517:        умолчанию.
  518: 
  519:     *) Добавление: переменная $connection_requests.
  520: 
  521:     *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
  522:        $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
  523: 
  524:     *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
  525: 
  526:     *) Добавление: директивы xslt_param и xslt_string_param.
  527:        Спасибо Samuel Behan.
  528: 
  529:     *) Исправление: в configure.
  530:        Спасибо Piotr Sikora.
  531: 
  532:     *) Исправление: в модуле ngx_http_xslt_filter_module.
  533: 
  534:     *) Исправление: nginx не собирался на Debian GNU/Hurd.
  535: 
  536: 
  537: Изменения в nginx 1.1.17                                          15.03.2012
  538: 
  539:     *) Безопасность: содержимое ранее освобождённой памяти могло быть
  540:        отправлено клиенту, если бэкенд возвращал специально созданный ответ.
  541:        Спасибо Matthew Daley.
  542: 
  543:     *) Исправление: при использовании встроенного перла из SSI.
  544:        Спасибо Matthew Daley.
  545: 
  546:     *) Исправление: в модуле ngx_http_uwsgi_module.
  547: 
  548: 
  549: Изменения в nginx 1.1.16                                          29.02.2012
  550: 
  551:     *) Изменение: ограничение на количество одновременных подзапросов
  552:        поднято до 200.
  553: 
  554:     *) Добавление: параметр from в директиве disable_symlinks.
  555: 
  556:     *) Добавление: директивы return и error_page теперь могут использоваться
  557:        для возврата перенаправлений с кодом 307.
  558: 
  559:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  560:        если использовалась директива resolver и на глобальном уровне не была
  561:        задана директива error_log.
  562:        Спасибо Роману Арутюняну.
  563: 
  564:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  565:        если использовались директивы "proxy_http_version 1.1" или
  566:        "fastcgi_keep_conn on".
  567: 
  568:     *) Исправление: утечек памяти.
  569:        Спасибо Lanshun Zhou.
  570: 
  571:     *) Исправление: в директиве disable_symlinks.
  572: 
  573:     *) Исправление: при использовании ZFS размер кэша на диске мог считаться
  574:        некорректно; ошибка появилась в 1.0.1.
  575: 
  576:     *) Исправление: nginx не собирался компилятором icc 12.1.
  577: 
  578:     *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
  579:        1.1.15.
  580: 
  581: 
  582: Изменения в nginx 1.1.15                                          15.02.2012
  583: 
  584:     *) Добавление: директива disable_symlinks.
  585: 
  586:     *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
  587: 
  588:     *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
  589:        prematurely closed connection" вместо "upstream sent too big header".
  590:        Спасибо Feibo Li.
  591: 
  592:     *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
  593:        использовался параметр --with-openssl.
  594: 
  595:     *) Исправление: количество внутренних перенаправлений в именованные
  596:        location'ы не ограничивалось.
  597: 
  598:     *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
  599:        ошибкам в модуле ngx_http_gzip_filter_module.
  600: 
  601:     *) Исправление: при использовании директивы proxy_store с
  602:        SSI-подзапросами временные файлы могли не удаляться.
  603: 
  604:     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
  605:        $args) возвращали старое пустое закэшированное значение.
  606: 
  607:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  608:        если одновременно создавалось слишком много SSI-подзапросов; ошибка
  609:        появилась в 0.7.25.
  610: 
  611: 
  612: Изменения в nginx 1.1.14                                          30.01.2012
  613: 
  614:     *) Добавление: теперь можно указать несколько ограничений limit_req
  615:        одновременно.
  616: 
  617:     *) Исправление: в обработке ошибок при соединении с бэкендом.
  618:        Спасибо Piotr Sikora.
  619: 
  620:     *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
  621: 
  622:     *) Исправление: в инициализации библиотеки OpenSSL.
  623: 
  624:     *) Исправление: директивы proxy_redirect могли наследоваться
  625:        некорректно.
  626: 
  627:     *) Исправление: утечки памяти при переконфигурации, если использовалась
  628:        директива pcre_jit.
  629: 
  630: 
  631: Изменения в nginx 1.1.13                                          16.01.2012
  632: 
  633:     *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
  634: 
  635:     *) Исправление: параметры директивы limit_req наследовались некорректно;
  636:        ошибка появилась в 1.1.12.
  637: 
  638:     *) Исправление: директива proxy_redirect некорректно обрабатывала
  639:        заголовок Refresh при использовании регулярных выражений.
  640: 
  641:     *) Исправление: директива proxy_cache_use_stale с параметром error не
  642:        возвращала ответ из кэша, если все бэкенды были признаны
  643:        неработающими.
  644: 
  645:     *) Исправление: директива worker_cpu_affinity могла не работать.
  646: 
  647:     *) Исправление: nginx не собирался на Solaris; ошибка появилась в
  648:        1.1.12.
  649: 
  650:     *) Исправление: в модуле ngx_http_mp4_module.
  651: 
  652: 
  653: Изменения в nginx 1.1.12                                          26.12.2011
  654: 
  655:     *) Изменение: после перенаправления запроса с помощью директивы
  656:        error_page директива proxy_pass без URI теперь использует изменённый
  657:        URI.
  658:        Спасибо Lanshun Zhou.
  659: 
  660:     *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
  661:        proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
  662: 
  663:     *) Добавление: директива pcre_jit.
  664: 
  665:     *) Добавление: SSI команда if поддерживает выделения в регулярных
  666:        выражениях.
  667: 
  668:     *) Исправление: SSI команда if не работала внутри команды block.
  669: 
  670:     *) Исправление: директивы limit_conn_log_level и limit_req_log_level
  671:        могли не работать.
  672: 
  673:     *) Исправление: директива limit_rate не позволяла передавать на полной
  674:        скорости, даже если был указан очень большой лимит.
  675: 
  676:     *) Исправление: директива sendfile_max_chunk не работала, если
  677:        использовалась директива limit_rate.
  678: 
  679:     *) Исправление: если в директиве proxy_pass использовались переменные и
  680:        не был указан URI, всегда использовался URI исходного запроса.
  681: 
  682:     *) Исправление: после перенаправления запроса с помощью директивы
  683:        try_files директива proxy_pass без URI могла использовать URI
  684:        исходного запроса.
  685:        Спасибо Lanshun Zhou.
  686: 
  687:     *) Исправление: в модуле ngx_http_scgi_module.
  688: 
  689:     *) Исправление: в модуле ngx_http_mp4_module.
  690: 
  691:     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
  692: 
  693: 
  694: Изменения в nginx 1.1.11                                          12.12.2011
  695: 
  696:     *) Добавление: параметр so_keepalive в директиве listen.
  697:        Спасибо Всеволоду Стахову.
  698: 
  699:     *) Добавление: параметр if_not_empty в директивах
  700:        fastcgi/scgi/uwsgi_param.
  701: 
  702:     *) Добавление: переменная $https.
  703: 
  704:     *) Добавление: директива proxy_redirect поддерживает переменные в первом
  705:        параметре.
  706: 
  707:     *) Добавление: директива proxy_redirect поддерживает регулярные
  708:        выражения.
  709: 
  710:     *) Исправление: переменная $sent_http_cache_control могла содержать
  711:        неверное значение при использовании директивы expires.
  712:        Спасибо Yichun Zhang.
  713: 
  714:     *) Исправление: директива read_ahead могла не работать при использовании
  715:        совместно с try_files и open_file_cache.
  716: 
  717:     *) Исправление: если в параметре inactive директивы proxy_cache_path
  718:        было указано малое время, в рабочем процессе мог произойти
  719:        segmentation fault.
  720: 
  721:     *) Исправление: ответы из кэша могли зависать.
  722: 
  723: 
  724: Изменения в nginx 1.1.10                                          30.11.2011
  725: 
  726:     *) Исправление: при использовании AIO на Linux в рабочем процессе
  727:        происходил segmentation fault; ошибка появилась в 1.1.9.
  728: 
  729: 
  730: Изменения в nginx 1.1.9                                           28.11.2011
  731: 
  732:     *) Изменение: теперь двойные кавычки экранируется при выводе
  733:        SSI-командой echo.
  734:        Спасибо Зауру Абасмирзоеву.
  735: 
  736:     *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
  737:        используется TTL, возвращённый DNS-сервером.
  738:        Спасибо Кириллу Коринскому.
  739: 
  740:     *) Исправление: nginx мог перестать отвечать, если рабочий процесс
  741:        завершался аварийно.
  742: 
  743:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  744:        если использовалось SNI; ошибка появилась в 1.1.2.
  745: 
  746:     *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
  747:        Спасибо Александру Усову.
  748: 
  749:     *) Исправление: сигнал SIGWINCH переставал работать после первого
  750:        обновления исполняемого файла; ошибка появилась в 1.1.1.
  751: 
  752:     *) Исправление: теперь ответы бэкендов, длина которых не соответствует
  753:        заголовку Content-Length, не кэширутся.
  754: 
  755:     *) Исправление: в директиве scgi_param при использовании составных
  756:        параметров.
  757: 
  758:     *) Исправление: в методе epoll.
  759:        Спасибо Yichun Zhang.
  760: 
  761:     *) Исправление: в модуле ngx_http_flv_module.
  762:        Спасибо Piotr Sikora.
  763: 
  764:     *) Исправление: в модуле ngx_http_mp4_module.
  765: 
  766:     *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
  767:        заголовке Host.
  768: 
  769:     *) Исправление: директивы add_header и expires не работали для ответов с
  770:        кодом 206, если запрос проксировался.
  771: 
  772:     *) Исправление: nginx не собирался на FreeBSD 10.
  773: 
  774:     *) Исправление: nginx не собирался на AIX.
  775: 
  776: 
  777: Изменения в nginx 1.1.8                                           14.11.2011
  778: 
  779:     *) Изменение: модуль ngx_http_limit_zone_module переименован в
  780:        ngx_http_limit_conn_module.
  781: 
  782:     *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
  783:        новым синтаксисом.
  784: 
  785:     *) Добавление: поддержка ограничения по нескольким limit_conn на одном
  786:        уровне.
  787: 
  788:     *) Добавление: директива image_filter_sharpen.
  789: 
  790:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  791:        если resolver получил большой DNS-ответ.
  792:        Спасибо Ben Hawkes.
  793: 
  794:     *) Исправление: в вычислении ключа для кэширования, если использовалась
  795:        внутренняя реализация MD5; ошибка появилась в 1.0.4.
  796: 
  797:     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
  798:        заголовке запроса клиента могли передаваться бэкенду при кэшировании;
  799:        или не передаваться при выключенном кэшировании, если кэширование
  800:        было включено в другой части конфигурации.
  801: 
  802:     *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
  803:        "Content-Length" в заголовке ответа, использовался аргумент start.
  804:        Спасибо Piotr Sikora.
  805: 
  806: 
  807: Изменения в nginx 1.1.7                                           31.10.2011
  808: 
  809:     *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
  810:        Спасибо Кириллу Коринскому.
  811: 
  812:     *) Исправление: на старте или во время переконфигурации происходил
  813:        segmentation fault, если директива ssl использовалась на уровне http
  814:        и не был указан ssl_certificate.
  815: 
  816:     *) Исправление: уменьшено потребление памяти при проксировании больших
  817:        файлов, если они буферизировались на диск.
  818: 
  819:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
  820:        если использовалась директива "proxy_http_version 1.1".
  821: 
  822:     *) Исправление: в директиве "expires @time".
  823: 
  824: 
  825: Изменения в nginx 1.1.6                                           17.10.2011
  826: 
  827:     *) Изменение во внутреннем API: теперь при внутреннем редиректе в
  828:        именованный location контексты модулей очищаются.
  829:        По запросу Yichun Zhang.
  830: 
  831:     *) Изменение: теперь если сервер, описанный в блоке upstream, был
  832:        признан неработающим, то после истечения fail_timeout на него будет
  833:        отправлен только один запрос; сервер будет считаться работающим, если
  834:        успешно ответит на этот запрос.
  835: 
  836:     *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
  837:        \xXX.
  838: 
  839:     *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
  840:        теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
  841:        X-Accel-Charset.
  842: 
  843:     *) Добавление: уменьшение потребления памяти при использовании SSL.
  844: 
  845:     *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
  846:        Спасибо Алексею Куцу.
  847: 
  848:     *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
  849:        уровне server, применялись повторно, если для запроса не находилось
  850:        ни одного location'а.
  851: 
  852:     *) Исправление: при использовании "aio sendfile" могла происходить
  853:        утечка сокетов.
  854: 
  855:     *) Исправление: при использовании файлового AIO соединения с быстрыми
  856:        клиентами могли быть закрыты по истечению send_timeout.
  857: 
  858:     *) Исправление: в модуле ngx_http_autoindex_module.
  859: 
  860:     *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
  861:        32-битных платформах.
  862: 
  863: 
  864: Изменения в nginx 1.1.5                                           05.10.2011
  865: 
  866:     *) Добавление: директивы uwsgi_buffering и scgi_buffering.
  867:        Спасибо Peter Smit.
  868: 
  869:     *) Исправление: при использовании proxy_cache_bypass могли быть
  870:        закэшированы некэшируемые ответы.
  871:        Спасибо John Ferlito.
  872: 
  873:     *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
  874:        HTTP/1.1.
  875: 
  876:     *) Исправление: закэшированные ответы с пустым телом возвращались
  877:        некорректно; ошибка появилась в 0.8.31.
  878: 
  879:     *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
  880:        некорректны; ошибка появилась в 0.8.32.
  881: 
  882:     *) Исправление: в директиве return.
  883: 
  884:     *) Исправление: при использовании директивы "ssl_session_cache builtin"
  885:        происходил segmentation fault; ошибка появилась в 1.1.1.
  886: 
  887: 
  888: Изменения в nginx 1.1.4                                           20.09.2011
  889: 
  890:     *) Добавление: модуль ngx_http_upstream_keepalive.
  891: 
  892:     *) Добавление: директива proxy_http_version.
  893: 
  894:     *) Добавление: директива fastcgi_keep_conn.
  895: 
  896:     *) Добавление: директива worker_aio_requests.
  897: 
  898:     *) Исправление: если nginx был собран с файловым AIO, он не мог
  899:        запускаться на Linux без поддержки AIO.
  900: 
  901:     *) Исправление: в обработке ошибок при работе с Linux AIO.
  902:        Спасибо Hagai Avrahami.
  903: 
  904:     *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
  905: 
  906:     *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
  907:        MP4-атом co64.
  908: 
  909: 
  910: Изменения в nginx 1.1.3                                           14.09.2011
  911: 
  912:     *) Добавление: модуль ngx_http_mp4_module.
  913: 
  914:     *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
  915: 
  916:     *) Исправление: open_file_cache не обновлял информацию о файле, если
  917:        файл был изменён не атомарно.
  918: 
  919:     *) Исправление: nginx не собирался на MacOSX 10.7.
  920: 
  921: 
  922: Изменения в nginx 1.1.2                                           05.09.2011
  923: 
  924:     *) Изменение: теперь, если суммарный размер всех диапазонов больше
  925:        размера исходного ответа, то nginx возвращает только исходный ответ,
  926:        не обрабатывая диапазоны.
  927: 
  928:     *) Добавление: директива max_ranges.
  929: 
  930:     *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
  931:        ssl_prefer_server_cipher могли работать некорректно, если
  932:        использовался SNI.
  933: 
  934:     *) Исправление: в директивах proxy/fastcgi/scgi/
  935:        uwsgi_ignore_client_abort.
  936: 
  937: 
  938: Изменения в nginx 1.1.1                                           22.08.2011
  939: 
  940:     *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
  941:        число файлов, указанное в параметре load_files, либо работает не
  942:        дольше времени, указанного в параметре loader_threshold.
  943: 
  944:     *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
  945: 
  946:     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
  947:        на Solaris.
  948:        Спасибо Денису Иванову.
  949: 
  950:     *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
  951: 
  952:     *) Исправление: nginx не собирался на Linux 3.0.
  953: 
  954:     *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
  955:        появилась в 1.1.0.
  956: 
  957:     *) Исправление: обработка тела запроса могла быть неверной, если клиент
  958:        использовал pipelining.
  959: 
  960:     *) Исправление: в директиве request_body_in_single_buf.
  961: 
  962:     *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
  963:        при использовании SSL-соединения с бэкендом.
  964: 
  965:     *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
  966:        были помечены флагом down.
  967: 
  968:     *) Исправление: при переконфигурации мог произойти segmentation fault,
  969:        если в предыдущей конфигурации был определён, но не использовался
  970:        ssl_session_cache.
  971: 
  972:     *) Исправление: при использовании большого количества backup-серверов в
  973:        рабочем процессе мог произойти segmentation fault.
  974: 
  975:     *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
  976:        значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
  977:        произойти segmentation fault; ошибка появилась в 0.8.40.
  978: 
  979: 
  980: Изменения в nginx 1.1.0                                           01.08.2011
  981: 
  982:     *) Добавление: уменьшение времени работы загрузчика кэша.
  983: 
  984:     *) Добавление: параметры loader_files, loader_sleep и loader_threshold
  985:        директив proxy/fastcgi/scgi/uwsgi_cache_path.
  986: 
  987:     *) Добавление: уменьшение времени загрузки конфигураций с большим
  988:        количеством HTTPS серверов.
  989: 
  990:     *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
  991:        Спасибо Adrian Kotelba.
  992: 
  993:     *) Добавление: директива lingering_close.
  994:        Спасибо Максиму Дунину.
  995: 
  996:     *) Исправление: закрытия соединения для pipelined-запросов.
  997:        Спасибо Максиму Дунину.
  998: 
  999:     *) Исправление: nginx не запрещал сжатие при получении значения
 1000:        "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
 1001: 
 1002:     *) Исправление: таймаута при небуферизированном проксировании.
 1003:        Спасибо Максиму Дунину.
 1004: 
 1005:     *) Исправление: утечки памяти при использовании переменных в директиве
 1006:        proxy_pass при работе с бэкендом по HTTPS.
 1007:        Спасибо Максиму Дунину.
 1008: 
 1009:     *) Исправление: в проверке параметра директивы proxy_pass, заданного
 1010:        переменными.
 1011:        Спасибо Lanshun Zhou.
 1012: 
 1013:     *) Исправление: SSL не работал на QNX.
 1014:        Спасибо Максиму Дунину.
 1015: 
 1016:     *) Исправление: SSL модули не собирались gcc 4.6 без параметра
 1017:        --with-debug.
 1018: 
 1019: 
 1020: Изменения в nginx 1.0.5                                           19.07.2011
 1021: 
 1022:     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
 1023:        "HIGH:!aNULL:!MD5".
 1024:        Спасибо Rob Stradling.
 1025: 
 1026:     *) Добавление: директивы referer_hash_max_size и
 1027:        referer_hash_bucket_size.
 1028:        Спасибо Witold Filipczyk.
 1029: 
 1030:     *) Добавление: переменная $uid_reset.
 1031: 
 1032:     *) Исправление: при использовании кэширования в рабочем процессе мог
 1033:        произойти segmentation fault.
 1034:        Спасибо Lanshun Zhou.
 1035: 
 1036:     *) Исправление: при использовании кэширования рабочие процессы могли
 1037:        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
 1038:        Спасибо Максиму Дунину.
 1039: 
 1040:     *) Исправление: сообщения "stalled cache updating".
 1041:        Спасибо Максиму Дунину.
 1042: 
 1043: 
 1044: Изменения в nginx 1.0.4                                           01.06.2011
 1045: 
 1046:     *) Изменение: теперь в регулярных выражениях в директиве map можно
 1047:        задать чувствительность к регистру с помощью префиксов "~" и "~*".
 1048: 
 1049:     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
 1050:        на Linux.
 1051:        Спасибо Денису Латыпову.
 1052: 
 1053:     *) Исправление: сообщения "stalled cache updating".
 1054: 
 1055:     *) Исправление: nginx не собирался с параметром
 1056:        --without-http_auth_basic_module; ошибка появилась в 1.0.3.
 1057: 
 1058: 
 1059: Изменения в nginx 1.0.3                                           25.05.2011
 1060: 
 1061:     *) Добавление: директива auth_basic_user_file поддерживает шифрование
 1062:        пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
 1063:        Спасибо Максиму Дунину.
 1064: 
 1065:     *) Добавление: директива geoip_org и переменная $geoip_org.
 1066:        Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
 1067: 
 1068:     *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
 1069:        поддерживают адреса IPv4, отображённые на IPv6 адреса.
 1070: 
 1071:     *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
 1072:        рабочем процессе происходил segmentation fault, если директивы access
 1073:        или deny были определены только для адресов IPv6; ошибка появилась в
 1074:        0.8.22.
 1075: 
 1076:     *) Исправление: закэшированный ответ мог быть испорчен, если значения
 1077:        директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
 1078:        uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
 1079: 
 1080: 
 1081: Изменения в nginx 1.0.2                                           10.05.2011
 1082: 
 1083:     *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
 1084: 
 1085:     *) Исправление: в работе параметра rotate директивы image_filter.
 1086:        Спасибо Adam Bocim.
 1087: 
 1088:     *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
 1089: 
 1090: 
 1091: Изменения в nginx 1.0.1                                           03.05.2011
 1092: 
 1093:     *) Изменение: теперь директива split_clients использует алгоритм
 1094:        MurmurHash2 из-за лучшего распределения.
 1095:        Спасибо Олегу Мамонтову.
 1096: 
 1097:     *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
 1098:        ложными значениями.
 1099:        Спасибо Максиму Дунину.
 1100: 
 1101:     *) Изменение: теперь по умолчанию nginx использует значение 511 для
 1102:        listen backlog на Linux.
 1103: 
 1104:     *) Добавление: переменные $upstream_... можно использовать в SSI и
 1105:        перловом модулях.
 1106: 
 1107:     *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
 1108:        Спасибо Олегу Мамонтову.
 1109: 
 1110:     *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
 1111:        segmentation fault; ошибка появилась в 0.8.22.
 1112:        Спасибо Максиму Дунину.
 1113: 
 1114:     *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
 1115: 
 1116:     *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
 1117:        появилась в 0.9.3.
 1118:        Спасибо Dagobert Michelsen.
 1119: 
 1120:     *) Исправление: переменная $request_time имела неверные значения, если
 1121:        использовались подзапросы; ошибка появилась в 0.8.47.
 1122:        Спасибо Игорю А. Валькову.
 1123: 
 1124: 
 1125: Изменения в nginx 1.0.0                                           12.04.2011
 1126: 
 1127:     *) Исправление: cache manager мог нагружать процессор после
 1128:        переконфигурации.
 1129:        Спасибо Максиму Дунину.
 1130: 
 1131:     *) Исправление: директива "image_filter crop" неправильно работала в
 1132:        сочетании с "image_filter rotate 180".
 1133: 
 1134:     *) Исправление: директива "satisfy any" запрещала выдачу
 1135:        пользовательской страницы для 401 кода.
 1136: 
 1137: 
 1138: Изменения в nginx 0.9.7                                           04.04.2011
 1139: 
 1140:     *) Добавление: теперь соединения в состоянии keepalive могут быть
 1141:        закрыты преждевременно, если у воркера нет свободных соединений.
 1142:        Спасибо Максиму Дунину.
 1143: 
 1144:     *) Добавление: параметр rotate директивы image_filter.
 1145:        Спасибо Adam Bocim.
 1146: 
 1147:     *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
 1148:        scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
 1149:        upstream.
 1150: 
 1151: 
 1152: Изменения в nginx 0.9.6                                           21.03.2011
 1153: 
 1154:     *) Добавление: директива map поддерживает регулярные выражения в
 1155:        качестве значения первого параметра.
 1156: 
 1157:     *) Добавление: переменная $time_iso8601 для access_log.
 1158:        Спасибо Michael Lustfield.
 1159: 
 1160: 
 1161: Изменения в nginx 0.9.5                                           21.02.2011
 1162: 
 1163:     *) Изменение: теперь по умолчанию nginx использует значение -1 для
 1164:        listen backlog на Linux.
 1165:        Спасибо Андрею Нигматулину.
 1166: 
 1167:     *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
 1168:        Спасибо Денису Латыпову.
 1169: 
 1170:     *) Исправление: исправление в умолчательной директиве proxy_redirect,
 1171:        если в директиве proxy_pass не был описан URI.
 1172:        Спасибо Максиму Дунину.
 1173: 
 1174:     *) Исправление: директива error_page не работала с нестандартными кодами
 1175:        ошибок; ошибка появилась в 0.8.53.
 1176:        Спасибо Максиму Дунину.
 1177: 
 1178: 
 1179: Изменения в nginx 0.9.4                                           21.01.2011
 1180: 
 1181:     *) Добавление: директива server_name поддерживает переменную $hostname.
 1182: 
 1183:     *) Добавление: 494 код для ошибки "Request Header Too Large".
 1184: 
 1185: 
 1186: Изменения в nginx 0.9.3                                           13.12.2010
 1187: 
 1188:     *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
 1189:        то выделения в регулярных выражениях в директиве server_name не
 1190:        работали.
 1191: 
 1192:     *) Исправление: nginx не собирался под Solaris; ошибка появилась в
 1193:        0.9.0.
 1194: 
 1195: 
 1196: Изменения в nginx 0.9.2                                           06.12.2010
 1197: 
 1198:     *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
 1199:        запросе клиента.
 1200: 
 1201:     *) Изменение: использование accept(), если accept4() не реализован;
 1202:        ошибка появилась в 0.9.0.
 1203: 
 1204:     *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
 1205: 
 1206:     *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
 1207:        Спасибо Максиму Дунину.
 1208: 
 1209: 
 1210: Изменения в nginx 0.9.1                                           30.11.2010
 1211: 
 1212:     *) Исправление: директивы вида "return CODE message" не работали; ошибка
 1213:        появилась в 0.9.0.
 1214: 
 1215: 
 1216: Изменения в nginx 0.9.0                                           29.11.2010
 1217: 
 1218:     *) Добавление: директива keepalive_disable.
 1219: 
 1220:     *) Добавление: директива map поддерживает переменные в качестве значения
 1221:        определяемой переменной.
 1222: 
 1223:     *) Добавление: директива map поддерживает пустые строки в качестве
 1224:        значения первого параметра.
 1225: 
 1226:     *) Добавление: директива map поддерживает выражения в первом параметре.
 1227: 
 1228:     *) Добавление: страница руководства nginx(8).
 1229:        Спасибо Сергею Осокину.
 1230: 
 1231:     *) Добавление: поддержка accept4() в Linux.
 1232:        Спасибо Simon Liu.
 1233: 
 1234:     *) Изменение: устранение предупреждения линкера о "sys_errlist" и
 1235:        "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
 1236: 
 1237:     *) Исправление: при использовании директивы auth_basic в рабочем
 1238:        процессе мог произойти segmentation fault.
 1239:        Спасибо Михаилу Лалетину.
 1240: 
 1241:     *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
 1242:        появилась в 0.8.42.
 1243: 
 1244: 
 1245: Изменения в nginx 0.8.53                                          18.10.2010
 1246: 
 1247:     *) Добавление: теперь директива error_page позволяет менять код статуса
 1248:        у редиректа.
 1249: 
 1250:     *) Добавление: директива gzip_disable поддерживает специальную маску
 1251:        degradation.
 1252: 
 1253:     *) Исправление: при использовании файлового AIO могла происходить утечка
 1254:        сокетов.
 1255:        Спасибо Максиму Дунину.
 1256: 
 1257:     *) Исправление: если в первом сервере не была описана директива listen и
 1258:        нигде явно не описан сервер по умолчанию, то сервером по умолчанию
 1259:        становился следующий сервер с директивой listen; ошибка появилась в
 1260:        0.8.21.
 1261: 
 1262: 
 1263: Изменения в nginx 0.8.52                                          28.09.2010
 1264: 
 1265:     *) Исправление: nginx использовал режим SSL для listen сокета, если для
 1266:        него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
 1267: 
 1268: 
 1269: Изменения в nginx 0.8.51                                          27.09.2010
 1270: 
 1271:     *) Изменение: директива secure_link_expires упразднена.
 1272: 
 1273:     *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
 1274:        alert на error.
 1275: 
 1276:     *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
 1277:        несколько раз.
 1278: 
 1279: 
 1280: Изменения в nginx 0.8.50                                          02.09.2010
 1281: 
 1282:     *) Добавление: директивы secure_link, secure_link_md5 и
 1283:        secure_link_expires модуля ngx_http_secure_link_module.
 1284: 
 1285:     *) Добавление: ключ -q.
 1286:        Спасибо Геннадию Махомеду.
 1287: 
 1288:     *) Исправление: при использовании кэширования рабочие процессы и могли
 1289:        зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
 1290: 
 1291:     *) Исправление: в директиве gzip_disable.
 1292:        Спасибо Derrick Petzold.
 1293: 
 1294:     *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
 1295:        reopen, reload процессу, запущенному в другой сессии.
 1296: 
 1297: 
 1298: Изменения в nginx 0.8.49                                          09.08.2010
 1299: 
 1300:     *) Добавление: директива image_filter_jpeg_quality поддерживает
 1301:        переменные.
 1302: 
 1303:     *) Исправление: при использовании переменной $geoip_region_name в
 1304:        рабочем процессе мог произойти segmentation fault; ошибка появилась в
 1305:        0.8.48.
 1306: 
 1307:     *) Исправление: ошибки, перехваченные error_page, кэшировались только до
 1308:        следующего запроса; ошибка появилась в 0.8.48.
 1309: 
 1310: 
 1311: Изменения в nginx 0.8.48                                          03.08.2010
 1312: 
 1313:     *) Изменение: теперь по умолчанию директива server_name имеет значение
 1314:        пустое имя "".
 1315:        Спасибо Геннадию Махомеду.
 1316: 
 1317:     *) Изменение: теперь по умолчанию директива server_name_in_redirect
 1318:        имеет значение off.
 1319: 
 1320:     *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
 1321:        $geoip_region_name.
 1322:        Спасибо Christine McGonagle.
 1323: 
 1324:     *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
 1325:        scgi_pass не наследовались в блоки limit_except.
 1326: 
 1327:     *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
 1328:        uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
 1329:        появилась в 0.8.46.
 1330: 
 1331:     *) Исправление: директива fastcgi_split_path_info неверно использовала
 1332:        выделения, если в выделения попадала только часть URI.
 1333:        Спасибо Юрию Тарадаю и Frank Enderle.
 1334: 
 1335:     *) Исправление: директива rewrite не экранировала символ ";" при
 1336:        копировании из URI в аргументы.
 1337:        Спасибо Daisuke Murase.
 1338: 
 1339:     *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
 1340:        если изображение было больше размера image_filter_buffer.
 1341: 
 1342: 
 1343: Изменения в nginx 0.8.47                                          28.07.2010
 1344: 
 1345:     *) Исправление: переменная $request_time имела неверные значения для
 1346:        подзапросов.
 1347: 
 1348:     *) Исправление: ошибки, перехваченные error_page, не кэшировались.
 1349: 
 1350:     *) Исправление: если использовался параметр max_size, то cache manager
 1351:        мог зациклиться; ошибка появилась в 0.8.46.
 1352: 
 1353: 
 1354: Изменения в nginx 0.8.46                                          19.07.2010
 1355: 
 1356:     *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
 1357:        и scgi_no_cache теперь влияют только на сохранение закэшированного
 1358:        ответа.
 1359: 
 1360:     *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
 1361:        uwsgi_cache_bypass и scgi_cache_bypass.
 1362: 
 1363:     *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
 1364:        ошибки работы с бэкендом: память освобождалась только по истечении
 1365:        времени неактивности или при недостатке памяти.
 1366: 
 1367: 
 1368: Изменения в nginx 0.8.45                                          13.07.2010
 1369: 
 1370:     *) Добавление: улучшения в модуле ngx_http_xslt_filter.
 1371:        Спасибо Laurence Rowe.
 1372: 
 1373:     *) Исправление: ответ SSI модуля мог передаваться не полностью после
 1374:        команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
 1375:        Спасибо Максиму Дунину.
 1376: 
 1377:     *) Исправление: директива listen не поддерживала параметр setfib=0.
 1378: 
 1379: 
 1380: Изменения в nginx 0.8.44                                          05.07.2010
 1381: 
 1382:     *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
 1383:        заголовке которых есть строка "Set-Cookie".
 1384: 
 1385:     *) Добавление: директива listen поддерживает параметр setfib.
 1386:        Спасибо Андрею Филонову.
 1387: 
 1388:     *) Исправление: директива sub_filter могла изменять регистр букв при
 1389:        частичном совпадении.
 1390: 
 1391:     *) Исправление: совместимость с HP/UX.
 1392: 
 1393:     *) Исправление: совместимость с компилятором AIX xlC_r.
 1394: 
 1395:     *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
 1396:        запросы.
 1397:        Спасибо Miroslaw Jaworski.
 1398: 
 1399: 
 1400: Изменения в nginx 0.8.43                                          30.06.2010
 1401: 
 1402:     *) Добавление: ускорение загрузки больших баз geo-диапазонов.
 1403: 
 1404:     *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
 1405:        без изменения кода ответа оставляло тело ошибки; ошибка появилась в
 1406:        0.8.42.
 1407: 
 1408:     *) Исправление: nginx мог закрывать IPv6 listen сокет во время
 1409:        переконфигурации.
 1410:        Спасибо Максиму Дунину.
 1411: 
 1412:     *) Исправление: переменную $uid_set можно использовать на любой стадии
 1413:        обработки запроса.
 1414: 
 1415: 
 1416: Изменения в nginx 0.8.42                                          21.06.2010
 1417: 
 1418:     *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
 1419:        выражениями, если запрос полностью совпал с location'ом, заданным
 1420:        строкой префикса. Предыдущее поведение появилось в 0.7.1.
 1421: 
 1422:     *) Добавление: модуль ngx_http_scgi_module.
 1423:        Спасибо Manlio Perillo.
 1424: 
 1425:     *) Добавление: в директиве return можно добавлять текст ответа.
 1426: 
 1427: 
 1428: Изменения в nginx 0.8.41                                          15.06.2010
 1429: 
 1430:     *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
 1431:        при запросе файла с неверной кодировкой UTF-8.
 1432: 
 1433:     *) Изменение: теперь nginx разрешает использовать пробелы в строке
 1434:        запроса.
 1435: 
 1436:     *) Исправление: директива proxy_redirect неправильно изменяла строку
 1437:        "Refresh" в заголовке ответа бэкенда.
 1438:        Спасибо Андрею Андрееву и Максиму Согину.
 1439: 
 1440:     *) Исправление: nginx не поддерживал путь без имени хоста в строке
 1441:        "Destination" в заголовке запроса.
 1442: 
 1443: 
 1444: Изменения в nginx 0.8.40                                          07.06.2010
 1445: 
 1446:     *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
 1447:        умолчанию.
 1448:        Спасибо Jose Antonio Vazquez Gonzalez.
 1449: 
 1450:     *) Добавление: модуль ngx_http_uwsgi_module.
 1451:        Спасибо Roberto De Ioris.
 1452: 
 1453:     *) Добавление: директива fastcgi_param со значением, начинающимся со
 1454:        строки "HTTP_", изменяет строку заголовка в запросе клиента.
 1455: 
 1456:     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
 1457:        заголовке запроса клиента передавались FastCGI-серверу при
 1458:        кэшировании.
 1459: 
 1460:     *) Исправление: listen unix domain сокет нельзя было изменить во время
 1461:        переконфигурации.
 1462:        Спасибо Максиму Дунину.
 1463: 
 1464: 
 1465: Изменения в nginx 0.8.39                                          31.05.2010
 1466: 
 1467:     *) Исправление: наследуемая директива alias неправильно работала во
 1468:        вложенном location'е.
 1469: 
 1470:     *) Исправление: в комбинации директив alias с переменными и try_files;
 1471: 
 1472:     *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
 1473:        время обновления без перерыва.
 1474:        Спасибо Максиму Дунину.
 1475: 
 1476: 
 1477: Изменения в nginx 0.8.38                                          24.05.2010
 1478: 
 1479:     *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
 1480: 
 1481:     *) Добавление: теперь при использовании переменной $scheme в директиве
 1482:        rewrite автоматически делается редирект.
 1483:        Спасибо Piotr Sikora.
 1484: 
 1485:     *) Исправление: теперь задержки в директиве limit_req соответствует
 1486:        описанному алгоритму.
 1487:        Спасибо Максиму Дунину.
 1488: 
 1489:     *) Исправление: переменную $uid_got нельзя было использовать в SSI и
 1490:        перловом модулях.
 1491: 
 1492: 
 1493: Изменения в nginx 0.8.37                                          17.05.2010
 1494: 
 1495:     *) Добавление: модуль ngx_http_split_clients_module.
 1496: 
 1497:     *) Добавление: директива map поддерживает ключи больше 255 символов.
 1498: 
 1499:     *) Исправление: nginx игнорировал значения "private" и "no-store" в
 1500:        строке "Cache-Control" в заголовке ответа бэкенда.
 1501: 
 1502:     *) Исправление: параметр stub в SSI-директиве include не использовался,
 1503:        если пустой ответ имел код 200.
 1504: 
 1505:     *) Исправление: если проксированный или FastCGI запрос внутренне
 1506:        перенаправлялся в другой проксированный или FastCGI location, то в
 1507:        рабочем процессе мог произойти segmentation fault; ошибка появилась в
 1508:        0.8.33.
 1509:        Спасибо Yichun Zhang.
 1510: 
 1511:     *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
 1512:        таймаута.
 1513:        Спасибо Alan Batie.
 1514: 
 1515: 
 1516: Изменения в nginx 0.8.36                                          22.04.2010
 1517: 
 1518:     *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
 1519:        методы DELETE, COPY и MOVE для симлинков.
 1520: 
 1521:     *) Исправление: модуль SSI в подзапросах использовал закэшированные в
 1522:        основном запросе значения переменных $query_string, $arg_... и им
 1523:        подобных.
 1524: 
 1525:     *) Исправление: значение переменной повторно экранировалось после
 1526:        каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
 1527: 
 1528:     *) Исправление: рабочий процесс зависал при запросе файла FIFO.
 1529:        Спасибо Vicente Aguilar и Максиму Дунину.
 1530: 
 1531:     *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
 1532:        Спасибо Максиму Дунину.
 1533: 
 1534:     *) Исправление: nginx не собирался с параметром --without-http-cache;
 1535:        ошибка появилась в 0.8.35.
 1536: 
 1537: 
 1538: Изменения в nginx 0.8.35                                          01.04.2010
 1539: 
 1540:     *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
 1541: 
 1542:     *) Добавление: директива chunked_transfer_encoding.
 1543: 
 1544:     *) Исправление: символ "&" при копировании в аргументы в правилах
 1545:        rewrite не экранировался.
 1546: 
 1547:     *) Исправление: nginx мог завершаться аварийно во время обработки
 1548:        сигнала или при использовании директивы timer_resolution на
 1549:        платформах, не поддерживающих методы kqueue или eventport.
 1550:        Спасибо George Xie и Максиму Дунину.
 1551: 
 1552:     *) Исправление: если временные файлы и постоянное место хранения
 1553:        располагались на разных файловых системах, то у постоянных файлов
 1554:        время изменения было неверным.
 1555:        Спасибо Максиму Дунину.
 1556: 
 1557:     *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
 1558:        "memcached sent invalid trailer".
 1559:        Спасибо Максиму Дунину.
 1560: 
 1561:     *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
 1562:        текстов.
 1563:        Спасибо Максиму Дунину.
 1564: 
 1565:     *) Исправление: в рабочем процессе происходил segmentation fault, если
 1566:        перед ответом FastCGI-сервера было много вывода в stderr; ошибка
 1567:        появилась в 0.8.34.
 1568:        Спасибо Максиму Дунину.
 1569: 
 1570: 
 1571: Изменения в nginx 0.8.34                                          03.03.2010
 1572: 
 1573:     *) Исправление: nginx не поддерживал все шифры, используемые в
 1574:        клиентских сертификатах.
 1575:        Спасибо Иннокентию Еникееву.
 1576: 
 1577:     *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
 1578:        ответом было много вывода в stderr.
 1579: 
 1580:     *) Исправление: nginx не поддерживал HTTPS-рефереры.
 1581: 
 1582:     *) Исправление: nginx/Windows мог не находить файлы, если путь в
 1583:        конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
 1584: 
 1585:     *) Исправление: переменная $date_local выдавала неверное время, если
 1586:        использовался формат "%s".
 1587:        Спасибо Максиму Дунину.
 1588: 
 1589:     *) Исправление: если ssl_session_cache не был установлен или установлен
 1590:        в none, то при проверке клиентского сертификаты могла происходить
 1591:        ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
 1592: 
 1593:     *) Исправление: geo-диапазон возвращал значение по умолчанию, если
 1594:        диапазон включал в себя одну и более сетей размером /16 и не
 1595:        начинался на границе сети размером /16.
 1596: 
 1597:     *) Исправление: блок, используемый в параметре stub в SSI-директиве
 1598:        include, выводился с MIME-типом "text/plain".
 1599: 
 1600:     *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
 1601: 
 1602: 
 1603: Изменения в nginx 0.8.33                                          01.02.2010
 1604: 
 1605:     *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
 1606:        Спасибо Dan Crowley, Core Security Technologies.
 1607: 
 1608:     *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
 1609:        Спасибо Dan Crowley, Core Security Technologies.
 1610: 
 1611:     *) Изменение: теперь keepalive соединения после запросов POST не
 1612:        запрещаются для MSIE 7.0+.
 1613:        Спасибо Adam Lounds.
 1614: 
 1615:     *) Изменение: теперь keepalive соединения запрещены для Safari.
 1616:        Спасибо Joshua Sierles.
 1617: 
 1618:     *) Исправление: если проксированный или FastCGI запрос внутренне
 1619:        перенаправлялся в другой проксированный или FastCGI location, то
 1620:        переменная $upstream_response_time могла иметь ненормально большое
 1621:        значение; ошибка появилась в 0.8.7.
 1622: 
 1623:     *) Исправление: в рабочем процессе мог произойти segmentation fault при
 1624:        отбрасывания тела запроса; ошибка появилась в 0.8.11.
 1625: 
 1626: 
 1627: Изменения в nginx 0.8.32                                          11.01.2010
 1628: 
 1629:     *) Исправление: ошибки при использовании кодировки UTF-8 в
 1630:        ngx_http_autoindex_module.
 1631:        Спасибо Максиму Дунину.
 1632: 
 1633:     *) Исправление: именованные выделения в регулярных выражениях работали
 1634:        только для двух переменных.
 1635:        Спасибо Максиму Дунину.
 1636: 
 1637:     *) Исправление: теперь в строке заголовка запроса "Host" используется
 1638:        имя "localhost", если в директиве auth_http указан unix domain сокет.
 1639:        Спасибо Максиму Дунину.
 1640: 
 1641:     *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
 1642:        ответов.
 1643:        Спасибо Julian Reich.
 1644: 
 1645:     *) Исправление: если директива "expires modified" выставляла дату в
 1646:        прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
 1647:        отрицательное число.
 1648:        Спасибо Алексею Капранову.
 1649: 
 1650: 
 1651: Изменения в nginx 0.8.31                                          23.12.2009
 1652: 
 1653:     *) Добавление: теперь директива error_page может перенаправлять ответы
 1654:        со статусом 301 и 302.
 1655: 
 1656:     *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
 1657:        $geoip_longitude.
 1658:        Спасибо Arvind Sundararajan.
 1659: 
 1660:     *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
 1661:        EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
 1662: 
 1663:     *) Исправление: nginx закрывал соединение при запросе закэшированного
 1664:        ответа с пустым телом.
 1665:        Спасибо Piotr Sikora.
 1666: 
 1667:     *) Исправление: nginx мог не собираться gcc 4.x при использовании
 1668:        оптимизации -O2 и выше.
 1669:        Спасибо Максиму Дунину и Денису Латыпову.
 1670: 
 1671:     *) Исправление: регулярные выражения в location всегда тестировались с
 1672:        учётом регистра; ошибка появилась в 0.8.25.
 1673: 
 1674:     *) Исправление: nginx кэшировал 304 ответ, если в заголовке
 1675:        проксируемого запроса была строка "If-None-Match".
 1676:        Спасибо Tim Dettrick и David Kostal.
 1677: 
 1678:     *) Исправление: nginx/Windows пытался дважды удалить временный файл при
 1679:        перезаписи уже существующего файла.
 1680: 
 1681: 
 1682: Изменения в nginx 0.8.30                                          15.12.2009
 1683: 
 1684:     *) Изменение: теперь по умолчанию размер буфера директивы
 1685:        large_client_header_buffers равен 8K.
 1686:        Спасибо Andrew Cholakian.
 1687: 
 1688:     *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
 1689: 
 1690:     *) Исправление: nginx/Windows пытался дважды переименовать временный
 1691:        файл при перезаписи уже существующего файла.
 1692: 
 1693:     *) Исправление: ошибки double free or corruption, возникающей, если имя
 1694:        хоста не было найдено; ошибка появилась в 0.8.22.
 1695:        Спасибо Константину Свисту.
 1696: 
 1697:     *) Исправление: в использовании libatomic на некоторых платформах.
 1698:        Спасибо W-Mark Kubacki.
 1699: 
 1700: 
 1701: Изменения в nginx 0.8.29                                          30.11.2009
 1702: 
 1703:     *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
 1704:        ответа "009".
 1705: 
 1706:     *) Добавление: директивы addition_types, charset_types, gzip_types,
 1707:        ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
 1708: 
 1709:     *) Добавление: использование встроенных атомарных операций GCC 4.1+.
 1710:        Спасибо W-Mark Kubacki.
 1711: 
 1712:     *) Добавление: параметр --with-libatomic[=DIR] в configure.
 1713:        Спасибо W-Mark Kubacki.
 1714: 
 1715:     *) Исправление: listen unix domain сокет имели ограниченные права
 1716:        доступа.
 1717: 
 1718:     *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
 1719:        обрабатывались.
 1720: 
 1721:     *) Исправление: именованные выделения в регулярных выражениях, заданные
 1722:        как "?P<...>", не работали в директиве server_name.
 1723:        Спасибо Максиму Дунину.
 1724: 
 1725: 
 1726: Изменения в nginx 0.8.28                                          23.11.2009
 1727: 
 1728:     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
 1729:        появилась в 0.8.25.
 1730: 
 1731: 
 1732: Изменения в nginx 0.8.27                                          17.11.2009
 1733: 
 1734:     *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
 1735:        появилась в 0.8.25.
 1736: 
 1737: 
 1738: Изменения в nginx 0.8.26                                          16.11.2009
 1739: 
 1740:     *) Исправление: ошибки при использовании выделений в директиве rewrite;
 1741:        ошибка появилась в 0.8.25.
 1742: 
 1743:     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
 1744:        появилась в 0.8.25.
 1745: 
 1746: 
 1747: Изменения в nginx 0.8.25                                          16.11.2009
 1748: 
 1749:     *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
 1750:        не найдена с помощью метода $r->variable().
 1751: 
 1752:     *) Добавление: модуль ngx_http_degradation_module.
 1753: 
 1754:     *) Добавление: именованные выделения в регулярных выражениях.
 1755: 
 1756:     *) Добавление: теперь при использовании переменных в директиве
 1757:        proxy_pass не требуется задавать URI.
 1758: 
 1759:     *) Добавление: теперь директива msie_padding работает и для Chrome.
 1760: 
 1761:     *) Исправление: в рабочем процессе происходил segmentation fault при
 1762:        недостатке памяти; ошибка появилась в 0.8.18.
 1763: 
 1764:     *) Исправление: nginx передавал сжатые ответы клиентам, не
 1765:        поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
 1766:        ошибка появилась в 0.8.16.
 1767: 
 1768: 
 1769: Изменения в nginx 0.8.24                                          11.11.2009
 1770: 
 1771:     *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
 1772:        заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
 1773: 
 1774:     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
 1775:        появилась в 0.8.23.
 1776: 
 1777:     *) Исправление: параметр "unix:" в директиве set_real_ip_from
 1778:        неправильно наследовался с предыдущего уровня.
 1779: 
 1780:     *) Исправление: в resolver'е при определении пустого имени.
 1781: 
 1782: 
 1783: Изменения в nginx 0.8.23                                          11.11.2009
 1784: 
 1785:     *) Безопасность: теперь SSL/TLS renegotiation запрещён.
 1786:        Спасибо Максиму Дунину.
 1787: 
 1788:     *) Исправление: listen unix domain сокет не наследовался во время
 1789:        обновления без перерыва.
 1790: 
 1791:     *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
 1792:        без ещё одной директивы с любым IP-адресом.
 1793: 
 1794:     *) Исправление: segmentation fault и зацикливания в resolver'е.
 1795: 
 1796:     *) Исправление: в resolver'е.
 1797:        Спасибо Артёму Бохану.
 1798: 
 1799: 
 1800: Изменения в nginx 0.8.22                                          03.11.2009
 1801: 
 1802:     *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
 1803: 
 1804:     *) Добавление: директивы access и deny поддерживают IPv6.
 1805: 
 1806:     *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
 1807:        заголовках запроса.
 1808: 
 1809:     *) Добавление: параметр "unix:" в директиве set_real_ip_from.
 1810: 
 1811:     *) Исправление: nginx не удалял unix domain сокет после тестирования
 1812:        конфигурации.
 1813: 
 1814:     *) Исправление: nginx удалял unix domain сокет во время обновления без
 1815:        перерыва.
 1816: 
 1817:     *) Исправление: оператор "!-x" не работал.
 1818:        Спасибо Максиму Дунину.
 1819: 
 1820:     *) Исправление: в рабочем процессе мог произойти segmentation fault при
 1821:        использовании limit_rate в HTTPS сервере.
 1822:        Спасибо Максиму Дунину.
 1823: 
 1824:     *) Исправление: при записи в лог переменной $limit_rate в рабочем
 1825:        процессе происходил segmentation fault.
 1826:        Спасибо Максиму Дунину.
 1827: 
 1828:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
 1829:        если внутри блока server не было директивы listen; ошибка появилась в
 1830:        0.8.21.
 1831: 
 1832: 
 1833: Изменения в nginx 0.8.21                                          26.10.2009
 1834: 
 1835:     *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
 1836: 
 1837:     *) Добавление: директива listen модуля HTTP поддерживает unix domain
 1838:        сокеты.
 1839:        Спасибо Hongli Lai.
 1840: 
 1841:     *) Добавление: параметр "default_server" в директиве listen.
 1842: 
 1843:     *) Добавление: теперь параметр "default" не обязателен для установки
 1844:        параметров listen-сокета.
 1845: 
 1846:     *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
 1847:        платформах;
 1848: 
 1849:     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
 1850: 
 1851: 
 1852: Изменения в nginx 0.8.20                                          14.10.2009
 1853: 
 1854:     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
 1855:        "HIGH:!ADH:!MD5".
 1856: 
 1857:     *) Исправление: модуль ngx_http_autoindex_module не показывал последний
 1858:        слэш для линков на каталоги; ошибка появилась в 0.7.15.
 1859: 
 1860:     *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
 1861:        --error-log-path; ошибка появилась в 0.7.53.
 1862: 
 1863:     *) Исправление: nginx не считал запятую разделителем в строке
 1864:        "Cache-Control" в заголовке ответа бэкенда.
 1865: 
 1866:     *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
 1867:        или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
 1868:        не имел достаточно прав для работы с каталогами верхнего уровня.
 1869: 
 1870:     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
 1871:        FastCGI-сервера не скрывались при кэшировании, если не использовались
 1872:        директивы fastcgi_hide_header с любыми параметрами.
 1873: 
 1874:     *) Исправление: nginx неверно считал размер кэша на диске.
 1875: 
 1876: 
 1877: Изменения в nginx 0.8.19                                          06.10.2009
 1878: 
 1879:     *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
 1880: 
 1881:     *) Изменение: теперь по умолчанию используются следующие шифры SSL:
 1882:        "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
 1883: 
 1884:     *) Исправление: директива limit_req не работала; ошибка появилась в
 1885:        0.8.18.
 1886: 
 1887: 
 1888: Изменения в nginx 0.8.18                                          06.10.2009
 1889: 
 1890:     *) Добавление: директива read_ahead.
 1891: 
 1892:     *) Добавление: теперь можно использовать несколько директив
 1893:        perl_modules.
 1894: 
 1895:     *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
 1896: 
 1897:     *) Исправление: теперь директива limit_req соответствует алгоритму leaky
 1898:        bucket.
 1899:        Спасибо Максиму Дунину.
 1900: 
 1901:     *) Исправление: nginx не работал на Linux/sparc.
 1902:        Спасибо Marcus Ramberg.
 1903: 
 1904:     *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
 1905:        ответе на запрос MKCOL.
 1906:        Спасибо Xie Zhenye.
 1907: 
 1908:     *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
 1909:        появилась в 0.8.11.
 1910: 
 1911:     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
 1912: 
 1913: 
 1914: Изменения в nginx 0.8.17                                          28.09.2009
 1915: 
 1916:     *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
 1917:        в заголовке запроса.
 1918: 
 1919:     *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
 1920: 
 1921:     *) Добавление: переменная $ssl_session_id.
 1922: 
 1923:     *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
 1924: 
 1925: 
 1926: Изменения в nginx 0.8.16                                          22.09.2009
 1927: 
 1928:     *) Добавление: директива image_filter_transparency.
 1929: 
 1930:     *) Исправление: директива "addition_types" была неверно названа
 1931:        "addtion_types".
 1932: 
 1933:     *) Исправление: порчи кэша resolver'а.
 1934:        Спасибо Matthew Dempsky.
 1935: 
 1936:     *) Исправление: утечки памяти в resolver'е.
 1937:        Спасибо Matthew Dempsky.
 1938: 
 1939:     *) Исправление: неверная строка запроса в переменной $request
 1940:        записывалась в access_log только при использовании error_log на
 1941:        уровне info или debug.
 1942: 
 1943:     *) Исправление: в поддержке альфа-канала PNG в модуле
 1944:        ngx_http_image_filter_module.
 1945: 
 1946:     *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
 1947:        заголовок ответа, если обе директивы gzip_static и gzip_vary были
 1948:        включены.
 1949: 
 1950:     *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
 1951:        nginx/Windows.
 1952: 
 1953:     *) Исправление: ошибки при использовании post_action; ошибка появилась в
 1954:        0.8.11.
 1955:        Спасибо Игорю Артемьеву.
 1956: 
 1957: 
 1958: Изменения в nginx 0.8.15                                          14.09.2009
 1959: 
 1960:     *) Безопасность: при обработке специально созданного запроса в рабочем
 1961:        процессе мог произойти segmentation fault.
 1962:        Спасибо Chris Ries.
 1963: 
 1964:     *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
 1965:        .domain-some.tld, то имя .sub.domain.tld попадало под маску
 1966:        .domain.tld.
 1967: 
 1968:     *) Исправление: в поддержке прозрачности в модуле
 1969:        ngx_http_image_filter_module.
 1970: 
 1971:     *) Исправление: в файловом AIO.
 1972: 
 1973:     *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
 1974:        появилась в 0.8.11.
 1975: 
 1976:     *) Исправление: ошибки при использовании встроенного перла; ошибка
 1977:        появилась в 0.8.11.
 1978: 
 1979: 
 1980: Изменения в nginx 0.8.14                                          07.09.2009
 1981: 
 1982:     *) Исправление: устаревший закэшированный запрос мог залипнуть в
 1983:        состоянии "UPDATING".
 1984: 
 1985:     *) Исправление: при использовании error_log на уровне info или debug в
 1986:        рабочем процессе мог произойти segmentation fault.
 1987:        Спасибо Сергею Боченкову.
 1988: 
 1989:     *) Исправление: ошибки при использовании встроенного перла; ошибка
 1990:        появилась в 0.8.11.
 1991: 
 1992:     *) Исправление: директива error_page не перенаправляла ошибку 413;
 1993:        ошибка появилась в 0.6.10.
 1994: 
 1995: 
 1996: Изменения в nginx 0.8.13                                          31.08.2009
 1997: 
 1998:     *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
 1999: 
 2000:     *) Исправление: nginx не собирался без параметра --with-file-aio на
 2001:        FreeBSD; ошибка появилась в 0.8.12.
 2002: 
 2003: 
 2004: Изменения в nginx 0.8.12                                          31.08.2009
 2005: 
 2006:     *) Добавление: параметр sendfile в директиве aio во FreeBSD.
 2007: 
 2008:     *) Исправление: ошибки при использовании try_files; ошибка появилась в
 2009:        0.8.11.
 2010: 
 2011:     *) Исправление: ошибки при использовании memcached; ошибка появилась в
 2012:        0.8.11.
 2013: 
 2014: 
 2015: Изменения в nginx 0.8.11                                          28.08.2009
 2016: 
 2017:     *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
 2018:        для MSIE 6.0 SV1.
 2019: 
 2020:     *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
 2021: 
 2022:     *) Добавление: директива directio_alignment.
 2023: 
 2024: 
 2025: Изменения в nginx 0.8.10                                          24.08.2009
 2026: 
 2027:     *) Исправление: утечек памяти при использовании базы GeoIP City.
 2028: 
 2029:     *) Исправление: ошибки при копировании временных файлов в постоянное
 2030:        место хранения; ошибка появилась в 0.8.9.
 2031: 
 2032: 
 2033: Изменения в nginx 0.8.9                                           17.08.2009
 2034: 
 2035:     *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
 2036:        процесс; это должно улучшить обработку больших кэшей.
 2037: 
 2038:     *) Добавление: теперь временные файлы и постоянное место хранения могут
 2039:        располагаться на разных файловых системах.
 2040: 
 2041: 
 2042: Изменения в nginx 0.8.8                                           10.08.2009
 2043: 
 2044:     *) Исправление: в обработке заголовков ответа, разделённых в
 2045:        FastCGI-записях.
 2046: 
 2047:     *) Исправление: если запрос обрабатывался в двух проксированных или
 2048:        FastCGI location'ах и в первом из них использовалось кэширование, то
 2049:        в рабочем процессе происходил segmentation fault; ошибка появилась в
 2050:        0.8.7.
 2051: 
 2052: 
 2053: Изменения в nginx 0.8.7                                           27.07.2009
 2054: 
 2055:     *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
 2056: 
 2057:     *) Изменение: параметр ask директивы ssl_verify_client изменён на
 2058:        параметр optional и теперь он проверяет клиентский сертификат, если
 2059:        он был предложен.
 2060:        Спасибо Brice Figureau.
 2061: 
 2062:     *) Добавление: переменная $ssl_client_verify.
 2063:        Спасибо Brice Figureau.
 2064: 
 2065:     *) Добавление: директива ssl_crl.
 2066:        Спасибо Brice Figureau.
 2067: 
 2068:     *) Добавление: параметр proxy директивы geo.
 2069: 
 2070:     *) Добавление: директива image_filter поддерживает переменные для
 2071:        задания размеров.
 2072: 
 2073:     *) Исправление: использование переменной $ssl_client_cert портило
 2074:        память; ошибка появилась в 0.7.7.
 2075:        Спасибо Сергею Журавлёву.
 2076: 
 2077:     *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
 2078:        передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
 2079:        "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
 2080:        Спасибо Максиму Дунину.
 2081: 
 2082:     *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
 2083:        заголовке ответа бэкенда; ошибка появилась в 0.7.44.
 2084:        Спасибо Максиму Дунину.
 2085: 
 2086:     *) Исправление: ошибки "[alert] zero size buf" при получении пустых
 2087:        ответы в подзапросах; ошибка появилась в 0.8.5.
 2088: 
 2089: 
 2090: Изменения в nginx 0.8.6                                           20.07.2009
 2091: 
 2092:     *) Добавление: модуль ngx_http_geoip_module.
 2093: 
 2094:     *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
 2095:        document" для правильного документа.
 2096:        Спасибо Kuramoto Eiji.
 2097: 
 2098:     *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
 2099:        location'ов, заданных регулярным выражением, теперь всегда делается
 2100:        сравнение без учёта регистра символов.
 2101: 
 2102:     *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
 2103:        Спасибо Hugo Leisink.
 2104: 
 2105:     *) Исправление: имя файла указанного в --conf-path игнорировалось при
 2106:        установке; ошибка появилась в 0.6.6.
 2107:        Спасибо Максиму Дунину.
 2108: 
 2109: 
 2110: Изменения в nginx 0.8.5                                           13.07.2009
 2111: 
 2112:     *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
 2113: 
 2114:     *) Исправление: при использовании HTTP Basic-аутентификации на Windows
 2115:        для неверных имени/пароля возвращалась 500-ая ошибка.
 2116: 
 2117:     *) Исправление: ответы модуля ngx_http_perl_module не работали в
 2118:        подзапросах.
 2119: 
 2120:     *) Исправление: в модуле ngx_http_limit_req_module.
 2121:        Спасибо Максиму Дунину.
 2122: 
 2123: 
 2124: Изменения в nginx 0.8.4                                           22.06.2009
 2125: 
 2126:     *) Исправление: nginx не собирался с параметром --without-http-cache;
 2127:        ошибка появилась в 0.8.3.
 2128: 
 2129: 
 2130: Изменения в nginx 0.8.3                                           19.06.2009
 2131: 
 2132:     *) Добавление: переменная $upstream_cache_status.
 2133: 
 2134:     *) Исправление: nginx не собирался на MacOSX 10.6.
 2135: 
 2136:     *) Исправление: nginx не собирался с параметром --without-http-cache;
 2137:        ошибка появилась в 0.8.2.
 2138: 
 2139:     *) Исправление: если использовался перехват 401 ошибки от бэкенда и
 2140:        бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
 2141:        в рабочем процессе происходил segmentation fault.
 2142:        Спасибо Евгению Мычло.
 2143: 
 2144: 
 2145: Изменения в nginx 0.8.2                                           15.06.2009
 2146: 
 2147:     *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
 2148:        на старте.
 2149: 
 2150:     *) Исправление: open_file_cache мог кэшировать открытые файлы очень
 2151:        долго; ошибка появилась в 0.7.4.
 2152: 
 2153: 
 2154: Изменения в nginx 0.8.1                                           08.06.2009
 2155: 
 2156:     *) Добавление: параметр updating в директивах proxy_cache_use_stale и
 2157:        fastcgi_cache_use_stale.
 2158: 
 2159:     *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
 2160:        заголовке запроса клиента передавались бэкенду при кэшировании, если
 2161:        не использовалась директива proxy_set_header с любыми параметрами.
 2162: 
 2163:     *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
 2164:        не скрывались при кэшировании, если не использовались директивы
 2165:        proxy_hide_header/fastcgi_hide_header с любыми параметрами.
 2166: 
 2167:     *) Исправление: модуль ngx_http_image_filter_module не понимал формат
 2168:        GIF87a.
 2169:        Спасибо Денису Ильиных.
 2170: 
 2171:     *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
 2172:        появилась в 0.7.56.
 2173: 
 2174: 
 2175: Изменения в nginx 0.8.0                                           02.06.2009
 2176: 
 2177:     *) Добавление: директива keepalive_requests.
 2178: 
 2179:     *) Добавление: директива limit_rate_after.
 2180:        Спасибо Ivan Debnar.
 2181: 
 2182:     *) Исправление: XSLT-фильтр не работал в подзапросах.
 2183: 
 2184:     *) Исправление: обработке относительных путей в nginx/Windows.
 2185: 
 2186:     *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
 2187:        fastcgi_cache в nginx/Windows.
 2188: 
 2189:     *) Исправление: в обработке ошибок выделения памяти.
 2190:        Спасибо Максиму Дунину и Кириллу Коринскому.
 2191: 
 2192: 
 2193: Изменения в nginx 0.7.59                                          25.05.2009
 2194: 
 2195:     *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
 2196: 
 2197:     *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
 2198:        Спасибо Максиму Дунину.
 2199: 
 2200:     *) Исправление: при использовании переменной $request_body в рабочем
 2201:        процессе происходил segmentation fault, если в запросе не было тела;
 2202:        ошибка появилась в 0.7.58.
 2203: 
 2204:     *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
 2205:        ошибка появилась в 0.7.56.
 2206: 
 2207:     *) Исправление: ответы модуля ngx_http_xslt_filter_module не
 2208:        обрабатывались SSI-, charset- и gzip-фильтрами.
 2209: 
 2210:     *) Исправление: директива charset не ставила кодировку для ответов
 2211:        модуля ngx_http_gzip_static_module.
 2212: 
 2213: 
 2214: Изменения в nginx 0.7.58                                          18.05.2009
 2215: 
 2216:     *) Добавление: директива listen почтового прокси-сервера поддерживает
 2217:        IPv6.
 2218: 
 2219:     *) Добавление: директива image_filter_jpeg_quality.
 2220: 
 2221:     *) Добавление: директива client_body_in_single_buffer.
 2222: 
 2223:     *) Добавление: переменная $request_body.
 2224: 
 2225:     *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
 2226:        файлов, содержащих символ ":".
 2227: 
 2228:     *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
 2229:        0.7.53.
 2230:        Спасибо Денису Латыпову.
 2231: 
 2232: 
 2233: Изменения в nginx 0.7.57                                          12.05.2009
 2234: 
 2235:     *) Исправление: при перенаправлении ошибок модуля
 2236:        ngx_http_image_filter_module в именованный location в рабочем
 2237:        процессе происходил floating-point fault; ошибка появилась в 0.7.56.
 2238: 
 2239: 
 2240: Изменения в nginx 0.7.56                                          11.05.2009
 2241: 
 2242:     *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
 2243:        HTTP.
 2244: 
 2245:     *) Исправление: в модуле ngx_http_image_filter_module.
 2246: 
 2247: 
 2248: Изменения в nginx 0.7.55                                          06.05.2009
 2249: 
 2250:     *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
 2251:        fastcgi_cache_use_stale не работали.
 2252: 
 2253:     *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
 2254:        заголовка.
 2255: 
 2256:     *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
 2257:        nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
 2258: 
 2259:     *) Исправление: при использовании директивы debug_connection в рабочем
 2260:        процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
 2261: 
 2262:     *) Исправление: в сборке модуля ngx_http_image_filter_module.
 2263: 
 2264:     *) Исправление: файлы больше 2G не передавались с использованием
 2265:        $r->sendfile.
 2266:        Спасибо Максиму Дунину.
 2267: 
 2268: 
 2269: Изменения в nginx 0.7.54                                          01.05.2009
 2270: 
 2271:     *) Добавление: модуль ngx_http_image_filter_module.
 2272: 
 2273:     *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
 2274: 
 2275:     *) Исправление: при использовании переменных "open_file_cache_errors on"
 2276:        в рабочем процессе мог произойти segmentation fault; ошибка появилась
 2277:        в 0.7.53.
 2278: 
 2279:     *) Исправление: директива "port_in_redirect off" не работала; ошибка
 2280:        появилась в 0.7.39.
 2281: 
 2282:     *) Исправление: улучшение обработки ошибок метода select.
 2283: 
 2284:     *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
 2285: 
 2286:     *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
 2287:        ошибка появилась в 0.7.53.
 2288: 
 2289: 
 2290: Изменения в nginx 0.7.53                                          27.04.2009
 2291: 
 2292:     *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
 2293:        самого начала работы.
 2294: 
 2295:     *) Добавление: теперь ошибки и предупреждения при старте записываются в
 2296:        error_log и выводятся на stderr.
 2297: 
 2298:     *) Добавление: при сборке с пустым параметром --prefix= nginx использует
 2299:        как префикс каталог, в котором он был запущен.
 2300: 
 2301:     *) Добавление: ключ -p.
 2302: 
 2303:     *) Добавление: ключ -s на Unix-платформах.
 2304: 
 2305:     *) Добавление: ключи -? и -h.
 2306:        Спасибо Jerome Loyet.
 2307: 
 2308:     *) Добавление: теперь ключи можно задавать в сжатой форме.
 2309: 
 2310:     *) Исправление: nginx/Windows не работал, если файл конфигурации был
 2311:        задан ключом -c.
 2312: 
 2313:     *) Исправление: при использовании директив proxy_store, fastcgi_store,
 2314:        proxy_cache или fastcgi_cache временные файлы могли не удаляться.
 2315:        Спасибо Максиму Дунину.
 2316: 
 2317:     *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
 2318:        почтового прокси-сервера передавалось неверное значение; ошибка
 2319:        появилась в 0.7.34.
 2320:        Спасибо Simon Lecaille.
 2321: 
 2322:     *) Исправление: при логгировании на Linux не писались текстовые описания
 2323:        системных ошибок; ошибка появилась в 0.7.45.
 2324: 
 2325:     *) Исправление: директива fastcgi_cache_min_uses не работала.
 2326:        Спасибо Андрею Воробьёву.
 2327: 
 2328: 
 2329: Изменения в nginx 0.7.52                                          20.04.2009
 2330: 
 2331:     *) Добавление: первая бинарная версия под Windows.
 2332: 
 2333:     *) Исправление: корректная обработка метода HEAD при кэшировании.
 2334: 
 2335:     *) Исправление: корректная обработка строк "If-Modified-Since",
 2336:        "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
 2337: 
 2338:     *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
 2339:        заголовке ответа для закэшированных ответов.
 2340: 
 2341:     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
 2342:        perl поддерживал потоки, то при выходе основного процесса могла
 2343:        выдаваться ошибка "panic: MUTEX_LOCK".
 2344: 
 2345:     *) Исправление: nginx не собирался с параметром --without-http-cache;
 2346:        ошибка появилась в 0.7.48.
 2347: 
 2348:     *) Исправление: nginx не собирался на платформах, отличных от i386,
 2349:        amd64, sparc и ppc; ошибка появилась в 0.7.42.
 2350: 
 2351: 
 2352: Изменения в nginx 0.7.51                                          12.04.2009
 2353: 
 2354:     *) Добавление: директива try_files поддерживает код ответа в последнем
 2355:        параметре.
 2356: 
 2357:     *) Добавление: теперь в директиве return можно использовать любой код
 2358:        ответа.
 2359: 
 2360:     *) Исправление: директива error_page делала внешний редирект без строки
 2361:        запроса; ошибка появилась в 0.7.44.
 2362: 
 2363:     *) Исправление: если сервера слушали на нескольких явно описанных
 2364:        адресах, то виртуальные сервера могли не работать; ошибка появилась в
 2365:        0.7.39.
 2366: 
 2367: 
 2368: Изменения в nginx 0.7.50                                          06.04.2009
 2369: 
 2370:     *) Исправление: переменные $arg_... не работали; ошибка появилась в
 2371:        0.7.49.
 2372: 
 2373: 
 2374: Изменения в nginx 0.7.49                                          06.04.2009
 2375: 
 2376:     *) Исправление: при использовании переменных $arg_... в рабочем процессе
 2377:        мог произойти segmentation fault; ошибка появилась в 0.7.48.
 2378: 
 2379: 
 2380: Изменения в nginx 0.7.48                                          06.04.2009
 2381: 
 2382:     *) Добавление: директива proxy_cache_key.
 2383: 
 2384:     *) Исправление: теперь nginx учитывает при кэшировании строки
 2385:        "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
 2386:        бэкенда.
 2387: 
 2388:     *) Исправление: теперь nginx кэширует только ответы на запросы GET.
 2389: 
 2390:     *) Исправление: директива fastcgi_cache_key не наследовалась.
 2391: 
 2392:     *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
 2393:        Спасибо Максиму Дунину.
 2394: 
 2395:     *) Исправление: nginx не собирался с библиотекой uclibc.
 2396:        Спасибо Timothy Redaelli.
 2397: 
 2398:     *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
 2399:        в 0.7.46.
 2400: 
 2401: 
 2402: Изменения в nginx 0.7.47                                          01.04.2009
 2403: 
 2404:     *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
 2405:        ошибка появилась в 0.7.46.
 2406: 
 2407:     *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
 2408: 
 2409:     *) Исправление: если использовался параметр max_size, то cache manager
 2410:        мог удалить весь кэш; ошибка появилась в 0.7.46.
 2411: 
 2412:     *) Изменение: в рабочем процессе мог произойти segmentation fault, если
 2413:        директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
 2414:        fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
 2415:        в 0.7.46.
 2416: 
 2417:     *) Исправление: в рабочем процессе мог произойти segmentation fault при
 2418:        перенаправлении запроса проксированному или FastCGI-серверу с помощью
 2419:        error_page или try_files; ошибка появилась в 0.7.44.
 2420: 
 2421: 
 2422: Изменения в nginx 0.7.46                                          30.03.2009
 2423: 
 2424:     *) Исправление: архив предыдущего релиза был неверным.
 2425: 
 2426: 
 2427: Изменения в nginx 0.7.45                                          30.03.2009
 2428: 
 2429:     *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
 2430:        задавать на разных уровнях.
 2431: 
 2432:     *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
 2433: 
 2434:     *) Добавление: параметр max_size в директиве proxy_cache_path.
 2435: 
 2436:     *) Добавление: предварительная поддержка кэширования в модуле
 2437:        ngx_http_fastcgi_module.
 2438: 
 2439:     *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
 2440:        указываются названия директивы и зоны.
 2441: 
 2442:     *) Исправление: директива "add_header last-modified ''" не удаляла в
 2443:        заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
 2444: 
 2445:     *) Исправление: в директиве auth_basic_user_file не работал
 2446:        относительный путь, заданный строкой без переменных; ошибка появилась
 2447:        в 0.7.44.
 2448:        Спасибо Jerome Loyet.
 2449: 
 2450:     *) Исправление: в директиве alias, заданной переменными без ссылок на
 2451:        выделения в регулярных выражениях; ошибка появилась в 0.7.42.
 2452: 
 2453: 
 2454: Изменения в nginx 0.7.44                                          23.03.2009
 2455: 
 2456:     *) Добавление: предварительная поддержка кэширования в модуле
 2457:        ngx_http_proxy_module.
 2458: 
 2459:     *) Добавление: параметр --with-pcre в configure.
 2460: 
 2461:     *) Добавление: теперь директива try_files может быть использована на
 2462:        уровне server.
 2463: 
 2464:     *) Исправление: директива try_files неправильно обрабатывала строку
 2465:        запроса в последнем параметре.
 2466: 
 2467:     *) Исправление: директива try_files могла неверно тестировать каталоги.
 2468: 
 2469:     *) Исправление: если для пары адрес:порт описан только один сервер, то
 2470:        выделения в регулярных выражениях в директиве server_name не
 2471:        работали.
 2472: 
 2473: 
 2474: Изменения в nginx 0.7.43                                          18.03.2009
 2475: 
 2476:     *) Исправление: запрос обрабатывался неверно, если директива root
 2477:        использовала переменные; ошибка появилась в 0.7.42.
 2478: 
 2479:     *) Исправление: если сервер слушал на адресах типа "*", то значение
 2480:        переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
 2481: 
 2482: 
 2483: Изменения в nginx 0.7.42                                          16.03.2009
 2484: 
 2485:     *) Изменение: ошибка "Invalid argument", возвращаемая
 2486:        setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
 2487: 
 2488:     *) Изменение: при отсутствии файла, указанного в директиве
 2489:        auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
 2490: 
 2491:     *) Добавление: директива auth_basic_user_file поддерживает переменные.
 2492:        Спасибо Кириллу Коринскому.
 2493: 
 2494:     *) Добавление: директива listen поддерживает параметр ipv6only.
 2495:        Спасибо Zhang Hua.
 2496: 
 2497:     *) Исправление: в директиве alias со ссылками на выделения в регулярных
 2498:        выражениях; ошибка появилась в 0.7.40.
 2499: 
 2500:     *) Исправление: совместимость с Tru64 UNIX.
 2501:        Спасибо Dustin Marquess.
 2502: 
 2503:     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
 2504:        в 0.7.41.
 2505: 
 2506: 
 2507: Изменения в nginx 0.7.41                                          11.03.2009
 2508: 
 2509:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
 2510:        если в server_name или location были выделения в регулярных
 2511:        выражениях; ошибка появилась в 0.7.40.
 2512:        Спасибо Владимиру Сопоту.
 2513: 
 2514: 
 2515: Изменения в nginx 0.7.40                                          09.03.2009
 2516: 
 2517:     *) Добавление: директива location поддерживает выделения в регулярных
 2518:        выражениях.
 2519: 
 2520:     *) Добавление: директиву alias с ссылками на выделения в регулярных
 2521:        выражениях можно использовать внутри location'а, заданного регулярным
 2522:        выражением с выделениями.
 2523: 
 2524:     *) Добавление: директива server_name поддерживает выделения в регулярных
 2525:        выражениях.
 2526: 
 2527:     *) Изменение: модуль ngx_http_autoindex_module не показывал последний
 2528:        слэш для каталогов на файловой системе XFS; ошибка появилась в
 2529:        0.7.15.
 2530:        Спасибо Дмитрию Кузьменко.
 2531: 
 2532: 
 2533: Изменения в nginx 0.7.39                                          02.03.2009
 2534: 
 2535:     *) Исправление: при включённом сжатии большие ответы с использованием
 2536:        SSI могли зависать; ошибка появилась в 0.7.28.
 2537:        Спасибо Артёму Бохану.
 2538: 
 2539:     *) Исправление: при использовании коротких статических вариантов в
 2540:        директиве try_files в рабочем процессе мог произойти segmentation
 2541:        fault.
 2542: 
 2543: 
 2544: Изменения в nginx 0.7.38                                          23.02.2009
 2545: 
 2546:     *) Добавление: логгирование ошибок аутентификации.
 2547: 
 2548:     *) Исправление: имя/пароль, заданные в auth_basic_user_file,
 2549:        игнорировались после нечётного числа пустых строк.
 2550:        Спасибо Александру Загребину.
 2551: 
 2552:     *) Исправление: при использовании длинного пути в unix domain сокете в
 2553:        главном процессе происходил segmentation fault; ошибка появилась в
 2554:        0.7.36.
 2555: 
 2556: 
 2557: Изменения в nginx 0.7.37                                          21.02.2009
 2558: 
 2559:     *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
 2560:        появилась в 0.7.36.
 2561: 
 2562: 
 2563: Изменения в nginx 0.7.36                                          21.02.2009
 2564: 
 2565:     *) Добавление: предварительная поддержка IPv6; директива listen модуля
 2566:        HTTP поддерживает IPv6.
 2567: 
 2568:     *) Исправление: переменная $ancient_browser не работала для браузеров,
 2569:        заданных директивами modern_browser.
 2570: 
 2571: 
 2572: Изменения в nginx 0.7.35                                          16.02.2009
 2573: 
 2574:     *) Исправление: директива ssl_engine не использовала SSL-акселератор для
 2575:        асимметричных шифров.
 2576:        Спасибо Marcin Gozdalik.
 2577: 
 2578:     *) Исправление: директива try_files выставляла MIME-type, исходя из
 2579:        расширения первоначального запроса.
 2580: 
 2581:     *) Исправление: в директивах server_name, valid_referers и map
 2582:        неправильно обрабатывались имена вида "*domain.tld", если
 2583:        использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
 2584:        ошибка появилась в 0.7.9.
 2585: 
 2586: 
 2587: Изменения в nginx 0.7.34                                          10.02.2009
 2588: 
 2589:     *) Добавление: параметр off в директиве if_modified_since.
 2590: 
 2591:     *) Добавление: теперь после команды XCLIENT nginx посылает команду
 2592:        HELO/EHLO.
 2593:        Спасибо Максиму Дунину.
 2594: 
 2595:     *) Добавление: поддержка Microsoft-специфичного режима
 2596:        "AUTH LOGIN with User Name" в почтовом прокси-сервере.
 2597:        Спасибо Максиму Дунину.
 2598: 
 2599:     *) Исправление: в директиве rewrite, возвращающей редирект, старые
 2600:        аргументы присоединялись к новым через символ "?" вместо "&";
 2601:        ошибка появилась в 0.1.18.
 2602:        Спасибо Максиму Дунину.
 2603: 
 2604:     *) Исправление: nginx не собирался на AIX.
 2605: 
 2606: 
 2607: Изменения в nginx 0.7.33                                          02.02.2009
 2608: 
 2609:     *) Исправление: если на запрос с телом возвращался редирект, то ответ
 2610:        мог быть двойным при использовании методов epoll или rtsig.
 2611:        Спасибо Eden Li.
 2612: 
 2613:     *) Исправление: для некоторых типов редиректов в переменной
 2614:        $sent_http_location было пустое значение.
 2615: 
 2616:     *) Исправление: при использовании директивы resolver в SMTP
 2617:        прокси-сервере в рабочем процессе мог произойти segmentation fault.
 2618: 
 2619: 
 2620: Изменения в nginx 0.7.32                                          26.01.2009
 2621: 
 2622:     *) Добавление: теперь в директиве try_files можно явно указать проверку
 2623:        каталога.
 2624: 
 2625:     *) Исправление: fastcgi_store не всегда сохранял файлы.
 2626: 
 2627:     *) Исправление: в гео-диапазонах.
 2628: 
 2629:     *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
 2630:        если nginx был собран без отладки.
 2631:        Спасибо Андрею Квасову.
 2632: 
 2633: 
 2634: Изменения в nginx 0.7.31                                          19.01.2009
 2635: 
 2636:     *) Изменение: теперь директива try_files проверяет только файлы,
 2637:        игнорируя каталоги.
 2638: 
 2639:     *) Добавление: директива fastcgi_split_path_info.
 2640: 
 2641:     *) Исправления в поддержке строки "Expect" в заголовке запроса.
 2642: 
 2643:     *) Исправления в гео-диапазонах.
 2644: 
 2645:     *) Исправление: при отсутствии ответа ngx_http_memcached_module
 2646:        возвращал в теле ответа строку "END" вместо 404-ой страницы по
 2647:        умолчанию; ошибка появилась в 0.7.18.
 2648:        Спасибо Максиму Дунину.
 2649: 
 2650:     *) Исправление: при проксировании SMPT nginx выдавал сообщение
 2651:        "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
 2652:        Спасибо Максиму Дунину.
 2653: 
 2654: 
 2655: Изменения в nginx 0.7.30                                          24.12.2008
 2656: 
 2657:     *) Исправление: в рабочем процессе происходил segmentation fault, если в
 2658:        директивах fastcgi_pass или proxy_pass использовались переменные и
 2659:        имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
 2660: 
 2661: 
 2662: Изменения в nginx 0.7.29                                          24.12.2008
 2663: 
 2664:     *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
 2665:        переменные при использовании unix domain сокетов.
 2666: 
 2667:     *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
 2668: 
 2669:     *) Исправление: ответ "100 Continue" выдавался для запросов версии
 2670:        HTTP/1.0;
 2671:        Спасибо Максиму Дунину.
 2672: 
 2673:     *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
 2674:        под Cygwin.
 2675: 
 2676: 
 2677: Изменения в nginx 0.7.28                                          22.12.2008
 2678: 
 2679:     *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
 2680: 
 2681:     *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
 2682:        с 4 4k/8k на 32 4k или 16 8k.
 2683: 
 2684: 
 2685: Изменения в nginx 0.7.27                                          15.12.2008
 2686: 
 2687:     *) Добавление: директива try_files.
 2688: 
 2689:     *) Добавление: директива fastcgi_pass поддерживает переменные.
 2690: 
 2691:     *) Добавление: теперь директива geo может брать адрес из переменной.
 2692:        Спасибо Андрею Нигматулину.
 2693: 
 2694:     *) Добавление: теперь модификатор location'а можно указывать без пробела
 2695:        перед названием.
 2696: 
 2697:     *) Добавление: переменная $upstream_response_length.
 2698: 
 2699:     *) Исправление: теперь директива add_header не добавляет пустое
 2700:        значение.
 2701: 
 2702:     *) Исправление: при запросе файла нулевой длины nginx закрывал
 2703:        соединение, ничего не передав; ошибка появилась в 0.7.25.
 2704: 
 2705:     *) Исправление: метод MOVE не мог перемещать файл в несуществующий
 2706:        каталог.
 2707: 
 2708:     *) Исправление: если в сервере не был описан ни один именованный
 2709:        location, но такой location использовался в директиве error_page, то
 2710:        в рабочем процессе происходил segmentation fault.
 2711:        Спасибо Сергею Боченкову.
 2712: 
 2713: 
 2714: Изменения в nginx 0.7.26                                          08.12.2008
 2715: 
 2716:     *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
 2717: 
 2718: 
 2719: Изменения в nginx 0.7.25                                          08.12.2008
 2720: 
 2721:     *) Изменение: в обработке подзапросов.
 2722: 
 2723:     *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
 2724:        заголовке запроса.
 2725: 
 2726:     *) Исправление: теперь директивы limit_req и limit_conn указывают
 2727:        причину запрета запроса.
 2728: 
 2729:     *) Исправление: в параметре delete директивы geo.
 2730: 
 2731: 
 2732: Изменения в nginx 0.7.24                                          01.12.2008
 2733: 
 2734:     *) Добавление: директива if_modified_since.
 2735: 
 2736:     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
 2737:        ответом сервер передавал много сообщений в stderr.
 2738: 
 2739:     *) Исправление: переменные "$cookie_..." не работали в SSI and в
 2740:        перловом модуле.
 2741: 
 2742: 
 2743: Изменения в nginx 0.7.23                                          27.11.2008
 2744: 
 2745:     *) Добавление: параметры delete и ranges в директиве geo.
 2746: 
 2747:     *) Добавление: ускорение загрузки geo-базы с большим числом значений.
 2748: 
 2749:     *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
 2750: 
 2751: 
 2752: Изменения в nginx 0.7.22                                          20.11.2008
 2753: 
 2754:     *) Добавление: параметр none в директиве smtp_auth.
 2755:        Спасибо Максиму Дунину.
 2756: 
 2757:     *) Добавление: переменные "$cookie_...".
 2758: 
 2759:     *) Исправление: директива directio не работала с файловой системой XFS.
 2760: 
 2761:     *) Исправление: resolver не понимал большие DNS-ответы.
 2762:        Спасибо Zyb.
 2763: 
 2764: 
 2765: Изменения в nginx 0.7.21                                          11.11.2008
 2766: 
 2767:     *) Изменения в модуле ngx_http_limit_req_module.
 2768: 
 2769:     *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
 2770:        Спасибо Денису Латыпову.
 2771: 
 2772:     *) Изменение: совместимость с glibc 2.3.
 2773:        Спасибо Eric Benson и Максиму Дунину.
 2774: 
 2775:     *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
 2776:        ошибка появилась в 0.7.6.
 2777: 
 2778: 
 2779: Изменения в nginx 0.7.20                                          10.11.2008
 2780: 
 2781:     *) Изменения в модуле ngx_http_gzip_filter_module.
 2782: 
 2783:     *) Добавление: модуль ngx_http_limit_req_module.
 2784: 
 2785:     *) Исправление: на платформах sparc и ppc рабочие процессы могли
 2786:        выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
 2787:        Спасибо Максиму Дунину.
 2788: 
 2789:     *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
 2790:        работали; ошибка появилась в 0.7.12.
 2791: 
 2792:     *) Исправление: при использовании HTTPS запросы могли завершаться с
 2793:        ошибкой "bad write retry".
 2794: 
 2795:     *) Исправление: модуль ngx_http_secure_link_module не работал внутри
 2796:        location'ов с именами меньше 3 символов.
 2797: 
 2798:     *) Исправление: переменная $server_addr могла не иметь значения.
 2799: 
 2800: 
 2801: Изменения в nginx 0.7.19                                          13.10.2008
 2802: 
 2803:     *) Исправление: обновление номера версии.
 2804: 
 2805: 
 2806: Изменения в nginx 0.7.18                                          13.10.2008
 2807: 
 2808:     *) Изменение: директива underscores_in_headers; теперь nginx по
 2809:        умолчанию не разрешает подчёркивания в именах строк в заголовке
 2810:        запроса клиента.
 2811: 
 2812:     *) Добавление: модуль ngx_http_secure_link_module.
 2813: 
 2814:     *) Добавление: директива real_ip_header поддерживает любой заголовок.
 2815: 
 2816:     *) Добавление: директива log_subrequest.
 2817: 
 2818:     *) Добавление: переменная $realpath_root.
 2819: 
 2820:     *) Добавление: параметры http_502 и http_504 в директиве
 2821:        proxy_next_upstream.
 2822: 
 2823:     *) Исправление: параметр http_503 в директивах proxy_next_upstream или
 2824:        fastcgi_next_upstream не работал.
 2825: 
 2826:     *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
 2827:        для запросов HEAD.
 2828: 
 2829:     *) Исправление: теперь accept-лимит зависит от числа worker_connections.
 2830: 
 2831: 
 2832: Изменения в nginx 0.7.17                                          15.09.2008
 2833: 
 2834:     *) Добавление: директива directio теперь работает на Linux.
 2835: 
 2836:     *) Добавление: переменная $pid.
 2837: 
 2838:     *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
 2839:        при использовании open_file_cache.
 2840: 
 2841:     *) Исправление: access_log с переменными не работал на Linux; ошибка
 2842:        появилась в 0.7.7.
 2843: 
 2844:     *) Исправление: модуль ngx_http_charset_module не понимал название
 2845:        кодировки в кавычках, полученное от бэкенда.
 2846: 
 2847: 
 2848: Изменения в nginx 0.7.16                                          08.09.2008
 2849: 
 2850:     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
 2851:        появилась в 0.7.15.
 2852: 
 2853: 
 2854: Изменения в nginx 0.7.15                                          08.09.2008
 2855: 
 2856:     *) Добавление: модуль ngx_http_random_index_module.
 2857: 
 2858:     *) Добавление: директива directio оптимизирована для запросов файлов,
 2859:        начинающихся с произвольной позиции.
 2860: 
 2861:     *) Добавление: директива directio при необходимости запрещает
 2862:        использование sendfile.
 2863: 
 2864:     *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
 2865:        заголовке запроса клиента.
 2866: 
 2867: 
 2868: Изменения в nginx 0.7.14                                          01.09.2008
 2869: 
 2870:     *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
 2871:        имеют значений по умолчанию.
 2872: 
 2873:     *) Добавление: директива listen поддерживает параметр ssl.
 2874: 
 2875:     *) Добавление: теперь при переконфигурации nginx учитывает изменение
 2876:        временной зоны на FreeBSD и Linux.
 2877: 
 2878:     *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
 2879:        прочие, не устанавливались, если сервером по умолчанию был не первый
 2880:        сервер.
 2881: 
 2882:     *) Исправление: при использовании в качестве аргументов части URI,
 2883:        выделенного с помощью директивы rewrite, эти аргументы не
 2884:        экранировались.
 2885: 
 2886:     *) Исправление: улучшения тестирования правильности конфигурационного
 2887:        файла.
 2888: 
 2889: 
 2890: Изменения в nginx 0.7.13                                          26.08.2008
 2891: 
 2892:     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
 2893:        в 0.7.12.
 2894: 
 2895: 
 2896: Изменения в nginx 0.7.12                                          26.08.2008
 2897: 
 2898:     *) Добавление: директива server_name поддерживает пустое имя "".
 2899: 
 2900:     *) Добавление: директива gzip_disable поддерживает специальную маску
 2901:        msie6.
 2902: 
 2903:     *) Исправление: при использовании параметра max_fails=0 в upstream'е с
 2904:        несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
 2905:        Спасибо Максиму Дунину.
 2906: 
 2907:     *) Исправление: при перенаправлении запроса с помощью директивы
 2908:        error_page терялось тело запроса.
 2909: 
 2910:     *) Исправление: при перенаправлении запроса с методом HEAD с помощью
 2911:        директивы error_page возвращался полный ответ.
 2912: 
 2913:     *) Исправление: метод $r->header_in() не возвращал значения строк
 2914:        "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
 2915:        появилась в 0.7.0.
 2916: 
 2917: 
 2918: Изменения в nginx 0.7.11                                          18.08.2008
 2919: 
 2920:     *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
 2921:        MIME-типом text/css.
 2922: 
 2923:     *) Добавление: теперь nginx возвращает код 405 для метода POST при
 2924:        запросе статического файла, только если файл существует.
 2925: 
 2926:     *) Добавление: директива proxy_ssl_session_reuse.
 2927: 
 2928:     *) Исправление: после перенаправления запроса с помощью
 2929:        "X-Accel-Redirect" директива proxy_pass без URI могла использовать
 2930:        оригинальный запрос.
 2931: 
 2932:     *) Исправление: если у каталога были права доступа только на поиск
 2933:        файлов и первый индексный файл отсутствовал, то nginx возвращал
 2934:        ошибку 500.
 2935: 
 2936:     *) Исправление: ошибок во вложенных location'ах; ошибки появились в
 2937:        0.7.1.
 2938: 
 2939: 
 2940: Изменения в nginx 0.7.10                                          13.08.2008
 2941: 
 2942:     *) Исправление: ошибок в директивах addition_types, charset_types,
 2943:        gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
 2944:        появились в 0.7.9.
 2945: 
 2946:     *) Исправление: рекурсивной error_page для 500 ошибки.
 2947: 
 2948:     *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
 2949:        не для всего keepalive соединения, а для каждого запроса по этому
 2950:        соединению.
 2951: 
 2952: 
 2953: Изменения в nginx 0.7.9                                           12.08.2008
 2954: 
 2955:     *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
 2956:        следующими MIME-типами: text/html, text/css, text/xml, text/plain,
 2957:        text/vnd.wap.wml, application/x-javascript и application/rss+xml.
 2958: 
 2959:     *) Добавление: директивы charset_types и addition_types.
 2960: 
 2961:     *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
 2962:        используют хэш.
 2963: 
 2964:     *) Добавление: модуль ngx_cpp_test_module.
 2965: 
 2966:     *) Добавление: директива expires поддерживает суточное время.
 2967: 
 2968:     *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
 2969:        Спасибо Денису Латыпову и Максиму Дунину.
 2970: 
 2971:     *) Исправление: директива log_not_found не работала при поиске индексных
 2972:        файлов.
 2973: 
 2974:     *) Исправление: HTTPS-соединения могли зависнуть, если использовались
 2975:        методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
 2976: 
 2977:     *) Исправление: если в директивах server_name, valid_referers и map
 2978:        использовалась маска вида "*.domain.tld" и при этом полное имя вида
 2979:        "domain.tld" не было описано, то это имя попадало под маску; ошибка
 2980:        появилась в 0.3.18.
 2981: 
 2982: 
 2983: Изменения в nginx 0.7.8                                           04.08.2008
 2984: 
 2985:     *) Добавление: модуль ngx_http_xslt_module.
 2986: 
 2987:     *) Добавление: переменные "$arg_...".
 2988: 
 2989:     *) Добавление: поддержка directio в Solaris.
 2990:        Спасибо Ivan Debnar.
 2991: 
 2992:     *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
 2993:        в заголовке ответа без строки статуса, то nginx использует код
 2994:        статуса 302.
 2995:        Спасибо Максиму Дунину.
 2996: 
 2997: 
 2998: Изменения в nginx 0.7.7                                           30.07.2008
 2999: 
 3000:     *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
 3001:        временной.
 3002: 
 3003:     *) Изменение: значением переменной $ssl_client_cert теперь является
 3004:        сертификат, перед каждой строкой которого, кроме первой, вставляется
 3005:        символ табуляции; неизменённый сертификат доступен через переменную
 3006:        $ssl_client_raw_cert.
 3007: 
 3008:     *) Добавление: параметр ask директивы ssl_verify_client.
 3009: 
 3010:     *) Добавление: улучшения в обработке byte-range.
 3011:        Спасибо Максиму Дунину.
 3012: 
 3013:     *) Добавление: директива directio.
 3014:        Спасибо Jiang Hong.
 3015: 
 3016:     *) Добавление: поддержка sendfile() в MacOSX 10.5.
 3017: 
 3018:     *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
 3019:        делается сравнение без учёта регистра символов; однако, сравнение
 3020:        ограничено только однобайтными locale'ями.
 3021: 
 3022:     *) Исправление: соединения почтового прокси-сервера зависали в режиме
 3023:        SSL, если использовались методы select, poll или /dev/poll.
 3024: 
 3025:     *) Исправление: ошибки при использовании кодировки UTF-8 в
 3026:        ngx_http_autoindex_module.
 3027: 
 3028: 
 3029: Изменения в nginx 0.7.6                                           07.07.2008
 3030: 
 3031:     *) Исправление: теперь при использовании переменных в директиве
 3032:        access_log всегда проверяется существовании root'а для запроса.
 3033: 
 3034:     *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
 3035:        значений в аргументах запроса.
 3036: 
 3037: 
 3038: Изменения в nginx 0.7.5                                           01.07.2008
 3039: 
 3040:     *) Исправления в поддержке переменных в директиве access_log; ошибки
 3041:        появились в 0.7.4.
 3042: 
 3043:     *) Исправление: nginx не собирался с параметром
 3044:        --without-http_gzip_module; ошибка появилась в 0.7.3.
 3045:        Спасибо Кириллу Коринскому.
 3046: 
 3047:     *) Исправление: при совместном использовании sub_filter и SSI ответы
 3048:        могли передаваться неверно.
 3049: 
 3050: 
 3051: Изменения в nginx 0.7.4                                           30.06.2008
 3052: 
 3053:     *) Добавление: директива access_log поддерживает переменные.
 3054: 
 3055:     *) Добавление: директива open_log_file_cache.
 3056: 
 3057:     *) Добавление: ключ -g.
 3058: 
 3059:     *) Добавление: поддержка строки "Expect" в заголовке запроса.
 3060: 
 3061:     *) Исправление: большие включения в SSI могли передавались не полностью.
 3062: 
 3063: 
 3064: Изменения в nginx 0.7.3                                           23.06.2008
 3065: 
 3066:     *) Изменение: MIME-тип для расширения rss изменён на
 3067:        "application/rss+xml".
 3068: 
 3069:     *) Изменение: теперь директива "gzip_vary on" выдаёт строку
 3070:        "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
 3071: 
 3072:     *) Добавление: теперь при использовании протокола "https://" в директиве
 3073:        rewrite автоматически делается редирект.
 3074: 
 3075:     *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
 3076:        ошибка появилась в 0.6.9.
 3077: 
 3078: 
 3079: Изменения в nginx 0.7.2                                           16.06.2008
 3080: 
 3081:     *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
 3082: 
 3083:     *) Добавление: директива ssl_dhparam.
 3084: 
 3085:     *) Добавление: переменная $ssl_client_cert.
 3086:        Спасибо Manlio Perillo.
 3087: 
 3088:     *) Исправление: после изменения URI с помощью директивы rewrite nginx не
 3089:        искал новый location; ошибка появилась в 0.7.1.
 3090:        Спасибо Максиму Дунину.
 3091: 
 3092:     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
 3093:        в 0.7.1.
 3094: 
 3095:     *) Исправление: при редиректе запроса к каталогу с добавлением слэша
 3096:        nginx не добавлял аргументы из оригинального запроса.
 3097: 
 3098: 
 3099: Изменения в nginx 0.7.1                                           26.05.2008
 3100: 
 3101:     *) Изменение: теперь поиск location'а делается с помощью дерева.
 3102: 
 3103:     *) Изменение: директива optimize_server_names упразднена в связи с
 3104:        появлением директивы server_name_in_redirect.
 3105: 
 3106:     *) Изменение: некоторые давно устаревшие директивы больше не
 3107:        поддерживаются.
 3108: 
 3109:     *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
 3110:        параметр используется по умолчанию.
 3111:        Спасибо Rob Mueller.
 3112: 
 3113:     *) Исправление: рабочие процессы могли не реагировать на сигналы
 3114:        переконфигурации и ротации логов.
 3115: 
 3116:     *) Исправление: nginx не собирался на последних Fedora 9 Linux.
 3117:        Спасибо Roxis.
 3118: 
 3119: 
 3120: Изменения в nginx 0.7.0                                           19.05.2008
 3121: 
 3122:     *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
 3123:        записываются в виде \xXX.
 3124:        Спасибо Максиму Дунину.
 3125: 
 3126:     *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
 3127:        запроса.
 3128: 
 3129:     *) Добавление: директива expires поддерживает флаг modified.
 3130: 
 3131:     *) Добавление: переменные $uid_got и $uid_set можно использовать на
 3132:        любой стадии обработки запроса.
 3133: 
 3134:     *) Добавление: переменная $hostname.
 3135:        Спасибо Андрею Нигматулину.
 3136: 
 3137:     *) Добавление: поддержка DESTDIR.
 3138:        Спасибо Todd A. Fisher и Andras Voroskoi.
 3139: 
 3140:     *) Исправление: при использовании keepalive на Linux в рабочем процессе
 3141:        мог произойти segmentation fault.
 3142: 
 3143: 
 3144: Изменения в nginx 0.6.31                                          12.05.2008
 3145: 
 3146:     *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
 3147:        заголовка ответ была в конце записи FastCGI; ошибка появилась в
 3148:        0.6.2.
 3149:        Спасибо Сергею Серову.
 3150: 
 3151:     *) Исправление: при удалении файла и использовании директивы
 3152:        open_file_cache_errors off в рабочем процессе мог произойти
 3153:        segmentation fault.
 3154: 
 3155: 
 3156: Изменения в nginx 0.6.30                                          29.04.2008
 3157: 
 3158:     *) Изменение: теперь, если маске, заданной в директиве include, не
 3159:        соответствует ни один файл, то nginx не выдаёт ошибку.
 3160: 
 3161:     *) Добавление: теперь время в директивах можно задавать без пробела,
 3162:        например, "1h50m".
 3163: 
 3164:     *) Исправление: утечек памяти, если директива ssl_verify_client имела
 3165:        значение on.
 3166:        Спасибо Chavelle Vincent.
 3167: 
 3168:     *) Исправление: директива sub_filter могла вставлять заменяемый текст в
 3169:        вывод.
 3170: 
 3171:     *) Исправление: директива error_page не воспринимала параметры в
 3172:        перенаправляемом URI.
 3173: 
 3174:     *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
 3175:        в бинарном режиме.
 3176: 
 3177:     *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
 3178:        0.6.15.
 3179: 
 3180: 
 3181: Изменения в nginx 0.6.29                                          18.03.2008
 3182: 
 3183:     *) Добавление: модуль ngx_google_perftools_module.
 3184: 
 3185:     *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
 3186:        платформах; ошибка появилась в 0.6.27.
 3187: 
 3188: 
 3189: Изменения в nginx 0.6.28                                          13.03.2008
 3190: 
 3191:     *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
 3192: 
 3193: 
 3194: Изменения в nginx 0.6.27                                          12.03.2008
 3195: 
 3196:     *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
 3197:        rtsig.
 3198: 
 3199:     *) Изменение: теперь при перенаправлении запроса в именованный location
 3200:        с помощью директивы error_page метод запроса не изменяется.
 3201: 
 3202:     *) Добавление: директивы resolver и resolver_timeout в SMTP
 3203:        прокси-сервере.
 3204: 
 3205:     *) Добавление: директива post_action поддерживает именованные
 3206:        location'ы.
 3207: 
 3208:     *) Исправление: при перенаправлении запроса из location'а c обработчиком
 3209:        proxy, FastCGI или memcached в именованный location со статическим
 3210:        обработчиком в рабочем процессе происходил segmentation fault.
 3211: 
 3212:     *) Исправление: браузеры не повторяли SSL handshake, если при первом
 3213:        handshake не оказалось правильного клиентского сертификата.
 3214:        Спасибо Александру Инюхину.
 3215: 
 3216:     *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
 3217:        error_page без изменения кода ошибки nginx пытался выделить очень
 3218:        много памяти.
 3219: 
 3220:     *) Исправление: утечки памяти в долгоживущих небуфферизированных
 3221:        соединениях.
 3222: 
 3223:     *) Исправление: утечки памяти в resolver'е.
 3224: 
 3225:     *) Исправление: при перенаправлении запроса из location'а c обработчиком
 3226:        proxy в другой location с обработчиком proxy в рабочем процессе
 3227:        происходил segmentation fault.
 3228: 
 3229:     *) Исправление: ошибки в кэшировании переменных $proxy_host и
 3230:        $proxy_port.
 3231:        Спасибо Сергею Боченкову.
 3232: 
 3233:     *) Исправление: директива proxy_pass с переменными использовала порт,
 3234:        описанной в другой директиве proxy_pass без переменных, но с таким же
 3235:        именем хоста.
 3236:        Спасибо Сергею Боченкову.
 3237: 
 3238:     *) Исправление: во время переконфигурации на некоторых 64-битном
 3239:        платформах в лог записывался alert "sendmsg() failed (9: Bad file
 3240:        descriptor)".
 3241: 
 3242:     *) Исправление: при повторном использовании в SSI пустого block'а в
 3243:        качестве заглушки в рабочем процессе происходил segmentation fault.
 3244: 
 3245:     *) Исправление: ошибки при копировании части URI, содержащего
 3246:        экранированные символы, в аргументы.
 3247: 
 3248: 
 3249: Изменения в nginx 0.6.26                                          11.02.2008
 3250: 
 3251:     *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
 3252:        ответа.
 3253: 
 3254:     *) Исправление: при использовании большого значения в директиве expires
 3255:        в рабочем процессе происходил segmentation fault.
 3256:        Спасибо Joaquin Cuenca Abela.
 3257: 
 3258:     *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
 3259:        Спасибо Геннадию Махомеду.
 3260: 
 3261:     *) Исправление: в проксированных подзапросах и подзапросах к
 3262:        FastCGI-серверу вместо метода GET использовался оригинальный метод
 3263:        клиента.
 3264: 
 3265:     *) Исправление: утечки сокетов в режиме HTTPS при использовании
 3266:        отложенного accept'а.
 3267:        Спасибо Ben Maurer.
 3268: 
 3269:     *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
 3270:        (SSL: )"; ошибка появилась в 0.6.23.
 3271: 
 3272:     *) Исправление: при использовании HTTPS запросы могли завершаться с
 3273:        ошибкой "bad write retry"; ошибка появилась в 0.6.23.
 3274: 
 3275: 
 3276: Изменения в nginx 0.6.25                                          08.01.2008
 3277: 
 3278:     *) Изменение: вместо специального параметра "*" в директиве server_name
 3279:        теперь используется директива server_name_in_redirect.
 3280: 
 3281:     *) Изменение: в качестве основного имени в директиве server_name теперь
 3282:        можно использовать имена с масками и регулярными выражениями.
 3283: 
 3284:     *) Изменение: директива satisfy_any заменена директивой satisfy.
 3285: 
 3286:     *) Изменение: после переконфигурации старые рабочие процесс могли сильно
 3287:        нагружать процессор при запуске под Linux OpenVZ.
 3288: 
 3289:     *) Добавление: директива min_delete_depth.
 3290: 
 3291:     *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
 3292: 
 3293:     *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
 3294:        модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
 3295: 
 3296:     *) Исправление: утечки сокетов в режиме HTTPS при использовании
 3297:        отложенного accept'а.
 3298:        Спасибо Ben Maurer.
 3299: 
 3300:     *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
 3301:        в 0.6.23.
 3302: 
 3303: 
 3304: Изменения в nginx 0.6.24                                          27.12.2007
 3305: 
 3306:     *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
 3307:        segmentation fault; ошибка появилась в 0.6.23.
 3308: 
 3309: 
 3310: Изменения в nginx 0.6.23                                          27.12.2007
 3311: 
 3312:     *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
 3313:        параметр используется по умолчанию.
 3314: 
 3315:     *) Изменение: директива open_file_cache_retest переименована в
 3316:        open_file_cache_valid.
 3317: 
 3318:     *) Добавление: директива open_file_cache_min_uses.
 3319: 
 3320:     *) Добавление: модуль ngx_http_gzip_static_module.
 3321: 
 3322:     *) Добавление: директива gzip_disable.
 3323: 
 3324:     *) Добавление: директиву memcached_pass можно использовать внутри блока
 3325:        if.
 3326: 
 3327:     *) Исправление: если внутри одного location'а использовались директивы
 3328:        "memcached_pass" и "if", то в рабочем процессе происходил
 3329:        segmentation fault.
 3330: 
 3331:     *) Исправление: если при использовании директивы satisfy_any on" были
 3332:        заданы директивы не всех модулей доступа, то заданные директивы не
 3333:        проверялись.
 3334: 
 3335:     *) Исправление: параметры, заданные регулярным выражением в директиве
 3336:        valid_referers, не наследовалась с предыдущего уровня.
 3337: 
 3338:     *) Исправление: директива post_action не работала, если запрос
 3339:        завершался с кодом 499.
 3340: 
 3341:     *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
 3342:        Спасибо Ben Maurer.
 3343: 
 3344:     *) Исправление: STARTTLS в режиме SMTP не работал.
 3345:        Спасибо Олегу Мотиенко.
 3346: 
 3347:     *) Исправление: при использовании HTTPS запросы могли завершаться с
 3348:        ошибкой "bad write retry"; ошибка появилась в 0.5.13.
 3349: 
 3350: 
 3351: Изменения в nginx 0.6.22                                          19.12.2007
 3352: 
 3353:     *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
 3354:        значения, скопированные в память, выделенную perl'ом.
 3355: 
 3356:     *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
 3357:        использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
 3358:        время переконфигурации основной процесс аварийно выходил; ошибка
 3359:        появилась в 0.5.9.
 3360:        Спасибо Борису Жмурову.
 3361: 
 3362:     *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
 3363:        неверные результаты выделения в регулярных выражениях.
 3364: 
 3365:     *) Исправление: если метод $r->has_request_body() вызывался для запроса,
 3366:        у которого небольшое тело запроса было уже полностью получено, то в
 3367:        рабочем процессе происходил segmentation fault.
 3368: 
 3369:     *) Исправление: large_client_header_buffers не освобождались перед
 3370:        переходом в состояние keep-alive.
 3371:        Спасибо Олександру Штепе.
 3372: 
 3373:     *) Исправление: в переменной $upstream_addr не записывался последний
 3374:        адрес; ошибка появилась в 0.6.18.
 3375: 
 3376:     *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
 3377:        теперь она возвращает ошибку 502, которую можно направить на
 3378:        следующий сервер с помощью "fastcgi_next_upstream invalid_header".
 3379: 
 3380:     *) Исправление: при использовании директивы fastcgi_catch_stderr в
 3381:        основном процессе происходил segmentation fault; ошибка появилась в
 3382:        0.6.10.
 3383:        Спасибо Manlio Perillo.
 3384: 
 3385: 
 3386: Изменения в nginx 0.6.21                                          03.12.2007
 3387: 
 3388:     *) Изменение: если в значениях переменных директивы proxy_pass
 3389:        используются только IP-адреса, то указывать resolver не нужно.
 3390: 
 3391:     *) Исправление: при использовании директивы proxy_pass c URI-частью в
 3392:        рабочем процессе мог произойти segmentation fault; ошибка появилась в
 3393:        0.6.19.
 3394: 
 3395:     *) Исправление: если resolver использовался на платформах, не
 3396:        поддерживающих метод kqueue, то nginx выдавал alert "name is out of
 3397:        response".
 3398:        Спасибо Андрею Нигматулину.
 3399: 
 3400:     *) Исправление: При использовании переменной $server_protocol в
 3401:        FastCGI-параметрах и запросе, длина которого была близка к значению
 3402:        директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
 3403:        the request record is too big".
 3404: 
 3405:     *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
 3406:        nginx возвращал обычный ответ.
 3407: 
 3408: 
 3409: Изменения в nginx 0.6.20                                          28.11.2007
 3410: 
 3411:     *) Исправление: при использовании директивы proxy_pass c URI-частью в
 3412:        рабочем процессе мог произойти segmentation fault; ошибка появилась в
 3413:        0.6.19.
 3414: 
 3415: 
 3416: Изменения в nginx 0.6.19                                          27.11.2007
 3417: 
 3418:     *) Исправление: версия 0.6.18 не собиралась.
 3419: 
 3420: 
 3421: Изменения в nginx 0.6.18                                          27.11.2007
 3422: 
 3423:     *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
 3424:        процесса добавляет микросекунды на время старта.
 3425: 
 3426:     *) Изменение: в error_log теперь записывается полная строка запроса
 3427:        вместо только URI.
 3428: 
 3429:     *) Добавление: директива proxy_pass поддерживает переменные.
 3430: 
 3431:     *) Добавление: директивы resolver и resolver_timeout.
 3432: 
 3433:     *) Добавление: теперь директива "add_header last-modified ''" удаляет в
 3434:        заголовке ответа строку "Last-Modified".
 3435: 
 3436:     *) Исправление: директива limit_rate не позволяла передавать на полной
 3437:        скорости, даже если был указан очень большой лимит.
 3438: 
 3439: 
 3440: Изменения в nginx 0.6.17                                          15.11.2007
 3441: 
 3442:     *) Добавление: поддержка строки "If-Range" в заголовке запроса.
 3443:        Спасибо Александру Инюхину.
 3444: 
 3445:     *) Исправление: при использовании директивы msie_refresh повторно
 3446:        экранировались уже экранированные символы; ошибка появилась в 0.6.4.
 3447: 
 3448:     *) Исправление: директива autoindex не работала при использовании "alias
 3449:        /".
 3450: 
 3451:     *) Исправление: при использовании подзапросов в рабочем процессе мог
 3452:        произойти segmentation fault.
 3453: 
 3454:     *) Исправление: при использовании SSL и gzip большие ответы могли
 3455:        передаваться не полностью.
 3456: 
 3457:     *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
 3458:        то переменная $status была равна 0.
 3459: 
 3460: 
 3461: Изменения в nginx 0.6.16                                          29.10.2007
 3462: 
 3463:     *) Изменение: теперь на Linux используется uname(2) вместо procfs.
 3464:        Спасибо Илье Новикову.
 3465: 
 3466:     *) Исправление: если в директиве error_page использовался символ "?", то
 3467:        он экранировался при проксировании запроса; ошибка появилась в
 3468:        0.6.11.
 3469: 
 3470:     *) Исправление: совместимость с mget.
 3471: 
 3472: 
 3473: Изменения в nginx 0.6.15                                          22.10.2007
 3474: 
 3475:     *) Добавление: совместимость с Cygwin.
 3476:        Спасибо Владимиру Кутакову.
 3477: 
 3478:     *) Добавление: директива merge_slashes.
 3479: 
 3480:     *) Добавление: директива gzip_vary.
 3481: 
 3482:     *) Добавление: директива server_tokens.
 3483: 
 3484:     *) Исправление: nginx не раскодировал URI в команде SSI include.
 3485: 
 3486:     *) Исправление: при использовании переменной в директивах charset или
 3487:        source_charset на старте или во время переконфигурации происходил
 3488:        segmentation fault,
 3489: 
 3490:     *) Исправление: nginx возвращал ошибку 400 на запросы вида
 3491:        "GET http://www.domain.com HTTP/1.0".
 3492:        Спасибо James Oakley.
 3493: 
 3494:     *) Исправление: после перенаправления запроса с телом запроса с помощью
 3495:        директивы error_page nginx пытался снова прочитать тело запроса;
 3496:        ошибка появилась в 0.6.7.
 3497: 
 3498:     *) Исправление: в рабочем процессе происходил segmentation fault, если у
 3499:        сервера, обрабатывающему запрос, не был явно определён server_name;
 3500:        ошибка появилась в 0.6.7.
 3501: 
 3502: 
 3503: Изменения в nginx 0.6.14                                          15.10.2007
 3504: 
 3505:     *) Изменение: теперь по умолчанию команда SSI echo использует
 3506:        кодирование entity.
 3507: 
 3508:     *) Добавление: параметр encoding в команде SSI echo.
 3509: 
 3510:     *) Добавление: директиву access_log можно использовать внутри блока
 3511:        limit_except.
 3512: 
 3513:     *) Исправление: если все сервера апстрима оказывались недоступными, то
 3514:        до восстановления работоспособности у всех серверов вес становился
 3515:        равным одному; ошибка появилась в 0.6.6.
 3516: 
 3517:     *) Исправление: при использовании переменных $date_local и $date_gmt вне
 3518:        модуля ngx_http_ssi_filter_module в рабочем процессе происходил
 3519:        segmentation fault.
 3520: 
 3521:     *) Исправление: при использовании включённом отладочном логе в рабочем
 3522:        процессе мог произойти segmentation fault.
 3523:        Спасибо Андрею Нигматулину.
 3524: 
 3525:     *) Исправление: ngx_http_memcached_module не устанавливал
 3526:        $upstream_response_time.
 3527:        Спасибо Максиму Дунину.
 3528: 
 3529:     *) Исправление: рабочий процесс мог зациклиться при использовании
 3530:        memcached.
 3531: 
 3532:     *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
 3533:        строке "Connection" в заголовке запроса только, если они были в
 3534:        нижнем регистре; ошибка появилась в 0.6.11.
 3535: 
 3536:     *) Исправление: sub_filter не работал с пустой строкой замены.
 3537: 
 3538:     *) Исправление: в парсинге sub_filter.
 3539: 
 3540: 
 3541: Изменения в nginx 0.6.13                                          24.09.2007
 3542: 
 3543:     *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
 3544:        использовался autoindex
 3545:        Спасибо Arkadiusz Patyk.
 3546: 
 3547: 
 3548: Изменения в nginx 0.6.12                                          21.09.2007
 3549: 
 3550:     *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
 3551:        и smtp.
 3552: 
 3553:     *) Добавление: параметры конфигурации --without-mail_pop3_module,
 3554:        --without-mail_imap_module и --without-mail_smtp_module.
 3555: 
 3556:     *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
 3557:        ngx_mail_smtp_module.
 3558: 
 3559:     *) Исправление: wildcard в конце имени сервера не работали; ошибка
 3560:        появилась в 0.6.9.
 3561: 
 3562:     *) Исправление: при использовании разделяемой библиотеки PCRE,
 3563:        расположенной в нестандартном месте, nginx не запускался на Solaris.
 3564: 
 3565:     *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
 3566:        скрывали строки заголовка ответа с именем больше 32 символов.
 3567:        Спасибо Manlio Perillo.
 3568: 
 3569: 
 3570: Изменения в nginx 0.6.11                                          11.09.2007
 3571: 
 3572:     *) Исправление: счётчик активных соединений всегда рос при использовании
 3573:        почтового прокси-сервера.
 3574: 
 3575:     *) Исправление: если бэкенд возвращал только заголовок ответа при
 3576:        небуферизированном проксировании, то nginx закрывал соединение с
 3577:        бэкендом по таймауту.
 3578: 
 3579:     *) Исправление: nginx не поддерживал несколько строк "Connection" в
 3580:        заголовке запроса.
 3581: 
 3582:     *) Исправление: если в сервере апстрима был задан max_fails, то после
 3583:        первой же неудачной попытки вес сервера навсегда становился равным
 3584:        одному; ошибка появилась в 0.6.6.
 3585: 
 3586: 
 3587: Изменения в nginx 0.6.10                                          03.09.2007
 3588: 
 3589:     *) Добавление: директивы open_file_cache, open_file_cache_retest и
 3590:        open_file_cache_errors.
 3591: 
 3592:     *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
 3593: 
 3594:     *) Исправление: В строку заголовка ответа "Content-Type", указанную в
 3595:        методе $r->send_http_header(), не добавлялась кодировка, указанная в
 3596:        директиве charset.
 3597: 
 3598:     *) Исправление: при использовании метода /dev/poll в рабочем процессе
 3599:        мог произойти segmentation fault.
 3600: 
 3601: 
 3602: Изменения в nginx 0.6.9                                           28.08.2007
 3603: 
 3604:     *) Исправление: рабочий процесс мог зациклиться при использовании
 3605:        протокола HTTPS; ошибка появилась в 0.6.7.
 3606: 
 3607:     *) Исправление: если сервер слушал на двух адресах или портах, то nginx
 3608:        не запускался при использовании wildcard в конце имени сервера.
 3609: 
 3610:     *) Исправление: директива ip_hash могла неверно помечать сервера как
 3611:        нерабочие.
 3612: 
 3613:     *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
 3614: 
 3615: 
 3616: Изменения в nginx 0.6.8                                           20.08.2007
 3617: 
 3618:     *) Изменение: теперь nginx пытается установить директивы
 3619:        worker_priority, worker_rlimit_nofile, worker_rlimit_core,
 3620:        worker_rlimit_sigpending без привилегий root'а.
 3621: 
 3622:     *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
 3623:        запроса серверу аутентификации почтового прокси-сервера.
 3624: 
 3625:     *) Изменение: теперь nginx экранирует символ "%" в переменной
 3626:        $memcached_key.
 3627: 
 3628:     *) Исправление: при указании относительного пути к конфигурационному
 3629:        файлу в качестве параметра ключа -c nginx определял путь относительно
 3630:        конфигурационного префикса; ошибка появилась в 0.6.6.
 3631: 
 3632:     *) Исправление: nginx не работал на FreeBSD/sparc64.
 3633: 
 3634: 
 3635: Изменения в nginx 0.6.7                                           15.08.2007
 3636: 
 3637:     *) Изменение: теперь пути, указанные в директивах include,
 3638:        auth_basic_user_file, perl_modules, ssl_certificate,
 3639:        ssl_certificate_key и ssl_client_certificate, определяются
 3640:        относительно каталога конфигурационного файла nginx.conf, а не
 3641:        относительно префикса.
 3642: 
 3643:     *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
 3644: 
 3645:     *) Изменение: для обновления на лету версий 0.1.x создан специальный
 3646:        сценарий make upgrade1.
 3647: 
 3648:     *) Добавление: директивы server_name и valid_referers поддерживают
 3649:        регулярные выражения.
 3650: 
 3651:     *) Добавление: директива server в блоке upstream поддерживает параметр
 3652:        backup.
 3653: 
 3654:     *) Добавление: модуль ngx_http_perl_module поддерживает метод
 3655:        $r->discard_request_body.
 3656: 
 3657:     *) Добавление: директива "add_header Last-Modified ..." меняет строку
 3658:        "Last-Modified" в заголовке ответа.
 3659: 
 3660:     *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
 3661:        отличным от 200, и после этого запроса соединение переходило в
 3662:        состояние keep-alive, то на следующий запрос nginx возвращал 400.
 3663: 
 3664:     *) Исправление: если в директиве auth_http был задан неправильный адрес,
 3665:        то в рабочем процессе происходил segmentation fault.
 3666: 
 3667:     *) Исправление: теперь по умолчанию nginx использует значение 511 для
 3668:        listen backlog на всех платформах, кроме FreeBSD.
 3669:        Спасибо Jiang Hong.
 3670: 
 3671:     *) Исправление: рабочий процесс мог зациклиться, если server в блоке
 3672:        upstream был помечен как down; ошибка появилась в 0.6.6.
 3673: 
 3674:     *) Исправление: sendfilev() в Solaris теперь не используется при
 3675:        передаче тела запроса FastCGI-серверу через unix domain сокет.
 3676: 
 3677: 
 3678: Изменения в nginx 0.6.6                                           30.07.2007
 3679: 
 3680:     *) Добавление: параметр --sysconfdir=PATH в configure.
 3681: 
 3682:     *) Добавление: именованные location'ы.
 3683: 
 3684:     *) Добавление: переменную $args можно устанавливать с помощью set.
 3685: 
 3686:     *) Добавление: переменная $is_args.
 3687: 
 3688:     *) Исправление: равномерное распределение запросов к апстримам с
 3689:        большими весами.
 3690: 
 3691:     *) Исправление: если клиент в почтовом прокси-сервере закрывал
 3692:        соединение, то nginx мог не закрывать соединение с бэкендом.
 3693: 
 3694:     *) Исправление: при использовании одного хоста в качестве бэкендов для
 3695:        протоколов HTTP и HTTPS без явного указания портов, nginx использовал
 3696:        только один порт - 80 или 443.
 3697: 
 3698:     *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
 3699:        более ранними версиями; ошибка появилась в 0.6.4.
 3700: 
 3701: 
 3702: Изменения в nginx 0.6.5                                           23.07.2007
 3703: 
 3704:     *) Добавление: переменная $nginx_version.
 3705:        Спасибо Николаю Гречуху.
 3706: 
 3707:     *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
 3708:        IMAP.
 3709:        Спасибо Максиму Дунину.
 3710: 
 3711:     *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
 3712:        SMTP.
 3713:        Спасибо Максиму Дунину.
 3714: 
 3715:     *) Исправление: теперь nginx экранирует пробел в переменной
 3716:        $memcached_key.
 3717: 
 3718:     *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
 3719:        Спасибо Jiang Hong.
 3720: 
 3721:     *) Исправление: незначительных потенциальных ошибок.
 3722:        Спасибо Coverity's Scan.
 3723: 
 3724: 
 3725: Изменения в nginx 0.6.4                                           17.07.2007
 3726: 
 3727:     *) Безопасность: при использовании директивы msie_refresh был возможен
 3728:        XSS.
 3729:        Спасибо Максиму Богуку.
 3730: 
 3731:     *) Изменение: директивы proxy_store и fastcgi_store изменены.
 3732: 
 3733:     *) Добавление: директивы proxy_store_access и fastcgi_store_access.
 3734: 
 3735:     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
 3736:        Studio.
 3737:        Спасибо Андрею Нигматулину.
 3738: 
 3739:     *) Изменение: обход ошибки в Sun Studio 12.
 3740:        Спасибо Jiang Hong.
 3741: 
 3742: 
 3743: Изменения в nginx 0.6.3                                           12.07.2007
 3744: 
 3745:     *) Добавление: директивы proxy_store и fastcgi_store.
 3746: 
 3747:     *) Исправление: при использовании директивы auth_http_header в рабочем
 3748:        процессе мог произойти segmentation fault.
 3749:        Спасибо Максиму Дунину.
 3750: 
 3751:     *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
 3752:        не был разрешён, то в рабочем процессе происходил segmentation fault.
 3753: 
 3754:     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
 3755:        в рабочем процессе мог произойти segmentation fault.
 3756: 
 3757:     *) Исправление: в рабочем процессе мог произойти segmentation fault,
 3758:        если использовался метод eventport.
 3759: 
 3760:     *) Исправление: директивы proxy_ignore_client_abort и
 3761:        fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
 3762: 
 3763: 
 3764: Изменения в nginx 0.6.2                                           09.07.2007
 3765: 
 3766:     *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
 3767:        nginx передавал клиенту мусор в таких заголовках.
 3768: 
 3769: 
 3770: Изменения в nginx 0.6.1                                           17.06.2007
 3771: 
 3772:     *) Исправление: в парсинге SSI.
 3773: 
 3774:     *) Исправление: при использовании удалённого подзапроса в SSI
 3775:        последующий подзапрос локального файла мог отдаваться клиенту в
 3776:        неверном порядке.
 3777: 
 3778:     *) Исправление: большие включения в SSI, сохранённые во временные файлы,
 3779:        передавались не полностью.
 3780: 
 3781:     *) Исправление: значение perl'овой переменной $$ модуля
 3782:        ngx_http_perl_module было равно номеру главного процесса.
 3783: 
 3784: 
 3785: Изменения в nginx 0.6.0                                           14.06.2007
 3786: 
 3787:     *) Добавление: директивы "server_name", "map", and "valid_referers"
 3788:        поддерживают маски вида "www.example.*".
 3789: 
 3790: 
 3791: Изменения в nginx 0.5.25                                          11.06.2007
 3792: 
 3793:     *) Исправление: nginx не собирался с параметром
 3794:        --without-http_rewrite_module; ошибка появилась в 0.5.24.
 3795: 
 3796: 
 3797: Изменения в nginx 0.5.24                                          06.06.2007
 3798: 
 3799:     *) Безопасность: директива ssl_verify_client не работала, если запрос
 3800:        выполнялся по протоколу HTTP/0.9.
 3801: 
 3802:     *) Исправление: при использовании сжатия часть ответа могла передаваться
 3803:        несжатой; ошибка появилась в 0.5.23.
 3804: 
 3805: 
 3806: Изменения в nginx 0.5.23                                          04.06.2007
 3807: 
 3808:     *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
 3809:        Server Name Indication.
 3810: 
 3811:     *) Добавление: директива fastcgi_catch_stderr.
 3812:        Спасибо Николаю Гречуху, проект OWOX.
 3813: 
 3814:     *) Исправление: на Линуксе в основном процессе происходил segmentation
 3815:        fault, если два виртуальных сервера должны bind()ится к
 3816:        пересекающимся портам.
 3817: 
 3818:     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
 3819:        perl поддерживал потоки, то во время второй переконфигурации
 3820:        выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
 3821: 
 3822:     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
 3823: 
 3824: 
 3825: Изменения в nginx 0.5.22                                          29.05.2007
 3826: 
 3827:     *) Исправление: большое тело запроса могло не передаваться бэкенду;
 3828:        ошибка появилась в 0.5.21.
 3829: 
 3830: 
 3831: Изменения в nginx 0.5.21                                          28.05.2007
 3832: 
 3833:     *) Исправление: если внутри сервера описано больше примерно десяти
 3834:        location'ов, то location'ы, заданные с помощью регулярного выражения,
 3835:        могли выполняться не в том, порядке, в каком они описаны.
 3836: 
 3837:     *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
 3838:        если 33-тий по счёту или последующий бэкенд упал.
 3839:        Спасибо Антону Поварову.
 3840: 
 3841:     *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
 3842:        произойти bus error.
 3843:        Спасибо Андрею Нигматулину.
 3844: 
 3845:     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
 3846: 
 3847: 
 3848: Изменения в nginx 0.5.20                                          07.05.2007
 3849: 
 3850:     *) Добавление: директива sendfile_max_chunk.
 3851: 
 3852:     *) Добавление: переменные "$http_...", "$sent_http_..." и
 3853:        "$upstream_http_..." можно менять директивой set.
 3854: 
 3855:     *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
 3856:        рабочем процессе мог произойти segmentation fault.
 3857: 
 3858:     *) Исправление: завершающая строка multipart range ответа передавалась
 3859:        неверно.
 3860:        Спасибо Evan Miller.
 3861: 
 3862:     *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
 3863:        Studio.
 3864:        Спасибо Андрею Нигматулину.
 3865: 
 3866:     *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
 3867:        Спасибо Андрею Нигматулину.
 3868: 
 3869: 
 3870: Изменения в nginx 0.5.19                                          24.04.2007
 3871: 
 3872:     *) Изменение: значение переменной $request_time теперь записывается с
 3873:        точностью до миллисекунд.
 3874: 
 3875:     *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
 3876:        переименован в $r->flush.
 3877: 
 3878:     *) Добавление: переменная $upstream_addr.
 3879: 
 3880:     *) Добавление: директивы proxy_headers_hash_max_size и
 3881:        proxy_headers_hash_bucket_size.
 3882:        Спасибо Володымыру Костырко.
 3883: 
 3884:     *) Исправление: при использовании sendfile и limit_rate на 64-битных
 3885:        платформах нельзя было передавать файлы больше 2G.
 3886: 
 3887:     *) Исправление: при использовании sendfile на 64-битном Linux нельзя
 3888:        было передавать файлы больше 2G.
 3889: 
 3890: 
 3891: Изменения в nginx 0.5.18                                          19.04.2007
 3892: 
 3893:     *) Добавление: модуль ngx_http_sub_filter_module.
 3894: 
 3895:     *) Добавление: переменные "$upstream_http_...".
 3896: 
 3897:     *) Добавление: теперь переменные $upstream_status и
 3898:        $upstream_response_time содержат данные о всех обращениях к
 3899:        апстримам, сделанным до X-Accel-Redirect.
 3900: 
 3901:     *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
 3902:        perl не поддерживал multiplicity, то после первой переконфигурации и
 3903:        после получения любого сигнала в основном процессе происходил
 3904:        segmentation fault; ошибка появилась в 0.5.9.
 3905: 
 3906:     *) Исправление: если perl не поддерживал multiplicity, то после
 3907:        переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
 3908: 
 3909: 
 3910: Изменения в nginx 0.5.17                                          02.04.2007
 3911: 
 3912:     *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
 3913: 
 3914:     *) Добавление: теперь nginx поддерживает директиву include внутри блока
 3915:        types.
 3916: 
 3917:     *) Исправление: использование переменной $document_root в директиве root
 3918:        и alias запрещено: оно вызывало рекурсивное переполнение стека.
 3919: 
 3920:     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
 3921: 
 3922:     *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
 3923:        $uri) возвращали старое закэшированное значение.
 3924: 
 3925: 
 3926: Изменения в nginx 0.5.16                                          26.03.2007
 3927: 
 3928:     *) Исправление: в качестве ключа для хэша в директиве ip_hash не
 3929:        использовалась сеть класса С.
 3930:        Спасибо Павлу Ярковому.
 3931: 
 3932:     *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
 3933:        был указан charset и строка завершалась символом ";", то в рабочем
 3934:        процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
 3935: 
 3936:     *) Исправление: ошибки "[alert] zero size buf" при работе с
 3937:        FastCGI-сервером, если тело запроса, записанное во временный файл,
 3938:        было кратно 32K.
 3939: 
 3940:     *) Исправление: nginx не собирался на Solaris без параметра
 3941:        --with-debug; ошибка появилась в 0.5.15.
 3942: 
 3943: 
 3944: Изменения в nginx 0.5.15                                          19.03.2007
 3945: 
 3946:     *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
 3947:        SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
 3948:        Спасибо Антону Южанинову и Максиму Дунину.
 3949: 
 3950:     *) Добавление: теперь keep-alive соединения закрываются сразу же по
 3951:        получении сигнала переконфигурации.
 3952: 
 3953:     *) Изменение: директивы imap и auth переименованы соответственно в mail
 3954:        и pop3_auth.
 3955: 
 3956:     *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
 3957:        был разрешён метод APOP, то в рабочем процессе происходил
 3958:        segmentation fault.
 3959: 
 3960:     *) Исправление: при использовании директивы starttls only в протоколе
 3961:        POP3 nginx разрешал аутентификацию без перехода в режим SSL.
 3962: 
 3963:     *) Исправление: рабочие процессы не выходили после переконфигурации и не
 3964:        переоткрывали логи, если использовался метод eventport.
 3965: 
 3966:     *) Исправление: при использовании директивы ip_hash рабочий процесс мог
 3967:        зациклиться.
 3968: 
 3969:     *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
 3970:        используются методы eventport или /dev/poll.
 3971: 
 3972: 
 3973: Изменения в nginx 0.5.14                                          23.02.2007
 3974: 
 3975:     *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
 3976:        конфигурационного файла.
 3977: 
 3978: 
 3979: Изменения в nginx 0.5.13                                          19.02.2007
 3980: 
 3981:     *) Добавление: методы COPY и MOVE.
 3982: 
 3983:     *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
 3984:        запросов, переданных по keep-alive соединению.
 3985: 
 3986:     *) Исправление: nginx не работал на 64-битном big-endian Linux.
 3987:        Спасибо Андрею Нигматулину.
 3988: 
 3989:     *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
 3990:        теперь сразу закрывает соединение, а не по таймауту.
 3991: 
 3992:     *) Исправление: если при использовании метода epoll клиент закрывал
 3993:        преждевременно соединение со своей стороны, то nginx закрывал это
 3994:        соединение только по истечении таймаута на передачу.
 3995: 
 3996:     *) Исправление: nginx не собирался на платформах, отличных от i386,
 3997:        amd64, sparc и ppc; ошибка появилась в 0.5.8.
 3998: 
 3999: 
 4000: Изменения в nginx 0.5.12                                          12.02.2007
 4001: 
 4002:     *) Исправление: nginx не собирался на платформах, отличных от i386,
 4003:        amd64, sparc и ppc; ошибка появилась в 0.5.8.
 4004: 
 4005:     *) Исправление: при использовании временных файлов в время работы с
 4006:        FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
 4007:        ошибка появилась в 0.5.8.
 4008: 
 4009:     *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
 4010:        то в рабочем процессе мог произойти segmentation fault.
 4011: 
 4012:     *) Исправление: ngx_http_perl_module не собирался на Solaris.
 4013: 
 4014: 
 4015: Изменения в nginx 0.5.11                                          05.02.2007
 4016: 
 4017:     *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
 4018:        Спасибо Chris McGrath.
 4019: 
 4020:     *) Исправление: ответ был неверным, если запрашивалось несколько
 4021:        диапазонов; ошибка появилась в 0.5.6.
 4022: 
 4023:     *) Исправление: директива create_full_put_path не могла создавать
 4024:        промежуточные каталоги, если не была установлена директива
 4025:        dav_access.
 4026:        Спасибо Evan Miller.
 4027: 
 4028:     *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
 4029:        записываться код "0".
 4030: 
 4031:     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
 4032:        произойти segmentation fault.
 4033: 
 4034: 
 4035: Изменения в nginx 0.5.10                                          26.01.2007
 4036: 
 4037:     *) Исправление: во время обновления исполняемого файла новый процесс не
 4038:        наследовал слушающие сокеты; ошибка появилась в 0.5.9.
 4039: 
 4040:     *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
 4041:        произойти segmentation fault; ошибка появилась в 0.5.1.
 4042: 
 4043: 
 4044: Изменения в nginx 0.5.9                                           25.01.2007
 4045: 
 4046:     *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
 4047:        использует значение переменной $memcached_key.
 4048: 
 4049:     *) Добавление: переменная $memcached_key.
 4050: 
 4051:     *) Добавление: параметр clean в директиве client_body_in_file_only.
 4052: 
 4053:     *) Добавление: директива env.
 4054: 
 4055:     *) Добавление: директива sendfile работает внутри блока if.
 4056: 
 4057:     *) Добавление: теперь при ошибке записи в access_log nginx записывает
 4058:        сообщение в error_log, но не чаще одного раза в минуту.
 4059: 
 4060:     *) Исправление: директива "access_log off" не всегда запрещала запись в
 4061:        лог.
 4062: 
 4063: 
 4064: Изменения в nginx 0.5.8                                           19.01.2007
 4065: 
 4066:     *) Исправление: если использовалась директива
 4067:        "client_body_in_file_only on" и тело запроса было небольшое, то мог
 4068:        произойти segmentation fault.
 4069: 
 4070:     *) Исправление: происходил segmentation fault, если использовались
 4071:        директивы "client_body_in_file_only on" и
 4072:        "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
 4073:        делался переход к следующему бэкенду.
 4074: 
 4075:     *) Исправление: если при использовании директивы "proxy_buffering off"
 4076:        соединение с клиентом было неактивно, то оно закрывалось по таймауту,
 4077:        заданному директивой send_timeout; ошибка появилась в 0.4.7.
 4078: 
 4079:     *) Исправление: если при использовании метода epoll клиент закрывал
 4080:        преждевременно соединение со своей стороны, то nginx закрывал это
 4081:        соединение только по истечении таймаута на передачу.
 4082: 
 4083:     *) Исправление: ошибки "[alert] zero size buf" при работе с
 4084:        FastCGI-сервером.
 4085: 
 4086:     *) Исправление ошибок в директиве limit_zone.
 4087: 
 4088: 
 4089: Изменения в nginx 0.5.7                                           15.01.2007
 4090: 
 4091:     *) Добавление: оптимизация использования памяти в ssl_session_cache.
 4092: 
 4093:     *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
 4094: 
 4095:     *) Исправление: на старте или во время переконфигурации происходил
 4096:        segmentation fault, если директивы ssl_session_cache или limit_zone
 4097:        использовались на 64-битных платформах.
 4098: 
 4099:     *) Исправление: при использовании директив add_before_body или
 4100:        add_after_body происходил segmentation fault, если в заголовке ответа
 4101:        нет строки "Content-Type".
 4102: 
 4103:     *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
 4104:        потоков.
 4105:        Спасибо Дену Иванову.
 4106: 
 4107:     *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
 4108: 
 4109: 
 4110: Изменения в nginx 0.5.6                                           09.01.2007
 4111: 
 4112:     *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
 4113:        кроме GET, HEAD и POST.
 4114: 
 4115:     *) Добавление: модуль ngx_http_limit_zone_module.
 4116: 
 4117:     *) Добавление: переменная $binary_remote_addr.
 4118: 
 4119:     *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
 4120:        ngx_imap_ssl_module.
 4121: 
 4122:     *) Добавление: метод DELETE поддерживает рекурсивное удаление.
 4123: 
 4124:     *) Исправление: при использовании $r->sendfile() byte-ranges
 4125:        передавались неверно.
 4126: 
 4127: 
 4128: Изменения в nginx 0.5.5                                           24.12.2006
 4129: 
 4130:     *) Изменение: ключ -v больше не выводит информацию о компиляторе.
 4131: 
 4132:     *) Добавление: ключ -V.
 4133: 
 4134:     *) Добавление: директива worker_rlimit_core поддерживает указание
 4135:        размера в K, M и G.
 4136: 
 4137:     *) Исправление: модуль nginx.pm теперь может устанавливаться
 4138:        непривилегированным пользователем.
 4139: 
 4140:     *) Исправление: при использовании методов $r->request_body или
 4141:        $r->request_body_file мог произойти segmentation fault.
 4142: 
 4143:     *) Исправление: ошибок, специфичных для платформы ppc.
 4144: 
 4145: 
 4146: Изменения в nginx 0.5.4                                           15.12.2006
 4147: 
 4148:     *) Добавление: директиву perl можно использовать внутри блока
 4149:        limit_except.
 4150: 
 4151:     *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
 4152:        заголовке запроса для метода DELETE.
 4153: 
 4154:     *) Исправление: при использовании одного параметра в директиве
 4155:        dav_access nginx мог сообщить об ошибке в конфигурации.
 4156: 
 4157:     *) Исправление: при использовании переменной $host мог произойти
 4158:        segmentation fault; ошибка появилась в 0.4.14.
 4159: 
 4160: 
 4161: Изменения в nginx 0.5.3                                           13.12.2006
 4162: 
 4163:     *) Добавление: модуль ngx_http_perl_module поддерживает методы
 4164:        $r->status, $r->log_error и $r->sleep.
 4165: 
 4166:     *) Добавление: метод $r->variable поддерживает переменные, неописанные в
 4167:        конфигурации nginx'а.
 4168: 
 4169:     *) Исправление: метод $r->has_request_body не работал.
 4170: 
 4171: 
 4172: Изменения в nginx 0.5.2                                           11.12.2006
 4173: 
 4174:     *) Исправление: если в директивах proxy_pass использовалось имя,
 4175:        указанное в upstream, то nginx пытался найти IP-адрес этого имени;
 4176:        ошибка появилась в 0.5.1.
 4177: 
 4178: 
 4179: Изменения в nginx 0.5.1                                           11.12.2006
 4180: 
 4181:     *) Исправление: директива post_action могла не работать после неудачного
 4182:        завершения запроса.
 4183: 
 4184:     *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
 4185:        Спасибо Bron Gondwana.
 4186: 
 4187:     *) Исправление: при указании в директиве fastcgi_pass имени описанного
 4188:        upstream'а выдавалось сообщение "no port in upstream"; ошибка
 4189:        появилась в 0.5.0.
 4190: 
 4191:     *) Исправление: если в директивах proxy_pass и fastcgi_pass
 4192:        использовались одинаковых имена серверов, но с разными портами, то
 4193:        эти директивы использовали первый описанный порт; ошибка появилась в
 4194:        0.5.0.
 4195: 
 4196:     *) Исправление: если в директивах proxy_pass и fastcgi_pass
 4197:        использовались unix domain сокеты, то эти директивы использовали
 4198:        первый описанный сокет; ошибка появилась в 0.5.0.
 4199: 
 4200:     *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
 4201:        если он был указан в последней строке файла паролей и после пароля не
 4202:        было перевода строки, возврата каретки или символа ":".
 4203: 
 4204:     *) Исправление: переменная $upstream_response_time могла быть равна
 4205:        "0.000", хотя время обработки было больше 1 миллисекунды.
 4206: 
 4207: 
 4208: Изменения в nginx 0.5.0                                           04.12.2006
 4209: 
 4210:     *) Изменение: параметры в виде "%name" в директиве log_format больше не
 4211:        поддерживаются.
 4212: 
 4213:     *) Изменение: директивы proxy_upstream_max_fails,
 4214:        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
 4215:        fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
 4216:        memcached_upstream_fail_timeout больше не поддерживаются.
 4217: 
 4218:     *) Добавление: директива server в блоке upstream поддерживает параметры
 4219:        max_fails, fail_timeout и down.
 4220: 
 4221:     *) Добавление: директива ip_hash в блоке upstream.
 4222: 
 4223:     *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
 4224:        сервера аутентификации IMAP/POP3 прокси.
 4225: 
 4226:     *) Исправление: nginx не собирался на 64-битных платформах; ошибка
 4227:        появилась в 0.4.14.
 4228: 
 4229: 
 4230: Изменения в nginx 0.4.14                                          27.11.2006
 4231: 
 4232:     *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
 4233: 
 4234:     *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
 4235:        Linux и NetBSD.
 4236: 
 4237:     *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
 4238:        поддержкой потоков; ошибка появилась в 0.3.38.
 4239: 
 4240:     *) Исправление: ngx_http_perl_module не работал корректно, если перл
 4241:        вызывался рекурсивно.
 4242: 
 4243:     *) Исправление: nginx игнорировал имя сервера в строке запроса.
 4244: 
 4245:     *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
 4246:        процесс мог зациклиться.
 4247: 
 4248:     *) Исправление: при изменении системного времени переменная
 4249:        $upstream_response_time могла быть отрицательной.
 4250: 
 4251:     *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
 4252:        прокси не передавался параметр Auth-Login-Attempt.
 4253: 
 4254:     *) Исправление: при ошибке соединения с сервером аутентификации
 4255:        IMAP/POP3 прокси мог произойти segmentation fault.
 4256: 
 4257: 
 4258: Изменения в nginx 0.4.13                                          15.11.2006
 4259: 
 4260:     *) Добавление: директиву proxy_pass можно использовать внутри блока
 4261:        limit_except.
 4262: 
 4263:     *) Добавление: директива limit_except поддерживает все WebDAV методы.
 4264: 
 4265:     *) Исправление: при использовании директивы add_before_body без
 4266:        директивы add_after_body ответ передавался не полностью.
 4267: 
 4268:     *) Исправление: большое тело запроса не принималось, если использовались
 4269:        метод epoll и deferred accept().
 4270: 
 4271:     *) Исправление: для ответов модуля ngx_http_autoindex_module не
 4272:        выставлялась кодировка; ошибка появилась в 0.3.50.
 4273: 
 4274:     *) Исправление: ошибки "[alert] zero size buf" при работе с
 4275:        FastCGI-сервером;
 4276: 
 4277:     *) Исправление: параметр конфигурации --group= игнорировался.
 4278:        Спасибо Thomas Moschny.
 4279: 
 4280:     *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
 4281:        в 0.3.50.
 4282: 
 4283: 
 4284: Изменения в nginx 0.4.12                                          31.10.2006
 4285: 
 4286:     *) Добавление: модуль ngx_http_perl_module поддерживает метод
 4287:        $r->variable.
 4288: 
 4289:     *) Исправление: при включении в ответ большого статического файла с
 4290:        помощью SSI ответ мог передаваться не полностью.
 4291: 
 4292:     *) Исправление: nginx не убирал "#fragment" в URI.
 4293: 
 4294: 
 4295: Изменения в nginx 0.4.11                                          25.10.2006
 4296: 
 4297:     *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
 4298: 
 4299:     *) Добавление: модуль ngx_http_perl_module поддерживает метод
 4300:        $r->allow_ranges.
 4301: 
 4302:     *) Исправление: при включённой поддержке команды APOP в POP3 прокси
 4303:        могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
 4304: 
 4305: 
 4306: Изменения в nginx 0.4.10                                          23.10.2006
 4307: 
 4308:     *) Добавление: POP3 прокси поддерживает APOP.
 4309: 
 4310:     *) Исправление: при использовании методов select, poll и /dev/poll во
 4311:        время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
 4312:        нагружал процессор.
 4313: 
 4314:     *) Исправление: при использовании переменной $server_addr в директиве
 4315:        map мог произойти segmentation fault.
 4316: 
 4317:     *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
 4318:        для полных ответов; ошибка появилась в 0.4.7.
 4319: 
 4320:     *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
 4321:        0.4.9.
 4322: 
 4323: 
 4324: Изменения в nginx 0.4.9                                           13.10.2006
 4325: 
 4326:     *) Добавление: параметр set в команде SSI include.
 4327: 
 4328:     *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
 4329:        модуля nginx.pm.
 4330: 
 4331: 
 4332: Изменения в nginx 0.4.8                                           11.10.2006
 4333: 
 4334:     *) Исправление: если до команды SSI include с параметром wait
 4335:        выполнялась ещё одна команда SSI include, то параметр wait мог не
 4336:        работать.
 4337: 
 4338:     *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
 4339:        полных ответов.
 4340:        Спасибо Алексею Ковырину.
 4341: 
 4342: 
 4343: Изменения в nginx 0.4.7                                           10.10.2006
 4344: 
 4345:     *) Добавление: модуль ngx_http_flv_module.
 4346: 
 4347:     *) Добавление: переменная $request_body_file.
 4348: 
 4349:     *) Добавление: директивы charset и source_charset поддерживают
 4350:        переменные.
 4351: 
 4352:     *) Исправление: если до команды SSI include с параметром wait
 4353:        выполнялась ещё одна команда SSI include, то параметр wait мог не
 4354:        работать.
 4355: 
 4356:     *) Исправление: при использовании директивы "proxy_buffering off" или
 4357:        при работе с memcached соединения могли не закрываться по таймауту.
 4358: 
 4359:     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
 4360:        amd64, sparc64 и ppc64.
 4361: 
 4362: 
 4363: Изменения в nginx 0.4.6                                           06.10.2006
 4364: 
 4365:     *) Исправление: nginx не запускался на 64-битных платформах, отличных от
 4366:        amd64, sparc64 и ppc64.
 4367: 
 4368:     *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
 4369:        chunk'ами, если длина ответа в методе
 4370:        $r->headers_out("Content-Length", ...) была задана текстовой строкой.
 4371: 
 4372:     *) Исправление: после перенаправления ошибки с помощью директивы
 4373:        error_page любая директива модуля ngx_http_rewrite_module возвращала
 4374:        эту ошибку; ошибка появилась в 0.4.4.
 4375: 
 4376: 
 4377: Изменения в nginx 0.4.5                                           02.10.2006
 4378: 
 4379:     *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
 4380:        в 0.4.4.
 4381: 
 4382: 
 4383: Изменения в nginx 0.4.4                                           02.10.2006
 4384: 
 4385:     *) Добавление: переменная $scheme.
 4386: 
 4387:     *) Добавление: директива expires поддерживает параметр max.
 4388: 
 4389:     *) Добавление: директива include поддерживает маску "*".
 4390:        Спасибо Jonathan Dance.
 4391: 
 4392:     *) Исправление: директива return всегда изменяла код ответа,
 4393:        перенаправленного директивой error_page.
 4394: 
 4395:     *) Исправление: происходил segmentation fault, если в методе PUT
 4396:        передавалось тело нулевой длины.
 4397: 
 4398:     *) Исправление: при использовании переменных в директиве proxy_redirect
 4399:        редирект изменялся неверно.
 4400: 
 4401: 
 4402: Изменения в nginx 0.4.3                                           26.09.2006
 4403: 
 4404:     *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
 4405:        error_page.
 4406: 
 4407:     *) Добавление: поддержка Solaris 10 event ports.
 4408: 
 4409:     *) Добавление: модуль ngx_http_browser_module.
 4410: 
 4411:     *) Исправление: при перенаправлении ошибки 400 проксированному серверу
 4412:        помощью директивы error_page мог произойти segmentation fault.
 4413: 
 4414:     *) Исправление: происходил segmentation fault, если в директиве
 4415:        proxy_pass использовался unix domain сокет; ошибка появилась в
 4416:        0.3.47.
 4417: 
 4418:     *) Исправление: SSI не работал с ответами memcached и
 4419:        небуферизированными проксированными ответами.
 4420: 
 4421:     *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
 4422: 
 4423: 
 4424: Изменения в nginx 0.4.2                                           14.09.2006
 4425: 
 4426:     *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
 4427:        появилась в 0.4.1.
 4428: 
 4429: 
 4430: Изменения в nginx 0.4.1                                           14.09.2006
 4431: 
 4432:     *) Исправление: совместимость с DragonFlyBSD.
 4433:        Спасибо Павлу Назарову.
 4434: 
 4435:     *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
 4436:        файлов больше 2G.
 4437: 
 4438:     *) Добавление: теперь на Linux nginx для статических запросов использует
 4439:        флаг O_NOATIME.
 4440:        Спасибо Yusuf Goolamabbas.
 4441: 
 4442: 
 4443: Изменения в nginx 0.4.0                                           30.08.2006
 4444: 
 4445:     *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
 4446:        фазы init module в фазу HTTP postconfiguration.
 4447: 
 4448:     *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
 4449:        считывается заранее: нужно явно инициировать чтение с помощью метода
 4450:        $r->has_request_body.
 4451: 
 4452:     *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
 4453:        DECLINED.
 4454: 
 4455:     *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
 4456:        заголовка "Date" для метода PUT.
 4457: 
 4458:     *) Добавление: директива ssi работает внутри блока if.
 4459: 
 4460:     *) Исправление: происходил segmentation fault, если в директиве index
 4461:        использовалась переменные и при этом первое имя индексного файла было
 4462:        без переменных; ошибка появилась в 0.1.29.
 4463: 
 4464: 
 4465: Изменения в nginx 0.3.61                                          28.08.2006
 4466: 
 4467:     *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
 4468: 
 4469:     *) Добавление: директива msie_refresh.
 4470: 
 4471:     *) Добавление: директива recursive_error_pages.
 4472: 
 4473:     *) Исправление: директива rewrite возвращала неправильный редирект, если
 4474:        редирект включал в себя выделенные закодированные символы из
 4475:        оригинального URI.
 4476: 
 4477: 
 4478: Изменения в nginx 0.3.60                                          18.08.2006
 4479: 
 4480:     *) Исправление: во время перенаправления ошибки рабочий процесс мог
 4481:        зациклиться; ошибка появилась в 0.3.59.
 4482: 
 4483: 
 4484: Изменения в nginx 0.3.59                                          16.08.2006
 4485: 
 4486:     *) Добавление: теперь можно делать несколько перенаправлений через
 4487:        директиву error_page.
 4488: 
 4489:     *) Исправление: директива dav_access не поддерживала три параметра.
 4490: 
 4491:     *) Исправление: директива error_page не изменяла строку "Content-Type"
 4492:        после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
 4493:        в 0.3.58.
 4494: 
 4495: 
 4496: Изменения в nginx 0.3.58                                          14.08.2006
 4497: 
 4498:     *) Добавление: директива error_page поддерживает переменные.
 4499: 
 4500:     *) Изменение: теперь на Linux используется интерфейс procfs вместо
 4501:        sysctl.
 4502: 
 4503:     *) Изменение: теперь при использовании "X-Accel-Redirect" строка
 4504:        "Content-Type" наследуется из первоначального ответа.
 4505: 
 4506:     *) Исправление: директива error_page не перенаправляла ошибку 413.
 4507: 
 4508:     *) Исправление: завершающий "?" не удалял старые аргументы, если в
 4509:        переписанном URI не было новых аргументов.
 4510: 
 4511:     *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
 4512: 
 4513: 
 4514: Изменения в nginx 0.3.57                                          09.08.2006
 4515: 
 4516:     *) Добавление: переменная $ssl_client_serial.
 4517: 
 4518:     *) Исправление: в операторе "!-e" в директиве if.
 4519:        Спасибо Андриану Буданцову.
 4520: 
 4521:     *) Исправление: при проверке клиентского сертификата nginx не передавал
 4522:        клиенту информацию о требуемых сертификатах.
 4523: 
 4524:     *) Исправление: переменная $document_root не поддерживала переменные в
 4525:        директиве root.
 4526: 
 4527: 
 4528: Изменения в nginx 0.3.56                                          04.08.2006
 4529: 
 4530:     *) Добавление: директива dav_access.
 4531: 
 4532:     *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
 4533:        "!-e", "-x" и "!-x".
 4534: 
 4535:     *) Исправление: при записи в access_log некоторых передаваемых клиенту
 4536:        строк заголовков происходил segmentation fault, если запрос возвращал
 4537:        редирект.
 4538: 
 4539: 
 4540: Изменения в nginx 0.3.55                                          28.07.2006
 4541: 
 4542:     *) Добавление: параметр stub в команде SSI include.
 4543: 
 4544:     *) Добавление: команда SSI block.
 4545: 
 4546:     *) Добавление: скрипт unicode2nginx добавлен в contrib.
 4547: 
 4548:     *) Исправление: если root был задан только переменной, то корень
 4549:        задавался относительно префикса сервера.
 4550: 
 4551:     *) Исправление: если в запросе был "//" или "/.", и после этого
 4552:        закодированные символы в виде "%XX", то проксируемый запрос
 4553:        передавался незакодированным.
 4554: 
 4555:     *) Исправление: метод $r->header_in("Cookie") модуля
 4556:        ngx_http_perl_module теперь возвращает все строки "Cookie" в
 4557:        заголовке запроса.
 4558: 
 4559:     *) Исправление: происходил segmentation fault, если использовался
 4560:        "client_body_in_file_only on" и делался переход к следующему бэкенду.
 4561: 
 4562:     *) Исправление: при некоторых условиях во время переконфигурации коды
 4563:        символов внутри директивы charset_map могли считаться неверными;
 4564:        ошибка появилась в 0.3.50.
 4565: 
 4566: 
 4567: Изменения в nginx 0.3.54                                          11.07.2006
 4568: 
 4569:     *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
 4570: 
 4571:     *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
 4572:        memcached_next_upstream поддерживают параметр off.
 4573: 
 4574:     *) Добавление: директива debug_connection поддерживает запись адресов в
 4575:        формате CIDR.
 4576: 
 4577:     *) Исправление: при перекодировании ответа проксированного сервера или
 4578:        сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
 4579:        полностью.
 4580: 
 4581:     *) Исправление: переменная $upstream_response_time содержала время
 4582:        только первого обращения к бэкенду.
 4583: 
 4584:     *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
 4585:        в 0.3.53.
 4586: 
 4587: 
 4588: Изменения в nginx 0.3.53                                          07.07.2006
 4589: 
 4590:     *) Изменение: директива add_header добавляет строки в ответы с кодом
 4591:        204, 301 и 302.
 4592: 
 4593:     *) Добавление: директива server в блоке upstream поддерживает параметр
 4594:        weight.
 4595: 
 4596:     *) Добавление: директива server_name поддерживает маску "*".
 4597: 
 4598:     *) Добавление: nginx поддерживает тело запроса больше 2G.
 4599: 
 4600:     *) Исправление: если при использовании "satisfy_any on" клиент успешно
 4601:        проходил аутентификацию, в лог всё равно записалоcь сообщение "access
 4602:        forbidden by rule".
 4603: 
 4604:     *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
 4605:        409.
 4606: 
 4607:     *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
 4608:        ошибку, nginx продолжал проксирование.
 4609: 
 4610: 
 4611: Изменения в nginx 0.3.52                                          03.07.2006
 4612: 
 4613:     *) Изменение: восстановлено поведение модуля ngx_http_index_module для
 4614:        запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
 4615:        ошибку 405.
 4616: 
 4617:     *) Исправление: при использовании ограничения скорости рабочий процесс
 4618:        мог зациклиться; ошибка появилась в 0.3.37.
 4619: 
 4620:     *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
 4621:        "unknown charset", даже если перекодировка не требовалась; ошибка
 4622:        появилась в 0.3.50.
 4623: 
 4624:     *) Исправление: если в результате запроса PUT возвращался код 409, то
 4625:        временный файл не удалялся.
 4626: 
 4627: 
 4628: Изменения в nginx 0.3.51                                          30.06.2006
 4629: 
 4630:     *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
 4631:        ошибка появилась в 0.3.50.
 4632: 
 4633: 
 4634: Изменения в nginx 0.3.50                                          28.06.2006
 4635: 
 4636:     *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
 4637:        переименованы соответственно в proxy_intercept_errors и
 4638:        fastcgi_intercept_errors.
 4639: 
 4640:     *) Добавление: модуль ngx_http_charset_module поддерживает
 4641:        перекодирование из однобайтных кодировок в UTF-8 и обратно.
 4642: 
 4643:     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
 4644:        "X-Accel-Charset" в ответе бэкенда.
 4645: 
 4646:     *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
 4647:        только если также использовался символ "$".
 4648: 
 4649:     *) Исправление: при некоторых условиях в SSI после вставки могла быть
 4650:        добавлена строка "<!--".
 4651: 
 4652:     *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
 4653:        то при использовании небуферизированного проксировании не закрывалось
 4654:        соединение с клиентом.
 4655: 
 4656: 
 4657: Изменения в nginx 0.3.49                                          31.05.2006
 4658: 
 4659:     *) Исправление: в директиве set.
 4660: 
 4661:     *) Исправление: при включении в ssi двух и более подзапросов,
 4662:        обрабатываемых через FastCGI, вместо вывода второго и остальных
 4663:        подзапросов в ответ включался вывод первого подзапроса.
 4664: 
 4665: 
 4666: Изменения в nginx 0.3.48                                          29.05.2006
 4667: 
 4668:     *) Изменение: теперь модуль ngx_http_charset_module работает для
 4669:        подзапросов, в ответах которых нет строки заголовка "Content-Type".
 4670: 
 4671:     *) Исправление: если в директиве proxy_pass не было URI, то директива
 4672:        "proxy_redirect default" добавляла в переписанный редирект в начало
 4673:        лишний слэш.
 4674: 
 4675:     *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
 4676:        GET, теперь это делается только для редиректов, выполняемых с помощью
 4677:        X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
 4678:        0.3.42.
 4679: 
 4680:     *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
 4681:        с поддержкой потоков; ошибка появилась в 0.3.46.
 4682: 
 4683: 
 4684: Изменения в nginx 0.3.47                                          23.05.2006
 4685: 
 4686:     *) Добавление: директива upstream.
 4687: 
 4688:     *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
 4689:        всегда убирается.
 4690: 
 4691: 
 4692: Изменения в nginx 0.3.46                                          11.05.2006
 4693: 
 4694:     *) Добавление: директивы proxy_hide_header, proxy_pass_header,
 4695:        fastcgi_hide_header и fastcgi_pass_header.
 4696: 
 4697:     *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
 4698:        proxy_pass_server упразднены.
 4699: 
 4700:     *) Добавление: в режиме прокси поддерживается строка заголовка
 4701:        "X-Accel-Buffering" в ответе бэкенда.
 4702: 
 4703:     *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
 4704:        ngx_http_perl_module.
 4705: 
 4706: 
 4707: Изменения в nginx 0.3.45                                          06.05.2006
 4708: 
 4709:     *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
 4710:        ssl_client_certificate.
 4711: 
 4712:     *) Изменение: теперь переменная $request_method возвращает метод только
 4713:        основного запроса.
 4714: 
 4715:     *) Изменение: в таблице перекодировки koi-win изменены коды символа
 4716:        &deg;.
 4717: 
 4718:     *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
 4719:        номера.
 4720: 
 4721:     *) Исправление: если nginx распределял запросы на несколько машин, то
 4722:        при падении одной из них запросы, предназначенные для этой машины,
 4723:        перенаправлялись только на одну машину вместо того, чтобы равномерно
 4724:        распределяться между остальными.
 4725: 
 4726: 
 4727: Изменения в nginx 0.3.44                                          04.05.2006
 4728: 
 4729:     *) Добавление: параметр wait в команде SSI include.
 4730: 
 4731:     *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
 4732:        белорусские символы.
 4733: 
 4734:     *) Исправление: в SSI.
 4735: 
 4736: 
 4737: Изменения в nginx 0.3.43                                          26.04.2006
 4738: 
 4739:     *) Исправление: в SSI.
 4740: 
 4741: 
 4742: Изменения в nginx 0.3.42                                          26.04.2006
 4743: 
 4744:     *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
 4745: 
 4746:     *) Исправление: ошибки при использовании в директиве rewrite одного и
 4747:        того же выделения более одного раза.
 4748: 
 4749:     *) Исправление: в лог не записывались переменные
 4750:        $sent_http_content_type, $sent_http_content_length,
 4751:        $sent_http_last_modified, $sent_http_connection,
 4752:        $sent_http_keep_alive и $sent_http_transfer_encoding.
 4753: 
 4754:     *) Исправление: переменная $sent_http_cache_control возвращала
 4755:        содержимое только одной строки "Cache-Control" в заголовке ответа.
 4756: 
 4757: 
 4758: Изменения в nginx 0.3.41                                          21.04.2006
 4759: 
 4760:     *) Добавление: ключ -v.
 4761: 
 4762:     *) Исправление: при включении в SSI удалённых подзапросов мог произойти
 4763:        segmentation fault.
 4764: 
 4765:     *) Исправление: в обработке FastCGI.
 4766: 
 4767:     *) Исправление: если путь к перловым модулям не был указан с помощью
 4768:        --with-perl_modules_path=PATH или директивы perl_modules, то на
 4769:        старте происходил segmentation fault.
 4770: 
 4771: 
 4772: Изменения в nginx 0.3.40                                          19.04.2006
 4773: 
 4774:     *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
 4775: 
 4776:     *) Добавление: директива create_full_put_path.
 4777: 
 4778:     *) Добавление: переменная $limit_rate.
 4779: 
 4780: 
 4781: Изменения в nginx 0.3.39                                          17.04.2006
 4782: 
 4783:     *) Добавление: директива uninitialized_variable_warn; уровень
 4784:        логгирования сообщения о неинициализированной переменной понижен с
 4785:        уровня alert на warn.
 4786: 
 4787:     *) Добавление: директива override_charset.
 4788: 
 4789:     *) Изменение: при использовании неизвестной переменной в SSI-командах
 4790:        echo и if expr='$name' теперь не записывается в лог сообщение о
 4791:        неизвестной переменной.
 4792: 
 4793:     *) Исправление: счётчик активных соединений рос при превышении лимита
 4794:        соединений, заданного директивой worker_connections; ошибка появилась
 4795:        в 0.2.0.
 4796: 
 4797:     *) Исправление: при некоторых условия ограничение скорости соединения
 4798:        могло не работать; ошибка появилась в 0.3.38.
 4799: 
 4800: 
 4801: Изменения в nginx 0.3.38                                          14.04.2006
 4802: 
 4803:     *) Добавление: модуль ngx_http_dav_module.
 4804: 
 4805:     *) Изменение: оптимизация модуля ngx_http_perl_module.
 4806:        Спасибо Сергею Скворцову.
 4807: 
 4808:     *) Добавление: модуль ngx_http_perl_module поддерживает метод
 4809:        $r->request_body_file.
 4810: 
 4811:     *) Добавление: директива client_body_in_file_only.
 4812: 
 4813:     *) Изменение: теперь при переполнении диска nginx пытается писать
 4814:        access_log'и только раз в секунду.
 4815:        Спасибо Антону Южанинову и Максиму Дунину.
 4816: 
 4817:     *) Исправление: теперь директива limit_rate точнее ограничивает скорость
 4818:        при значениях больше 100 Kbyte/s.
 4819:        Спасибо ForJest.
 4820: 
 4821:     *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
 4822:        символы "\r" и "\n" в логине и пароле в закодированном виде.
 4823:        Спасибо Максиму Дунину.
 4824: 
 4825: 
 4826: Изменения в nginx 0.3.37                                          07.04.2006
 4827: 
 4828:     *) Добавление: директива limit_except.
 4829: 
 4830:     *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
 4831:        "!-f".
 4832: 
 4833:     *) Добавление: модуль ngx_http_perl_module поддерживает метод
 4834:        $r->request_body.
 4835: 
 4836:     *) Исправление: в модуле ngx_http_addition_filter_module.
 4837: 
 4838: 
 4839: Изменения в nginx 0.3.36                                          05.04.2006
 4840: 
 4841:     *) Добавление: модуль ngx_http_addition_filter_module.
 4842: 
 4843:     *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
 4844:        внутри блока if.
 4845: 
 4846:     *) Добавление: директивы proxy_ignore_client_abort и
 4847:        fastcgi_ignore_client_abort.
 4848: 
 4849:     *) Добавление: переменная $request_completion.
 4850: 
 4851:     *) Добавление: модуль ngx_http_perl_module поддерживает методы
 4852:        $r->request_method и $r->remote_addr.
 4853: 
 4854:     *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
 4855: 
 4856:     *) Исправление: строка "\/" в начале выражения команды if модуля
 4857:        ngx_http_ssi_module воспринималась неверно.
 4858: 
 4859:     *) Исправление: в использовании регулярных выражениях в команде if
 4860:        модуля ngx_http_ssi_module.
 4861: 
 4862:     *) Исправление: при задании относительного пути в директивах
 4863:        client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
 4864:        perl_modules использовался каталог относительно текущего каталога, а
 4865:        не относительно префикса сервера.
 4866: 
 4867: 
 4868: Изменения в nginx 0.3.35                                          22.03.2006
 4869: 
 4870:     *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
 4871:        для первой директивы listen; ошибка появилась в 0.3.31.
 4872: 
 4873:     *) Исправление: в директиве proxy_pass без URI при использовании в
 4874:        подзапросе.
 4875: 
 4876: 
 4877: Изменения в nginx 0.3.34                                          21.03.2006
 4878: 
 4879:     *) Добавление: директива add_header поддерживает переменные.
 4880: 
 4881: 
 4882: Изменения в nginx 0.3.33                                          15.03.2006
 4883: 
 4884:     *) Добавление: параметр http_503 в директивах proxy_next_upstream или
 4885:        fastcgi_next_upstream.
 4886: 
 4887:     *) Исправление: ngx_http_perl_module не работал со встроенным в
 4888:        конфигурационный файл кодом, если он не начинался сразу же с "sub".
 4889: 
 4890:     *) Исправление: в директиве post_action.
 4891: 
 4892: 
 4893: Изменения в nginx 0.3.32                                          11.03.2006
 4894: 
 4895:     *) Исправление: удаление отладочного логгирования на старте и при
 4896:        переконфигурации; ошибка появилась в 0.3.31.
 4897: 
 4898: 
 4899: Изменения в nginx 0.3.31                                          10.03.2006
 4900: 
 4901:     *) Изменение: теперь nginx передаёт неверные ответы проксированного
 4902:        бэкенда.
 4903: 
 4904:     *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
 4905: 
 4906:     *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
 4907: 
 4908:     *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
 4909:        64-битном ядре MacOSX.
 4910:        Спасибо Андрею Нигматулину.
 4911: 
 4912:     *) Исправление: если внутри одного сервера описаны несколько директив
 4913:        listen, слушающих на разных адресах, то имена серверов вида
 4914:        "*.domain.tld" работали только для первого адреса; ошибка появилась в
 4915:        0.3.18.
 4916: 
 4917:     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
 4918:        не передавались запросы с телом, записанным во временный файл.
 4919: 
 4920:     *) Исправление: совместимость с perl 5.8.8.
 4921: 
 4922: 
 4923: Изменения в nginx 0.3.30                                          22.02.2006
 4924: 
 4925:     *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
 4926:        с уровня crit.
 4927: 
 4928:     *) Исправление: модуль ngx_http_perl_module не собирался без модуля
 4929:        ngx_http_ssi_filter_module.
 4930: 
 4931:     *) Исправление: nginx не собирался на i386 платформе, если использовался
 4932:        PIC; ошибка появилась в 0.3.27.
 4933: 
 4934: 
 4935: Изменения в nginx 0.3.29                                          20.02.2006
 4936: 
 4937:     *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
 4938:        FastCGI передаёт большое количество предупреждений перед ответом.
 4939: 
 4940:     *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
 4941:        строка заголовка "Transfer-Encoding: chunked".
 4942: 
 4943:     *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
 4944:        передавал полные строки заголовка ответа в отдельных FastCGI записях.
 4945: 
 4946:     *) Исправление: если в директиве post_action был указан проксируемый
 4947:        URI, то он выполнялся только после успешного завершения запроса.
 4948: 
 4949: 
 4950: Изменения в nginx 0.3.28                                          16.02.2006
 4951: 
 4952:     *) Добавление: директива restrict_host_names упразднена.
 4953: 
 4954:     *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
 4955: 
 4956:     *) Исправление: при некоторых условиях проксированное соединение с
 4957:        клиентом завершалось преждевременно.
 4958:        Спасибо Владимиру Шутову.
 4959: 
 4960:     *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
 4961:        запросов, перенаправленных с помощью строки "X-Accel-Redirect".
 4962: 
 4963:     *) Исправление: директива post_action работала только после успешного
 4964:        завершения запроса.
 4965: 
 4966:     *) Исправление: тело проксированного ответа, создаваемого директивой
 4967:        post_action, передавалось клиенту.
 4968: 
 4969: 
 4970: Изменения в nginx 0.3.27                                          08.02.2006
 4971: 
 4972:     *) Изменение: директивы variables_hash_max_size и
 4973:        variables_hash_bucket_size.
 4974: 
 4975:     *) Добавление: переменная $body_bytes_sent доступна не только в
 4976:        директиве log_format.
 4977: 
 4978:     *) Добавление: переменные $ssl_protocol и $ssl_cipher.
 4979: 
 4980:     *) Добавление: определение размера строки кэша распространённых
 4981:        процессоров при старте.
 4982: 
 4983:     *) Добавление: директива accept_mutex теперь поддерживается посредством
 4984:        fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
 4985: 
 4986:     *) Добавление: директива lock_file и параметр автоконфигурации
 4987:        --with-lock-path=PATH.
 4988: 
 4989:     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
 4990:        не передавались запросы с телом.
 4991: 
 4992: 
 4993: Изменения в nginx 0.3.26                                          03.02.2006
 4994: 
 4995:     *) Изменение: директива optimize_host_names переименована в
 4996:        optimize_server_names.
 4997: 
 4998:     *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
 4999:        URI основного запроса, если в директиве proxy_pass отсутствовал URI.
 5000: 
 5001: 
 5002: Изменения в nginx 0.3.25                                          01.02.2006
 5003: 
 5004:     *) Исправление: при неверной конфигурации на старте или во время
 5005:        переконфигурации происходил segmentation fault; ошибка появилась в
 5006:        0.3.24.
 5007: 
 5008: 
 5009: Изменения в nginx 0.3.24                                          01.02.2006
 5010: 
 5011:     *) Изменение: обход ошибки в kqueue во FreeBSD.
 5012: 
 5013:     *) Исправление: ответ, создаваемый директивой post_action, теперь не
 5014:        передаётся клиенту.
 5015: 
 5016:     *) Исправление: при использовании большого количества лог-файлов
 5017:        происходила утечка памяти.
 5018: 
 5019:     *) Исправление: внутри одного location работала только первая директива
 5020:        proxy_redirect.
 5021: 
 5022:     *) Исправление: на 64-битных платформах при старте мог произойти
 5023:        segmentation fault, если использовалось большое количество имён в
 5024:        директивах server_name; ошибка появилась в 0.3.18.
 5025: 
 5026: 
 5027: Изменения в nginx 0.3.23                                          24.01.2006
 5028: 
 5029:     *) Добавление: директива optimize_host_names.
 5030: 
 5031:     *) Исправление: ошибки при использовании переменных в директивах path и
 5032:        alias.
 5033: 
 5034:     *) Исправление: модуль ngx_http_perl_module неправильно собирался на
 5035:        Linux и Solaris.
 5036: 
 5037: 
 5038: Изменения в nginx 0.3.22                                          17.01.2006
 5039: 
 5040:     *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
 5041:        и $r->unescape.
 5042: 
 5043:     *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
 5044:        упразднён.
 5045: 
 5046:     *) Исправление: если в директиве valid_referers указаны только none или
 5047:        blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
 5048: 
 5049: 
 5050: Изменения в nginx 0.3.21                                          16.01.2006
 5051: 
 5052:     *) Добавление: модуль ngx_http_perl_module.
 5053: 
 5054:     *) Изменение: директива valid_referers разрешает использовать рефереры
 5055:        совсем без URI.
 5056: 
 5057: 
 5058: Изменения в nginx 0.3.20                                          11.01.2006
 5059: 
 5060:     *) Исправление: ошибки в обработке SSI.
 5061: 
 5062:     *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
 5063:        виде /uri?args.
 5064: 
 5065: 
 5066: Изменения в nginx 0.3.19                                          28.12.2005
 5067: 
 5068:     *) Добавление: директивы path и alias поддерживают переменные.
 5069: 
 5070:     *) Изменение: теперь директива valid_referers опять учитывает URI.
 5071: 
 5072:     *) Исправление: ошибки в обработке SSI.
 5073: 
 5074: 
 5075: Изменения в nginx 0.3.18                                          26.12.2005
 5076: 
 5077:     *) Добавление: директива server_names поддерживает имена вида
 5078:        ".domain.tld".
 5079: 
 5080:     *) Добавление: директива server_names использует хэш для имён вида
 5081:        "*.domain.tld" и более эффективный хэш для обычных имён.
 5082: 
 5083:     *) Изменение: директивы server_names_hash_max_size и
 5084:        server_names_hash_bucket_size.
 5085: 
 5086:     *) Изменение: директивы server_names_hash и server_names_hash_threshold
 5087:        упразднены.
 5088: 
 5089:     *) Добавление: директива valid_referers использует хэш для имён сайтов.
 5090: 
 5091:     *) Изменение: теперь директива valid_referers проверяет только имена
 5092:        сайтов без учёта URI.
 5093: 
 5094:     *) Исправление: некоторые имена вида ".domain.tld" неверно
 5095:        обрабатывались модулем ngx_http_map_module.
 5096: 
 5097:     *) Исправление: если конфигурационного файла не было, то происходил
 5098:        segmentation fault; ошибка появилась в 0.3.12.
 5099: 
 5100:     *) Исправление: на 64-битных платформах при старте мог произойти
 5101:        segmentation fault; ошибка появилась в 0.3.16.
 5102: 
 5103: 
 5104: Изменения в nginx 0.3.17                                          18.12.2005
 5105: 
 5106:     *) Изменение: на Linux configure теперь проверяет наличие epoll и
 5107:        sendfile64() в ядре.
 5108: 
 5109:     *) Добавление: директива map поддерживает доменные имена в формате
 5110:        ".domain.tld".
 5111: 
 5112:     *) Исправление: во время SSL handshake не иcпользовались таймауты;
 5113:        ошибка появилась в 0.2.4.
 5114: 
 5115:     *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
 5116: 
 5117:     *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
 5118:        по умолчанию использовался порт 80.
 5119: 
 5120: 
 5121: Изменения в nginx 0.3.16                                          16.12.2005
 5122: 
 5123:     *) Добавление: модуль ngx_http_map_module.
 5124: 
 5125:     *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
 5126: 
 5127:     *) Добавление: директива ssi_value_length.
 5128: 
 5129:     *) Добавление: директива worker_rlimit_core.
 5130: 
 5131:     *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
 5132:        Pentium 4 номер соединения в логах всегда был равен 1.
 5133: 
 5134:     *) Исправление: команда config timefmt в SSI задавала неверный формат
 5135:        времени.
 5136: 
 5137:     *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
 5138:        использовании SSL соединений; ошибка появилась в 0.3.13.
 5139:        Спасибо Rob Mueller.
 5140: 
 5141:     *) Исправление: segmentation fault мог произойти во время SSL shutdown;
 5142:        ошибка появилась в 0.3.13.
 5143: 
 5144: 
 5145: Изменения в nginx 0.3.15                                          07.12.2005
 5146: 
 5147:     *) Добавление: новой код 444 в директиве return для закрытия соединения.
 5148: 
 5149:     *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
 5150: 
 5151:     *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
 5152:        соединений только при планом выходе и включённой директиве
 5153:        debug_points.
 5154: 
 5155: 
 5156: Изменения в nginx 0.3.14                                          05.12.2005
 5157: 
 5158:     *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
 5159:        в 0.3.13.
 5160: 
 5161: 
 5162: Изменения в nginx 0.3.13                                          05.12.2005
 5163: 
 5164:     *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
 5165: 
 5166:     *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
 5167:        /dev/poll.
 5168: 
 5169:     *) Исправление: ошибки в обработке SSI.
 5170: 
 5171:     *) Исправление: sendfilev() в Solaris теперь не используется при
 5172:        передаче тела запроса FastCGI-серверу через unix domain сокет.
 5173: 
 5174:     *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
 5175:        появилась в 0.3.11.
 5176: 
 5177: 
 5178: Изменения в nginx 0.3.12                                          26.11.2005
 5179: 
 5180:     *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
 5181:        то при использовании директивы "satisfy_any on" директивы доступа и
 5182:        аутентификации не работали. Модуль ngx_http_realip_module не
 5183:        собирался и не собирается по умолчанию.
 5184: 
 5185:     *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
 5186: 
 5187:     *) Изменение: директивы proxy_header_buffer_size и
 5188:        fastcgi_header_buffer_size переименованы соответственно в
 5189:        proxy_buffer_size и fastcgi_buffer_size.
 5190: 
 5191:     *) Добавление: модуль ngx_http_memcached_module.
 5192: 
 5193:     *) Добавление: директива proxy_buffering.
 5194: 
 5195:     *) Исправление: изменение в работе с accept mutex при использовании
 5196:        метода rtsig; ошибка появилась в 0.3.0.
 5197: 
 5198:     *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
 5199:        в заголовке запроса, то nginx теперь выдаёт ошибку 411.
 5200: 
 5201:     *) Исправление: при наследовании директивы auth_basic с уровня http в
 5202:        строке "WWW-Authenticate" заголовка ответа выводился realm без текста
 5203:        "Basic realm".
 5204: 
 5205:     *) Исправление: если в директиве access_log был явно указан формат
 5206:        combined, то в лог записывались пустые строки; ошибка появилась в
 5207:        0.3.8.
 5208: 
 5209:     *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
 5210:        Solaris.
 5211: 
 5212:     *) Исправление: в директиве if теперь не нужно разделять пробелом строку
 5213:        в кавычках и закрывающую скобку.
 5214: 
 5215: 
 5216: Изменения в nginx 0.3.11                                          15.11.2005
 5217: 
 5218:     *) Исправление: nginx не передавал при проксировании тело запроса и
 5219:        строки заголовка клиента; ошибка появилась в 0.3.10.
 5220: 
 5221: 
 5222: Изменения в nginx 0.3.10                                          15.11.2005
 5223: 
 5224:     *) Изменение: директива valid_referers и переменная $invalid_referer
 5225:        перенесены из модуля ngx_http_rewrite_module в новый модуль
 5226:        ngx_http_referer_module.
 5227: 
 5228:     *) Изменение: имя переменной "$apache_bytes_sent" изменено на
 5229:        "$body_bytes_sent".
 5230: 
 5231:     *) Добавление: переменные "$sent_http_...".
 5232: 
 5233:     *) Добавление: директива if поддерживает операции "=" и "!=".
 5234: 
 5235:     *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
 5236: 
 5237:     *) Добавление: директива proxy_set_body.
 5238: 
 5239:     *) Добавление: директива post_action.
 5240: 
 5241:     *) Добавление: модуль ngx_http_empty_gif_module.
 5242: 
 5243:     *) Добавление: директива worker_cpu_affinity для Linux.
 5244: 
 5245:     *) Исправление: директива rewrite не раскодировала символы в редиректах
 5246:        в URI, теперь символы раскодируются, кроме символов %00-%25 и
 5247:        %7F-%FF.
 5248: 
 5249:     *) Исправление: nginx не собирался компилятором icc 9.0.
 5250: 
 5251:     *) Исправление: если для статического файла нулевого размера был
 5252:        разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
 5253: 
 5254: 
 5255: Изменения в nginx 0.3.9                                           10.11.2005
 5256: 
 5257:     *) Исправление: nginx считал небезопасными URI, в которых между двумя
 5258:        слэшами находилось два любых символа; ошибка появилась в 0.3.8.
 5259: 
 5260: 
 5261: Изменения в nginx 0.3.8                                           09.11.2005
 5262: 
 5263:     *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
 5264:        строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
 5265:        наличие путей "/../" и нулей.
 5266: 
 5267:     *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
 5268:        строке "Authorization" в заголовке запроса.
 5269: 
 5270:     *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
 5271:        и ngx_imap_ssl_module.
 5272: 
 5273:     *) Добавление: директива auth_http_header модуля
 5274:        ngx_imap_auth_http_module.
 5275: 
 5276:     *) Добавление: директива add_header.
 5277: 
 5278:     *) Добавление: модуль ngx_http_realip_module.
 5279: 
 5280:     *) Добавление: новые переменные для использования в директиве
 5281:        log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
 5282:        $uri, $request_time, $request_length, $upstream_status,
 5283:        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
 5284:        $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
 5285:        упразднены.
 5286: 
 5287:     *) Изменение: в директиве "if" ложными значениями переменных теперь
 5288:        являются пустая строка "" и строки, начинающиеся на "0".
 5289: 
 5290:     *) Исправление: при работает с проксированными или FastCGI-серверами
 5291:        nginx мог оставлять открытыми соединения и временные файлы с
 5292:        запросами клиентов.
 5293: 
 5294:     *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
 5295:        плавном выходе.
 5296: 
 5297:     *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
 5298:        запрос проксировался в location, заданном регулярным выражением, то
 5299:        бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
 5300: 
 5301:     *) Исправление: директива expires не удаляла уже установленную строку
 5302:        заголовка "Expires".
 5303: 
 5304:     *) Исправление: при использовании метода rtsig и нескольких рабочих
 5305:        процессах nginx мог перестать принимать запросы.
 5306: 
 5307:     *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
 5308:        "\'".
 5309: 
 5310:     *) Исправление: если ответ заканчивался сразу же после SSI команды, то
 5311:        при использовании сжатия ответ передавался не до конца или не
 5312:        передавался вообще.
 5313: 
 5314: 
 5315: Изменения в nginx 0.3.7                                           27.10.2005
 5316: 
 5317:     *) Добавление: директива access_log поддерживает параметр buffer=.
 5318: 
 5319:     *) Исправление: nginx не собирался на платформах, отличных от i386,
 5320:        amd64, sparc и ppc; ошибка появилась в 0.3.2.
 5321: 
 5322: 
 5323: Изменения в nginx 0.3.6                                           24.10.2005
 5324: 
 5325:     *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
 5326:        пустой логин.
 5327: 
 5328:     *) Добавление: директива log_format поддерживает переменные в виде
 5329:        $name.
 5330: 
 5331:     *) Исправление: если хотя бы в одном сервере не было описано ни одной
 5332:        директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
 5333:        0.3.3.
 5334: 
 5335:     *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
 5336:        использовался порт 80.
 5337: 
 5338: 
 5339: Изменения в nginx 0.3.5                                           21.10.2005
 5340: 
 5341:     *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
 5342:        мог произойти segmentation fault; ошибка появилась в 0.2.2.
 5343: 
 5344:     *) Исправление: accept mutex не работал, все соединения обрабатывались
 5345:        одним рабочим процессом; ошибка появилась в 0.3.3.
 5346: 
 5347:     *) Исправление: при использовании метода rtsig и директивы
 5348:        timer_resolution не работали таймауты.
 5349: 
 5350: 
 5351: Изменения в nginx 0.3.4                                           19.10.2005
 5352: 
 5353:     *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
 5354:        появилась в 0.3.3.
 5355: 
 5356: 
 5357: Изменения в nginx 0.3.3                                           19.10.2005
 5358: 
 5359:     *) Изменение: параметры "bl" и "af" директивы listen переименованы в
 5360:        "backlog" и "accept_filter".
 5361: 
 5362:     *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
 5363: 
 5364:     *) Изменение: параметр лога $msec теперь не требует дополнительного
 5365:        системного вызова gettimeofday().
 5366: 
 5367:     *) Добавление: ключ -t теперь проверяет директивы listen.
 5368: 
 5369:     *) Исправление: если в директиве listen был указан неверный адрес, то
 5370:        nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
 5371: 
 5372:     *) Исправление: для индексных файлов, содержащих в имени переменную, мог
 5373:        неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
 5374: 
 5375:     *) Добавление: директива timer_resolution.
 5376: 
 5377:     *) Добавление: параметр лога $upstream_response_time в миллисекундах.
 5378: 
 5379:     *) Исправление: временный файл с телом запроса клиента теперь удаляется
 5380:        сразу после того, как клиенту передан заголовок ответа.
 5381: 
 5382:     *) Исправление: совместимость с OpenSSL 0.9.6.
 5383: 
 5384:     *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
 5385:        относительными.
 5386: 
 5387:     *) Исправление: директива ssl_prefer_server_ciphers не работала для
 5388:        модуля ngx_imap_ssl_module.
 5389: 
 5390:     *) Исправление: директива ssl_protocols позволяла задать только один
 5391:        протокол.
 5392: 
 5393: 
 5394: Изменения в nginx 0.3.2                                           12.10.2005
 5395: 
 5396:     *) Добавление: поддержка Sun Studio 10 C compiler.
 5397: 
 5398:     *) Добавление: директивы proxy_upstream_max_fails,
 5399:        proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
 5400:        fastcgi_upstream_fail_timeout.
 5401: 
 5402: 
 5403: Изменения в nginx 0.3.1                                           10.10.2005
 5404: 
 5405:     *) Исправление: во время переполнения очереди сигналов при использовании
 5406:        метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
 5407: 
 5408:     *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
 5409: 
 5410: 
 5411: Изменения в nginx 0.3.0                                           07.10.2005
 5412: 
 5413:     *) Изменение: убрано десятидневное ограничение времени работы рабочего
 5414:        процесса. Ограничение было введено из-за переполнения миллисекундных
 5415:        таймеров.
 5416: 
 5417: 
 5418: Изменения в nginx 0.2.6                                           05.10.2005
 5419: 
 5420:     *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
 5421:        бэкенду при использовании распределения нагрузки.
 5422: 
 5423:     *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
 5424:        запрос теперь передаётся, если в директиве proxy_pass отсутствует
 5425:        URI.
 5426: 
 5427:     *) Добавление: директива error_page поддерживает редиректы и позволяет
 5428:        более гибко менять код ошибки.
 5429: 
 5430:     *) Изменение: в проксированных подзапросах теперь игнорируется
 5431:        переданный charset.
 5432: 
 5433:     *) Исправление: если после изменения URI в блоке if для запроса не
 5434:        находилась новая конфигурация, то правила модуля
 5435:        ngx_http_rewrite_module выполнялись снова.
 5436: 
 5437:     *) Исправление: если директива set устанавливала переменную модуля
 5438:        ngx_http_geo_module в какой-либо части конфигурации, то эта
 5439:        переменная не была доступна в других частях конфигурации и выдавалась
 5440:        ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
 5441: 
 5442: 
 5443: Изменения в nginx 0.2.5                                           04.10.2005
 5444: 
 5445:     *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
 5446:        теперь выдаёт предупреждение и изменяет старое значение.
 5447: 
 5448:     *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
 5449: 
 5450:     *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
 5451:        команде include.
 5452: 
 5453:     *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
 5454:        значений переменных в выражениях команды if.
 5455: 
 5456: 
 5457: Изменения в nginx 0.2.4                                           03.10.2005
 5458: 
 5459:     *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
 5460:        "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
 5461:        if.
 5462: 
 5463:     *) Исправление: ошибки при проксировании location без слэша в конце;
 5464:        ошибка появилась в 0.1.44.
 5465: 
 5466:     *) Исправление: при использовании метода rtsig мог произойти
 5467:        segmentation fault; ошибка появилась в 0.2.0.
 5468: 
 5469: 
 5470: Изменения в nginx 0.2.3                                           30.09.2005
 5471: 
 5472:     *) Исправление: nginx не собирался без параметра --with-debug; ошибка
 5473:        появилась в 0.2.2.
 5474: 
 5475: 
 5476: Изменения в nginx 0.2.2                                           30.09.2005
 5477: 
 5478:     *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
 5479: 
 5480:     *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
 5481:        директивой set.
 5482: 
 5483:     *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
 5484:        модулей ngx_http_ssl_module и ngx_imap_ssl_module.
 5485: 
 5486:     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
 5487:        длинных имён файлов;
 5488: 
 5489:     *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
 5490:        файлы, начинающиеся на точку.
 5491: 
 5492:     *) Исправление: если SSL handshake завершался с ошибкой, то это могло
 5493:        привести также к закрытию другого соединения.
 5494:        Спасибо Rob Mueller.
 5495: 
 5496:     *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
 5497:        HTTPS.
 5498: 
 5499: 
 5500: Изменения в nginx 0.2.1                                           23.09.2005
 5501: 
 5502:     *) Исправление: если все бэкенды, используемые для балансировки
 5503:        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
 5504:        nginx мог зациклится; ошибка появилась в 0.2.0.
 5505: 
 5506: 
 5507: Изменения в nginx 0.2.0                                           23.09.2005
 5508: 
 5509:     *) Изменились имена pid-файлов, используемые во время обновления
 5510:        исполняемого файла. Ручное переименование теперь не нужно. Старый
 5511:        основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
 5512:        запускает новый исполняемый файл. Новый основной процесс создаёт
 5513:        обычный pid-файл без суффикса ".newbin". Если новый основной процесс
 5514:        выходит, то старый процесс переименовывает свой pid-файл c суффиксом
 5515:        ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
 5516:        0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
 5517:        0.2.0 - используют pid-файл без суффиксов.
 5518: 
 5519:     *) Изменение: директива worker_connections, новое название директивы
 5520:        connections; директива теперь задаёт максимальное число соединений, а
 5521:        не максимально возможный номер дескриптора для сокета.
 5522: 
 5523:     *) Добавление: SSL поддерживает кэширование сессий в пределах одного
 5524:        рабочего процесса.
 5525: 
 5526:     *) Добавление: директива satisfy_any.
 5527: 
 5528:     *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
 5529:        не работают для подзапросов.
 5530: 
 5531:     *) Добавление: директивы worker_rlimit_nofile и
 5532:        worker_rlimit_sigpending.
 5533: 
 5534:     *) Исправление: если все бэкенды, используемые для балансировки
 5535:        нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
 5536:        nginx не обращался к ним в течение 60 секунд.
 5537: 
 5538:     *) Исправление: в парсинге аргументов IMAP/POP3 команд.
 5539:        Спасибо Rob Mueller.
 5540: 
 5541:     *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
 5542: 
 5543:     *) Исправление: ошибки при использовании SSI и сжатия.
 5544: 
 5545:     *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
 5546:        "Expires" и "Cache-Control".
 5547:        Спасибо Александру Кукушкину.
 5548: 
 5549: 
 5550: Изменения в nginx 0.1.45                                          08.09.2005
 5551: 
 5552:     *) Изменение: директива ssl_engine упразднена в модуле
 5553:        ngx_http_ssl_module и перенесена на глобальный уровень.
 5554: 
 5555:     *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
 5556:        передавались через SSL соединение.
 5557: 
 5558:     *) Разные исправления в IMAP/POP3 прокси.
 5559: 
 5560: 
 5561: Изменения в nginx 0.1.44                                          06.09.2005
 5562: 
 5563:     *) Добавление: IMAP/POP3 прокси поддерживает SSL.
 5564: 
 5565:     *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
 5566: 
 5567:     *) Добавление: директива userid_mark.
 5568: 
 5569:     *) Добавление: значение переменной $remote_user определяется независимо
 5570:        от того, используется ли авторизация или нет.
 5571: 
 5572: 
 5573: Изменения в nginx 0.1.43                                          30.08.2005
 5574: 
 5575:     *) Добавление: listen(2) backlog в директиве listen можно менять по
 5576:        сигналу -HUP.
 5577: 
 5578:     *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
 5579: 
 5580:     *) Изменение: параметры FastCGI с пустым значениями теперь передаются
 5581:        серверу.
 5582: 
 5583:     *) Исправление: если в ответе проксированного сервера или FastCGI
 5584:        сервера была строка "Cache-Control", то при использовании директивы
 5585:        expires происходил segmentation fault или рабочий процесс мог
 5586:        зациклится; в режиме прокси ошибка появилась в 0.1.29.
 5587: 
 5588: 
 5589: Изменения в nginx 0.1.42                                          23.08.2005
 5590: 
 5591:     *) Исправление: если URI запроса получался нулевой длины после обработки
 5592:        модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
 5593:        происходил segmentation fault или bus error.
 5594: 
 5595:     *) Исправление: директива limit_rate не работала внутри блока if; ошибка
 5596:        появилась в 0.1.38.
 5597: 
 5598: 
 5599: Изменения в nginx 0.1.41                                          25.07.2005
 5600: 
 5601:     *) Исправление: если переменная использовалась в файле конфигурации, то
 5602:        она не могла использоваться в SSI.
 5603: 
 5604: 
 5605: Изменения в nginx 0.1.40                                          22.07.2005
 5606: 
 5607:     *) Исправление: если клиент слал очень длинную строку заголовка, то в
 5608:        логе не помещалась информация, связанная с этим запросом.
 5609: 
 5610:     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
 5611:        строка "Set-Cookie"; ошибка появилась в 0.1.39.
 5612: 
 5613:     *) Исправление: при использовании "X-Accel-Redirect" не передавалась
 5614:        строка "Content-Disposition".
 5615: 
 5616:     *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
 5617:        на которых он слушал.
 5618: 
 5619:     *) Исправление: после обновления исполняемого файла на лету на Linux и
 5620:        Solaris название процесса в команде ps становилось короче.
 5621: 
 5622: 
 5623: Изменения в nginx 0.1.39                                          14.07.2005
 5624: 
 5625:     *) Изменения в модуле ngx_http_charset_module: директива default_charset
 5626:        упразднена; директива charset задаёт кодировку ответа; директива
 5627:        source_charset задаёт только исходную кодировку.
 5628: 
 5629:     *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
 5630:        не передавалась строка заголовка "WWW-Authenticate".
 5631: 
 5632:     *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
 5633:        могли закрыть соединение до того, как что-нибудь было передано
 5634:        клиенту; ошибка появилась в 0.1.38.
 5635: 
 5636:     *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
 5637: 
 5638:     *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
 5639:        URI в команде include virtual.
 5640: 
 5641:     *) Исправление: если в строке заголовка ответа бэкенда была строка
 5642:        "Location", которую nginx не должен был изменять, то в ответе
 5643:        передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
 5644: 
 5645:     *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
 5646:        ngx_http_fastcgi_module не наследовались с уровня server на уровень
 5647:        location; ошибка появилась в 0.1.29.
 5648: 
 5649:     *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
 5650:        сертификатов.
 5651: 
 5652:     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
 5653:        длинных имён файлов; ошибка появилась в 0.1.38.
 5654: 
 5655:     *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
 5656:        стадии login.
 5657: 
 5658: 
 5659: Изменения в nginx 0.1.38                                          08.07.2005
 5660: 
 5661:     *) Добавление: директива limit_rate поддерживается в режиме прокси и
 5662:        FastCGI.
 5663: 
 5664:     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
 5665:        "X-Accel-Limit-Rate" в ответе бэкенда.
 5666: 
 5667:     *) Добавление: директива break.
 5668: 
 5669:     *) Добавление: директива log_not_found.
 5670: 
 5671:     *) Исправление: при перенаправлении запроса с помощью строки заголовка
 5672:        "X-Accel-Redirect" не изменялся код ответа.
 5673: 
 5674:     *) Исправление: переменные, установленные директивой set не могли
 5675:        использоваться в SSI.
 5676: 
 5677:     *) Исправление: при включении в SSI более одного удалённого подзапроса
 5678:        мог произойти segmentation fault.
 5679: 
 5680:     *) Исправление: если статусная строка в ответе бэкенда передавалась в
 5681:        двух пакетах, то nginx считал ответ неверным; ошибка появилась в
 5682:        0.1.29.
 5683: 
 5684:     *) Добавление: директива ssi_types.
 5685: 
 5686:     *) Добавление: директива autoindex_exact_size.
 5687: 
 5688:     *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
 5689:        имена файлов в UTF-8.
 5690: 
 5691:     *) Добавление: IMAP/POP3 прокси.
 5692: 
 5693: 
 5694: Изменения в nginx 0.1.37                                          23.06.2005
 5695: 
 5696:     *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
 5697: 
 5698:     *) Исправление: при включении большого количества вставок или нескольких
 5699:        больших вставок с помощью SSI ответ мог передаваться не полностью.
 5700: 
 5701:     *) Исправление: если все бэкенды возвращали ответ 404, то при
 5702:        использовании параметра http_404 в директивах proxy_next_upstream или
 5703:        fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
 5704: 
 5705: 
 5706: Изменения в nginx 0.1.36                                          15.06.2005
 5707: 
 5708:     *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
 5709:        "Connection", "Content-Length" и "Authorization", то nginx теперь
 5710:        выдаёт ошибку 400.
 5711: 
 5712:     *) Изменение: директива post_accept_timeout упразднена.
 5713: 
 5714:     *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
 5715:        listen.
 5716: 
 5717:     *) Добавление: поддержка accept фильтров во FreeBSD.
 5718: 
 5719:     *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
 5720: 
 5721:     *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
 5722:        файлов в UTF-8.
 5723: 
 5724:     *) Исправление: после добавления новый лог-файл ротация этого лога по
 5725:        сигналу -USR1 выполнялась, только если переконфигурировать nginx два
 5726:        раза по сигналу -HUP.
 5727: 
 5728: 
 5729: Изменения в nginx 0.1.35                                          07.06.2005
 5730: 
 5731:     *) Добавление: директива working_directory.
 5732: 
 5733:     *) Добавление: директива port_in_redirect.
 5734: 
 5735:     *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
 5736:        то происходил segmentation fault; ошибка появилась в 0.1.29.
 5737: 
 5738:     *) Исправление: если было сконфигурировано более 10 серверов или в
 5739:        сервере не описана директива "listen", то при запуске мог произойти
 5740:        segmentation fault.
 5741: 
 5742:     *) Исправление: если ответ не помещался во временный файл, то мог
 5743:        произойти segmentation fault.
 5744: 
 5745:     *) Исправление: nginx возвращал ошибку 400 на запросы вида
 5746:        "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
 5747: 
 5748: 
 5749: Изменения в nginx 0.1.34                                          26.05.2005
 5750: 
 5751:     *) Исправление: при включении больших ответов с помощью SSI рабочий
 5752:        процесс мог зациклиться.
 5753: 
 5754:     *) Исправление: переменные, устанавливаемые директивой "set", не были
 5755:        доступны в SSI.
 5756: 
 5757:     *) Добавление: директива autoindex_localtime.
 5758: 
 5759:     *) Исправление: пустое значение в директиве proxy_set_header запрещает
 5760:        передачу заголовка.
 5761: 
 5762: 
 5763: Изменения в nginx 0.1.33                                          23.05.2005
 5764: 
 5765:     *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
 5766:        появилась в 0.1.29.
 5767: 
 5768:     *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
 5769:        вызывали bus fault при запуске.
 5770: 
 5771:     *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
 5772:        HTTP.
 5773: 
 5774:     *) Исправление: если директива rewrite использовала выделения внутри
 5775:        директивы if, то возвращалась ошибка 500.
 5776: 
 5777: 
 5778: Изменения в nginx 0.1.32                                          19.05.2005
 5779: 
 5780:     *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
 5781:        передавались аргументы; ошибка появилась в 0.1.29.
 5782: 
 5783:     *) Добавление: директива if поддерживает выделения в регулярных
 5784:        выражениях.
 5785: 
 5786:     *) Добавление: директива set поддерживает переменные и выделения из
 5787:        регулярных выражений.
 5788: 
 5789:     *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
 5790:        "X-Accel-Redirect" в ответе бэкенда.
 5791: 
 5792: 
 5793: Изменения в nginx 0.1.31                                          16.05.2005
 5794: 
 5795:     *) Исправление: при использовании SSL ответ мог передаваться не до
 5796:        конца.
 5797: 
 5798:     *) Исправление: ошибки при обработке SSI в ответе, полученного от
 5799:        FastCGI-сервера.
 5800: 
 5801:     *) Исправление: ошибки при использовании SSI и сжатия.
 5802: 
 5803:     *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
 5804:        появилась в 0.1.30.
 5805: 
 5806: 
 5807: Изменения в nginx 0.1.30                                          14.05.2005
 5808: 
 5809:     *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
 5810: 
 5811:     *) Исправление: при использовании SSL ответ мог передаваться не до
 5812:        конца.
 5813: 
 5814:     *) Исправление: если длина части ответа, полученного за один раз от
 5815:        проксируемого или FastCGI сервера была равна 500 байт, то nginx
 5816:        возвращал код ответа 500; в режиме прокси ошибка появилась только в
 5817:        0.1.29.
 5818: 
 5819:     *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
 5820:        параметрами.
 5821: 
 5822:     *) Добавление: директива return может возвращать код ответа 204.
 5823: 
 5824:     *) Добавление: директива ignore_invalid_headers.
 5825: 
 5826: 
 5827: Изменения в nginx 0.1.29                                          12.05.2005
 5828: 
 5829:     *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
 5830:        virtual.
 5831: 
 5832:     *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
 5833:        вида 'if expr="$NAME"' и команды else и endif. Допускается только
 5834:        один уровень вложенности.
 5835: 
 5836:     *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
 5837:        DATE_LOCAL и DATE_GMT и команду config timefmt.
 5838: 
 5839:     *) Добавление: директива ssi_ignore_recycled_buffers.
 5840: 
 5841:     *) Исправление: если переменная QUERY_STRING не была определена, то в
 5842:        команде echo не ставилось значение по умолчанию.
 5843: 
 5844:     *) Изменение: модуль ngx_http_proxy_module полностью переписан.
 5845: 
 5846:     *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
 5847:        proxy_pass_request_body и proxy_method.
 5848: 
 5849:     *) Добавление: директива proxy_set_header. Директива proxy_x_var
 5850:        упразднена и должна быть заменена директивой proxy_set_header.
 5851: 
 5852:     *) Изменение: директива proxy_preserve_host упразднена и должна быть
 5853:        заменена директивами "proxy_set_header Host $host" и "proxy_redirect
 5854:        off" или директивой "proxy_set_header Host $host:$proxy_port" и
 5855:        соответствующими ей директивами proxy_redirect.
 5856: 
 5857:     *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
 5858:        заменена директивой "proxy_set_header X-Real-IP $remote_addr".
 5859: 
 5860:     *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
 5861:        быть заменена директивой
 5862:        "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
 5863: 
 5864:     *) Изменение: директива proxy_set_x_url упразднена и должна быть
 5865:        заменена директивой
 5866:        "proxy_set_header X-URL http://$host:$server_port$request_uri".
 5867: 
 5868:     *) Добавление: директива fastcgi_param.
 5869: 
 5870:     *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
 5871:        упразднены и должны быть замены директивами fastcgi_param.
 5872: 
 5873:     *) Добавление: директива index может использовать переменные.
 5874: 
 5875:     *) Добавление: директива index может быть указана на уровне http и
 5876:        server.
 5877: 
 5878:     *) Изменение: только последний параметр в директиве index может быть
 5879:        абсолютным.
 5880: 
 5881:     *) Добавление: в директиве rewrite могут использоваться переменные.
 5882: 
 5883:     *) Добавление: директива internal.
 5884: 
 5885:     *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
 5886:        SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
 5887:        SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
 5888: 
 5889:     *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
 5890:        клиента и ответа бэкенда.
 5891: 
 5892:     *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
 5893:        меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
 5894: 
 5895:     *) Исправление: если бэкенд передавал неверную строку в заголовке
 5896:        ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
 5897: 
 5898:     *) Исправление: при использовании отказоустойчивой конфигурации в
 5899:        FastCGI мог происходить segmentation fault.
 5900: 
 5901:     *) Исправление: директива expires не удаляла уже установленные строки
 5902:        заголовка "Expires" и "Cache-Control".
 5903: 
 5904:     *) Исправление: nginx не учитывал завершающую точку в строке заголовка
 5905:        запроса "Host".
 5906: 
 5907:     *) Исправление: модуль ngx_http_auth_module не работал на Linux.
 5908: 
 5909:     *) Исправление: директива rewrite неверно работала, если в запросе
 5910:        присутствовали аргументы.
 5911: 
 5912:     *) Исправление: nginx не собирался на MacOS X.
 5913: 
 5914: 
 5915: Изменения в nginx 0.1.28                                          08.04.2005
 5916: 
 5917:     *) Исправление: при проксировании больших файлов nginx сильно нагружал
 5918:        процессор.
 5919: 
 5920:     *) Исправление: nginx не собирался gcc 4.0 на Linux.
 5921: 
 5922: 
 5923: Изменения в nginx 0.1.27                                          28.03.2005
 5924: 
 5925:     *) Добавление: параметр blocked в директиве valid_referers.
 5926: 
 5927:     *) Изменение: ошибки обработки заголовка запроса теперь записываются на
 5928:        уровне info, в лог также записывается имя сервера и строки заголовка
 5929:        запроса "Host" и "Referer".
 5930: 
 5931:     *) Изменение: при записи ошибок в лог записывается также строка
 5932:        заголовка запроса "Host".
 5933: 
 5934:     *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
 5935:        символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
 5936: 
 5937:     *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
 5938:        параметр конфигурации --without-ngx_http_auth_basic_module.
 5939: 
 5940: 
 5941: Изменения в nginx 0.1.26                                          22.03.2005
 5942: 
 5943:     *) Изменение: неверные строки заголовка, переданные клиентом, теперь
 5944:        игнорируется и записываются в error_log на уровне info.
 5945: 
 5946:     *) Изменение: при записи ошибок в лог записывается также имя сервера,
 5947:        при обращении к которому произошла ошибка.
 5948: 
 5949:     *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
 5950:        и auth_basic_user_file.
 5951: 
 5952: 
 5953: Изменения в nginx 0.1.25                                          19.03.2005
 5954: 
 5955:     *) Исправление: nginx не работал на Linux parisc.
 5956: 
 5957:     *) Добавление: nginx теперь не запускается под FreeBSD, если значение
 5958:        sysctl kern.ipc.somaxconn слишком большое.
 5959: 
 5960:     *) Исправление: если модуль ngx_http_index_module делал внутреннее
 5961:        перенаправление запроса в модули ngx_http_proxy_module или
 5962:        ngx_http_fastcgi_module, то файл индекса не закрывался после
 5963:        обслуживания запроса.
 5964: 
 5965:     *) Добавление: директива proxy_pass может использоваться в location,
 5966:        заданных регулярным выражением.
 5967: 
 5968:     *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
 5969:        условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
 5970: 
 5971:     *) Исправление: nginx очень медленно запускался при большом количестве
 5972:        адресов и использовании текстовых значений в директиве geo.
 5973: 
 5974:     *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
 5975:        Прежний вариант без "$" пока работает, но вскоре будет убран.
 5976: 
 5977:     *) Добавление: параметр лога "%{VARIABLE}v".
 5978: 
 5979:     *) Добавление: директива "set $name value".
 5980: 
 5981:     *) Исправление: совместимость с gcc 4.0.
 5982: 
 5983:     *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
 5984: 
 5985: 
 5986: Изменения в nginx 0.1.24                                          04.03.2005
 5987: 
 5988:     *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
 5989:        QUERY_STRING и DOCUMENT_URI.
 5990: 
 5991:     *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
 5992:        на существующий каталог, если этот каталог был указан как alias.
 5993: 
 5994:     *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
 5995:        при больших ответах.
 5996: 
 5997:     *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
 5998:        правильным referrer'ом.
 5999: 
 6000: 
 6001: Изменения в nginx 0.1.23                                          01.03.2005
 6002: 
 6003:     *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
 6004:        ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
 6005:        var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
 6006: 
 6007:     *) Добавление: параметр лога %request_time.
 6008: 
 6009:     *) Добавление: если запрос пришёл без строки заголовка "Host", то
 6010:        директива proxy_preserve_host устанавливает в качестве этого
 6011:        заголовка первое имя сервера из директивы server_name.
 6012: 
 6013:     *) Исправление: nginx не собирался на платформах, отличных от i386,
 6014:        amd64, sparc и ppc; ошибка появилась в 0.1.22.
 6015: 
 6016:     *) Исправление: модуль ngx_http_autoindex_module теперь показывает
 6017:        информацию не о символическом линке, а о файле или каталоге, на
 6018:        который он указывает.
 6019: 
 6020:     *) Исправление: если клиенту ничего не передавалось, то параметр
 6021:        %apache_length записывал в лог отрицательную длину заголовка ответа.
 6022: 
 6023: 
 6024: Изменения в nginx 0.1.22                                          22.02.2005
 6025: 
 6026:     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
 6027:        статистику для обработанных соединений, если использовалось
 6028:        проксирование или FastCGI-сервер.
 6029: 
 6030:     *) Исправление: на Linux и Solaris установочные пути были неверно
 6031:        заключены в кавычки; ошибка появилась в 0.1.21.
 6032: 
 6033: 
 6034: Изменения в nginx 0.1.21                                          22.02.2005
 6035: 
 6036:     *) Исправление: модуль ngx_http_stub_status_module показывал неверную
 6037:        статистику при использовании метода rtsig или при использовании
 6038:        нескольких рабочих процессов на SMP машине.
 6039: 
 6040:     *) Исправление: nginx не собирался компилятором icc под Линуксом или
 6041:        если библиотека zlib-1.2.x собиралась из исходных текстов.
 6042: 
 6043:     *) Исправление: nginx не собирался под NetBSD 2.0.
 6044: 
 6045: 
 6046: Изменения в nginx 0.1.20                                          17.02.2005
 6047: 
 6048:     *) Добавление: новые параметры script_filename и remote_port в директиве
 6049:        fastcgi_params.
 6050: 
 6051:     *) Исправление: неправильно обрабатывался поток stderr от
 6052:        FastCGI-сервера.
 6053: 
 6054: 
 6055: Изменения в nginx 0.1.19                                          16.02.2005
 6056: 
 6057:     *) Исправление: если в запросе есть нуль, то для локальных запросов
 6058:        теперь возвращается ошибка 404.
 6059: 
 6060:     *) Исправление: nginx не собирался под NetBSD 2.0.
 6061: 
 6062:     *) Исправление: во время чтения тела запроса клиента в SSL соединении
 6063:        мог произойти таймаут.
 6064: 
 6065: 
 6066: Изменения в nginx 0.1.18                                          09.02.2005
 6067: 
 6068:     *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
 6069:        и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
 6070: 
 6071:     *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
 6072:        наследовались.
 6073: 
 6074:     *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
 6075:        присоединялись к URI через символ "&" вместо "?".
 6076: 
 6077:     *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
 6078:        включённом файле игнорировались.
 6079: 
 6080:     *) Добавление: модуль ngx_http_stub_status_module.
 6081: 
 6082:     *) Исправление: неизвестный формат лог-файла в директиве access_log
 6083:        вызывал segmentation fault.
 6084: 
 6085:     *) Добавление: новый параметр document_root в директиве fastcgi_params.
 6086: 
 6087:     *) Добавление: директива fastcgi_redirect_errors.
 6088: 
 6089:     *) Добавление: новый модификатор break в директиве rewrite позволяет
 6090:        прекратить цикл rewrite/location и устанавливает текущую конфигурацию
 6091:        для запроса.
 6092: 
 6093: 
 6094: Изменения в nginx 0.1.17                                          03.02.2005
 6095: 
 6096:     *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
 6097:        можно делать редиректы, возвращать коды ошибок и проверять переменные
 6098:        и рефереры. Эти директивы можно использовать внутри location.
 6099:        Директива redirect упразднена.
 6100: 
 6101:     *) Добавление: модуль ngx_http_geo_module.
 6102: 
 6103:     *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
 6104: 
 6105:     *) Исправление: конфигурация location с модификатором "=" могла
 6106:        использоваться в другом location.
 6107: 
 6108:     *) Исправление: правильный тип ответа выставлялся только для запросов, у
 6109:        которых в расширении были только маленькие буквы.
 6110: 
 6111:     *) Исправление: если для location установлен proxy_pass или
 6112:        fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
 6113:        на статическую страницу, то происходил segmentation fault.
 6114: 
 6115:     *) Исправление: если в проксированном ответе в заголовке "Location"
 6116:        передавался относительный URL, то к нему добавлялось имя хоста и
 6117:        слэш; ошибка появилась в 0.1.14.
 6118: 
 6119:     *) Исправление: на Linux в лог не записывался текст системной ошибки.
 6120: 
 6121: 
 6122: Изменения в nginx 0.1.16                                          25.01.2005
 6123: 
 6124:     *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
 6125:        выдавался завершающий chunk.
 6126: 
 6127:     *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
 6128:        директива keepalive_timeout запрещала использование keep-alive.
 6129: 
 6130:     *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
 6131:        segmentation fault.
 6132: 
 6133:     *) Исправление: при использовании SSL сжатый ответ мог передаваться не
 6134:        до конца.
 6135: 
 6136:     *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
 6137:        для TCP сокетов, не используются для unix domain сокетов.
 6138: 
 6139:     *) Добавление: директива rewrite поддерживает перезаписывание
 6140:        аргументов.
 6141: 
 6142:     *) Исправление: на запрос POST с заголовком "Content-Length: 0"
 6143:        возвращался ответ 400; ошибка появилась в 0.1.14.
 6144: 
 6145: 
 6146: Изменения в nginx 0.1.15                                          19.01.2005
 6147: 
 6148:     *) Исправление: ошибка соединения с FastCGI-сервером вызывала
 6149:        segmentation fault.
 6150: 
 6151:     *) Исправление: корректная обработка регулярного выражения, в котором
 6152:        число выделенных частей не совпадает с числом подстановок.
 6153: 
 6154:     *) Добавление: location, который передаётся FastCGI-серверу, может быть
 6155:        задан с помощью регулярного выражения.
 6156: 
 6157:     *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
 6158:        аргументами и в том виде, в котором был получен от клиента.
 6159: 
 6160:     *) Исправление: для использования регулярных выражений в location нужно
 6161:        было собирать nginx вместе с ngx_http_rewrite_module.
 6162: 
 6163:     *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
 6164:        директивы "proxy_preserve_host on" в заголовке "Host" указывался
 6165:        также порт 80; ошибка появилась в 0.1.14.
 6166: 
 6167:     *) Исправление: если задать одинаковые пути в параметрах
 6168:        автоконфигурации --http-client-body-temp-path=PATH и
 6169:        --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
 6170:        --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
 6171: 
 6172: 
 6173: Изменения в nginx 0.1.14                                          18.01.2005
 6174: 
 6175:     *) Добавление: параметры автоконфигурации
 6176:        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
 6177:        --http-fastcgi-temp-path=PATH
 6178: 
 6179:     *) Изменение: имя каталога с временными файлами, содержащие тело запроса
 6180:        клиента, задаётся директивой client_body_temp_path, по умолчанию
 6181:        <prefix>/client_body_temp.
 6182: 
 6183:     *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
 6184:        fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
 6185:        fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
 6186:        fastcgi_header_buffer_size, fastcgi_buffers,
 6187:        fastcgi_busy_buffers_size, fastcgi_temp_path,
 6188:        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
 6189:        fastcgi_next_upstream и fastcgi_x_powered_by.
 6190: 
 6191:     *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
 6192:        0.1.3.
 6193: 
 6194:     *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
 6195:        после имени хоста.
 6196: 
 6197:     *) Изменение: если в URI встречался символ %3F, то он считался началом
 6198:        строки аргументов.
 6199: 
 6200:     *) Добавление: поддержка unix domain сoкетов в модуле
 6201:        ngx_http_proxy_module.
 6202: 
 6203:     *) Добавление: директивы ssl_engine и ssl_ciphers.
 6204:        Спасибо Сергею Скворцову за SSL-акселератор.
 6205: 
 6206: 
 6207: Изменения в nginx 0.1.13                                          21.12.2004
 6208: 
 6209:     *) Добавление: директивы server_names_hash и
 6210:        server_names_hash_threshold.
 6211: 
 6212:     *) Исправление: имена *.domain.tld в директиве server_name не работали.
 6213: 
 6214:     *) Исправление: параметр лога %request_length записывал неверную длину.
 6215: 
 6216: 
 6217: Изменения в nginx 0.1.12                                          06.12.2004
 6218: 
 6219:     *) Добавление: параметр лога %request_length.
 6220: 
 6221:     *) Исправление: при использовании /dev/poll, select и poll на
 6222:        платформах, где возможны ложные срабатывания указанных методов, могли
 6223:        быть длительные задержки при обработке запроса по keep-alive
 6224:        соединению. Наблюдалось по крайней мере на Solaris с использованием
 6225:        /dev/poll.
 6226: 
 6227:     *) Исправление: директива send_lowat игнорируется на Linux, так как
 6228:        Linux не поддерживает опцию SO_SNDLOWAT.
 6229: 
 6230: 
 6231: Изменения в nginx 0.1.11                                          02.12.2004
 6232: 
 6233:     *) Добавление: директива worker_priority.
 6234: 
 6235:     *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
 6236:        влияют на передачу ответа.
 6237: 
 6238:     *) Исправление: nginx не вызывал initgroups().
 6239:        Спасибо Андрею Ситникову и Андрею Нигматулину.
 6240: 
 6241:     *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
 6242:        байтах.
 6243: 
 6244:     *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
 6245:        каталоге есть битый symlink.
 6246: 
 6247:     *) Исправление: файлы больше 4G не передавались с использованием
 6248:        sendfile.
 6249: 
 6250:     *) Исправление: если бэкенд резолвился в несколько адресов и при
 6251:        ожидании от него ответа происходила ошибка, то процесс зацикливался.
 6252: 
 6253:     *) Исправление: при использовании метода /dev/poll рабочий процесс мог
 6254:        завершиться с сообщением "unknown cycle".
 6255: 
 6256:     *) Исправление: ошибки "close() channel failed".
 6257: 
 6258:     *) Исправление: автоматическое определение групп nobody и nogroup.
 6259: 
 6260:     *) Исправление: директива send_lowat не работала на Linux.
 6261: 
 6262:     *) Исправление: если в конфигурации не было раздела events, то
 6263:        происходил segmentation fault.
 6264: 
 6265:     *) Исправление: nginx не собирался под OpenBSD.
 6266: 
 6267:     *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
 6268: 
 6269: 
 6270: Изменения в nginx 0.1.10                                          26.11.2004
 6271: 
 6272:     *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
 6273:        или "%XX", то терялся последний символ в строке запроса; ошибка
 6274:        появилась в 0.1.9.
 6275: 
 6276:     *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
 6277:        не работало.
 6278: 
 6279: 
 6280: Изменения в nginx 0.1.9                                           25.11.2004
 6281: 
 6282:     *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
 6283:        проксируемый запрос передавался без аргументов.
 6284: 
 6285:     *) Исправление: при сжатии больших ответов иногда они передавались не
 6286:        полностью.
 6287: 
 6288:     *) Исправление: не передавались файлы больше 2G на Linux,
 6289:        неподдерживающем sendfile64().
 6290: 
 6291:     *) Исправление: на Linux при конфигурации сборки нужно было обязательно
 6292:        использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
 6293: 
 6294: 
 6295: Изменения в nginx 0.1.8                                           20.11.2004
 6296: 
 6297:     *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
 6298:        длинных имён файлов.
 6299: 
 6300:     *) Добавление: модификатор "^~" в директиве location.
 6301: 
 6302:     *) Добавление: директива proxy_max_temp_file_size.
 6303: 
 6304: 
 6305: Изменения в nginx 0.1.7                                           12.11.2004
 6306: 
 6307:     *) Исправление: при использовании sendfile, если передаваемый файл
 6308:        менялся, то мог произойти segmentation fault на FreeBSD; ошибка
 6309:        появилась в 0.1.5.
 6310: 
 6311: 
 6312: Изменения в nginx 0.1.6                                           11.11.2004
 6313: 
 6314:     *) Исправление: при некоторых комбинациях директив location c
 6315:        регулярными выражениями использовалась конфигурация не из того
 6316:        location.
 6317: 
 6318: 
 6319: Изменения в nginx 0.1.5                                           11.11.2004
 6320: 
 6321:     *) Исправление: на Solaris и Linux могло быть очень много сообщений
 6322:        "recvmsg() returned not enough data".
 6323: 
 6324:     *) Исправление: в режиме прокси без использования sendfile на Solaris
 6325:        возникала ошибка "writev() failed (22: Invalid argument)". На других
 6326:        платформах, не поддерживающих sendfile, процесс зацикливался.
 6327: 
 6328:     *) Исправление: при использовании sendfile в режиме прокси на Solaris
 6329:        возникал segmentation fault.
 6330: 
 6331:     *) Исправление: segmentation fault на Solaris.
 6332: 
 6333:     *) Исправление: обновление исполняемого файла на лету не работало на
 6334:        Linux.
 6335: 
 6336:     *) Исправление: в списке файлов, выдаваемом модулем
 6337:        ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
 6338:        знаки процента.
 6339: 
 6340:     *) Изменение: уменьшение операций копирования.
 6341: 
 6342:     *) Добавление: директива userid_p3p.
 6343: 
 6344: 
 6345: Изменения в nginx 0.1.4                                           26.10.2004
 6346: 
 6347:     *) Исправление: ошибка в модуле ngx_http_autoindex_module.
 6348: 
 6349: 
 6350: Изменения в nginx 0.1.3                                           25.10.2004
 6351: 
 6352:     *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
 6353: 
 6354:     *) Добавление: директива proxy_set_x_url.
 6355: 
 6356:     *) Исправление: модуль проксировании мог привести к зацикливанию, если
 6357:        не использовался sendfile.
 6358: 
 6359: 
 6360: Изменения в nginx 0.1.2                                           21.10.2004
 6361: 
 6362:     *) Добавление: параметры --user=USER, --group=GROUP и
 6363:        --with-ld-opt=OPTIONS в configure.
 6364: 
 6365:     *) Добавление: директива server_name поддерживает *.domain.tld.
 6366: 
 6367:     *) Исправление: улучшена переносимость на неизвестные платформы.
 6368: 
 6369:     *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
 6370:        файл указан в командной строке; ошибка появилась в 0.1.1.
 6371: 
 6372:     *) Исправление: модуль проксировании мог привести к зацикливанию, если
 6373:        не использовался sendfile.
 6374: 
 6375:     *) Исправление: при использовании sendfile текст ответа не
 6376:        перекодировался согласно директивам модуля charset; ошибка появилась
 6377:        в 0.1.1.
 6378: 
 6379:     *) Исправление: очень редкая ошибка при обработке kqueue.
 6380: 
 6381:     *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
 6382:        проксировании.
 6383: 
 6384: 
 6385: Изменения в nginx 0.1.1                                           11.10.2004
 6386: 
 6387:     *) Добавление: директива gzip_types.
 6388: 
 6389:     *) Добавление: директива tcp_nodelay.
 6390: 
 6391:     *) Добавление: директива send_lowat работает не только на платформах,
 6392:        поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
 6393:        SO_SNDLOWAT.
 6394: 
 6395:     *) Добавление: эмуляция setproctitle() для Linux и Solaris.
 6396: 
 6397:     *) Исправление: ошибка при переписывании заголовка "Location" при
 6398:        проксировании.
 6399: 
 6400:     *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
 6401:        зацикливанию.
 6402: 
 6403:     *) Исправление: ошибки в модуле /dev/poll.
 6404: 
 6405:     *) Исправление: при проксировании и использовании временных файлов
 6406:        ответы портились.
 6407: 
 6408:     *) Исправление: бэкенду передавались запросы с неперекодированными
 6409:        символами.
 6410: 
 6411:     *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
 6412:        обязательно использовать параметр --with-poll_module.
 6413: 
 6414: 
 6415: Изменения в nginx 0.1.0                                           04.10.2004
 6416: 
 6417:     *) Первая публично доступная версия.
 6418: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>