diff --git a/docs/en/Community-Articles/2025-11-20-Whats-New-In-NET10-Libraries-Runtime/Post.md b/docs/en/Community-Articles/2025-11-20-Whats-New-In-NET10-Libraries-Runtime/Post.md new file mode 100644 index 0000000000..4346346e7e --- /dev/null +++ b/docs/en/Community-Articles/2025-11-20-Whats-New-In-NET10-Libraries-Runtime/Post.md @@ -0,0 +1,149 @@ +# What’s New in .NET 10 Libraries and Runtime? + +With .NET 10, Microsoft continues to evolve the platform toward higher performance, stronger security, and modern developer ergonomics. This release brings substantial updates across both the **.NET Libraries** and the **.NET Runtime**, making everyday development faster, safer, and more efficient. + + + +------ + +## .NET Libraries Improvements + +### 1. Post-Quantum Cryptography + +.NET 10 introduces support for new **quantum-resistant algorithms**, ML-KEM, ML-DSA, and SLH-DSA, through the `System.Security.Cryptography` namespace. + These are available when running on compatible OS versions (OpenSSL 3.5+ or Windows CNG). + +**Why it matters:** This future-proofs .NET apps against next-generation security threats, keeping them aligned with emerging FIPS standards and PQC readiness. + + + +------ + +### 2. Numeric Ordering for String Comparison + +The `StringComparer` and `HashSet` classes now support **numeric-aware string comparison** via `CompareOptions.NumericOrdering`. + This allows natural sorting of strings like `v2`, `v10`, `v100`. + +**Why it matters:** Cleaner and more intuitive sorting for version names, product codes, and other mixed string-number data. + + + +------ + +### 3. String Normalization for Spans + +Normalization APIs now support `Span` and `ReadOnlySpan`, enabling text normalization without creating new string objects. + +**Why it matters:** Lower memory allocations in text-heavy scenarios, perfect for parsers, libraries, and streaming data pipelines. + + + +------ + +### 4. UTF-8 Support for Hex String Conversion + +The `Convert` class now allows **direct UTF-8 to hex conversions**, eliminating the need for intermediate string allocations. + +**Why it matters:** Faster serialization and deserialization, especially useful in networking, cryptography, and binary protocols. + + + +------ + +### 5. Async ZIP APIs + +ZIP handling now fully supports asynchronous operations, from creation and extraction to updates, with cancellation support. + +**Why it matters:** Ideal for real-time applications, WebSocket I/O, and microservices that handle compressed data streams. + + + +------ + +### 6. ZipArchive Performance Boost + +ZIP operations are now faster and more memory-efficient thanks to parallel extraction and reduced memory pressure. + +**Why it matters:** Perfect for file-heavy workloads like installers, packaging tools, and CI/CD utilities. + +------ + + + +### 7. TLS 1.3 Support on macOS + +.NET 10 brings **TLS 1.3 client support** to macOS using Apple’s `Network.framework`, integrated with `SslStream` and `HttpClient`. + +**Why it matters:** Consistent, faster, and more secure HTTPS connections across Windows, Linux, and macOS. + + + +------ + +### 8. Telemetry Schema URLs + +`ActivitySource` and `Meter` now support **telemetry schema URLs**, aligning with OpenTelemetry standards. + +**Why it matters:** Simplifies integration with observability platforms like Grafana, Prometheus, and Application Insights. + + + +------ + +### 9. OrderedDictionary Performance Improvements + +New overloads for `TryAdd` and `TryGetValue` improve performance by returning entry indexes directly. + +**Why it matters:** Up to 20% faster JSON updates and more efficient dictionary operations, particularly in `JsonObject`. + + + +------ + +## .NET Runtime Improvements + + + +### 1. JIT Compiler Enhancements + +- **Faster Struct Handling:** The JIT now passes structs directly via CPU registers, reducing memory operations. + *→ Result: Faster execution and tighter loops.* + +- **Array Interface Devirtualization:** Loops like `foreach` over arrays are now almost as fast as `for` loops. + *→ Result: Fewer abstraction costs and better inlining.* + +- **Improved Code Layout:** A new 3-opt heuristic arranges “hot” code paths closer in memory. + *→ Result: Better branch prediction and CPU cache performance.* + +- **Smarter Inlining:** The JIT can now inline more method types (even with `try-finally`), guided by runtime profiling. + *→ Result: Reduced overhead for frequently called methods.* + + + +------ + +### 2. Stack Allocation Improvements + +.NET 10 extends stack allocation to **small arrays of both value and reference types**, with **escape analysis** ensuring safe allocation. + +**Why it matters:** Fewer heap allocations mean less GC work and faster execution, especially in high-frequency or temporary operations. + + + +------ + +### 3. ARM64 Write-Barrier Optimization + +The garbage collector’s write-barrier logic is now optimized for ARM64, cutting unnecessary memory scans. + +**Why it matters:** Up to **20% shorter GC pauses** and better overall performance on ARM-based devices and servers. + + + + + +## Summary + +.NET 10 doubles down on **performance, efficiency, and modern standards**. From quantum-ready cryptography to smarter memory management and diagnostics, this release makes .NET more ready than ever for the next generation of applications. + +Whether you’re building enterprise APIs, distributed systems, or cloud-native tools, upgrading to .NET 10 means faster code, safer systems, and better developer experience.