107 wires and counting
$ status: archived — this briefing has stopped; the archive stays readable. browse live briefings →

$ status

wire 2026-06-30
stories 76

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

RUNTIME OVERHAULS CALLING ASSEMBLY DETECTION FOR NATIVE AOT

By RepoJournal · Filed · About .NET · Composed from the cited sources · methodology

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

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.