The Wire ยท Showcase
MAC CERT STORE BREAKS PROVISIONING, MSBUILD FIXES RACE CONDITION, EFCORE TACKLES NULL MATERIALIZATION
By RepoJournal ยท Filed ยท About .NET
dotnet/performance shipped a file-backed certificate abstraction that finally lets macOS queues rotate credentials without static PFX files, while msbuild Server on Linux just fixed an intermittent race that was silently dropping successful builds.
The cert store abstraction [1] addresses a long-standing macOS limitation where the CurrentUser keychain cannot export private keys without interactive password prompts, forcing iPhone and Mac CI queues to rely entirely on hand-provisioned static PFX files that were never rotated. The new ILocalCertStore interface provides two implementations: X509LocalCertStore for Windows/Linux OS store behavior, and FileLocalCertStore for thumbprint-backed PFX persistence. This lands as the codeflow pulls continue flowing: dotnet/msbuild [2], dotnet/efcore [3], dotnet/fsharp [4], and nuget.client [5] all merged to main overnight. On the msbuild side, a critical race condition fix [7] resolves WaitAny index ordering that was causing the Server client to drop build results on Linux, leaving successful builds with exit code 1 and the final summary message lost. The same team partially reverted the NuGet RestoreTask workaround [6], letting RestoreTask follow normal TaskHost routing now that the underlying singleton leak has been contained elsewhere. EFCore shipped four fixes: nullability markers now survive GroupBy-element to-one subquery lowering [10], foreign keys to split entities no longer reference the wrong fragment table [11], case-only principal key changes propagate correctly to dependent FKs [12], and legacy snapshot migrations won't NRE when encountering old PrimitiveCollection string vectors [13]. Maui's release-readiness automation [9] now consults blessed-build sources with subscription-wiring checks, and new self-updater workflows [8] keep action pins and versions current.
Action items
- โ Review cert store abstraction for your macOS CI provisioning before next rotation cycle dotnet/performance [plan]
- โ Upgrade msbuild if running Server mode on Linux to fix silent build success drops dotnet/msbuild [immediate]
- โ Pull latest efcore to fix split entity FK references and GroupBy nullability bugs dotnet/efcore [plan]
- โ Monitor maui release-readiness automation rollout for blessed-build sourcing dotnet/maui [monitor]
References
- [1] Add file-backed cert store so CertHelper works on Mac โ dotnet/performance
- [2] [main] Source code updates from dotnet/msbuild โ dotnet/dotnet
- [3] [main] Source code updates from dotnet/efcore โ dotnet/dotnet
- [4] [main] Source code updates from dotnet/fsharp โ dotnet/dotnet
- [5] [main] Source code updates from nuget/nuget.client โ dotnet/dotnet
- [6] Partially revert #13660: remove NuGet RestoreTask transient TaskHost workaround โ dotnet/msbuild
- [7] Fix MSBuild Server client dropping build result under WaitAny race (#14172) โ dotnet/msbuild
- [8] Add gh-aw self-updater workflows (action-pin refresh + version updater) โ dotnet/maui
- [9] release-readiness: preview readiness โ blessed-build source + subscription-wiring & feed-drift checks (evolve #36268) (#36213) dotnet/maui
- [10] Make the nullability marker survive GroupBy-element to-one subquery lowering โ dotnet/efcore
- [11] Fix FK to entity-split principal referencing wrong (fragment) table โ dotnet/efcore
- [12] Propagate case-only principal string key updates to dependent FKs โ dotnet/efcore
- [13] Prevent `FindCollectionMapping` NRE on legacy string/vector snapshot mappings โ dotnet/efcore