The long wait for Node.js Version 8.0 release finally ended on May 30 (12 PM PST), after a delay of almost a month. The new Node.js release brings a lot of new features and fixes for developers in order to significantly improve debugging and developer workflow. Carbon is the codename of the new Node.js release, which removes version 7 from the Node.js current release line. Node.js Version 8.0 will also become the current LTS version from October 2017 and will be maintained till December 31, 2019. Read this blog to gain insight into why this release of Node.js is big for Node.js users.
Important Features of Node.js Version 8.0 Release
TurboFan & Ignition
The addition of V8 5.8 in the latest release is another advantage for developers. V8 5.9 is also scheduled to be released in early June.
Note: V8 5.8 is ABI (Application Binary Interface ) compatible to 5.9.
Node.js 8.0 Comes With npm 5
With Node.js 8.0, users will also get access to npm 5.0.0, which will save by default now. In npm 5, package-lock.json will be automatically created unless an npm-shrinkwrap.json exists. Besides, when there is no internet connectivity, there’s no need to retry network requests. Another important change is that npm 5 will install the packages from the latest registry you have switched to. For example, if you generated your package lock against registry A, and switch to Registry B, npm will pick Registry B to install the packages, not Registry A.
Node.js API (N-API)
The New URL Implementation
With Node.js 8.0, the WHATWG URL implementation is now a fully supported, non-experimental API within Node.js. The advantage of the new URL implementation is that it matches the URL implementation and API available in modern Web Browsers like Chrome, Firefox, Edge, and Safari. So, code consisting of URLs can be easily shared across environments.
New Tracing and Async Features
Node.js 8.0 comes with upgraded experimental async_hooks module (formerly async_wrap). With the help of this diagnostics API, developers will now be able to effectively track the operation of the Node.js event loop and keep a check on asynchronous requests.
Significant Changes to Buffer API within Node.js
One of the most important changes to the Buffer API within Node.js is the return of a zero-filled Buffer instance whenever the deprecated Buffer(num) constructor (with or without the new keyword) is called. The problem with previous Node.js versions was the return of uninitialized memory, which was likely to contain potentially sensitive data.
Previously, writing console output to the underlying stream often resulted in Node.js application crash. But that’s not the case with Node.js 8.0 as it ignores such errors. So, the use of console.log and the other APIs will be much safer now.
Node.js 8.0 comes without the legacy command line debugger. The direct integration of node-inspect into the Node.js runtime is meant for command line replacement. Besides, the V8 Inspector debugger (first introduced in Node.js 6.0 as an experimental feature) has been upgraded to a fully supported feature.
Above are the most important features and fixes that are going to be introduced in Node.js 8.0. I will explain the features in more details once the latest release is out for sometime. I hope the blog helps you understand what Node.js 8.0 has in store for you.
Would you like to give Node.js 8.0 a try? Do you really think that the new features of Node.js 8.0 will be a welcome change for developers? Please share your views in the comment box below.