Skip to content

Cap the EF Core dependency below the next major - #8

Merged
CaffeinatedCoder merged 1 commit into
mainfrom
build/ef-core-upper-bound
Aug 15, 2026
Merged

CaffeinatedCoder merged 1 commit into
mainfrom
build/ef-core-upper-bound

Conversation

@CaffeinatedCoder

Copy link
Copy Markdown
Owner

Closes the last item from the repository review.

>= 10.0.0 with no ceiling let NuGet resolve EF Core 11 for a consumer. Since this package subclasses MigrationsModelDiffer and uses EF1001 internals — explicitly changeable without notice in any release — that break would land in someone else's dotnet ef run and never be visible from here.

Matches what Npgsql.EntityFrameworkCore.PostgreSQL and EFCore.NamingConventions declare.

Package Before After
EFCore.ComplexIndexes Abstractions >= 10.0.0 Abstractions [10.0.0, 11.0.0)
…PostgreSQL Npgsql.EFCore.PostgreSQL >= 10.0.0 [10.0.0, 11.0.0)
…SqlServer EFCore.SqlServer >= 10.0.0 [10.0.0, 11.0.0)

No change for existing consumers: NuGet resolves the lowest version in a range, so restore still picks 10.0.0.

Verification

  • Packed nuspecs confirmed to carry the ranges
  • dotnet list package confirms resolution still lands on 10.0.0
  • 186 tests pass, consumer smoke test passes against the bounded packages

This package subclasses MigrationsModelDiffer and calls EF1001-marked internals,
which EF documents as changeable or removable without notice in any release. The
declared dependency was open-ended (>= 10.0.0), so NuGet would happily resolve EF
Core 11 for a consumer and the differ could break at design time — surfacing as a
confusing `dotnet ef` failure in someone else's project, never here.

Npgsql.EntityFrameworkCore.PostgreSQL and EFCore.NamingConventions both declare
[x, 11.0.0) for the same reason; this matches them.

The lower bound stays at 10.0.0. NuGet resolves the lowest version in a range, so
nothing changes for anyone already on EF Core 10 — the packed nuspecs now read
[10.0.0, 11.0.0) and restore still picks 10.0.0.

Co-Authored-By: Claude Opus 5 <[email protected]>
@CaffeinatedCoder
CaffeinatedCoder merged commit 5fe3863 into main Aug 15, 2026
6 checks passed
@CaffeinatedCoder
CaffeinatedCoder deleted the build/ef-core-upper-bound branch August 15, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant