Annotation of embedaddon/nginx/CHANGES.ru, revision 1.1
1.1 ! misho 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: °.
! 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>