Bump the nuget-patch-and-minor group with 7 updates - #2336
Conversation
Bumps Microsoft.Extensions.Hosting from 10.0.10 to 10.0.11 Bumps Microsoft.Extensions.Hosting.WindowsServices from 10.0.10 to 10.0.11 Bumps Microsoft.Extensions.Logging.Abstractions from 10.0.10 to 10.0.11 Bumps Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0 Bumps ModelContextProtocol from 2.1.0 to 2.2.0 Bumps ModelContextProtocol.AspNetCore from 2.1.0 to 2.2.0 Bumps System.Security.Cryptography.ProtectedData from 10.0.10 to 10.0.11 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-patch-and-minor - dependency-name: Microsoft.Extensions.Hosting.WindowsServices dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-patch-and-minor - dependency-name: Microsoft.Extensions.Logging.Abstractions dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-patch-and-minor - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-patch-and-minor - dependency-name: ModelContextProtocol dependency-version: 2.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-patch-and-minor - dependency-name: ModelContextProtocol.AspNetCore dependency-version: 2.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-patch-and-minor - dependency-name: ModelContextProtocol.AspNetCore dependency-version: 2.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-patch-and-minor - dependency-name: System.Security.Cryptography.ProtectedData dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-patch-and-minor ... Signed-off-by: dependabot[bot] <support@github.com>
erikdarlingdata
left a comment
There was a problem hiding this comment.
Summary
Dependabot group bump of 7 NuGet packages targeting dev (correct base). CI is red — build and Darling PostgreSQL tests both fail restore, and the failure is caused by this PR, not the base branch.
What the PR does
Directory.Packages.props: bumpsMicrosoft.Extensions.Hosting/Hosting.WindowsServices/Logging.Abstractions/System.Security.Cryptography.ProtectedDatafrom10.0.10 → 10.0.11,Microsoft.NET.Test.Sdk18.8.1 → 18.9.0,ModelContextProtocol[.AspNetCore]2.1.0 → 2.2.0.- Adds
<PackageReference Include="ModelContextProtocol" />and<PackageReference Include="System.Security.Cryptography.ProtectedData" VersionOverride="10.0.11" />toDarling/PerformanceMonitor.Darling.Analysis. - Adds
<PackageReference Include="System.Security.Cryptography.ProtectedData" VersionOverride="10.0.11" />toPerformanceMonitor.PlanAnalysis. - Updates 8
packages.lock.jsonfiles. - The
.csprojdiffs look huge only because a CRLF/LF whitespace re-render dominates them — repo policy is* text=auto eol=crlf(.gitattributes:1) and both sides remain CRLF (git ls-files --eolreportsi/crlf w/crlfon both files), so the real changes are only the added<PackageReference>lines. Not something you have to touch, but flagging so you don't chase it.
Blockers (CI red — caused by this diff)
- Version skew in
Directory.Packages.propsbreaks restore in Lite and deprecated/Dashboard.Hosting 10.0.11transitively requiresMicrosoft.Extensions.Configuration,Configuration.Json, andLoggingat>= 10.0.11, but those three sit at10.0.10— NU1605 downgrade. See inline on lines 17-22. - Stale
packages.lock.jsonCentralTransitive entries forModelContextProtocol([2.1.0, )vs central2.2.0) andMicrosoft.Extensions.*(10.0.10vs10.0.11inInstaller.Core's lock) fail NU1004 acrossLite.Tests,Darling.Tests,Darling.Viewer,Installer.Core,Installer.Tests,Dashboard.Tests. See inline on line 24.dotnet restore --force-evaluateacross the affected projects, or·@·d·ependabot r·ecreate, should regenerate them.
Non-blocking
VersionOverride="10.0.11"in bothDarling.Analysis.csprojandPlanAnalysis.csprojmatches the central pin exactly — the override does nothing and just adds a divergence point for the next bump. Drop theVersionOverrideand let CPM resolve, or drop the reference entirely if the package flowed transitively before. Inline on each.- The
<PackageReference Include="ModelContextProtocol" />added toDarling.Analysis.csprojis a real semantic change (transitive → direct). It's not wrong —PgDrillDownCollector.Plans.cs:103,188usesMcpHelpers.Truncate— but it isn't something dependabot should be deciding on its own during a version bump. Confirm intent.
Repo review focus (per CLAUDE.md)
PlanAnalyzer.cssync: N/A — no changes to either copy.- Schema upgrade path: N/A — no SQL changes.
- Lite-first ordering: N/A — dependency bump.
- Base branch:
dev— correct. - SignPath/
build.yml: unchanged — stilltest-signing. - SQL / C#/WPF/Avalonia hygiene / test coverage: N/A — no logic changed.
Nothing on the maintainer-review checklist is red; the only reason not to merge is the failed restore, which is a real regression caused by this diff and needs the version-skew fix plus a lock-file regen.
Generated by Claude Code
| <PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.10" /> | ||
| <PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.10" /> | ||
| <PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.11" /> | ||
| <PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.11" /> | ||
| <PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.10" /> | ||
| <PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.11" /> |
There was a problem hiding this comment.
Version skew across the Microsoft.Extensions.* family — this is the root cause of the NU1605 failures in the build job.
Microsoft.Extensions.Hosting and Hosting.WindowsServices are bumped to 10.0.11 (lines 19-20), and Logging.Abstractions to 10.0.11 (line 22), but three siblings were left at 10.0.10:
- L17
Microsoft.Extensions.Configuration=10.0.10 - L18
Microsoft.Extensions.Configuration.Json=10.0.10 - L21
Microsoft.Extensions.Logging=10.0.10
Hosting 10.0.11 transitively requires each of those >= 10.0.11, so both Lite/PerformanceMonitorLite.csproj and deprecated/Dashboard/Dashboard.csproj fail restore:
error NU1605: Detected package downgrade: Microsoft.Extensions.Logging from 10.0.11 to 10.0.10
PerformanceMonitorLite -> Microsoft.Extensions.Hosting 10.0.11 -> Microsoft.Extensions.Logging (>= 10.0.11)
PerformanceMonitorLite -> Microsoft.Extensions.Logging (>= 10.0.10)
Bump these three to 10.0.11 to move the family atomically — which is exactly the invariant the file's header comment (every consumer moves atomically … the multi-project misalignment class dependabot shipped in #2100 cannot recur) exists to enforce.
Generated by Claude Code
| <PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.10" /> | ||
| <PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.11" /> | ||
| <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.9.0" /> | ||
| <PackageVersion Include="ModelContextProtocol" Version="2.2.0" /> |
There was a problem hiding this comment.
Bumping ModelContextProtocol (and .AspNetCore on L25) to 2.2.0 without regenerating every packages.lock.json breaks locked-mode restore. The lock files still record the CentralTransitive at [2.1.0, ), so every project that consumes MCP transitively fails NU1004:
error NU1004: Mistmatch between the requestedVersion of a lock file dependency
marked as CentralTransitive and the the version specified in the central
package management file. Lock file version [2.1.0, ), central package
management version [2.2.0, ).
This hits Lite.Tests, Darling.Tests, PerformanceMonitor.Darling.Viewer, deprecated/Dashboard.Tests, deprecated/Installer.Core, deprecated/Installer.Tests in the build job.
Same failure mode for the Microsoft.Extensions.* 10.0.10 → 10.0.11 bumps in Installer.Core's lock file. After fixing the version skew above, regenerate all locks with dotnet restore --force-evaluate (or ask dependabot to ·@·d·ependabot r·ecreate) so the diff picks up the sibling lock files this run missed.
Generated by Claude Code
| <PackageReference Include="ModelContextProtocol" /> | ||
| <PackageReference Include="System.Security.Cryptography.ProtectedData" VersionOverride="10.0.11" /> |
There was a problem hiding this comment.
Two references added by dependabot, both worth confirming before merge:
-
L20 —
<PackageReference Include="ModelContextProtocol" />promotes this project from a transitive MCP consumer to a direct one. The code does use it (PgDrillDownCollector.Plans.cs:103,188—McpHelpers.Truncate), so it isn't wrong, but it's a semantic change dependabot shouldn't be making on its own during a version bump; nothing inAnalysisuses an MCP surface that wouldn't already flow viaPerformanceMonitor.Common. Confirm this is intentional or drop it. -
L21 —
VersionOverride="10.0.11"matches the central pin atDirectory.Packages.props:29exactly, so it's a no-op that just adds a divergence point for the next bump to forget about. IfAnalysisneeds this package as a direct reference, drop the override and let CPM resolve it (<PackageReference Include="System.Security.Cryptography.ProtectedData" />); if not, drop the reference entirely — it flows in transitively fromStorage/Notificationstoday.
Same pattern in PerformanceMonitor.PlanAnalysis/PerformanceMonitor.PlanAnalysis.csproj:25.
Generated by Claude Code
| XML), so it needs the SqlClient runtime connection surface. Version matches Lite/Dashboard/the Darling | ||
| service (7.0.1) so there is no transitive version skew. --> | ||
| <PackageReference Include="Microsoft.Data.SqlClient" /> | ||
| <PackageReference Include="System.Security.Cryptography.ProtectedData" VersionOverride="10.0.11" /> |
There was a problem hiding this comment.
Same story as Darling.Analysis.csproj:21 — VersionOverride="10.0.11" duplicates the central pin at Directory.Packages.props:29, so the override does nothing except invite drift the next time either side moves.
If PlanAnalysis needs this dependency directly, keep the reference without the override (<PackageReference Include="System.Security.Cryptography.ProtectedData" />); if not, drop the whole line — the transitive graph via Microsoft.Data.SqlClient already provides it.
Generated by Claude Code
…he group split Two separate failures behind one red check: NU1004 — the bump edited Directory.Packages.props but left nine packages.lock.json files describing the old CentralTransitive versions, so CI's locked-mode restore refused. Regenerated with --force-evaluate. NU1605 — the group bumped Microsoft.Extensions.Hosting to 10.0.11 while leaving Configuration, Configuration.Json and Logging pinned at 10.0.10. Hosting 10.0.11 requires >= 10.0.11 of all three, so central pinning resolved them DOWN and the downgrade is an error here. Those four move as a family; aligning them at 10.0.11 is the fix, not pinning Hosting back, because the already-present Hosting.WindowsServices and Logging.Abstractions were at 10.0.11 too. Verified locally: --force-evaluate then --locked-mode both clean (locked mode is what CI runs, and it is the one that was failing), and all seven projects build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Pushed a fix commit. Two separate failures were hiding behind the one red check: NU1004 — the bump edited NU1605 — the group bumped Verified locally before pushing: |
| Npgsql and Logging.Abstractions flow transitively from the Storage/Notifications references. --> | ||
| <PackageReference Include="Microsoft.Data.SqlClient" /> | ||
| <PackageReference Include="ModelContextProtocol" /> | ||
| <PackageReference Include="System.Security.Cryptography.ProtectedData" VersionOverride="10.0.11" /> |
There was a problem hiding this comment.
VersionOverride="10.0.11" here is redundant — Directory.Packages.props (edited in this same PR) already centrally pins System.Security.Cryptography.ProtectedData to 10.0.11, so the override resolves to the exact same version as the central management would provide anyway.
It also contradicts the policy documented right at the top of Directory.Packages.props:
A project that must diverge pins with VersionOverride at its own reference (only tools/CompactionRepro does, to keep reproducing against its original DuckDB).
Darling/PerformanceMonitor.Darling.Service/PerformanceMonitor.Darling.Service.csproj already references this same package with plain <PackageReference Include="System.Security.Cryptography.ProtectedData" /> (no override) — this project should match that pattern rather than adding a second exception to the "only CompactionRepro overrides" rule.
| XML), so it needs the SqlClient runtime connection surface. Version matches Lite/Dashboard/the Darling | ||
| service (7.0.1) so there is no transitive version skew. --> | ||
| <PackageReference Include="Microsoft.Data.SqlClient" /> | ||
| <PackageReference Include="System.Security.Cryptography.ProtectedData" VersionOverride="10.0.11" /> |
There was a problem hiding this comment.
Same issue as the Darling.Analysis.csproj change in this PR: VersionOverride="10.0.11" is redundant since Directory.Packages.props now centrally pins this package to 10.0.11, and it contradicts that file's own stated policy that only tools/CompactionRepro should use VersionOverride. Darling.Service.csproj references the same package without an override — worth being consistent with that instead of introducing a third override site.
Review summaryThis PR is a pure dependency-version-bump (Dependabot-style): it only touches One thing worth a second look (left as inline comments):
Everything else (the |
Updated Microsoft.Extensions.Hosting from 10.0.10 to 10.0.11.
Release notes
Sourced from Microsoft.Extensions.Hosting's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.Extensions.Hosting.WindowsServices from 10.0.10 to 10.0.11.
Release notes
Sourced from Microsoft.Extensions.Hosting.WindowsServices's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.Extensions.Logging.Abstractions from 10.0.10 to 10.0.11.
Release notes
Sourced from Microsoft.Extensions.Logging.Abstractions's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0.
Release notes
Sourced from Microsoft.NET.Test.Sdk's releases.
18.9.0
What's Changed
New Contributors
Full Changelog: microsoft/vstest@v18.8.0...v18.9.0
Commits viewable in compare view.
Updated ModelContextProtocol from 2.1.0 to 2.2.0.
Release notes
Sourced from ModelContextProtocol's releases.
2.2.0
This release adds hybrid stateful/stateless HTTP serving so clients using the 2025-11-25 and 2026-07-28 protocol revisions can share an endpoint, and fixes a malformed header-decoding edge case.
What's Changed
Test Improvements
Repository Infrastructure Updates
Acknowledgements
Full Changelog: modelcontextprotocol/csharp-sdk@v2.1.0...v2.2.0
Commits viewable in compare view.
Updated ModelContextProtocol.AspNetCore from 2.1.0 to 2.2.0.
Updated System.Security.Cryptography.ProtectedData from 10.0.10 to 10.0.11.
Release notes
Sourced from System.Security.Cryptography.ProtectedData's releases.
No release notes found for this version range.
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions