MsQuic v2.0.2
Signed Windows binaries and NuGet packages are available. Signed Linux package are also available.
Official (v1) RFC and draft-29 are supported by this release.
Breaking Changes
- Fix QUIC_SETTINGS across different versions (#2271)
- Remove synchronous StreamStart (#2312)
- Remove Level from SetParam/GetParam (#2322)
- Add new datagram send state enum (#2342)
- Add support for async listener stop (#2346)
- Refactor custom CID prefix (#2363)
- Make StreamReceiveComplete not fail (#2371)
Upgrade Notes
The following changes will be necessary for apps that upgrade from v1.* to v2.0:
- Remove any usage of
QUIC_STREAM_START_FLAG_ASYNC
, replacing withQUIC_STREAM_START_FLAG_NONE
if no other flags are used. If the flag was not used before, the app code must handle the call not blocking any more. - Remove all
Level
parameters passed toGetParam
orSetParam
. - Ensure the app handles
ListenerStop
not blocking any more.ListenerClose
still blocks. - No more need to check for a return code from
StreamReceiveComplete
. - QUIC_ADDRESS_FAMILY_IPV6 has been changed to be platform specific rather then always windows values. For C/C++ consumers this is only a binary breaking change. For Interop consumers, the value will change for linux and macOS.
Other Changes
- Various Linux build and packaging improvements (#2090, #2092, #2097)
- Various OpenSSL improvements and refactoring (#2098, #2083, #2111, #2154)
- Various certificate handling improvements and refactoring (#2155, #2158, #2160, #2164)
- Mirroring and OneBranch build infrastructure improvements (#2093, #2097, #2125, #2127, #2128, #2129)
- Datapath refactoring for low latency work (#2107, #2122, #2130, #2132, #2134, #2161, #2168)
- Various WAN perf improvements (#2266, #2269, #2270, #2296, #2304, #2309, #2343)
- Updates for ACK Frequency Draft-2 (#2347)
- Performance tool improvements (#2110, #2113, #2166)
- Visual Studio 2022 support (#2119)
- Interop layers for Rust and C# (#1832, #2100, #1917)
- Update OpenSSL to 1.1.1m (#2229)
- Various documentation improvements
- Added scorecard and dependabot support (#2310)
- Fix macOS datapath asserting in an initialization race (#2398)
- Add QUIC_STATISTICS_V2 parameter (#2386)
Changes since v2.0.0
- Infrastructure and automation fixes
- Fix for kqueue shared EC (#2510)
- Extra Protection Around Stream Send Queue (#2477)
- Fix for FC issue with small streams (#2555)
Changes since v2.0.1
- Fix for stream shutdown cleanup bug (#2591)