Opublikowano pierwszą wersję nowej głównej gałęzi nginx 1.29.0, w ramach której będą kontynuowane prace nad nowymi funkcjami. W równolegle wspieranej stabilnej gałęzi 1.28.x wprowadzane są jedynie zmiany związane z usuwaniem poważnych błędów i podatności. W przyszłym roku na podstawie głównej gałęzi 1.29.x zostanie utworzona stabilna gałąź 1.30. Kod projektu napisany jest w języku C i jest udostępniany na licencji BSD.
W nowym wydaniu:
- Dodano dyrektywę „early_hints” oraz wdrożono obsługę kodu HTTP 103 w odpowiedziach od backendów proxy i gRPC. Kod 103 pozwala informować klienta o zawartości niektórych nagłówków HTTP natychmiast po żądaniu, nie czekając aż serwer zrealizuje wszystkie powiązane operacje związane z żądaniem i zacznie dostarczanie treści. W ten sposób można przekazywać podpowiedzi dotyczące elementów powiązanych z dostarczaną stroną, które mogą być wcześniej załadowane (np. mogą być podane linki do używanych na stronie plików CSS i JavaScript). Otrzymując informacje o takich zasobach, przeglądarka zacznie je ładować, nie czekając na zakończenie dostarczania głównej strony, co pozwala skrócić łączny czas przetwarzania żądania.
- Udostępniono możliwość ładowania kluczy kryptograficznych z tokenów sprzętowych, wykorzystując bibliotekę OpenSSL jako dostawcę.
- Na platformie macOS wprowadzono obsługę parametru „so_keepalive” w dyrektywie „listen”.
- Poziom błędów występujących podczas negocjacji połączeń z użyciem protokołu QUIC zmieniono z „error” na „crit” dla krytycznych problemów z SSL oraz na „info” dla pozostałych problemów z SSL.
- Podczas budowy wersji dla Windows wykorzystano Windows SDK 10.
- Rozwiązano problemy z budowaniem modułów ngx_http_v2_module i ngx_http_v3_module korzystając z GCC 15, a także problemy z budowaniem modułu ngx_http_v3_module z optymalizacjami „-O3 -flto” w GCC 14.
- Ulepszono obsługę HTTP/3.
Źródło: opennet.ru
