NuGet 4.9 Release Notes
NuGet distribution vehicles:
NuGet version | Available in Visual Studio version | Available in .NET SDK(s) |
---|---|---|
4.9.0 | Visual Studio 2017 version 15.9.0 | 2.1.500, 2.2.100 |
4.9.1 | n/a | n/a |
4.9.2 | Visual Studio 2017 version 15.9.4 | 2.1.502, 2.2.101 |
4.9.3 | Visual Studio 2017 version 15.9.6 | 2.1.504, 2.2.104 |
4.9.5 | n/a | n/a .NET Core 2.1 is out of support as of August 21, 2021 |
4.9.6 | n/a | n/a .NET Core 2.1 is out of support as of August 21, 2021 |
Summary: What's New in 4.9.6
- [Security]: Microsoft Security Advisory CVE-2022-41032 | .NET Elevation of Privilege Vulnerability - #12149
Summary: What's New in 4.9.5
- [Security]: Microsoft Security Advisory CVE-2022-30184 | .NET Information Disclosure Vulnerability - #11883
Summary: What's New in 4.9.0
Signing: Enable ClientPolicies to require use of a set of Trusted Authors and Repositories listed in NuGet.Config - #6961, blog post
create ".snupkg" files to contain symbols in pack -- enhance push to understand nuget protocol to accept snupkg files for symbol server - #6878, blog post
NuGet credential plugin V2 - #6642
Self-Contained NuGet Packages - License - #4628, announcement
Enable opt-in "GeneratePathProperty" metadata on a PackageReference to generate a per package MSBuild property to "Foo.Bar\1.0" directory - #6949
Improve customer success with NuGet operations - #7108
Enable repeatable package restores using a lock file - #5602, announcement, blog post
Issues fixed in this release
Warnings elevated to errors (via WarnAsErrors) raised by PackageExtraction should never leave extracted package around - #7445
Badly signed packages should not end up in the global packages folder - #7423
binding redirect generation should not skip facade assemblies - #7393
VersionRange Equals doesn't compare floating ranges - #7324
Restore: performance regression using new .NET Core 2.1 HTTP stack - #7314
Update of a Package should not modify PrivateAssets of a PackageReference - #7285
Signing: signing should fail if a package has too many package entries (>65534) - #7248
"dotnet nuget push" codepath should support the new credential provider - #7233
Support executing plugins with invariant culture (as happens in docker) - #7223
nuget sources add should not delete credentials from NuGet.config - #7200
installing a devDependency PackageReference should default to excludeassets=compile - #7084
fix migrator option to be displayed for all projects and show error if project is incompatible - #6958
"dotnet add package" should commit the restore it performs to the assets file - #6928
Signing: improve signing related error messages - #6906
[Test Failure][zh-TW]String "Package Manager Console" doesn't localize on Package Manager Console - #6381
Error message around "Unable to find project information" should be a little more specific inside VS - #5350
Unhelpful error message when incorrectly using nuspec version tag of nuget pack - #2714
DCR - Signing: support NuGet protocol: RepositorySignatures/4.9.0 resource - #7421
DCR - .nupkg.metadata file will now be created during package extraction - contains "content-hash" - #7283
DCR - Skip authenticode verification for plugins while executing on Mono - #7222
List of all issues fixed in this release 4.9.0
Summary: What's New in 4.9.1
- Add support for reading a writing to the nuget.config via a new command trusted-signers - #7480
Issues fixed in this release
Fix license link generation - #7515
Error codes regression for validating signatures - #7492
NuGet.Build.Tasks.Pack package does not have license information - #7379
List of all issues fixed in this release 4.9.1
Summary: What's New in 4.9.2
Issues fixed in this release
VS/dotnet.exe/nuget.exe/msbuild.exe restore doesn't use credentials when source name contains a whitespace - #7517
LicenseAcceptanceWindow and LicenseFileWindow Accessibility issues - #7452
Fix FormatException in DateTime.Parse from DateTimeConverter - #7539
List of all issues fixed in this release 4.9.2
Summary: What's New in 4.9.3
Issues fixed in this release
"Repeatable Package Restores Using a Lock File" Issues
Locked mode not working as hash is calculated incorrectly for previously cached packages - #7682
Restore resolves to a different version than defined in
packages.lock.json
file - #7667'--locked-mode / RestoreLockedMode' causes spurious Restore failures when ProjectReferences are involved - #7646
MSBuild SDK resolver tries to validate SHA for a SDK package which fails restore when using packages.lock.json - #7599
"Lock Down Your Dependencies Using Configurable Trust Policies" Issues
dotnet.exe should not evaluate trusted-signers while signed packages are not supported - #7574
Order of trustedSigners in config file affects trust evaluation - #7572
Can't implement ISettings [Caused by refactoring of settings APIs to support Trust Policies feature] - #7614
"Improved Debugging Experience" Issues
- Cannot publish symbol package for .NET Core Global Tool - #7632
"Self-Contained NuGet Packages - License" Issues
- Error building symbol .snupkg package when using embedded license file - #7591
List of all issues fixed in this release 4.9.3
Summary: What's New in 4.9.4
- Security Fix: Permissions on files created inside ~/.nuget are too open #7673 CVE-2019-0757
Known issues
dotnet nuget push --interactive gives an error on Mac. - #7519
Issue
The --interactive
argument is not being forwarded by the dotnet cli and results in the error error: Missing value for option 'interactive'
Workaround
Run any other dotnet command with the interactive option such as dotnet restore --interactive
and authenticate. The authentication then might be cached by the credential provider. Then run dotnet nuget push
.
Packages in FallbackFolders installed by .NET Core SDK are custom installed, and fail signature validation. - #7414
Issue
When using dotnet.exe 2.x to restore a project that multi-targets netcoreapp 1.x and netcoreapp 2.x, the fallback folder is treated as a file feed. This means, when restoring, NuGet will pick the package from the fallback folder and try to install it into the global packages folder and do the usual signing validation which fails.
Workaround
Disable the usage of the fallback folder by setting the RestoreAdditionalProjectSources
to nothing. <RestoreAdditionalProjectSources/>
Use this with caution as it will cause a lot of packages to be downloaded from NuGet.org which otherwise would be have been restored from the fallback folder.