Edit

NuGet 7.9 Release Notes

NuGet distribution vehicles:

NuGet version Available in Visual Studio version Available in .NET SDK(s)
7.9.0 Visual Studio 2026 version 18.9.0 10.0.4001

1 Installed with Visual Studio 2026 with any .NET workload

Summary: What's New in 7.9.0

Breaking changes

  • SearchFilter changing PackageTypes to PackageType - #14941

  • Add nullable annotations to NuGet.Protocol - #14851

  • Add deprecation warning for monoandroid TFMs - #14828

  • Report real transitive reference versions in dotnet nuget why, not final resolved versions - #13752

Issues fixed in this release

Restore

  • Inconsistent restore results based on restore order - #13326

  • dotnet restore/build should work correctly when its MSBuild tasks run repeatedly and in the same process - #14958

  • Restore will start checking audit sources are secure HTTPS - #14962

  • nuget.exe restore -MSBuildPath crashes when pointing it to .NET SDK directory - #14844

  • RestoreLockedMode=true & RestoreForceEvaluate=true should error - #8222

CLI

  • Revisit deterministic pack - #8601

  • Use a deterministic order for files when calculating psmdcp hash - #14916

  • Capability discovery for SearchFilter.PackageTypes across PackageSearchResource implementations - #14936

  • Don't require the usage of RootCommand to wire up the NuGet System.CommandLine commands - #14939

  • static graph restore doesn't handle relative paths for RestoreSource correctly - #14904

  • Show certificate CRL and OCSP URLs in dotnet nuget verify output - #14780

  • dotnet nuget why on non-sdk style project's assets file doesn't work - #14695

  • dotnet add package incorrectly adds PrivateAssets to the PackageVersion item - #14601

Package Manager UI in Visual Studio

  • Installed packages load all version info before returning, taking a long time to load on slow feeds - #14964

  • [Bug Bash] The vulnerable warning icon shows incorrectly on the right panel of "Installed" tab in solution-level PM UI - #14322

  • [Bug Bash] The warning icon on the right of installed vulnerable package version doesn’t show for the lower version in "Installed" tab and “Consolidate” tab of solution-level PM UI - #14024

  • [Bug Bash] The status of the new installed package which doesn’t match the package pattern was shown incorrectly in ‘Browse’ tab - #14923

  • The error “the JSON value could not be converted to System.Int64” occurs when selecting a valid devops source in the ‘Package Source’ dropdown list on PM UI - #14943

  • [Bug Bash][Unstable] An error “A project with ID ‘XXXXXXX-XXXXXXX’ was not found” occurred after installing a package with PackageReference format into a Console App (.NET Framework 4.8.1) - #12397

NuGet SDK

  • [Epic]Migrate NuGet client libraries from Newtonsoft.Json to System.Text.Json deserialization - #14846

  • Annotate Newtonsoft.Json deserialization code path - #14934

NuGet MCP Server

  • The NuGet Solver tool is still unavailable after the NuGet MCP Server is enabled from MCP Server Manager - #14912

Engineering

  • Remove unused Package Reference upgrade InfoBar in PM UI - #14968

  • RuntimeEnvironmentHelper: remove Lazy for basic platform checks - #14951

  • Remove feature switch || runtime check() used in nuget.client repo - #14944

  • Failed to update binding redirects error needs more information - #14940

  • Remove PackageSearchResourceV3(NuGet.Protocol.RawSearchResourceV3 searchResource) constructor - #14935

  • Migrate NuGet's dotnet CLI commands to System.CommandLine - #14848

List of commits in this release

Community contributions

Thank you to all the contributors who helped make this NuGet release awesome!

  • OvesN
    • 7537 Mark GetRestoreProjectStyleTask as MSBuild-multithreadable
    • 7534 Mark WarnForInvalidProjectsTask as MSBuild-multithreadable
    • 7536 Migrate GetRestoreProjectReferencesTask to the multithreadable model
  • JanProvaznik
    • 7509 Annotate trivial Nuget.Build.Tasks for multithreadable MSBuild execution
    • 7508 Bump MSBuild to 18.6.3 for NET compilation of Nuget.Build.Tasks.dll
  • sbomer
    • 7511 Skip NU1703 for empty MonoAndroid assets
  • omajid
    • 7410 Make PackageBuilder.CalcPsmdcpName deterministic
  • liliankasem
    • 7395 Fix package type query parameter for V3 search, add capability check
  • nareshjo
    • 7405 Fix VS allocation issue: NuGet restore content-file glob matching
  • 333fred
    • 7407 Fix nullable annotation on LoadSpecificSettings