April 2018 Release Updates from the Node.js Project

This blog post was written by Myles Borins who is the Node.js TSC Director and a developer advocate for Google Cloud.

April is always a busy month for the Node.js Project. During this month, we cut a new Semver-Major release that will receive Long Term Support. Version 10.x will start out as our current release line, receiving regular Semver-Minor and Semver-Patch releases. Every new non-breaking feature lands in a Current Release line. In the month of October, 10.x moves to our Long Term Support release line. If you are not familiar with our Long Term Support strategy and release cycle, please head here.

TLDR:
The 4.x release line is going end of life April 30th

  • There will be no more updates (read: no more security updates)
  • It was a blast 🎉

The 6.x release line is moving into maintenance mode April 30th

  • Infrequent updates, and only for critical bugs and security releases

The 8.x release line is continuing in Active LTS

  • Monthly semver-patch releases
  • Quarterly semver-minor releases

The 9.x release line is no longer actively maintained

  • For a short period, we will do infrequent updates for critical bugs and security releases

The 10.x release line is being cut on April 24th

  • It will have 6 months as our Current release line
  • 6 months as Current (regular semver-minor and semver-patch releases)
  • 18 months as Active LTS (Monthly semver-patch releases and quarterly semver-minor releases)
  • 12 month as Maintenance LTS (Infrequent updates for critical bugs and security releases)

We created our Long Term Support release line to provide a reliable platform for applications of any scale. The LTS release lines offer stability and extended support, while our current release lines are updated more frequently and act as a stop-gap for LTS. Most developers are on our LTS release lines.

During the 18 months of Active LTS our release team actively backports commits from the current release line after they had a chance to go out in a release. For Node.js 10, Active LTS will start in October of 2018.

For this blog, we want to focus on what is happening with two LTS release lines: Node.js 4.x and Node.js 6.x. We will have more on Node.js 10 when its released on April 24.

For this month, our very first LTS release line Node.js 4.x will go into its “End of Life,” meaning it will receive no further security updates or bug fixes. Additionally, Node.js 6.x will go into maintenance mode, meaning only critical bugs, critical security fixes, and documentation updates will be permitted.

If you are currently on Node.js 4.x Argon, we highly suggest that you migrate to the latest version of Node.js 8.x Carbon; You can always find the latest version of Carbon on the homepage of the Node.js website here.

Here’s a FAQ with more details on what to know about changes happening within the Node.js release lines.

What to do if you are still on Node.js 4.x Argon?

We are recommending that folks on Node.js 4.x Argon migrate to the latest 8.x version of Node.js immediately. If you are concerned on going from Node.js 4.x Argon all the way to Node.js 8.x Carbon you can move to Node.js 6.x Boron. Please note, you will only have one year of maintenance support before Boron stops being supported.

Since Node.js 6.x Boron is in maintenance mode, should I move off it?

While Boron will receive critical bug and security fixes there is only a year remaining until it stops being supported by the project. If you are planning to run your Node.js application in production, this is a good time to start planning the upgrade to 8.x or possibly even 10.x in 6 months time.

Are there security concerns for me staying on Node.js 4.x and Node.js 6.x?

6.x will continue to receive the same level of security support as all other maintained release branches. 4.x will no longer receive security updates after April 2018, and as such you should transition off the Argon release line as soon as posisble.

What is happening to Node.js 9.x?

Node.js 9.x is a “current release” and it will go into EOL in June 2018. As 9.x is a “odd” release it will not be receiving LTS support.

If you are currently using Node.js 9.x and want to update to the latest release line, then we recommend updating to Node.js 10, which will be released on April 24. Node.js 9.x will not receive any critical security updates past June 2018 as it will be EOL.

Why did you choose this release cycle cadence?

This release cycle provides us with the ability to get the latest features into Node.js without compromising stability.

We want to ensure that Node.js can be used by a large developer base, those that are needing it in production (who choose the LTS release lines) and those that are looking for a faster velocity on releases.

What should I expect with Node.js 10?

Node.js 10 will be released at the end of the month (target date of April 24). More on what to expect with this release to come when we officially release it. Stay tuned!

Any recommendations or resources that I should look for to help me migrate from one version of Node.js to another?

You can see a list of breaking changes on our wiki. Waleed Ashraf also posted a blog on these changes and some suggestions of what to think about when you upgrade to different versions of Node.js.

If I have more questions, where should I go?

Please feel free to ask questions in this Medium post. You can also ask general question on github at https://github.com/nodejs/help