The Wire · Showcase
MAUI and ASP.NET Core ship critical fixes
By RepoJournal · Filed · About .NET
Two landmines cleared: MAUI's Android screenshot deadlock and ASP.NET Core's chunked encoding parsing.
The .NET MAUI team fixed a deadlock in Screenshot.CaptureAsync on Android for synchronous UI-thread callers, a regression introduced when the renderer switched from synchronous Canvas rendering to asynchronous Pixel copy [1]. ASP.NET Core hardened its chunked encoding parsing to address a security issue (CVE pending) and added metrics and logging for chunked extensions [2]. The same developer, Youssef Fahmy, also fixed JsonPatch to adhere to RFC and stop dropping empty reference tokens [3]. In the runtime, MemoryCache now forbids changing an entry's size after disposal, preventing permanent total drift [4]. The SDK now resolves analyzers from the analyzers group in project.assets.json, a change that will make builds faster and more accurate [5]. Blazor Identity now uses SignalR authentication refresh for better security [6].
One email a day. Unsubscribe in one click.
Keep up with .NET in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Patch both MAUI and ASP.NET Core when these hit stable; for ASP.NET Core, prioritize the chunked encoding fix dotnet/aspnetcore [immediate]
- → Review your MAUI Screenshot.CaptureAsync usage on Android to avoid the deadlock in current builds dotnet/maui [plan]
- → Check your MemoryCache usage for post-disposal size writes that could corrupt the total size dotnet/runtime [plan]
- → Watch the analyzers resolution change in the SDK for build behavior shifts in your CI dotnet/sdk [monitor]
References
- [1] [Android] Fix Screenshot.CaptureAsync deadlock for synchronous UI-thread callers ↗ dotnet/maui
- [2] Harden chunked encoding parsing (#68465) dotnet/aspnetcore
- [3] Fix JsonPatch to not drop empty reference tokens and adhere to RFC (#68613) dotnet/aspnetcore
- [4] forbid cache entry size changes after it's disposed ↗ dotnet/runtime
- [5] Resolve analyzers from the analyzers group in project.assets.json ↗ dotnet/sdk
- [6] [Blazor] Use SignalR authentication refresh for Blazor Identity (#68663) dotnet/aspnetcore