# Python 3.10 and Node.js 20 are end-of-life: find them in custom apps, scripts and build images

> The Python developer guide lists 3.10 as end-of-life since October 1, 2026, and the Node.js project marks v20 EOL. Custom software, automation scripts and container images still on either runtime no longer receive upstream fixes.

- Canonical URL: https://update.dsesecurity.com/updates/python-3-10-and-node-js-20-end-of-life-runtime-inventory/
- Publisher: Detection Systems & Engineering (DSE Security)
- Author: DSE Security Editorial Team
- Published: 2026-10-18T21:00:04+00:00
- Modified: 2026-10-18T22:22:06+00:00
- Last reviewed by DSE: 2026-10-18
- Resource type: Checklist
- DSE priority: Advisory
- Topics: Cybersecurity, IT
- Reading time: 2 minutes

## What you need to know

The Python developer guide lists 3.10 as end-of-life since October 1, 2026, and the Node.js project marks v20 EOL. Custom software, automation scripts and container images still on either runtime no longer receive upstream fixes.

## Potentially affected

Custom applications, APIs, integrations, automation scripts, scheduled jobs, CI runners and container base images that run on Python 3.10 or Node.js 20 or older branches.

## DSE recommendation

DSE recommends replacing Python 3.10 and Node.js 20 with supported branches in every production workload and build image, starting with internet-facing services.

## Article

The Python developer guide lists 3.10 as end-of-life since October 1, 2026, and the Node.js project marks v20 EOL. Custom software, automation scripts and container images still on either runtime no longer receive upstream fixes.

## Source facts

The [Python developer guide](https://devguide.python.org/versions/) lists Python 3.10 as end-of-life with an end date of October 1, 2026, and 3.9 as end-of-life since October 31, 2025. Python 3.11, 3.12 and 3.13 are in the security phase, with scheduled end-of-life months of October 2027, 2028 and 2029. The guide explains that support ends five years after a release, when the release cycle is frozen and no further changes are allowed.

The [Node.js releases page](https://nodejs.org/en/about/previous-releases) marks Node.js 20 and 18 as EOL and v22 and v24 as LTS. It says production applications should only use Active LTS or Maintenance LTS releases, and that starting with Node.js 27 the release cycle becomes annual, with every major version moving to LTS after its Current phase.

## Applicability

Use this wherever code runs outside a vendor-managed platform: servers, workstations running automation, serverless functions, CI/CD runners and Docker images. Where a runtime was installed from an operating-system package, check that distribution’s own support statement before deciding whether it still receives fixes.

## DSE recommendation

DSE recommends replacing Python 3.10 and Node.js 20 with supported branches in every production workload and build image, starting with internet-facing services. Search repositories for version pins in requirements, runtime and package files, Dockerfiles and pipeline definitions; record each hit with an owner; upgrade dependencies that block the move; and set a recurring review against both projects’ published schedules.

## Verification

After each upgrade, run the application’s automated tests and a smoke test in staging, then confirm the deployed process reports the new runtime version. Rebuild container images from updated base images rather than patching running containers, and re-scan the repositories to show that no Python 3.10 or Node.js 20 pins remain.

## Official references

[Python Developer’s Guide — Status of Python versions](https://devguide.python.org/versions/). [Node.js — Node.js Releases](https://nodejs.org/en/about/previous-releases). Reviewed October 18, 2026.

## Primary reference

- Name: Python Developer’s Guide — Status of Python versions
- Authority: devguide.python.org
- URL: https://devguide.python.org/versions/
- Source publication date: Not stated by the source

## Citation and use

Preferred citation: “Python 3.10 and Node.js 20 are end-of-life: find them in custom apps, scripts and build images,” DSE Security, https://update.dsesecurity.com/updates/python-3-10-and-node-js-20-end-of-life-runtime-inventory/
Publishing principles: https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/
Usage and citation policy: https://update.dsesecurity.com/usage/
Copyright © 2026 Detection Systems & Engineering. All rights reserved.
