После более пяти месяцев разработки состоялся выпуск 0.11.0 QuickJS-NG – небольшого встраиваемого движка JavaScript и предназначенный для поддержки последней спецификации ECMAScript.
Это форк оригинального проекта QuickJS Фабриса Белларда и Чарли Гордона, и создан после того, как QuickJS перестал развиваться, с целью возобновить его разработку.
Проект сосредоточен на следующих аспектах (но не ограничивается ими):
- Развитие сообщества
- Тестирование
- Кроссплатформенность
- Функции ECMAScript
Отличия от оригинального проекта можно посмотреть здесь. Проект написан на языке C и распространяется по лицензии MIT.
Список основных изменений:
os.execподдерживает дополнительные группы.Function.prototype.argumentsсоответствует спецификации.- Прото-методы итератора соответствуют спецификации.
TypedArray.prototype.includesсоответствует спецификации.- Добавлены функции и методы:
JS_IsSet,JS_IsWeakRef,Map,WeakMap,Iterator.concatи др. - Перенос исправлений по обработке OOM, утечке памяти и других изменений из bellard/quickjs.
- Использование
poll()вместоselect()в функцииjs_os_poll. - Конструктор
TypedArrayсделан расширяемым. - Добавлены
JS_New{Internal,Plain,Range,Reference,Syntax,Type}Error. - В список использующих QuickJS-NG проектов добавлена Lua-библиотека регулярных выражений Lua jsregexp.
- Другие улучшения, оптимизации и исправления ошибок.
