<rss version="2.0">
  <channel>
    <title>The Runtime</title>
    <link>https://the-runtime.dev</link>
    <description>Exploring technology from a .NET perspective</description>
    <language>en-GB</language>
    <item>
      <title>SignalR Authentication Refresh in .NET 11: No More Forced Reconnects on Token Expiry</title>
      <link>https://the-runtime.dev/articles/signalr-authentication-refresh-dotnet-11/</link>
      <description>.NET 11 lets SignalR clients swap in a fresh access token on a live connection instead of forcing a reconnect when the old one expires. Here's how to configure it on the server and client, and where the guardrails are.</description>
      <pubDate>Tue, 15 Sep 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/signalr-authentication-refresh-dotnet-11/</guid>
    </item>
    <item>
      <title>Extension Indexers in C# 15: Finally, this[] on Types You Don't Own</title>
      <link>https://the-runtime.dev/articles/extension-indexers-csharp-15/</link>
      <description>C# 15 rounds out extension members with indexers, letting you add this[] syntax to types you can't modify. Here's how the syntax works, how resolution is prioritised against real indexers, and where the preview feature still bites.</description>
      <pubDate>Wed, 22 Jul 2026 09:30:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/extension-indexers-csharp-15/</guid>
    </item>
    <item>
      <title>ASP.NET Core Ditches CSRF Tokens for Fetch Metadata in .NET 11</title>
      <link>https://the-runtime.dev/articles/automatic-csrf-fetch-metadata-aspnet-core-dotnet-11/</link>
      <description>.NET 11 introduces an automatic CSRF protection middleware that uses browser Fetch Metadata headers instead of tokens. It's on by default, requires no code changes, and fundamentally changes how cross-site request forgery is handled in ASP.NET Core.</description>
      <pubDate>Wed, 15 Jul 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/automatic-csrf-fetch-metadata-aspnet-core-dotnet-11/</guid>
    </item>
    <item>
      <title>ReSharper 2026.2 Brings Debugging to VS Code, Cursor, and Every Editor Microsoft Locked Out</title>
      <link>https://the-runtime.dev/articles/resharper-2026-2-debugging-lands-in-vs-code/</link>
      <description>ReSharper 2026.2 ships the most requested feature for its VS Code extension: a full debugger built on the Rider engine. With Microsoft's C# Dev Kit banned from Cursor and other editors, JetBrains now offers the only complete .NET development experience outside Visual Studio and Rider.</description>
      <pubDate>Tue, 14 Jul 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/resharper-2026-2-debugging-lands-in-vs-code/</guid>
    </item>
    <item>
      <title>The MSBuild Binlog MCP Server Turns Your AI Assistant into a Build Detective</title>
      <link>https://the-runtime.dev/articles/msbuild-binlog-mcp-server-ai-build-diagnostics/</link>
      <description>Microsoft's Binlog MCP Server exposes 38 tools that let AI assistants query MSBuild binary logs directly, turning cryptic build failures and performance bottlenecks into natural-language conversations.</description>
      <pubDate>Mon, 13 Jul 2026 14:30:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/msbuild-binlog-mcp-server-ai-build-diagnostics/</guid>
    </item>
    <item>
      <title>LINQ Finally Gets FullJoin and Tuple-Returning Overloads in .NET 11</title>
      <link>https://the-runtime.dev/articles/linq-fulljoin-tuple-overloads-dotnet-11/</link>
      <description>.NET 11 adds Enumerable.FullJoin for full outer joins and tuple-returning overloads for Join, GroupJoin, LeftJoin, and RightJoin, eliminating the result selector boilerplate that has plagued LINQ joins since 2007.</description>
      <pubDate>Sun, 12 Jul 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/linq-fulljoin-tuple-overloads-dotnet-11/</guid>
    </item>
    <item>
      <title>Closed Class Hierarchies in C# 15: Exhaustive Matching Comes to Inheritance</title>
      <link>https://the-runtime.dev/articles/closed-class-hierarchies-csharp-15/</link>
      <description>C# 15 introduces the closed modifier for class hierarchies, restricting derivation to the declaring assembly and enabling exhaustive switch expressions without a default arm. Here is how it works, how it differs from unions and sealed classes, and where it fits in domain modelling.</description>
      <pubDate>Sat, 11 Jul 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/closed-class-hierarchies-csharp-15/</guid>
    </item>
    <item>
      <title>dotnetup: The .NET SDK Version Manager That Should Have Existed Years Ago</title>
      <link>https://the-runtime.dev/articles/dotnetup-dotnet-sdk-version-manager/</link>
      <description>Microsoft is building dotnetup, an official cross-platform .NET SDK and runtime version manager inspired by rustup. Here's what it does, how it works with global.json, and why it matters for teams and CI pipelines.</description>
      <pubDate>Fri, 10 Jul 2026 09:30:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/dotnetup-dotnet-sdk-version-manager/</guid>
    </item>
    <item>
      <title>SkiaSharp 4.0 Reaches Stable with 24% Faster GPU Rendering and Animated WebP Support</title>
      <link>https://the-runtime.dev/articles/skiasharp-4-stable-gpu-performance-animated-webp/</link>
      <description>SkiaSharp 4.148.0 is the first production-ready v4 release, delivering up to 24% faster GPU rendering, animated WebP encoding via SKWebpEncoder, a legacy-free API surface, and critical lifecycle fixes. Here is what changed since Preview 1 and how to migrate.</description>
      <pubDate>Tue, 07 Jul 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/skiasharp-4-stable-gpu-performance-animated-webp/</guid>
    </item>
    <item>
      <title>Blazor SSR Finally Gets Client-Side Validation in .NET 11</title>
      <link>https://the-runtime.dev/articles/blazor-ssr-client-side-validation-dotnet-11/</link>
      <description>With .NET 11 Preview 5, Blazor SSR forms gain automatic client-side validation and a new async validation pipeline, closing the biggest gap between static rendering and interactive modes.</description>
      <pubDate>Tue, 16 Jun 2026 09:57:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/blazor-ssr-client-side-validation-dotnet-11/</guid>
    </item>
    <item>
      <title>Aspire 13.4: TypeScript AppHost Goes GA, Plus Go, Bun, and Blazor WASM Integrations</title>
      <link>https://the-runtime.dev/articles/aspire-13-4-typescript-ga-go-blazor-wasm/</link>
      <description>Aspire 13.4 lands at Build 2026 with TypeScript AppHost graduating to general availability, new hosting integrations for Go, Bun, and Blazor WebAssembly, process-backed resource commands, persistent resource lifetimes, and a stack of Kubernetes deployment improvements.</description>
      <pubDate>Wed, 03 Jun 2026 14:30:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/aspire-13-4-typescript-ga-go-blazor-wasm/</guid>
    </item>
    <item>
      <title>.NET MAUI Moves to CoreCLR: The End of the Mono Split</title>
      <link>https://the-runtime.dev/articles/maui-coreclr-runtime-unification-dotnet-11/</link>
      <description>.NET 11 Preview 4 makes CoreCLR the default runtime for MAUI on Android, iOS, and Mac Catalyst, ending the long-standing Mono/CoreCLR split and bringing tiered JIT, PGO, full diagnostics, and a path to NativeAOT on mobile.</description>
      <pubDate>Mon, 25 May 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/maui-coreclr-runtime-unification-dotnet-11/</guid>
    </item>
    <item>
      <title>C# Is Redesigning unsafe: What Safety Contracts Mean for Your Code</title>
      <link>https://the-runtime.dev/articles/csharp-unsafe-redesign-safety-contracts/</link>
      <description>C# is overhauling the unsafe keyword from a syntax gate into a formal safety contract system with propagation, suppression boundaries, and documentation requirements. Here is what changes, how it compares to Rust, and what you need to do to prepare.</description>
      <pubDate>Mon, 25 May 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/csharp-unsafe-redesign-safety-contracts/</guid>
    </item>
    <item>
      <title>Foundry Local 1.1: Running AI Models on Device in Any .NET Application</title>
      <link>https://the-runtime.dev/articles/foundry-local-on-device-ai-dotnet/</link>
      <description>Foundry Local lets you ship AI-powered .NET applications that run entirely on the user's device — no cloud, no per-token costs, no network latency. Version 1.1 adds text embeddings, live audio transcription, and broadens .NET compatibility all the way back to .NET Framework 4.6.1.</description>
      <pubDate>Thu, 14 May 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/foundry-local-on-device-ai-dotnet/</guid>
    </item>
    <item>
      <title>HTTP QUERY: The New Method That Fixes What GET and POST Got Wrong</title>
      <link>https://the-runtime.dev/articles/http-query-method-aspnet-core-dotnet-11/</link>
      <description>.NET 11 Preview 4 adds first-class support for the HTTP QUERY method -- a safe, idempotent verb that accepts request bodies. Here is how it works in ASP.NET Core, why it matters for API design, and where the ecosystem stands today.</description>
      <pubDate>Wed, 13 May 2026 09:00:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/http-query-method-aspnet-core-dotnet-11/</guid>
    </item>
    <item>
      <title>Escape Analysis in .NET 10: How the JIT Eliminates Heap Allocations Automatically</title>
      <link>https://the-runtime.dev/articles/escape-analysis-object-stack-allocation-dotnet-10/</link>
      <description>The .NET 10 JIT compiler can now prove that many objects never leave their parent method and allocate them on the stack instead of the heap, eliminating GC pressure without any code changes.</description>
      <pubDate>Tue, 12 May 2026 08:30:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/escape-analysis-object-stack-allocation-dotnet-10/</guid>
    </item>
    <item>
      <title>[PersistentState] in .NET 10: Blazor Finally Solves the Prerendering State Problem</title>
      <link>https://the-runtime.dev/articles/persistent-state-attribute-blazor-dotnet-10/</link>
      <description>.NET 10 introduces the [PersistentState] attribute, replacing dozens of lines of manual serialisation boilerplate with a single attribute. It also extends state persistence to services, enhanced navigation, and circuit reconnection.</description>
      <pubDate>Mon, 11 May 2026 09:10:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/persistent-state-attribute-blazor-dotnet-10/</guid>
    </item>
    <item>
      <title>WebSocketStream in .NET 10: Treating WebSockets Like Any Other Stream</title>
      <link>https://the-runtime.dev/articles/websocketstream-stream-api-dotnet-10/</link>
      <description>The new WebSocketStream class in .NET 10 wraps a WebSocket in a standard System.IO.Stream, eliminating the frame-management boilerplate that has plagued WebSocket code for years and unlocking the entire stream ecosystem for WebSocket transports.</description>
      <pubDate>Sun, 10 May 2026 09:10:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/websocketstream-stream-api-dotnet-10/</guid>
    </item>
    <item>
      <title>Aspire 13.3: Kubernetes Deployment with Helm, Browser Telemetry, and a CLI That Cleans Up After Itself</title>
      <link>https://the-runtime.dev/articles/aspire-13-3-kubernetes-helm-browser-telemetry/</link>
      <description>Aspire 13.3 ships native Kubernetes deployment via Helm, browser telemetry streaming, three JavaScript publishing models, and an aspire destroy command that tears down what aspire deploy created. Here is what changed and why it matters.</description>
      <pubDate>Sat, 09 May 2026 09:15:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/aspire-13-3-kubernetes-helm-browser-telemetry/</guid>
    </item>
    <item>
      <title>Global Exception Handling in ASP.NET Core with IExceptionHandler</title>
      <link>https://the-runtime.dev/articles/iexceptionhandler-global-exception-handling-aspnet-core/</link>
      <description>IExceptionHandler gives ASP.NET Core apps a structured, testable, and chainable way to handle exceptions globally — replacing hand-rolled middleware and scattered try-catch blocks with a first-class framework feature.</description>
      <pubDate>Fri, 08 May 2026 14:30:00 GMT</pubDate>
      <guid>https://the-runtime.dev/articles/iexceptionhandler-global-exception-handling-aspnet-core/</guid>
    </item>
  </channel>
</rss>