Repository navigation
0.5.0
Pre-release
Pre-release
What's Changed
SemVer Major
- Protocol Stack Refactor by @tfpauly in #165
- DataTransfer: expose snapshot and establishment report APIs publicly by @rpaulo in #189
- Move fields from Endpoint class to EndpointCommon struct by @tfpauly in #205
- SwiftQUIC: Add event for QUICPath assigned by @agnosticdev in #178
- Make the value-typed protocol options
Sendableby @rnro in #213 - Turn Endpoint into a sendable struct by @tfpauly in #240
- Make the QUIC options value types by @rnro in #257
SemVer Minor
- Define parameter to opt out of local network usage by @tfpauly in #172
- TCP: add TCP protocol configuration and options access by @rpaulo in #188
- Expose direct interface on path properties by @tfpauly in #193
- Make EndpointFlow a non-copyable struct by @tfpauly in #195
- Route writes to the protocol options through scoped calls by @rnro in #239
- Make IPv4Address/IPv6Address raw values and IPv4-mapped accessors public by @kpodosin in #243
SemVer Patch
- SwiftQUIC: PERF Reduce exclusivity checks for building outbound stream frames by @agnosticdev in #176
- SwiftQUIC: PERF: Reduce Exclusivity on the Inbound path by @agnosticdev in #174
- Update private network context storage by @tfpauly in #186
- QUIC: fix DCID reassignment on connection ID rotation by @josephnoir in #180
- Endpoint: make matchesPattern stricter about pattern types by @kpodosin in #203
- QUIC: don't prefetch a datagram batch when sending on a non-current path by @kkuk24 in #194
- Fix flakiness in testQUICConnectionIdleTracksOwedAck by @tfpauly in #207
- QUIC: fix congestion control state loss on ECN and background switches by @rpaulo in #210
- Fix stateless reset response size by @josephnoir in #187
- SwiftQUIC: ACK timer aborts with an exclusivity conflict when it sends a PMTUD probe by @agnosticdev in #208
- EndpointFlowExtension: route bridged TCP flows through user IP stack by @rpaulo in #209
- Make
FramePadding.countLeadingZeroBytesfaster by @MahdiBM in #190 - Create the header protection cryptor once per key by @rnro in #198
- Encode HKDF labels in temporary storage by @rnro in #199
- SwiftQUIC: PERF: Move CongestionControl state to a common struct by @agnosticdev in #204
- Keep retained capacity in
FrameArray.add(frames:)by @rnro in #196 - Seal and open packets through CryptoKit's span API where the OS has it by @rnro in #197
- Dispatch immediate tasks without a work item by @rnro in #200
- Sum
checksum16in 64-byte blocks with an add-with-carry chain by @rnro in #224 - Code inlining by @rnro in #192
- Store a sent packet's first stream send inline by @rnro in #201
- Fix nightly-main build: guard versioned canImport(CryptoKit) checks by @deadcaf3 in #226
- Update Swift versions and one trunk flag on CI by @finagolfin in #228
- Add Android support by @finagolfin in #222
- Fix fuzzer compilation in release builds by @tfpauly in #233
- Keep QUIC frame handlers out of
processFrame's stack frame by @rnro in #237 - TransportParameters: use NetworkDuration for ack delay parameters by @rpaulo in #235
- SwiftQUIC: PERF: Change pipeAckSamples to an InlineArray by @agnosticdev in #236
- QUIC: scale received ACK delay by the peer's ack_delay_exponent by @deadcaf3 in #214
- TransportParameters: enforce RFC 9000 decoding validation by @rpaulo in #238
- Don't drop a datagram when it can't be sent because it won't fit by @holleman in #161
- RTT: fix base RTT rollover timestamp not advancing by @rpaulo in #245
- QUIC: cap queued RETIRE_CONNECTION_ID frames by @deadcaf3 in #218
- Fix client hang when server closes during handshake by @josephnoir in #182
- Mock clock by @rnro in #191
- RTT: align base history interval boundaries to fixed steps by @rpaulo in #248
- CongestionControl: fix spurious loss recovery undo by @rpaulo in #244
- Detect incomplete IPUDPTransfer datagrams by @danielsyauqi in #251
- SwiftQUIC: PERF: Create a reusable scratch buffer to run xor operations by @agnosticdev in #253
- SwiftQUIC: PERF: Reduce Memory Layout of QUICStreamInstance by 20% by @agnosticdev in #247
- Update IPv4Address/IPv6Address string parsing by @kpodosin in #246
Other Changes
- Fuzzing: add libFuzzer targets for QUIC packet and transport parameter parsing by @rpaulo in #147
- Fix
testQUICEcho1MiBAckBundlingbuild after the handler became `Sen… by @rnro in #225 - Bump actions/cache from 4 to 6 by @dependabot[bot] in #221
- Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #220
- Bump apple/swift-nio/.github/actions/pull_request_semver_label_checker from 2.103.0 to 2.104.0 by @dependabot[bot] in #254
New Contributors
- @MahdiBM made their first contribution in #190
- @deadcaf3 made their first contribution in #226
- @finagolfin made their first contribution in #228
Full Changelog: 0.4.0...0.5.0