Microsoft .NET 8 and C# 12 are now available
Posted: (EET/GMT+2)
Microsoft has officially released .NET 8 and C# 12, marking the next Long-Term Support (LTS) release for the .NET platform.
.NET 8 continues the recent focus areas of performance, cloud-native development, containers, ASP.NET Core, and developer productivity. According to Microsoft, this release includes extensive runtime and library optimizations across the stack. This is, of course, great news.
For ASP.NET Core developers, some of the notable areas include:
- improved native AOT support
- smaller and more optimized container images
- better performance and reduced allocations
- expanded cloud-native tooling
- continued Minimal API improvements.
One major theme in .NET 8 is operational efficiency. Native AOT, startup performance, container optimization, and lower memory usage all point toward faster and smaller cloud deployments.
The new .NET release also brings a new version of the C# language: the version 12. This version introduces several new language features:
- primary constructors
- collection expressions
- alias any type
- default lambda parameters.
For example, collection expressions simplify array and list initialization:
int[] values = [1, 2, 3, 4];
Primary constructors are another notable addition, especially for lightweight service and configuration classes:
public class Worker(string name)
{
public string Name => name;
}
Tip: while the C# syntax becomes shorter, the underlying design guidance remains the same. Keeping constructors and initialization logic simple still matters for maintainability.
Another interesting aspect of this release cycle is how visible AI tooling has become across the .NET ecosystem. This is arguably the first .NET release where AI-assisted development is already a major part of the developer workflow.
Tools such as AI-assisted debugging, code completion, test generation, and cloud automation are now integrated directly into everyday development tooling. The .NET team also highlighted several AI-related scenarios during the .NET 8 release cycle, including vector databases, semantic search, and integration with large language model APIs.
In practice, .NET 8 feels less like a single headline-feature release and more like a broad platform refinement release: faster runtime, cleaner tooling, smaller deployments, and improved developer workflows.
For teams currently on .NET 6, the move to .NET 8 should also be relatively straightforward because the platform direction remains consistent with the previous LTS generation.