]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-112346: Document the OS byte in `gzip.compress` output change in 3.11 ...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 17 Jun 2024 18:01:59 +0000 (20:01 +0200)
committerGitHub <noreply@github.com>
Mon, 17 Jun 2024 18:01:59 +0000 (19:01 +0100)
Doc/library/gzip.rst
Doc/whatsnew/3.11.rst

index 5af667a17d003f5aefb1f4b7645e150ec9fa4a8b..aa2c8e717a369943f9a804e0f05e36173d555e6b 100644 (file)
@@ -190,7 +190,9 @@ The module defines the following items:
    .. versionchanged:: 3.11
       Speed is improved by compressing all data at once instead of in a
       streamed fashion. Calls with *mtime* set to ``0`` are delegated to
-      :func:`zlib.compress` for better speed.
+      :func:`zlib.compress` for better speed. In this situation the
+      output may contain a gzip header "OS" byte value other than 255
+      "unknown" as supplied by the underlying zlib implementation.
 
 .. function:: decompress(data)
 
index d79c2a29604a4acb4fce590bbc09952970260e66..37757212349e06f3165e3e82b5ee3c3c1b53804b 100644 (file)
@@ -769,6 +769,21 @@ functools
   (Contributed by Yurii Karabas in :issue:`46014`.)
 
 
+.. _whatsnew311-gzip:
+
+gzip
+----
+
+* The :func:`gzip.compress` function is now faster when used with the
+  **mtime=0** argument as it delegates the compression entirely to a single
+  :func:`zlib.compress` operation. There is one side effect of this change: The
+  gzip file header contains an "OS" byte in its header. That was traditionally
+  always set to a value of 255 representing "unknown" by the :mod:`gzip`
+  module. Now, when using :func:`~gzip.compress` with **mtime=0**, it may be
+  set to a different value by the underlying zlib C library Python was linked
+  against.
+  (See :gh:`112346` for details on the side effect.)
+
 .. _whatsnew311-hashlib:
 
 hashlib