Skip to content
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

[release/9.0-rc2] Mark the System.Formats.Nrbf assembly as [Experimental] with SYSLIB5005 #107950

Merged
merged 1 commit into from
Sep 18, 2024

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Sep 17, 2024

Backport of #107905 to release/9.0-rc2

/cc @jeffhandley

Customer Impact

  • Customer reported
  • Found internally

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

  • Yes
  • No

This is a new feature in .NET 9. It shipped without [Experimental] in .NET 9 RC1, so adding the attribute in RC2 will cause new SYSLIB5005 diagnostics to surface where the API is referenced. We expect customers to suppress SYSLIB5005 project-wide as we did in dotnet/wpf#9792 and dotnet/winforms#12156.

Testing

  • Build and unit tests passing in dotnet/runtime.
  • The locally built package was installed into .NET 9, .NET 6, and .NET Framework 4.8 projects that referenced this API. In each scenario, the SYSLIB5005 diagnostic showed up as expected in VS 17.11.3 and in command-line builds.
  • The dotnet/wpf and dotnet/winforms repos were tested with this local build as well, and those builds were clean with the suppression PRs linked above.

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.

@dotnet-issue-labeler dotnet-issue-labeler bot added needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners new-api-needs-documentation labels Sep 17, 2024
Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

1 similar comment
Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

@jeffhandley jeffhandley added Servicing-consider Issue for next servicing release review area-System.Formats.Nrbf binaryformatter-migration Issues related to the removal of BinaryFormatter and migrations away from it and removed new-api-needs-documentation needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Sep 17, 2024
Copy link
Contributor

Tagging subscribers to 'binaryformatter-migration': @adamsitnik, @bartonjs, @jeffhandley, @terrajobst

@jeffhandley jeffhandley added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Sep 17, 2024
@carlossanlop
Copy link
Member

/ba-g errors known

@carlossanlop carlossanlop merged commit 7e1c7c4 into release/9.0-rc2 Sep 18, 2024
147 of 158 checks passed
@carlossanlop carlossanlop deleted the backport/pr-107905-to-release/9.0-rc2 branch September 18, 2024 01:01
@github-actions github-actions bot locked and limited conversation to collaborators Oct 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Formats.Nrbf binaryformatter-migration Issues related to the removal of BinaryFormatter and migrations away from it Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants