RepoJournal
.NET

@dotnet

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

Pick a date

The Wire · Showcase

RUNTIME OVERHAULS CALLING ASSEMBLY DETECTION FOR NATIVE AOT

By RepoJournal · Filed · About .NET

dotnet/runtime shipped Assembly.GetCallingAssembly support for native AOT by leveraging stack trace data, marking a breaking change that unblocks a critical API gap for ahead-of-time compilation.

The runtime's new implementation [1] uses stack trace data to resolve calling assemblies in AOT scenarios, but blocks the same call under F5 debugging on CoreCLR due to stack trace unavailability. This is the breaking change you need to know about. In parallel, the team refactored sync/async implementations using the Adapter pattern [2] to simplify code paths across the runtime. On the WASM side, an interpreter crash with MethodImpl .override directives got fixed [3], unblocking virtual method remapping on PortableEntryPoints. The runtime also redesigned CallSiteFactory constructor selection [4] to eliminate unstable Array.Sort behavior, delivering deterministic multi-constructor ordering with lighter allocations. F# picked up determinism fixes [7] that close race conditions in parallel codegen, guaranteeing byte-identical Release builds with identical flags. The compiler also now detects recursive inline bindings [8] and emits clear FS3890 diagnostics instead of cascading optimizer errors, and improved implied argument names [9] for delegate captures. WinForms and MAUI continue standard codeflow updates from the VMR [5] [6].

Action items

References

  1. [1] Implement `Assembly.GetCallingAssembly` for native AOT ↗ dotnet/runtime
  2. [2] Refactor sync/async implementations by using Adapter pattern ↗ dotnet/runtime
  3. [3] [wasm] Fix interpreter crash with MethodImpl .override on PortableEntryPoints ↗ dotnet/runtime
  4. [4] Redesign `CallSiteFactory` constructor selection with stable arity ordering and parameter-aware ambiguity ↗ dotnet/runtime
  5. [5] [main] Source code updates from dotnet/dotnet ↗ dotnet/winforms
  6. [6] [main] Source code updates from dotnet/dotnet (#14666) dotnet/winforms
  7. [7] Determinism: parallel-codegen same-flags reproducibility (closes #19732) ↗ dotnet/fsharp
  8. [8] Detect recursive inline bindings and emit FS3888 diagnostic ↗ dotnet/fsharp
  9. [9] Improve implied argument names ↗ dotnet/fsharp

FAQ

What changed in .NET on June 30, 2026?
dotnet/runtime shipped Assembly.GetCallingAssembly support for native AOT by leveraging stack trace data, marking a breaking change that unblocks a critical API gap for ahead-of-time compilation.
What should .NET teams do about it?
Review Assembly.GetCallingAssembly breaking change impact if you're shipping native AOT code • Test F# determinism fix in Release builds if you rely on byte-identical output • Audit recursive inline functions for FS3890 diagnostics before next F# upgrade
Which .NET repositories shipped on June 30, 2026?
dotnet/runtime, dotnet/winforms, 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.