Skip to content

Commit aea8f1a

Browse files
committed
Update DeflateStream compatibility doc
1 parent 1de04d6 commit aea8f1a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Documentation/compatibility/deflatestream-uses-native-apis-for-decompression.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ NotPlanned
1111

1212
### Change Description
1313

14-
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.
14+
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.
1515

1616
This change might result in some differences in behavior, which include:
1717

1818
- Exception messages may be different. However, the type of exception thrown remains the same.
19-
2019
- Some special situations, such as not having enough memory to complete an operation, may be handled differently.
20+
- There are known differences for parsing gzip header (note: only `GZipStream` set for decompression is affected):
21+
- Exceptions during parsing invalid headers may be thrown at different times.
22+
- 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.
2123

2224
- [X] Quirked
2325
- [ ] Build-time break

0 commit comments

Comments
 (0)