Node.js 25.0.0 is uitgebracht.

Node.js 25.0.0 is released, a platform for running network applications in JavaScript. Node.js 25.0 is classified under intermediate branches, which will be maintained for 7 months (until June 2026). In the coming days, the stabilization of the Node.js 24 branch will be completed, which will receive LTS status at the end of October and will be supported until April 2028. Support for previous LTS branches Node.js 22.x and 20.x will continue until April 2027 and 2026, respectively.

Hoofdverbeteringen:

  • The V8 engine has been updated to version 14.1, used in Chromium 141. Improvements compared to the previous Node.js release include significant performance enhancements for the JSON.stringify method, optimization of WebAssembly and JIT, and the implementation of methods for converting between Uint8Array and data in base64 or hexadecimal format.
  • The Permission Model, which restricts access to certain resources during execution, has added the option "—allow-net" to enable network access (if the option "—allow-net" is not specified, running Node.js in "—permission" mode will result in an ERR_ACCESS_DENIED error when attempting network operations).
  • Enabled by default browser-compatible The Web Storage API, designed for permanent (localStorage class) or temporary (sessionStorage class) storage of data in key/value format. The experimental development label has been removed from the Web Storage API.
  • The ErrorEvent class, providing a browser-compatible interface for handling events with error information, is now globally accessible (can be used without explicit import).
  • For WebAssembly, support for the JSPI (JavaScript Promise Integration) API has been included, allowing access to asynchronous Web APIs from sequentially executed code compiled to WebAssembly.
  • The "NODE_COMPILE_CACHE_RELATIVE_PATH" option has been added for portable work with the cache of compiled objects. In this mode, hashes for object identification are calculated using relative file paths, allowing the content of the code directory to be moved and embedded along with the cache.
  • Added the ability to profile CPU load.
  • The NPM package manager has been updated to version 11.6.2.
  • Support for Python 3.14 has been added.
  • Clang 19 and Xcode 16.4 are declared as the minimum supported versions.
  • Ondersteuning voor het SlowBuffer-object is beĆ«indigd, dat eerder als verouderd werd verklaard vanwege mogelijke beveiligingsproblemen. Gebruik in plaats van SlowBuffer de methode Buffer.allocUnsafeSlow().

Het Node.js-platform kan worden gebruikt voor zowel serverondersteuning van webapplicaties als voor het creƫren van reguliere client- en servernetwerkprogramma's. Voor de uitbreiding van de functionaliteit van toepassingen voor Node.js is er een grote collectie modules beschikbaar, waar je modules kunt vinden met implementatie van servers en clients voor HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modules voor integratie met verschillende webframeworks, WebSocket en Ajax handlers, connectoren naar databases (MySQL, PostgreSQL, SQLite, MongoDB), template-engines, CSS-engines, implementaties van cryptografie en autorisatiesystemen (OAuth), XML-parsers.

Voor de verwerking van een groot aantal gelijktijdige aanvragen maakt Node.js gebruik van een asynchrone code-uitvoeringsmodel, gebaseerd op event-driven niet-blokkerende modus en het definiëren van callback handlers. Als methoden voor het multiplexeren van verbindingen worden technieken zoals epoll, kqueue, /dev/poll en select ondersteund. Voor het multiplexeren van verbindingen wordt de libuv-bibliotheek gebruikt, die een abstractielaag biedt boven libev in Unix-systemen en boven IOCP in Windows. Voor het creëren van een threadpool wordt de libeio-bibliotheek ingeschakeld, en voor het uitvoeren van DNS-aanvragen in niet-blokkerende modus is c-ares geïntegreerd. Alle systeemaanroepen die blokkering veroorzaken, worden uitgevoerd binnen de threadpool en sturen, net als signal handlers, het resultaat van hun werk terug via een ongeïnitialiseerde buis (pipe).

De uitvoering van JavaScript-code wordt mogelijk gemaakt door de V8-engine die is ontwikkeld door Google (bovendien ontwikkelt Microsoft een versie van Node.js met de Chakra-Core-engine). In wezen lijkt Node.js op de frameworks Perl AnyEvent, Ruby Event Machine, Python Twisted en de evenementenimplementatie in Tcl, maar de event loop in Node.js is verborgen voor de ontwikkelaar en lijkt op de gebeurtenisverwerking in een webapplicatie die in een browser draait.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster