Skip to content

Conversation

@richlander
Copy link
Member

@richlander richlander commented Jun 4, 2022

The "Current" term is switching to "Standard Term Support (STS)". It nicely and intuitively contrasts with "Long Term Support (LTS)". Nothing else is changing (beyond the name).

For more information, see: https://github.com/dotnet/core/blob/main/release-policies.md

Relates to:

Copy link
Contributor

@dcwhittaker dcwhittaker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank for you for doing this - I think this is much clearer for folks to understand.

@richlander
Copy link
Member Author

That's the hope, for sure.

@richlander
Copy link
Member Author

I'll merge this in a bit. I'm going to publish a breaking change announcement, first.

@mairaw
Copy link
Contributor

mairaw commented Jun 6, 2022

We should coordinate. The support policies on dot.net should match.

@richlander
Copy link
Member Author

How about you be the one to merge this PR, @mairaw?

@richlander
Copy link
Member Author

I also need to update docs. I'll create a PR on that next week. We can merge that one coordinated with the website.

@mairaw
Copy link
Contributor

mairaw commented Jun 12, 2022

Sounds good @richlander. I didn't have time last week to create the PR.

@richlander
Copy link
Member Author

Not a problem. We're not in a rush. I'll get the docs PR in place first. That should set the stage for getting the website updated. I inserted a mention of STS in the Preview 5 blog post, which you may have seen in draft.

@leo-costa
Copy link

Good change. Too many folks thinking that LTS = Stable.

@mairaw
Copy link
Contributor

mairaw commented Jun 24, 2022

what is the plan for dotnet install scripts?
/cc @YuliiaKovalova

@mairaw
Copy link
Contributor

mairaw commented Jun 24, 2022

We probably need to do similar changes on docs /cc @adegeo

@richlander
Copy link
Member Author

@mairaw -- I already added STS on this page: https://docs.microsoft.com/dotnet/core/introduction#support.

Perhaps we can just do this as a rolling thunder type thing and merge this PR now?

@mairaw mairaw changed the title Switch to 'sts' for short term releases Switch to standard support releases Oct 13, 2022
Copy link
Contributor

@gewarren gewarren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I uncapitalized the support terms since they aren't product names or anything like that. From https://styleguides.azurewebsites.net/StyleGuide/Read?id=2696&topicid=25357:

"If it’s not a brand, product, service, or app it’s lowercase."


[.NET 7](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-preview-2/) will be a [current release](../../release-policies.md) and will be supported for 18 months, from November 2022 to May 14, 2024. It is [supported by Microsoft](../../microsoft-support.md) on [multiple operating systems](supported-os.md).

[.NET 7](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-preview-4/) is an [STS release](../../release-policies.md) and will be supported for 18 months, from November 8th, 2022 to May 14th, 2024. It is [supported by Microsoft](../../microsoft-support.md) on [multiple operating systems](supported-os.md).
Copy link
Contributor

@gewarren gewarren Oct 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[.NET 7](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-preview-4/) is an [STS release](../../release-policies.md) and will be supported for 18 months, from November 8th, 2022 to May 14th, 2024. It is [supported by Microsoft](../../microsoft-support.md) on [multiple operating systems](supported-os.md).
[.NET 7](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-preview-4/) is a [Standard Support release](../../release-policies.md) and will be supported for 18 months, from November 8, 2022 to May 14, 2024. It is [supported by Microsoft](../../microsoft-support.md) on [multiple operating systems](supported-os.md).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are wrong too 😂

# .NET 7 - Supported OS versions

[.NET 7](README.md) [is supported](https://github.com/dotnet/core/blob/main/microsoft-support.md) on multiple operating systems per their [lifecycle policy](../../os-lifecycle-policy.md).
[.NET 7](README.md) is an [STS release](../../release-policies.md) and [is supported](../../microsoft-support.md) on multiple operating systems per their lifecycle policy.
Copy link
Contributor

@gewarren gewarren Oct 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[.NET 7](README.md) is an [STS release](../../release-policies.md) and [is supported](../../microsoft-support.md) on multiple operating systems per their lifecycle policy.
[.NET 7](README.md) is a [Standard Support release](../../release-policies.md) and [is supported](../../microsoft-support.md) on multiple operating systems per their lifecycle policy.

## Release types

LTS and Current releases have many similarities. The .NET team follows the same software engineering and release processes for both release types, including for security, compatibility, and reliability. Both releases may contain major new features and breaking changes. The .NET team aspires to enable straightforward migration from one release to another (LTS or Current, in either direction), and has processes in place to achieve that intention.
Each .NET release is defined as either **Standard Support** or **Long Term Support (LTS)**, at the beginning of the release.
Copy link
Contributor

@gewarren gewarren Oct 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Each .NET release is defined as either **Standard Support** or **Long Term Support (LTS)**, at the beginning of the release.
Each .NET release is defined as either **Standard Support** or **Long Term Support (LTS)**, at the beginning of the release.

Note: **Standard** releases were previously called **Current**.

Improvements are released as "patches". Patch releases are cumulative. Patches are released on the Microsoft "Patch Tuesday" (second Tuesday of each month), however there is no guarantee that there will be a .NET release on any given Patch Tuesday. Patches are announced on the [.NET blog](https://devblogs.microsoft.com/dotnet/). A digest of monthly releases is published to [dotnet/announcements](https://github.com/dotnet/announcements/labels/Monthly-Update).
LTS and Standard releases differ only by support duration. The .NET team follows the same software engineering and release processes for both release types, including for security, compatibility, and reliability. Both releases may contain major new features and breaking changes. The .NET team aspires to enable straightforward migration from one release to another, independent of release type.
Copy link
Contributor

@gewarren gewarren Oct 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
LTS and Standard releases differ only by support duration. The .NET team follows the same software engineering and release processes for both release types, including for security, compatibility, and reliability. Both releases may contain major new features and breaking changes. The .NET team aspires to enable straightforward migration from one release to another, independent of release type.
LTS and Standard Support releases differ only by support duration. The .NET team follows the same software engineering and release processes for both release types, including for security, compatibility, and reliability. Both releases may contain major new features and breaking changes. The .NET team aspires to enable straightforward migration from one release to another, independent of release type.


Functional improvements are typically very targeted, and may address the following:
* **Preview** releases are not supported but are offered for public testing and for the opportunity to give feedback.
* **Go-live** support enables users to deploy a pre-release build in production, and are supported by Microsoft. These are typically Release Candidate (RC) releases.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **Go-live** support enables users to deploy a pre-release build in production, and are supported by Microsoft. These are typically Release Candidate (RC) releases.
* **Go-live** support enables users to deploy a pre-release build in production, and are supported by Microsoft. These are typically release candidate (RC) releases.

@mairaw
Copy link
Contributor

mairaw commented Oct 14, 2022

I think standardizing on title case or all lowercase would be a question for @jamshedd and @richlander. Let me know the preference and I'll adjust accordingly on all PRs. It needs to be consistent.

@jamshedd
Copy link
Member

I think standardizing on title case or all lowercase would be a question for @jamshedd and @richlander. Let me know the preference and I'll adjust accordingly on all PRs. It needs to be consistent.

I think we need to keep this Long Term Support (LTS) and Standard Support with that capitalization in our content/website/etc. the one exception to this is the releases.json where the enums already use all lower case, so we'd keep that to be consistent with the rest of the file.

@gewarren
Copy link
Contributor

I think we need to keep this Long Term Support (LTS) and Standard Support with that capitalization in our content/website/etc. the one exception to this is the releases.json where the enums already use all lower case, so we'd keep that to be consistent with the rest of the file.

I'll go with that, but it does go against the Cloud & AI style guide. Also if we lower-case "standard support" it becomes less of a confusion with ".NET Standard", which is always capitalized.

@mairaw
Copy link
Contributor

mairaw commented Oct 14, 2022

Thanks for sharing that guidance @gewarren. We can standardize on lowercase across all materials. We just need to do a pass to ensure is all consistent. But I'll give the final word to @jamshedd.

@jamshedd
Copy link
Member

I think we need to keep this Long Term Support (LTS) and Standard Support with that capitalization in our content/website/etc. the one exception to this is the releases.json where the enums already use all lower case, so we'd keep that to be consistent with the rest of the file.

I'll go with that, but it does go against the Cloud & AI style guide. Also if we lower-case "standard support" it becomes less of a confusion with ".NET Standard", which is always capitalized.

Thanks for the pointer Genevieve. I don't think there's a real risk of anyone confusion .NET Standard (the target) and Standard Support (the support policy). I would stick with the capitalization as it exists.

# .NET 6 - Supported OS versions

[.NET 6](README.md) [is supported](https://github.com/dotnet/core/blob/main/microsoft-support.md) on multiple operating systems per their [lifecycle policy](../../os-lifecycle-policy.md).
[.NET 6](README.md) is an [LTS release](../../release-policies.md) and [is supported](../../microsoft-support.md) on multiple operating systems per their lifecycle policy.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"per their lifecycle policy" is incorrect because it implies we follow the OS lifecycle (like Framework) which we don't. In reality we support the OS as long as the OS and .NET are both in support, whichever is shorter.
So I would recommend replacing this phrase with something like "per the OS support matrix defined for the release"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see it that way. The wording seems accurate and intuitive.

implies we follow the OS lifecycle (like Framework) which we don't

Almost no reader will come to this conclusion.

* **Release Candidate** releases have a go-live support that enables users to deploy a pre-release build in production and are supported by Microsoft.
* **Active** support is provided for the majority of the period after a release is generally available (GA). Functional and security improvements will be provided, including support for new operating system versions.
* **Maintenance** support is provided for the last six months of support. Improvements are limited to security fixes. Support for new operating system versions will be provided on a best-effort basis.
* **End of support** or end-of-life (EOL) marks the point where a release is no longer supported.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **End of support** or end-of-life (EOL) marks the point where a release is no longer supported.
* **End of support** or end-of-life (EOL) marks the point where a release no longer receives servicing updates and is no longer supported.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see that this addition is necessary. It is fully implied and called out in full detail in a later section.

Patches are announced in [release notes](release-notes/README.md), on the [.NET blog](https://devblogs.microsoft.com/dotnet/category/maintenance-and-updates/), and [dotnet/announcements](https://github.com/dotnet/announcements/labels/Monthly-Update).

The maintenance support period is the final 6 months of support for any release (Current or LTS). After the maintenance period ends, the release is out of support.
Breaking changes are not accepted during servicing, except (in the very rare case) to resolve critical issues, such as a security vulnerability.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Breaking changes are not accepted during servicing, except (in the very rare case) to resolve critical issues, such as a security vulnerability.
Breaking changes are not accepted during servicing, except (in the very rare case) to resolve critical issues, such as a security vulnerability. Breaking changes are documented.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't make much sense.

"We don't make breaking changes"

"Breaking changes are documented".


Functional improvements are typically very targeted, and may address the following:
* **Preview** releases are not supported but are offered for public testing and for the opportunity to give feedback.
* **Release Candidate** releases have a go-live support that enables users to deploy a pre-release build in production and are supported by Microsoft.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Release Candidate" should be changed to "Go-Live"

* **Release Candidate** releases have a go-live support that enables users to deploy a pre-release build in production and are supported by Microsoft.
* **Active** support is provided for the majority of the period after a release is generally available (GA). Functional and security improvements will be provided, including support for new operating system versions.
* **Maintenance** support is provided for the last six months of support. Improvements are limited to security fixes. Support for new operating system versions will be provided on a best-effort basis.
* **End of support** or end-of-life (EOL) marks the point where a release is no longer supported.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"End of support" should be "End of life"

Co-authored-by: Jamshed Damkewala <[email protected]>
@richlander richlander changed the title Switch to standard support releases Switch to Standard Term Support (STS) releases Oct 27, 2022
@richlander richlander merged commit e349085 into main Oct 27, 2022
@richlander richlander deleted the sts branch October 27, 2022 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants