Node.js v8 Gets Long-Term Support — Plus a Commitment from Google V8
Node version 8 going LTS is big news in particular for large enterprise users interested in embracing v8’s significant performance improvements over v6, the previous LTS. Testing by nearForm, a Node-focused software development company, shows that v8 is up to 20 percent faster than its predecessor in typical web applications.
“Those using Node.js in production can now reap the performance and feature benefits, now with the security and stability insured by long-term support status,” said Mark Hinkle, executive director of the Node.js Foundation. Hinkle noted that, currently, Node.js amasses nearly 9 million instances per day in use by tens of thousands of organizations in more than 200 countries. Support from the open source community includes 13 working groups, 21 members of the Technical Steering Committee, and more than 1,700 contributors to Node.js core itself.
v8 on the Chassis, V8 under the Hood
The new Node also comes with some new and potent collaboration from the Google V8 team. Franzi Hinkelmann, an engineer on the team, announced last month at the 2017 Node.js Interactive Conference that Google now co-prioritizes Node.js along with Chromium — the open source project behind the Google Chrome browser and OS.
“Node is a first-class citizen in V8 now — no V8 commit can land if it breaks Node,” Hinkelmann told the audience in a keynote address. “This means added stability and earlier adaption of ESNext features for Node.js itself, as well as less strain on the (largely volunteer) Node.js maintainer community.
Together with Node.js’ Long-Term support (LTS) releases, V8’s commitment to long-term collaboration is crucial for many businesses when adopting Node.js in an enterprise setting.
More Tasty Treats in the v8 Goody Bag
Other sweet-as-candy-corn Node.js v8 features now under the umbrella of Long Term Support include:
- Node.js API (N-API), a stable module API, though it is still under experimental status. It allows native modules to run against the newer version of Node.js without recompilation. This frees package maintainers from having to update these dependencies, creates more stability and opens up choice for those consuming modules. It also sets the foundation for VM neutrality and opening Node.js up to new environments in IoT, mobile and a variety of different systems.
Node.js has traditionally used the CommonJS pattern for module loading, which will continue to be the default behavior of Node.js in during the 8.x LTS.
Let Us Not Forget: Node.js v9
Odd-numbered release versions of Node.js, traditionally called the “current release line,” have in the past focused more on active development of new features and refinement of existing APIs. These releases have a shorter lifespan and more frequent updates to the code and, therefore, are not recommended for those using Node.js in production.
The bulk of changes in Node 9 involve the deprecation or removal of legacy APIs. In addition, Node.js core codebase is slowly migrating to a new error system, with a goal of associating a unique code with all errors thrown by Node.js. This will allow error messages to be changed without being considered “breaking.” It will also make user code more robust by not relying on error messages.
Contributors for this release of Node.js came from Alibaba, GoDaddy, Google, IBM, Intel, Joyent, Microsoft, nearForm, NodeSource and a stellar array of individual contributors. Node.js 10 is planned for April 2018 and will go under the Node.js LTS release status in October 2018.
Feature illustration by Michelle Gienow.