Safeguard
Developer Tools•

.NET 9 support ends 10 November 2026: move to .NET 10 or wait for 11?

.NET 9 is a Standard Term Support release that ends on 10 Nov 2026, the same day as .NET 8. Move to the LTS .NET 10, supported to 14 Nov 2028.

Safeguard Security Team
3 min read

.NET 9 is a Standard Term Support release, and Microsoft's support policy lists its end of support as 10 November 2026, the same day as .NET 8. Move to .NET 10, an LTS release supported until 14 November 2028, unless you have a specific reason to wait for .NET 11.

The dates

From the Microsoft .NET support policy page:

VersionTypeReleasedEnd of support
.NET 10LTS2025-11-112028-11-14
.NET 9STS2024-11-122026-11-10
.NET 8LTS2023-11-142026-11-10

The page also says .NET 11 is in go live preview and that .NET Conf 2026 (10 to 13 November) will launch it. .NET 11 would be an STS release under the even and odd pattern, though the page does not say so in so many words, so confirm the label at launch.

Why this surprises people

Many teams assume LTS means a long window and STS means a short one, and then forget that STS 9 shares a date with LTS 8. The policy says LTS releases get three years of support and STS releases get two. The final six months of any release receive only security mitigations. Customers must install the latest patch to remain supported.

Move or wait

Move to .NET 10 now if:

  • You run .NET 8 or 9 in production.
  • You want a three year runway without another upgrade next year.
  • Your dependencies already list .NET 10 support.

Consider waiting for .NET 11 only if:

  • You need a feature that ships in 11 and not in 10.
  • You are comfortable upgrading again within two years.

For most teams, the first group is the answer. A hop from 9 to 10 is also a smaller change than from 8, and 8 teams can go directly to 10.

Steps

  1. Find every project target. Look for TargetFramework values of net8.0 and net9.0 in project files and shared props.
  2. Change the target and the SDK. Pin the SDK with a global.json file in CI.
  3. Read the breaking changes reference for each version you cross.
  4. Build, test, and look at build warnings.
  5. Update container base images to the matching runtime tag.

Try it yourself

The vulnerability management demo shows findings grouped by component. After a framework move, run a scan again and confirm that older runtime and package findings are closed.

Click through it at your own pace, or open it full screen.

Safeguard's dependency scanning covers NuGet packages, and the free scan is at gold.safeguard.sh/scan.

Quick check

Does .NET 9 get support after 10 November 2026?

According to the support policy page, no. Both .NET 8 and .NET 9 end that day.

Can .NET 8 apps go straight to .NET 10?

Yes. You skip 9, but read the breaking changes for both versions.

See also When does .NET 8 reach end of support.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.