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