Lanzamiento de la plataforma 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 года.

Principales mejoras:

  • Включён по умолчанию 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().

La plataforma Node.js se puede utilizar tanto para el mantenimiento de servidores de aplicaciones web como para crear programas regulares de red de clientes y servidores. Para ampliar la funcionalidad de las aplicaciones para Node.js, se ha preparado una gran colección de módulos, en la que se pueden encontrar módulos con la implementación de servidores y clientes HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, módulos para integración con varios marcos web, controladores WebSocket y Ajax, conectores DBMS (MySQL, PostgreSQL, SQLite, MongoDB), motores de plantillas, motores CSS, implementaciones de algoritmos criptográficos y sistemas de autorización (OAuth), analizadores XML.

Para gestionar grandes cantidades de solicitudes simultáneas, Node.js utiliza un modelo de ejecución de código asincrónico basado en el manejo de eventos no bloqueantes y la definición de controladores de devolución de llamadas. Los métodos admitidos para multiplexar conexiones incluyen epoll, kqueue, /dev/poll y select. Para multiplexar conexiones, se utiliza la biblioteca libuv, que es un superconjunto de libev en sistemas Unix y IOCP en Windows. La biblioteca libeio se utiliza para crear un grupo de subprocesos y c-ares está integrado para realizar consultas DNS en modo sin bloqueo. Todas las llamadas al sistema de bloqueo se ejecutan dentro del grupo de subprocesos y luego, al igual que los controladores de señales, pasan el resultado de su trabajo a través de una tubería sin nombre.

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

Fuente: opennet.ru