Releases: microsoft/msquic
MsQuic v2.0.4
What's Changed
There have been a number of generally infrastructure related changes. Publishing release for updated down-level test binaries.
- Backport correct signing profile to Ni by @thhous-msft in #2668
- Disable XDP Builds on release/2.0 by @nibanks in #2698
- Backport #2758 to Release/2.0 by @anrossi in #2921
- CP 2.0: Try fix Android (#2912) by @nibanks in #2930
- CP 2.0: Updated macOS Version (#2928) by @nibanks in #2931
- Backport Infra and Test Fixes to release/2.0 by @nibanks in #3086
Full Changelog: v2.0.3...v2.0.4
MsQuic v2.1.1
What's Changed Since v2.1.0
- Fix: ParameterValidation.ValidateGlobalParam Backport to v2.1 by @liveans in #2966
- Backport changes to v2.1.0 to unblock linux release by @csujedihy in #2990
- 162cb2e retry pthread create if it failes with ENOKEY (#2989)
28acf65 Build and sign arm/arm64 Onebranch pipeline for linux (#2987)
f9bba6c Fix QUIC Statistics Size Helpers (#2985)
24c1e63 Use isolated ACR for windows (#2978)
ba6aee4 Crude support for cross-arm build (#2963)
15ee06b use isolated ACR (#2974)
7c52ca5 Build Docker pipeline (#2970)
249510d fix passing ARCH to make-packages (#2952)
- 162cb2e retry pthread create if it failes with ENOKEY (#2989)
- Always creating worker threads without affinitization on error. (#3041) by @rzikm in #3042
- Update Patch Version Number by @nibanks in #3043
Full Changelog: v2.1.0...v2.1.1
Full Notes from v2.1.0
Signed Windows binaries and NuGet packages are available. Signed Linux package are also available.
Official (v1) RFC, v2 (WG-LC) and draft-29 are supported by this release.
What's Changed
With 300+ commits since v2.0, it's hard to list out everything that's changed, but below you will find some of the important changes in this release.
- Various bug fixes (#2451, #2608, #2612, #2695, #2694, #2696, #2738, #2746, #2870, #2685, #2929)
- Various minor features and API improvements (#2702, #2724, #2729, #2730, #2740, #2852, #2872, #2883, #2907, #2785, #2932, #2876, #2936)
- Block well-known reflection ports (#2613, #2675)
- Update CUBIC to rfc8312bis (#2877)
- Add Stream statistics (#2873)
- Various infra and automation improvements (many)
- Various documentation improvements (many)
- Various test improvements (many)
- CIBIR extension preview support (#2445)
- Windows XDP preview support (many)
New Contributors
- @panpur made their first contribution in #2472
- @huitema made their first contribution in #2675
- @CarnaViire made their first contribution in #2728
- @wangkun611 made their first contribution in #2837
- @zdimension made their first contribution in #2864
- @ManickaP made their first contribution in #2872
- @rzikm made their first contribution in #2884
- @msvoelker made their first contribution in #2911
- @liveans made their first contribution in #2876
Full Changelog: v2.0.3...v2.1.1
MsQuic v2.1.0
Signed Windows binaries and NuGet packages are available. Signed Linux package are also available.
Official (v1) RFC, v2 (WG-LC) and draft-29 are supported by this release.
What's Changed
With 300+ commits since v2.0, it's hard to list out everything that's changed, but below you will find some of the important changes in this release.
- Various bug fixes (#2451, #2608, #2612, #2695, #2694, #2696, #2738, #2746, #2870, #2685, #2929)
- Various minor features and API improvements (#2702, #2724, #2729, #2730, #2740, #2852, #2872, #2883, #2907, #2785, #2932, #2876, #2936)
- Block well-known reflection ports (#2613, #2675)
- Update CUBIC to rfc8312bis (#2877)
- Add Stream statistics (#2873)
- Various infra and automation improvements (many)
- Various documentation improvements (many)
- Various test improvements (many)
- CIBIR extension preview support (#2445)
- Windows XDP preview support (many)
New Contributors
- @panpur made their first contribution in #2472
- @huitema made their first contribution in #2675
- @CarnaViire made their first contribution in #2728
- @wangkun611 made their first contribution in #2837
- @zdimension made their first contribution in #2864
- @ManickaP made their first contribution in #2872
- @rzikm made their first contribution in #2884
- @msvoelker made their first contribution in #2911
- @liveans made their first contribution in #2876
Full Changelog: v2.0.3...v2.1.0
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)
MsQuic v2.0.1
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
MsQuic v2.0.0
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)
MsQuic v1.9.0
Supports version 1 and draft-29 QUIC specification versions. Full details here.
- Signed Windows and Xbox GameCore binaries available (officially supported).
- Unsigned Linux binaries available (officially supported).
- Unsigned macOS binaries available (alpha).
New Since v1.8
- Add Xbox GameCore Support (#1973, #2005, #2084)
- Adds performance counters around path changes (#1990)
- Bug Fix: Fix shutdown bug by cleaning up all sends (#1850)
- Additional connetion event documentation (#1996)
- Add UWP nuget package support (#2002)
- Improve client certificate validation (#1966)
- Support non-RSA keys in OpenSSL-CAPI abstraction (#2000)
- Bug Fix: Fix stream abort bug (#2049)
- Bug Fix: Fix connection FC handling on stream abort (#2070)
- Bug Fix: Fix rare endless loop in send path (#2082)
MsQuic v1.1.8
Supports both version 1 (draft-34) and draft-29 specification versions. Full details here.
- Linux still in "preview" support.
- Openssl still in "preview" support.
- Unsigned artifacts available below.
New Since v1.1.6
MsQuic v1.0.3
First officially supported version of MsQuic!
- Supports both version 1 (draft-33) and draft-29 specification versions.
- Linux in "preview" support.
- OpenSSL on Windows in "preview" support.
- Unsigned artifacts available below.
Full details here.
New Since v1.0.0
MsQuic v1.8.0
Supports both version 1 and draft-29 specification versions. Full details here.
- Both Windows and Linux are officially supported.
- Both Schannel and (quictls fork of) OpenSSL TLS libraries are officially supported.
- MacOS still in "alpha" support.
- Signed Windows and unsigned posix artifacts available below.
New Since v1.7
- Update OpenSSL to v1.1.1l (#1936).
- Add support for client certificates with OpenSSL (#1930).
- Bug fix for race condition around stateless operations and binding initialization (#1928).
- Bug fix for NULL pointer read in stateless retry scenario (#1951).
- Bug fix for path changes incorrectly resetting CC's bytes in flight (#1976).
- Refactor CC to support multiple algorithms (#1949).
- Various fixes for packaging automation (#1915, #1916, #1921, #1939, #1961).
- Improvements in memory calculations for posix platforms (#1928).
- Use inbox certificate validation for macOS/iOS (#1925).
- Build macOS/iOS framework bundles (#1927).
- Enable macOS core dump collection in automation (#1969).
- Xbox GameCore build support (#1947).
- Various test code fixes (#1970, #1974).