Repository navigation
Description
Problem
.NET 11 has been generally available since 2026-11-10. Decision 129 tags 2.4.0 only on a stable Metalama 2027.0, which Metalama plans for 2027-01-01. On 2026-11-11 the newest is 2027.0.5-preview (2026-10-30), and a 2027.0.6-preview milestone is open. Until the stable ships:
- a web project with the Generators package still fails with
LAMA0625where SDK 11 is the only SDK (A web project with the Generators package fails with LAMA0625 when SDK 11 is the only SDK #275), and the only ways out are an SDK 10 beside it or a directMetalama.Framework2027 preview reference; - nothing on
release/2.4.0reaches a consumer: the analyzers, thenet11.0target (A net11.0 target beside net10.0 (decision 120) #208) and the checks that hang on it; - the first publish with two targets would be the stable one, with no rehearsal.
Metalama 2026.1.32 shipped on 2026-11-10 with three fixes and the same Metalama.Compiler 2026.1.21, so its Roslyn is unchanged and #275 is expected to stand. That is read from the packages, not measured on the GA SDK.
Decided 2026-11-11 (maintainer)
While Metalama 2027.0 is a preview, 2.4.0 is published as 2.4.0-preview.N from release/2.4.0, on the Metalama 2027 preview it was tested with. A prerelease package may depend on a prerelease (NU5104 is about stable packages only). Decision 129's rule for the stable tag is unchanged: v2.4.0 only on a stable Metalama 2027.0.
Conditions before the first preview
- A licence-free build on the Metalama preview is measured first (Spike: build and weave under the .NET 11 SDK before any net11.0 target (decision 120) #170's CI job). If a Metalama preview needs a licence, or stops working at a date, a TypeKit preview would pass that on to every consumer. Then the record says what the limit is and the README names it, or no preview is published.
- The lane with only SDK 11 installed builds a web consumer (CI and the smoke test: a lane with only SDK 11 installed, with a web consumer (decision 129) #281).
- Move the Generators package to Metalama 2027.0 in 2.4.0 (decisions 120 and 129) #173 on the Metalama preview and A net11.0 target beside net10.0 (decision 120) #208 are in, and each target is run, not assumed.
- The release workflow has a prerelease path: off GitHub's Latest, publishing the packages CI packed (Release: publish the packages CI packed instead of building them again, and check the tag before CI #247), with package validation for each target.
What the record holds
- Which Metalama preview a TypeKit preview depends on, and that a new Metalama preview gets a new TypeKit preview only after the smoke test ran on it.
- What a preview promises: the README and the release notes say it depends on a Metalama preview and is not for production.
- That 2.3.x stays the stable line until
v2.4.0, and what its README says to an SDK-11-only consumer in the meantime.
Done when
The decision record and its index row are in, decision 129's status names it, the roadmap says it, and the 2.4.0 epic (#177) carries the sequence.
Activity