What’s new in the Node.js 10 JavaScript runtime

Node.js 10 arrives with full support for N-API, LTS status to come, and more features under consideration for 2018 and 2019

Node.js 10.0.0 has been released, and will become the platform’s Long Term Support (LTS) line in October 2018. As the LTS line, it will be supported for three years.

Version 10.0.0 add supports for the OpenSSL 1.1.0 security toolkit but focuses mainly on incremental improvements. Also, while Node.js 10.0.0 ships with NPM 5.7, the 10.x line will be upgraded to NPM Version 6 later on; NPM 6 will offer performance, stability, and security improvements.

New features in Node.js 10

In addition to OpenSSL 1.1.0 support, other features in the Node.js 10.0.0 release include:

  • N-API (Node.js API), which moves from beta to a stable version, and provides a stable module API independent of changes in the V8 JavaScript engine underlying Node.js. The API helps module maintainers and production deployments, making upgrades easier.
  • JavaScript language improvements, including prototype.toString(), which now returns exact slices of source code text, and mitigations for side-channel vulnerabilities to prevent information leaks.
  • Error-handling improvements, with adoption of error codes to ease constant error-checking.
  • Performance boosts via V8, including for the async generator and array.
  • Increased visibility into code performance issues via trace events, with the 10.0.0 release.
  • An API in the 10.0.0 release allows user code to enable and disable trace events on demand at runtime, for improved flexibility in diagnosing issues in applications.

Later versions of the Node.js 10.x line are expected to offer:

  • HTTP/2, a higher-performing successor to HTTP. It is due to move out of its current experimental phase this year.
  • Better support of ECMAScript (ES) 6 modules. Node.js has had its own module system, but ECMAScript 6 offers a standardized module system. The plan is to provide a browser-compatible ECMAScript 6 implementation that coexists with the existing Node.js modules.

The following features are expected to arrive in Node.js 11.x: 

  • Better diagnostic capabilities, which is becoming more important area as Node.js is increasingly used in production applications.
  • Use of JavaScript promises in the Node.js core, providing a betterl fit for developers who want to use promise-type APIs.
  • Support for more build/automation infrastructure, with additional support for tools and scripts. Support for newer operating systems would be added while older OSes would be dropped.

Other efforts in the Node.js project, not directly tied to the Node.js 10 or Node.js 11 release lines, include:

  • Continued progress on security triage for third-party NPM modules.
  • Functional testing for third-party modules, to ensure that dependencies are maintained.

Where to download Node.js

You can download Node.js from the project website.