Skip to content

Epic: 11.0.0 #147

Open
32 of 45 issues completed
Open

Description

@CaffeinatedCoder

Goal

Open the .NET 11 line: net11.0, EF Core 11, Npgsql 11, PostgreSQL 16+. It ships as 11.0.0-preview.N from main, and as 11.0.0 once Npgsql's EF provider 11.0.0 is on NuGet and the breaking set below is in. There is no preview branch (#280).

Decision (2026-10-18): two parallel lines, one per platform major, as EntglDb/BLite and EFCore.ComplexIndexes do. 10.x is the LTS line on .NET 10 (supported to 2028-11). 11.x is where the surface changes.

State on 2026-11-11

.NET 11, EF Core 11 and ASP.NET Core 11 have been on NuGet as 11.0.0 since 2026-11-10. Two things are not there yet:

  • Npgsql.EntityFrameworkCore.PostgreSQL is still 11.0.0-rc.3 and pins EF Core to exactly rc.3. A stable package can't depend on a prerelease (NU5104), so v11.0.0 waits for it. Its 10.0.0 came eleven days after .NET 10.
  • No 11 preview of this package has been published. main is on rc.2, and the earlier plan of one preview per .NET 11 RC did not happen (Publish 11.0.0-preview.1 on the .NET 11 GA SDK and Npgsql's provider rc.3 #332 stayed open through RC2 and RC3).

Decided 2026-11-11 (maintainer)

In scope and out of scope

In scope: the retarget, the unions marked closed (#149), the breaking set above, the native WithoutOverlaps/WithPeriod documentation, the two-line policy, the CI matrix (#152) and the release wiring (#341, #342, #343, #346).

Out of scope: exclusion constraints and GiST indexes on the 11 line (#333, SchemaKit). ltree, which belongs in the sibling hierarchies package. Additions that change no answer ship as 10.x minors and are carried to main, within the window CaffeinatedCoder/EFCore.ComplexIndexes#178 sets.

Sequence

  1. Move main to the GA SDK (main: move to the .NET 11 GA SDK and the 11.0.0 test packages, and repeat the retarget measurements #532): SDK 11.0.100, the test packages on 11.0.0, the retarget measurements and the closed probe run again. EF Core stays on rc.3, because Npgsql's rc.3 pins it.
  2. Release wiring before any tag: Packages: show the version's changelog section as NuGet release notes #346 (release notes, PR chore: write each package's changelog section into its NuGet release notes #347), Release: run every CI lane (PostgreSQL 16 and 18, both smoke modes, the EF float legs) before publishing #342 (every lane before publishing).
  3. 11.0.0-preview.1 (Publish 11.0.0-preview.1 on the .NET 11 GA SDK and Npgsql's provider rc.3 #332): the retarget with an identical public API, on rc.3. It is the first real run of the release workflow's prerelease path.
  4. 11.0.0-preview.2: Shorten the default names of TPC copies over the identifier limit EFCore.ComplexIndexes#149 (closed), A null range answers some extensions in memory and throws on others, and the answers it gives disagree with PostgreSQL on a NULL column #350 and Decide the canonical order of string-backed value sets for 11.0.0: code point order, which PostgreSQL can sort, or ordinal #479.
  5. 11.0.0-preview.3: Per-domain range set types (Int32RangeSet, DateRangeSet, …) replace RangeSet<TRange, T> #275. docs/migration.md v10.x gets the rename.
  6. Floors to 11.0.0 (main: move the EF Core and Npgsql floors to 11.0.0 when Npgsql's provider ships it #533) when Npgsql's provider ships it, then v11.0.0.

CaffeinatedCoder/EFCore.ComplexIndexes#149 also ships on 10.x, in 10.5.0 (#534), after preview.2 has shown it works.

Done when

  • every sub-issue is closed
  • at least one 11.0.0-preview.N was published before the tag, so the prerelease path has run
  • the root changelog opens 11.0.0 with the platform floor, the breaking set, the variants migration and the "what can break you" list, and docs/migration.md has a v10.x section
  • v11.0.0 is tagged on main and the four packages are on NuGet
  • the baseline on main names 11.0.0 and PackageValidationBaselineFrameworkToIgnore is gone
  • CONTRIBUTING records the date until which 10.x takes additions (six months after the tag)
  • release/10.x carries the same branch protection as main (GitHub settings, done by hand; CONTRIBUTING promises it)

Activity

  1. added this to the 11.0.0 milestone on Oct 18, 2026
  2. added
    epicTracks a release or a theme; its sub-issues are the work
    area/releaseVersioning, changelogs, release wiring
    on Oct 18, 2026
  3. CaffeinatedCoder commented on Oct 18, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Two scope notes from 2026-10-18: (1) 10.x takes additions for six months after v11.0.0 (#178, PR CaffeinatedCoder/EFCore.ComplexIndexes#180), so CaffeinatedCoder/EFCore.ComplexIndexes#149's 10.x half fits. (2) The 10.0.0 epic (#58) now carries the scheduling and parity themes and the Float32/Float64 family (#153), so the 'Additions such as DoubleRange ship in a 10.x minor' line in the out-of-scope section is out of date: they ship in 10.0.0 and are merged forward like the fixes.

  4. 25 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area/releaseVersioning, changelogs, release wiringepicTracks a release or a theme; its sub-issues are the work

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions