Repository navigation
Open
Labels
area/releaseVersioning, changelogs, packaging and release wiringVersioning, changelogs, packaging and release wiringchoreBuild, CI, tooling, packaging, refactoring with no behaviour changeBuild, CI, tooling, packaging, refactoring with no behaviour change
Milestone
Description
Goal
Add a net11.0 target beside net10.0 to every shipping package, on the terms of decision 120. It is the first multi-target release, and the net11.0-only features of 2.4.0 depend on it.
Before it
- The SDK 11 spike, Spike: build and weave under the .NET 11 SDK before any net11.0 target (decision 120) #170: build and weave on an SDK 11 compiler, the packed
net10.0assets unchanged, a consumer on SDK 11. - A record of its own that moves the
global.jsonpin off 10.0.4xx, now that .NET 11 is generally available (2026-11-10).
What it holds (decision 120)
- The satellites'
net11.0groups may require EF Core 11 and Microsoft.AspNetCore.OpenApi 11. The changelog "Changed" names each raise: the dependency, the old and new floor, the target it covers, who it reaches (NU1605 for an application that holds the lower version) and both ways out. - The
net11.0public surface is a superset ofnet10.0's, and a shared member behaves the same on both. - Generated members are the same on every target. The Generators package moves to Metalama 2027.0 in this release (Move the Generators package to Metalama 2027.0 in 2.4.0 (decisions 120 and 129) #173, decision 129), which compiles a woven project at C# 14 on
net10.0and C# 15 onnet11.0(KB-060). LangVersionstays 14 fornet10.0, and becomes 15 fornet11.0once its code uses a C# 15 feature.
Done when
- Each target is run, not assumed: the tests, package validation and the Native AOT smoke run for each target.
- The smoke test has a
net11.0consumer that holds the lower satellite versions, and it shows the NU1605 the changelog describes. - The checks this target owes are closed: System.Text.Json net11.0: Option/Result refusal and value-object JSON under System.Text.Json's union support #213, OpenAPI net11.0: OpenAPI transformers under OpenAPI 3.2, server-sent events and union return types #214, EF Core 11 net11.0: the EF Core satellite on EF Core 11 (nested complex keys, CAST stripping, primitive collections) #215.
The net11.0-only features of 2.4.0 build on it: #210 (Testing), #211 (runtime async), #212 (the new decimal types). #209 (constraint attributes) ships on both targets and needs a net11.0 test run for its union and closed rows.
First publish (decided 2026-11-11, #284): the two targets are published first as 2.4.0-preview.1, on a Metalama 2027 preview, so the first multi-target publish is not the stable one.
Metadata
Metadata
Assignees
Labels
area/releaseVersioning, changelogs, packaging and release wiringVersioning, changelogs, packaging and release wiringchoreBuild, CI, tooling, packaging, refactoring with no behaviour changeBuild, CI, tooling, packaging, refactoring with no behaviour change
Activity