RepoJournal
.NET

@dotnet

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

Pick a date

The Wire · Showcase

RUNTIME CUTS ASYNC PROFILER BLOAT, ROSLYN CLOSES TYPE METADATA GAP

By RepoJournal · Filed · About .NET

The CLR's async instrumentation just got unified under a single gate, letting the ILLinker dead-code-eliminate entire profiling paths the compiler can prove are unreachable.

The async profiler, debugger, and TPL event source have been reworked to flow through one unified instrumentation flags gate [1], shrinking the constant-fold surface for per-client support checks and unlocking aggressive dead-code elimination. This is the kind of internals polish that shows up as smaller binaries and faster startup on constrained devices. In parallel, Roslyn shipped the DerivedTypes metadata format change [2] to align with runtime issue #129009, letting the compiler properly track closed-type semantics in metadata. The iOS/tvOS minimum version bump to 13.0 also let runtime drop the gettimeofday fallback and standardize on timespec_get [3], simplifying platform abstraction. On the F# side, the compiler now emits FS0755 when CompiledName attributes land on multi-value let-bindings [4], catching a silent crash bug that was duplicating compiled names. LSP progress reporting hit Roslyn [5], so neovim and other clients can now see what's loading and how far along the solution parse is.

Action items

References

  1. [1] Async Profiler: Combine instrumentation flags usage over profiler/tpl/debugger. (#130083) dotnet/runtime
  2. [2] Set IsClosedTypeAttribute.DerivedTypes ↗ dotnet/roslyn
  3. [3] Use timespec_get on iOS/tvOS/MacCatalyst now that 13.0 is the minimum version (#130246) dotnet/runtime
  4. [4] Emit FS0755 for CompiledName on multi-value let-bindings ↗ dotnet/fsharp
  5. [5] [LSP] Add progress when loading solution and progress ↗ dotnet/roslyn

FAQ

What changed in .NET on July 7, 2026?
The CLR's async instrumentation just got unified under a single gate, letting the ILLinker dead-code-eliminate entire profiling paths the compiler can prove are unreachable.
What should .NET teams do about it?
Review async profiler changes if you ship custom instrumentation or depend on TPL event source • Update F# compiler if you use CompiledName on multi-value bindings • Monitor LSP progress reporting changes if you maintain editor integrations
Which .NET repositories shipped on July 7, 2026?
dotnet/runtime, dotnet/roslyn, dotnet/fsharp

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.