EOL Watch — The November 2026 .NET Wave

.NET 8 & .NET 9 End of Life:
the November 10 double cutoff, four months out

Published July 13, 2026 · endoflife.ai · 8 min read · Runtime / Microsoft Stack
120
Days until .NET 8 and .NET 9 both reach end of support November 10, 2026 is the end-of-support date for both .NET 8 (LTS) and .NET 9 (STS) — an LTS release and the STS release that followed it, dying on the exact same day. This is advance warning, not a postmortem: you still have time to move calmly instead of scrambling in November.

.NET 8 (LTS) and .NET 9 (STS) both reach end of support on November 10, 2026, per Microsoft's official .NET and .NET Core support policy. That's four months from today. This piece is deliberately advance coverage, not a postmortem: the point is to plan the migration on your own schedule, not Microsoft's shutoff schedule. If you already read our earlier .NET EOL rundown, this piece narrows in specifically on the November 2026 wave and what makes it unusual.

Why LTS and STS Die Together This Time

It looks like a coincidence that a Long-Term Support release and a Standard-Term Support release expire on the same day, but it's a predictable outcome of Microsoft's release cadence and support-term math, not a one-off scheduling accident:

The trap in "I'm on LTS, I'm fine" Teams that moved to .NET 8 specifically because it's LTS reasonably assumed a long runway. Three years, measured from a November 2023 ship date, means November 2026 — sooner than "LTS" tends to suggest psychologically. LTS is the longest track .NET offers, not an indefinite one.
Planning a .NET 10 migration?
Extended-support and migration partners can help teams that can't move by November 10, 2026. We match you with the right provider for your stack — free, no obligation.
Get .NET Migration Support Options →

The .NET Support Model, Explained

Modern .NET (the successor to .NET Core) ships a new major version every November, on a strict annual cadence, alternating two support tracks:

Even-numbered
LTS — Long-Term Support
3 years of free patches. Releases: 6, 8, 10, 12... This is the track production systems should target.
Odd-numbered
STS — Standard-Term Support
2 years of free patches, extended from the original 18-month term starting with .NET 9. Meant for teams that upgrade yearly, not long-lived production systems.
Both tracks
Full support during the term
STS isn't a "lesser" track technically — it gets the same full security and quality updates as LTS. It's simply shorter, so it demands a faster upgrade cadence.

The practical upshot: STS is the right choice only if your team genuinely re-platforms every year or two. If that's not realistic for your application, LTS is the correct default — but "correct default" still means tracking a 3-year clock, not treating the version as permanent.

The Dates, Stated Plainly

Version Track Released End of support
.NET 6 LTS Nov 2021 Nov 12, 2024 EOL
.NET 7 STS Nov 2022 May 14, 2024 EOL
.NET 8 LTS Nov 14, 2023 Nov 10, 2026 4 months out
.NET 9 STS Nov 12, 2024 Nov 10, 2026 4 months out
.NET 10 LTS Nov 11, 2025 Nov 14, 2028 Current target

Every date above comes from Microsoft's official .NET and .NET Core support-policy documentation. Note that .NET 6 and 7 are already well past their end-of-support dates — if either is still in production anywhere in your stack, that gap predates the November 2026 wave this article is about and needs its own immediate attention.

Still Running .NET 8 or 9 in Production?

Unlike an EOL date that has already passed, four months out is exactly the window where the decision is still cheap. Realistically, most ASP.NET Core and console applications on .NET 8 or 9 move to .NET 10 with a target-framework bump, a NuGet package refresh, and a CI pipeline update — not a rewrite. The teams who end up scrambling in November are consistently the ones who treated "LTS" as "I don't need to check this again," not the ones who had a harder technical migration.

If you're on .NET 6 or 7 today, the same logic applies with more urgency — those runtimes have had zero vendor security patches since 2024, and every month adds to the gap. Skipping straight to .NET 10 is fully supported regardless of which version you're starting from; there's no requirement to step through 8 or 9 first, and doing so would just mean landing on a release that's itself about to expire.

.NET 10 as the Upgrade Target

.NET 8 / .NET 9End of support Nov 10, 2026
.NET 10 LTSSupported through Nov 14, 2028

.NET 10 shipped November 11, 2025 as an LTS release and is supported until November 14, 2028 — the longest runway currently available on modern .NET. It's a mature, generally-available release at this point, not a bleeding-edge target, which is why it's the recommended destination rather than a wait-and-see option.

The .NET Framework 4.8 Contrast

It's worth distinguishing this from the legacy .NET Framework line — the older, Windows-only framework that predates modern .NET (formerly .NET Core) and is a separate product with a separate lifecycle model. .NET Framework 4.8 and 4.8.1 do not carry their own fixed end-of-support date the way .NET 8 or 9 do. Instead, .NET Framework support is tied to the lifecycle of the Windows OS release it ships in: 4.8.1 is built into Windows 11 and current Windows Server releases, so it remains supported for as long as that underlying Windows version does.

In practice, this means .NET Framework 4.8 apps are not on the November 10, 2026 clock this article covers — but they are quietly riding whatever Windows lifecycle clock their host OS is on, which is easy to lose track of precisely because there's no standalone ".NET Framework EOL date" to watch. See the .NET Framework product page for the current Windows-tied support windows.

Two different clocks, one easy mix-up "We're on .NET Framework, we don't need to worry about the November 2026 date" is correct — but it's easy to misapply that same reasoning to a modern .NET 8 or 9 app, which absolutely is on that clock. Confirm which .NET you're actually running before deciding which deadline applies.

Your Action Checklist

Frequently Asked Questions

Why do .NET 8 and .NET 9 reach end of life on the same day?

It's a scheduling outcome of Microsoft's release cadence and support terms. .NET 8 is LTS (3 years from November 2023), .NET 9 is STS (2 years from November 2024) — both terms land on November 10, 2026.

Isn't .NET 8 an LTS release? Why is it EOL so soon?

LTS in the .NET policy means 3 years, not indefinite. .NET 8 shipped November 14, 2023, so its 3-year term ends November 10, 2026 (end-of-support dates align to the second Tuesday of the month). LTS is the longest available track, not a permanent one.

What's the difference between .NET LTS and STS support?

LTS releases (even-numbered) get 3 years of free patches; STS releases (odd-numbered) get 2 years, extended from the original 18 months starting with .NET 9. Both get full security and quality updates during their term — STS is simply shorter.

What should I upgrade to instead of .NET 8 or 9?

.NET 10, an LTS release that shipped November 11, 2025 and is supported until November 14, 2028. Skipping straight from 8 or 9 to 10 is fully supported and recommended.

Is this the same as .NET Framework 4.8 going end of life?

No — .NET Framework 4.8/4.8.1 has no standalone end-of-support date; its support is tied to the Windows OS lifecycle it ships with. It is not affected by the November 10, 2026 modern-.NET cutoff. See our earlier .NET EOL overview for the full version history including .NET Framework context.

Check your full stack for EOL exposure

.NET 8 and 9 are one line in a busy November 2026 lifecycle calendar. Run your full stack through the EOL checker and see your Risk Scores.

Scan your stack Check a version How Risk Scores work

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.