The Node.js project recently released Node.js version 12, adding improvements through its underlying V8 JavaScript engine, startup performance, ES6 modules, and more.
The Node.js project follows a Long Term Support (LTS) strategy. Developers should remember that the new 12.0 release is not production ready until it reaches LTS, expected in October 2019. Until then, developers are encouraged to report issues they find in using Node.js 12 so that issues can get resolved before the LTS version gets completed.
The Transport Layer Security (TLS) version in Node.js is now TLS 1.3 by default, which includes numerous changes to make the protocol and its configuration more straightforward and secure. Further TLS 1.3 improvements include assured forward secrecy, no RSA key agreement, and safer cipher options and modes.
Node.js 12 makes it easier to properly configure default heap limits, significantly improving performance when working with large data sets. The update to heap limits configures the JavaScript heap size as a function of the available memory, rather than V8 defaults for web browsers.
The Node.js 12 release switches the default HTTP parser to llhttp, which is substantially faster than the old http_parser. The new llhttp parser fixes a difficult-to -maintain section of Node.js, striving to make this easier to maintain and verify, and improving performance benchmarks where possible.
Native modules also receive improvements in Node.js 12, with better support for native modules in combination with Worker threads, as well as N-API version 4. Worker threads, similar in concept to Web Workers, no longer require specifying a feature flag to use in Node.js 12, making it easier to move computationally expensive operations outside the main JavaScript thread.
Node.js 12 introduces an updated experimental version of support for ES6 modules. The Node.js team appreciates feedback on this feature in particular, as they work to finalize support for ES modules.
Node.js is open source software available under the MIT license from the Open JS Foundation. Contributions and feedback are encouraged via the Node.js contribution guidelines.