The Wire · Showcase
FSharp Codegen Integrity Restored
By RepoJournal · Filed · About .NET
Two FSharp fixes land that stop runtime crashes while SqlClient pins down cert validation and benchmarks its encryption path.
FSharp shipped a fix for nested NativePtr.stackalloc that was emitting Illegal IL and throwing InvalidProgramException at load [1]. The same author also removed two always-on language feature flags, BetterExceptionPrinting and NestedCopyAndUpdate, which simplifies the compiler's feature surface [2][3]. A regression test confirms the debug-inline capture crash is fixed on main, but it warns that the SDK 10.0.400 release branch still needs the fix [4]. Meanwhile, MAUI pulled in the latest Mono.Cecil because it "fix[es]... to not corrupt pdbs" [5]. SqlClient refined ServerCertificate pin validation to match its documented exact-match semantics [6] and shipped new Always Encrypted benchmarks that also correct flawed methodology [7]. AspNetCore's test quarantine now preserves test names during secret scrubbing, preventing missed protections [8], and bumped gRPC dependencies to 2.83.0 [9].
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
- → Apply the FSharp stackalloc codegen fix to your build before shipping on .NET 10 dotnet/fsharp [immediate]
- → Upgrade to the corrected Mono.Cecil in MAUI to prevent PDB corruption dotnet/maui [immediate]
- → Verify your ServerCertificate pinning behavior matches exact-match semantics in SqlClient dotnet/SqlClient [plan]
- → Review the improved Always Encrypted benchmarks for end-to-end encryption performance dotnet/SqlClient [monitor]
References
- [1] Fix InvalidProgramException from nested NativePtr.stackalloc ↗ dotnet/fsharp
- [2] Remove always-on BetterExceptionPrinting language feature flag (#20318) dotnet/fsharp
- [3] Remove always-on language feature flag: NestedCopyAndUpdate (#20313) dotnet/fsharp
- [4] Test debug-inline capture of a local function from a nested closure ↗ dotnet/fsharp
- [5] Use the latest version of Mono.Cecil. (#37783) dotnet/maui
- [6] Fix | Perform ServerCertificate pin validation to verify with server provided cert ↗ dotnet/SqlClient
- [7] Implement performance benchmarks for Always Encrypted scenarios ↗ dotnet/SqlClient
- [8] Preserve test names in test-quarantine data ↗ dotnet/aspnetcore
- [9] Update gRPC dependencies to 2.83.0 (#68531) dotnet/aspnetcore