publication de la branche principale , dans le cadre duquel le développement de nouvelles fonctionnalités se poursuit (dans la version stable maintenue en parallÚle seules des modifications liées à la correction de bogues graves et de vulnérabilités sont apportées).
Principales :
- Il est interdit de spécifier plusieurs lignes « Host » dans
l'en-tĂȘte de la requĂȘte ; - Correction d'un bogue oĂč nginx ignorait les lignes supplĂ©mentaires
« Transfer-Encoding » dans l'en-tĂȘte de la requĂȘte ; - Des corrections ont Ă©tĂ© apportĂ©es pour Ă©viter les fuites de sockets lors de l'utilisation du protocole HTTP/2 ;
- Correction d'un plantage (segmentation fault) du processus de travail se produisant lors de l'utilisation de OCSP stapling ;
- Corrections apportées au module ngx_http_mp4_module ;
- RĂ©solution d'un problĂšme dans les cas oĂč une redirection d'erreur avec le code 494 via la directive 'error_page' pouvait renvoyer une rĂ©ponse avec le code 494 au lieu de 400 ;
- Ăvitement des fuites de sockets lors de l'utilisation de sous-requĂȘtes dans le module njs et de la directive aio.
Il convient Ă©galement de noter , l'interprĂ©teur de JavaScript pour le serveur web nginx. L'interprĂ©teur njs met en Ćuvre les normes ECMAScript et permet d'Ă©tendre les capacitĂ©s de nginx en traitant les requĂȘtes avec des scripts dans la configuration. Les scripts peuvent ĂȘtre utilisĂ©s dans le fichier de configuration pour dĂ©finir une logique de traitement des requĂȘtes Ă©tendue, gĂ©nĂ©rer dynamiquement des rĂ©ponses, modifier les requĂȘtes/rĂ©ponses ou crĂ©er rapidement des maquettes pour rĂ©soudre des problĂšmes dans les applications web.
La nouvelle version du module njs ââajoute le support du mode des requĂȘtes dĂ©tachĂ©es dans r.subrequest(). Les rĂ©ponses aux sous-requĂȘtes dĂ©tachĂ©es sont ignorĂ©es. Contrairement aux sous-requĂȘtes normales, une sous-requĂȘte dĂ©tachĂ©e peut ĂȘtre créée Ă l'intĂ©rieur d'un gestionnaire de variables. De plus :
- Ajout d'une API Promises pour le module « fs » ;
- Des fonctions access(), symlink(), unlink(),
realpath() et similaires ont été ajoutées au module « fs » ; - Des tableaux ordinaires efficaces en termes de consommation de mémoire ont été introduits ;
- Des améliorations ont été apportées au lexer ;
- Correction du mappage des fonctions natives dans les traces inverses (backtraces).
dans les traces ; - Les appels de rappel ont été corrigés dans le module « fs » ;
- Des corrections ont été apportées à Object.getOwnPropertySymbols();
- Correction d'un débordement de mémoire dynamique dans njs_json_append_string();
- Correction de encodeURI() et decodeURI() conformément à la spécification ;
- Correction de Number.prototype.toPrecision();
- Correction du traitement de l'argument espace dans JSON.stringify();
- Correction apportée à JSON.stringify() avec des objets Number() et String();
- Ăchappement des caractĂšres Unicode assurĂ© dans JSON.stringify() conformĂ©ment
à la spécification; - Correction apportée à l'importation de modules non natifs;
- Correction apportée à njs.dump() avec une instance de Date() dans le conteneur.
Source : opennet.ru
