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

ROSLYN FIXES RAZOR DIRECTIVE SPANS, RUNTIME ELIMINATES DEAD GC CODE

By RepoJournal · Filed · About .NET

Roslyn's completion engine now correctly reports attribute parameter locations in Razor directives, fixing a precision bug that cascaded into performance work across webtools.

The Roslyn team closed a long-standing span computation bug where directive attributes like @bind-value:format were reported as only @bind-value, omitting the colon and parameter portion [1]. This fix extracts from a larger effort to reduce webtools dependence during completion for measurable performance gains. In parallel, the runtime team is aggressively pruning dead code paths: they deleted the unused WBF_NoBarrier_CheckNotHeapInDebug write barrier form and its associated JIT helper, which were never emitted by the garbage collector [2]. On the JIT side, folding optimizations for double not/neg operations moved earlier in the pipeline, eliminating trivially unnecessary nodes and showing measurable throughput improvements in SPMI benchmarks [4]. The cDAC work continues reshaping allocation-heavy APIs like GetHeapSegments into callback-based EnumerateHeapSegments to reduce native heap pressure [5]. ASP.NET Core shipped a critical fix to the quarantine workflow where external contributor PRs were silently filtered by DIFC integrity checks, causing re-quarantine detection to fail and tests to be incorrectly unquarantined [3].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Fix TryGetAttributeName nameLocation to include parameter name ↗ dotnet/roslyn
  2. [2] Delete unused WBF_NoBarrier_CheckNotHeapInDebug and CORINFO_HELP_ASSIGN_REF_ENSURE_NONHEAP (#128230) dotnet/runtime
  3. [3] Use deterministic pre-step for re-quarantine detection to bypass DIFC filtering ↗ dotnet/aspnetcore
  4. [4] Move the folding of double not/neg to gtFoldExpr ↗ dotnet/runtime
  5. [5] [cDAC] Reshape DacDbi API GetHeapSegments to EnumerateHeapSegments and implement in cDAC ↗ dotnet/runtime

Quick answers

What shipped in .NET on May 17, 2026?
Roslyn's completion engine now correctly reports attribute parameter locations in Razor directives, fixing a precision bug that cascaded into performance work across webtools. In total, 10 commits and 9 pull requests landed.
Who contributed to .NET on May 17, 2026?
4 developers shipped this update, including ToddGrun, wtgodbe, tannergooding, and Copilot.
What were the notable .NET updates?
Fix TryGetAttributeName nameLocation to include parameter name, Delete unused WBF_NoBarrier_CheckNotHeapInDebug and CORINFO_HELP_ASSIGN_REF_ENSURE_NONHEAP (#128230), and Use deterministic pre-step for re-quarantine detection to bypass DIFC filtering.

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?