Node.js 26.0.0 platformu yayımlandı

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

Başlıca iyileştirmeler:

  • Включён по умолчанию 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 platformu, hem Web uygulamalarının sunucu bakımı için hem de düzenli istemci ve sunucu ağ programları oluşturmak için kullanılabilir. Node.js uygulamalarının işlevselliğini genişletmek için, içinde HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 sunucuları ve istemcileri, entegrasyon modülleri uygulayan modüller bulabileceğiniz geniş bir modül koleksiyonu hazırlanmıştır. çeşitli web çerçeveleri, WebSocket ve Ajax işleyicileri , DBMS konektörleri (MySQL, PostgreSQL, SQLite, MongoDB), şablon oluşturma motorları, CSS motorları, kripto algoritmaları ve yetkilendirme sistemleri (OAuth), XML ayrıştırıcıları ile.

Çok sayıda eşzamanlı isteği işlemek için Node.js, engellemeyen olay işleme ve geri arama işleyicilerini tanımlamaya dayalı eşzamansız bir kod yürütme modeli kullanır. Bağlantıları çoklamak için desteklenen yöntemler arasında epoll, kqueue, /dev/poll ve select bulunur. Bağlantıları çoklamak için Unix sistemlerde libev'in, Windows sistemlerde ise IOCP'nin bir üst kümesi olan libuv kütüphanesi kullanılır. İş parçacığı havuzunu oluşturmak için libeio kütüphanesi, DNS sorgularını engellemesiz modda gerçekleştirmek için ise c-ares entegre edilmiştir. Tüm bloke edici sistem çağrıları iş parçacığı havuzunun içinde yürütülür ve daha sonra sinyal işleyicileri gibi çalışmalarının sonucunu isimlendirilmemiş bir borudan geri iletir.

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

Kaynak: opennet.ru