Refining Your Search: Introducing NuGet.org’s Compatible Framework Filters

Advay Tandon

Jon Douglas

Last year, we introduced search by target frameworks on NuGet.org, allowing you to filter your search results based on the framework(s) that a package targets. We received plenty of great feedback from you on how to make the filters more effective, and we are excited to announce that we are adding new search options that will now allow you to filter search results by a package’s “compatible” frameworks.

NuGet.org search page with new Framework filter options

Previously, if you wanted to search for packages matching ‘net8.0’, you would only see packages that explicitly include ‘net8.0’.

Search for 'net8.0' packages - exclude compatible frameworks

Backwards compatibility is a key principle in .NET, and this means that packages targeting previous .NET versions, like ‘net6.0’ or ‘net7.0’, are also compatible with ‘net8.0’. We show this extended computed compatibility in full on the Frameworks tab of the Package Details page (See NuGet Gallery | Newtonsoft.Json 13.0.3), but so far, our filtering experience only supported filtering packages by their explicit asset frameworks.

The new “Include compatible frameworks” option we added allows you to flip between filtering by explicit asset frameworks and the larger set of ‘compatible’ frameworks. Filtering by packages’ compatible frameworks now reveals a much larger set of packages for you to choose from.

Search for 'net8.0' packages - include compatible frameworks

We have also added framework badges to our search results, allowing you to get a preview of the frameworks that a package supports without having to navigate away from the search page. These badges show the lowest supported framework versions from the .NET, .NET Core, .NET Standard, and .NET Framework generations. Packages are compatible with any framework version that is equal to or higher than the badge version shown.

‘Dark blue’ badges represent explicit asset frameworks, while ‘light blue’ badges represent compatible frameworks.

Framework badges in search results

Clicking on a badge will redirect you to the Framework tab on the package’s Details page on NuGet.org, where you will be able to see the full list of supported frameworks.

You may have noticed that there is another new search option in the Filters panel: “Framework Filter Mode.”

With the new ‘Framework Filter Mode’ option, if you want to see packages matching any one of your framework filters rather than all of them, you can select the Any radio button.

In contrast, when you select the All option, packages will be shown that match all of your framework filters.

For more information on these new filters, or anything else related to the NuGet.org search experience, you can check out our documentation here: Find and evaluate NuGet packages | Microsoft Learn.

What’s Next?

Your feedback is incredibly important to us, and we look forward to hearing more from you as you start using these new filters on NuGet.org. For new issues within NuGet.org, please report a GitHub Issue.

Our next goal is to extend the reach of these filters by bringing framework filtering to our V3 Search API too, paving the way for a richer filtering experience for clients like Visual Studio or CLI.

1 comment

Discussion is closed. Login to edit/delete existing comments.

  • Kalle Niemitalo 1

    Is there going to be a feature for excluding packages that are compatible with the desired target framework but not supported on it? Like the packages built from the dotnet/extensions repository are supported on .NET Framework for Microsoft internal use only, not for third-party customers. AFAIK, NuGet does not currently provide a declarative way to state which target frameworks are supported; the packages instead have MSBuild targets files that warn about unsupported target frameworks.

Feedback usabilla icon