[Home](../) › [Blog](../blog) › Metalama Status Update, September 2024

# Metalama Status Update, September 2024

> We're implementing .NET 9 and C# 13 in PostSharp and Metalama 2025.0, with a preview coming soon, plus highlights from our code-quality talk at JetBrains Online Days.

Published: 2024-09-30 · Author: Gaël Fraiteur · Canonical: https://postsharp.net/blog/metalama-status-update-2024-09

Autumn is here, and with it comes work on the new .NET and C# versions. We've made good progress on PostSharp and Metalama 2025.0 and will release a preview soon. On the community side, we've had the honor of discussing code quality at JetBrains Online Days, showcasing how Metalama and Qodana can work together to verify the architectural soundness of your codebase.

## Work on .NET 9.0 and C# 13

As is tradition in the .NET community, Microsoft released the first RC of .NET 9.0, and we immediately started implementing it in PostSharp 2025.0 and Metalama 2025.0.

As I write these lines, the build of the first preview of PostSharp 2025.0 is in progress and should be out soon. It fixes most known issues with .NET 9.0 and C# 13.

For Metalama, we are still working on the first preview. The most significant improvement is that interceptors will now be supported. Code generators will run _after_ Metalama to ensure consistency between design time and compile-time experiences.

## Updates and bug fixes

We updated Metalama 2024.1 and 2024.2 to Roslyn 4.11.

In addition, we continued fixing design time bugs in 2024.2. See the [change log](https://github.com/orgs/metalama/discussions/364) for details.

## JetBrains Online Days 2024

I was honored and delighted to speak at the JetBrains Online Days on September 25th with a new talk: *Overcoming Broken Window Syndrome: Code Verification Techniques for .NET Developers*. In the first chapter, I covered five different approaches to architecture verification, including `Metalama.Extensions.Architecture`. In the second part, acknowledging that the _zero warning_ strategy is not always realistic, I discussed strategies to cope with thousands of warnings and briefly showed how to implement them using [Qodana](https://www.jetbrains.com/qodana/) from JetBrains.

You can watch the recording here:

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/vA-fuZdcmYU?si=5h2HN2Nm7PCb1ETD&amp;start=12920" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

## New and updated examples

The [Commented Examples](https://doc.metalama.net/examples) section of the Metalama documentation has received some updates. The following articles have been added or improved:

* [Ignoring specific values](https://doc.metalama.net/examples/validation/ignore-values) in property setters
* [String normalization](https://doc.metalama.net/examples/validation/string-normalization), like trimming, uppercasing, or UTF normalization
* [ToString](https://doc.metalama.net/examples/tostring) generation
* [Enum View-Model](https://doc.metalama.net/examples/enum-viewmodel), generating a XAML-friendly view-model class for flags or non-flags enums

## The Timeless .NET Engineer Blog

We published one article in our _Timeless .NET Engineer_ blog:

<div class="article-thumbnails">
 <a href="https://postsharp.net/blog/serilog-log-levels">
      <img src="https://postsharp.net/assets/images/2024/2024-09-serilog-log-level/logging-f083ce4a4e.svg" alt="Serilog Log Levels: When and How to Use Them"/>
  </a>
</div>

As every year, we are spending most of Autumn working on .NET 9.0 and C# 13. We are just about to publish the first preview of PostSharp 2025.0, and Metalama 2025.0 will follow soon. Our objective is to have an RC of both products within days after Microsoft announces the general availability of .NET 9, and to publish both PostSharp and Metalama 2025.0 in the first week of January 2025.

Happy meta-programming!

-gael

---

## Site navigation

- Index of the whole site: [llms.txt](../llms.txt)

