Metalama 2027.0.2-preview
Pre-release
Pre-release
·
0 commits
to release/2026.1
since this release
Metalama 2027.0.2-preview is based on 2027.0.1-preview and 2026.1.27, plus the following changes.
This release updates Metalama.Compiler to 2027.0.2-preview.
This release moves to the .NET software development kit 11.0.100-rc.1 and to Roslyn 5.11, the compiler that this kit bundles, and enables the C# 15 language version. Roslyn 5.11 publishes the six C# 15 features without the experimental marker, so this release delivers the code model and the advising support for unions, closed classes and extension indexers. It also adds the type facet mechanism to the code model, with the delegate, enum, record and union facets. This is a preview release, and it is not supported in production.
Breaking Changes
- #2004, #2005 Updated to the .NET software development kit 11.0.100-rc.1 and to Roslyn 5.11, and enabled the C# 15 language version.
- #2005
Metalama.Framework.Workspacesand the LinqPad driver now require a .NET software development kit whose MSBuild is 18.7.1 or later.
New
- #1941 Added the code model of a C# 15 union:
INamedType.IsUnionand the union facet, which exposes the union kind, the case types and the value property. - #1939 Added
INamedType.IsClosed, which tells a class declared with the C# 15closedmodifier from an ordinary abstract class. - #1950 Added
INamedTypeBuilder.IsClosed, so that an aspect can introduce a closed class. - #1949 Added support for C# 15 extension indexers, in advising and in introduction.
- #1995 Added the type facet mechanism to the code model, with the delegate facet as its first facet.
- #1996 Added the enum facet, which exposes the underlying type of an enum, its members and whether it carries
System.FlagsAttribute. - #1997 Added the record facet, which names the members that the compiler synthesizes for a record.
Enhancements
- #1922 Grouped the registered license keys by the minimal version of Metalama that can consume them, so that an earlier version installed on the same machine ignores a key it cannot understand.
- #1927 Gave the language version warning the code
LAMA0603and a text that is true.
Fixes
- #1979 Fixed the language version of compile-time code and of template bodies in a project that requests the preview version.
- #1995 Fixed the eligibility rule of the advice that overrides the
Invokemethod of an event, which threw when the type of the event was not a delegate.
Resources
- Milestone
- Full Changelog: release/2027.0.1-preview...release/2027.0.2-preview