Node.js 10.x enters LTS phase with the release of Node v10.13
Node.js 11 is already a week old, so it’s time for its predecessor to retire! But don’t worry, it’s not really going anywhere! Node v10.13.0 includes some minor changes marking, however, its transition to LTS coverage. In this article, we take a closer look at the latest release and we clear up some of the confusion concerning the Node’s release cycle.
Exactly one week after the release of Node.js 11 , we have news coming in about Node v10.
Node v10.13.0 has been released and it marks the transition of Node.js 10.x into Long Term Support (LTS). This new release only includes minimal changes necessary to fix known regressions prior to LTS. Namely:
2ba6010082] – buffer: fix crash for invalid index types (Anna Henningsen)
2cd68be69d] – build: spawn
-j1(Refael Ackermann) #23733
1003f4c975] – deps: fix wrong default for v8 handle zapping (Refael Ackermann) #23801
We know that the whole release cadence and support thing may seem a bit confusing, so this article will focus on cleaning up some of the confusion.
“Embracing life means accepting death”
I apologize for the morbidness of this Kindred quote, but with the League of Legends Worlds 2018 Final almost upon us and since we are indeed talking about release life cycles, I felt the need to say that!
But let’s go back to the task at hand: Node.js release cadence.
Major stable Node.js releases go through three status stages: Current release, LTS release, and Maintenance release. To make it more clear, according to the GitHub repo, “every major version covered by the LTS plan will be actively maintained for a period of 18 months from the date it enters LTS coverage. Following those 18 months of active support, the major version will transition into “maintenance” mode for 12 additional months”, as seen in the figure below.
Once a major version enters LTS coverage like Node v10 just did, changes will be limited to:
- Bug fixes;
- Security updates;
- Non-semver-major npm updates;
- Relevant documentation updates;
- Certain performance improvements where the risk of breaking existing applications is minimal;
- Changes that introduce large amount of code churn where the risk of breaking existing applications is low and where the change in question may significantly ease the ability to backport future changes due to the reduction in diff noise.
Now, once an LTS release moves into Maintenance mode, only critical bugs, critical security fixes, and documentation updates will be permitted.
Last but not least, we should mention that all LTS releases will be assigned a codename. The code name for Node.js 10 is Dubnium! You can find the list of all assigned and expected codenames here.
I hope this cleared up some of the confusions. If you want to check out some further details on the topic, head over to Node.js Release Working Group GitHub repo.