Reference Source

What changed — Software end-of-life date changes — which dates moved and what they were before

The change history of Software end-of-life date changes — which dates moved and what they were before: A change log of software end-of-life and end-of-support dates across 462 products, built by diffing the endoflife.date API between snapshots: for each changed date, the product, release cycle, which field moved, the old value and the new value. Answers 'did the Python 3.9 EOL date change?', 'which Node.js support dates were extended this month?', and 'what EOL dates moved in July 2026?' — the question shape nobody publishes. endoflife.date tracks current state; endoflife.ai publishes a free monthly digest of what is critical now; neither publishes the before-and-after diff. New product additions are also captured. This is a parser case: the API returns structured JSON, no model supplies values.

Change dates16
Tracked since
Last change

Since the initial snapshot of , this register has changed on 15 further dates. This register is re-checked against its sources on a schedule; a date appears below only when records were added or their values changed, so a quiet stretch means the register itself was quiet, not that nobody looked.

We keep the current verified state of each record, not the value it replaced — so each entry says which records changed and what they now state, never what they said before. Machine subscribers: poll changes.xml (Atom) or changes.json instead of re-fetching the dataset.

— 218 records added or updated

… and 198 more records on this date. The full current state of every record is in data.json.

— 14 records added or updated

— 157 records added or updated

… and 137 more records on this date. The full current state of every record is in data.json.

— 736 records added or updated

… and 716 more records on this date. The full current state of every record is in data.json.

— 2 records added or updated

— 303 records added or updated

… and 283 more records on this date. The full current state of every record is in data.json.

— 25 records added or updated

… and 5 more records on this date. The full current state of every record is in data.json.

— 1 record added or updated

— 105 records added or updated

… and 85 more records on this date. The full current state of every record is in data.json.

— 113 records added or updated

… and 93 more records on this date. The full current state of every record is in data.json.

— 34 records added or updated

… and 14 more records on this date. The full current state of every record is in data.json.

— 332 records added or updated

… and 312 more records on this date. The full current state of every record is in data.json.

— 2 records added or updated

— 67 records added or updated

… and 47 more records on this date. The full current state of every record is in data.json.

— 69 records added or updated

… and 49 more records on this date. The full current state of every record is in data.json.

— Initial snapshot — 182 records

The first verified snapshot: every record was new on this date. The full register is on the dataset page.

… and 162 more records on this date. The full current state of every record is in data.json.