Node 14 released with diagnostic reports as stable feature
Node.js 14 has arrived. The major release brings a stable version of the diagnostic reports introduced in Node 12. Also, the support status for ES Modules has changed once again, and with the upgrade to V8 8.1, the latest language features have now reached Node.
Major releases bring major innovations. This is also true for Node.js: With the release of Node 14, the warning that was previously issued when using ES modules is no longer needed. Already in Node 13, the flag that was previously required for this was dropped. Now the integration of the standard module format has reached the next step on the way to a fixed feature in Node. However, the support of ES Modules remains experimental, as the release notes explain.
At present, this means above all that changes to the implementation are not subject to the semantic versioning scheme, but that far-reaching adaptations are also possible in minor versions. As Bethany Nicolle Griggs explains in the release notes, the node implementation of the ESM differs from that of other environments. Especially in transplicated modules, it might be necessary to make manual adjustments in order to use them in Node.js.
Node 14: Upgrades for ESM, diagnostic reports and ECMAScript
The second major change in Node.js 14 is that the diagnostic reports that were experimentally introduced in Node 12 are now marked as a stable feature. Diagnostic reports can be used to generate reports on the behavior of node applications on demand or to link them to specific events. This should make it easier to detect and handle problems, for example in the context of crashes or performance. The CLI flag for activating the reports is no longer required when the reports are marked as stable features.
Additionally, the major version has received an upgrade to V8 8.1. This means that developers now have access to some of the new language features of ECMAScript in Node, such as Optional Chaining and Nullish Coalescing. Both features will become part of the language standard with ECMAScript 2020.
Other changes to the major release include the Streams API, which has been made more consistent across the various parts of Node. Node 14 also continues to include experimental support for the WebAssembly System Interface (WASI) introduced in Node 13.3.
SEE ALSO: Progressive React Apps
In the official announcement of the new major version on the Node.js Medium blog, Michael Dawson and Bethany Griggs give a detailed insight into the new features of Node 14. For the time being, Node 14 will be a current release branch and will change to LTS status in October. At the same time, Node 12 will enter the maintenance phase. Node 13, which is not planned as an LTS version, will reach its end of life in June 2020.