Part of the Linux Foundation's OpenJS Foundation, Node.js is one of the most widely used development frameworks by developers today. As is the case with many open source development efforts, Node.js has both long-term and short-term support releases. What is somewhat different with Node.js is that the long-term support (LTS) releases are declared after a release has been generally available, in an effort to iron out any bugs.
Node.js 17 is a short-term release; next week, Node.js 16 will be declared a long-term support release, with support until 2024.
"Node.js is truly a community-led project where they are continually seeking feedback as they iterate and test new features," Robin Ginn, executive director of the OpenJS Foundation, told ITPro Today. "Odd-numbered releases, like today’s current Version 17, is a progressive way to advance the project before features land in the even-numbered long-term support version."
In Node.js 17, there is a set of new Promise APIs that bring new capabilities to developers.
"The addition of a Promise-based version of an API allows developers to await and simplify their code by removing potentially deep callback trees," Michael Dawson, chair of the Node.js Technical Steering Committee and senior principal software engineer at Red Hat, told ITPro Today.
The new version of Node.js also brings with it support for the new OpenSSL Version 3. OpenSSL is an open source cryptographic library that is used for a variety of security operations and is often used to help enable Transport Layer Security (TLS) for web application security.
Current versions of Node.js use OpenSSL 1.1.1, and the move to OpenSSL 3 was written to be relatively compatible with 1.1.1 but may require some tweaks for native modules, according to Dawson.
"The larger impact is that some weaker algorithms and shorter key lengths will no longer be supported by default," he said. "This may force applications to be modified to use better algorithms and or larger key lengths."
As to how and when organizations and developers will begin to adopt Node.js 17, Dawson said Node.js has a well-defined release process.
A new release is promoted to LTS every October, and each LTS release is supported for 30 months, he said. Organizations will vary as to how often they upgrade, with some organizations skipping alternate LTS releases so that they only upgrade every two years.
"Typically, an organization will select their new target LTS version, test their application with that version and then roll out," Dawson said.