Skip to content

Commit be29ff2

Browse files
CopilotadegeogewarrenCopilot
authored
Update releases-and-support article with current versions and .NET 9 examples (#49962)
* Initial plan * Update releases-and-support article with supported versions and .NET 9 examples Co-authored-by: adegeo <[email protected]> * Update article date metadata to reflect changes Co-authored-by: adegeo <[email protected]> * Align roll forward behavior description with selection.md article Co-authored-by: adegeo <[email protected]> * Edits and adjustments * Fix version list * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: adegeo <[email protected]> Co-authored-by: Andy De George (from Dev Box) <[email protected]> Co-authored-by: Genevieve Warren <[email protected]> Co-authored-by: Copilot <[email protected]>
1 parent 13ec21e commit be29ff2

File tree

1 file changed

+36
-25
lines changed

1 file changed

+36
-25
lines changed

docs/core/releases-and-support.md

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
---
22
title: .NET releases, patches, and support
33
description: Learn about releases, patches, and support for .NET.
4-
ms.date: 08/26/2025
4+
ms.date: 11/18/2025
5+
ms.custom: updateeachrelease
56
ms.topic: overview
7+
ai-usage: ai-assisted
68
---
79
# Releases and support for .NET
810

@@ -11,98 +13,107 @@ Microsoft ships major releases, minor releases, and servicing updates (patches)
1113
> [!NOTE]
1214
> For information about versioning and support for .NET Framework, see [.NET Framework Lifecycle](/lifecycle/products/microsoft-net-framework).
1315
16+
## Currently supported versions
17+
18+
The following versions of .NET are currently supported:
19+
20+
- .NET 10 ([Long Term Support](#release-tracks)) - supported until November 2028.
21+
- .NET 9 ([Standard Term Support](#release-tracks)) - supported until November 2026.
22+
- .NET 8 ([Long Term Support](#release-tracks)) - supported until November 2026.
23+
24+
For the complete list of supported versions and their end-of-support dates, see the [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
25+
1426
## Release types
1527

16-
Information about the type of each release is encoded in the version number in the form *major.minor.patch*.
28+
The version number encodes information about each release type in the form *major.minor.patch*.
1729

1830
For example:
1931

20-
* .NET 6 and .NET 7 are major releases.
21-
* .NET Core 3.1 is the first minor release after the .NET Core 3.0 major release.
22-
* .NET Core 5.0.15 is the fifteenth patch for .NET 5.
32+
* .NET 8 and .NET 9 are major releases.
33+
* .NET 9.0.1 is the first patch for .NET 9.
2334

2435
For a list of released versions of .NET and information about how often .NET ships, see the [Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core#lifecycle).
2536

2637
### Major releases
2738

28-
Major releases include new features, new public API surface area, and bug fixes. Examples include .NET 6 and .NET 7. Due to the nature of the changes, these releases are expected to have breaking changes. Major releases install side by side with previous major releases.
39+
Major releases include new features, new public API surface area, and bug fixes. Examples include .NET 8 and .NET 9. Due to the nature of the changes, these releases are expected to have breaking changes. Major releases install side by side with previous major releases.
2940

3041
### Minor releases
3142

32-
Minor releases also include new features, public API surface area, and bug fixes, and may also have breaking changes. An example is .NET Core 3.1. The difference between these and major releases is that the magnitude of the changes is smaller. An application upgrading from .NET Core 3.0 to 3.1 has a smaller jump to move forward. Minor releases install side by side with previous minor releases.
43+
Minor releases also include new features, public API surface area, and bug fixes, and might also have breaking changes. The difference between these and major releases is that the magnitude of the changes is smaller. Minor releases install side by side with previous minor releases.
3344

3445
### Servicing updates
3546

36-
Servicing updates (patches) ship almost every month, and these updates carry both security and non-security bug fixes. For example, .NET 5.0.8 was the eighth update for .NET 5. When these updates include security fixes, they're released on "patch Tuesday", which is always the second Tuesday of the month. Servicing updates are expected to maintain compatibility. Starting with .NET Core 3.1, servicing updates are upgrades that remove the preceding update. For example, the latest servicing update for 3.1 removes the previous 3.1 update upon successful installation.
47+
Servicing updates (patches) ship almost every month, and these updates carry both security and non-security bug fixes. For example, .NET 9.0.1 is the first update for .NET 9. When these updates include security fixes, they're released on "patch Tuesday," which is always the second Tuesday of the month. Servicing updates maintain compatibility. Servicing updates remove the preceding update. For example, the latest servicing update for .NET 9 removes the previous .NET 9 update upon successful installation.
3748

3849
### Feature bands (SDK only)
3950

40-
Versioning for the .NET SDK works slightly differently from the .NET runtime. To align with new Visual Studio releases, .NET SDK updates sometimes include new features or new versions of components like MSBuild and NuGet. These new features or components may be incompatible with the versions that shipped in previous SDK updates for the same major or minor version.
51+
The .NET SDK versioning works differently from the .NET runtime. To align with new Visual Studio releases, .NET SDK updates sometimes include new features or new versions of components like MSBuild and NuGet. These new features or components might be incompatible with the versions that shipped in previous SDK updates for the same major or minor version.
4152

42-
To differentiate such updates, the .NET SDK uses the concept of feature bands. For example, the first .NET 5 SDK was 5.0.100. This release corresponds to the 5.0.1xx *feature band*. Feature bands are defined in the hundreds groups in the third section of the version number. For example, 5.0.101 and 5.0.201 are versions in two different feature bands while 5.0.101 and 5.0.199 are in the same feature band. When .NET SDK 5.0.101 is installed, .NET SDK 5.1.100 is removed from the machine if it exists. When .NET SDK 5.0.200 is installed on the same machine, .NET SDK 5.0.101 isn't removed.
53+
To differentiate such updates, the .NET SDK uses feature bands. For example, the first .NET 9 SDK was 9.0.100. This release corresponds to the 9.0.1xx *feature band*. Feature bands are defined in the hundreds groups in the third section of the version number. For example, 9.0.101 and 9.0.201 are versions in two different feature bands while 9.0.101 and 9.0.199 are in the same feature band. When .NET SDK 9.0.101 is installed, .NET SDK 9.0.100 is removed from the machine if it exists. When .NET SDK 9.0.200 is installed on the same machine, .NET SDK 9.0.101 isn't removed.
4354

4455
For more information about the relationship between .NET SDK and Visual Studio versions, see [.NET SDK, MSBuild, and Visual Studio versioning](porting/versioning-sdk-msbuild-vs.md).
4556

4657
### Runtime roll forward and compatibility
4758

48-
Major and minor updates install side by side with previous versions. An application built to target a specific *major.minor* version continues to use that targeted runtime even if a newer version is installed. The app doesn't automatically roll forward to use a newer *major.minor* version of the runtime unless you opt in for this behavior. An application that was built to target .NET Core 3.0 doesn't automatically start running on .NET Core 3.1. We recommend rebuilding the app and testing against a newer major or minor runtime version before deploying to production. For more information, see [Framework-dependent apps roll forward](versions/selection.md#framework-dependent-apps-roll-forward) and [Self-contained deployment runtime roll forward](deploying/runtime-patch-selection.md).
59+
Major and minor updates install side by side with previous versions. An application built to target a specific *major.minor* version continues to use that targeted runtime even if you install a newer version. By default, an app targeting .NET 8 doesn't automatically roll forward to .NET 9 (a major version change), but it can roll forward to a newer minor version like .NET 8.1 if .NET 8.0 isn't available. For more information about controlling this behavior, see [Framework-dependent apps roll forward](versions/selection.md#framework-dependent-apps-roll-forward) and [Self-contained deployment runtime roll forward](deploying/runtime-patch-selection.md).
4960

50-
Servicing updates are treated differently from major and minor releases. An application built to target .NET 7 runs on the 7.0.0 runtime by default. It automatically rolls forward to use a newer 7.0.1 runtime when that servicing update is installed. This behavior is the default because we want security fixes to be used as soon as they're installed without any other action needed. You can opt out from this default roll forward behavior.
61+
Patch version roll-forward happens automatically. An application built to target .NET 9 uses the latest installed patch version. For example, if you specify .NET 9.0 in your project and .NET 9.0.3 is installed, the app uses .NET 9.0.3. This automatic patch roll-forward is the default because you should use security fixes as soon as they're available. You can opt out of this default roll-forward behavior.
5162

5263
## .NET version lifecycles
5364

54-
.NET versions adopt the [modern lifecycle](/lifecycle/policies/modern) rather than the [fixed lifecycle](/lifecycle/policies/fixed) that was used for .NET Framework releases. Products that adopt a modern lifecycle have a service-like support model, with shorter support periods and more frequent releases.
65+
.NET versions use the [modern lifecycle](/lifecycle/policies/modern) rather than the [fixed lifecycle](/lifecycle/policies/fixed) that .NET Framework releases use. Products that use a modern lifecycle have a service-like support model, with shorter support periods and more frequent releases.
5566

5667
### Release tracks
5768

58-
There are two support tracks for releases:
69+
Two support tracks exist for releases:
5970

6071
* *Standard Term Support* (STS) releases
6172

6273
These versions are supported for two years (24 months).
6374

6475
Example:
6576

66-
* .NET 9 is an STS release and was released in November 2024. It's supported for two years, until November 2026.
77+
* .NET 9 is an STS release that was released in November 2024. It's supported for two years, until November 2026.
6778

6879
* *Long Term Support* (LTS) releases
6980

70-
These versions are supported for a minimum of 3 years, or 1 year after the next LTS release ships if that date is later.
81+
These versions are supported for a minimum of three years, or one year after the next LTS release ships if that date is later.
7182

7283
Example:
7384

74-
* .NET 8 is an LTS release and was released in November 2023. It's supported for three years, until November 2026.
85+
* .NET 8 is an LTS release that was released in November 2023. It's supported for three years, until November 2026.
7586

7687
Releases alternate between LTS and STS.
7788

7889
Servicing updates ship monthly and include both security and non-security (reliability, compatibility, and stability) fixes. Servicing updates are supported until the next servicing update is released. Servicing updates have runtime roll forward behavior. That means that applications default to running on the latest installed runtime servicing update.
7990

8091
## How to choose a release
8192

82-
If you're building a service and expect to continue updating it on a regular basis, then use the latest release, whether LTS or STS, to stay up to date with the latest features .NET has to offer.
93+
If you're building a service and expect to continue updating it regularly, use the latest release, whether LTS or STS, to stay up to date with the latest features .NET offers.
8394

84-
If you're building a client application that will be distributed to consumers, stability might be more important than access to the latest features. Your application might need to be supported for a certain period before the consumer can upgrade to the next version of the application. In that case, an LTS release like the .NET 8 runtime could be the right option.
95+
If you're building a client application for distribution to consumers, stability might be more important than access to the latest features. Your application might need support for a certain period before the consumer can upgrade to the next version of the application. In that case, an LTS release like the .NET 8 runtime could be the right option.
8596

8697
> [!NOTE]
87-
> We recommend upgrading to the latest SDK version, even if it's an STS release, as it can target all available runtimes.
98+
> Upgrade to the latest SDK version, even if it's an STS release, as it can target all available runtimes.
8899
89100
### Support for servicing updates
90101

91102
.NET servicing updates are supported until the next servicing update is released. The release cadence is monthly.
92103

93-
You need to regularly install servicing updates to ensure that your apps are in a secure and supported state. For example, if the latest servicing update for .NET 7 is 7.0.8 and we ship 7.0.9, then 7.0.8 is no longer the latest. The supported servicing level for .NET 7 is then 7.0.9.
104+
Regularly install servicing updates to ensure that your apps are in a secure and supported state. For example, if the latest servicing update for .NET 9 is 9.0.1 and Microsoft ships 9.0.2, then 9.0.1 is no longer the latest. The supported servicing level for .NET 9 is then 9.0.2.
94105

95106
For information about the latest servicing updates for each major and minor version, see the [.NET downloads page](https://dotnet.microsoft.com/download/dotnet).
96107

97108
## End of support
98109

99-
End of support refers to the date after which Microsoft no longer provides fixes, updates, or technical assistance for a product version. Before this date, make sure you have moved to using a supported version. Versions that are out of support no longer receive security updates that protect your applications and data. For the supported date ranges for each version of .NET, see the [Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
110+
End of support refers to the date after which Microsoft no longer provides fixes, updates, or technical assistance for a product version. Before this date, move to a supported version. Versions that are out of support no longer receive security updates that protect your applications and data. For the supported date ranges for each version of .NET, see the [Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
100111

101112
## Supported operating systems
102113

103-
.NET can be run on a range of operating systems. Each of these operating systems has a lifecycle defined by its sponsor organization (for example, Microsoft, Red Hat, or Apple). These lifecycle schedules are taken into account when .NET adds and removes support for operating system versions.
114+
You can run .NET on a range of operating systems. Each operating system has a lifecycle defined by its sponsor organization (for example, Microsoft, Red Hat, or Apple). .NET considers these lifecycle schedules when adding and removing support for operating system versions.
104115

105-
When an operating system version reaches end of support, Microsoft stops testing and providing support for that version. Users need to move forward to a supported operating system version to get support.
116+
When an operating system version reaches end of support, Microsoft stops testing and providing support for that version. Move to a supported operating system version to get support.
106117

107118
For more information, see the [.NET OS Lifecycle Policy](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
108119

@@ -114,7 +125,7 @@ You have a choice between Microsoft-assisted support and Community support.
114125

115126
For assisted support, [contact a Microsoft Support Professional](https://support.microsoft.com/supportforbusiness/productselection/?sapid=4fd4947b-15ea-ce01-080f-97f2ca3c76e8).
116127

117-
You need to be on a supported servicing level (the latest available servicing update) to be eligible for support. If a system is running .NET 7 and the 7.0.8 servicing update has been released, then 7.0.8 needs to be installed as a first step.
128+
Use a supported servicing level (the latest available servicing update) to be eligible for support. If a system runs .NET 8 and the 8.0.11 servicing update has been released, then install 8.0.11 as a first step.
118129

119130
### Community support
120131

0 commit comments

Comments
 (0)