[release/9.0-rc2] Mark the System.Formats.Nrbf assembly as [Experimental] with SYSLIB5005 #107950
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #107905 to release/9.0-rc2
/cc @jeffhandley
Customer Impact
Our testing of System.Formats.Nrbf has continued through .NET 9 RC1 and RC2, and we're still making changes to it. We expect a lot of customers will use these APIs as part of their BinaryFormatter migrations, which might result in feedback on the API shape after .NET 9 ships. To afford the opportunity to change the API shape based on feedback, we are marking the entire assembly with the
[Experimental]
attribute. Once we have sufficient customer adoption and feedback on the API, we will remove that attribute and mark the APIs as stable.Despite having the
[Experimental]
attribute applied, the package and API will remain fully supported in the .NET 9 lifecycle. We just might change the API shape in .NET 10.Regression
This is a new feature in .NET 9. It shipped without
[Experimental]
in .NET 9 RC1, so adding the attribute in RC2 will cause newSYSLIB5005
diagnostics to surface where the API is referenced. We expect customers to suppressSYSLIB5005
project-wide as we did in dotnet/wpf#9792 and dotnet/winforms#12156.Testing
SYSLIB5005
diagnostic showed up as expected in VS 17.11.3 and in command-line builds.Risk
Medium. This is disruptive to customers who have already adopted System.Formats.Nrbf using an earlier build. The total download count is at 1.5K. But for those customers, they will be prompted with the diagnostic and can suppress it.
By merging the dotnet/wpf and dotnet/winforms suppressions first, we aim to avoid any code flow issues from the new diagnostic.