-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Add package readme for obsolete .NET Standard 1.x packages #88911
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsThe System.Net.Http package is not published since 2018, but it still shows up high in NuGet search results, because it has lots of downloads. This PR tries to clarify that it should not be explicitly referenced in user projects. NOTE: When this is merged, the readme should be updated manually on NuGet gallery website. It will not be updated automatically, because the package is not published any more. Fixes #86667 Related to #59630
|
I didn't realize we can edit README on the package in the nuget UI. Once we agree on the text, I can update it. |
Co-authored-by: Karel Zikmund <karelz@microsoft.com>
@dotnet/ncl can somebody else please check the text? (I heavily edited it, so I'd like to see one more opinion) |
Thanks @MSDN-WhiteKnight for initiating it! |
The same guidance applies to all abandoned .NET Standard 1.x era packages: System.Runtime, System.Runtime.Extensions, ... . The exact story for each may differ a bit, but the end result is the same: These packages are obsolete and not necessary, and they should not be used. Should we stamp the same readme on all these packages? |
Likely yes. I've picked System.Net.Http first, because NuGet team mentioned it as a highly downloaded package without Readme (a second time already), but looks like there are more packages that are similar. Are all .NET Standard 1.x dependencies of NETStandard.Library obsolete? If there're a lot of packages obsolete for the same reason, we probably don't need to add the same package.md file for every library. Instead we could add a single generic "obsolete-package-readme.md" somewhere under docs directory, then file issue to manually add it for packages that need it. Should i change this PR to add generic readme, or keep it focused for System.Net.Http for now? |
Generic readme makes more sense to me. |
Changed PR to add generic Readme in project docs directory. It now needs to be moved to area-Infrastructure or area-Meta. |
We should gather the list of packages to apply this to and review it before taking action. Do we have that anywhere? Here's a similar list I had from a previous effort where we looked at all packages that folks should remove on the latest framework. Probably this covers a lot - but some are not obsolete on older frameworks. https://gist.github.com/ericstj/de25740692bcbc7ee138f41956b2ea75 |
I was thinking that the list of packages is equivalent to the list of .NET Standard 1.x dependencies of NETStandard.Library, but looks like it does not cover all obsolete packages. For example, System.Net.Http.Rtc is clearly obsolete, but it is not in .NET Standard. Where this package comes from? There's no directory under libraries for it now. Is it in the same bucket as .NET Standard packages, or it's obsolete for another reason? Also, probably the best way to gather list of obsolete packages is to pick ones that NuGet forwards to inbox implementations on .NET Core and .NET Framework. Do someone know where's the forwarding logic in NuGet or SDK source code? |
@ericstj who can help with generating and verify the list of packages? |
Tagging subscribers to this area: @dotnet/area-meta Issue DetailsThere're a lot of .NET Standard 1.x packages that are no longer updated and just forward to inbox implementation both on .NET and .NET Framework (System.Runtime, System.Runtime.Extensions, System.Net.Http and others). They still show up high in NuGet search results, because they have lots of downloads, which creates some confusion for users. This PR adds text for a generic package readme for these packages, to clarify that they should not be used. This readme should be added manually to them using NuGet gallery website. It can't be added automatically, because these packages are not published any more. Fixes #86667 Related to #59630
|
@ViktorHofer would be good to help with this - I think we already have a similar list we produced for the upgrade assistant. I'd like us to go over that and decide what we do for each of these packages. In some cases it might make sense to actually obsolete them, rather than just add the readme saying they are obsolete. |
Maybe, actual .NET Standard 1.x packages can't be deprecated based on this: #86667 (comment) , but many non-.NET Standard ones probably can. I'll post my current attempt at classifying obsolete packages: .NET Standard 1.x packages (candidates for adding obsolete readme)
Other obsolete packages (candidates for deprecation)
Non-obsolete packages (still have uses on .NET Framework - these should not be touched as part of this PR)
|
Thanks for the contribution @MSDN-WhiteKnight. I'm not sure we want to check that README in for the cases where we would just need to update the metadata on nuget.org. I.e. I would just keep this saved somewhere, i.e. as a gist and retrieve it from there when necessary. Note that while we have made some decent progress on package READMEs for active packages, we haven't yet started with obsoleting netstandard1.x packages and/or updating the ones that don't ship anymore from the main branch. We will revisit this topic when time allows. |
Yes, this PR is not required to be checked in, the purpose was to share the proposed readme text for review. Feel free to close and move to gist if that works better. |
Sounds good. I'm closing this until we find time to deprecate the older .NET Standard 1.x packages. |
There're a lot of .NET Standard 1.x packages that are no longer updated and just forward to inbox implementation both on .NET and .NET Framework (System.Runtime, System.Runtime.Extensions, System.Net.Http and others). They still show up high in NuGet search results, because they have lots of downloads, which creates some confusion for users.
This PR adds text for a generic package readme for these packages, to clarify that they should not be used. This readme should be added manually to them using NuGet gallery website. It can't be added automatically, because these packages are not published any more.
Fixes #86667
Related to #59630