RepoJournal
.NET

@dotnet

The .NET runtime, ASP.NET, and the C# tooling

Pick a date

The Wire · Showcase

FSHARP KILLS PARALLEL COMPILATION RACE, MAUI HARDENS PREVIEW GATES

By RepoJournal · Filed · About .NET

F# shipped a critical fix for a concurrency bug that could strand provided types during parallel compilation, while MAUI tightened release-readiness automation to prevent cross-major version leaks.

The F# team closed a nasty race condition in graph-based type checking [1]. Under parallel compilation, namespace entities on provided type paths were appended non-atomically and deduplicated with a check-then-act pattern, allowing concurrent linking from multiple files to build disjoint namespace subtrees and orphan types with spurious FS0001 errors. The fix interns namespace entities and uses the same lock-free CAS design already proven for provided-type entities [2]. This is production-critical if you're running parallel builds with type providers. Meanwhile, MAUI hardened its dependency-flow and release-readiness tooling with a public-safe preview release gate [3] [4], adding cross-major version leak detection, E2E refresh logic, and hoisted candidate-PR sections to prevent preview versions from escaping into production channels. On the runtime side, a new GCHandle release-semantics fix [5] closes a weak-ordering vulnerability on ARM64 where partially initialized objects could leak through GC handle slots before initialization writes propagated. The team also optimized `string.Split(char, ...)` with 20-47% gains [6] on the single-char overload, the most common case. MAUI and the skills repo both added support for newer solution formats (slnf/slnx) [7] alongside traditional .sln files, and F# pulled in fresh Roslyn and MSBuild updates [8] [9].

Action items

References

  1. [1] Intern provided namespaces to fix parallel-compilation resolution race ↗ dotnet/fsharp
  2. [2] Intern provided namespaces to fix parallel-compilation resolution race (#20021) dotnet/fsharp
  3. [3] Add public-safe preview release readiness gate to dependency-flow skill ↗ dotnet/maui
  4. [4] Release-readiness: cross-major preview leak fix, milestone blocker, E2E refresh, and hoisted candidate-PR section ↗ dotnet/maui
  5. [5] Publish GCHandle assignments with release semantics ↗ dotnet/runtime
  6. [6] Optimize `string.Split(char, ...)` ↗ dotnet/runtime
  7. [7] Add slnf and slnx solution formats to run-tests skill ↗ dotnet/skills
  8. [8] [main] Update dependencies from dotnet/roslyn ↗ dotnet/fsharp
  9. [9] [main] Update dependencies from dotnet/msbuild ↗ dotnet/fsharp

FAQ

What changed in .NET on July 6, 2026?
F# shipped a critical fix for a concurrency bug that could strand provided types during parallel compilation, while MAUI tightened release-readiness automation to prevent cross-major version leaks.
What should .NET teams do about it?
Review and test the F# parallel compilation fix [ref:8] if you ship type providers with parallel builds • Upgrade to the ARM64 GCHandle release-semantics fix [ref:15] before shipping to weakly-ordered systems • Validate MAUI's preview release gate [ref:4] in your build pipeline and report any false positives
Which .NET repositories shipped on July 6, 2026?
dotnet/fsharp, dotnet/maui, dotnet/runtime, dotnet/skills

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.