Start here
New here? These are the posts I'd point a developer at first. They're longer, more evergreen, or do more teaching than the daily news posts. Updated whenever I write something I'd genuinely recommend.
14 posts · grouped by topic
C# language
What actually changed in the language and how it lands in real code.
- C# 14 Extension Members: Extension Properties, Operators, and Static Extensions C# 14 introduces extension members, allowing you to add extension properties, operators, and static members to existing types using the new extension keyword.
- C# 14 Null-Conditional Assignment: Using ?. and ?[] on the Left Side C# 14 extends null-conditional operators to work on the left-hand side of assignments, eliminating verbose null checks when setting properties or indexers.
- C# 15 Union Types Are Here: Type Unions Ship in .NET 11 Preview 2 C# 15 introduces the union keyword for type unions with exhaustive pattern matching and implicit conversions. Available now in .NET 11 Preview 2.
EF Core
Core data-access features I've dug into in EF Core 10 and 11.
- EF Core 11 Adds Native SQL Server Vector Search with DiskANN Indexes EF Core 11 Preview 2 supports SQL Server 2025 VECTOR_SEARCH() and DiskANN vector indexes directly from LINQ. Here is how to set up the index, run approximate queries, and what changes from the EF Core 10 VectorDistance approach.
- EF Core 11 Prunes Unnecessary Reference Joins in Split Queries EF Core 11 Preview 3 removes redundant to-one joins from split queries and drops unneeded ORDER BY keys. One reported scenario got 29% faster, another 22%. Here is what the SQL now looks like.
- EF Core 11 turns on Cosmos DB transactional batches by default EF Core 11 groups Cosmos DB writes into transactional batches per container and partition on every SaveChanges, giving best-effort atomicity and fewer roundtrips without any code changes.
Performance and profiling
Posts that show the moving parts, not just the feature flags.
- .NET 10 Performance: SearchValues Use SearchValues in .NET 10 for high-performance multi-string searching. Replaces foreach loops with SIMD-accelerated matching using Aho-Corasick and Teddy algorithms.
- Perfetto + dotnet-trace: a practical profiling loop for .NET 9/.NET 10 A practical profiling loop for .NET 9 and .NET 10: capture traces with dotnet-trace, visualize them in Perfetto, and iterate on CPU, GC, and thread pool issues.
- Building a Microsecond-Latency Database Engine in C# Loic Baumann's Typhon project targets 1-2 microsecond ACID commits using ref structs, hardware intrinsics, and pinned memory, proving C# can compete at the systems programming level.
.NET runtime and tooling
Things that change how day-to-day .NET work feels.
- .NET 11 Runtime Async Replaces State Machines with Cleaner Stack Traces Runtime Async in .NET 11 moves async/await handling from compiler-generated state machines into the runtime itself, producing readable stack traces, correct breakpoints, and fewer heap allocations.
- ASP.NET Core 11 Ships Native OpenTelemetry Tracing: Drop the Extra NuGet Package ASP.NET Core in .NET 11 Preview 2 adds OpenTelemetry semantic attributes directly to HTTP server activity, removing the need for OpenTelemetry.Instrumentation.AspNetCore.
MAUI and Flutter
Mobile-side posts with enough detail to be actionable.
- .NET MAUI 11 Ships a Built-in LongPressGestureRecognizer .NET MAUI 11 Preview 3 adds LongPressGestureRecognizer as a first-party gesture, with duration, movement threshold, state events, and command binding, replacing the common Community Toolkit behavior.
- Pin Clustering Lands in .NET MAUI 11 Maps .NET MAUI 11 Preview 3 adds built-in pin clustering to the Map control on Android and iOS, with ClusteringIdentifier groups and a ClusterClicked event.
- Flutter Text: the `leadingDistribution` detail that changes how your UI “breathes” The leadingDistribution property in Flutter's TextHeightBehavior controls how extra leading is distributed above and below glyphs. Here is when it matters and how to fix text that looks vertically off.