The release of the new version of Node.js 14.0 which llega with a new experimental API focused on local storage, the V8 engine upgrade (used in various browsers) and a few other improvements.
This new version of Node.js will have an LTS status but will be assigned until October after stabilizing it. Support for Node.js 14.0 will be available until April 2023 and the maintenance of the latest LTS Node.js 12.0 version will last until April 2022, while for the following year the support of the Node.js 10 version will be ended. Regarding the 13.0 version, its support will end in June of this year.
For those unfamiliar with Node.js, they should know that this is a platform that can be used for both server support of web applications as well as for the creation of server network programs and ordinary customer.
To extend the functionality of the applications for Node.js, a large collection of modules has been prepared, in which you can find modules with the implementation of HTTP and SMTP servers and clients, XMPP, DNS, FTP, IMAP, POP3, modules for integration with various web frameworks, WebSocket and Ajax drivers, DBMS connectors (MySQL, PostgreSQL, SQLite, MongoDB), template engines, CSS engines, implementation of cryptographic algorithms and authorization systems (OAuth), XML parsers.
What's new in Node.js 14.0?
In this new version the ability to generate diagnostic reports on the fly or when certain events occur it stabilizes, reflecting events that help diagnose problems such as crashes, performance degradation, memory leaks, high CPU load, unexpected error output, etc.
And motor V8 has been updated to version 8.1, in which new performance optimizations have been introduced and innovations have been added such as new logical union operator "??". (returns the right operand if the left operand is NULL or undefined, and vice versa), the operator "?." for a one-time check of the entire property chain or calls (for example, "db? .user? .name? .length" without preliminary checks), the Intl.DisplayName method to get localized names, and so on.
In addition, the addition of experimental support for the asynchronous local storage API is highlighted with the implementation of the AsyncLocalStorage class, which can be used to create an asynchronous state with handlers based on callback and promise calls.
Support for AsyncLocalStorage implementation allows data to be stored during web request processing, resembling local threads for individual threads in other languages.
Moreover, a revision of the Streams API was carried out, with the aim of improving consistency of the Streams APIs and eliminate the differences in the behavior of the base parts of Node.js.
For example, the behavior of http.OutgoingMessage is close to stream.Writable and net.Socket is close to stream.Duplex. The autoDestroy option is set to true by default, which implies a call to _destroy after completion.
It is also mentioned in the announcement that the warning about experimental features was removed when loading the ECMAScript 6 module and exporting modules using the import and export expressions. At the same time, the implementation of ESM modules remains experimental.
Added experimental support for the WASI API (WebAssembly system interface), which provides program interfaces for direct interaction with the operating system (POSIX API for working with files, sockets, etc.).
In addition, the requirements for the minimum versions of compilers and platforms have been increased: macOS 10.13 (High Sierra), GCC 6, Windows newer than 7 / 2008R2.
How to install Node.JS on Linux?
The installation of Node.JS is quite simple, for it only They have to open a terminal in the system and in it they are going to type one of the following commands, depending on your distro.
In the case of those who are D usersebian, Ubuntu and derivatives, they just have to type the following:
sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm
While for those who are users of Arch Linux, Manjaro, Arco Linux or any other derivative of Arch:
sudo pacman -S nodejs npm
OpenSUSE users, just type the following:
sudo zypper ar \ http://download.opensuse.org/repositories/devel:/languages:/nodejs/openSUSE_13.1/ \ Node.js sudo zypper in nodejs nodejs-devel
Finally for those who use Fedora, RHEL, Centos and derivatives:
sudo dnf -i nodejs npm