The Wire · Showcase
SQLCLIENT KILLS PLATFORM-SPECIFIC BUILDS, ASPNETCORE HARDENS SIGNALR
By RepoJournal · Filed · About .NET
SqlClient unified its Windows and Unix code paths without restructuring the NuGet package, collapsing build complexity across the entire SNI layer.
The biggest move this cycle: SqlClient removes platform-specific builds by feeding the same pattern through the SNI layer and stripping out `_UNIX` and `_WINDOWS` logic [1]. This follows #4207 and clears the path to identical compiled code for both Windows and non-Windows platforms while preserving package structure. On the test infrastructure front, legacy CI pipelines now run daily instead of weekdays-only to catch health regressions faster [2], and the Kerberos pipeline moved under `ci/` with a renamed file for consistency [3]. Over on aspnetcore, the team mapped [Obsolete] attributes to OpenAPI deprecated flags across operations, schemas, and properties [4], landed a fix for JsonPatchDocument serialization that ignores the From field on add, remove, replace, and test operations [5], and hardened SignalR's stateful reconnect logic to account for recent state-machine changes [6]. Runtime also shipped fixes: BootJsonData generation now respects runtimeconfig.dev.json for Hot Reload in debug builds [8], SignedXml now compares full HMAC against full SignatureValue to close a timing-side-channel risk [9], and ARM64 improved HW_Flag_ReturnsPerElementMask support with better ConditionalSelect handling [10]. A breaking change in runtime dependencies landed from dotnet/runtime-assets [7], and wasm modeled class-init helpers as value-returning in the JIT for signature consistency [11].
One email a day. Unsubscribe in one click.
What actually shipped in .NET, written up every day — commits, pull requests, releases, and security advisories.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review SqlClient platform-specific build removal before merging to main dotnet/SqlClient [plan]
- → Update ASP.NET Core integration tests for JsonPatchDocument serialization changes dotnet/aspnetcore [plan]
- → Pull runtime dependencies update and test Hot Reload paths in debug builds dotnet/runtime [plan]
- → Monitor nightly SkillValidator builds for regressions dotnet/skills [monitor]
References
- [1] Remove platform-specific builds ↗ dotnet/SqlClient
- [2] Run legacy CI pipelines daily instead of weekdays/Thursdays ↗ dotnet/SqlClient
- [3] Move Kerberos pipeline to ci/ and rename to sqlclient-ci-kerberos-pipeline.yml ↗ dotnet/SqlClient
- [4] Map [Obsolete] attribute to deprecated in OpenAPI documents (#66355) dotnet/aspnetcore
- [5] Ignore From when serializing a JsonPatchDocument for add, remove, rep… (#64457) dotnet/aspnetcore
- [6] Harden SignalR stateful reconnect. ↗ dotnet/aspnetcore
- [7] [main] Update dependencies from dotnet/runtime-assets (#130062) dotnet/runtime
- [8] Update BootJsonData generation to account for runtimeconfig.dev.json ↗ dotnet/runtime
- [9] Compare full HMAC against full SignatureValue in SignedXml.CheckSignedInfo ↗ dotnet/runtime
- [10] Arm64: Improve support for HW_Flag_ReturnsPerElementMask ↗ dotnet/runtime
- [11] [wasm] Model class-init helper as value-returning in the JIT (#130813) dotnet/runtime