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

F# INTERPOLATED STRINGS GO NATIVEAOT, ORLEANS HARDENS SECURITY

By RepoJournal · Filed · About .NET

F# ships String.Concat optimization for interpolated strings that cuts reflection overhead and unlocks NativeAOT compatibility, while Orleans enforces type allow-lists to close a deserialization vulnerability.

The F# team landed a major performance win for interpolated strings by switching to String.Concat where possible, eliminating reflection and making code trimmable for NativeAOT targets [1]. This ships alongside record spreads, a language feature that lets you build new records by spreading existing ones: `{ ...r1; ...r2; E = 5 }` [2]. Over in Orleans, a breaking change enforces type allow-lists in the default JSON storage serializer to block unsafe deserialization attacks [3], paired with nullable reference type rollout across the codebase [4]. The reminders subsystem saw optimization work that defers loading distant schedules until they enter a configurable window, cutting unnecessary work [5]. On the platform side, .NET Android now applies `runtimeconfig.dev.json` files to CoreCLR debug builds, enabling Hot Reload feature switches [6], and MAUI automated inter-branch forward merges to keep release branches in sync [7]. Orleans also landed a three-silo rolling upgrade test with sustained traffic to verify distributed directory handoff works end-to-end [8].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Implement interpolated strings via String.Concat ↗ dotnet/fsharp
  2. [2] Record spreads: `{ ...expr }`, `{ ...ty }` ↗ dotnet/fsharp
  3. [3] fix(serialization)!: enforce type allow-list in default JSON storage serializer (#10268) dotnet/orleans
  4. [4] refactor: enable nullable reference types across Orleans (#10291) dotnet/orleans
  5. [5] perf(reminders): drop reminders that are not due soon (#10259) dotnet/orleans
  6. [6] Apply `*.runtimeconfig.dev.json` to CoreCLR apps ↗ dotnet/android
  7. [7] Auto-merge clean inter-branch forward merges ↗ dotnet/maui
  8. [8] fix(directory): support rolling upgrades to distributed directory (#10309) dotnet/orleans

Quick answers

What shipped in .NET on August 1, 2026?
F# ships String.Concat optimization for interpolated strings that cuts reflection overhead and unlocks NativeAOT compatibility, while Orleans enforces type allow-lists to close a deserialization vulnerability. In total, 21 commits and 22 pull requests landed.
Who contributed to .NET on August 1, 2026?
6 developers shipped this update, including charlesroddie, brianrourkeboll, PureWeen, vs-mobiletools-engineering-service2, jonathanpeppers, and Reuben Bond.
What were the notable .NET updates?
Implement interpolated strings via String.Concat, Record spreads: `{ ...expr }`, `{ ...ty }`, and fix(serialization)!: enforce type allow-list in default JSON storage serializer (#10268).

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?