.NET Lifecycle Intelligence

.NET End of Life —
.NET 8 & 9 both EOL November 10, 2026

Updated 2026-06-15 · endoflife.ai · 7 min read

Quick answer: .NET 8 (LTS) and .NET 9 (STS) both reach end of life on November 10, 2026 — the same day. .NET 6, 7, and everything before are already EOL. The only version with runway past 2026 is .NET 10 (LTS), supported until November 13, 2028. If you're on .NET 8 thinking "I'm on LTS, I'm fine," note the date: you have until November 2026, not longer.

The .NET 8 surprise
.NET 8 is an LTS release, so teams reasonably assume a long runway. But .NET LTS is only 3 years — 8.0 shipped November 2023 and ends November 10, 2026. It reaches EOL the same day as .NET 9, the short-term release that came after it. Being on LTS doesn't mean you can stop watching the date.

Complete .NET end-of-life schedule

Dates below are for modern .NET (formerly .NET Core), sourced from Microsoft's official support policy and the open endoflife.date dataset.

VersionLatestEnd of LifeStatus
10 LTS10.0.8Nov 13, 2028Supported
9 (STS)9.0.16Nov 10, 2026Approaching
8 LTS8.0.27Nov 10, 2026Approaching
7 (STS)7.0.20May 14, 2024EOL
6 LTS6.0.36Nov 12, 2024EOL
55.0.17May 10, 2022EOL
3.1 LTS3.1.32Dec 13, 2022EOL
3.03.0.3Mar 3, 2020EOL
2.1 LTS2.1.30Aug 21, 2021EOL

For the full version history including the oldest .NET Core releases and live EOL Risk Scores™, see the .NET product page, regenerated at every deploy.

LTS vs STS: how the .NET cycle works

Microsoft ships a new major .NET version every November on a strict, predictable cadence — and alternates two support tracks:

The quirk that catches teams: because STS lasts 18 months and a new LTS arrives a year after, an STS release and the LTS before it can expire close together — which is exactly what happens with .NET 8 (LTS) and .NET 9 (STS) sharing a November 10, 2026 EOL.

Action required if you're on .NET 6, 7, 8, or 9
.NET 6 (Nov 2024) and .NET 7 (May 2024) are already EOL — no security patches today. .NET 8 and 9 reach EOL November 10, 2026. The single safe target is .NET 10 LTS, supported to November 2028.

Migrating to .NET 10

.NET's high backward compatibility makes major-version upgrades far less painful than the old .NET Framework era. The typical path:

Skipping from .NET 6 or 7 straight to 10 is supported and usually the right move — there's no value in stopping at 8, which is itself only months from EOL.

Why an EOL .NET runtime is a real risk

After EOL, Microsoft stops shipping security patches for that .NET version. New CVEs disclosed against the runtime — and .NET processes HTTP requests, deserializes untrusted data, and runs in internet-facing services — never get fixed for your version. Your vulnerability scanner often won't flag it either, because it checks CVE version ranges that don't list the EOL build. That's the CVE blind spot, and it's why an unpatched runtime is among the higher-weighted factors in the EOL Risk Score™. For regulated teams, an EOL runtime is also a standard audit finding under SOC 2, PCI DSS, and ISO 27001.

Check your whole stack
.NET is one clock; your NuGet packages, OS, and database each have their own. Look up any product in the EOL Checker or scan a whole project with the Stack Scanner.

The Monthly EOL Digest™

Once a month — critical end-of-life dates, CVE blind spots, and lifecycle changes worth knowing about.

✓ You're on the list.