What’s New in .NET 9 Preview 6: Comprehensive Overview
Tags: csharp, dotnet, devtoys
Published: 2024-07-10 18:59:43

On July 9th, 2024, Microsoft released .NET 9 Preview 6, featuring significant updates and enhancements across the framework. Key highlights include:

---

## Runtime Updates:
- ARM64 Code Generation: Improved data loading/storing, enhancing execution time.
- Code Layout: Optimized basic block ordering for better performance.
- Loop Optimizations: Enhanced performance by flipping loop counter variables.
- Reduced Address Exposure: Better tracking of local variables for more optimizations.
- AVX10v1 Support: New SIMD instruction set for AVX10-enabled hardware.
Hardware Intrinsic Code Generation: Improved handling of constants in hardware intrinsics.
- Constant Folding: Enhanced for floating-point and SIMD operations.

## SDK Updates:
- NuGetAudit: Warnings for vulnerabilities in transitive dependencies.
- dotnet nuget why: Command to identify usage of transitive packages.
- MSBuild BuildChecks: Enforces rules during builds, similar to Roslyn Analyzers.

## .NET MAUI Updates:
- Quality Improvements: Expanded test coverage and bug fixing for Android and iOS development.
- ASP.NET Core Updates:
- Fingerprinting of Static Web Assets: Improved caching and load times.
- Enhanced Distributed Tracing for SignalR: Better tracing capabilities.
- Microsoft.AspNetCore.OpenAPI Enhancements: Improved attribute support and schema transformers.
- New Analyzer for [Authorize] and [AllowAnonymous]: Warns when [Authorize] is overridden.

---
## 👀 Please visit [What’s New in .NET 9 Preview 6: Comprehensive Overview - DevToys.io](https://devtoys.io/2024/07/09/whats-new-in-net-9-preview-6-comprehensive-overview/) for an in-depth overview of these items! 🔥
---

## C# 13 Updates:
- Partial Properties: Supports source generators, making APIs intuitive.
- Primary Constructors in Logging Source Generator: Logging using classes with primary constructors.
- System.Text.Json Updates:
- Respecting Nullable Annotations: Enforces nullability during serialization/deserialization.
- Requiring Non-Optional Constructor Parameters: Treats non-optional constructor parameters as required.
- Ordering JsonObject Properties: Enables explicit property order manipulation.
- Additional Contract Metadata APIs: Exposes constructor metadata and improved attribute support.

## Libraries Updates:
- [GeneratedRegex] on Properties: Supports partial properties in C# 13.
- Regex.EnumerateSplits: Span-based input without allocation.
- OrderedDictionary<TKey, TValue>: New generic collection.
- ReadOnlySet<T>: For creating read-only views of sets.
- Span-Based APIs: New features for file operations and string manipulations.
- Base64Url: Methods for Base64Url encoding/decoding.
SocketsHttpHandler by Default: Improved configurability in HttpClientFactory.
- TLS Resume with Client Certificates on Linux: Adds support for TLS resume on Linux.
- Metrics Gauge Instrument: Records non-additive values like background noise level.

---

## 👀 Please visit [What’s New in .NET 9 Preview 6: Comprehensive Overview - DevToys.io](https://devtoys.io/2024/07/09/whats-new-in-net-9-preview-6-comprehensive-overview/) for an in-depth overview of these items! 🔥