.NET 8 and 9 Both End November 10:
Upgrade to .NET 10, or Buy Support?
Current Status: The November Double Cliff
On November 10, 2026, two .NET versions lose their patch streams at once: .NET 8, the Long Term Support release most production workloads sit on, and .NET 9, the short-term release that followed it. This is unusual — most platforms stagger their deadlines. .NET's release rhythm (a new version every November, LTS every other year) means the 8 and 9 populations hit the same wall on the same day, and the support queue at every vendor and consultancy will get crowded in the weeks around it.
The good news is equally concrete: .NET 10, the current LTS, has been generally available since November 2025 — it is a year mature, supported to November 14, 2028, and upgrading to it is a retarget-and-recompile exercise rather than a migration project. Per-version dates and the EOL Risk Score™ are on the .NET lifecycle page, recalculated at every build.
The Version Timeline
| Version | Type | Released | Support ends | Status |
|---|---|---|---|---|
| .NET 10 | LTS — current | November 11, 2025 | November 14, 2028 | Supported |
| .NET 9 | STS | November 12, 2024 | November 10, 2026 | Ending |
| .NET 8 | LTS | November 14, 2023 | November 10, 2026 | Ending |
| .NET 6 / 7 | LTS / STS | 2021 / 2022 | Nov 2024 / May 2024 | Ended |
One structural fact shapes the whole decision: Microsoft sells no extension for .NET. Windows has ESU; SQL Server has ESU; .NET has nothing — when a version's date arrives, the patch stream simply ends. Whatever bridge exists after November 10 comes from third-party vendors, not from Microsoft.
The Decision Flow
Most teams still on .NET 8 or 9 land on one of three paths. Work through it in order:
net10.0, update packages, fix the flagged breaking changes, re-run the suite. .NET 8 goes straight to 10 — no stop at 9 — and buys support to November 2028.Upgrade vs Third-Party Support vs Do Nothing
| Factor | Upgrade to .NET 10 | Third-party support | Do nothing |
|---|---|---|---|
| Upfront cost profile | Moderate — retarget, package updates, regression testing; far lighter than an OS migration | Medium — recurring fee, minimal engineering lift | Low — no direct spend, but risk accrues silently |
| Time-to-safe | Days to weeks for most codebases | Days — coverage typically begins on contract signing | Never — exposure is open-ended from November 11 |
| Ongoing risk | Eliminated to November 2028 — and the same retarget motion repeats for .NET 12 | Reduced, bounded by the vendor's CVE coverage scope | Unbounded and compounding |
| Compliance posture | Clean — current, Microsoft-supported runtime | Defensible — documented active coverage plus a plan | Open finding under most audit frameworks |
Worth saying plainly, because vendors selling extended support rarely will: for .NET specifically, upgrading is cheaper than support in almost every case. This is not an operating-system migration — it is a compiler target and a test cycle. Third-party .NET support earns its keep in one situation: an application pinned by a dependency that genuinely cannot move (an abandoned library, a vendor SDK certified only against .NET 8) where the pin will outlast November. If that's not your situation, the retarget is the answer.
What Teams in Your Position Typically Weigh
The .NET 8 population splits into two very different groups. The first has actively maintained applications where the upgrade is a sprint ticket that keeps getting deprioritized — for them, the only real risk is the calendar, and the November crowding effect argues for scheduling it now rather than in October alongside everyone else. The second group has the harder cases: applications frozen by a third-party dependency, a vendor SDK, or an internal team that dissolved. For those, discovery matters — find the pin, ask the vendor for their .NET 10 timeline, and if the answer is "no plans," that application is the one that needs a support bridge or a rewrite decision, not a wish.
.NET 9 deserves its own sentence: teams on 9 chose the short-term channel, which means they signed up for annual moves — the November 10 date is not a surprise, it's the contract. The move to 10 is smaller from 9 than from 8.
One pattern worth naming honestly: third-party support is frequently treated as a permanent fix once it's in place, the way any quietly-renewing subscription is. For a runtime with an upgrade path this light, it works best explicitly scoped as a bridge with an end date — not an indefinite substitute for a two-week engineering task.
Not sure which path fits your .NET estate?
Tell us your situation and we'll match you with a provider suited to it — migration help or extended-support coverage.
Frequently Asked Questions
When does .NET 8 reach end of life?
.NET 8, a Long Term Support release, reaches end of support on November 10, 2026 — three years after its November 2023 release. .NET 9 reaches end of support the same day, so both currently common versions lose their patch streams simultaneously. After that date Microsoft ships no further security updates for either.
Can I upgrade straight from .NET 8 to .NET 10?
Yes — and you should. Unlike operating-system migrations, moving between .NET versions is a retarget-and-recompile exercise: update the target framework to net10.0, restore packages, fix any breaking changes flagged in Microsoft's migration notes, and re-run your test suite. There is no requirement to pass through .NET 9, and .NET 10 has been generally available since November 2025 with support running to November 2028.
Does Microsoft sell extended support for .NET 8?
No. Unlike Windows or SQL Server, .NET has no Extended Security Updates program — when a .NET version reaches end of support, Microsoft's patch stream simply ends. Third-party vendors sell ongoing security patching for end-of-life .NET versions outside the Microsoft channel, which can serve as a bridge when an application cannot be retargeted in time.
Does staying on .NET 8 after November 10 affect compliance audits?
Yes. Running software with no security-update source is a standard finding under frameworks like PCI DSS, SOC 2, ISO 27001, and HIPAA. A documented migration plan or an active third-party support contract typically converts that finding into a managed exception rather than an open gap.
Ready to move to .NET 10 — or bridge safely while you plan?
We track the dates and match you with the right provider for your situation.