Изменения в nginx 0.1.25 19.03.2005 *) Исправление: nginx не работал на Linux parisc. *) Добавление: nginx теперь не запускается под FreeBSD, если значение sysctl kern.ipc.somaxconn слишком большое. *) Исправление: если модуль ngx_http_index_module делал внутреннее перенаправление запроса в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса не закрывался после обслуживания запроса. *) Добавление: директива proxy_pass может использоваться в location, заданных регулярным выражением. *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает условия вида "if ($HTTP_USER_AGENT ~ MSIE)". *) Исправление: nginx очень медленно запускался при большом количестве адресов и использовании текстовых значений в директиве geo. *) Изменение: имя переменной в директиве geo нужно указывать, как $name. Прежний вариант без "$" пока работает, но вскоре будет убран. *) Добавление: параметр лога "%{VARIABLE}v". *) Добавление: директива "set $name value". *) Исправление: совместимость с gcc 4.0. *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS. Изменения в nginx 0.1.24 04.03.2005 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные QUERY_STRING и DOCUMENT_URI. *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404 на существующий каталог, если этот каталог был указан как alias. *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал при больших ответах. *) Исправление: отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом. Изменения в nginx 0.1.23 01.03.2005 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi, ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'. *) Добавление: параметр лога %request_time. *) Добавление: если запрос пришёл без строки заголовка "Host", то директива proxy_preserve_host устанавливает в качестве этого заголовка первое имя сервера из директивы server_name. *) Исправление: nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; ошибка появилась в 0.1.22. *) Исправление: модуль ngx_http_autoindex_module теперь показывает информацию не о символическом линке, а о файле или каталоге, на который он указывает. *) Исправление: если клиенту ничего не передавалось, то параметр %apache_length записывал в лог отрицательную длину заголовка ответа. Изменения в nginx 0.1.22 22.02.2005 *) Исправление: модуль ngx_http_stub_status_module показывал неверную статистику для обработанных соединений, если использовалось проксирование или FastCGI-сервер. *) Исправление: на Linux и Solaris установочные пути были неверно заключены в кавычки; ошибка появилась в 0.1.21. Изменения в nginx 0.1.21 22.02.2005 *) Исправление: модуль ngx_http_stub_status_module показывал неверную статистику при использовании метода rtsig или при использовании нескольких рабочих процессов на SMP машине. *) Исправление: nginx не собирался компилятором icc под Линуксом или если библиотека zlib-1.2.x собиралась из исходных текстов. *) Исправление: nginx не собирался под NetBSD 2.0. Изменения в nginx 0.1.20 17.02.2005 *) Добавление: новые параметры script_filename и remote_port в директиве fastcgi_params. *) Исправление: неправильно обрабатывался поток stderr от FastCGI-сервера. Изменения в nginx 0.1.19 16.02.2005 *) Исправление: если в запросе есть нуль, то для локальных запросов теперь возвращается ошибка 404. *) Исправление: nginx не собирался под NetBSD 2.0. *) Исправление: во время чтения тела запроса клиента в SSL соединении мог произойти таймаут. Изменения в nginx 0.1.18 09.02.2005 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes значения по умолчанию уменьшены с 512 до 32. *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не наследовались. *) Исправление: в директиве rewrite, возвращающей редирект, аргументы присоединялись к URI через символ "&" вместо "?". *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во включённом файле игнорировались. *) Добавление: модуль ngx_http_stub_status_module. *) Исправление: неизвестный формат лог-файла в директиве access_log вызывал segmentation fault. *) Добавление: новый параметр document_root в директиве fastcgi_params. *) Добавление: директива fastcgi_redirect_errors. *) Добавление: новый модификатор break в директиве rewrite позволяет прекратить цикл rewrite/location и устанавливает текущую конфигурацию для запроса. Изменения в nginx 0.1.17 03.02.2005 *) Добавление: модуль ngx_http_rewrite_module полностью переписан. Теперь можно делать редиректы, возвращать коды ошибок и проверять переменные и рефереры. Эти директивы можно использовать внутри location. Директива redirect упразднена. *) Добавление: модуль ngx_http_geo_module. *) Добавление: директивы proxy_set_x_var и fastcgi_set_var. *) Исправление: конфигурация location с модификатором "=" могла использоваться в другом location. *) Исправление: правильный тип ответа выставлялся только для запросов, у которых в расширении были только маленькие буквы. *) Исправление: если для location установлен proxy_pass или fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась на статическую страницу, то происходил segmentation fault. *) Исправление: если в проксированном ответе в заголовке "Location" передавался относительный URL, то к нему добавлялось имя хоста и слэш; ошибка появилась в 0.1.14. *) Исправление: на Linux в лог не записывался текст системной ошибки. Изменения в nginx 0.1.16 25.01.2005 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD выдавался завершающий chunk. *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если директива keepalive_timeout запрещала использование keep-alive. *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault. *) Исправление: при использовании SSL сжатый ответ мог передаваться не до конца. *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные для TCP сокетов, не используются для unix domain сокетов. *) Добавление: директива rewrite поддерживает перезаписывание аргументов. *) Исправление: на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400; ошибка появилась в 0.1.14. Изменения в nginx 0.1.15 19.01.2005 *) Исправление: ошибка соединения с FastCGI-сервером вызывала segmentation fault. *) Исправление: корректная обработка регулярного выражения, в котором число выделенных частей не совпадает с числом подстановок. *) Добавление: location, который передаётся FastCGI-серверу, может быть задан с помощью регулярного выражения. *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами и в том виде, в котором был получен от клиента. *) Исправление: для использования регулярных выражений в location нужно было собирать nginx вместе с ngx_http_rewrite_module. *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании директивы "proxy_preserve_host on" в заголовке "Host" указывался также порт 80; ошибка появилась в 0.1.14. *) Исправление: если задать одинаковые пути в параметрах автоконфигурации --http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH, то происходил segmentation fault. Изменения в nginx 0.1.14 18.01.2005 *) Добавление: параметры автоконфигурации --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и --http-fastcgi-temp-path=PATH *) Изменение: имя каталога с временными файлами, содержащие тело запроса клиента, задаётся директивой client_body_temp_path, по умолчанию /client_body_temp. *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, fastcgi_busy_buffers_size, fastcgi_temp_path, fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, fastcgi_next_upstream и fastcgi_x_powered_by. *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в 0.1.3. *) Изменение: в директиве proxy_pass нужно обязательно указывать URI после имени хоста. *) Изменение: если в URI встречался символ %3F, то он считался началом строки аргументов. *) Добавление: поддержка unix domain сoкетов в модуле ngx_http_proxy_module. *) Добавление: директивы ssl_engine и ssl_ciphers. Спасибо Сергею Скворцову за SSL-акселератор. Изменения в nginx 0.1.13 21.12.2004 *) Добавление: директивы server_names_hash и server_names_hash_threshold. *) Исправление: имена *.domain.tld в директиве server_name не работали. *) Исправление: параметр лога %request_length записывал неверную длину. Изменения в nginx 0.1.12 06.12.2004 *) Добавление: параметр лога %request_length. *) Исправление: при использовании /dev/poll, select и poll на платформах, где возможны ложные срабатывания указанных методов, могли быть длительные задержки при обработке запроса по keep-alive соединению. Наблюдалось по крайней мере на Solaris с использованием /dev/poll. *) Исправление: директива send_lowat игнорируется на Linux, так как Linux не поддерживает опцию SO_SNDLOWAT. Изменения в nginx 0.1.11 02.12.2004 *) Добавление: директива worker_priority. *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу ответа. *) Исправление: nginx не вызывал initgroups(). Спасибо Андрею Ситникову и Андрею Нигматулину. *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в байтах. *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть битый symlink. *) Исправление: файлы больше 4G не передавались с использованием sendfile. *) Исправление: если бэкенд резолвился в несколько адресов и при ожидании от него ответа происходила ошибка, то процесс зацикливался. *) Исправление: при использовании метода /dev/poll рабочий процесс мог завершиться с сообщением "unknown cycle". *) Исправление: ошибки "close() channel failed". *) Исправление: автоматическое определение групп nobody и nogroup. *) Исправление: директива send_lowat не работала на Linux. *) Исправление: если в конфигурации не было раздела events, то происходил segmentation fault. *) Исправление: nginx не собирался под OpenBSD. *) Исправление: двойные слэшы в "://" в URI превращались в ":/". Изменения в nginx 0.1.10 26.11.2004 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../" или "%XX", то терялся последний символ в строке запроса; ошибка появилась в 0.1.9. *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux не работало. Изменения в nginx 0.1.9 25.11.2004 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый запрос передавался без аргументов. *) Исправление: при сжатии больших ответов иногда они передавались не полностью. *) Исправление: не передавались файлы больше 2G на Linux, неподдерживающем sendfile64(). *) Исправление: на Linux при конфигурации сборки нужно было обязательно использовать параметр --with-poll_module; ошибка появилась в 0.1.8. Изменения в nginx 0.1.8 20.11.2004 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов. *) Добавление: модификатор "^~" в директиве location. *) Добавление: директива proxy_max_temp_file_size. Изменения в nginx 0.1.7 12.11.2004 *) Исправление: при использовании sendfile, если передаваемый файл менялся, то мог произойти segmentation fault на FreeBSD; ошибка появилась в 0.1.5. Изменения в nginx 0.1.6 11.11.2004 *) Исправление: при некоторых комбинациях директив location c регулярными выражениями использовалась конфигурация не из того location. Изменения в nginx 0.1.5 11.11.2004 *) Исправление: на Solaris и Linux могло быть очень много сообщений "recvmsg() returned not enough data". *) Исправление: в режиме прокси без использования sendfile на Solaris возникала ошибка "writev() failed (22: Invalid argument)". На других платформах, не поддерживающих sendfile, процесс зацикливался. *) Исправление: при использовании sendfile в режиме прокси на Solaris возникал segmentation fault. *) Исправление: segmentation fault на Solaris. *) Исправление: обновление исполняемого файла на лету не работало на Linux. *) Исправление: в списке файлов, выдаваемом модулем ngx_http_autoindex_module, не перекодировались пробелы, кавычки и знаки процента. *) Изменение: уменьшение операций копирования. *) Добавление: директива userid_p3p. Изменения в nginx 0.1.4 26.10.2004 *) Исправление: ошибка в модуле ngx_http_autoindex_module. Изменения в nginx 0.1.3 25.10.2004 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex. *) Добавление: директива proxy_set_x_url. *) Исправление: модуль проксировании мог привести к зацикливанию, если не использовался sendfile. Изменения в nginx 0.1.2 21.10.2004 *) Добавление: параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure. *) Добавление: директива server_name поддерживает *.domain.tld. *) Исправление: улучшена переносимость на неизвестные платформы. *) Исправление: нельзя переконфигурировать nginx, если конфигурационный файл указан в командной строке; ошибка появилась в 0.1.1. *) Исправление: модуль проксировании мог привести к зацикливанию, если не использовался sendfile. *) Исправление: при использовании sendfile текст ответа не перекодировался согласно директивам модуля charset; ошибка появилась в 0.1.1. *) Исправление: очень редкая ошибка при обработке kqueue. *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при проксировании. Изменения в nginx 0.1.1 11.10.2004 *) Добавление: директива gzip_types. *) Добавление: директива tcp_nodelay. *) Добавление: директива send_lowat работает не только на платформах, поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT. *) Добавление: эмуляция setproctitle() для Linux и Solaris. *) Исправление: ошибка при переписывании заголовка "Location" при проксировании. *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию. *) Исправление: ошибки в модуле /dev/poll. *) Исправление: при проксировании и использовании временных файлов ответы портились. *) Исправление: бэкенду передавались запросы с неперекодированными символами. *) Исправление: на Linux 2.4 при конфигурации сборки нужно было обязательно использовать параметр --with-poll_module. Изменения в nginx 0.1.0 04.10.2004 *) Первая публично доступная версия.