Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ New **Node.js** releases are released as soon as possible.

New **npm** releases are not tracked. We simply use the npm version bundled in the corresponding Node.js release.

**[Yarn v1 Classic](https://classic.yarnpkg.com/)** is no longer maintained upstream, and will be removed starting with the Node 26 images.
**[Yarn v1 Classic](https://classic.yarnpkg.com/)** is no longer maintained upstream, and it is removed when constructing Dockerfiles
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be better to say "is not longer included" with Node 26 and above as opposed to saying "it is removed"? Otherwise LGTM

Copy link
Copy Markdown
Contributor Author

@MikeMcC399 MikeMcC399 May 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote it like that because this is the documentation for contributors who I expect to be more concerned about internal processes and script workings.

The templates like Dockerfile-debian.template include a section which installs Yarn. When the update.sh script runs, it removes this Yarn installation section when it constructs a Dockerfile like 26/trixie/Dockerfile for a Node.js version >=26. The net result is that the Dockerfile doesn't install Yarn.

The README document words it differently and doesn't talk about anything being removed because only the end-result is relevant for the end-consumer of the Docker images.

It would be possible to take out that level of detail here if you think it would be confusing. I'd prefer to leave it as it is though to give possible contributors better insight into internals. Perhaps I should just add in the description I've given to you as explanation?

from templates starting with the Node 26 images.

### Image Creation Automation

Expand Down
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,16 @@ $ docker run node npm --loglevel=warn ...
## Image Variants

The `node` images come in many flavors, each designed for a specific use case.
All of the images contain pre-installed versions of `node`,
[`npm`](https://www.npmjs.com/), and [Yarn v1 Classic](https://classic.yarnpkg.com/). For each
All of the images contain pre-installed versions of `node` which includes also
[`npm`](https://www.npmjs.com/). For each
supported architecture, the supported variants are different. In the file:
[versions.json](./versions.json), it lists all supported variants for all of
the architectures that we support now.
See [Yarn v1 Classic bundling](#yarn-v1-classic-bundling) for future plans to
remove this legacy version.

The legacy package manager
[Yarn v1 Classic](https://classic.yarnpkg.com/)
is included in `node` images with Node.js 25 and below. See
[Yarn v1 Classic bundling](#yarn-v1-classic-bundling) for details.

### `node:<version>`

Expand Down Expand Up @@ -267,12 +270,11 @@ This project will support Node.js versions as still under active support as per

## Yarn v1 Classic bundling

[Yarn v1 Classic](https://classic.yarnpkg.com/) is currently bundled in `node` image
variants. Because Yarn v1 is [frozen](https://github.com/yarnpkg/yarn) and no longer maintained,
bundling plans have been revised.
The [Yarn v1 Classic](https://classic.yarnpkg.com/) package manager is bundled in `node` image
variants that include Node.js versions 25 and below.

As of Node.js 26.0.0 it is planned to no longer bundle Yarn v1 into `node` images.
For lower versions of Node.js (<26) `node` images will continue to bundle Yarn v1.
Yarn v1 is not bundled into `node` images as of Node.js 26.0.0.
This version of the Yarn package manager has been declared as [frozen](https://github.com/yarnpkg/yarn) and is no longer maintained.

Users with legacy requirements for Yarn v1 under Node.js 26 and above may be able
to follow [Yarn v1 installation instructions](https://classic.yarnpkg.com/en/docs/install)
Expand Down