]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Update documented minimum required zlib library version (#140116)
authorStan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Tue, 14 Oct 2025 22:16:00 +0000 (23:16 +0100)
committerGitHub <noreply@github.com>
Tue, 14 Oct 2025 22:16:00 +0000 (00:16 +0200)
Doc/library/zlib.rst
Doc/using/configure.rst
configure
configure.ac

index 6a51320df704af7f3b54c9d371ad8621f7d72466..e37be69d6a69f874cf3e8a4858159c184b4400db 100644 (file)
@@ -9,10 +9,8 @@
 
 For applications that require data compression, the functions in this module
 allow compression and decompression, using the zlib library. The zlib library
-has its own home page at https://www.zlib.net.   There are known
-incompatibilities between the Python module and versions of the zlib library
-earlier than 1.1.3; 1.1.3 has a `security vulnerability <https://zlib.net/zlib_faq.html#faq33>`_, so we recommend using
-1.1.4 or later.
+has its own home page at https://www.zlib.net.  zlib 1.2.2.1 is the minium
+supported version.
 
 zlib's functions have many options and often need to be used in a particular
 order.  This documentation doesn't attempt to cover all of the permutations;
index 01537951aebb62712e27697c35c25cf80d47677c..1f773a3a547c2b36dd1ea26bb03aed2902551b04 100644 (file)
@@ -26,28 +26,26 @@ To build optional modules:
 
 * `libbz2 <https://sourceware.org/bzip2/>`_ for the :mod:`bz2` module.
 
-* `libb2 <https://github.com/BLAKE2/libb2>`_ (:ref:`BLAKE2 <hashlib-blake2>`),
-  used by :mod:`hashlib` module.
+* `libb2 <https://github.com/BLAKE2/libb2>`_ (:ref:`BLAKE2 <hashlib-blake2>`)
+  for the :mod:`hashlib` module.
 
 * `libffi <https://sourceware.org/libffi/>`_ 3.3.0 is the recommended
   minimum version for the :mod:`ctypes` module.
 
-* ``liblzma``, for the :mod:`lzma` module.
+* ``liblzma`` for the :mod:`lzma` module.
 
 * `libmpdec <https://www.bytereef.org/mpdecimal/doc/libmpdec/>`_ 2.5.0
   for the :mod:`decimal` module.
 
-* ``libncurses`` or ``libncursesw``,
-  for the :mod:`curses` module.
+* ``libncurses`` or ``libncursesw`` for the :mod:`curses` module.
 
-* ``libpanel`` or ``libpanelw``,
-  for the :mod:`curses.panel` module.
+* ``libpanel`` or ``libpanelw`` for the :mod:`curses.panel` module.
 
 * `libreadline <https://tiswww.case.edu/php/chet/readline/rltop.html>`_ or
   `libedit <https://www.thrysoee.dk/editline/>`_
   for the :mod:`readline` module.
 
-* `libuuid <https://linux.die.net/man/3/libuuid>`_, for the :mod:`uuid` module.
+* `libuuid <https://linux.die.net/man/3/libuuid>`_ for the :mod:`uuid` module.
 
 * `OpenSSL <https://www.openssl.org/>`_ 1.1.1 is the minimum version and
   OpenSSL 3.0.18 is the recommended minimum version for the
@@ -57,7 +55,7 @@ To build optional modules:
 
 * `Tcl/Tk <https://www.tcl-lang.org/>`_ 8.5.12 for the :mod:`tkinter` module.
 
-* `zlib <https://www.zlib.net>`_ 1.1.4 is the reccomended minimum version for the
+* `zlib <https://www.zlib.net>`_ 1.2.2.1 is the minimum version for the
   :mod:`zlib` module.
 
 * `zstd <https://facebook.github.io/zstd/>`_ 1.4.5 is the minimum version for
index 211f84399064a0e7e24f9829b8ebcf94f852c2f2..9757b3419d339105588e7b66a6bf4ddd3efc030f 100755 (executable)
--- a/configure
+++ b/configure
 
 
 pkg_failed=no
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.0" >&5
-printf %s "checking for zlib >= 1.2.0... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.2.1" >&5
+printf %s "checking for zlib >= 1.2.2.1... " >&6; }
 
 if test -n "$ZLIB_CFLAGS"; then
     pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.0") 2>&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.2.1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.2.1") 2>&5
   ac_status=$?
   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.0" 2>/dev/null`
+  pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.2.1" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -21760,12 +21760,12 @@ if test -n "$ZLIB_LIBS"; then
     pkg_cv_ZLIB_LIBS="$ZLIB_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.0") 2>&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.2.1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.2.1") 2>&5
   ac_status=$?
   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.0" 2>/dev/null`
+  pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.2.1" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -21786,9 +21786,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-                ZLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "zlib >= 1.2.0" 2>&1`
+                ZLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "zlib >= 1.2.2.1" 2>&1`
         else
-                ZLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "zlib >= 1.2.0" 2>&1`
+                ZLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "zlib >= 1.2.2.1" 2>&1`
         fi
         # Put the nasty error message in config.log where it belongs
         echo "$ZLIB_PKG_ERRORS" >&5
index 35bf153a8987b216e8f215cf832c9631add044c1..f244e0b71a6cc2df6116318c498da417ae28a828 100644 (file)
@@ -5424,7 +5424,7 @@ AH_TEMPLATE([HAVE_ZLIB_COPY], [Define if the zlib library has inflateCopy])
 dnl detect zlib from Emscripten emport
 PY_CHECK_EMSCRIPTEN_PORT([ZLIB], [-sUSE_ZLIB])
 
-PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.0], [
+PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.2.1], [
   have_zlib=yes
   dnl zlib 1.2.0 (2003) added inflateCopy
   AC_DEFINE([HAVE_ZLIB_COPY], [1])