Skip to content

[All OS] Default Node.js version will be changed from 20 to 22 and Node.js 20 will be removed from runner images #14029

Closed

Description

@v-GeorgyPuzakov

Breaking changes

Node.js 20 has reached end-of-life on April 30, 2026. Starting with the next image releases, Node.js 20 will be removed from the toolcache on all runner images. The default Node.js version will be updated to Node.js 22 (Maintenance LTS) on images where Node.js 20 was the default.

Node.js 20 reached end-of-life on April 30, 2026. Starting with the next image releases:

  1. Node.js 20 will be removed from the toolcache on all runner images. It will no longer be pre-installed.
    The default Node.js version will be updated to 22 (Maintenance LTS) on images where Node.js 20 was previously the default.
  2. After this change, only Node.js 22 and Node.js 24 will remain pre-installed in the toolcache.

Target date

This change will be rolled out beginning May 19, 2026 and will complete by May 26, 2026.

The motivation for the changes

Node.js 20 transitioned to end-of-life on 2026-04-30. Keeping an EOL runtime as the default version on runner images poses security risks and causes confusion for users. Node.js 22 (Maintenance LTS) is the next supported version and is already the default on macos-15, windows-2025, and windows-2025-vs2026 images. This change aligns the remaining images with the same supported baseline.

Possible impact

Node.js 20 will no longer be available in the toolcache. Workflows that rely on node or npm commands without explicitly specifying a version via actions/setup-node will now use Node.js 22 instead of Node.js 20 on affected images.

If your project requires Node.js 20, you must use actions/setup-node to install it. Since Node.js 20 will no longer be pre-installed, actions/setup-node will download it on demand, which may add some time to your workflow.

Platforms affected

  • Azure DevOps
  • GitHub Actions

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • Ubuntu 26.04
  • Ubuntu Slim
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26
  • macOS 26 Arm64
  • Windows Server 2022
  • Windows Server 2025
  • Windows Server 2025 with Visual Studio 2026

Mitigation ways

Use NodeJS 22 or 24 instead NodeJS 20

Activity

  1. MikeMcC399 commented on May 12, 2026

    @MikeMcC399
  2. ulidtko commented on May 27, 2026

    @ulidtko

    Thanks for the public announcement. Seems done now?

  3. v-GeorgyPuzakov commented on May 27, 2026

    @v-GeorgyPuzakov
    ContributorAuthor

    Hi everyone,
    All images except Mac15 already have nodejs 22 as the default. Mac15 was delayed until this week, but its deployment is already in progress.
    #14155

  4. v-GeorgyPuzakov commented on Jun 1, 2026

    @v-GeorgyPuzakov
    ContributorAuthor

    Mac15 has been deployed. All images updated. Closing Announcement

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

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions