Metalama 2023.1 includes the following enhancements:
- Added support for Visual Studio 17.6, Roslyn 4.6, and .NET SDK 7.0.300.
IAdviceFactory.ImplementInterfacenow exposes the created members in
- Introducing the new extension method
IType.ToTypeOfExpression(), which returns an
- Contracts now support
- Ability to make an introduced field
- 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,
foreachloops 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.