Представлен выпуск новой основной ветки nginx 1.19.1, в рамках которой ведётся развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.18.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.19.x будет сформирована стабильная ветка 1.20.
В директивы «proxy_cache_path«,
«fastcgi_cache_path», «scgi_cache_path» и «uwsgi_cache_path» добавлен параметр «min_free», регулирующий размер кэша на основе определения минимального размера свободного дискового пространства.
Директивы «lingering_close«, «lingering_time» и «lingering_timeout» адаптированы для работы с HTTP/2.
Обеспечено отбрасывание всех лишних данных, отправляемых бэкендом.
При получении очень короткого ответа от сервера FastCGI, Nginx теперь пытается отправить клиенту доступную часть ответа, после чего закрывает соединение.
При получении от бэкенда gRPC ответа некорректной длины, Nginx прекращает обработку запроса с выводом ошибки.
Устранены ошибки, например, обеспечено удаление слушающих Unix-сокетов при обработке сигнала SIGQUIT, налажено проксирование UDP-пакетов нулевого размера и проксирование к бэкендам uwsgi при использовании SSL, исправлена обработка ошибок при использовании директивы «ssl_ocsp», исправлен некорректный расчёт размера кэша в ФC XFS и NFS.
Одновременно состоялся выпуск njs 0.4.2, интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript и позволяет расширять возможности nginx по обработке запросов с помощью скриптов в конфигурации. Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях. В новой версии добавлена поддержка RegExp.prototype[Symbol.replace] и %TypedArray%.prototype.sort(). Представлена возможность построчной обратной трассировки. В модуль «fs» добавлены функции, подобные mkdir(), readdir() и rmdir().
Кроме того, в министерстве внутренних дел РФ получено подтверждение информации о прекращении уголовного дела о правах на программное обеспечение Nginx, а также о завершении проверки принятого решения надзирающей прокуратурой. «Указанное уголовное дело, возбужденное 04.12.2019 по факту нарушения авторских прав ООО «Рамблер Интернет Холдинг» при разработке программного обеспечения «Nginx», 18.05.2020 прекращено по п. 1 ч. 1 ст. 24 УПК РФ (в связи с отсутствием состава преступления)». Ранее о прекращении уголовного дела сообщил Игорь Сысоев, автор Nginx, но оставалась вероятность отмены данного решения надзорными органами. При этом в суде США продолжается связанное с правами на Nginx разбирательство против компаниии F5 Networks, инициированное после подачи иска юридической фирмой Lynwood Investments.