Node.js 26.0.0 平台发布

Состоялся релиз Node.js 26.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 26.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 26.x будет осуществляться до мая 2029 года. Сопровождение прошлой LTS-ветки Node.js 24.x будет осуществляться до 30 апреля 2028 года, а позапрошлой 22.x — до 30 апреля 2027 года. Сопровождение LTS-ветки 20.x прекращено 30 апреля 2026 года, а промежуточной ветки Node.js 25.x будет прекращено 1 июня 2026 года.

主要改进:

  • Включён по умолчанию API Temporal, предлагающий альтернативный набор методов для работы с датами и временем. API позволяет манипулировать датами с учётом и без учёта часовых поясов, конвертировать время, форматировать вывод и выполнять арифметические операции со временем. Время может задаваться в независимом от часового пояса представлении (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), с привязкой к часовому поясу (Temporal.ZonedDateTime) и в эпохальном представлении (Temporal.Instant — число наносекунд с 1 января 1970 года).
  • Движок V8 обновлён до версии 14.6, применяемой в Chromium 146. Из улучшений по сравнению с прошлым выпуском Node.js отмечена возможность объединять несколько итераторов в один с помощью метода Iterator.concat(), а также реализация спецификации «upsert» для упрощения работы с коллекциями пар ключ/значение в JavaScript-объектах Map и WeakMap.
  • HTTP-клиент undici обновлён до ветки 8.x.
  • Удалён метод http.Server.prototype.writeHeader(), вместо которого следует использовать http.Server.prototype.writeHead().

Node.js 平台既可用于 Web 应用程序的服务器维护,也可用于创建常规的客户端和服务器网络程序。 为了扩展 Node.js 应用程序的功能,准备了大量模块,您可以在其中找到实现 HTTP、SMTP、XMPP、DNS、FTP、IMAP、POP3 服务器和客户端的模块,以及用于集成的模块具有各种 Web 框架、WebSocket 和 Ajax 处理程序、DBMS 连接器(MySQL、PostgreSQL、SQLite、MongoDB)、模板引擎、CSS 引擎、加密算法和授权系统 (OAuth) 的实现、XML 解析器。

为了处理大量并发请求,Node.js 使用基于非阻塞事件处理和定义回调处理程序的异步代码执行模型。支持的多路复用连接方法包括 epoll、kqueue、/dev/poll 和 select。为了多路复用连接,使用了 libuv 库,它是 Unix 系统上的 libev 和 Windows 上 IOCP 的超集。使用libeio库创建线程池,并集成c-ares以非阻塞模式执行DNS查询。所有阻塞系统调用都在线程池内执行,然后像信号处理程序一样,通过未命名的管道将其工作结果传回。

Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8. По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python asyncio и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере.

来源: opennet.ru