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

Node.js 12 Long-Term Service release arrives with faster startup and an improved default heap limit based on available memory

What’s new in the Node.js JavaScript runtime
Kyle McDonald (CC BY 2.0)

Node.js 12 has arrived as the latest version of the server-side JavaScript framework, with faster startup and improved default heap limits. Node.js 12 is an LTS (Long Term Support) release, meaning it will be supported for three years, including six months as the current release, 18 months as an active release, and 12 months as a maintenance release.

Where to download Node.js

You can download Node.js from the nodejs.org website.

What’s new in Node.js 11

Node.js offers these new or updated features in the October 2018 release:

  • For child processes, the default value of the windowsHide option has been changed to true.
  • The V8 Version 7 JavaScript and WebAssembly engine is included.
  • The read() method requires a callback.
  • Interval timers will be rescheduled even if a previous interval threw an error.
  • Windows performance counter support has been removed.
  • The SyncWriteStream utility, which previously was deprecated, has been removed.
  • Use of binding() has been deprecated.
  • FreeBSD 10 is no longer supported.

What’s new in Node.js 10

Node.js 10 has also gained several enhancements since its April 2018 release:

  • Operations per second are nearly twice as high as in the previous version, Node.js 6, with latency decreased by 65 percent.
  • The footprint after load is 35 percent lower in Node.js 10 compared to Node.js 6, for increased cold start performance.

Node.js 10 previously added these capabilities:

  • Support for the OpenSSL 1.1.0 security toolkit.
  • N-API, a module API that lowers maintenance costs for native modules and reduces friction in upgrading Node.js versions in production deployments.
  • HTTP/2, offering performance improvements over predecessor HTTP/1.
  • The V8 6.8 JavaScript and WebAssembly engine, offering improved WebAssembly execution speed.
  • NPM 6.4, with Version 6 of the JavaScript package installer boosting performance while also focusing on stability and security.
  • Better support of ECMAScript (ES) 6 modules. Node.js has had its own module system, but ECMAScript 6 offers a standardized module system.
  • 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.
  • An API that allows user code to enable and disable trace events on demand at runtime, for improved flexibility in diagnosing issues in applications.

What’s coming to Node.js

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.

This story, "What’s new in the Node.js 12 JavaScript runtime" was originally published by InfoWorld.