Die Plattform Node.js 25.0.0 wurde veröffentlicht

Die Version Node.js 25.0.0 wurde veröffentlicht, eine Plattform zur Ausführung von Netzwerkapplikationen in JavaScript. Node.js 25.0 gehört zu den Zwischenversionen, deren Support für 7 Monate bis Juni 2026 erfolgt. In den kommenden Tagen wird die Stabilisierung der Node.js 24-Version abgeschlossen, die Ende Oktober den LTS-Status erhält und bis April 2028 unterstützt wird. Der Support für die vorherigen LTS-Versionen Node.js 22.x und 20.x wird bis April 2027 bzw. 2026 fortgesetzt.

Wesentliche Verbesserungen:

  • Die V8-Engine wurde auf Version 14.1 aktualisiert, die in Chromium 141 verwendet wird. Zu den Verbesserungen im Vergleich zur vorherigen Node.js-Version gehören eine signifikante Leistungssteigerung von JSON.stringify, Optimierungen bei WebAssembly und JIT sowie die Implementierung von Methoden zur Umwandlung zwischen Uint8Array und Daten im Base64- oder hexadezimalen Format.
  • Im Permission Model, das den Zugriff auf bestimmte Ressourcen während der Ausführung einschränkt, wurde die Option „—allow-net“ hinzugefügt, um den Netzwerkzugriff zu ermöglichen (wenn die Option „—allow-net“ nicht angegeben ist, wird der Start von Node.js im Modus „—permission“ den Fehler ERR_ACCESS_DENIED ausgeben, wenn versucht wird, Netzwerkoperationen auszuführen).
  • Standardmäßig aktiviert browserkompatibel Die API Web Storage ist für die dauerhafte (localStorage) oder temporäre (sessionStorage) Speicherung von Daten im Schlüssel/Wert-Format zuständig. Das Experimentlabel wurde von der API Web Storage entfernt.
  • In die Kategorie der global verfügbaren Klassen, die ohne expliziten Import verwendet werden können, wurde die Klasse ErrorEvent aufgenommen, die eine browserkompatible Schnittstelle zur Verarbeitung von Ereignissen mit Fehlerinformationen bereitstellt.
  • Für WebAssembly wurde die Unterstützung der API JSPI (JavaScript Promise Integration) aktiviert, die den Zugriff auf asynchrone Web-APIs aus sequenziell ausgeführtem Code, der in WebAssembly kompiliert wurde, ermöglicht.
  • Die Option „NODE_COMPILE_CACHE_RELATIVE_PATH“ wurde hinzugefügt, um portable Arbeiten mit dem Cache kompilierter Objekte zu ermöglichen. In diesem Modus werden Hashes zur Identifizierung der Objekte mit relativen Dateipfaden berechnet, was das Verschieben und Einbetten des Verzeichnisses mit Code zusammen mit dem Cache ermöglicht.
  • Die Möglichkeit zur Profilierung der CPU-Auslastung wurde hinzugefügt.
  • Der Paketmanager NPM wurde auf Version 11.6.2 aktualisiert.
  • Die Unterstützung für Python 3.14 wurde hinzugefügt.
  • Die minimal unterstützten Versionen sind Clang 19 und Xcode 16.4.
  • Die Unterstützung des Objekts SlowBuffer, das zuvor aufgrund potenzieller Sicherheitsprobleme als veraltet erklärt wurde, wurde eingestellt. Statt SlowBuffer sollte die Methode Buffer.allocUnsafeSlow() verwendet werden.

Die Node.js-Plattform kann sowohl für die serverseitige Unterstützung von Webanwendungen als auch für die Entwicklung herkömmlicher Client- und Server-Netzwerkprogramme genutzt werden. Für die Erweiterung der Funktionalität von Node.js-Anwendungen steht eine umfangreiche Sammlung von Modulen zur Verfügung, die Module mit Implementierungen bereitstellt, Server und HTTP-, SMTP-, XMPP-, DNS-, FTP-, IMAP-, POP3-Clients, Module zur Integration mit verschiedenen Web-Frameworks, WebSocket- und Ajax-Handler, Datenbank-Connectoren (MySQL, PostgreSQL, SQLite, MongoDB), Template-Engines, CSS-Engines, Implementierungen von Kryptografie-Algorithmen und Authentifizierungssystemen (OAuth), XML-Parser.

Um eine große Anzahl paralleler Anfragen zu bearbeiten, nutzt Node.js ein asynchrones Modell zur Ausführung von Code, das auf der Verarbeitung von Ereignissen im nicht-blockierenden Modus und der Definition von Callback-Handlern basiert. Zu den unterstützten Multiplexing-Methoden gehören epoll, kqueue, /dev/poll und select. Für das Multiplexing von Verbindungen wird die Bibliothek libuv verwendet, die eine Schicht über libev in Unix-Systemen und IOCP in Windows darstellt. Für die Erstellung eines Thread-Pools kommt die Bibliothek libeio zum Einsatz, und für nicht-blockierende DNS-Anfragen ist c-ares integriert. Alle systemcalls, die Blockierungen verursachen, werden innerhalb des Thread-Pools ausgeführt und über ein anonymes Pipe zurückgegeben, sowie die Signalhandler, die das Ergebnis ihrer Arbeit zurückleiten.

Die Ausführung von JavaScript-Code erfolgt über die Nutzung der von Google entwickelten V8-Engine (darüber hinaus entwickelt Microsoft eine Variante von Node.js mit der Chakra-Core-Engine). Node.js ähnelt in seiner Funktionsweise den Frameworks Perl AnyEvent, Ruby Event Machine, Python Twisted und der Ereignisimplementierung in Tcl, jedoch ist die Ereignisverarbeitungsschleife in Node.js vor dem Entwickler verborgen und ähnelt der Ereignisverarbeitung in Webanwendungen, die im Browser laufen.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster