RepoJournal
.NET

@dotnet

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

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.

Pick a date

Topics: .NET Full archive →

The Wire · Showcase

RUNTIME STRIPS DEAD CODE, FIXES TRIMMER DATAFLOW BUGS ACROSS CODEPATH

By RepoJournal · Filed · About .NET

CoreCLR interop stubs lose obsolete target tagging while trimmer gains null-safety guards in generic-attribute processing, unblocking three years of accumulated simplification work.

The runtime shed technical debt across three fronts overnight. First, EgorBo restored stress guards on process-isolated IL tests [1], surfacing a regression where test-skip attributes silently dropped when isolation was enabled. Second, Copilot's agent removed ClassSupportsIClassX [2], a stub that unconditionally returned true and made all its call sites dead code or no-ops. Third, the same agent eliminated calli target tagging from interop stubs [3], simplifying MethodDesc and unmanaged target handling to use actual storage semantics instead of low-bit encoding tricks. On the configuration side, a generic-attribute dataflow fix [4] guards ProcessGenericArgumentDataFlow with RequiresGenericArgumentDataFlow and adds null-safety checks to prevent NREs while emitting IL2091, while a separate fix [5] restores dropped collection items when binding configuration to positional records with null constructor parameters. This was a regression in .NET 10 where PR #116677 changed JSON null handling and exposed a latent issue in BindParameter. ASP.NET forced brace-expansion to 5.0.8 [6] to fix DoS vulnerabilities affecting unbounded expansion output and exponential CPU consumption on crafted patterns, cascading through npm's dependency graph via minimatch, glob, and rimraf. BenchmarkDotNet's error mapper now converts missing references into user-actionable messages [7] and memoizes IInProcessDiagnoser.GetHandlerData per BenchmarkCase to reduce redundant calls.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Restore stress guards on process-isolated IL tests (#131769) dotnet/runtime
  2. [2] Remove ClassSupportsIClassX which always returns true (#131683) dotnet/runtime
  3. [3] Remove calli target tagging from CoreCLR interop stubs (#131642) dotnet/runtime
  4. [4] Fix custom-attribute generic argument dataflow in the trimmer ↗ dotnet/runtime
  5. [5] Fix configuration binder dropping collection items with null constructor parameters ↗ dotnet/runtime
  6. [6] [Infrastructure] Updated npm packages 2026-07-29 ↗ dotnet/aspnetcore
  7. [7] Update `MsBuildErrorMapper` ↗ dotnet/BenchmarkDotNet

Quick answers

What shipped in .NET on August 4, 2026?
CoreCLR interop stubs lose obsolete target tagging while trimmer gains null-safety guards in generic-attribute processing, unblocking three years of accumulated simplification work. In total, 39 commits and 45 pull requests landed.
Who contributed to .NET on August 4, 2026?
11 developers shipped this update, including Egor Bogatov, Copilot, copilot-swe-agent, rosebyte, dotnet-maestro[bot], NatElkins, dotnet-maestro, and abonie, and 3 more.
What were the notable .NET updates?
Restore stress guards on process-isolated IL tests (#131769), Remove ClassSupportsIClassX which always returns true (#131683), and Remove calli target tagging from CoreCLR interop stubs (#131642).

More from @dotnet

Daily updates, in your inbox

Follow .NET

Keep up with .NET in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?