From cfab2b4f8ef5e06caf25fcc5ef3c2d75aac7b80b Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Wed, 18 Dec 2024 16:29:42 +0300 Subject: [PATCH] Generated changes for the 1.8.0 release. --- CHANGES | 77 +++++++++++++++++++++++++++++++++ CHANGES.ru | 89 ++++++++++++++++++++++++++++++++++++-- docs/xml/angie/changes.xml | 2 +- 3 files changed, 164 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 51faf10e9..ed88b19c2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,81 @@ +Changes with Angie 1.8.0 19 Dec 2024 + + *) Change: when gracefully shutting down old worker processes, + keep-alive connections are now closed only after the timeout + specified by the "lingering_timeout" directive has expired; this + behaviour allows to avoid possible client errors when receiving + replies at that moment. + Thanks to Maxim Dounin (freenginx). + + *) Change: disabled caching of the "stream" module variables + "$ssl_server_name", "$ssl_server_cert_type", "$ssl_preread_protocol", + and "$ssl_preread_server_name", which allows to get actual values + when using virtual servers. + + *) Feature: support of "DNS-01" challenges by handling DNS queries from + the ACME server, which allows to automatically request certificates + of any types, including wildcard ones. + + *) Feature: hooks system in the ACME module, configurable using the + "acme_hook" directive, which allows handling of domain name + challenges using an external application to provide integration with + various services and DNS hosting providers. + + *) Feature: the ACME module logs some additional information: why + exactly the certificate is being renewed, full domain name list, + client's account ID, long periods of inactivity (e.g. pollings), and + the domain name being challenged; this information simplifies + troubleshooting and allows to specify the CAA DNS record. + + *) Feature: the "account_key" parameter of the "acme_client" directive, + which allows to reuse an existing key for the ACME server account + instead of auto-generating a new one. + + *) Feature: support for variables in the "status_zone" directives in the + stream and HTTP modules allows to dynamically account statistics + within several zones in a single "location" or "server" block; in + particular, it's especially useful when a single "server" block is + handling multiple virtual hosts. + + *) Feature: GZip HTTP compression module compatibility with the zlib-ng + versions 2.2.0 and above, which could previously cause "[alert] gzip + filter failed to use preallocated memory" messages in the error log. + + *) Feature: the "max_headers" directive that limits the number of HTTP + request header fields to better protect against DoS attacks. + Thanks to Maxim Dounin (freenginx) and Maksim Yevmenkin. + + *) Feature: the "http3_max_table_capacity" and + "proxy_http3_max_table_capacity" directives to configure the HTTP/3 + dynamic header compression table limits. + + *) Feature: cross-compilation support - the build system can now use a + wrapper script to run autotests, which enables to prepare a build + without running test programs directly on the target platform. + + *) Feature: all functionality of nginx 1.27.3. + + *) Bugfix: HTTP/3 clients could time out when using 0-RTT; the bug was + inherited from nginx in version 1.7.0. + + *) Bugfix: proxying with HTTP/3 using variables in the "proxy_pass" + directive and without specifying an "upstream" block could crash the + worker process. + + *) Bugfix: HTTP/3 upstreams using dynamic table could lead to worker + process crash if used with cache. + + *) Bugfix: some SSL handshakes could be not counted in statistics for + the "stream" module. + + *) Bugfix: HTTP/3 proxy settings specified in "http" or "server" level + might be ignored. + + *) Bugfix: the "proxy_client_certificate" directive didn't work when + proxying via HTTP/3 with NTLS support enabled. + + Changes with Angie 1.7.0 19 Sep 2024 *) Change: updated descriptions of HTTP status codes in conformance with diff --git a/CHANGES.ru b/CHANGES.ru index f9b5976d8..d47939eb6 100644 --- a/CHANGES.ru +++ b/CHANGES.ru @@ -1,9 +1,92 @@ +Изменения в Angie 1.8.0 19.12.2024 + + *) Изменение: при плавном завершении старых рабочих процессов + keepalive-соединения теперь закрываются только после истечения + таймаута, заданного директивой "lingering_timeout"; такое поведение + позволяет предотвратить возможные ошибки на клиенте при получении + ответа в этот момент. + Спасибо Максиму Дунину (freenginx). + + *) Изменение: отключено кэширование значений переменных stream-модуля + "$ssl_server_name", "$ssl_server_cert_type", "$ssl_preread_protocol" + и "$ssl_preread_server_name", что позволит получить актуальные + значения при использовании виртуальных серверов. + + *) Добавление: поддержка валидации "DNS-01" посредством ответа на + DNS-запрос от ACME-сервера, что позволяет автоматически запрашивать + сертификаты любых типов, в том числе wildcard. + + *) Добавление: система внешних вызовов в модуле ACME, настраиваемая с + помощью директивы "acme_hook", которая позволяет обеспечить валидацию + доменных имен посредством внешнего обработчика для интеграции с + различными сервисами и провайдерами DNS-хостинга. + + *) Добавление: ACME-модуль выводит в лог дополнительную информацию: + точная причина обновления сертификата, полный список доменов, + идентификатор аккаунта пользователя, длительные периоды неактивности + (например, во время опросов), какой домен выполняет валидацию; такая + информация позволяет легче диагностировать проблемы на этапе + перевыпуска сертификатов, а также прописывать DNS-запись CAA. + + *) Добавление: параметр "account_key" в директиве "acme_client", + позволяющий переиспользовать существующий ключ аккаунта ACME-сервера, + а не генерировать новый автоматически. + + *) Добавление: поддержка переменных в директиве "status_zone" в модулях + HTTP и stream позволяет динамически распределять статистику по + нескольким зонам в рамках одного блока "location" или "server"; это, + в частности, пригодится для случая, когда один блок "server" + обрабатывает несколько виртуальных хостов. + + *) Добавление: совместимость HTTP-модуля сжатия GZip с версиями + библиотеки zlib-ng 2.2.0 и выше, которые ранее могли приводить к + появлению в логе ошибок вида "[alert] gzip filter failed to use + preallocated memory". + + *) Добавление: директива "max_headers", ограничивающая максимальное + количество полей заголовка в HTTP-запросе для лучшей защиты от + DoS-атак. + Спасибо Максиму Дунину (freenginx) и Максиму Евменкину. + + *) Добавление: директивы "http3_max_table_capacity" и + "proxy_http3_max_table_capacity" для настройки ограничения на размер + динамической таблицы сжатия заголовка в HTTP/3. + + *) Добавление: поддержка кросс-компиляции - система сборки теперь может + использовать скрипт-обертку для запуска автотестов, что позволяет + подготовить сборку без запуска тестовых программ непосредственно на + целевой платформе. + + *) Добавление: вся функциональность nginx 1.27.3. + + *) Исправление: HTTP/3-клиенты могли отключаться по таймауту при + использовании 0-RTT; проблема была унаследована из nginx в версии + 1.7.0. + + *) Исправление: проксирование по HTTP/3 с использованием переменных в + директиве "proxy_pass" и без указания блока "upstream" могло + приводить к падению рабочего процесса. + + *) Исправление: кэширование HTTP/3-ответов при использовании + динамической таблицы сжатия заголовка могло привести к падению + рабочего процесса. + + *) Исправление: некоторые SSL-рукопожатия могли не учитываться в + счетчиках статистики для stream-модуля. + + *) Исправление: настройки HTTP/3-проксирования указанные на уровне + "http" или "server" могли игнорироваться. + + *) Исправление: при проксировании по протоколу HTTP/3 c включенной + поддержкой NTLS директива "proxy_client_certificate" не работала. + + Изменения в Angie 1.7.0 19.09.2024 *) Изменение: обновлены текстовые описания кодов HTTP-ответов в соответствии с RFC 9110. - Спасибо Максиму Дунину (freenginx) и Michiel W. Beijen. + Спасибо Максиму Дунину (freenginx) и Михилу В. Бейену. *) Изменение: теперь перед HTTP-запросом допускается не более одной пустой строки для улучшения защиты против DoS-атак. @@ -18,7 +101,7 @@ transfer encoding" суммарный размер игнорируемых "chunk extensions" и полей "trailer header" теперь ограничен директивой "client_max_body_size" для улучшения защиты против DoS-атак. - Спасибо Максиму Дунину (freenginx) и Bartek Nowotarski. + Спасибо Максиму Дунину (freenginx) и Бартеку Новотарскому. *) Изменение: MIME-тип в файле конфигурации "mime.types" для расширения bmp изменён на "image/bmp", для расширения rar - на @@ -100,7 +183,7 @@ *) Исправление: обработка закэшированных ответов с заголовком "X-Accel-Redirect" могла приводить к падению рабочего процесса. - Спасибо Максиму Дунину (freenginx) и Jiří Setnička. + Спасибо Максиму Дунину (freenginx) и Иржи Сетничке. Изменения в Angie 1.6.0 28.06.2024 diff --git a/docs/xml/angie/changes.xml b/docs/xml/angie/changes.xml index 01f37d41e..3427f37d8 100644 --- a/docs/xml/angie/changes.xml +++ b/docs/xml/angie/changes.xml @@ -5,7 +5,7 @@ - +