Repository navigation
Description
Prerequisite of the net11.0 target in decision 120, a spike with no release attached. Today global.json pins SDK 10.0.4xx because a different Roslyn band can change what Metalama and the analyzers emit.
Measure, on an SDK 11 compiler (RC now, the general-availability SDK once it ships in November 2026):
- the repository builds and its tests pass, with
global.jsonmoved to the SDK 11 band; - the packed
net10.0assets are unchanged by the new compiler (woven output compared); - a consumer on SDK 11 that references the existing 2.x packages builds, weaves and runs, and its generated code raises no new warning under the C# 15 default;
- the consumer smoke test gains an SDK 11 lane, with a
net11.0consumer that holds the lower satellite versions (the NU1605 case).
Also measure, because decision 120 moves Metalama, in 2.4.0 since decision 129:
- a CI job that builds the repository and its tests against Metalama 2027.0.4-preview (then the stable 2027.0) with no Metalama license on the machine, as
dotnet.ymlruns every job on 2026.1. Local runs are no evidence: this machine holds a license entry for 2027.0 and has compiler servers running; - the consumer matrix on SDK 11 and SDK 10: a direct
Metalama.Framework2026.1 reference beside the new packages (the NU1605 the changelog will describe), a direct 2027 reference beside the 2.x packages (measured to weave on 2026-10-29), and the same onrc.3packages and the general-availability SDK; - the NU1605 measurement of the decision repeated on SDK 11
rc.3or later.
Done when the answer is a record: what moved, what broke, and whether Metalama 2026.1 holds.
Done (2026-10-31): the RC3 rows. Decision 120's Metalama measurement repeated on SDK 11.0.100-rc.3.26522.148 with the 2.3.1 packages: every RC1 result holds, Metalama 2026.1 still runs projects at C# 14 (comment, #276, PR #277, KB-060). Found there: a web project on 2026.1 fails with LAMA0625 when SDK 11 is the only SDK installed (#275), which moved the Metalama 2027.0 move into 2.4.0 (decision 129, #280). Everything else above stays open.
Activity
docs: decision 120 moves Metalama to 2027.0 in 2.5.0 for both targets
CaffeinatedCoder commentedon Oct 31, 2026
The RC3 rows: Metalama 2026.1 holds. Measured 2026-10-31 on SDK 11.0.100-rc.3.26522.148 (macOS arm64) with the published 2.3.1 packages (
Metalama.Framework2026.1.30, compiler 2026.1.20),UseSharedCompilation=false, compiler servers shut down before each build, restored from nuget.org into an empty package folder. Spikespikes/Sdk11Rc3Metalama, fact KB-060, PR #277 (closes the sub-issue #276).net11.0value object, no unionFrom,Parse, JSON round trip#error versionCS8304: compiler 2026.1.20, language version 14.0 (2026.1.31: compiler 2026.1.21, 14.0)uniondeclared in the projectCS0106,CS1001,CS8803net11.0-only libraryswitchgivesCS8652"unions ... in Preview"LAMA0617Metalama.Framework2027.0.5-preview| 7. one project on
net10.0;net11.0,Metalama.Framework2027.0.5-preview, noLangVersion:#error version| compiler 2027.0.5-preview at 14.0 onnet10.0, at 15.0 onnet11.0| not measured (2027 only onnet11.0) || 7. the same: value object | generated on both targets; both run
From,Parse, JSON | not measured || 7. the same: a union and
switchinside#if NET11_0_OR_GREATER| builds on both targets, runs onnet11.0| not measured || 7. the same: a union in a file under
<Compile Remove="Net11Only/**" Condition="'$(TargetFramework)' == 'net10.0'" />| builds on both targets, runs onnet11.0| not measured || 7. contrast, the same project on 2026.1 | both targets at 14.0; either union fails on
net11.0withCS0106,CS1001,CS8803| not measured |Control: the same union declaration and match compile and run with no TypeKit and no Metalama.
No RC1 result changed. One thing the RC1 runs could not show, filed as #275: a web project (
Microsoft.NET.Sdk.Web) on 2026.1 fails withLAMA0625(the SDK 11 Razor compiler needs Roslyn 5.11 on RC1, 5.12 on RC3; Metalama 2026.1 bundles 5.9) when SDK 11 is the only SDK in its .NET installation:net11.0LAMA0625(2026.1.31 too)net10.0LAMA0625LAMA0625LAMA0617twicenet10.0Decision 120's RC1 runs had SDK 10.0.403 installed beside RC1, which is the "builds with
LAMA0617" row. Its consequence line ("a warning, falling back to the SDK 10 Razor compiler") holds only with an SDK 10 in the same installation. The decision is not edited; #275 asks whether that needs a new record or only the 2.4.0 documents.Limits: this machine has a Metalama licensing entry for 2027.0, so the 2027 cells say nothing about a license-free build; no IDE, Linux, Windows or general availability SDK.
spike: one project on net10.0 and net11.0 with Metalama 2027
CaffeinatedCoder commentedon Oct 31, 2026
Decision 129 (#280): because of #275, Metalama 2027.0 moves into 2.4.0, which is tagged only on a stable 2027.0. The license-free CI job and the consumer matrix above are now 2.4.0 conditions, and #281 adds a lane with only SDK 11 installed and a web consumer.
CaffeinatedCoder commentedon Nov 11, 2026
.NET 11 is generally available (2026-11-10), so the rows that waited for the GA SDK can run. State on 2026-11-11, read from nuget.org and Metalama's releases, nothing measured here yet:
11.0.100and the 11.0.0 runtime, ASP.NET Core and EF Core packages are published.DevHub.execrash,LAMA0001about every seven days, hanging IDE features). It still depends onMetalama.Compiler2026.1.21, so the bundled Roslyn is unchanged.2027.0.5-preview(2026-10-30), with a2027.0.6-previewmilestone open.Order, since #284 makes the licence-free job the gate for a
2.4.0-preview:global.json), tests passing, and the packednet10.0assets compared with the SDK 10 build;