Skip to content

Releases: cool-japan/oxiquic

OxiQUIC 0.1.2 Release

11 Jun 00:15

Choose a tag to compare

[0.1.2] - 2026-06-10

Added

oxiquic-core

  • alpn module: well-known ALPN protocol byte-string constants (H3 = b"h3", HTTP_0_9 = b"hq-interop") and the alpn::protocols(&[&[u8]]) -> Vec<Vec<u8>> builder helper for constructing owned ALPN lists from byte-string slices. Re-exported from the oxiquic facade as oxiquic::alpn::{H3, HTTP_0_9, protocols}.

oxiquic-transport

  • ServerEndpointBuilder::with_alpn_protocols(&[&[u8]]) -> Self builder method: replaces alpn_protocols on the underlying rustls::ServerConfig, enabling ALPN negotiation on raw QUIC server endpoints without rebuilding the TLS config.

oxiquic (facade)

  • connect_with_alpn(addr, server_name, protocols) convenience function: like connect() but sets alpn_protocols on the client TLS config before performing the handshake.
  • listen_with_alpn(addr, cert_chain, private_key, protocols) convenience function: like listen() but injects custom alpn_protocols into the server TLS config before binding the endpoint.
  • alpn re-export module exposed at the crate root.

Testing

  • 3 new integration tests in oxiquic-transport/tests/alpn.rs: custom_alpn_roundtrip, alpn_not_set_does_not_panic, server_endpoint_builder_with_alpn_protocols
  • Total tests: 329 (unit + integration), all passing

Fixed

  • oxiquic-h3 h3_response_status_codes test: server task now calls h3_server.shutdown(0) after sending the response, so the driver task exits cleanly

Full Changelog: v0.1.1...v0.1.2

OxiQUIC 0.1.1 Release

04 Jun 13:19

Choose a tag to compare

[0.1.1] - 2026-06-04

Added

  • bench_memory_usage benchmark in oxiquic-transport: measures RSS delta per QUIC connection (1 and 10 connections) on Linux (/proc/self/status) and macOS (mach_task_self() task_info); prints a one-time per-connection kilobyte estimate alongside criterion timing data.
  • bench_h3_memory_profile benchmark in oxiquic-h3: same RSS methodology applied to HTTP/3 connections — reports per-H3-connection heap overhead and measures connection setup rate via criterion.
  • bench_h3_push_overhead benchmark in oxiquic-h3: documents server push stub latency vs an equivalent client-initiated GET; confirms the push stub path (always NotImplemented in h3 0.0.8) adds no measurable network overhead.
  • bench_h3_vs_h2_throughput benchmark in oxiquic-h3: sustained throughput comparison of H3 vs H2 at 256 KiB and 1 MiB payload sizes using criterion::Throughput::Bytes to report bytes/s; exercises flow-control and congestion-window paths.

Fixed

  • oxiquic-transport driven connection loop: io::ErrorKind::ConnectionRefused (ICMP port-unreachable, sent when the peer socket closes before a CONNECTION_CLOSE frame) is now treated as non-fatal — the loop continues instead of breaking, letting the QUIC loss-detection timer handle recovery per RFC 9000.
  • oxiquic-h3 h3_get_roundtrip integration test: server now calls h3_conn.shutdown(0) after serving the response, so the client receives CONNECTION_CLOSE and the driver task exits cleanly instead of racing against the QUIC idle-timeout.

Full Changelog: v0.1.0...v0.1.1

OxiQUIC 0.1.0 Release

01 Jun 19:51

Choose a tag to compare