Add nullable annotations to NuGet.Configuration #13250
Labels
Category:BreakingChange
Functionality:SDK
The NuGet client packages published to nuget.org
Priority:3
Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog.
Type:DCR
Design Change Request
Milestone
NuGet.Configuration is a package that is part of the NuGet Client SDK. We are adding null annotations, so projects using nullable reference types will benefit from compiler null checking, leading to improved software reliability (fewer NullReferenceExceptions).
Generally when annotating nulls we try to avoid making any breaking API or ABI changes. However, the following changes have been made in order to allow the compiler to provide everyone with the most useful nullable warnings.
Projects that use this package and enable nullable checks might find that upgrading to a version of the package that now has nullable annotations will generate warnings that previously did not generate warnings. This is a natural consequence of annotating the assembly where it previously lacked annotations.
In addition, the following breaking changes were implemented:
Changes to
SettingsBase
andSettingsElement
To make the compiler's null checking more accurate, some properties were changed, and some abstract class constructors changed. This should only affect classes that extend the abstract classes. NuGet.Configuration does not provide extensibility to allow custom configuration sections via
Settings.Load*
. Therefore, while these are technically breaking API changes, it's not expected to affect common usage of NuGet.Configuration.The text was updated successfully, but these errors were encountered: