Here is what we’ve managed to complete in July on the Metalama project:
- 40 bug fixes
- Proper support for structs and records
- Overriding default interface member implementations
- Overriding partial methods
- Aspects with many layers
- Introduce and override operators
- Add contracts to constructor parameters
- Improvement of supportability (better error reporting, optional automatic creation of process dumps upon exception)
A few customers have started to try Metalama on large solutions. Honestly, this is still risky business: they all encountered several blocking bugs. Good news is that we were able to diagnose and fix all bugs with a cycle time of 2 or 3 days – yes, 2 days between the bug report and the deployment of a fix. This is the sign that our engineering processes (continuous integration) and our code base are both in good health, so we can hope to converge to a stable version in Autumn 2022.
If you want to try Metalama now, please note that August will also be vacation-heavy on our side and we will not be always able have such a short cycle time. So, if you are not willing to wait a couple of weeks for a bug fix, it can be better to wait until September.
What’s next
Here is our updated to-do list:
- Gaps in existing features:
- implementing generic interfaces,
- getting
System.Reflection
object for declarations introduced by aspects. - design-time cross-project cache invalidation
- Documenting and easing the migration from PostSharp
- Licensing
As always, your feedback is greatly appreciated and, most likely, can have large impact on the final product. To get instant answers, the best is still to join our Slack community.
Have a nice summer,
-gael