release: 0.13.233 - #233
Merged
Merged
Conversation
ioxide.Kestrel stopped compiling on the installed SDK. .NET 11 added
System.Net.Security.TlsSession - SYSLIB5007, experimental, subject to removal -
and every file importing both that namespace and ioxide.tls now sees an
ambiguous TlsSession.
error CS0104: 'TlsSession' is an ambiguous reference between
'System.Net.Security.TlsSession' and 'ioxide.tls.TlsSession'
Neither import is droppable: the Kestrel feature reads TlsCipherSuite and the
three algorithm enums out of System.Net.Security, and the TLS tests use
SslStream from it.
The alias is per PROJECT rather than per file, because the blast radius is not
what the compiler first shows. It reported two files; aliasing those revealed
two more it had not reached - KeyAndPostureReportingTests and TruncationTests.
One ItemGroup covers every file in the project and a file added later cannot
reintroduce it.
Compile-time only, so nothing about the shipped package changes. A consumer who
imports both namespaces will meet the same ambiguity in their own code and
needs their own alias; there is nothing this side can do about that short of
renaming a public type.
Of the twelve published packages only ioxide.Kestrel was affected - the other
eleven build clean either way, as does every test project but Ioxide.Tests.Tls.
Solution builds. Tls 141 passed, 0 failed, 5 skipped, 7 pending.
Claude-Session: https://claude.ai/code/session_01A7pFfapoNSX5fm5wyiJZ4L
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Version bump across all 12 published packages,
0.13.225→0.13.233, plus the one source fix the release is blocked on.ioxideioxide.file,ioxide.httpclient,ioxide.pg,ioxide.redis,ioxide.timerioxide.http2,ioxide.http3,ioxide.nghttp2,ioxide.nghttp3,ioxide.ngtcp2ioxide.KestrelSame set as the
0.13.225release;Research/is unaffected, as before.What it ships since 0.13.225
AddIoxideTransportalongsideUseIoxide, so an app wiring throughbuilder.Serviceshas the service-collection form;UseIoxidedelegates to it, so the two cannot drift.ioxide.Kestrelwould not have builtFound while checking the bump:
maindoes not compile on the installed .NET 11 preview SDK. The BCL addedSystem.Net.Security.TlsSession—SYSLIB5007, experimental, subject to removal — and every file importing both that namespace andioxide.tlsnow sees an ambiguousTlsSession:Of the twelve packages only
ioxide.Kestrelis affected — the other eleven build clean either way — so releasing without this would publish eleven packages and fail the twelfth.Ioxide.Tests.Tlshits the same thing; no other test project does.Neither import is droppable: the Kestrel feature reads
TlsCipherSuiteand the three algorithm enums out ofSystem.Net.Security, and the TLS tests useSslStreamfrom it. So it is a using-alias:Per project rather than per file, deliberately. The compiler first reported two files; aliasing those revealed two more it had not reached (
KeyAndPostureReportingTests,TruncationTests), because it stops early. OneItemGroupcovers every file in the project, and a file added later cannot reintroduce it.Compile-time only, so nothing about the shipped packages changes. A consumer that imports both namespaces will meet the same ambiguity in its own code and needs its own alias — there is nothing this side can do about that short of renaming a public type.
Verified
Solution builds with 0 errors.
Ioxide.Tests.Tls: 141 passed, 0 failed, 5 skipped, 7 pending.🤖 Generated with Claude Code