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 CUTS XML DESERIALIZATION FROM O(N^2) TO LINEAR; COMWRAPPERS LOCK CONTENTION SOLVED

By RepoJournal · Filed · About .NET

The .NET runtime shipped two critical performance fixes overnight that eliminate pathological slowdowns in XML parsing and COM interop, with changes landing across three desks.

XContainer's IXmlSerializable loader has been buffering consecutive text nodes to avoid catastrophic O(n^2) string concatenation when DataContractSerializer or IXmlSerializable.ReadXml surfaces small consecutive text nodes [1]. Separately, ComWrappers RCW identity cache now partitions into per-processor buckets instead of serializing all native-to-managed transitions behind a single ReaderWriterLockSlim, eliminating a process-wide contention point that fires on essentially every COM call [2]. On the WebAssembly front, struct alignment encoding in thunk signatures now distinguishes 16-byte boundaries from 8-byte boundaries, supporting correctly aligned struct-by-value parameters on Wasm [3]. Over in MAUI, PureWeen repaired skill-evaluation fixture failures exposed by recent changes [4]. WatsonWebserver completed a comprehensive test infrastructure migration to Touchstone, a runner-agnostic descriptor framework that consolidates 18 test suites into a single source of truth consumed identically by CLI, xUnit, and NUnit runners [5], while also refreshing dependencies and cutting releases 7.1.1 and clients 7.0.15 [6].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Buffer consecutive text nodes when loading XContainer to avoid O(n^2) ↗ dotnet/runtime
  2. [2] Partition the ComWrappers RCW cache into per-processor buckets ↗ dotnet/runtime
  3. [3] [wasm] Encode struct alignment in thunk signatures ↗ dotnet/runtime
  4. [4] Fix skill evaluation fixtures and failure reporting ↗ dotnet/maui
  5. [5] Migrate test infrastructure to Touchstone (shared source of truth + CLI/xUnit/NUnit runners) dotnet/WatsonWebserver
  6. [6] Update dependencies, harden API-route serialization tests, cut 7.1.1 / clients 7.0.15 dotnet/WatsonWebserver

Quick answers

What shipped in .NET on August 16, 2026?
The .NET runtime shipped two critical performance fixes overnight that eliminate pathological slowdowns in XML parsing and COM interop, with changes landing across three desks. In total, 10 commits and 6 pull requests landed.
Who contributed to .NET on August 16, 2026?
5 developers shipped this update, including Shane Neuville, Joel Christner, StephenMolloy, Sergio0694, and davidwrighton.
What were the notable .NET updates?
Buffer consecutive text nodes when loading XContainer to avoid O(n^2), Partition the ComWrappers RCW cache into per-processor buckets, and [wasm] Encode struct alignment in thunk signatures.

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?