From e1a9220d590f957cab8e486bc71d302c08fc1907 Mon Sep 17 00:00:00 2001 From: Diogo Martins Date: Sun, 13 Sep 2026 21:18:40 +0100 Subject: [PATCH 1/2] release: 0.13.233 Claude-Session: https://claude.ai/code/session_01A7pFfapoNSX5fm5wyiJZ4L --- src/clients/ioxide.file/ioxide.file.csproj | 2 +- src/clients/ioxide.httpclient/ioxide.httpclient.csproj | 2 +- src/clients/ioxide.pg/ioxide.pg.csproj | 2 +- src/clients/ioxide.redis/ioxide.redis.csproj | 2 +- src/clients/ioxide.timer/ioxide.timer.csproj | 2 +- src/ioxide/ioxide.csproj | 2 +- src/protocols/ioxide.http2/ioxide.http2.csproj | 2 +- src/protocols/ioxide.http3/ioxide.http3.csproj | 2 +- src/protocols/ioxide.nghttp2/ioxide.nghttp2.csproj | 2 +- src/protocols/ioxide.nghttp3/ioxide.nghttp3.csproj | 2 +- src/protocols/ioxide.ngtcp2/ioxide.ngtcp2.csproj | 2 +- src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/clients/ioxide.file/ioxide.file.csproj b/src/clients/ioxide.file/ioxide.file.csproj index bafeaee..b305908 100644 --- a/src/clients/ioxide.file/ioxide.file.csproj +++ b/src/clients/ioxide.file/ioxide.file.csproj @@ -8,7 +8,7 @@ ioxide.file ioxide.file - 0.13.225 + 0.13.233 MDA2AV File serving for the ioxide io_uring runtime: immutable asset snapshots with baked responses, pooled positional ring reads, atomic reloads. MIT diff --git a/src/clients/ioxide.httpclient/ioxide.httpclient.csproj b/src/clients/ioxide.httpclient/ioxide.httpclient.csproj index f82562e..6882d04 100644 --- a/src/clients/ioxide.httpclient/ioxide.httpclient.csproj +++ b/src/clients/ioxide.httpclient/ioxide.httpclient.csproj @@ -8,7 +8,7 @@ ioxide.httpclient ioxide.httpclient - 0.13.225 + 0.13.233 MDA2AV The ring-native HTTP/1.1 client for the ioxide io_uring runtime - the upstream leg between a proxy and an origin. Connections are opened on the reactor thread that will use them, so a request never crosses a thread on its way out or back, and every response resumes the awaiting handler inline on its own reactor. Includes client-side TLS (SNI, ALPN, certificate verification and client certificates for mutual TLS) for https:// origins. Depends on ioxide core alone: no protocol package, no native asset. MIT diff --git a/src/clients/ioxide.pg/ioxide.pg.csproj b/src/clients/ioxide.pg/ioxide.pg.csproj index 0b6329b..4331888 100644 --- a/src/clients/ioxide.pg/ioxide.pg.csproj +++ b/src/clients/ioxide.pg/ioxide.pg.csproj @@ -8,7 +8,7 @@ ioxide.pg ioxide.pg - 0.13.225 + 0.13.233 MDA2AV Postgres driver for the ioxide io_uring runtime: pooled ring-native connections per reactor, ring-native connect and handshake, inline completion resume. MIT diff --git a/src/clients/ioxide.redis/ioxide.redis.csproj b/src/clients/ioxide.redis/ioxide.redis.csproj index f619551..6b77a7a 100644 --- a/src/clients/ioxide.redis/ioxide.redis.csproj +++ b/src/clients/ioxide.redis/ioxide.redis.csproj @@ -8,7 +8,7 @@ ioxide.redis ioxide.redis - 0.13.225 + 0.13.233 MDA2AV Redis client for the ioxide io_uring runtime: pooled ring-native connections per reactor, full RESP2 protocol, a generic command API plus typed helpers (strings, keys, hashes, lists, sets, sorted sets, pub/sub, transactions, scripting), and pipelining. Inline completion resume. MIT diff --git a/src/clients/ioxide.timer/ioxide.timer.csproj b/src/clients/ioxide.timer/ioxide.timer.csproj index c7eed82..f592d1a 100644 --- a/src/clients/ioxide.timer/ioxide.timer.csproj +++ b/src/clients/ioxide.timer/ioxide.timer.csproj @@ -8,7 +8,7 @@ ioxide.timer ioxide.timer - 0.13.225 + 0.13.233 MDA2AV Deadlines for the ioxide io_uring runtime: waits submitted to the reactor's own ring with IORING_OP_TIMEOUT, completing inline on the reactor that owns the caller, with no timer thread and nothing allocated per wait. MIT diff --git a/src/ioxide/ioxide.csproj b/src/ioxide/ioxide.csproj index a4e69b7..d98b146 100644 --- a/src/ioxide/ioxide.csproj +++ b/src/ioxide/ioxide.csproj @@ -8,7 +8,7 @@ ioxide ioxide - 0.13.225 + 0.13.233 MDA2AV A shared-nothing io_uring runtime for .NET: one ring per reactor thread, inline completions, zero native dependencies. The engine - reactor, connection, and the IRingHost client seam. Includes TLS termination: the OpenSSL handshake driven over the ring, then kernel TLS (kTLS) transmit offload, so handlers keep writing plaintext. TLS needs OpenSSL 3 and the Linux tls module; nothing else does, and neither is loaded unless you use it. MIT diff --git a/src/protocols/ioxide.http2/ioxide.http2.csproj b/src/protocols/ioxide.http2/ioxide.http2.csproj index 5788f8c..96de3ea 100644 --- a/src/protocols/ioxide.http2/ioxide.http2.csproj +++ b/src/protocols/ioxide.http2/ioxide.http2.csproj @@ -8,7 +8,7 @@ ioxide.http2 ioxide.http2 - 0.13.225 + 0.13.233 MDA2AV Pure-C# HTTP/2 for the ioxide io_uring runtime: framing, HPACK (static and dynamic tables, Huffman) and flow control, with zero native code. Serves h2c with prior knowledge and h2 over TLS by ALPN, buffered or streamed in either direction. MIT diff --git a/src/protocols/ioxide.http3/ioxide.http3.csproj b/src/protocols/ioxide.http3/ioxide.http3.csproj index e76e569..2dc495f 100644 --- a/src/protocols/ioxide.http3/ioxide.http3.csproj +++ b/src/protocols/ioxide.http3/ioxide.http3.csproj @@ -8,7 +8,7 @@ ioxide.http3 ioxide.http3 - 0.13.225 + 0.13.233 MDA2AV Pure C# HTTP/3 for the ioxide io_uring runtime: frame parsing, QPACK (static table + Huffman) and request dispatch with zero native dependencies. Rides any QuicConnection via its stream read surface - engine-agnostic, drop-in alternative to ioxide.nghttp3. MIT diff --git a/src/protocols/ioxide.nghttp2/ioxide.nghttp2.csproj b/src/protocols/ioxide.nghttp2/ioxide.nghttp2.csproj index b660534..667ee8b 100644 --- a/src/protocols/ioxide.nghttp2/ioxide.nghttp2.csproj +++ b/src/protocols/ioxide.nghttp2/ioxide.nghttp2.csproj @@ -8,7 +8,7 @@ ioxide.nghttp2 ioxide.nghttp2 - 0.13.225 + 0.13.233 MDA2AV HTTP/2 for the ioxide io_uring runtime: framing, HPACK and flow control from nghttp2, statically linked behind a small shim with no external dependencies beyond libc. Serves HTTP/2 over any TcpConnection - h2c with prior knowledge, or h2 over TLS via ALPN. nghttp2 is sans-I/O, so ioxide keeps the ring and the loop. MIT diff --git a/src/protocols/ioxide.nghttp3/ioxide.nghttp3.csproj b/src/protocols/ioxide.nghttp3/ioxide.nghttp3.csproj index f58e7de..b6f7bff 100644 --- a/src/protocols/ioxide.nghttp3/ioxide.nghttp3.csproj +++ b/src/protocols/ioxide.nghttp3/ioxide.nghttp3.csproj @@ -8,7 +8,7 @@ ioxide.nghttp3 ioxide.nghttp3 - 0.13.225 + 0.13.233 MDA2AV HTTP/3 layer for the ioxide io_uring runtime: nghttp3 (H3 + QPACK) bundled as a single self-contained native library with no external dependencies. Rides any QuicConnection via its stream read surface - engine-agnostic, no ioxide.ngtcp2 dependency. MIT diff --git a/src/protocols/ioxide.ngtcp2/ioxide.ngtcp2.csproj b/src/protocols/ioxide.ngtcp2/ioxide.ngtcp2.csproj index 979cc7e..95a1468 100644 --- a/src/protocols/ioxide.ngtcp2/ioxide.ngtcp2.csproj +++ b/src/protocols/ioxide.ngtcp2/ioxide.ngtcp2.csproj @@ -8,7 +8,7 @@ ioxide.ngtcp2 ioxide.ngtcp2 - 0.13.225 + 0.13.233 MDA2AV QUIC engine for the ioxide io_uring runtime: ngtcp2 + picotls bundled as a single self-contained native library (only system dependency: libcrypto.so.3 / OpenSSL 3.x). Plugs into the reactor's QUIC transport via QuicConnection. Server side; engine bindings in progress. MIT diff --git a/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj b/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj index a4ff7f7..d81db7c 100644 --- a/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj +++ b/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj @@ -8,7 +8,7 @@ ioxide.Kestrel ioxide.Kestrel - 0.13.225 + 0.13.233 MDA2AV ASP.NET Core Kestrel transport backed by the ioxide io_uring runtime: one reactor (ring) per core, SO_REUSEPORT load-balanced, with Kestrel's HTTP request loop pinned to the reactor thread. Drop-in via UseIoxide(). MIT From 68b78b4a58535d652063c36b7bba211d506a5224 Mon Sep 17 00:00:00 2001 From: Diogo Martins Date: Sun, 13 Sep 2026 21:26:24 +0100 Subject: [PATCH 2/2] kestrel, tls tests: alias TlsSession, which .NET 11 made ambiguous 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 --- src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj | 9 +++++++++ tests/Ioxide.Tests.Tls/Ioxide.Tests.Tls.csproj | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj b/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj index d81db7c..055a768 100644 --- a/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj +++ b/src/serving/ioxide.Kestrel/ioxide.Kestrel.csproj @@ -28,4 +28,13 @@ + + + + + + diff --git a/tests/Ioxide.Tests.Tls/Ioxide.Tests.Tls.csproj b/tests/Ioxide.Tests.Tls/Ioxide.Tests.Tls.csproj index 0ca2927..85dfb10 100644 --- a/tests/Ioxide.Tests.Tls/Ioxide.Tests.Tls.csproj +++ b/tests/Ioxide.Tests.Tls/Ioxide.Tests.Tls.csproj @@ -14,4 +14,13 @@ + + + + + +