издание на главния клон , в рамките на което продължава развитието на нови възможности (в паралелно поддържан стабилен включает только изменения, связанные с устранением критических ошибок и уязвимостей.
Основни :
- Добавена директива , който активира режим на пробен старт, при който не се прилагат ограничения за интензивността на обработката на заявки (без rate limit), но продължава да се отчита изходящият брой на заявките, който надвишава лимитите в споделена памет;
- При използването в блока с настройки «upstream» на директивата «» за организиране на балансиране на натоварването с привързване на клиента към сървъра, в случай на указване на празна стойност на ключа, сега се активира режим на равномерно балансиране (round-robin);
- Отстранен е сривът на работния процес при използване на кеша в комбинация с директивата «image_filter» и пренасочване на обработчика за код на грешка 415 с използване на директивата «error_page»;
- Отстранен е сривът на работния процес, проявяващ се при използване на вградения интерпретатор Perl.
Допълнително може да се отбележи njs 0.3.3, интерпретатор на JavaScript за уеб сървъра nginx. Интерпретаторът njs реализира стандартите ECMAScript и позволява разширяване на възможностите на nginx за обработка на заявки с помощта на скриптове в конфигурацията. Скриптовете могат да се използват във файла с конфигурация за определяне на разширена логика за обработка на заявки, статичен генериране на отговор, модификация на заявката/отговора или бързо създаване на заглушки за разрешаване на проблеми в уеб приложения.
В новото издание njs са отстранени проблемите, открити по време на fuzzing тестовете. Реализирана е глобалната променлива «process» с параметри и променливи на околната среда на текущия процес (process.pid, process.env.HOME и т.н.). Осигурена е възможност за запис във всички вградени свойства и методи. Добавена е реализация на Array.prototype.fill(). Реализирана е поддръжка на предложената в ECMAScript 5 синтаксис и за свързване на свойство от обект с функция, например:
var o = {a:2};
Object.defineProperty(o, ‘b’, {get:function(){return 2*this.a}});
Източник: opennet.ru
