Skip to content

Commit

Permalink
[3.11] gh-112346: Document the OS byte in gzip.compress output chan…
Browse files Browse the repository at this point in the history
…ge in 3.11 (GH-120480) (#120614)
  • Loading branch information
miss-islington authored Jun 17, 2024
1 parent 35c799d commit 1b0e63c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
4 changes: 3 additions & 1 deletion Doc/library/gzip.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
15 changes: 15 additions & 0 deletions Doc/whatsnew/3.11.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 1b0e63c

Please sign in to comment.