From aea8f1af63163a2cbb949287d0eb921a35b69fdf Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Mon, 18 Dec 2017 13:17:18 -0800 Subject: [PATCH 1/3] Update DeflateStream compatibility doc --- .../deflatestream-uses-native-apis-for-decompression.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md b/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md index c6b82ee2e..2be938186 100644 --- a/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md +++ b/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md @@ -11,13 +11,15 @@ NotPlanned ### Change Description -Starting with the .NET Framework 4.7.2, the implementation of decompression in the `T:System.IO.Compression.DeflateStream` class has changed to use native Windows APIs by default. Typically, this results in a substantial performance improvement. All .NET applications running on machines with versions of the .NET Framework starting with version 4.7.2 will now use the native implementation. +Starting with the .NET Framework 4.7.2, the implementation of decompression in the `T:System.IO.Compression.DeflateStream` class has changed to use native Windows APIs by default. Typically, this results in a substantial performance improvement. All .NET applications targetting .NET Framework version 4.7.2 or higher will now use the native implementation. This change might result in some differences in behavior, which include: - Exception messages may be different. However, the type of exception thrown remains the same. - - Some special situations, such as not having enough memory to complete an operation, may be handled differently. +- There are known differences for parsing gzip header (note: only `GZipStream` set for decompression is affected): + - Exceptions during parsing invalid headers may be thrown at different times. + - Native implementation enforces that values for some reserved flags inside the gzip header (i.e. [FLG](http://www.zlib.org/rfc-gzip.html#header-trailer)) are set according to specification which may cause it to throw an exception where previously invalid values were ignored. - [X] Quirked - [ ] Build-time break From e69dc636000ed9c0ccffc1c93debf5e0cba5ce37 Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Mon, 18 Dec 2017 21:02:55 -0800 Subject: [PATCH 2/3] fix typo --- .../deflatestream-uses-native-apis-for-decompression.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md b/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md index 2be938186..d479a84cd 100644 --- a/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md +++ b/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md @@ -11,7 +11,7 @@ NotPlanned ### Change Description -Starting with the .NET Framework 4.7.2, the implementation of decompression in the `T:System.IO.Compression.DeflateStream` class has changed to use native Windows APIs by default. Typically, this results in a substantial performance improvement. All .NET applications targetting .NET Framework version 4.7.2 or higher will now use the native implementation. +Starting with the .NET Framework 4.7.2, the implementation of decompression in the `T:System.IO.Compression.DeflateStream` class has changed to use native Windows APIs by default. Typically, this results in a substantial performance improvement. All .NET applications targeting .NET Framework version 4.7.2 or higher will now use the native implementation. This change might result in some differences in behavior, which include: From e4638ff3a7b1f12f2a0002756cda516cee318774 Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Wed, 3 Jan 2018 11:37:44 -0800 Subject: [PATCH 3/3] Apply feedback --- .../deflatestream-uses-native-apis-for-decompression.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md b/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md index d479a84cd..66d69a168 100644 --- a/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md +++ b/Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md @@ -11,15 +11,15 @@ NotPlanned ### Change Description -Starting with the .NET Framework 4.7.2, the implementation of decompression in the `T:System.IO.Compression.DeflateStream` class has changed to use native Windows APIs by default. Typically, this results in a substantial performance improvement. All .NET applications targeting .NET Framework version 4.7.2 or higher will now use the native implementation. +Starting with the .NET Framework 4.7.2, the implementation of decompression in the `T:System.IO.Compression.DeflateStream` class has changed to use native Windows APIs by default. Typically, this results in a substantial performance improvement. All .NET applications targeting the .NET Framework version 4.7.2 or higher use the native implementation. This change might result in some differences in behavior, which include: - Exception messages may be different. However, the type of exception thrown remains the same. - Some special situations, such as not having enough memory to complete an operation, may be handled differently. - There are known differences for parsing gzip header (note: only `GZipStream` set for decompression is affected): - - Exceptions during parsing invalid headers may be thrown at different times. - - Native implementation enforces that values for some reserved flags inside the gzip header (i.e. [FLG](http://www.zlib.org/rfc-gzip.html#header-trailer)) are set according to specification which may cause it to throw an exception where previously invalid values were ignored. + - Exceptions when parsing invalid headers may be thrown at different times. + - The native implementation enforces that values for some reserved flags inside the gzip header (i.e. [FLG](http://www.zlib.org/rfc-gzip.html#header-trailer)) are set according to the specification, which may cause it to throw an exception where previously invalid values were ignored. - [X] Quirked - [ ] Build-time break