Выпуск nginx 1.17.8 і njs 0.3.8

Сфарміраваны выпуск асноўнай галінкі Nginx 1.17.8, у рамках якой працягваецца развіццё новых магчымасцяў (у паралельна падтрымліваецца стабільнай галінцы 1.16 уносяцца толькі змены, злучаныя з ухіленнем сур'ёзных памылак і ўразлівасцяў).

Асноўныя змены:

  • У дырэктыве grpc_pass дададзена падтрымка выкарыстання зменнай у параметры, які вызначае адрас. Калі адрас паказаны ў выглядзе даменнага імя, імя шукаецца сярод апісаных груп сервераў і калі не знойдзена, тое вызначаецца з дапамогай resolver'а;
  • Выпраўлена памылка пры апрацоўцы pipelined-запытаў па SSL-злучэнні пры якой мог адбыцца таймаўт;
  • Унесены выпраўленні ў дырэктыве debug_points пры выкарыстанні пратаколу HTTP/2.

Дадаткова можна адзначыць выпуск njs 0.3.8, інтэрпрэтатара мовы JavaScript для вэб-сервера nginx. Інтэрпрэтатар njs рэалізуе стандарты ECMAScript і дазваляе пашыраць магчымасці nginx па апрацоўцы запытаў з дапамогай скрыптоў у канфігурацыі. Скрыпты могуць выкарыстоўвацца ў файле канфігурацыі для вызначэння пашыранай логікі апрацоўкі запытаў, фармаванні канфігурацыі, дынамічнай генерацыі адказу, мадыфікацыі запыту/адказу ці хуткага стварэння заглушак з рашэннем праблем у web-прыкладаннях.

У новым выпуску ў модулі nginx дададзена падтрымка Promise для r.subrequest і ўнесены змены ў апрацоўшчык ўласцівасці r.parent. Таксама:

  • дададзеная падтрымка Promise;
  • дададзеная пачатковая падтрымка Typed-масіўаў;
  • дададзеная падтрымка ArrayBuffer;
  • дададзеная пачатковая падтрымка сімвалаў;
  • дададзена вонкавае кіраванне для JSON.stringify();
  • дададзены Object.is();
  • дададзены Object.setPrototypeOf();
  • уведзены нулявы аператар аб'яднання (згуртавацца);
  • унесена выпраўленне ў Object.getPrototypeOf() у адпаведнасці са спецыфікацыяй;
  • унесена выпраўленне ў Object.prototype.valueOf() у адпаведнасці са спецыфікацыяй;
  • унесена выпраўленне ў JSON.stringify() з недрукаванымі значэннямі і
    функцыяй заменніка;

  • выпраўлены аператар "in" паводле спецыфікацыі;
  • унесена выпраўленне ў Object.defineProperties() у адпаведнасці з
    са спецыфікацыяй;

  • унесена выпраўленне ў Object.create() паводле спецыфікацыі.
  • унесена выпраўленне ў Number.prototype.toString(radix), пры ўключанай Хуткай матэматыкі;
  • выпраўлены ўласцівасці асобніка RegExp();
  • выпраўлена памылка імпарту пры імпарце.

Крыніца: opennet.ru

Дадаць каментар