Нова версія V8, до 35% швидше JSON.stringify і свіжі можливості для розробників: вийшов Node.js 25
Команда Node.js офіційно представила Node.js 25.0.0 — поточну версію, орієнтовану на експериментальні можливості, продуктивність та стабільність платформи. Реліз анонсував один із головних мейнтейнерів проєкту — Рафаель Ґонзаґа.

Головні зміни
Оновлений рушій V8 14.1
Node.js 25 працює на V8 14.1, який також використовується в Chrome 127. Новий рушій приніс суттєве зростання продуктивності, зокрема, виконання JSON.stringify() тепер відбувається до 35% швидше завдяки оптимізації внутрішніх алгоритмів серіалізації. Оновлення також принесло покращену підтримку Iterator helpers, Temporal API та Intl API, що підвищує сумісність Node із сучасними можливостями ECMAScript.
Крім того, зменшено споживання пам’яті під час парсингу великих об’єктів і покращено стабільність виконання асинхронних ітерацій — важливий момент для розробників, які працюють із потоковими або обчислювально інтенсивними даними.
Розширення web-сумісних API
Node.js продовжує наближатися до браузерного середовища. У цій версії стабільним став AbortSignal.timeout(), який спрощує обробку таймаутів без сторонніх бібліотек. Значних оновлень зазнала реалізація fetch(). Тепер вона підтримує стрімінговий duplex-режим, що дозволяє передавати дані у двох напрямках без додаткових обгорток.
Також було вдосконалено WebSocket і WebStreams, які тепер працюють стабільніше під час високих навантажень. Оновлена логіка вимірювання затримок у event loop допомагає швидше виявляти «підвисання» в асинхронному коді й ефективніше відлагоджувати продуктивність серверів.
Оптимізація модульної системи
У Node.js 25 значно оптимізовано кешування модулів. Виклики require() та import виконуються швидше, особливо в великих проєктах. Поліпшено взаємодію з менеджерами пакетів npm, pnpm та Yarn, що зменшує кількість I/O-операцій під час інсталяції залежностей.
Краща робота у контейнерах
Node.js став дружнішим до контейнеризованих середовищ. Зокрема, тепер він коректно обробляє сигнали завершення SIGTERM і SIGINT у Docker-контейнерах.
Відмова від застарілих API
Команда офіційно розпочала процес деактивації старих інтерфейсів. Зокрема, domain API визнано застарілим і невдовзі буде вилучено. Розробникам рекомендують переходити на сучасні альтернативи — AsyncLocalStorage або AbortController, які краще узгоджуються з асинхронною природою Node.js.
Інші зміни
Було оновлено також низку системних модулів — fs, crypto та stream — із дрібними, але важливими виправленнями, спрямованими на стабільність. Покращено збірку нативних модулів через node-gyp, особливо для користувачів Windows і macOS, де тепер зменшено кількість конфліктів із компіляторами.
Додатково розширено підтримку diagnostics_channel. З’явилися нові warning-повідомлення, які попереджають про використання небезпечних або застарілих опцій запуску. Також команда підготувала основу для майбутнього permission model — системи контролю доступу до файлів і мережі, яка має з’явитися у Node.js 26.

1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів