# What's new in C# 15: .NET 11, LTS and STS

.NET 11 and C# 15 are out. Before the new features, here's what LTS and STS mean, where they came from, and how to choose between them.

By Gregor Dzierzon · Published November 11, 2026

![Codey lifts the lid of a shipping crate labeled .NET 11, with a smaller box labeled C# 15 inside, under a calendar page that reads November 10, 2026](https://fsdtrainingmedia.blob.core.windows.net/public/images/2026/11/bb3d9d0e79d840799af85d93fbf220cf.webp)

> **What's new in C# 15**
>
> 1. **The release: .NET 11, LTS and STS**
> 2. Union types
> 3. Labeled `break` and `continue`
> 4. Closed hierarchies
> 5. Collection expression arguments
> 6. Extension indexers
> 7. For library authors: static interface members on older runtimes, and memory safety
>
> [All posts in this series](https://www.ask-codey.com/blog?tag=csharp-15)

## The release: .NET 11, LTS and STS

[.NET 11 and C# 15 came out on November 10, 2026](https://devblogs.microsoft.com/dotnet/announcing-dotnet-11/). C# 15 brings [seven new features](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-15), and they're listed above. Before we get to them, there's a question every new .NET version raises: **should you use it?** The answer starts with two labels Microsoft puts on every release, LTS and STS.

### What LTS and STS mean

![Codey points between two signs: LTS, 3 years of support, for even versions like .NET 8 and .NET 10; and STS, 2 years of support, for odd versions like .NET 9 and .NET 11](https://fsdtrainingmedia.blob.core.windows.net/public/images/2026/11/27792010e0b44ceaaef08251e602301e.webp)

A new major version of .NET comes out every November, and each one gets one of two labels:

- **LTS (Long Term Support):** free support and fixes for **three years**. .NET 8 and .NET 10 are LTS.
- **STS (Standard Term Support):** free support and fixes for **two years**. .NET 9 and .NET 11 are STS.

The rule follows the version number: [even-numbered versions are LTS, odd-numbered versions are STS](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core). Because a version comes out each November, the years and the numbers don't line up the way you might guess. .NET 10, an even number, came out in 2025. .NET 11, an odd number, came out this year, in 2026.

What the label doesn't change is the quality. In Microsoft's words: "The quality of all releases is the same. The only difference is the length of support." Both get the same security fixes for as long as they're supported.

### Where the two labels came from

![Codey studies an old scrapbook page from 2016 through a magnifying glass; the page has two stickers, LTS and Current, and he wonders whether STS used to be called Current](https://fsdtrainingmedia.blob.core.windows.net/public/images/2026/11/ebb73e746e704339ace598aec651e03f.webp)

The idea is older than you might think. When [.NET Core 1.0 came out in June 2016](https://devblogs.microsoft.com/dotnet/announcing-net-core-1-0/), it was the first LTS release. Microsoft [described two tracks that year](https://devblogs.microsoft.com/dotnet/net-support-and-versioning/): LTS for teams that want to stay put, and a faster track for teams that want new features sooner. The fast track was soon called "Current", and [.NET Core 1.1](https://devblogs.microsoft.com/dotnet/announcing-net-core-1-1/) was "the first 'Current' release". A Current release was supported for only three months after the next one shipped.

For the next few years, releases came out at different times of year. In 2019, Microsoft [announced that it would ship a major version "once a year, every November"](https://devblogs.microsoft.com/dotnet/introducing-net-5/), starting with .NET 5 in 2020. In 2022, "Current" got the name it has today: [.NET 7 was "a Standard Term Support (STS) release that will be supported for 18 months."](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7/)

Why have two kinds at all? Because teams want different things. A bank's payment system wants as few upgrades as possible. A startup shipping every week wants the newest features and the newest speed-ups. One release schedule can serve both.

The whole story, from 2016 to today, is on one page: [the .NET LTS and STS cheat sheet](https://www.ask-codey.com/cheat-sheets/dotnet-lts-and-sts-cheat-sheet), to keep or to share.

### Why STS support grew from 18 months to two years

![Codey looks at a wall planner where STS: 18 months is crossed out and replaced by STS: 24 months, and wonders whether STS now gets 2 years of support](https://fsdtrainingmedia.blob.core.windows.net/public/images/2026/11/78e38f780b2848628d54a2d87dc7de92.webp)

In September 2025, Microsoft [extended STS support from 18 months to 24 months](https://devblogs.microsoft.com/dotnet/dotnet-sts-releases-supported-for-24-months/), starting with .NET 9. The reason is a little technical, but it comes down to the pieces your app is built from.

An app on an LTS version still uses packages: ready-made pieces of code it downloads. Sometimes a fix for one of those packages comes out alongside a newer STS version of .NET, and the fix brings along an updated piece from that STS release. Your LTS app is now partly running on an STS piece, and that piece used to stop getting fixes long before the rest of your app did. Two years of support closes that gap.

There's a neat result. **An STS version now stops getting support on the same day as the LTS version released a year before it.** .NET 8 and .NET 9 both reached the end of their support on November 10, 2026. .NET 10 and .NET 11 both end on [November 14, 2028](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core).

![A timeline from 2025 to 2028: .NET 10 LTS starts in 2025 with three years of support, .NET 11 STS starts in 2026 with two years, and Codey, in amber sunglasses, points at the line where both end in November 2028](https://fsdtrainingmedia.blob.core.windows.net/public/images/2026/11/940b322a02cd4abdb15b190da0dd9b28.png)

### What it means for your work

![Two staircases: big steps labeled LTS to LTS: upgrade every 2 years, and small steps labeled Every release: upgrade every year, with Codey shrugging between them](https://fsdtrainingmedia.blob.core.windows.net/public/images/2026/11/9ed4b017191a448b96089afeaabd3b7e.webp)

Every .NET version eventually runs out of support, so every app gets upgraded sooner or later. The choice is how often:

- **LTS to LTS:** upgrade every two years, from .NET 8 to .NET 10, then to the next LTS. Fewer upgrades, and you wait longer for new features.
- **Every release:** upgrade each November. You always have the newest features and speed-ups, and each upgrade is smaller because only one year of changes has piled up.

Today there's a third way to look at it. Because .NET 10 and .NET 11 end on the same day, choosing .NET 11 doesn't give you an earlier deadline than .NET 10. You get a year of newer features for the same end date.

One thing helps either way: the tools you build with (the SDK) and the version your app runs on (the runtime) are separate. Microsoft [suggests you "upgrade to the latest SDK version, even if it's an STS release, as it can target all available runtimes."](https://learn.microsoft.com/en-us/dotnet/core/releases-and-support) You can install the .NET 11 SDK and keep building apps that run on .NET 10.

### Should you run STS in production?

![A balance scale with STS: newest features first on one side and LTS: fewer upgrades on the other, level, and Codey holding a rubber duck says it depends on how often your team upgrades](https://fsdtrainingmedia.blob.core.windows.net/public/images/2026/11/4a12adb6f76c4b9ca55a0d06345b7673.webp)

Microsoft doesn't tell you to avoid it. Its [guide to choosing a release](https://learn.microsoft.com/en-us/dotnet/core/releases-and-support) says: "If you're building a service and expect to continue updating it regularly, use the latest release, whether LTS or STS." For an app that's installed on people's computers and rarely updated, it suggests an LTS version may be the better fit.

**Reasons to use STS in production:**

- The same quality and the same security fixes as LTS.
- The newest language features and performance work, a year earlier.
- No earlier end date than the LTS version before it, now that STS gets two years.

**Reasons to stay on LTS:**

- Fewer upgrades: one every two years instead of every year.
- Some companies have a rule that production runs on LTS only.
- The libraries and hosting you depend on may take a while to support a new version, so check them before you upgrade.

If your team updates its apps regularly and has good tests to catch problems after an upgrade, STS is a great choice. If upgrades are hard and rare where you work, LTS makes life easier. Either way, it's a choice you make with your eyes open, not a rule.

## Sources

- .NET Team, [Announcing .NET 11](https://devblogs.microsoft.com/dotnet/announcing-dotnet-11/), .NET Blog, November 10, 2026.
- Microsoft, [What's new in C# 15](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-15), Microsoft Learn: the seven features.
- Microsoft, [.NET and .NET Core support policy](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core): LTS and STS, even and odd versions, the same quality, and the end-of-support dates.
- Microsoft, [.NET releases, patches, and support](https://learn.microsoft.com/en-us/dotnet/core/releases-and-support), Microsoft Learn: how to choose a release, and using the latest SDK.
- Jamshed Damkewala, [.NET STS releases supported for 24 months](https://devblogs.microsoft.com/dotnet/dotnet-sts-releases-supported-for-24-months/), .NET Blog, September 16, 2025: why STS support grew.
- .NET Team, [Announcing .NET Core 1.0](https://devblogs.microsoft.com/dotnet/announcing-net-core-1-0/), [.NET Core support and versioning](https://devblogs.microsoft.com/dotnet/net-support-and-versioning/) and [Announcing .NET Core 1.1](https://devblogs.microsoft.com/dotnet/announcing-net-core-1-1/), .NET Blog, 2016: the first LTS and Current releases.
- .NET Team, [Introducing .NET 5](https://devblogs.microsoft.com/dotnet/introducing-net-5/), .NET Blog, May 6, 2019: one release every November.
- .NET Team, [Announcing .NET 7](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7/), .NET Blog, November 8, 2022: the first release called STS.

Tags: [csharp](https://www.ask-codey.com/blog?tag=csharp), [csharp-15](https://www.ask-codey.com/blog?tag=csharp-15), [dotnet](https://www.ask-codey.com/blog?tag=dotnet), [whats-new](https://www.ask-codey.com/blog?tag=whats-new)

## Glossary subjects

- [C#](https://www.ask-codey.com/glossary/subjects/c-sharp)

## More posts

- Previous: [Coding is alive and well: it's a great time to learn to code](https://www.ask-codey.com/blog/coding-is-alive-and-well)

Source: https://www.ask-codey.com/blog/whats-new-in-csharp-15
