-
Notifications
You must be signed in to change notification settings - Fork 42
Description
Currently, the Node.js snap provides channels based on specific major versions (e.g., 20/stable, 22/stable, 24/stable). While this is excellent for users who need to pin their environment to a specific major version, it creates manual overhead for users who simply want to stay on the latest Long Term Support (LTS) version.
For instance, when a new major LTS version is released, users currently tracking 22/stable must manually switch their snap channel to 24/stable to stay up to date with the LTS cycle.
I would like to propose the creation of a generic lts channel track (e.g., lts/stable).
This channel would act as a pointer/alias to the current active LTS version. For example:
Currently, since Node.js 24 (specifically v24.14.0) is the active LTS, lts/stable would point to the same builds as 24/stable.
Once Node.js 26 becomes the primary LTS, the lts/stable channel would be automatically updated to point to the 26/stable builds.
Alternative Proposal: Repurpose latest/stable
An alternative would be to explicitly designate the existing latest/stable channel to always track the latest LTS version. Currently, latest/stable is often avoided in production because it may include odd-numbered "Current" releases (like Node 25) which do not have long-term support.
If latest/stable were guaranteed to only track LTS releases (e.g., 22 -> 24 -> 26), it would solve the problem without adding a new track name. "Current" releases (odd numbers) could live in a separate track like current/stable or edge.
Most developers using Node.js in production look for the "LTS" badge rather than a specific version number. Providing an lts channel (or repurposing latest) would align the Snap distribution with the way Node.js is marketed on nodejs.org and how it is often consumed via other version managers (like nvm install --lts).
Why the current "Default" track is not enough:
The README states: "Users don't follow the default track, it only determines the starting track at time of install."
This creates a maintenance burden for users who want to stay on the LTS path long-term. Currently, a user who installs the "default" today will be stuck on Node 24 forever unless they manually intervene when Node 26 or 28 becomes the new LTS. By providing a dedicated lts track, the Snap would align with the "set it and forget it" philosophy of Snaps, ensuring production environments stay on supported, stable code without manual channel refreshes every two years.