{"version":1,"updated":"2026-10-09","scope":"Dated removals GitHub has announced for its hosted runner labels, the runtime of JavaScript actions, the artifact and cache actions, CodeQL Action, workflow commands and the pull_request_target trigger, from GitHub's own pages; the ones already in effect that workflows still carry; and the ones GitHub has not dated. github.com only: GitHub Enterprise Server keeps its own schedule.","hosted":{"source":"https://github.com/actions/runner-images#available-images","seen":"2026-10-09","labels":["ubuntu-latest","ubuntu-26.04","ubuntu-26.04-arm","ubuntu-24.04","ubuntu-24.04-arm","ubuntu-22.04","ubuntu-22.04-arm","ubuntu-slim","macos-latest","macos-latest-large","macos-latest-xlarge","macos-26","macos-26-xlarge","macos-26-intel","macos-26-large","macos-15","macos-15-xlarge","macos-15-large","macos-15-intel","macos-14","macos-14-large","macos-14-xlarge","xcode-27","xcode-27-xlarge","windows-latest","windows-2025","windows-2025-vs2026","windows-2022","windows-11-arm","windows-11-vs2026-arm"]},"runtimes":{"source":"each action's action.yml at the major tag, read from raw.githubusercontent.com","seen":"2026-10-09","actions":{"actions/checkout":{"v2":"node12","v3":"node16","v4":"node20","v5":"node24","v6":"node24","v7":"node24"},"actions/setup-node":{"v1":"node12","v2":"node12","v3":"node16","v4":"node20","v5":"node24","v6":"node24","v7":"node24"},"actions/setup-python":{"v1":"node12","v2":"node12","v3":"node16","v4":"node16","v5":"node20","v6":"node24","v7":"node24"},"actions/setup-go":{"v1":"node12","v2":"node12","v3":"node16","v4":"node16","v5":"node20","v6":"node24","v7":"node24"},"actions/setup-java":{"v1":"node12","v2":"node12","v3":"node16","v4":"node20","v5":"node24","v6":"node24"},"actions/setup-dotnet":{"v1":"node12","v2":"node16","v3":"node16","v4":"node20","v5":"node24","v6":"node24"},"actions/cache":{"v1":"node12","v2":"node12","v3":"node16","v4":"node20","v5":"node24","v6":"node24"},"actions/upload-artifact":{"v2":"node12","v3":"node16","v4":"node20","v5":"node20","v6":"node24","v7":"node24"},"actions/download-artifact":{"v2":"node12","v3":"node16","v4":"node20","v5":"node20","v6":"node20","v7":"node24","v8":"node24"},"actions/github-script":{"v5":"node12","v6":"node16","v7":"node20","v8":"node24","v9":"node24"},"actions/upload-pages-artifact":{"v1":"composite","v2":"composite","v3":"composite","v4":"composite","v5":"composite"},"actions/deploy-pages":{"v1":"node16","v2":"node16","v3":"node20","v4":"node20","v5":"node24"},"actions/configure-pages":{"v3":"node16","v4":"node20","v5":"node20","v6":"node24"},"actions/stale":{"v8":"node16","v9":"node20","v10":"node24","v11":"node24"},"actions/labeler":{"v4":"node16","v5":"node20","v6":"node24","v7":"node24"},"actions/create-github-app-token":{"v1":"node20","v2":"node20","v3":"node24"},"actions/attest-build-provenance":{"v1":"composite","v2":"composite","v3":"composite","v4":"composite"},"actions/dependency-review-action":{"v3":"node16","v4":"node20","v5":"node24"},"docker/setup-buildx-action":{"v2":"node16","v3":"node20","v4":"node24"},"docker/login-action":{"v2":"node16","v3":"node20","v4":"node24"},"docker/build-push-action":{"v4":"node16","v5":"node20","v6":"node20","v7":"node24"},"docker/setup-qemu-action":{"v2":"node16","v3":"node20","v4":"node24"},"docker/metadata-action":{"v4":"node16","v5":"node20","v6":"node24"},"github/codeql-action/init":{"v2":"node16","v3":"node20","v4":"node24"},"github/codeql-action/analyze":{"v2":"node16","v3":"node20","v4":"node24"},"github/codeql-action/upload-sarif":{"v2":"node16","v3":"node20","v4":"node24"},"pnpm/action-setup":{"v2":"node16","v3":"node20","v4":"node20","v5":"node24","v6":"node24"},"softprops/action-gh-release":{"v1":"node16","v2":"node20","v3":"node24"},"peter-evans/create-pull-request":{"v5":"node16","v6":"node20","v7":"node20","v8":"node24"},"codecov/codecov-action":{"v3":"node16","v4":"node20","v5":"composite","v6":"composite","v7":"composite"},"aws-actions/configure-aws-credentials":{"v2":"node16","v3":"node16","v4":"node20","v5":"node20","v6":"node24"},"azure/login":{"v1":"node16","v2":"node20","v3":"node24"},"google-github-actions/auth":{"v1":"node16","v2":"node20","v3":"node24"},"actions/setup-ruby":{"v1":"node12"},"ruby/setup-ruby":{"v1":"node24"},"JamesIves/github-pages-deploy-action":{"v4":"node24"},"peaceiris/actions-gh-pages":{"v3":"node16","v4":"node24"}}},"entries":[{"id":"macos-14","kind":"runner","name":"macOS 14 runner image","title":"macos-14 runner retired 2 Nov 2026: brownout dates and the fix","description":"GitHub removes the macos-14 runners on 2 Nov 2026 and fails their jobs on eight October brownout days first. The dates, what breaks and the fix.","severity":"breaks","match":{"labels":["macos-14","macos-14-large","macos-14-xlarge"]},"announced":"2026-01-11","deprecated":"2026-07-06","from":null,"brownouts":[{"start":"2026-10-05T14:00:00Z","end":"2026-10-06T00:00:00Z"},{"start":"2026-10-12T14:00:00Z","end":"2026-10-13T00:00:00Z"},{"start":"2026-10-16T14:00:00Z","end":"2026-10-17T00:00:00Z"},{"start":"2026-10-19T14:00:00Z","end":"2026-10-20T00:00:00Z"},{"start":"2026-10-23T14:00:00Z","end":"2026-10-24T00:00:00Z"},{"start":"2026-10-26T14:00:00Z","end":"2026-10-27T00:00:00Z"},{"start":"2026-10-29T14:00:00Z","end":"2026-10-30T00:00:00Z"},{"start":"2026-10-30T14:00:00Z","end":"2026-10-31T00:00:00Z"}],"date":"2026-11-02","precision":"day","event":"removed","after":"Jobs that ask for macos-14, macos-14-large or macos-14-xlarge are terminated with an error, and they fail during each brownout before then. GitHub may also cut macOS 14 capacity, so queues get longer.","fix":"Change runs-on to macos-15 or macos-26 (macos-latest is macOS 26); macos-14-large to macos-15-large; macos-14-xlarge to macos-15-xlarge.","replacements":{"macos-14":"macos-15","macos-14-large":"macos-15-large","macos-14-xlarge":"macos-15-xlarge"},"source":"https://github.com/actions/runner-images/issues/13518","sources":[{"title":"runner-images #13518: macOS 14 deprecation","url":"https://github.com/actions/runner-images/issues/13518","seen":"2026-10-09"},{"title":"GitHub Changelog, 1 Oct 2026: macOS 14 runner image retirement","url":"https://github.blog/changelog/2026-10-01-github-actions-macos-14-runner-image-retirement/","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"ubuntu-latest","kind":"label-move","name":"ubuntu-latest moving to Ubuntu 26.04","title":"ubuntu-latest moves to Ubuntu 26.04 from 19 Oct 2026: what changes","description":"GitHub moves ubuntu-latest from Ubuntu 24.04 to 26.04 between 19 Oct and 19 Nov 2026. What can break, and how to stay on 24.04.","severity":"warns","match":{"labels":["ubuntu-latest"]},"announced":"2026-09-17","deprecated":null,"from":"2026-10-19","brownouts":[],"date":"2026-11-19","precision":"day","event":"moves to Ubuntu 26.04","after":"Jobs on ubuntu-latest start running on Ubuntu 26.04 instead of 24.04, a share of jobs at a time, until the move is complete. Builds that rely on 24.04's packages, system libraries, compilers or prebuilt binaries may break; nothing in the workflow file changes.","fix":"Run a branch on ubuntu-26.04 now to see what breaks; to stay on 24.04, change runs-on to ubuntu-24.04.","replacements":{},"source":"https://github.com/actions/runner-images/issues/14748","sources":[{"title":"runner-images #14748: ubuntu-latest will use Ubuntu 26.04","url":"https://github.com/actions/runner-images/issues/14748","seen":"2026-10-09"},{"title":"GitHub Changelog, 17 Sep 2026: Ubuntu 26 generally available and latest migration","url":"https://github.blog/changelog/2026-09-17-ubuntu-26-generally-available-and-latest-migration/","seen":"2026-10-09"}],"notes":["GitHub's software table shows the same versions of Docker Buildx, AWS, Azure and Google Cloud CLIs, Rust, Java and Firefox on both images; the operating system, kernel and systemd change."],"seen":"2026-10-09"},{"id":"pull-request-target","kind":"trigger","name":"pull_request_target in public repositories","title":"pull_request_target blocked by default from 2 Nov 2026 in public repos","description":"From 2 Nov 2026 GitHub blocks pull_request_target by default in public repositories with no event policy. Which workflows stop, and how to allow them.","severity":"breaks","match":{"events":["pull_request_target"],"visibility":"public"},"announced":"2026-09-17","deprecated":null,"from":null,"brownouts":[],"date":"2026-11-02","precision":"day","event":"blocked by default","after":"In a public repository with no Actions event policy, workflows triggered by pull_request_target stop running: GitHub's default workflow execution protection blocks the event. Private and internal repositories are exempt. The rule has run in evaluate mode since 17 Sep 2026, so its Insights show what it would block.","fix":"If the workflow needs pull_request_target, allow it in an Actions event policy for the repository or organisation (or allowlist that workflow file); otherwise trigger it on pull_request.","replacements":{},"source":"https://github.blog/changelog/2026-09-17-workflow-execution-protections-in-github-actions-generally-available/","sources":[{"title":"GitHub Changelog, 17 Sep 2026: Workflow execution protections in GitHub Actions generally available","url":"https://github.blog/changelog/2026-09-17-workflow-execution-protections-in-github-actions-generally-available/","seen":"2026-10-09"}],"notes":["A scan of local files cannot tell whether the repository is public or already has an event policy; a scan of owner/repo knows whether it is public."],"seen":"2026-10-09"},{"id":"codeql-action-v3","kind":"action","name":"CodeQL Action v3","title":"CodeQL Action v3 deprecated in December 2026: move to v4","description":"GitHub deprecates github/codeql-action v3 in December 2026, with GHES 3.19: no further updates, new analysis only in v4, which runs on Node 24. What to change.","severity":"warns","match":{"actions":[{"action":"github/codeql-action","majors":[3]}]},"announced":"2025-10-28","deprecated":null,"from":null,"brownouts":[],"date":"2026-12-01","precision":"month","event":"deprecated","after":"GitHub stops updating CodeQL Action v3; new CodeQL analysis capabilities come only to v4. GitHub has not said that v3 stops running. v3 runs on Node 20, so it is already forced onto Node 24.","fix":"Change github/codeql-action/init, analyze, autobuild and upload-sarif from @v3 to @v4. Code scanning's default setup moves by itself.","replacements":{"github/codeql-action":"v4"},"source":"https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/","sources":[{"title":"GitHub Changelog, 28 Oct 2025: Upcoming deprecation of CodeQL Action v3","url":"https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/","seen":"2026-10-09"}],"notes":["GitHub gives the month, not the day: v3 is deprecated together with GHES 3.19."],"seen":"2026-10-09"},{"id":"ubuntu-22.04","kind":"runner","name":"Ubuntu 22.04 runner image","title":"ubuntu-22.04 runner deprecated: brownouts 23 Mar to 13 Apr, removed 17 Apr 2027","description":"GitHub removes the ubuntu-22.04 and ubuntu-22.04-arm runners on 17 Apr 2027, with four brownout days from 23 Mar. The dates, what breaks and the fix.","severity":"breaks","match":{"labels":["ubuntu-22.04","ubuntu-22.04-arm"]},"announced":"2026-06-16","deprecated":"2026-09-17","from":null,"brownouts":[{"start":"2027-03-23T14:00:00Z","end":"2027-03-24T00:00:00Z"},{"start":"2027-03-30T14:00:00Z","end":"2027-03-31T00:00:00Z"},{"start":"2027-04-06T14:00:00Z","end":"2027-04-07T00:00:00Z"},{"start":"2027-04-13T14:00:00Z","end":"2027-04-14T00:00:00Z"}],"date":"2027-04-17","precision":"day","event":"removed","after":"Jobs that ask for ubuntu-22.04 or ubuntu-22.04-arm are terminated with an error, and they fail during each brownout before then. While the image is deprecated, queues can be longer at peak hours.","fix":"Change runs-on to ubuntu-24.04 or ubuntu-26.04; ubuntu-22.04-arm to ubuntu-24.04-arm or ubuntu-26.04-arm.","replacements":{"ubuntu-22.04":"ubuntu-24.04","ubuntu-22.04-arm":"ubuntu-24.04-arm"},"source":"https://github.com/actions/runner-images/issues/14254","sources":[{"title":"runner-images #14254: Ubuntu 22.04 deprecation","url":"https://github.com/actions/runner-images/issues/14254","seen":"2026-10-09"}],"notes":["GitHub's notice writes each brownout as, for example, \"March 23, 14:00 UTC - March 23, 00:00 UTC\". This page reads that as ending at 00:00 UTC the next day, as the macOS 14 notice in the same format spells out.","Azure DevOps retires the same image on the same dates."],"seen":"2026-10-09"},{"id":"macos-15-intel","kind":"runner","name":"macos-15-intel runner (x86_64)","title":"macos-15-intel runner ends August 2027: GitHub's last Intel Mac date","description":"GitHub said macos-15-intel runs until August 2027, after which x86_64 macOS is not supported on Actions. What that means and where to move.","severity":"breaks","match":{"labels":["macos-15-intel"]},"announced":"2025-09-19","deprecated":null,"from":null,"brownouts":[],"date":"2027-08-01","precision":"month","event":"ends","after":"GitHub said the label is available until August 2027 and that after that date the x86_64 architecture is not supported on GitHub Actions. It has not given the day, or announced brownouts yet.","fix":"Move to an arm64 label (macos-15 or macos-26). If you need Intel, macos-26-intel exists; GitHub has published no end date for it.","replacements":{"macos-15-intel":"macos-15"},"source":"https://github.com/actions/runner-images/issues/13045","sources":[{"title":"runner-images #13045: the macOS 15 Intel image","url":"https://github.com/actions/runner-images/issues/13045","seen":"2026-10-09"},{"title":"runner-images #13637: macOS 26 on Intel, public beta","url":"https://github.com/actions/runner-images/issues/13637","seen":"2026-10-09"}],"notes":["In September 2025 GitHub called macos-15-intel the last x86_64 image. Since 6 February 2026 a macOS 26 Intel image (macos-26-intel, macos-26-large) exists too, with no end date published."],"seen":"2026-10-09"},{"id":"node20","kind":"runtime","name":"Node 20 actions","title":"Node 20 actions deprecated: forced onto Node 24 since 23 Sep 2026","description":"GitHub removed Node 20 from Actions runners on 23 Sep 2026: node20 actions now run on Node 24 with a warning and no opt-out. Which to bump, and to what.","severity":"warns","match":{"runtimes":["node20","node16","node12"]},"announced":"2025-09-19","deprecated":"2026-06-16","from":null,"brownouts":[],"date":"2026-09-23","precision":"day","event":"removed from the runners","after":"Every JavaScript action that declares node20 (or node16 or node12) runs on Node 24 instead, and the job carries an annotation naming it. The ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION opt-out no longer works, so an action that breaks on Node 24 has no way back. Self-hosted runners on macOS 13.4 or older, or on ARM32, are no longer supported.","fix":"Bump each action to its first major on Node 24 (actions/checkout@v5, setup-node@v5, cache@v5, upload-artifact@v6, download-artifact@v7); in your own action.yml, set runs.using to node24.","replacements":{},"source":"https://github.blog/changelog/2026-09-23-node-20-is-no-longer-available-in-github-actions/","sources":[{"title":"GitHub Changelog, 23 Sep 2026: Node 20 is no longer available in GitHub Actions","url":"https://github.blog/changelog/2026-09-23-node-20-is-no-longer-available-in-github-actions/","seen":"2026-10-09"},{"title":"GitHub Changelog, 19 Mar 2026: Deprecation of Node 20 on GitHub Actions runners","url":"https://github.blog/changelog/2026-03-19-deprecation-of-node-20-on-github-actions-runners/","seen":"2026-10-09"},{"title":"actions/runner #4303: actions targeting node20 are forced to node24, with an annotation","url":"https://github.com/actions/runner/pull/4303","seen":"2026-10-09"}],"notes":["Each action's runtime is what its action.yml declares at the tag or commit you pin, read from GitHub. The major tags in the table below were read on 9 Oct 2026.","Node 24 became the default on 16 June 2026; GitHub has announced no end date for Node 24 on Actions."],"seen":"2026-10-09"},{"id":"artifact-v3","kind":"action","name":"upload-artifact and download-artifact v1 to v3","title":"actions/upload-artifact v3 deprecated: failing since 30 Jan 2025","description":"actions/upload-artifact and download-artifact v1 to v3 have failed since 30 Jan 2025, and Pages deploys built on them. Which versions to use.","severity":"breaks","match":{"actions":[{"action":"actions/upload-artifact","majors":[1,2,3]},{"action":"actions/download-artifact","majors":[1,2,3]},{"action":"actions/upload-pages-artifact","majors":[1,2]},{"action":"actions/deploy-pages","majors":[1,2,3]}]},"announced":"2024-12-05","deprecated":null,"from":null,"brownouts":[],"date":"2025-01-30","precision":"day","event":"stopped working","after":"Jobs using actions/upload-artifact or actions/download-artifact v1, v2 or v3 fail on github.com. Pages deployments built on them (upload-pages-artifact before v3, deploy-pages before v4) fail too. GitHub Enterprise Server is not affected.","fix":"Use actions/upload-artifact@v6 and actions/download-artifact@v7 (v4 works, on Node 20 forced onto 24); for Pages, upload-pages-artifact@v5 and deploy-pages@v5.","replacements":{"actions/upload-artifact":"v6","actions/download-artifact":"v7","actions/upload-pages-artifact":"v5","actions/deploy-pages":"v5"},"source":"https://github.blog/changelog/2024-12-05-notice-of-upcoming-releases-and-breaking-changes-for-github-actions/","sources":[{"title":"GitHub Changelog, 5 Dec 2024: Notice of upcoming releases and breaking changes for GitHub Actions","url":"https://github.blog/changelog/2024-12-05-notice-of-upcoming-releases-and-breaking-changes-for-github-actions/","seen":"2026-10-09"},{"title":"GitHub Changelog, 5 Dec 2024: GitHub Pages actions to require artifacts actions v4 on github.com","url":"https://github.blog/changelog/2024-12-05-deprecation-notice-github-pages-actions-to-require-artifacts-actions-v4-on-github-com/","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"cache-v2","kind":"action","name":"actions/cache v1 and v2, and pins below v3.4.0 or v4.2.0","title":"actions/cache v2 deprecated: failing since 1 Mar 2025","description":"actions/cache v1 and v2, and pins below v3.4.0 or v4.2.0, have failed since 1 Mar 2025: their cache service was shut down. What to pin instead.","severity":"breaks","match":{"actions":[{"action":"actions/cache","majors":[1,2],"below":{"3":"3.4.0","4":"4.2.0"}}]},"announced":"2024-12-05","deprecated":"2025-02-01","from":null,"brownouts":[],"date":"2025-03-01","precision":"day","event":"stopped working","after":"Jobs using actions/cache v1 or v2 fail, and so do exact pins of v3 below 3.4.0 or v4 below 4.2.0: the legacy cache service they call was shut down. GitHub Enterprise Server is not affected.","fix":"Use actions/cache@v5 (Node 24); if you pin a version or a commit, pin v5, or at least v4.2.0.","replacements":{"actions/cache":"v5"},"source":"https://github.blog/changelog/2024-12-05-notice-of-upcoming-releases-and-breaking-changes-for-github-actions/","sources":[{"title":"GitHub Changelog, 5 Dec 2024: Notice of upcoming releases and breaking changes for GitHub Actions","url":"https://github.blog/changelog/2024-12-05-notice-of-upcoming-releases-and-breaking-changes-for-github-actions/","seen":"2026-10-09"},{"title":"actions/cache README: the deprecation notice and the v3.4.0 and v4.2.0 floors","url":"https://github.com/actions/cache#readme","seen":"2026-10-09"}],"notes":["A pin by commit SHA is reported only when the commit's version can be read; a floating @v3 or @v4 tag already points at a version above the floor."],"seen":"2026-10-09"},{"id":"set-output","kind":"command","name":"set-output and save-state workflow commands","title":"set-output deprecated: is it disabled? Not as of 9 Oct 2026","description":"GitHub deprecated ::set-output and ::save-state in Oct 2022 and postponed their removal in Jul 2023, with no new date. What still works, and the fix.","severity":"warns","match":{"commands":["set-output","save-state"],"coreBelow":"1.10.0"},"announced":"2022-10-10","deprecated":"2022-10-10","from":null,"brownouts":[],"date":null,"precision":"day","event":"deprecated; no removal date","after":"Steps that print ::set-output or ::save-state still work and log a deprecation warning. GitHub postponed their removal on 24 July 2023 and has announced no new date. Since runner v2.332.0 (25 February 2026) it counts each job that uses them.","fix":"Write echo \"name=value\" >> \"$GITHUB_OUTPUT\" (and >> \"$GITHUB_STATE\" for save-state); in an action's own code, use @actions/core 1.10.0 or later.","replacements":{},"source":"https://github.blog/changelog/2022-10-10-github-actions-deprecating-save-state-and-set-output-commands/","sources":[{"title":"GitHub Changelog, 10 Oct 2022: Deprecating save-state and set-output commands","url":"https://github.blog/changelog/2022-10-10-github-actions-deprecating-save-state-and-set-output-commands/","seen":"2026-10-09"},{"title":"GitHub Changelog, 24 Jul 2023: Update on save-state and set-output commands","url":"https://github.blog/changelog/2023-07-24-github-actions-update-on-save-state-and-set-output-commands/","seen":"2026-10-09"},{"title":"actions/runner #4221: telemetry for set-output and save-state (v2.332.0)","url":"https://github.com/actions/runner/pull/4221","seen":"2026-10-09"}],"notes":["@actions/core before 1.10.0 writes set-output when an action calls core.setOutput, so an action's own dependency can be the source of the warning."],"seen":"2026-10-09"},{"id":"set-env","kind":"command","name":"set-env and add-path workflow commands","title":"set-env and add-path disabled since 16 Nov 2020: the fix","description":"GitHub disabled ::set-env and ::add-path on 16 Nov 2020 after CVE-2020-15228; a step that prints them fails. The environment files that replace them.","severity":"breaks","match":{"commands":["set-env","add-path"]},"announced":"2020-10-01","deprecated":"2020-10-01","from":null,"brownouts":[],"date":"2020-11-16","precision":"day","event":"disabled","after":"A step that prints ::set-env or ::add-path fails, unless ACTIONS_ALLOW_UNSECURE_COMMANDS is set to true, which reopens the injection hole the commands were removed for (CVE-2020-15228).","fix":"Write echo \"NAME=value\" >> \"$GITHUB_ENV\" and echo \"/some/dir\" >> \"$GITHUB_PATH\".","replacements":{},"source":"https://github.blog/changelog/2020-11-09-github-actions-removing-set-env-and-add-path-commands-on-november-16/","sources":[{"title":"GitHub Changelog, 9 Nov 2020: Removing set-env and add-path commands on November 16","url":"https://github.blog/changelog/2020-11-09-github-actions-removing-set-env-and-add-path-commands-on-november-16/","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"macos-13","kind":"runner","name":"macOS 13 runner image","title":"macos-13 runner removed on 4 Dec 2025: what to use instead","description":"GitHub removed the macos-13, macos-13-large and macos-13-xlarge runners on 4 Dec 2025; jobs that ask for them no longer run. What to use instead.","severity":"breaks","match":{"labels":["macos-13","macos-13-large","macos-13-xlarge"]},"announced":"2025-09-19","deprecated":null,"from":null,"brownouts":[],"date":"2025-12-04","precision":"day","event":"removed","after":"Jobs that ask for macos-13 or macos-13-large or macos-13-xlarge are terminated with an error: the image is gone.","fix":"Change runs-on to macos-15 (macos-15-intel for x86_64).","replacements":{"macos-13":"macos-15","macos-13-large":"macos-15","macos-13-xlarge":"macos-15"},"source":"https://github.com/actions/runner-images/issues/13046","sources":[{"title":"runner-images #13046: macOS 13 runner image deprecation","url":"https://github.com/actions/runner-images/issues/13046","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"windows-2019","kind":"runner","name":"Windows Server 2019 runner image","title":"windows-2019 runner removed on 30 Jun 2025: what to use instead","description":"GitHub removed the windows-2019 runner on 30 Jun 2025. Jobs that still ask for it do not run on GitHub-hosted runners. What to use instead.","severity":"breaks","match":{"labels":["windows-2019"]},"announced":"2025-04-15","deprecated":null,"from":null,"brownouts":[],"date":"2025-06-30","precision":"day","event":"removed","after":"Jobs that ask for windows-2019 are terminated with an error: the image is gone.","fix":"Change runs-on to windows-2025 or windows-2022.","replacements":{"windows-2019":"windows-2025"},"source":"https://github.com/actions/runner-images/issues/12045","sources":[{"title":"runner-images #12045: Windows Server 2019 runner image deprecation","url":"https://github.com/actions/runner-images/issues/12045","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"ubuntu-20.04","kind":"runner","name":"Ubuntu 20.04 runner image","title":"ubuntu-20.04 runner removed on 15 Apr 2025: what to use instead","description":"GitHub removed the ubuntu-20.04 runner on 15 Apr 2025. Jobs that still ask for it do not run on GitHub-hosted runners. What to use instead.","severity":"breaks","match":{"labels":["ubuntu-20.04"]},"announced":"2024-12-05","deprecated":null,"from":null,"brownouts":[],"date":"2025-04-15","precision":"day","event":"removed","after":"Jobs that ask for ubuntu-20.04 are terminated with an error: the image is gone.","fix":"Change runs-on to ubuntu-24.04.","replacements":{"ubuntu-20.04":"ubuntu-24.04"},"source":"https://github.com/actions/runner-images/issues/11101","sources":[{"title":"runner-images #11101: Ubuntu 20.04 runner image deprecation","url":"https://github.com/actions/runner-images/issues/11101","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"macos-12","kind":"runner","name":"macOS 12 runner image","title":"macos-12 runner removed on 3 Dec 2024: what to use instead","description":"GitHub removed the macos-12 runner on 3 Dec 2024. Jobs that still ask for it do not run on GitHub-hosted runners. What to use instead.","severity":"breaks","match":{"labels":["macos-12"]},"announced":"2024-10-01","deprecated":null,"from":null,"brownouts":[],"date":"2024-12-03","precision":"day","event":"removed","after":"Jobs that ask for macos-12 are terminated with an error: the image is gone.","fix":"Change runs-on to macos-15.","replacements":{"macos-12":"macos-15"},"source":"https://github.com/actions/runner-images/issues/10721","sources":[{"title":"runner-images #10721: macOS 12 runner image deprecation","url":"https://github.com/actions/runner-images/issues/10721","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"ubuntu-18.04","kind":"runner","name":"Ubuntu 18.04 runner image","title":"ubuntu-18.04 runner removed on 3 Apr 2023: what to use instead","description":"GitHub removed the ubuntu-18.04 runner on 3 Apr 2023. Jobs that still ask for it do not run on GitHub-hosted runners. What to use instead.","severity":"breaks","match":{"labels":["ubuntu-18.04"]},"announced":"2022-08-02","deprecated":null,"from":null,"brownouts":[],"date":"2023-04-03","precision":"day","event":"removed","after":"Jobs that ask for ubuntu-18.04 are terminated with an error: the image is gone.","fix":"Change runs-on to ubuntu-24.04.","replacements":{"ubuntu-18.04":"ubuntu-24.04"},"source":"https://github.com/actions/runner-images/issues/6002","sources":[{"title":"runner-images #6002: Ubuntu 18.04 runner image deprecation","url":"https://github.com/actions/runner-images/issues/6002","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"macos-10.15","kind":"runner","name":"macOS 10.15 runner image","title":"macos-10.15 runner removed on 1 Dec 2022: what to use instead","description":"GitHub removed the macos-10.15 runner on 1 Dec 2022. Jobs that still ask for it do not run on GitHub-hosted runners. What to use instead.","severity":"breaks","match":{"labels":["macos-10.15"]},"announced":"2022-05-20","deprecated":null,"from":null,"brownouts":[],"date":"2022-12-01","precision":"day","event":"removed","after":"Jobs that ask for macos-10.15 are terminated with an error: the image is gone.","fix":"Change runs-on to macos-15.","replacements":{"macos-10.15":"macos-15"},"source":"https://github.com/actions/runner-images/issues/5583","sources":[{"title":"runner-images #5583: macOS 10.15 runner image deprecation","url":"https://github.com/actions/runner-images/issues/5583","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"windows-2022","kind":"runner","name":"Windows Server 2022 runner image","title":"windows-2022 runner deprecated? No date announced (checked 9 Oct 2026)","description":"Is GitHub retiring the windows-2022 runner? As of 9 October 2026 it has announced no deprecation. GitHub's two-image rule, and what to watch for.","severity":"none","match":{"labels":["windows-2022"]},"announced":null,"deprecated":null,"from":null,"brownouts":[],"date":null,"precision":"day","event":"no deprecation announced","after":"Nothing changes yet. GitHub has announced no deprecation of windows-2022. It keeps two GA images per OS, and Windows Server 2025 and 2022 are the two, so the next Windows Server image to reach GA would start the 2022 image's deprecation. Since June 2026, windows-latest and windows-2025 carry Visual Studio 2026; windows-2022 is where Visual Studio 2022 lives.","fix":"Nothing to change yet. Pinning the version keeps the image from moving under you; the scan reports the date the day GitHub announces one.","replacements":{},"source":"https://github.com/actions/runner-images#available-images","sources":[{"title":"runner-images: available images","url":"https://github.com/actions/runner-images#available-images","seen":"2026-10-09"},{"title":"runner-images #14017: windows-latest uses Visual Studio 2026","url":"https://github.com/actions/runner-images/issues/14017","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"},{"id":"macos-15","kind":"runner","name":"macOS 15 runner image (arm64)","title":"macos-15 runner deprecated? No date announced (checked 9 Oct 2026)","description":"Is GitHub retiring the macos-15 runner? No deprecation announced as of 9 Oct 2026, but macOS 27 is in preview. GitHub's two-image rule, and what to watch.","severity":"none","match":{"labels":["macos-15","macos-15-xlarge","macos-15-large"]},"announced":null,"deprecated":null,"from":null,"brownouts":[],"date":null,"precision":"day","event":"no deprecation announced","after":"Nothing changes yet. GitHub has announced no deprecation of macOS 15. It keeps the two latest stable macOS versions, macOS 26 and 15 today; the Xcode 27 preview image already runs on macOS 27, and when a macOS 27 image reaches GA the rule starts macOS 15's deprecation. The x86_64 label macos-15-intel has its own date, August 2027.","fix":"Nothing to change yet. Pinning the version keeps the image from moving under you; the scan reports the date the day GitHub announces one.","replacements":{},"source":"https://github.com/actions/runner-images#available-images","sources":[{"title":"runner-images: available images","url":"https://github.com/actions/runner-images#available-images","seen":"2026-10-09"},{"title":"GitHub Changelog, 10 Sep 2026: Xcode 27 runner image now runs on macOS 27","url":"https://github.blog/changelog/2026-09-10-xcode-27-runner-image-now-runs-on-macos-27/","seen":"2026-10-09"}],"notes":[],"seen":"2026-10-09"}]}