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

$ status

wire 2026-06-27
stories 73

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

RUNTIME FIXES PODMAN BUILDS, JIT INTRINSIFIES ASYNC FACTORIES

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

dotnet build now works inside rootless podman containers after a fix for chmod failures on bind-mounted filesystems, while the JIT compiler gains direct recognition of Task and ValueTask factory methods for faster async code.

The runtime team shipped a critical fix [1] addressing a long-standing pain point for developers using rootless podman devcontainers. The issue: bind-mounted Windows folders appear root-owned to non-root container users, causing `File.SetUnixFileMode` to fail with permission errors during apphost and single-file publish operations. This blocks the entire `dotnet build` pipeline in environments like VS Code devcontainers. The fix detects chmod-hostile filesystems and skips the mode-setting step when it's not supported.

In a major performance win for async code, the JIT now intrinsifies Task and ValueTask factory methods [2], directly recognizing `Task.FromResult`, `Task.CompletedTask`, `ValueTask.FromResult`, `ValueTask.CompletedTask`, and their instantiation patterns when used in async context. This eliminates method call overhead for the most common async patterns, a substantial improvement for high-throughput code.

The runtime also landed calling-convention fixes [3] for small straddling value types on amd64, resolving corruption in generic shared code paths where struct layouts crossed the 8-byte boundary. On the WASM front [4], the browser runtime upgraded to standardized exception handling using the exnref proposal, moving away from legacy V8-specific encodings.

EF Core shipped fixes for left-join projections of non-entities [6], which now correctly materialize as null on no-match rows instead of throwing. The team also added Half type support for SQLite [7] and refactored element-type handling to be a creation-time concern [8], cleaning up deferred initialization bugs. Coverage reporting is now wired into the EF Core PR workflow [5].

On the MAUI side, the simulator install step that was timing out macOS official builds is now skipped [10], and the release merge workflow got a branch guard [9] to prevent silent failures.

Action items

References

  1. [1] Fix apphost/bundle creation failure on chmod-hostile filesystems (#129342) ↗ dotnet/runtime
  2. [2] JIT: Intrinsify Task/ValueTask factory methods ↗ dotnet/runtime
  3. [3] [mono][amd64] Fix calling-convention mismatch for small straddling vtypes in shared generics ↗ dotnet/runtime
  4. [4] [browser] WASM exception handling to use the standardized exnref ↗ dotnet/runtime
  5. [5] Generate and upload code coverage reports ↗ dotnet/efcore
  6. [6] Materialize a left-joined non-entity projection as null on no-match (#30915) ↗ dotnet/efcore
  7. [7] Add Half type support for SQLite ↗ dotnet/efcore
  8. [8] Make primitive collection element type a creation-time concern ↗ dotnet/efcore
  9. [9] Add branch guard to merge-net11-to-release workflow ↗ dotnet/maui
  10. [10] Skip simulator install in official pack pipeline ↗ dotnet/maui

Quick answers

What shipped in .NET on June 27, 2026?
dotnet build now works inside rootless podman containers after a fix for chmod failures on bind-mounted filesystems, while the JIT compiler gains direct recognition of Task and ValueTask factory methods for faster async code. In total, 36 commits and 37 pull requests landed.
Who contributed to .NET on June 27, 2026?
6 developers shipped this update, including jakobbotsch, pavelsavara, Copilot, ajcvickers, kimjaejung96, and PureWeen.
What were the notable .NET updates?
Fix apphost/bundle creation failure on chmod-hostile filesystems (#129342), JIT: Intrinsify Task/ValueTask factory methods, and [mono][amd64] Fix calling-convention mismatch for small straddling vtypes in shared generics.