The Wire · Showcase
SSLSTREAM OVERHAUL LANDS WITH LEGACY ESCAPE HATCH
By RepoJournal · Filed · About .NET
Runtime ships certificate caching fix and compatibility switch as TlsSession integration matures across three critical patches.
The SslStream refactor that began with #130366 just hit a turning point. Two fixes landed simultaneously: a certificate credential caching bug on Windows [2] where client certificates supplied through ClientCertificateContext were bleeding across shared authentication contexts, and a new AppContext switch that lets applications fall back to the legacy handshake path if the new TlsSession wedge causes trouble [3]. A third cleanup tidied up TlsContext/TlsSession lifetime documentation [1]. These land as the HTTP/1.1 parser enforcement tightens; chunked response tests now correctly reject bare-LF delimiters and require CRLF framing [4]. On the Wasm side, RyuJIT cleanup continues removing unreachable NYI_WASM stubs [5]. The F# compiler shipped major infrastructure work: lazy namespace/type definition loading [6] that Rider custom module readers depend on, symbol and type highlighting in diagnostics [7], and parser recovery for unfinished abstract members [8]. Build infrastructure hardened against curl retry corruption in binlog downloads [10] and fixed Helix job chain ID computation to prevent independent jobs from merging [9]. The dotnet VMR absorbed updates from msbuild, winforms, and fsharp subscriptions [11], [12], [13].
One email a day. Unsubscribe in one click.
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. Read a past issue →
Action items
- → Review the new UseLegacySslStreamHandshake AppContext switch if you maintain TLS-heavy workloads dotnet/runtime [plan]
- → Validate chunked HTTP/1.1 response parsing in tests uses CRLF line endings dotnet/runtime [plan]
- → Pull F# compiler updates for lazy type loading and diagnostic highlighting dotnet/fsharp [monitor]
- → Verify Arcade binlog artifact downloads succeed on transient failures dotnet/arcade [monitor]
References
- [1] TlsContext/TlsSession: document lifetime, tighten AttachSocket (#131457) dotnet/runtime
- [2] Fix SslStream client certificate credential caching (#132079) dotnet/runtime
- [3] Add SslStream legacy path compatibility switch (#132210) dotnet/runtime
- [4] Use CRLF for chunked response framing test (#132124) dotnet/runtime
- [5] [Wasm RyuJIT]: Remove more unreachable NYI_WASM entries (#132170) dotnet/runtime
- [6] IL: add ILPreNamespace, make ILPreTypeDef creation lazy ↗ dotnet/fsharp
- [7] Add symbol and type highlighting to F# diagnostics ↗ dotnet/fsharp
- [8] Parser: recover on unfinished abstract members ↗ dotnet/fsharp
- [9] Job Monitor - Fix job chain ID computation ↗ dotnet/arcade
- [10] Download binlog artifacts to a file so curl retries cannot corrupt them ↗ dotnet/arcade
- [11] [main] Source code updates from dotnet/msbuild ↗ dotnet/dotnet
- [12] [main] Source code updates from dotnet/winforms ↗ dotnet/dotnet
- [13] [main] Source code updates from dotnet/fsharp ↗ dotnet/dotnet