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.
Here is our updated to-do list:
- Gaps in existing features:
- implementing generic interfaces,
System.Reflectionobject for declarations introduced by aspects.
- design-time cross-project cache invalidation
- Documenting and easing the migration from PostSharp
Have a nice summer,