The Node.js Foundation has released version 8.9 of Node.js, stamping it with their Long Term Support (LTS) label, which is necessary for uptake among many enterprise customers. Also released is the more experimental version 9.
This marks the beginning of LTS status for version 8.x. It will remain in Active LTS until April 2019 at which point it will enter Maintenance LTS status. Maintenance status means that only critical bugs and critical security fixes will be allowed. Enterprises can count on getting critical fixes for version 8.x until December 2019 at which point it loses LTS status. More information on how Node.js determines releases can be found in the Node.js Release Working Group notes. Currently version 4.x is in Maintenance LTS and 6.x is in Active LTS status.
Version 8.9 includes version 6.1 of Google's V8 JavaScript Engine and updates npm to version 5.5.1. Version 5.5.1 includes the new security features, such as two-factor authentication. This also marks the first time that async/await
is available in a LTS version; it's been available since version 7.6, but without LTS support.
As is their custom, the odd-numbered version 9 was also released. The odd numbered versions are for developers "interested in testing and experimentation". According to a blog post announcing the release, it is "not recommended for those using Node.js in production". Version 9 is the start of a new error system. According to the team, "the goal of this migration is to associate a unique code with all errors thrown by Node.js. This will allow error messages to be changed without being considered breaking."
As of this writing, 8.X is not yet supported in either AWS Lambda or Azure Functions, so developers on those serverless platforms will have to wait a little longer before they can start using some of the newer features and performance gains in production.
The full 8.9 Changelog is available on GitHub.