Metalama 2023.1 includes the following enhancements:
- Added support for Visual Studio 17.6, Roslyn 4.6, and .NET SDK 7.0.300.
- The
IAdviceFactory.ImplementInterface
now exposes the created members inIImplementInterfaceAdviceResult
. - Introducing the new extension method
IType.ToTypeOfExpression()
, which returns anIExpression
. - Contracts now support
IEnumerable
. - Ability to make an introduced field
readonly
. - Improved error reporting for aspect members with more than one advice/template attribute.
- Enhanced error message when referencing a non-existing type in compile-time code.
- In templates,
foreach
loops are now allowed in run-time-conditional blocks. - Better error reporting when the
[Template]
attribute is used on accessors.
For a detailed list of bug fixes, please refer to the change log for individual builds.
Please note that 2023.1 addresses a severe memory leak in Visual Studio, so we highly recommend taking this update.
As previously announced, we only address severe bugs in versions that have reached the RC stage. This approach ensures that we maintain the stability of our releases and minimize the risk of introducing instability. Consequently, we are now delivering more frequent updates with fewer enhancements but a greater focus on bug fixes. Our next bug-fixing release, Metalama 2023.2, is now in public preview and is scheduled for RC on July 17th.
I would like to apologize for the difficulties that occurred with the Visual Studio 17.6 update. We failed to meet our standard of testing our products with Microsoft’s release candidates and only started fixing two severe issues when the community was already affected. The impact of these difficulties was only limited due to the still relatively small user base of Metalama. Upon careful analysis, we have identified the root cause of this problem as a failure to restructure our engineering processes effectively when transitioning the Metalama project from R&D to production. Rest assured: we are currently reorganizing our operations to ensure that Metalama undergoes thorough testing before new Visual Studio versions are made generally available.
Happy meta-programming!
-gael