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 introduction of TurboFan and Ignition is the the biggest change Node.js users will see in the latest release. TurboFan is the optimizing compiler and Ignition is V8’s interpreter. Daniel Clifford and the V8 team say, “The combined Ignition and TurboFan pipeline has been in development for almost 3½ years. It represents the culmination of the collective insight that the V8 team has gleaned from measuring real-world JavaScript performance and carefully considering the shortcomings of Full-codegen and Crankshaft. It is a foundation with which we will be able to continue to optimize the entirety of the JavaScript language for years to come.”
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.
Click here to check out highlights of the new npm release
Node.js API (N-API)
The Node Foundation says that Node.js API (N-API) will be added in the new release as an experimental feature. The top reason behind adding N-API in the Node.js 8.0 is to ensure that addons are not influenced by changes in the underlying JavaScript engine. As a result, there will be no hassle of recompilation while running native add-ons with different Node.js versions. Not only this, native addons can also work with Microsoft's Chakra-Core runtime as well.
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.
Console Changes
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.
Debugger changes
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.
New JavaScript API for Inspector Protocol
Node.js 8.0 also sees the introduction of a new experimental JavaScript API for the Inspector protocol. This feature will pave the way for node js development company india to make better use of the debug protocol to inspect running Node.js processes.
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.
Sources: nodejs.org
Sdtimes.com
algoworks.com
Comments