Skip to content

A net11.0 target beside net10.0 (decision 120) #208

Open

Description

@CaffeinatedCoder

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

What it holds (decision 120)

  • The satellites' net11.0 groups 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.0 public surface is a superset of net10.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.0 and C# 15 on net11.0 (KB-060).
  • LangVersion stays 14 for net10.0, and becomes 15 for net11.0 once its code uses a C# 15 feature.

Done when

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

No one assigned

    Labels

    area/releaseVersioning, changelogs, packaging and release wiringchoreBuild, CI, tooling, packaging, refactoring with no behaviour change

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions