Skip to content

Node.js 27: current & latest floating tags #1171

Closed

Description

@MikeMcC399

Situation

Node.js images on Docker Hub make use of floating tags:

  • current (including variations like current-bookworm-slim)
  • latest

which are both floated up to the latest node:26.x.x* as each succeeding Node.js 26.x version is released.

According to the phase diagram in the README here in this repo, when Node.js 26.x transitions into its Active LTS phase there is no longer any current version.

Users of the current tag would be stuck at the last non-LTS version of Node.js 26.x and would jump to Node.js 27.x 6 months later when Node.js 27.x exits its Alpha phase.

Suggestion

This was also raised in tj/n#847 (comment) with the proposal for the n Node.js version manager, defining the tags as follows:

  • current highest non-alpha release
  • latest highest release (may include alpha)

This seems like a good general definition for Docker images and Node.js version managers.

Perhaps there is some way to incorporate this into the phase naming used in this repo?

Users of Docker images and Node.js version managers would benefit if there is consistency in alias names across utilities.

Would that be consistent with the planned usage for https://nodejs.org/dist/latest/ with Node.js 27.x?

There is no alias https://nodejs.org/dist/current/ defined at this time.

An alternate tag naming scheme would be to leave current and latest defined as the highest non-alpha release, and introduce a new tag, for example next, that points to the highest release, which could be an alpha release or it could be a non-alpha release when there is no alpha phase open. In the latter case current, latest and next would point to the same release.

Other

There is a generic issue nodejs/docker-node#2524 open to plan for building Node.js Docker images based Node.js 27 Alpha releases. This is currently in the planning stage, and no changes have been made so far to any processes to deal with the future Node.js 27 release line in that repo.

cc: @shadowspawn @nschonni

Activity

  1. MikeMcC399 commented on Sep 23, 2026

    @MikeMcC399
    Author

    Can I get some feedback on this question / suggestion in time for the Node.js 27 Alpha release (2026-10-28)?

    If the releaser team doesn't have an opinion, I guess we'll try and decide what would be best in the @nodejs/docker team.

  2. MikeMcC399 commented on Oct 30, 2026

    @MikeMcC399
    Author

    nodejs/node#67135 raises the issue now that we are seeing different interpretations for the label latest in practice, after the release of Node.js 27.0.0-alpha.0.0.0 (Alpha)

  3. nschonni commented on Oct 30, 2026

    @nschonni
    Member

    I've started to work on an approach in nodejs/docker-node#2678.
    latest in Docker-land seems to have a very specific meaning. It's used for the version/metadata-less image that should be pulled.
    I'm also taking the approach that "current" will remain the latest non-alpha release, till the alpha transitions.

  4. MikeMcC399 commented on Oct 31, 2026

    @MikeMcC399
    Author

    As listed on https://hub.docker.com/_/node#supported-tags-and-respective-dockerfile-links there are multiple floating tags:

    Tag Equivalence
    latest 26, 26-trixie, 26.13, 26.13-trixie, 26.13.0, 26.13.0-trixie, current, current-trixie, latest, lithium, lithium-trixie, lts, lts-lithium, lts-trixie, trixie
    current latest (see above)
    current-trixie as above
    current-slim 26-slim, 26-trixie-slim, 26.13-slim, 26.13-trixie-slim, 26.13.0-slim, 26.13.0-trixie-slim, current-slim, current-trixie-slim, lithium-slim, lithium-trixie-slim, lts-slim, lts-trixie-slim, slim, trixie-slim
    current-trixie-slim as above
    current-alpine 26-alpine, 26-alpine3.24, 26.13-alpine, 26.13-alpine3.24, 26.13.0-alpine, 26.13.0-alpine3.24, alpine, alpine3.24, current-alpine, current-alpine3.24, lithium-alpine, lithium-alpine3.24, lts-alpine, lts-alpine3.24
    current-alpine3.24 as above
    current-alpine3.23 26-alpine3.23, 26.13-alpine3.23, 26.13.0-alpine3.23, alpine3.23, current-alpine3.23, lithium-alpine3.23, lts-alpine3.23

    and so on.

    Until there is some general agreement, we probably shouldn't be applying any floating tags to Node.js 27 Alpha Docker images. (There has not been any release so far anyway.)

  5. nschonni commented on Oct 31, 2026

    @nschonni
    Member

    There was some old discussion that's probably not discoverable anymore on just dropping the current tags, since since they are functionally the same as the plan non-LTS variant versions.
    The point about latest is that it's a single shorthand tag for the most recent Debian major release.
    There may be differences between what the Docker ecosystem expects, and what the Node.js version manager community expects.

  6. MikeMcC399 commented on Oct 31, 2026

    @MikeMcC399
    Author

    By now my thinking is that we should not change the meaning of the latest tag in the Node.js Docker repo, and it should stay as the latest non-alpha Debian (non-slim) image. It can get bumped to the regular Node.js 27.0.0 (non-alpha) release in 6 month's time.

    Even if the current tags are redundant, it's probably easiest and less risk to just leave them as they are.

  7. nschonni commented on Oct 31, 2026

    @nschonni
    Member

    I just opened a separate issue for the Docker folks to discuss dropping the current-* variants (again?).

  8. MikeMcC399 commented on Oct 31, 2026

    @MikeMcC399
    Author

    Thanks for the new issue nodejs/docker-node#2680 !

    I'm going to close the issue here now, as it's only been you and I participating without any input from the releasers team, and the open topics for the Docker images are easier to discuss directly in the Docker repo without having parallel open threads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions