$ cat dotnet/week/2026-08-24.log
the week in review · Aug 24 – Aug 30, 2026
MSBuild performance and analyzer work lead a quiet week
The week's substantive changes were in MSBuild performance and analyzer diagnostics, while most other repos moved routine dependency bumps.
MSBuild carried the week's real engineering weight. The task host now expands built-in metadata references, and property expansion performance improved overall [1][2]. For users, this means faster builds in projects that rely heavily on metadata expansion. Separately, new analyzer rules catch mismatched thread-affinity declarations, and the routing docs were corrected to match [3]. The rules flag errors earlier, so multi-threading mistakes surface as build diagnostics rather than runtime surprises.
F# removed two 'always-on' language feature flags: BetterExceptionPrinting and NestedCopyAndUpdate [4][5]. These were already enabled unconditionally, so the flag plumbing is gone; no source-level behavior changes for existing code, but the compiler's internal surface shrinks. A separate fix resolves an InvalidProgramException from nested NativePtr.stackalloc [6], which previously could crash code generation in that pattern.
Updates landed in MAUI and the core platform dependency flows, but most were routine bump trains. MAUI moved to the latest Mono.Cecil [7]. Roslyn and arcade dependencies rolled forward [8][9][10]. In the security area, SqlClient's ServerCertificate validation now pins to the server-provided certificate [11], and dev-proxy updated several identity and code-analysis dependencies [12][13].
On the infrastructure side, the dotnet and windowsdesktop repos accepted codeflow syncs throughout the period , and the crossgen2 fix for uppercase extensions and the SSE parser buffer limit both landed late in the week. ASP.NET Core shipped passkey endpoints and critical fixes mid-week , while test-quarantine data now preserves test names and gRPC dependencies moved to 2.83.0 [15][14].
Looking ahead, the pace suggests the ecosystem is consolidating around dependency hygiene and tooling for correctness. MSBuild's analyzer and performance work is the most user-visible improvement; if you maintain or consume MSBuild task hosts, watch for the expansion change. No major architectural shifts are on the calendar, but the F# flag removals and SqlClient cert pinning are worth folding into your next review.
References
- [1] Improve MSBuild expansion performance ↗ dotnet/msbuild
- [2] Expand built-in metadata references in the task host ↗ dotnet/msbuild
- [3] Correct MT routing docs and add analyzer rules for mismatched declarations (#14809) ↗ dotnet/msbuild
- [4] Remove always-on language feature flag: NestedCopyAndUpdate (#20313) ↗ dotnet/fsharp
- [5] Remove always-on BetterExceptionPrinting language feature flag (#20318) ↗ dotnet/fsharp
- [6] Fix InvalidProgramException from nested NativePtr.stackalloc ↗ dotnet/fsharp
- [7] Use the latest version of Mono.Cecil. (#37783) ↗ dotnet/maui
- [8] [main] Update dependencies from dotnet/roslyn ↗ dotnet/msbuild
- [9] [main] Update dependencies from dotnet/arcade, dotnet/arcade-services, dotnet/dnceng ↗ dotnet/arcade
- [10] [main] Update dependencies from dotnet/xharness ↗ dotnet/arcade
- [11] Fix | Perform ServerCertificate pin validation to verify with server provided cert ↗ dotnet/SqlClient
- [12] Bump Microsoft.IdentityModel.Protocols.OpenIdConnect and System.IdentityModel.Tokens.Jwt ↗ dotnet/dev-proxy
- [13] Bump github/codeql-action/analyze from 4.37.1 to 4.37.7 ↗ dotnet/dev-proxy
- [14] Preserve test names in test-quarantine data ↗ dotnet/aspnetcore
- [15] Update gRPC dependencies to 2.83.0 (#68531) ↗ dotnet/aspnetcore
$ ls dotnet/week/ # the briefings behind this review