You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The plan, one level up. Each sub-issue is an epic: a release (with a milestone of the same name) or a theme that spans releases.
How issues and PRs are labelled (the same scheme as EntglDb/BLite):
Type: exactly one of bug, enhancement, documentation, tests, chore.
package/*: the shipped packages affected: package/core, package/nodatime, package/efcore, package/efcore-nodatime.
area/*: the concern across packages: ranges, range-set, value-sets, json, literals, aot, release.
severity/*: bugs only. critical, high, medium or low.
silent: a bug that answers wrongly without throwing. Up to 10.0.0 its fix went in the next major. After 10.0.0 it ships as a minor on every supported line, never a patch, and that minor's changelog entry opens with ### Changed answers, a row linking the issue and its docs/migration.md section (CONTRIBUTING.md, "A fix that changes an answer"; PR hygiene checks the row).
breaking: anything that changes an existing answer or signature.
found-by/oracle: found by the generated-oracle machinery.
stacked (PRs): the base is another open PR. Merge them in order.
Releases: each release is an epic with a milestone. Its work is attached as sub-issues and carries the same milestone. A PR carries its issue's labels and says Closes #n.
Float ranges: in, as finite-only DoubleRange/DoubleSet over a custom float8range, a 10.x minor (backlog). The custom-type tier (timerange, float8range) is documented as a table, not as a new category.
ltree: out of ValueRanges on both lines. Npgsql's LTree is translation-only and its maintainers declined client-side semantics (efcore.pg #2330, #3610, #3876); the gap is real, but label paths are a different algebra. It goes to the sibling hierarchies package, reusing this repo's parity-oracle tooling, when a consumer exists.
Plan after .NET 11 GA (decided 2026-11-11). .NET 11, EF Core 11 and ASP.NET Core 11 are on NuGet as 11.0.0 since 2026-11-10. Npgsql's EF provider is still 11.0.0-rc.3, and Metalama 2027.0 is still a preview. So nothing in the family ships stable on .NET 11 yet, and the wait is used:
Activity
CaffeinatedCoder commentedon Oct 18, 2026
Decisions recorded 2026-10-18 (research session on the v10 questions):
11.0.0-preview.N(epic Refuse an INCLUDE entry that names no column of the table EFCore.ComplexIndexes#147). The 14 silent fixes (Epic: 10.0.0 #58) land onmainfirst and merge forward. Issue SQLite: a migration that rebuilds a table silently drops every complex index on it EFCore.ComplexIndexes#86's "one supported version" is reversed by Release notes and packed READMEs link docs at blob/main, which becomes SchemaKit after the tag EFCore.ComplexIndexes#151, which also rewrites the silent-fix rule for two lines. EFCore.ComplexIndexes adopts the same scheme, labels and lines the same day (its roadmap and epics).DoubleRange/DoubleSetover a customfloat8range, a 10.x minor (backlog). The custom-type tier (timerange,float8range) is documented as a table, not as a new category.LTreeis translation-only and its maintainers declined client-side semantics (efcore.pg #2330, #3610, #3876); the gap is real, but label paths are a different algebra. It goes to the sibling hierarchies package, reusing this repo's parity-oracle tooling, when a consumer exists.closed/unionrewrite of the five variants (Compile probe: C# 15 closed hierarchies and union types for the five variants, on net10.0 and net11.0 #148, Shorten the default names of TPC copies over the identifier limit EFCore.ComplexIndexes#149) is the 11.0.0 headline.CaffeinatedCoder commentedon Nov 11, 2026
Plan after .NET 11 GA (decided 2026-11-11). .NET 11, EF Core 11 and ASP.NET Core 11 are on NuGet as 11.0.0 since 2026-11-10. Npgsql's EF provider is still
11.0.0-rc.3, and Metalama 2027.0 is still a preview. So nothing in the family ships stable on .NET 11 yet, and the wait is used:closed(Mark the range unions closed (C# 15) for compile-time exhaustiveness, on both lines #149). Order: GA SDK (main: move to the .NET 11 GA SDK and the 11.0.0 test packages, and repeat the retarget measurements #532), release wiring (Packages: show the version's changelog section as NuGet release notes #346, Release: run every CI lane (PostgreSQL 16 and 18, both smoke modes, the EF float legs) before publishing #342),11.0.0-preview.1on rc.3 (Publish 11.0.0-preview.1 on the .NET 11 GA SDK and Npgsql's provider rc.3 #332), preview.2, preview.3, floors to 11.0.0 when Npgsql ships (main: move the EF Core and Npgsql floors to 11.0.0 when Npgsql's provider ships it #533), tag. One target per line; nothing here multi-targets.closedon 10.x, which moves that build to the .NET 11 SDK).2.4.0-preview.1is the family's firstnet10.0+net11.0publish (A net11.0 target beside net10.0 (decision 120) CodoMetis.TypeKit#208).Not verified yet, both in #532: that
closedis stable C# 15 on the GA compiler, and that the Native AOT trap of #291 is gone on GA.