$ the-wire · showcase
MSBuild TaskAnalyzer quiets three diagnostics, Terminal Logger stops corrupting shared log events
By RepoJournal · Filed · About .NET · Composed from the cited sources · methodology
Two MSBuild changes dominate the day: a destructive read in Terminal Logger that was starving other loggers of message data, and an analyzer severity downgrade that puts build-failure decisions back in the hands of consuming repositories.
Avoid materializing lazy messages in Terminal Logger dotnet/msbuild
Terminal Logger read LazyFormattedBuildEventArgs.Message, which replaces the event's stored argument array with the formatted string as a side effect. Because that mutation is visible to every logger receiving the same event, reading it first could leave Binary Logger and others with an unresolved message; the fix avoids materializing the lazy message.
TaskAnalyzer: lower MSBuildTask0001/0009/0010 to Info and recognize directly declared IMultiThreadableTask dotnet/msbuild
MSBuildTask0001, MSBuildTask0009, and MSBuildTask0010 drop to Info severity, so consuming a newer analyzer package no longer turns diagnostics that run on every task into build failures without the repository deciding to. Task authors can also opt into multithreaded-migration analysis without applying the [MSBuildMultiThreadableTask] attribute, which until now also changed their runtime behavior.
[tests] Prevent harness window animations from starving dispatch callbacks (#26600) (#26603) dotnet/macios
The instrumented build reproduced 60 Network setup timeouts and nine pasteboard callback timeouts on both macOS Tahoe architectures, with native connections reaching Ready in milliseconds while their managed callbacks never entered. Window animations in the test harness were starving dispatch callbacks, which is why default-global dispatch probes never executed while private-queue probes did.
Surface activation-only evaluation failures dotnet/skills
Evaluation traces where a model loads the requested skill and then stops calling tools were previously scored only on quality outcome, making a host or model continuation failure look like a skill-content failure. New post-activation telemetry counts activated runs that continued with a non-skill tool or completed after skill calls, surfacing the distinction in Vally results and PR summaries.
Add AggressiveOptimization to key long-running async methods (#69287) dotnet/aspnetcore
AggressiveOptimization is now applied to key long-running async methods in ASP.NET Core, a targeted JIT hint rather than a broad tiering change.