.NET 8 end of support: what it means and what to do
.NET 8 and .NET 9 both stop receiving security updates on 10 November 2026. If your business runs on either, here is what that means and how to plan the upgrade.
The key dates
| Version | Type | End of support |
|---|---|---|
| .NET 6 | LTS | Ended November 2024 |
| .NET 7 | STS | Ended May 2024 |
| .NET 8 | LTS | 10 November 2026 |
| .NET 9 | STS | 10 November 2026 |
| .NET 10 | LTS | November 2028 |
| .NET Framework 4.8.x | Windows component | Follows the Windows lifecycle |
Check the current dates on Microsoft's official .NET support policy.
What "end of support" actually means
Your application won't stop working on 11 November. But from that day Microsoft publishes no more security patches for that version. Every vulnerability found afterwards stays open in your application for good.
- Security and compliance: Cyber Essentials, ISO 27001 and many customer security questionnaires require supported software. An unsupported runtime can put contracts and insurance at risk.
- Hosting: cloud platforms and container images drop old runtimes over time, which can force an emergency upgrade on someone else's schedule.
- Libraries: NuGet packages move on, so staying behind gets harder and more expensive every month.
Your three options
| Option | What it means | When it makes sense |
|---|---|---|
| Upgrade to .NET 10 | Retarget, update packages, test and release. Supported until November 2028. | Almost always: the application is staying, and it handles customer or personal data. |
| Buy extended support | Microsoft doesn't offer paid extended support for .NET 8. Some third-party vendors sell patched builds of older .NET versions. | As a short bridge for a system that can't be upgraded yet, while the upgrade is planned. |
| Accept the risk | Leave it as it is. It keeps running, but new vulnerabilities stay open. | Only for internal tools with no sensitive data that are due to be retired soon. |
A sensible upgrade plan
- Inventory: list every application, service and scheduled job, with the .NET version each one targets.
- Assess: check third-party packages, breaking changes and hosting for .NET 10 compatibility.
- Add a safety net: put automated tests around the critical business paths before changing anything.
- Upgrade and test in staging: retarget to .NET 10, update packages and fix breaking changes.
- Release and monitor: deploy with a rollback plan and watch errors and performance closely.
What about .NET Framework applications?
.NET Framework 4.8 has no fixed end date because it ships as part of Windows. But it gets no new features, runs only on Windows, and costs more to host than modern .NET. For business-critical Framework apps, the case for migrating rests on security, hosting cost and how hard it is to find developers, not on a deadline. The migration can usually happen in stages while the app stays live.
Need a hand?
I've built ASP.NET applications for more than 20 years. My fixed-price .NET upgrade audit tells you exactly what needs to change, the risks and a costed plan for the work. Once you're on .NET 10, a care plan keeps it patched, with scheduled upgrades so the next end-of-support date doesn't catch you out.