-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: New tagging pattern for .NET 8 previews #4117
Comments
Greatly improved and mirrors other projects. 👍 |
My only question is: should .NET 8 RCs be tagged with the That being said, I understand the desire to get early feedback. If you're happy with automation tools proposing upgrading from |
Given that .NET RCs have a "go live" license, meaning they are supported for production use, our assertion is that it is appropriate to make them available with the |
Thanks for the clarification, and thanks for putting this proposal together. This all sounds great! |
This pattern is now implemented in the nightly branch via #4204. It will be in effect upon the official release of .NET 8 Preview 1 images. |
New tagging pattern for .NET 8 previews
Problem Description
The .NET tagging pattern has historically used a floating major/minor version tag (e.g.
7.0
) for each release, starting with preview releases. We'll focus on .NET 7 as the basis for discussion here. With the release of .NET 7 Preview 1 we published7.0
and7.0.0-preview.1
tags. Customers were free to use the floating7.0
tag to move along with each preview or explicitly transition between each preview release by using the tag specific to the preview number (e.g.7.0.0-preview.1
).The intent with this pattern was to allow early adopters to start using the new features of preview releases and seamlessly transition to supported releases once the version had its GA release. The floating
7.0
tag would give you the latest preview versions as they were being released and then transition to supported servicing releases after GA of .NET 7.This has lead to some confusion because the
7.0
tag doesn't indicate its supported state at all (see #3531). It has caused some automation tools that to mistakenly think your Dockerfile isn't referencing the latest version of .NET if it's referencing a6.0
tag (currently the latest supported release). We'd like to avoid this confusion in our tagging pattern.Proposal
Beginning with .NET 8, the .NET container images will adopt a new tagging pattern that helps to indicate the supported state of the tag. The primary difference from the tagging pattern used historically is that a floating
8.0
won't be introduced until later in the release cycle. Instead, a floating8.0-preview
tag will be used. The tagging pattern maps to the timeline of the .NET 8 release cycle, shown below. For purposes of brevity, tags specific to patch versions and OS (e.g.8.0.0-preview
,8.0-preview-alpine
) aren't shown here.8.0-preview
8.0.0-preview.1
(where N > 1)
8.0.0-preview.N
8.0-preview
8.0
8.0.0-rc.1
(where N > 1)
8.0.0-rc.N
8.0
8.0
With each preview release, the
8.0-preview
tag will be updated to reference the latest preview image. That will continue until the first RC release. At that point, the8.0
tag will be introduced and maintenance of the8.0-preview
tag will be discontinued. Since the RC release will be supported for production use, the intent here is to make this transition now, ahead of the GA release, to provide a smooth experience starting from now, through GA, and into servicing.We believe this tagging pattern is a good compromise that allows tag changes to be made well ahead of the GA release and yet doesn't mislead people into thinking a .NET version is ready for production use when it's still in preview.
The text was updated successfully, but these errors were encountered: