Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
7 posts found #dotnet-10
What's New in MVC and Razor Pages from .NET 8 to .NET 11
Backend PART 13

What's New in MVC and Razor Pages from .NET 8 to .NET 11

With .NET 8 and 9 support ending on November 10, 2026, the target for MVC and Razor Pages apps is .NET 10. Running one project on net8.0 and net10.0, we show cookie auth returning 401 instead of 302 for API endpoints, the Minimal API form binding change, the ASP0026 warning and RazorComponentResult, plus .NET 11's MVC items and an upgrade checklist.

8 Nov 2026 10 min 4
Upgrading C# and .NET: Moving an Old Project to .NET 10
Backend PART 06

Upgrading C# and .NET: Moving an Old Project to .NET 10

Moving a .NET 6 project to .NET 10: the support calendar, how LangVersion relates to the TFM and the latest trap, pinning the SDK with global.json, reading the real CS8981 and CS9258 warnings, the silent behavior change of the field keyword and reading breaking-change pages; C# 15 gets its own post.

7 Nov 2026 10 min 21
What's New in C# 14: Extension Members, field and Null-Conditional Assignment
Backend PART 05

What's New in C# 14: Extension Members, field and Null-Conditional Assignment

C# 14 next to its C# 10 and C# 13 equivalents: null-conditional assignment skipping the right-hand side, extension properties, static extension members and extension operators, the field keyword, arrays converting to spans, nameof(List<>), lambda parameter modifiers, partial constructors/events and compound assignment operators.

7 Nov 2026 8 min 22
C# Async and .NET 9–10: Task.WhenEach, the Lock Type and Async LINQ in the Framework
Backend PART 17

C# Async and .NET 9–10: Task.WhenEach, the Lock Type and Async LINQ in the Framework

The .NET 9 Task.WhenEach that replaces the WhenAny loop and how it handles failed tasks, System.Threading.Lock recognized by the C# 13 lock statement and its limits (CS9216, CS1996, CS4007, CS9202), async LINQ moving into the framework in .NET 10, async Select, and fixing the clash with the System.Linq.Async package.

7 Nov 2026 11 min 9
LINQ and .NET 10: LeftJoin, RightJoin, Shuffle, Sequence and Async LINQ
Backend PART 17

LINQ and .NET 10: LeftJoin, RightJoin, Shuffle, Sequence and Async LINQ

LINQ in .NET 10: LeftJoin and RightJoin replacing the GroupJoin and DefaultIfEmpty pattern, the deferred Shuffle, Sequence and InfiniteSequence built on generic math, System.Linq.AsyncEnumerable in the BCL and the CS0121 clash with the System.Linq.Async package; a short look at FullJoin coming in .NET 11.

7 Nov 2026 10 min 10
C# 13–14 and .NET 9–10: OrderedDictionary, params Collections and More
Backend PART 11

C# 13–14 and .NET 9–10: OrderedDictionary, params Collections and More

Why Dictionary promises no order and .NET 9's generic OrderedDictionary, .NET 10's index-returning TryAdd/TryGetValue, PriorityQueue.Remove, allocation-free alternate lookup, C# 13 params collections and C# 14 extension members and span conversions.

7 Nov 2026 11 min 9
What's New in .NET 10: AddValidation, OpenAPI 3.1 and Server-Sent Events in ASP.NET Core
Backend PART 36

What's New in .NET 10: AddValidation, OpenAPI 3.1 and Server-Sent Events in ASP.NET Core

.NET 10 LTS brings AddValidation to minimal APIs, OpenAPI 3.1 and YAML, TypedResults.ServerSentEvents, System.Text.Json-based JSON Patch, dotnet run app.cs, C# 14 and breaking changes such as cookie auth 401/403.

4 Nov 2026 9 min 44
Blog Map