Skip to the content
Agent Tools

PostgreSQL 13, Node.js 20 and Python 3.9 end-of-life dates: how to check EOL status and upgrade targets

Upgrade tickets and dependency audits stall when a coding agent guesses whether a runtime or database release cycle still gets security patches. We checked PostgreSQL 13, Node.js 20 LTS and Python 3.9 against the Dev Facts Check MCP server, the upstream endoflife.date REST API, the endoflife.ai MCP server and the norwegianblue CLI.

By OpenKrill. Published 2026-10-20. We read all EOL dates, final patch numbers and supported upgrade cycles below from https://devfacts.openkrill.app/mcp (backed by endoflife.date) on 2026-10-19 at 06:06 UTC and 2026-10-20 at 07:20 UTC.

The short answer

All three release lines have reached end-of-life as of October 2026. Python 3.9 reached EOL on 2025-10-31 at version 3.9.25. PostgreSQL 13 reached EOL on 2025-11-13, after final release 13.23 (shipped 2025-11-10). Node.js 20 LTS reached EOL on 2026-04-30, after release 20.20.2 (shipped 2026-03-24).

Calling get_eol_status on the free Dev Facts Check MCP server (https://devfacts.openkrill.app/mcp) returns both the requested cycle's release object and the supportedCycles list in one response.

Three common EOL checks and their supported upgrade targets

This is what get_eol_status returned across our 2026-10-19 and 2026-10-20 runs for PostgreSQL 13, Node.js 20 and Python 3.9:

Product and cycleStatus (isEol)Release date (releasedOn)EOL date (eolFrom)Latest patch (latest.name)Supported upgrade cycles (supportedCycles)
PostgreSQL 13EOL (true)2020-09-242025-11-1313.23 (2025-11-10)14 (EOL 2026-11-12), 15 (2027-11-11), 16 (2028-11-09), 17 (2029-11-08), 18 (2030-11-14)
Node.js 20 (LTS from 2023-10-24)EOL (true)2023-04-182026-04-3020.20.2 (2026-03-24)22 LTS (EOL 2027-04-30), 24 LTS (2028-04-30), 26 (2029-04-30)
Python 3.9EOL (true)2020-10-052025-10-313.9.25 (2025-10-31)3.11 (EOL 2027-10-31), 3.12 (2028-10-31), 3.13 (2029-10-31), 3.14 (2030-10-31), 3.15 (2031-10-31)

Active PostgreSQL release cycles in October 2026

If your team is migrating off PostgreSQL 13, note that PostgreSQL 14 reaches end-of-life on 2026-11-12, less than one month away. This is the supportedCycles list get_eol_status returned for postgresql on 2026-10-20:

Major cycleLTS flag (isLts)Latest minor version (latest)End-of-life date (eolFrom)
PostgreSQL 18false18.62030-11-14
PostgreSQL 17false17.112029-11-08
PostgreSQL 16false16.152028-11-09
PostgreSQL 15false15.192027-11-11
PostgreSQL 14false14.242026-11-12

How 4 EOL lookup options compared on PostgreSQL 13

We ran the same PostgreSQL 13 check across 4 tools on 2026-10-19:

ToolTimeWhat a single query returnsInstall or key needed
Dev Facts Check MCP (get_eol_status)1,027 msTarget cycle release (eolFrom: "2025-11-13", latest.name: "13.23") plus all 5 supportedCyclesNone (remote HTTP MCP server, no API key)
endoflife.date REST API (/api/v1/products/postgresql/releases/13)522 msSingle cycle JSON (isEol: true, eolFrom: "2025-11-13", name: "13.23"). Listing active cycles takes a second callNone (public REST endpoint, our upstream data source)
endoflife.ai MCP server1,623 msFull product JSON across all historical PostgreSQL cyclesNone (remote HTTP MCP server)
norwegianblue CLI (npx norwegianblue postgresql)2,165 msMarkdown table of all 18 cycles. It does not isolate a single cycle in structured JSONRequires local Python or Node CLI execution

To check any product and release cycle on Dev Facts Check (see also the ChatGPT integration guide and the Claude integration guide), send this JSON-RPC call:

{"method":"tools/call","params":{"name":"get_eol_status",
 "arguments":{"product":"postgresql","version":"13"}}}

Frequently asked questions

When did PostgreSQL 13 reach end-of-life, and what is the last 13.x version?

PostgreSQL 13 reached end-of-life on 2025-11-13. Its final minor release was 13.23, shipped on 2025-11-10. As of October 2026 the supported PostgreSQL major cycles are 14 (EOL 2026-11-12), 15 (EOL 2027-11-11), 16 (EOL 2028-11-09), 17 (EOL 2029-11-08) and 18 (EOL 2030-11-14).

Is Node.js 20 LTS still supported in October 2026?

No. Node.js 20 entered Long Term Support on 2023-10-24, ended active support on 2024-10-22, and reached end-of-life on 2026-04-30 at version 20.20.2. The supported Node.js release lines are 22 LTS (EOL 2027-04-30), 24 LTS (EOL 2028-04-30) and 26 (EOL 2029-04-30).

What else does Dev Facts Check look up besides single-product EOL dates?

The MCP server at https://devfacts.openkrill.app/mcp provides 6 tools with no API key (up to 60 calls a minute per network): get_eol_status, check_runtime_eol (batch EOL check across repo config files or a runtimes list), check_license (SPDX license permissions, conditions and limitations), check_browser_support (Baseline web feature support across browsers), lookup_rfc (IETF RFC metadata) and get_release_notes.

Where does get_eol_status get its release and support dates?

It reads live cycle data from endoflife.date (https://endoflife.date), which tracks release dates, latest patch versions, LTS windows and end-of-life dates across more than 400 software products.

Sources