категории | RSS

Вышла Node.js 22

24 апреля 2024 года состоялся релиз javascript-платформы Node.js 22. Платформа Node.js может быть использована как для серверного сопровождения работы веб-приложений, так и для создания обычных клиентских и серверных сетевых программ.

Для расширения функциональности приложений для Node.js подготовлена коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.

Версия проекта Node.js 22 отнесена к веткам с длительным сроком поддержки (LTS), но этот статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 22.x будет осуществляться до 30 апреля 2027 года. Сопровождение прошлой LTS-ветки Node.js 20.x продлится до апреля 2026 года, а позапрошлой LTS-ветки 18.x до апреля 2025 года. Сопровождение промежуточной ветки Node.js 21.x будет прекращено 1 июня 2024 года. ">получит в октябре статус с длительным сроком поддержки (LTS), после проведения стабилизации кода. Поддержка Node.js 22.x будет осуществляться до 30 апреля 2027 года. Сопровождение LTS-ветки Node.js 20.x продлится до апреля 2026 года, а LTS-ветки 18.x до апреля 2025 года. Сопровождение промежуточной ветки Node.js 21.x будет прекращено 1 июня 2024 года.

По данным OpenNET, основные изменения и дополнения в Node.js 22:

движок V8 обновлён до версии 12.4, применяемой в Chromium 124;

включён по умолчанию оптимизирующий JIT-компилятор Maglev, нацеленный на быструю генерацию высокопроизводительного машинного кода для активно используемого кода на javascript. Включение Maglev позволяет заметно ускорить работу короткоживущий CLI-приложений, не выполняющих длительных операций, например, время прохождения теста Jetstrea сокращается на 7.5%, а теста Speedometer на 5%;

ускорена работа с потоками за счёт увеличения значения опции highWaterMark с 16 KB до 65 KB (определяет лимит, до которого выполняется буферизация записи). Изменение приводит к увеличению потребления памяти, поэтому приложениям, рассчитанным на работу с ограниченным объёмом ОЗУ, возможно потребуется вернуть старое значение через вызов setDefaultHighWaterMark();

повышена производительность API fetch() и test runner за счёт повышения эффективности создания экземпляров AbortSignal. Повышена производительность API, связанных с синхронной работой с файловыми системами;

предоставлена экспериментальная возможность использования вызова "require()" для загрузки javascript-модулей ESM (ECMAScript Modules) в синхронном режиме. ESM-модули применяются в браузерах и идут на смену модулям CommonJS, специфичным для Node.js. Для загрузки через "require()" ESM-модуль должен выполняться в синхронном режиме (без await на верхнем уровне). Поддержка включается через флаг "--experimental-require-module";

добавлена экспериментальная возможность запуска скриптов, определённых в файле package.json, используя команду "--run ";

в категорию стабильных переведена команда "node --watch" с реализацией режима наблюдения, обеспечивающего перезапуск процесса при изменении импортированного файла (например, в случае выполнения "node --watch index.js" процесс будет автоматически перезапущен при изменении index.js);

стабилизирована встроенная реализация API WebSocket, позволяющего использовать WebSocket в режиме клиента без установки дополнительных зависимостей;

добавлена частичная поддержка API Navigator;

в API Webstreams добавлена поддержка формата сжатия deflate-raw;

в модуль node:fsmodule добавлены функции glob и globSync для сопоставления файловых путей по образцу;

улучшена обработка некорректно настроенных стеков IPv6. Реализован алгоритм Happy Eyeballs для быстрого отката в случае проблем с работой IPv6;

объявлен устаревшим API util;

обновлены версии зависимостей: npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson to 3.8.0, ada 2.7.7 и undici 6.6.0.



Источник новости: habr.com

DimonVideo
2024-04-25T12:50:02Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика