From 19425b835001d8765b5ad5a1768f202710374257 Mon Sep 17 00:00:00 2001
From: Nigusu Solomon Yenework
<59111203+Nigusu-Allehu@users.noreply.github.com>
Date: Tue, 30 Sep 2025 16:12:31 -0700
Subject: [PATCH 01/10] Update release branch trigger pattern in YAML (#6810)
(#6811)
---
eng/pipelines/optprof.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/eng/pipelines/optprof.yml b/eng/pipelines/optprof.yml
index c6ee0431358..914fd77d4f6 100644
--- a/eng/pipelines/optprof.yml
+++ b/eng/pipelines/optprof.yml
@@ -11,6 +11,7 @@ resources:
include:
- dev
- release-*
+ - release/*
exclude:
- release-6.0.x
- release-6.3.x
From 4da788a79f254bc9429f2b0690b1437d49a39b49 Mon Sep 17 00:00:00 2001
From: Nigusu Solomon Yenework
<59111203+Nigusu-Allehu@users.noreply.github.com>
Date: Wed, 1 Oct 2025 14:47:16 -0700
Subject: [PATCH 02/10] Change IsEscrowMode to true in config.props (#6817)
---
build/config.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/config.props b/build/config.props
index 83fcdc328ce..26e1ba81e9b 100644
--- a/build/config.props
+++ b/build/config.props
@@ -22,7 +22,7 @@
rc
- false
+ true
$([MSBuild]::Add(11, $(MajorNuGetVersion)))
From eae226f151acf77e7167c8670923a9479e79777b Mon Sep 17 00:00:00 2001
From: Nigusu Solomon Yenework
<59111203+Nigusu-Allehu@users.noreply.github.com>
Date: Wed, 1 Oct 2025 15:03:03 -0700
Subject: [PATCH 03/10] Ship public aps (#6818)
---
.../PublicAPI.Shipped.txt | 3 +++
.../PublicAPI.Unshipped.txt | 3 ---
.../PublicAPI/net472/PublicAPI.Shipped.txt | 16 ++++++++++++++++
.../PublicAPI/net472/PublicAPI.Unshipped.txt | 16 ----------------
.../PublicAPI/net8.0/PublicAPI.Shipped.txt | 16 ++++++++++++++++
.../PublicAPI/net8.0/PublicAPI.Unshipped.txt | 16 ----------------
.../netstandard2.0/PublicAPI.Shipped.txt | 16 ++++++++++++++++
.../netstandard2.0/PublicAPI.Unshipped.txt | 16 ----------------
.../NuGet.Common/PublicAPI.Shipped.txt | 3 +++
.../NuGet.Common/PublicAPI.Unshipped.txt | 3 ---
.../PublicAPI.Shipped.txt | 1 +
.../PublicAPI.Unshipped.txt | 1 -
.../PublicAPI/net472/PublicAPI.Shipped.txt | 2 ++
.../PublicAPI/net472/PublicAPI.Unshipped.txt | 2 --
.../PublicAPI/net8.0/PublicAPI.Shipped.txt | 2 ++
.../PublicAPI/net8.0/PublicAPI.Unshipped.txt | 2 --
.../NuGet.ProjectModel/PublicAPI.Shipped.txt | 11 ++++++++++-
.../NuGet.ProjectModel/PublicAPI.Unshipped.txt | 9 ---------
.../PublicAPI/net472/PublicAPI.Shipped.txt | 3 +++
.../PublicAPI/net472/PublicAPI.Unshipped.txt | 3 ---
.../PublicAPI/net8.0/PublicAPI.Shipped.txt | 3 +++
.../PublicAPI/net8.0/PublicAPI.Unshipped.txt | 3 ---
.../netstandard2.0/PublicAPI.Shipped.txt | 3 +++
.../netstandard2.0/PublicAPI.Unshipped.txt | 3 ---
24 files changed, 78 insertions(+), 78 deletions(-)
diff --git a/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Shipped.txt
index 7767b73cb59..994453ba251 100644
--- a/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Shipped.txt
@@ -2,4 +2,7 @@ NuGet.CommandLine.XPlat.Commands.DocumentedCommand
NuGet.CommandLine.XPlat.Commands.DocumentedCommand.DocumentedCommand(string name, string description, string helpUrl) -> void
NuGet.CommandLine.XPlat.Commands.DocumentedCommand.HelpUrl.get -> string
NuGet.CommandLine.XPlat.Commands.Why.WhyCommand
+NuGet.CommandLine.XPlat.NuGetCommands
static NuGet.CommandLine.XPlat.Commands.Why.WhyCommand.GetWhyCommand(System.CommandLine.Command rootCommand) -> void
+static NuGet.CommandLine.XPlat.NuGetCommands.Add(System.CommandLine.RootCommand rootCommand) -> void
+static NuGet.CommandLine.XPlat.NuGetCommands.Add(System.CommandLine.RootCommand rootCommand, System.CommandLine.Option interactiveOption) -> void
diff --git a/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Unshipped.txt
index 8abedd74e52..e69de29bb2d 100644
--- a/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.CommandLine.XPlat/PublicAPI.Unshipped.txt
@@ -1,3 +0,0 @@
-NuGet.CommandLine.XPlat.NuGetCommands
-static NuGet.CommandLine.XPlat.NuGetCommands.Add(System.CommandLine.RootCommand rootCommand) -> void
-static NuGet.CommandLine.XPlat.NuGetCommands.Add(System.CommandLine.RootCommand rootCommand, System.CommandLine.Option interactiveOption) -> void
diff --git a/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Shipped.txt
index 6405aa9d083..5f40c84b413 100644
--- a/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Shipped.txt
@@ -451,6 +451,18 @@ NuGet.Commands.ResolverRequest
~NuGet.Commands.ResolverRequest.Request.get -> NuGet.LibraryModel.LibraryRange
~NuGet.Commands.ResolverRequest.Requestor.get -> NuGet.LibraryModel.LibraryIdentity
~NuGet.Commands.ResolverRequest.ResolverRequest(NuGet.LibraryModel.LibraryIdentity requestor, NuGet.LibraryModel.LibraryRange request) -> void
+NuGet.Commands.Restore.IItem
+NuGet.Commands.Restore.IItem.GetMetadata(string! name) -> string!
+NuGet.Commands.Restore.IItem.Identity.get -> string!
+NuGet.Commands.Restore.IProject
+NuGet.Commands.Restore.IProject.Directory.get -> string!
+NuGet.Commands.Restore.IProject.FullPath.get -> string!
+NuGet.Commands.Restore.IProject.OuterBuild.get -> NuGet.Commands.Restore.ITargetFramework!
+NuGet.Commands.Restore.IProject.TargetFrameworks.get -> System.Collections.Generic.IReadOnlyDictionary!
+NuGet.Commands.Restore.ITargetFramework
+NuGet.Commands.Restore.ITargetFramework.GetItems(string! itemType) -> System.Collections.Generic.IReadOnlyList!
+NuGet.Commands.Restore.ITargetFramework.GetProperty(string! propertyName) -> string!
+NuGet.Commands.Restore.Utility.PackageSpecFactory
NuGet.Commands.RestoreArgs
~NuGet.Commands.RestoreArgs.AdditionalMessages.get -> System.Collections.Generic.IReadOnlyList
~NuGet.Commands.RestoreArgs.AdditionalMessages.set -> void
@@ -938,6 +950,7 @@ override NuGet.Commands.WarningPropertiesCollection.GetHashCode() -> int
~static NuGet.Commands.MSBuildRestoreUtility.GetLibraryDependencyIncludeFlags(string includeAssets, string excludeAssets, string privateAssets) -> (NuGet.LibraryModel.LibraryIncludeFlags includeType, NuGet.LibraryModel.LibraryIncludeFlags suppressParent)
~static NuGet.Commands.MSBuildRestoreUtility.GetMessageForUnsupportedProject(string path) -> NuGet.Common.RestoreLogMessage
~static NuGet.Commands.MSBuildRestoreUtility.GetPackageSpec(System.Collections.Generic.IEnumerable items) -> NuGet.ProjectModel.PackageSpec
+~static NuGet.Commands.MSBuildRestoreUtility.GetRestoreAuditProperties(NuGet.Commands.IMSBuildItem specItem, System.Collections.Generic.IEnumerable allItems, System.Collections.Generic.HashSet suppressionItems) -> NuGet.ProjectModel.RestoreAuditProperties
~static NuGet.Commands.MSBuildRestoreUtility.GetSdkAnalysisLevel(string sdkAnalysisLevel) -> NuGet.Versioning.NuGetVersion
~static NuGet.Commands.MSBuildRestoreUtility.GetUsingMicrosoftNETSdk(string usingMicrosoftNETSdk) -> bool
~static NuGet.Commands.MSBuildRestoreUtility.GetWarningForUnsupportedProject(string path) -> NuGet.Common.RestoreLogMessage
@@ -962,17 +975,20 @@ override NuGet.Commands.WarningPropertiesCollection.GetHashCode() -> int
~static NuGet.Commands.PackageSourceProviderExtensions.ResolveSource(System.Collections.Generic.IEnumerable availableSources, string source) -> NuGet.Configuration.PackageSource
~static NuGet.Commands.PackageSpecificWarningProperties.CreatePackageSpecificWarningProperties(NuGet.ProjectModel.PackageSpec packageSpec) -> NuGet.Commands.PackageSpecificWarningProperties
~static NuGet.Commands.PackageSpecificWarningProperties.CreatePackageSpecificWarningProperties(NuGet.ProjectModel.PackageSpec packageSpec, NuGet.Frameworks.NuGetFramework framework) -> NuGet.Commands.PackageSpecificWarningProperties
+~static NuGet.Commands.PushRunner.Run(NuGet.Configuration.ISettings settings, NuGet.Configuration.IPackageSourceProvider sourceProvider, System.Collections.Generic.IList packagePaths, string source, string apiKey, string symbolSource, string symbolApiKey, int timeoutSeconds, bool disableBuffering, bool noSymbols, bool noServiceEndpoint, bool skipDuplicate, bool allowInsecureConnections, NuGet.Common.ILogger logger) -> System.Threading.Tasks.Task
~static NuGet.Commands.RemoveClientCertRunner.Run(NuGet.Commands.RemoveClientCertArgs args, System.Func getLogger) -> void
~static NuGet.Commands.RemoveSourceRunner.Run(NuGet.Commands.RemoveSourceArgs args, System.Func getLogger) -> void
~static NuGet.Commands.RequestRuntimeUtility.GetDefaultRestoreRuntimes(string os, string runtimeOsName) -> System.Collections.Generic.IEnumerable
static NuGet.Commands.ResolvedDependencyKey.operator !=(NuGet.Commands.ResolvedDependencyKey left, NuGet.Commands.ResolvedDependencyKey right) -> bool
static NuGet.Commands.ResolvedDependencyKey.operator ==(NuGet.Commands.ResolvedDependencyKey left, NuGet.Commands.ResolvedDependencyKey right) -> bool
+static NuGet.Commands.Restore.Utility.PackageSpecFactory.GetPackageSpec(NuGet.Commands.Restore.IProject! project, NuGet.Configuration.ISettings! settings) -> NuGet.ProjectModel.PackageSpec?
~static NuGet.Commands.RestoreRunner.CommitAsync(NuGet.Commands.RestoreResultPair restoreResult, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task
~static NuGet.Commands.RestoreRunner.GetInvalidInputErrorMessage(string input) -> string
~static NuGet.Commands.RestoreRunner.GetRequests(NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunAsync(NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunAsync(NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunWithoutCommit(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
+~static NuGet.Commands.RestoreRunner.RunWithoutCommitAsync(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreSpecException.Create(string message, System.Collections.Generic.IEnumerable files) -> NuGet.Commands.RestoreSpecException
~static NuGet.Commands.RestoreSpecException.Create(string message, System.Collections.Generic.IEnumerable files, System.Exception innerException) -> NuGet.Commands.RestoreSpecException
~static NuGet.Commands.RestoreSummary.Log(NuGet.Common.ILogger logger, System.Collections.Generic.IReadOnlyList restoreSummaries, bool logErrors = false) -> void
diff --git a/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Unshipped.txt
index 6440dae894d..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Commands/PublicAPI/net472/PublicAPI.Unshipped.txt
@@ -1,17 +1 @@
#nullable enable
-NuGet.Commands.Restore.IItem
-NuGet.Commands.Restore.IItem.GetMetadata(string! name) -> string!
-NuGet.Commands.Restore.IItem.Identity.get -> string!
-NuGet.Commands.Restore.IProject
-NuGet.Commands.Restore.IProject.Directory.get -> string!
-NuGet.Commands.Restore.IProject.FullPath.get -> string!
-NuGet.Commands.Restore.IProject.OuterBuild.get -> NuGet.Commands.Restore.ITargetFramework!
-NuGet.Commands.Restore.IProject.TargetFrameworks.get -> System.Collections.Generic.IReadOnlyDictionary!
-NuGet.Commands.Restore.ITargetFramework
-NuGet.Commands.Restore.ITargetFramework.GetItems(string! itemType) -> System.Collections.Generic.IReadOnlyList!
-NuGet.Commands.Restore.ITargetFramework.GetProperty(string! propertyName) -> string!
-NuGet.Commands.Restore.Utility.PackageSpecFactory
-static NuGet.Commands.Restore.Utility.PackageSpecFactory.GetPackageSpec(NuGet.Commands.Restore.IProject! project, NuGet.Configuration.ISettings! settings) -> NuGet.ProjectModel.PackageSpec?
-~static NuGet.Commands.MSBuildRestoreUtility.GetRestoreAuditProperties(NuGet.Commands.IMSBuildItem specItem, System.Collections.Generic.IEnumerable allItems, System.Collections.Generic.HashSet suppressionItems) -> NuGet.ProjectModel.RestoreAuditProperties
-~static NuGet.Commands.PushRunner.Run(NuGet.Configuration.ISettings settings, NuGet.Configuration.IPackageSourceProvider sourceProvider, System.Collections.Generic.IList packagePaths, string source, string apiKey, string symbolSource, string symbolApiKey, int timeoutSeconds, bool disableBuffering, bool noSymbols, bool noServiceEndpoint, bool skipDuplicate, bool allowInsecureConnections, NuGet.Common.ILogger logger) -> System.Threading.Tasks.Task
-~static NuGet.Commands.RestoreRunner.RunWithoutCommitAsync(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
diff --git a/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Shipped.txt
index 6bda528d21c..cfbf696fbef 100644
--- a/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Shipped.txt
@@ -451,6 +451,18 @@ NuGet.Commands.ResolverRequest
~NuGet.Commands.ResolverRequest.Request.get -> NuGet.LibraryModel.LibraryRange
~NuGet.Commands.ResolverRequest.Requestor.get -> NuGet.LibraryModel.LibraryIdentity
~NuGet.Commands.ResolverRequest.ResolverRequest(NuGet.LibraryModel.LibraryIdentity requestor, NuGet.LibraryModel.LibraryRange request) -> void
+NuGet.Commands.Restore.IItem
+NuGet.Commands.Restore.IItem.GetMetadata(string! name) -> string!
+NuGet.Commands.Restore.IItem.Identity.get -> string!
+NuGet.Commands.Restore.IProject
+NuGet.Commands.Restore.IProject.Directory.get -> string!
+NuGet.Commands.Restore.IProject.FullPath.get -> string!
+NuGet.Commands.Restore.IProject.OuterBuild.get -> NuGet.Commands.Restore.ITargetFramework!
+NuGet.Commands.Restore.IProject.TargetFrameworks.get -> System.Collections.Generic.IReadOnlyDictionary!
+NuGet.Commands.Restore.ITargetFramework
+NuGet.Commands.Restore.ITargetFramework.GetItems(string! itemType) -> System.Collections.Generic.IReadOnlyList!
+NuGet.Commands.Restore.ITargetFramework.GetProperty(string! propertyName) -> string!
+NuGet.Commands.Restore.Utility.PackageSpecFactory
NuGet.Commands.RestoreArgs
~NuGet.Commands.RestoreArgs.AdditionalMessages.get -> System.Collections.Generic.IReadOnlyList
~NuGet.Commands.RestoreArgs.AdditionalMessages.set -> void
@@ -937,6 +949,7 @@ override NuGet.Commands.WarningPropertiesCollection.GetHashCode() -> int
~static NuGet.Commands.MSBuildRestoreUtility.GetLibraryDependencyIncludeFlags(string includeAssets, string excludeAssets, string privateAssets) -> (NuGet.LibraryModel.LibraryIncludeFlags includeType, NuGet.LibraryModel.LibraryIncludeFlags suppressParent)
~static NuGet.Commands.MSBuildRestoreUtility.GetMessageForUnsupportedProject(string path) -> NuGet.Common.RestoreLogMessage
~static NuGet.Commands.MSBuildRestoreUtility.GetPackageSpec(System.Collections.Generic.IEnumerable items) -> NuGet.ProjectModel.PackageSpec
+~static NuGet.Commands.MSBuildRestoreUtility.GetRestoreAuditProperties(NuGet.Commands.IMSBuildItem specItem, System.Collections.Generic.IEnumerable allItems, System.Collections.Generic.HashSet suppressionItems) -> NuGet.ProjectModel.RestoreAuditProperties
~static NuGet.Commands.MSBuildRestoreUtility.GetSdkAnalysisLevel(string sdkAnalysisLevel) -> NuGet.Versioning.NuGetVersion
~static NuGet.Commands.MSBuildRestoreUtility.GetUsingMicrosoftNETSdk(string usingMicrosoftNETSdk) -> bool
~static NuGet.Commands.MSBuildRestoreUtility.GetWarningForUnsupportedProject(string path) -> NuGet.Common.RestoreLogMessage
@@ -961,17 +974,20 @@ override NuGet.Commands.WarningPropertiesCollection.GetHashCode() -> int
~static NuGet.Commands.PackageSourceProviderExtensions.ResolveSource(System.Collections.Generic.IEnumerable availableSources, string source) -> NuGet.Configuration.PackageSource
~static NuGet.Commands.PackageSpecificWarningProperties.CreatePackageSpecificWarningProperties(NuGet.ProjectModel.PackageSpec packageSpec) -> NuGet.Commands.PackageSpecificWarningProperties
~static NuGet.Commands.PackageSpecificWarningProperties.CreatePackageSpecificWarningProperties(NuGet.ProjectModel.PackageSpec packageSpec, NuGet.Frameworks.NuGetFramework framework) -> NuGet.Commands.PackageSpecificWarningProperties
+~static NuGet.Commands.PushRunner.Run(NuGet.Configuration.ISettings settings, NuGet.Configuration.IPackageSourceProvider sourceProvider, System.Collections.Generic.IList packagePaths, string source, string apiKey, string symbolSource, string symbolApiKey, int timeoutSeconds, bool disableBuffering, bool noSymbols, bool noServiceEndpoint, bool skipDuplicate, bool allowInsecureConnections, NuGet.Common.ILogger logger) -> System.Threading.Tasks.Task
~static NuGet.Commands.RemoveClientCertRunner.Run(NuGet.Commands.RemoveClientCertArgs args, System.Func getLogger) -> void
~static NuGet.Commands.RemoveSourceRunner.Run(NuGet.Commands.RemoveSourceArgs args, System.Func getLogger) -> void
~static NuGet.Commands.RequestRuntimeUtility.GetDefaultRestoreRuntimes(string os, string runtimeOsName) -> System.Collections.Generic.IEnumerable
static NuGet.Commands.ResolvedDependencyKey.operator !=(NuGet.Commands.ResolvedDependencyKey left, NuGet.Commands.ResolvedDependencyKey right) -> bool
static NuGet.Commands.ResolvedDependencyKey.operator ==(NuGet.Commands.ResolvedDependencyKey left, NuGet.Commands.ResolvedDependencyKey right) -> bool
+static NuGet.Commands.Restore.Utility.PackageSpecFactory.GetPackageSpec(NuGet.Commands.Restore.IProject! project, NuGet.Configuration.ISettings! settings) -> NuGet.ProjectModel.PackageSpec?
~static NuGet.Commands.RestoreRunner.CommitAsync(NuGet.Commands.RestoreResultPair restoreResult, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task
~static NuGet.Commands.RestoreRunner.GetInvalidInputErrorMessage(string input) -> string
~static NuGet.Commands.RestoreRunner.GetRequests(NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunAsync(NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunAsync(NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunWithoutCommit(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
+~static NuGet.Commands.RestoreRunner.RunWithoutCommitAsync(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreSpecException.Create(string message, System.Collections.Generic.IEnumerable files) -> NuGet.Commands.RestoreSpecException
~static NuGet.Commands.RestoreSpecException.Create(string message, System.Collections.Generic.IEnumerable files, System.Exception innerException) -> NuGet.Commands.RestoreSpecException
~static NuGet.Commands.RestoreSummary.Log(NuGet.Common.ILogger logger, System.Collections.Generic.IReadOnlyList restoreSummaries, bool logErrors = false) -> void
diff --git a/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Unshipped.txt
index 6440dae894d..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Commands/PublicAPI/net8.0/PublicAPI.Unshipped.txt
@@ -1,17 +1 @@
#nullable enable
-NuGet.Commands.Restore.IItem
-NuGet.Commands.Restore.IItem.GetMetadata(string! name) -> string!
-NuGet.Commands.Restore.IItem.Identity.get -> string!
-NuGet.Commands.Restore.IProject
-NuGet.Commands.Restore.IProject.Directory.get -> string!
-NuGet.Commands.Restore.IProject.FullPath.get -> string!
-NuGet.Commands.Restore.IProject.OuterBuild.get -> NuGet.Commands.Restore.ITargetFramework!
-NuGet.Commands.Restore.IProject.TargetFrameworks.get -> System.Collections.Generic.IReadOnlyDictionary!
-NuGet.Commands.Restore.ITargetFramework
-NuGet.Commands.Restore.ITargetFramework.GetItems(string! itemType) -> System.Collections.Generic.IReadOnlyList!
-NuGet.Commands.Restore.ITargetFramework.GetProperty(string! propertyName) -> string!
-NuGet.Commands.Restore.Utility.PackageSpecFactory
-static NuGet.Commands.Restore.Utility.PackageSpecFactory.GetPackageSpec(NuGet.Commands.Restore.IProject! project, NuGet.Configuration.ISettings! settings) -> NuGet.ProjectModel.PackageSpec?
-~static NuGet.Commands.MSBuildRestoreUtility.GetRestoreAuditProperties(NuGet.Commands.IMSBuildItem specItem, System.Collections.Generic.IEnumerable allItems, System.Collections.Generic.HashSet suppressionItems) -> NuGet.ProjectModel.RestoreAuditProperties
-~static NuGet.Commands.PushRunner.Run(NuGet.Configuration.ISettings settings, NuGet.Configuration.IPackageSourceProvider sourceProvider, System.Collections.Generic.IList packagePaths, string source, string apiKey, string symbolSource, string symbolApiKey, int timeoutSeconds, bool disableBuffering, bool noSymbols, bool noServiceEndpoint, bool skipDuplicate, bool allowInsecureConnections, NuGet.Common.ILogger logger) -> System.Threading.Tasks.Task
-~static NuGet.Commands.RestoreRunner.RunWithoutCommitAsync(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
diff --git a/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt
index f65c6f59dec..cd685144e40 100644
--- a/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt
@@ -452,6 +452,18 @@ NuGet.Commands.ResolverRequest
~NuGet.Commands.ResolverRequest.Request.get -> NuGet.LibraryModel.LibraryRange
~NuGet.Commands.ResolverRequest.Requestor.get -> NuGet.LibraryModel.LibraryIdentity
~NuGet.Commands.ResolverRequest.ResolverRequest(NuGet.LibraryModel.LibraryIdentity requestor, NuGet.LibraryModel.LibraryRange request) -> void
+NuGet.Commands.Restore.IItem
+NuGet.Commands.Restore.IItem.GetMetadata(string! name) -> string!
+NuGet.Commands.Restore.IItem.Identity.get -> string!
+NuGet.Commands.Restore.IProject
+NuGet.Commands.Restore.IProject.Directory.get -> string!
+NuGet.Commands.Restore.IProject.FullPath.get -> string!
+NuGet.Commands.Restore.IProject.OuterBuild.get -> NuGet.Commands.Restore.ITargetFramework!
+NuGet.Commands.Restore.IProject.TargetFrameworks.get -> System.Collections.Generic.IReadOnlyDictionary!
+NuGet.Commands.Restore.ITargetFramework
+NuGet.Commands.Restore.ITargetFramework.GetItems(string! itemType) -> System.Collections.Generic.IReadOnlyList!
+NuGet.Commands.Restore.ITargetFramework.GetProperty(string! propertyName) -> string!
+NuGet.Commands.Restore.Utility.PackageSpecFactory
NuGet.Commands.RestoreArgs
~NuGet.Commands.RestoreArgs.AdditionalMessages.get -> System.Collections.Generic.IReadOnlyList
~NuGet.Commands.RestoreArgs.AdditionalMessages.set -> void
@@ -942,6 +954,7 @@ override NuGet.Commands.WarningPropertiesCollection.GetHashCode() -> int
~static NuGet.Commands.MSBuildRestoreUtility.GetLibraryDependencyIncludeFlags(string includeAssets, string excludeAssets, string privateAssets) -> (NuGet.LibraryModel.LibraryIncludeFlags includeType, NuGet.LibraryModel.LibraryIncludeFlags suppressParent)
~static NuGet.Commands.MSBuildRestoreUtility.GetMessageForUnsupportedProject(string path) -> NuGet.Common.RestoreLogMessage
~static NuGet.Commands.MSBuildRestoreUtility.GetPackageSpec(System.Collections.Generic.IEnumerable items) -> NuGet.ProjectModel.PackageSpec
+~static NuGet.Commands.MSBuildRestoreUtility.GetRestoreAuditProperties(NuGet.Commands.IMSBuildItem specItem, System.Collections.Generic.IEnumerable allItems, System.Collections.Generic.HashSet suppressionItems) -> NuGet.ProjectModel.RestoreAuditProperties
~static NuGet.Commands.MSBuildRestoreUtility.GetSdkAnalysisLevel(string sdkAnalysisLevel) -> NuGet.Versioning.NuGetVersion
~static NuGet.Commands.MSBuildRestoreUtility.GetUsingMicrosoftNETSdk(string usingMicrosoftNETSdk) -> bool
~static NuGet.Commands.MSBuildRestoreUtility.GetWarningForUnsupportedProject(string path) -> NuGet.Common.RestoreLogMessage
@@ -966,17 +979,20 @@ override NuGet.Commands.WarningPropertiesCollection.GetHashCode() -> int
~static NuGet.Commands.PackageSourceProviderExtensions.ResolveSource(System.Collections.Generic.IEnumerable availableSources, string source) -> NuGet.Configuration.PackageSource
~static NuGet.Commands.PackageSpecificWarningProperties.CreatePackageSpecificWarningProperties(NuGet.ProjectModel.PackageSpec packageSpec) -> NuGet.Commands.PackageSpecificWarningProperties
~static NuGet.Commands.PackageSpecificWarningProperties.CreatePackageSpecificWarningProperties(NuGet.ProjectModel.PackageSpec packageSpec, NuGet.Frameworks.NuGetFramework framework) -> NuGet.Commands.PackageSpecificWarningProperties
+~static NuGet.Commands.PushRunner.Run(NuGet.Configuration.ISettings settings, NuGet.Configuration.IPackageSourceProvider sourceProvider, System.Collections.Generic.IList packagePaths, string source, string apiKey, string symbolSource, string symbolApiKey, int timeoutSeconds, bool disableBuffering, bool noSymbols, bool noServiceEndpoint, bool skipDuplicate, bool allowInsecureConnections, NuGet.Common.ILogger logger) -> System.Threading.Tasks.Task
~static NuGet.Commands.RemoveClientCertRunner.Run(NuGet.Commands.RemoveClientCertArgs args, System.Func getLogger) -> void
~static NuGet.Commands.RemoveSourceRunner.Run(NuGet.Commands.RemoveSourceArgs args, System.Func getLogger) -> void
~static NuGet.Commands.RequestRuntimeUtility.GetDefaultRestoreRuntimes(string os, string runtimeOsName) -> System.Collections.Generic.IEnumerable
static NuGet.Commands.ResolvedDependencyKey.operator !=(NuGet.Commands.ResolvedDependencyKey left, NuGet.Commands.ResolvedDependencyKey right) -> bool
static NuGet.Commands.ResolvedDependencyKey.operator ==(NuGet.Commands.ResolvedDependencyKey left, NuGet.Commands.ResolvedDependencyKey right) -> bool
+static NuGet.Commands.Restore.Utility.PackageSpecFactory.GetPackageSpec(NuGet.Commands.Restore.IProject! project, NuGet.Configuration.ISettings! settings) -> NuGet.ProjectModel.PackageSpec?
~static NuGet.Commands.RestoreRunner.CommitAsync(NuGet.Commands.RestoreResultPair restoreResult, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task
~static NuGet.Commands.RestoreRunner.GetInvalidInputErrorMessage(string input) -> string
~static NuGet.Commands.RestoreRunner.GetRequests(NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunAsync(NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunAsync(NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreRunner.RunWithoutCommit(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext) -> System.Threading.Tasks.Task>
+~static NuGet.Commands.RestoreRunner.RunWithoutCommitAsync(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
~static NuGet.Commands.RestoreSpecException.Create(string message, System.Collections.Generic.IEnumerable files) -> NuGet.Commands.RestoreSpecException
~static NuGet.Commands.RestoreSpecException.Create(string message, System.Collections.Generic.IEnumerable files, System.Exception innerException) -> NuGet.Commands.RestoreSpecException
~static NuGet.Commands.RestoreSummary.Log(NuGet.Common.ILogger logger, System.Collections.Generic.IReadOnlyList restoreSummaries, bool logErrors = false) -> void
diff --git a/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt
index 6440dae894d..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Commands/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt
@@ -1,17 +1 @@
#nullable enable
-NuGet.Commands.Restore.IItem
-NuGet.Commands.Restore.IItem.GetMetadata(string! name) -> string!
-NuGet.Commands.Restore.IItem.Identity.get -> string!
-NuGet.Commands.Restore.IProject
-NuGet.Commands.Restore.IProject.Directory.get -> string!
-NuGet.Commands.Restore.IProject.FullPath.get -> string!
-NuGet.Commands.Restore.IProject.OuterBuild.get -> NuGet.Commands.Restore.ITargetFramework!
-NuGet.Commands.Restore.IProject.TargetFrameworks.get -> System.Collections.Generic.IReadOnlyDictionary!
-NuGet.Commands.Restore.ITargetFramework
-NuGet.Commands.Restore.ITargetFramework.GetItems(string! itemType) -> System.Collections.Generic.IReadOnlyList!
-NuGet.Commands.Restore.ITargetFramework.GetProperty(string! propertyName) -> string!
-NuGet.Commands.Restore.Utility.PackageSpecFactory
-static NuGet.Commands.Restore.Utility.PackageSpecFactory.GetPackageSpec(NuGet.Commands.Restore.IProject! project, NuGet.Configuration.ISettings! settings) -> NuGet.ProjectModel.PackageSpec?
-~static NuGet.Commands.MSBuildRestoreUtility.GetRestoreAuditProperties(NuGet.Commands.IMSBuildItem specItem, System.Collections.Generic.IEnumerable allItems, System.Collections.Generic.HashSet suppressionItems) -> NuGet.ProjectModel.RestoreAuditProperties
-~static NuGet.Commands.PushRunner.Run(NuGet.Configuration.ISettings settings, NuGet.Configuration.IPackageSourceProvider sourceProvider, System.Collections.Generic.IList packagePaths, string source, string apiKey, string symbolSource, string symbolApiKey, int timeoutSeconds, bool disableBuffering, bool noSymbols, bool noServiceEndpoint, bool skipDuplicate, bool allowInsecureConnections, NuGet.Common.ILogger logger) -> System.Threading.Tasks.Task
-~static NuGet.Commands.RestoreRunner.RunWithoutCommitAsync(System.Collections.Generic.IEnumerable restoreRequests, NuGet.Commands.RestoreArgs restoreContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
diff --git a/src/NuGet.Core/NuGet.Common/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Common/PublicAPI.Shipped.txt
index a757873b67a..dfc2b738b03 100644
--- a/src/NuGet.Core/NuGet.Common/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Common/PublicAPI.Shipped.txt
@@ -179,6 +179,9 @@ NuGet.Common.NuGetLogCode.NU1011 = 1011 -> NuGet.Common.NuGetLogCode
NuGet.Common.NuGetLogCode.NU1012 = 1012 -> NuGet.Common.NuGetLogCode
NuGet.Common.NuGetLogCode.NU1013 = 1013 -> NuGet.Common.NuGetLogCode
NuGet.Common.NuGetLogCode.NU1014 = 1014 -> NuGet.Common.NuGetLogCode
+NuGet.Common.NuGetLogCode.NU1015 = 1015 -> NuGet.Common.NuGetLogCode
+NuGet.Common.NuGetLogCode.NU1016 = 1016 -> NuGet.Common.NuGetLogCode
+NuGet.Common.NuGetLogCode.NU1017 = 1017 -> NuGet.Common.NuGetLogCode
NuGet.Common.NuGetLogCode.NU1100 = 1100 -> NuGet.Common.NuGetLogCode
NuGet.Common.NuGetLogCode.NU1101 = 1101 -> NuGet.Common.NuGetLogCode
NuGet.Common.NuGetLogCode.NU1102 = 1102 -> NuGet.Common.NuGetLogCode
diff --git a/src/NuGet.Core/NuGet.Common/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Common/PublicAPI.Unshipped.txt
index ebce19734ad..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Common/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Common/PublicAPI.Unshipped.txt
@@ -1,4 +1 @@
#nullable enable
-NuGet.Common.NuGetLogCode.NU1015 = 1015 -> NuGet.Common.NuGetLogCode
-NuGet.Common.NuGetLogCode.NU1016 = 1016 -> NuGet.Common.NuGetLogCode
-NuGet.Common.NuGetLogCode.NU1017 = 1017 -> NuGet.Common.NuGetLogCode
diff --git a/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Shipped.txt
index 90de0e574bb..52958a3d0ec 100644
--- a/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Shipped.txt
@@ -704,6 +704,7 @@ NuGet.ProjectManagement.XmlUtility
~const NuGet.ProjectManagement.ProjectBuildProperties.RestoreEnablePackagePruning = "RestoreEnablePackagePruning" -> string
~const NuGet.ProjectManagement.ProjectBuildProperties.RestoreFallbackFolders = "RestoreFallbackFolders" -> string
~const NuGet.ProjectManagement.ProjectBuildProperties.RestoreLockedMode = "RestoreLockedMode" -> string
+~const NuGet.ProjectManagement.ProjectBuildProperties.RestorePackagePruningDefault = "RestorePackagePruningDefault" -> string
~const NuGet.ProjectManagement.ProjectBuildProperties.RestorePackagesPath = "RestorePackagesPath" -> string
~const NuGet.ProjectManagement.ProjectBuildProperties.RestorePackagesWithLockFile = "RestorePackagesWithLockFile" -> string
~const NuGet.ProjectManagement.ProjectBuildProperties.RestoreProjectStyle = "RestoreProjectStyle" -> string
diff --git a/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Unshipped.txt
index b25c3701d90..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.PackageManagement/PublicAPI.Unshipped.txt
@@ -1,2 +1 @@
#nullable enable
-~const NuGet.ProjectManagement.ProjectBuildProperties.RestorePackagePruningDefault = "RestorePackagePruningDefault" -> string
diff --git a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Shipped.txt
index 55f3e93a0a9..b8e9cd62eb7 100644
--- a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Shipped.txt
@@ -324,6 +324,8 @@ NuGet.Packaging.IPackageResolver
~NuGet.Packaging.IPackageResolver.Resolve(System.Collections.Generic.IEnumerable targets, System.Collections.Generic.IEnumerable availablePackages, System.Threading.CancellationToken token) -> System.Collections.Generic.IEnumerable
~NuGet.Packaging.IPackageResolver.Resolve(System.Collections.Generic.IEnumerable targets, System.Collections.Generic.IEnumerable availablePackages, System.Collections.Generic.IEnumerable installedPackages, System.Threading.CancellationToken token) -> System.Collections.Generic.IEnumerable
~NuGet.Packaging.IPackageResolver.Resolve(System.Collections.Generic.IEnumerable targets, System.Collections.Generic.IEnumerable availablePackages, System.Threading.CancellationToken token) -> System.Collections.Generic.IEnumerable
+NuGet.Packaging.InvalidPackageIdException
+~NuGet.Packaging.InvalidPackageIdException.InvalidPackageIdException(string message) -> void
NuGet.Packaging.LicenseMetadata
~NuGet.Packaging.LicenseMetadata.Equals(NuGet.Packaging.LicenseMetadata other) -> bool
~NuGet.Packaging.LicenseMetadata.License.get -> string
diff --git a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Unshipped.txt
index 0a00b8a99d4..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net472/PublicAPI.Unshipped.txt
@@ -1,3 +1 @@
#nullable enable
-NuGet.Packaging.InvalidPackageIdException
-~NuGet.Packaging.InvalidPackageIdException.InvalidPackageIdException(string message) -> void
diff --git a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Shipped.txt
index d316aaa5c16..b37b765ae34 100644
--- a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Shipped.txt
@@ -324,6 +324,8 @@ NuGet.Packaging.IPackageResolver
~NuGet.Packaging.IPackageResolver.Resolve(System.Collections.Generic.IEnumerable targets, System.Collections.Generic.IEnumerable availablePackages, System.Threading.CancellationToken token) -> System.Collections.Generic.IEnumerable
~NuGet.Packaging.IPackageResolver.Resolve(System.Collections.Generic.IEnumerable targets, System.Collections.Generic.IEnumerable availablePackages, System.Collections.Generic.IEnumerable installedPackages, System.Threading.CancellationToken token) -> System.Collections.Generic.IEnumerable
~NuGet.Packaging.IPackageResolver.Resolve(System.Collections.Generic.IEnumerable targets, System.Collections.Generic.IEnumerable availablePackages, System.Threading.CancellationToken token) -> System.Collections.Generic.IEnumerable
+NuGet.Packaging.InvalidPackageIdException
+~NuGet.Packaging.InvalidPackageIdException.InvalidPackageIdException(string message) -> void
NuGet.Packaging.LicenseMetadata
~NuGet.Packaging.LicenseMetadata.Equals(NuGet.Packaging.LicenseMetadata other) -> bool
~NuGet.Packaging.LicenseMetadata.License.get -> string
diff --git a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Unshipped.txt
index 0a00b8a99d4..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Packaging/PublicAPI/net8.0/PublicAPI.Unshipped.txt
@@ -1,3 +1 @@
#nullable enable
-NuGet.Packaging.InvalidPackageIdException
-~NuGet.Packaging.InvalidPackageIdException.InvalidPackageIdException(string message) -> void
diff --git a/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Shipped.txt
index 8d36e1eedd2..ab1dfe71684 100644
--- a/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Shipped.txt
@@ -10,7 +10,6 @@ NuGet.ProjectModel.AssetsLogMessage.EndLineNumber.set -> void
~NuGet.ProjectModel.AssetsLogMessage.Equals(NuGet.ProjectModel.IAssetsLogMessage other) -> bool
~NuGet.ProjectModel.AssetsLogMessage.FilePath.get -> string
~NuGet.ProjectModel.AssetsLogMessage.FilePath.set -> void
-NuGet.ProjectModel.PackageSpec.IsDefaultVersion.get -> bool
NuGet.ProjectModel.AssetsLogMessage.Level.get -> NuGet.Common.LogLevel
~NuGet.ProjectModel.AssetsLogMessage.LibraryId.get -> string
~NuGet.ProjectModel.AssetsLogMessage.LibraryId.set -> void
@@ -200,14 +199,23 @@ NuGet.ProjectModel.LockFileItem
NuGet.ProjectModel.LockFileLibrary
~NuGet.ProjectModel.LockFileLibrary.Equals(NuGet.ProjectModel.LockFileLibrary other) -> bool
~NuGet.ProjectModel.LockFileLibrary.Files.get -> System.Collections.Generic.IList
+~NuGet.ProjectModel.LockFileLibrary.Files.init -> void
NuGet.ProjectModel.LockFileLibrary.HasTools.get -> bool
+NuGet.ProjectModel.LockFileLibrary.HasTools.init -> void
NuGet.ProjectModel.LockFileLibrary.IsServiceable.get -> bool
+NuGet.ProjectModel.LockFileLibrary.IsServiceable.init -> void
~NuGet.ProjectModel.LockFileLibrary.MSBuildProject.get -> string
+~NuGet.ProjectModel.LockFileLibrary.MSBuildProject.init -> void
~NuGet.ProjectModel.LockFileLibrary.Name.get -> string
+~NuGet.ProjectModel.LockFileLibrary.Name.init -> void
~NuGet.ProjectModel.LockFileLibrary.Path.get -> string
+~NuGet.ProjectModel.LockFileLibrary.Path.init -> void
~NuGet.ProjectModel.LockFileLibrary.Sha512.get -> string
+~NuGet.ProjectModel.LockFileLibrary.Sha512.init -> void
~NuGet.ProjectModel.LockFileLibrary.Type.get -> string
+~NuGet.ProjectModel.LockFileLibrary.Type.init -> void
~NuGet.ProjectModel.LockFileLibrary.Version.get -> NuGet.Versioning.NuGetVersion
+~NuGet.ProjectModel.LockFileLibrary.Version.init -> void
NuGet.ProjectModel.LockFileReadFlags
NuGet.ProjectModel.LockFileReadFlags.All = NuGet.ProjectModel.LockFileReadFlags.Libraries | NuGet.ProjectModel.LockFileReadFlags.Targets | NuGet.ProjectModel.LockFileReadFlags.ProjectFileDependencyGroups | NuGet.ProjectModel.LockFileReadFlags.PackageFolders | NuGet.ProjectModel.LockFileReadFlags.PackageSpec | NuGet.ProjectModel.LockFileReadFlags.CentralTransitiveDependencyGroups | NuGet.ProjectModel.LockFileReadFlags.LogMessages -> NuGet.ProjectModel.LockFileReadFlags
NuGet.ProjectModel.LockFileReadFlags.CentralTransitiveDependencyGroups = 32 -> NuGet.ProjectModel.LockFileReadFlags
@@ -292,6 +300,7 @@ NuGet.ProjectModel.PackageSpec
~NuGet.ProjectModel.PackageSpec.Equals(NuGet.ProjectModel.PackageSpec other) -> bool
~NuGet.ProjectModel.PackageSpec.FilePath.get -> string
~NuGet.ProjectModel.PackageSpec.FilePath.set -> void
+NuGet.ProjectModel.PackageSpec.IsDefaultVersion.get -> bool
~NuGet.ProjectModel.PackageSpec.Name.get -> string
~NuGet.ProjectModel.PackageSpec.Name.set -> void
NuGet.ProjectModel.PackageSpec.PackageSpec() -> void
diff --git a/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Unshipped.txt
index f947a3e8805..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.ProjectModel/PublicAPI.Unshipped.txt
@@ -1,10 +1 @@
#nullable enable
-NuGet.ProjectModel.LockFileLibrary.HasTools.init -> void
-NuGet.ProjectModel.LockFileLibrary.IsServiceable.init -> void
-~NuGet.ProjectModel.LockFileLibrary.Files.init -> void
-~NuGet.ProjectModel.LockFileLibrary.MSBuildProject.init -> void
-~NuGet.ProjectModel.LockFileLibrary.Name.init -> void
-~NuGet.ProjectModel.LockFileLibrary.Path.init -> void
-~NuGet.ProjectModel.LockFileLibrary.Sha512.init -> void
-~NuGet.ProjectModel.LockFileLibrary.Type.init -> void
-~NuGet.ProjectModel.LockFileLibrary.Version.init -> void
diff --git a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Shipped.txt
index 4df8872c355..69660adee11 100644
--- a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Shipped.txt
@@ -531,6 +531,9 @@ NuGet.Protocol.HttpSourceCredentials
NuGet.Protocol.HttpSourceCredentials.HttpSourceCredentials() -> void
~NuGet.Protocol.HttpSourceCredentials.HttpSourceCredentials(System.Net.ICredentials credentials = null) -> void
NuGet.Protocol.HttpSourceCredentials.Version.get -> System.Guid
+NuGet.Protocol.HttpSourceException
+~NuGet.Protocol.HttpSourceException.HttpSourceException(string message) -> void
+~NuGet.Protocol.HttpSourceException.HttpSourceException(string message, System.Exception innerException) -> void
NuGet.Protocol.HttpSourceRequest
NuGet.Protocol.HttpSourceRequest.DownloadTimeout.get -> System.TimeSpan
NuGet.Protocol.HttpSourceRequest.DownloadTimeout.set -> void
diff --git a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Unshipped.txt
index 7d0eac755a3..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net472/PublicAPI.Unshipped.txt
@@ -1,4 +1 @@
#nullable enable
-NuGet.Protocol.HttpSourceException
-~NuGet.Protocol.HttpSourceException.HttpSourceException(string message) -> void
-~NuGet.Protocol.HttpSourceException.HttpSourceException(string message, System.Exception innerException) -> void
diff --git a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Shipped.txt
index 7fd5836dbaa..20da4e8693b 100644
--- a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Shipped.txt
@@ -531,6 +531,9 @@ NuGet.Protocol.HttpSourceCredentials
NuGet.Protocol.HttpSourceCredentials.HttpSourceCredentials() -> void
~NuGet.Protocol.HttpSourceCredentials.HttpSourceCredentials(System.Net.ICredentials credentials = null) -> void
NuGet.Protocol.HttpSourceCredentials.Version.get -> System.Guid
+NuGet.Protocol.HttpSourceException
+~NuGet.Protocol.HttpSourceException.HttpSourceException(string message) -> void
+~NuGet.Protocol.HttpSourceException.HttpSourceException(string message, System.Exception innerException) -> void
NuGet.Protocol.HttpSourceRequest
NuGet.Protocol.HttpSourceRequest.DownloadTimeout.get -> System.TimeSpan
NuGet.Protocol.HttpSourceRequest.DownloadTimeout.set -> void
diff --git a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Unshipped.txt
index 7d0eac755a3..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Protocol/PublicAPI/net8.0/PublicAPI.Unshipped.txt
@@ -1,4 +1 @@
#nullable enable
-NuGet.Protocol.HttpSourceException
-~NuGet.Protocol.HttpSourceException.HttpSourceException(string message) -> void
-~NuGet.Protocol.HttpSourceException.HttpSourceException(string message, System.Exception innerException) -> void
diff --git a/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt b/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt
index 7fd5836dbaa..20da4e8693b 100644
--- a/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt
+++ b/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt
@@ -531,6 +531,9 @@ NuGet.Protocol.HttpSourceCredentials
NuGet.Protocol.HttpSourceCredentials.HttpSourceCredentials() -> void
~NuGet.Protocol.HttpSourceCredentials.HttpSourceCredentials(System.Net.ICredentials credentials = null) -> void
NuGet.Protocol.HttpSourceCredentials.Version.get -> System.Guid
+NuGet.Protocol.HttpSourceException
+~NuGet.Protocol.HttpSourceException.HttpSourceException(string message) -> void
+~NuGet.Protocol.HttpSourceException.HttpSourceException(string message, System.Exception innerException) -> void
NuGet.Protocol.HttpSourceRequest
NuGet.Protocol.HttpSourceRequest.DownloadTimeout.get -> System.TimeSpan
NuGet.Protocol.HttpSourceRequest.DownloadTimeout.set -> void
diff --git a/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt
index 7d0eac755a3..7dc5c58110b 100644
--- a/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt
+++ b/src/NuGet.Core/NuGet.Protocol/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt
@@ -1,4 +1 @@
#nullable enable
-NuGet.Protocol.HttpSourceException
-~NuGet.Protocol.HttpSourceException.HttpSourceException(string message) -> void
-~NuGet.Protocol.HttpSourceException.HttpSourceException(string message, System.Exception innerException) -> void
From 8f83ae4339c239d431e5c75391bf2a93fa03754b Mon Sep 17 00:00:00 2001
From: Nigusu Solomon Yenework
<59111203+Nigusu-Allehu@users.noreply.github.com>
Date: Thu, 2 Oct 2025 09:59:06 -0700
Subject: [PATCH 04/10] Unpin .NET SDK version for testing (#6815) (#6821)
Co-authored-by: Andy Zivkovic
---
build/DotNetSdkTestVersions.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/DotNetSdkTestVersions.txt b/build/DotNetSdkTestVersions.txt
index 041f89b91b4..d4a2109c8e2 100644
--- a/build/DotNetSdkTestVersions.txt
+++ b/build/DotNetSdkTestVersions.txt
@@ -2,4 +2,4 @@
# To make sure that the right version of dotnet.exe (and maybe other files) is used, always install from lowest version to highest version
-Channel 8.0 -Runtime dotnet
-Channel 9.0 -Runtime dotnet
--Channel 10.0.1xx -Version 10.0.100-rc.2.25465.104
+-Channel 10.0.1xx -Quality daily
From 443ef56491dd2b720b8cd9c8db97f4eafb83be97 Mon Sep 17 00:00:00 2001
From: Jeff Kluge
Date: Tue, 7 Oct 2025 10:43:41 -0700
Subject: [PATCH 05/10] [release/7.0.x] Update NuGet MCP server in Visual
Studio (#6842)
---
src/NuGet.Clients/NuGet.VisualStudio.Client/mcp.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/NuGet.Clients/NuGet.VisualStudio.Client/mcp.json b/src/NuGet.Clients/NuGet.VisualStudio.Client/mcp.json
index 28919f208b1..34525b1f3b6 100644
--- a/src/NuGet.Clients/NuGet.VisualStudio.Client/mcp.json
+++ b/src/NuGet.Clients/NuGet.VisualStudio.Client/mcp.json
@@ -4,7 +4,7 @@
"type": "stdio",
"command": "dnx",
"args": [
- "NuGet.Mcp.Server@0.1.4-preview",
+ "NuGet.Mcp.Server@1.0.0",
"--source",
"https://api.nuget.org/v3/index.json",
"--yes"
From 31c8b7c3d955b8735327890ab80e37df6f5c1e36 Mon Sep 17 00:00:00 2001
From: Jeff Kluge
Date: Tue, 7 Oct 2025 13:45:37 -0700
Subject: [PATCH 06/10] [release/7.0.x] Append Job Attempt Numbers to more
artifact names to support re-running (#6844)
---
eng/pipelines/templates/pipeline.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eng/pipelines/templates/pipeline.yml b/eng/pipelines/templates/pipeline.yml
index 87fb7aaca2f..7eb9b4145ac 100644
--- a/eng/pipelines/templates/pipeline.yml
+++ b/eng/pipelines/templates/pipeline.yml
@@ -217,7 +217,7 @@ stages:
- output: pipelineArtifact
displayName: 'LocValidation: Publish Logs as an artifact'
condition: "succeededOrFailed()"
- artifactName: LocValidationLogs
+ artifactName: LocValidationLogs - Attempt $(System.JobAttempt)
targetPath: "$(Build.Repository.LocalPath)\\logs\\BuildValidatorLogs"
sbomEnabled: true
From 9f03559524415f30facae7543ec613b932441842 Mon Sep 17 00:00:00 2001
From: Andy Zivkovic
Date: Fri, 10 Oct 2025 06:53:58 +1030
Subject: [PATCH 07/10] Add support for CPM with dotnet package update (#6796)
(#6814)
---
.../Update/PackageUpdateCommandRunner.cs | 6 +-
.../Package/Update/PackageUpdateIO.cs | 7 ++-
.../DotnetPackageUpdateTests.cs | 60 +++++++++++++++++++
3 files changed, 68 insertions(+), 5 deletions(-)
diff --git a/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs b/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs
index a24b38fb7a4..59ba6d530d2 100644
--- a/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs
+++ b/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs
@@ -248,7 +248,7 @@ internal static async Task Run(PackageUpdateArgs args, ILoggerWithColor log
{
Id = packageIdentity.Id,
CurrentVersion = new VersionRange(packageIdentity.Version),
- NewVersion = new VersionRange(nonVulnerableVersion)
+ NewVersion = VersionRange.Parse(nonVulnerableVersion.OriginalVersion!)
},
TargetFrameworkAliases = tfmAliases
});
@@ -341,7 +341,7 @@ internal static async Task> SelectPackagesToUpdateAsyn
continue;
}
- upgradeVersion = new VersionRange(latestVersion);
+ upgradeVersion = VersionRange.Parse(latestVersion.OriginalVersion!);
if (upgradeVersion == existingVersion)
{
logger.LogMinimal(Messages.Warning_AlreadyHighestVersion(package.Id, latestVersion.OriginalVersion, project.FilePath), ConsoleColor.Yellow);
@@ -478,7 +478,7 @@ private static (VersionRange? version, List targetFrameworks)
continue;
}
- var upgradeVersion = new VersionRange(latestVersion);
+ var upgradeVersion = VersionRange.Parse(latestVersion.OriginalVersion!);
if (upgradeVersion.ToString() == package.identity.VersionRange.ToString())
{
// Already using the highest version.
diff --git a/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateIO.cs b/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateIO.cs
index 3a306034b2a..5523322f7d5 100644
--- a/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateIO.cs
+++ b/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateIO.cs
@@ -191,11 +191,14 @@ public void UpdatePackageReference(PackageSpec updatedPackageSpec, IPackageUpdat
packageDependency,
resolvedVersion);
+ // MSBuildUtility only updated CPM Directory.Packages.props when "noVersion" is false.
+ const bool noVersion = false;
+
// Determine whether to add package reference conditionally or unconditionally
if (packageTfms.Count == updatedPackageSpec.TargetFrameworks.Count)
{
// package is used by all project TFMs (no condition)
- _msbuildUtility.AddPackageReference(updatedPackageSpec.FilePath, libraryDependency, true);
+ _msbuildUtility.AddPackageReference(updatedPackageSpec.FilePath, libraryDependency, noVersion);
}
else
{
@@ -203,7 +206,7 @@ public void UpdatePackageReference(PackageSpec updatedPackageSpec, IPackageUpdat
.Select(e => AddPackageReferenceCommandRunner.GetAliasForFramework(updatedPackageSpec, e))
.Where(originalFramework => originalFramework != null);
- _msbuildUtility.AddPackageReferencePerTFM(updatedPackageSpec.FilePath, libraryDependency, frameworkAliases, true);
+ _msbuildUtility.AddPackageReferencePerTFM(updatedPackageSpec.FilePath, libraryDependency, frameworkAliases, noVersion);
}
}
diff --git a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetPackageUpdateTests.cs b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetPackageUpdateTests.cs
index ca7413114bb..f27561b4b93 100644
--- a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetPackageUpdateTests.cs
+++ b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetPackageUpdateTests.cs
@@ -93,6 +93,66 @@ public async Task SingleTfmProject_PackageVersionUpdated()
packageReferenceA[0].Attribute("Version").Value.Should().Be("2.0.0");
}
+ [Fact]
+ public async Task SingleTfmCpmProject_PackageVersionUpdated()
+ {
+ // Arrange
+ using var testContext = new SimpleTestPathContext();
+ File.WriteAllText(testContext.NuGetConfig, string.Format(NugetConfigFormat, testContext.PackageSource));
+
+ var a1 = new SimpleTestPackageContext("NuGet.Internal.Test.a", "1.0.0");
+ var a2 = new SimpleTestPackageContext("NuGet.Internal.Test.a", "2.0.0");
+
+ SimpleTestPackageContext[] packages = [a1, a2];
+ await SimpleTestPackageUtility.CreatePackagesAsync(testContext.PackageSource, packages);
+
+ var csprojContents = """
+
+
+ net9.0
+
+
+
+
+
+ """;
+ var csprojPath = Path.Combine(testContext.SolutionRoot, "my.csproj");
+ File.WriteAllText(csprojPath, csprojContents);
+
+ var packagesPropsContents = """
+
+
+ true
+
+
+
+
+
+ """;
+ var packagesPropsPath = Path.Combine(testContext.SolutionRoot, "Directory.Packages.props");
+ File.WriteAllText(packagesPropsPath, packagesPropsContents);
+
+ // Act
+ var result = _testFixture.RunDotnetExpectSuccess(
+ workingDirectory: testContext.SolutionRoot,
+ args: $"package update NuGet.Internal.Test.a",
+ testOutputHelper: _testOutputHelper,
+ environmentVariables: _envVars);
+
+ // Assert
+ result.ExitCode.Should().Be(0);
+
+ XDocument csproj = XDocument.Load(csprojPath);
+ var packageReferenceA = csproj.XPathSelectElements("//PackageReference[@Include='NuGet.Internal.Test.a']").ToList();
+ packageReferenceA.Count.Should().Be(1);
+ packageReferenceA[0].Attribute("Version").Should().BeNull();
+
+ XDocument packagesProps = XDocument.Load(packagesPropsPath);
+ var packageVersionA = packagesProps.XPathSelectElements("//PackageVersion[@Include='NuGet.Internal.Test.a']").ToList();
+ packageVersionA.Count.Should().Be(1);
+ packageVersionA[0].Attribute("Version").Value.Should().Be("2.0.0");
+ }
+
[Fact]
public async Task MultiTfmProject_PackageVersionUpdated()
{
From 2481c3de2880cc3c778dfbbea92ff106c2cf05c6 Mon Sep 17 00:00:00 2001
From: Andy Zivkovic
Date: Fri, 10 Oct 2025 07:42:31 +1030
Subject: [PATCH 08/10] dotnet package update should work with any project
references (#6847)
---
.../Package/Update/PackageUpdateCommandRunner.cs | 14 ++++++--------
.../MultiProjectTests.cs | 6 +++---
2 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs b/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs
index 59ba6d530d2..06015380454 100644
--- a/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs
+++ b/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Package/Update/PackageUpdateCommandRunner.cs
@@ -81,9 +81,7 @@ internal static async Task Run(PackageUpdateArgs args, ILoggerWithColor log
return ExitCodes.Error;
}
- PackageSpec projectSpec = dgSpec.Projects.Count == 1
- ? dgSpec.Projects[0]
- : dgSpec.GetProjectSpec(dgSpec.Restore[0]);
+ PackageSpec projectSpec = dgSpec.GetProjectSpec(dgSpec.Restore[0]);
// 2. Find suitable version of package(s) to update
// Source provider will be needed to find the package version and to restore, so create it here.
@@ -141,7 +139,7 @@ internal static async Task Run(PackageUpdateArgs args, ILoggerWithColor log
}
}
- var projectName = Path.GetFileNameWithoutExtension(dgSpec.Projects[0].FilePath);
+ var projectName = Path.GetFileNameWithoutExtension(projectSpec.FilePath);
logger.LogInformation($" {projectName}:");
foreach (var packageResult in packagesToUpdateResult)
@@ -154,7 +152,7 @@ internal static async Task Run(PackageUpdateArgs args, ILoggerWithColor log
// 3. Preview restore to validate changes
logger.LogDebug(Strings.PackageUpdate_PreviewRestore);
- var updatedDgSpec = GetUpdatedDependencyGraphSpec(dgSpec, packagesToUpdateResult);
+ var updatedDgSpec = GetUpdatedDependencyGraphSpec(projectSpec, dgSpec, packagesToUpdateResult);
var restorePreviewResult = await packageUpdateIO.PreviewUpdatePackageReferenceAsync(updatedDgSpec, logger, cancellationToken);
if (!restorePreviewResult.Success)
@@ -165,7 +163,7 @@ internal static async Task Run(PackageUpdateArgs args, ILoggerWithColor log
// 4. Update MSBuild files
- var updatedPackageSpec = updatedDgSpec.Projects[0];
+ var updatedPackageSpec = updatedDgSpec.GetProjectSpec(projectSpec.FilePath);
int updatedCount = 0;
foreach (var packageResult in packagesToUpdateResult)
@@ -555,9 +553,9 @@ private static (VersionRange? version, List targetFrameworks)
return result;
}
- private static DependencyGraphSpec GetUpdatedDependencyGraphSpec(DependencyGraphSpec currentDgSpec, List packagesToUpdate)
+ private static DependencyGraphSpec GetUpdatedDependencyGraphSpec(PackageSpec projectSpec, DependencyGraphSpec currentDgSpec, List packagesToUpdate)
{
- var updatedPackageSpec = currentDgSpec.Projects[0].Clone();
+ var updatedPackageSpec = projectSpec.Clone();
foreach (var packageResult in packagesToUpdate)
{
diff --git a/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/Commands/Package/Update/PackageUpdateCommandRunnerTests/MultiProjectTests.cs b/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/Commands/Package/Update/PackageUpdateCommandRunnerTests/MultiProjectTests.cs
index 6b7c30b8dfe..117b1316b24 100644
--- a/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/Commands/Package/Update/PackageUpdateCommandRunnerTests/MultiProjectTests.cs
+++ b/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/Commands/Package/Update/PackageUpdateCommandRunnerTests/MultiProjectTests.cs
@@ -30,15 +30,15 @@ public async Task ProjectWithP2PReference_SinglePackage_UpdatesCorrectPackageVer
var solutionDirectory = RuntimeEnvironmentHelper.IsWindows
? @"S:\path\to\repo\src"
: @"/path/to/repo/src";
- var project1Path = Path.Combine(solutionDirectory, "Project1", "Project1.csproj");
+ var project1Path = Path.Combine(solutionDirectory, "ConsoleApp1", "ConsoleApp1.csproj");
var project1 = new TestPackageSpecFactory(project1Path, builder =>
{
builder.WithProperty("TargetFramework", "net9.0")
.WithItem("PackageReference", "Test.Package", [new("Version", "1.0.0")])
- .WithItem("ProjectReference", @"..\Project2\Project2.csproj", []);
+ .WithItem("ProjectReference", @"..\ClassLib1\ClassLib1.csproj", []);
}).Build();
- var project2Path = Path.Combine(solutionDirectory, "Project2", "Project2.csproj");
+ var project2Path = Path.Combine(solutionDirectory, "ClassLib1", "ClassLib1.csproj");
var project2 = new TestPackageSpecFactory(project2Path, builder =>
{
builder.WithProperty("TargetFramework", "net9.0");
From 5514d935e3e77d90d931758cf9e2589735b905a3 Mon Sep 17 00:00:00 2001
From: Nikolche Kolev
Date: Thu, 9 Oct 2025 19:02:56 -0700
Subject: [PATCH 09/10] [dev] Source code updates from dotnet/dotnet (#6802)
(#6849)
---
build/common.project.props | 2 --
build/common.targets | 7 +++++++
eng/Version.Details.props | 5 ++---
eng/Version.Details.xml | 10 +++++-----
eng/common/SetupNugetSources.ps1 | 2 +-
eng/common/SetupNugetSources.sh | 2 +-
eng/common/core-templates/job/publish-build-assets.yml | 9 ++++++++-
eng/common/core-templates/jobs/jobs.yml | 2 ++
.../steps/source-index-stage1-publish.yml | 4 ++--
eng/common/post-build/nuget-verification.ps1 | 2 +-
eng/common/sdk-task.ps1 | 3 ++-
eng/common/sdk-task.sh | 7 ++++++-
eng/common/tools.ps1 | 2 +-
es-metadata.yml | 8 ++++++++
global.json | 2 +-
15 files changed, 47 insertions(+), 20 deletions(-)
create mode 100644 es-metadata.yml
diff --git a/build/common.project.props b/build/common.project.props
index 5f7af2d3650..ab90d04409a 100644
--- a/build/common.project.props
+++ b/build/common.project.props
@@ -142,8 +142,6 @@
- $(SemanticVersion).$(PreReleaseVersion)
- $(SemanticVersion).0
$(SemanticVersion).$(PreReleaseVersion)
$(SemanticVersion)$(PreReleaseInformationVersion)
$(SemanticVersion)$(PreReleaseInformationVersion)+$(BUILD_SOURCEVERSION)
diff --git a/build/common.targets b/build/common.targets
index 8e4d52adc39..14934090e62 100644
--- a/build/common.targets
+++ b/build/common.targets
@@ -1,5 +1,12 @@
+
+
+
+ $(SemanticVersion).$(PreReleaseVersion)
+ $(SemanticVersion).0
+
+
$(DefineConstants);IS_DESKTOP
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 156eb476f51..1092349c1de 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -1,4 +1,3 @@
-
4.5.0
- 10.0.0-beta.25420.109
- 10.0.0-beta.25420.109
+ 10.0.0-beta.25468.104
+ 10.0.0-beta.25468.104
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 90dcf3571a7..328e46c38da 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,6 +1,6 @@
-
+
4.5.0
- 10.0.0-beta.25468.104
- 10.0.0-beta.25468.104
+ 10.0.0-beta.25512.102
+ 10.0.0-beta.25512.102
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 328e46c38da..f6cec2b72ff 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,6 +1,6 @@
-
+
"
+ sed -i.bak "s|$OldDisableValue|$NewDisableValue|" "$ConfigFile"
+
+ # Add the source name to PackageSources for credential handling
+ PackageSources+=("$PackageSourceName")
+ return 0 # Found and enabled
+ fi
+
+ return 1 # Not found in disabled sources
+}
+
+# Add source entry to PackageSources
+AddPackageSource() {
+ local SourceName="$1"
+ local SourceEndPoint="$2"
+
+ # Check if source already exists
+ grep -i " /dev/null
+ if [ "$?" == "0" ]; then
+ echo "Package source $SourceName already present and enabled."
+ PackageSources+=("$SourceName")
+ return
+ fi
+
+ echo "Adding package source $SourceName"
+ PackageSourcesNodeFooter=""
+ PackageSourceTemplate="${TB}"
+
+ sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" "$ConfigFile"
+ PackageSources+=("$SourceName")
+}
+
+# Adds or enables the package source with the given name
+AddOrEnablePackageSource() {
+ local SourceName="$1"
+ local SourceEndPoint="$2"
+
+ # Try to enable if disabled, if not found then add new source
+ EnableInternalPackageSource "$SourceName"
+ if [ "$?" != "0" ]; then
+ AddPackageSource "$SourceName" "$SourceEndPoint"
+ fi
+}
- sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" $ConfigFile
-fi
+# Enable all darc-int package sources
+EnableMaestroInternalPackageSources() {
+ # Check if disabledPackageSources section exists
+ grep -i "" "$ConfigFile" > /dev/null
+ if [ "$?" != "0" ]; then
+ return # No disabled sources section
+ fi
+
+ # Find all darc-int disabled sources
+ local DisabledDarcIntSources=()
+ DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' "$ConfigFile" | tr -d '"')
+
+ for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do
+ if [[ $DisabledSourceName == darc-int* ]]; then
+ EnableInternalPackageSource "$DisabledSourceName"
+ fi
+ done
+}
-# Ensure there is a ... section.
-grep -i "" $ConfigFile
+# Ensure there is a ... section.
+grep -i "" $ConfigFile
if [ "$?" != "0" ]; then
- echo "Adding ... section."
-
- PackageSourcesNodeFooter=""
- PackageSourceCredentialsTemplate="${TB}${NL}${TB}"
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile
+ Write-PipelineTelemetryError -Category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile"
+ ExitWithExitCode 1
fi
PackageSources=()
-# Ensure dotnet3.1-internal and dotnet3.1-internal-transport are in the packageSources if the public dotnet3.1 feeds are present
-grep -i "... section.
+ grep -i "" $ConfigFile
if [ "$?" != "0" ]; then
- echo "Adding dotnet3.1-internal to the packageSources."
- PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
+ echo "Adding ... section."
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=('dotnet3.1-internal')
-
- grep -i "" $ConfigFile
- if [ "$?" != "0" ]; then
- echo "Adding dotnet3.1-internal-transport to the packageSources."
PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
+ PackageSourceCredentialsTemplate="${TB}${NL}${TB}"
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
+ sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile
fi
- PackageSources+=('dotnet3.1-internal-transport')
+fi
+
+# Check for disabledPackageSources; we'll enable any darc-int ones we find there
+grep -i "" $ConfigFile > /dev/null
+if [ "$?" == "0" ]; then
+ echo "Checking for any darc-int disabled package sources in the disabledPackageSources node"
+ EnableMaestroInternalPackageSources
fi
DotNetVersions=('5' '6' '7' '8' '9' '10')
for DotNetVersion in ${DotNetVersions[@]} ; do
FeedPrefix="dotnet${DotNetVersion}";
- grep -i " /dev/null
if [ "$?" == "0" ]; then
- grep -i ""
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=("$FeedPrefix-internal")
-
- grep -i "" $ConfigFile
- if [ "$?" != "0" ]; then
- echo "Adding $FeedPrefix-internal-transport to the packageSources."
- PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=("$FeedPrefix-internal-transport")
+ AddOrEnablePackageSource "$FeedPrefix-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal/nuget/$FeedSuffix"
+ AddOrEnablePackageSource "$FeedPrefix-internal-transport" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal-transport/nuget/$FeedSuffix"
fi
done
@@ -139,29 +187,12 @@ if [ "$CredToken" ]; then
# Check if there is no existing credential for this FeedName
grep -i "<$FeedName>" $ConfigFile
if [ "$?" != "0" ]; then
- echo "Adding credentials for $FeedName."
+ echo " Inserting credential for feed: $FeedName"
PackageSourceCredentialsNodeFooter=""
- NewCredential="${TB}${TB}<$FeedName>${NL}${NL}${NL}$FeedName>"
+ NewCredential="${TB}${TB}<$FeedName>${NL}${TB}${NL}${TB}${TB}${NL}${TB}${TB}$FeedName>"
sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile
fi
done
fi
-
-# Re-enable any entries in disabledPackageSources where the feed name contains darc-int
-grep -i "" $ConfigFile
-if [ "$?" == "0" ]; then
- DisabledDarcIntSources=()
- echo "Re-enabling any disabled \"darc-int\" package sources in $ConfigFile"
- DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' $ConfigFile | tr -d '"')
- for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do
- if [[ $DisabledSourceName == darc-int* ]]
- then
- OldDisableValue=""
- NewDisableValue=""
- sed -i.bak "s|$OldDisableValue|$NewDisableValue|" $ConfigFile
- echo "Neutralized disablePackageSources entry for '$DisabledSourceName'"
- fi
- done
-fi
diff --git a/global.json b/global.json
index cbef793cad8..9de7dbdbae5 100644
--- a/global.json
+++ b/global.json
@@ -9,7 +9,7 @@
"pinned": true
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25468.104",
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25512.102",
"Microsoft.Build.NoTargets": "3.7.0"
}
}