Node.js 26.0.0-platformen er udgivet

Состоялся релиз 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 года.

Vigtigste forbedringer:

  • Включён по умолчанию 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 platformen kan bruges både til servervedligeholdelse af webapplikationer og til at skabe almindelige klient- og servernetværksprogrammer. For at udvide funktionaliteten af ​​applikationer til Node.js er der udarbejdet en stor samling af moduler, hvori du kan finde moduler med implementering af HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 servere og klienter, moduler til integration med forskellige web-frameworks, WebSocket- og Ajax-handlere, DBMS-connectors (MySQL, PostgreSQL, SQLite, MongoDB), skabelonmotorer, CSS-motorer, implementeringer af kryptoalgoritmer og autorisationssystemer (OAuth), XML-parsere.

For at håndtere et stort antal samtidige anmodninger bruger Node.js en asynkron kodeudførelsesmodel baseret på ikke-blokerende hændelseshåndtering og definition af callback-handlere. Understøttede metoder til multipleksing af forbindelser inkluderer epoll, kqueue, /dev/poll og select. Til at multiplekse forbindelser bruges libuv-biblioteket, som er et supersæt af libev på Unix-systemer og IOCP på Windows. Libeio-biblioteket bruges til at oprette en trådpulje, og c-ares er integreret til at udføre DNS-forespørgsler i ikke-blokerende tilstand. Alle blokerende systemkald udføres inde i trådpuljen og sender derefter, ligesom signalhåndterere, resultatet af deres arbejde tilbage gennem en unavngiven pipe.

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

Kilde: opennet.ru