Upgrading to .NET 10

#630 – October 18, 2026

the breaking changes that don't show up at compile time

Upgrading to .NET 10: The breaking changes that don't show up at compile time
10 minutes by Adrian Bailador

Both .NET 8 and .NET 9 reach end of support on November 10, 2026, leaving under three months to upgrade. Bumping the target framework takes seconds, but the real work is catching silent behavior changes: EF Core now translates collection queries differently, SQLite handles timezone offsets in a new way that can shift stored timestamps, and ASP.NET Core returns 401 instead of redirecting unauthenticated API requests. None of these announce themselves at compile time, so the upgrade needs actual testing, not just a clean build.

Build Your Own AI Application Using Prebuilt Blazor Components
sponsored by Progress Telerik

Learn how to connect AI endpoints, manage prompt flows, stream model responses, and embed advanced UI patterns—all without writing heavy custom infrastructure.

4 things hiding in the .NET 11 release notes
6 minutes by Dee Dee Walsh

Modernizing old WinForms apps is harder than it looks. Microsoft had to pull complex controls like DataGridView out of its new Fluent styling in .NET 11 RC2 because decades-old pixel layouts simply break under modern padding rules. On the security side, NuGet now lets teams block packages younger than a set number of hours, cutting exposure to supply chain attacks. New Roslyn analyzers also catch AI-generated code that looks valid but silently breaks the visual designer.

One language to rule them? LINQ, abstraction, and what's next
9 minutes by Bipin Joshi

LINQ gives .NET developers one query syntax across many data formats, but it works best when no real translation is needed. When querying databases, it bridges two genuinely different systems, and that gap causes real problems: some expressions fail to translate, and generated SQL can be inefficient. New data formats like vector databases keep introducing their own query languages, so the practical skill is knowing when to trust LINQ and when to learn the native language of the format you are actually using.

Introducing dotnetup: A toolchain manager for .NET
6 minutes by Chet Husk

Dotnetup is a new tool for managing .NET SDKs and runtimes on macOS and Linux without needing admin permissions. It lets you install, update, and run multiple versions side by side from your user account. You can track stable, preview, or nightly builds and update everything with a single command. It is currently in public preview, with CI pipeline support and Windows system installs planned for the future.

Modelling range types as first-class domain objects in .NET
20 minutes by Ricardo Groß

Storing date intervals as two separate fields scattered boundary logic across validators, queries, and tribal knowledge, making bugs easy to miss. PostgreSQL has native range types with a full set of operators, but .NET lacked a matching domain primitive. CodoMetis.ValueRanges fills that gap with six type-safe range types modeled as sealed discriminated unions, full in-memory interval algebra, and a companion EF Core package that translates the same method calls to PostgreSQL operators in SQL.

And the most popular article from the last issue was:

newsletters