.NET 10 Preview 3 releases and Semantic Kernel Python catches up to .NET
Ted's Tech, April 18th 2025
Howdy,
This week has seen a couple of interesting emissions from the MS teams. I’ve read about them so you don’t have to. Thanks for remaining a newsletter subscriber as I try out this new format - let me know if it works for you.
.NET 10 Preview 3 lands
Microsoft just dropped the third preview of .NET 10, the latest sneak peek at the next Long-Term Support (LTS) version due later this year. LTS releases are very important as they are quite short lived (3 years) and every .NET 8 app will have only a year to update to .NET 10 before support stops, creating a bunch of activity. They’ve been busy…
Highlights:
C# 14: Just what we’ve always wanted (!) - extension methods, which let you add static methods, instance properties, and static properties to existing types like Ruby Monkey Patching from 2014. There's also a cleaner way to handle nulls with null-conditional assignment.
ASP.NET Core & Blazor: Blazor is still going (yeah), with some improvements to manage state. Blazor WebAssembly apps now get default HttpClient response streaming for better memory usage with large responses and support for fingerprinted static assets for better caching. Plus, built-in support for Server-Sent Events (SSE) is here for real-time updates - could this finally be the end of SignalR?
.NET MAUI is still alive: MAUI devs will lament the loss of ListView, Cell and TableView as they are being deprecated. On the plus side, you get fullscreen video playback in Android WebViews and an easier way to check if location services are enabled with Geolocation.IsEnabled.
Helpful Links:
.NET Blog Announcement: https://devblogs.microsoft.com/dotnet/dotnet-10-preview-3/
InfoQ Article: https://www.infoq.com/news/2025/04/dotnet-10-preview3/
.NET 10 Release Notes (GitHub): https://github.com/dotnet/core/tree/main/release-notes/10.0
.NET Downloads: https://dotnet.microsoft.com/download/dotnet/10.0
Semantic Kernel adds MCP and Google's A2A for Python users
Microsoft's Semantic Kernel for Python just got a major upgrade, adding support for two important interoperability protocols: the Model Context Protocol (MCP) and Google's Agent-to-Agent (A2A) protocol - bringing it up to parity with the C# and .NET versions, which saw MCP capability added in March.
I’m normally super salty about this stuff, but seeing it come through first for .NET has been great, likely because they are using it for Copilot under the hood.
What does this mean?
MCP: SK can now act as both an MCP host/client and an MCP server. Think of MCP like a "USB for AI" – it standardizes how AI apps connect to external tools and data. As a host, your SK agent can easily use tools exposed by any MCP server (like those for GitHub, Slack, or custom systems). As a server, you can share your SK functions, prompts, or even entire agents with other MCP clients, like Anthropic's Claude Desktop or potentially IDEs. This makes building complex, modular AI systems much easier if that is your kind of thing.
A2A Integration: SK now also integrates with Google's A2A protocol , which is designed for communication between different AI agents. The example MS have provided shows a “travel manager” agent delegating tasks (like currency conversion or activity planning) to specialized sub-agents using A2A for discovery and routing.
Sources:
SK MCP Blog Post (Python): https://devblogs.microsoft.com/semantic-kernel/semantic-kernel-adds-model-context-protocol-mcp-support-for-python/
SK A2A Blog Post (Python): https://devblogs.microsoft.com/semantic-kernel/integrating-semantic-kernel-python-with-googles-a2a-protocol/
MCP Official Documentation: https://modelcontextprotocol.io/introduction
Google A2A Repository (with SK sample): https://github.com/google/A2A
SK Python MCP Samples: https://github.com/microsoft/semantic-kernel/tree/main/python/samples/concepts/mcp/
SK Python MCP Demos: https://github.com/microsoft/semantic-kernel/tree/main/python/samples/demos/mcp_server/
Copilot can now help with Azure SQL
Microsoft have added a load of new Copilot functionality to the Azure Portal, to basically save you a Google search or two.
You can now prompt it to help you…
Troubleshoot SQL Errors: Get help diagnosing common SQL errors (like 10928, 18456, 40613) with explanations and suggested fixes.
Optimize Performance: Identify potential bottlenecks like storage or I/O limits and get recommendations.
Simplify Configuration: Get guidance on choosing service tiers or constructing connection strings.
Manage Security: Get assistance with Transparent Data Encryption (TDE) issues or data replication problems.
Now originally they planned to allow you to use Copilot to directly write database queries in the Query editor within the Azure Portal, but it looks like they’ve decided to push this back and keep it exclusive to a future SSMS release. Seemed pretty useful.
More info:
Azure SQL Blog Announcement: https://techcommunity.microsoft.com/blog/azuresqlblog/announcing-general-availability-of-azure-sql-database-capabilities-for-microsoft/4403518
Microsoft Copilot in Azure Overview: https://learn.microsoft.com/en-us/azure/copilot/overview
Copilot in Azure with Azure SQL DB: https://aka.ms/sqlcopilot
Copilot in SSMS Session (SQL Conf 2025): https://learn.microsoft.com/en-us/shows/azure-developers-sql-conf-2025/a-developers-guide-to-using-copilot-in-ssms
Here is a video version of this post:
If there is anything you’d like to see me cover next week, send me a DM on Twitter/X at @edandersen. Cheers.