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 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].

One email a day. Unsubscribe in one click.

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

Quick answers

What shipped 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. In total, 38 commits and 38 pull requests landed.
Who contributed to .NET on June 30, 2026?
7 developers shipped this update, including MichalStrehovsky, alinpahontu2912, radekdoulik, Copilot, dotnet-maestro[bot], T-Gro, and kerams.
What were the notable .NET updates?
Implement `Assembly.GetCallingAssembly` for native AOT, Refactor sync/async implementations by using Adapter pattern, and [wasm] Fix interpreter crash with MethodImpl .override on PortableEntryPoints.

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?

We use privacy-friendly analytics (Google Analytics, IP-anonymized) to see which pages help readers. No ads, and we never sell your data. See our Privacy Policy.