Update DeflateStream compatibility doc (#591)

* Update DeflateStream compatibility doc

* fix typo

* Apply feedback
pull/639/head
Krzysztof Wicher 2018-01-03 12:20:40 -08:00 committed by GitHub
parent 1de04d65d5
commit 60d0fe307c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 2 deletions

View File

@ -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 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 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