Представлен (http://mailman.nginx.org/pipermail/nginx-announce/2019/00024...) первый выпуск новой основной ветки nginx 1.17 (http://nginx.org), в рамках которой будет продолжено развитие новых возможностей (в параллельно поддерживаемой стабильной ветке 1.16 (https://www.opennet.dev/opennews/art.shtml?num=50561) вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей). Основные изменения (http://nginx.org/en/CHANGES):
- Добавлена поддержка переменных в директивах "limit_rate" и "limit_rate_after", а также в директивах "proxy_upload_rate" и
"proxy_download_rate" модуля stream;
- Повышены требования к минимально поддерживаемой версии OpenSSL - 0.9.8;
- По умолчанию обеспечена сборка модуля ngx_http_postpone_filter_module;
- Решены проблемы с неработой директивы "include" внутри блоков "if" и "limit_except";
- Исправлена ошибка при обработке байтовых значений "Range (https://tools.ietf.org/html/rfc7233)".
Из значительных улучшений, которые ожидаются в ветке 1.17, упоминается реализация поддержки протоколов QUIC и HTTP/3 (https://www.opennet.dev/opennews/art.shtml?num=49594).
Дополнительно можно отметить выпуск (http://mailman.nginx.org/pipermail/nginx-announce/2019/00024...) njs 0.3.2, интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript и позволяет расширять возможности nginx по обработке запросов с помощью скриптов в конфигурации. Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях.
В новом выпуске njs добавлена поддержка шаблонов строк, определённых в спецификации ECMAScript 6 (https://www.opennet.dev/opennews/art.shtml?num=42450). Шаблоны строк являются строковыми литералами, допускающими встраивание выражений. Выражения определяются в размещённом внутри строки блоке ${...}, который может включать как отдельные переменные (${name}), так и выражения (${5 + a + b})). Кроме того, добавлена поддержка именованных групп в объекте RegExp, позволяющих связать сопоставленные регулярным выражением части строки с определёнными именами вместо порядковых номеров совпадений. Добавлена поддержка сборки с библитекой GNU Readline.
URL: https://www.nginx.com/blog/nginx-1-16-1-17-released/
Новость: https://www.opennet.dev/opennews/art.shtml?num=50718