Node.js Version 8: New Features and Fixes
Let’s have a look at the various features and fixes of Node.js 8.0
Node.js V8 5.8
One of the most significant updates. It includes major improvements in performance and developer facing APIs. The V8 5.8 engine helps set up a pending transition to the new Turbofan and ignition compiler pipeline which provides sturdy performance optimization for all Node.js applications. Even though they have existed in previous versions of V8, this will be the first time they will be enabled by default in V8 5.9.
Async Hooks previously known as async is a diagnostic API which allows developers to monitor the operation of the Node.js event loop and helps in tracking asynchronous requests and handles their complete life-cycle.These new changes have enabled the API to open a way for developers to supervise the operation of the Node.js event. It also allows them to inspect the life of the handle objects in the node.
Node.js API (N-API)
The new experimental Node.js API (N-API) is a strategic update over the existing Native abstraction for Node.js. This will allow native add-ons to be compiled once on a system and used across multiple versions of Node.js.
N-API is still in an experimental phase so more future updates and changes in the implementation and API should be expected.
WHATWG URL parser
Last year an experimental URL API implemented around the WHATWG URL standard was added to Node.js 7X. Since it was just an experimental phase, it has been under development ever since. Currently, the new URl is completely supported and is non-experimental. The new URL implementation has been so far successful, such that it matches with the URL implementation and the API of modern web browsers like Chrome, Firefox, and Edge. This new feature also allows URLs to be shared across multiple environments.
TurboFan and Ignition
The predominant change brought to Node.js version 8.0 is the introduction of TurboFan and Ignition compiler pipeline. This simplified pipeline without the Full code generator and the Crankshaft, have enabled a lot of improvements which was not possible to implement before. This has led to less memory consumption and faster start-up across Node.js applications. Even though this feature has existed in previous versions of V8, TurboFan and Ignition is enabled for the first time by default. In V8 5.9.
Earlier the Node.js application would crash due to the errors which occur on attempts to write the console output to the underlying team. However, in the version 8.0 such errors will be minimized by suppressing the error events that emit when using console methods. This specific feature will make other APIs safer.
Buffer Security Improvements
A lot of noticeable changes have been done in the Buffer API. With the modified API, Buffers which were allocated using new buffer number will be automatically filled with zeros. This clearly has a remarkable effect on performance and also prevents security issues.
Other notable improvements
If the time zone offset is absent, the date forms are interpreted as a UTC time and date-time forms are interpreted as local time.
Node. Js 8.0 has been released without the legacy command line debugger. For the command line replacement, node-inspect has been directly integrated to the Node.js run time. Apart from that V8 Inspector debugger which was first introduced in Node.js 6.0 as an experimental feature has been upgraded to a fully supported feature.
Above mentioned are the most prominent features and fixes that have been integrated into the new Node.js 8.0. The changes are meant to give the platform a fresh look and negate the previous drawbacks affecting its performance. Node.js is still popular among corporate users such as IBM, Linkedin, Microsoft and Netflix and with constant upgrades, the future looks bright for this framework.