build(deps): take every remaining package to its usable latest - #62
Merged
Conversation
Supersedes #52, #53, #54, #55, #56, #57 and #37 - all seven went DIRTY when #49 landed, because every one of them edits the same project files. They were never independent, so rebasing seven branches would have re-created the same tangle. Microsoft.Extensions.Configuration.Abstractions 9.0.19 -> 10.0.11 Microsoft.Extensions.DependencyInjection.Abstractions 9.0.19 -> 10.0.11 Microsoft.Extensions.Options 9.0.19 -> 10.0.11 Microsoft.Extensions.Options.ConfigurationExtensions 9.0.19 -> 10.0.11 Microsoft.Extensions.TimeProvider.Testing 9.10.0 -> 10.9.0 Microsoft.NET.Test.Sdk 17.14.1 -> 18.9.0 Npgsql 9.0.5 -> 10.0.1 dbup-postgresql 5.0.40 -> 7.0.1 xunit.runner.visualstudio 2.8.2 -> 4.0.0 The Microsoft.Extensions family moves together on purpose. Splitting it is what broke #53: it took Options.ConfigurationExtensions to 10.0.11, which requires Options >= 10.0.11, while Options itself was bumped in #52 - so each half failed with NU1605 on its own branch and neither could be merged first. Microsoft.OpenApi is deliberately NOT bumped, and #56 cannot be merged at all: NU1608: Microsoft.AspNetCore.OpenApi 10.0.11 requires Microsoft.OpenApi (>= 2.7.5 && < 3.0.0) but version Microsoft.OpenApi 3.10.0 was resolved The 3.x line is outside the range ASP.NET Core 10.0.11 will accept, so 2.12.0 is the newest usable version, not merely the newest tried. That constraint lifts when ASP.NET Core ships a build referencing OpenApi 3.x - not before, and no rebase of #56 changes it. xunit.runner.visualstudio 2.8.2 -> 4.0.0 crosses two majors. That upgrade fails by silently not discovering tests rather than by failing to compile, so a green build proves nothing on its own: all 66 tests were run and pass on the new runner. Verified locally on the 10.0.100 SDK: Release build clean with 0 warnings under TreatWarningsAsErrors, 66/66 tests pass. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #52, #53, #54, #55, #56, #57 and #37 — all seven went
DIRTYwhen #49 landed, because every one edits the same project files. They were never independent, so rebasing seven branches would have re-created the same tangle.The Extensions family moves together, on purpose
Splitting it is what broke #53. It took
Options.ConfigurationExtensionsto 10.0.11, which requiresOptions >= 10.0.11— whileOptionsitself was bumped in #52. Each half failed withNU1605on its own branch, and neither could be merged first. They are one change wearing two PR numbers.Microsoft.OpenApi is deliberately not bumped — #56 is unmergeable
The 3.x line sits outside the range ASP.NET Core 10.0.11 will accept. 2.12.0 is the newest usable version, not merely the newest tried. That constraint lifts when ASP.NET Core ships a build referencing OpenApi 3.x — not before, and no rebase of #56 changes it. It should be closed, not retried.
Risk: the test runner crosses two majors
xunit.runner.visualstudio2.8.2 → 4.0.0 fails by silently not discovering tests, not by failing to compile — so a green build proves nothing on its own. All 66 tests were run and pass on the new runner.Verification
Local, on the 10.0.100 SDK: Release build clean, 0 warnings under
TreatWarningsAsErrors, 66/66 tests pass.🤖 Generated with Claude Code