From 49900b27d325da10664cbc09b359f35782cbe2a0 Mon Sep 17 00:00:00 2001 From: ohemorange Date: Thu, 14 Aug 2025 16:37:10 -0700 Subject: [PATCH] Update pinned oldest dependencies (#10420) This is not necessarily the absolute minimum versions/pins we could use, but it does get tests working. Fixes https://github.com/certbot/certbot/issues/10418. --------- Co-authored-by: Brad Warren --- acme/setup.py | 2 +- certbot-ci/setup.py | 2 +- certbot-dns-route53/setup.py | 2 +- tools/oldest_constraints.txt | 190 ++++++++++++++-------------- tools/pinning/oldest/pyproject.toml | 13 +- 5 files changed, 104 insertions(+), 105 deletions(-) diff --git a/acme/setup.py b/acme/setup.py index d0b5d6fb1..29ca6d28d 100644 --- a/acme/setup.py +++ b/acme/setup.py @@ -10,7 +10,7 @@ install_requires = [ # relaxed to >=24.0.0 if needed. 'PyOpenSSL>=25.0.0', 'pyrfc3339', - 'requests>=2.20.0', + 'requests>=2.25.1', ] docs_extras = [ diff --git a/certbot-ci/setup.py b/certbot-ci/setup.py index ce1ede342..0d7558a08 100644 --- a/certbot-ci/setup.py +++ b/certbot-ci/setup.py @@ -19,7 +19,7 @@ install_requires = [ 'pyyaml', # requests unvendored its dependencies in version 2.16.0 and this code relies on that for # calling `urllib3.disable_warnings`. - 'requests>=2.16.0', + 'requests>=2.25.1', 'types-python-dateutil', ] diff --git a/certbot-dns-route53/setup.py b/certbot-dns-route53/setup.py index 4cbdfa9b2..0348158f6 100644 --- a/certbot-dns-route53/setup.py +++ b/certbot-dns-route53/setup.py @@ -6,7 +6,7 @@ from setuptools import setup version = '5.0.0.dev0' install_requires = [ - 'boto3>=1.15.15', + 'boto3>=1.20.34', ] if os.environ.get('SNAP_BUILD'): diff --git a/tools/oldest_constraints.txt b/tools/oldest_constraints.txt index 3d7c84716..753fb22e8 100644 --- a/tools/oldest_constraints.txt +++ b/tools/oldest_constraints.txt @@ -1,98 +1,96 @@ # This file was generated by tools/pinning/oldest/repin.sh and can be updated using # that script. -apacheconfig==0.3.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -asn1crypto==0.24.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -astroid==3.3.11 ; python_full_version >= "3.9.2" and python_version < "3.10" -attrs==25.3.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -beautifulsoup4==4.13.4 ; python_full_version >= "3.9.2" and python_version < "3.10" -boto3==1.15.15 ; python_full_version >= "3.9.2" and python_version < "3.10" -botocore==1.18.15 ; python_full_version >= "3.9.2" and python_version < "3.10" -cachetools==5.5.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -certifi==2025.8.3 ; python_full_version >= "3.9.2" and python_version < "3.10" -cffi==1.12.3 ; python_full_version >= "3.9.2" and python_version < "3.10" -chardet==3.0.4 ; python_full_version >= "3.9.2" and python_version < "3.10" -cloudflare==2.19.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -colorama==0.4.6 ; python_full_version >= "3.9.2" and python_version < "3.10" and sys_platform == "win32" -configargparse==1.5.3 ; python_full_version >= "3.9.2" and python_version < "3.10" -configobj==5.0.6 ; python_full_version >= "3.9.2" and python_version < "3.10" -coverage==7.10.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -cryptography==43.0.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -cython==0.29.37 ; python_full_version >= "3.9.2" and python_version < "3.10" -dill==0.4.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -distlib==0.4.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -distro==1.0.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -dns-lexicon==3.15.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -dnspython==2.6.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -exceptiongroup==1.3.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -execnet==2.1.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -filelock==3.18.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -funcsigs==0.4 ; python_full_version >= "3.9.2" and python_version < "3.10" -future==1.0.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -google-api-python-client==1.6.5 ; python_full_version >= "3.9.2" and python_version < "3.10" -google-auth==2.16.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -httplib2==0.9.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -idna==2.6 ; python_full_version >= "3.9.2" and python_version < "3.10" -importlib-metadata==8.7.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -iniconfig==2.1.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -ipaddress==1.0.16 ; python_full_version >= "3.9.2" and python_version < "3.10" -isort==6.0.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -jmespath==0.10.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -josepy==2.1.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -jsonlines==4.0.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -mccabe==0.7.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -mypy-extensions==1.1.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -mypy==1.17.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -ndg-httpsclient==0.3.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -oauth2client==4.1.3 ; python_full_version >= "3.9.2" and python_version < "3.10" -packaging==25.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -parsedatetime==2.4 ; python_full_version >= "3.9.2" and python_version < "3.10" -pathspec==0.12.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -pbr==1.8.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -pip==25.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -platformdirs==4.3.8 ; python_full_version >= "3.9.2" and python_version < "3.10" -pluggy==1.6.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -ply==3.4 ; python_full_version >= "3.9.2" and python_version < "3.10" -py==1.11.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -pyasn1-modules==0.4.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -pyasn1==0.4.8 ; python_full_version >= "3.9.2" and python_version < "3.10" -pycparser==2.14 ; python_full_version >= "3.9.2" and python_version < "3.10" -pygments==2.19.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -pylint==3.3.7 ; python_full_version >= "3.9.2" and python_version < "3.10" -pyopenssl==25.0.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -pyotp==2.9.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -pyparsing==2.4.7 ; python_full_version >= "3.9.2" and python_version < "3.10" -pyrfc3339==1.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -pytest-cov==6.2.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -pytest-xdist==3.8.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -pytest==8.4.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -python-augeas==0.5.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -python-dateutil==2.9.0.post0 ; python_full_version >= "3.9.2" and python_version < "3.10" -python-digitalocean==1.11 ; python_full_version >= "3.9.2" and python_version < "3.10" -pytz==2025.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -pywin32==311 ; python_full_version >= "3.9.2" and python_version < "3.10" and sys_platform == "win32" -pyyaml==6.0.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -requests-file==2.1.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -requests==2.20.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -rsa==4.9.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -ruff==0.12.8 ; python_full_version >= "3.9.2" and python_version < "3.10" -s3transfer==0.3.7 ; python_full_version >= "3.9.2" and python_version < "3.10" -setuptools==80.9.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -six==1.11.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -soupsieve==2.7 ; python_full_version >= "3.9.2" and python_version < "3.10" -tldextract==5.3.0 ; python_full_version >= "3.9.2" and python_version < "3.10" -tomli==2.2.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -tomlkit==0.13.3 ; python_full_version >= "3.9.2" and python_version < "3.10" -tox==1.9.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -types-httplib2==0.22.0.20250622 ; python_full_version >= "3.9.2" and python_version < "3.10" -types-pyrfc3339==2.0.1.20241107 ; python_full_version >= "3.9.2" and python_version < "3.10" -types-python-dateutil==2.9.0.20250708 ; python_full_version >= "3.9.2" and python_version < "3.10" -types-pywin32==311.0.0.20250801 ; python_full_version >= "3.9.2" and python_version < "3.10" -types-requests==2.31.0.6 ; python_full_version >= "3.9.2" and python_version < "3.10" -types-setuptools==80.9.0.20250801 ; python_full_version >= "3.9.2" and python_version < "3.10" -types-urllib3==1.26.25.14 ; python_full_version >= "3.9.2" and python_version < "3.10" -typing-extensions==4.14.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -uritemplate==3.0.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -urllib3==1.24.2 ; python_full_version >= "3.9.2" and python_version < "3.10" -virtualenv==20.33.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -wheel==0.45.1 ; python_full_version >= "3.9.2" and python_version < "3.10" -zipp==3.23.0 ; python_full_version >= "3.9.2" and python_version < "3.10" +apacheconfig==0.3.2 ; python_version == "3.10" +asn1crypto==0.24.0 ; python_version == "3.10" +astroid==3.3.11 ; python_version == "3.10" +attrs==25.3.0 ; python_version == "3.10" +beautifulsoup4==4.13.4 ; python_version == "3.10" +boto3==1.20.34 ; python_version == "3.10" +botocore==1.23.34 ; python_version == "3.10" +cachetools==5.5.2 ; python_version == "3.10" +certifi==2025.8.3 ; python_version == "3.10" +cffi==1.14.1 ; python_version == "3.10" +chardet==3.0.4 ; python_version == "3.10" +cloudflare==2.19.0 ; python_version == "3.10" +colorama==0.4.6 ; (sys_platform == "win32" or platform_system == "Windows") and python_version == "3.10" +configargparse==1.5.3 ; python_version == "3.10" +configobj==5.0.6 ; python_version == "3.10" +coverage==7.10.3 ; python_version == "3.10" +cryptography==43.0.0 ; python_version == "3.10" +cython==0.29.37 ; python_version == "3.10" +dill==0.4.0 ; python_version == "3.10" +distlib==0.4.0 ; python_version == "3.10" +distro==1.0.1 ; python_version == "3.10" +dns-lexicon==3.15.1 ; python_version == "3.10" +dnspython==2.6.1 ; python_version == "3.10" +exceptiongroup==1.3.0 ; python_version == "3.10" +execnet==2.1.1 ; python_version == "3.10" +filelock==3.18.0 ; python_version == "3.10" +funcsigs==0.4 ; python_version == "3.10" +future==1.0.0 ; python_version == "3.10" +google-api-python-client==1.6.5 ; python_version == "3.10" +google-auth==2.16.0 ; python_version == "3.10" +httplib2==0.9.2 ; python_version == "3.10" +idna==2.6 ; python_version == "3.10" +iniconfig==2.1.0 ; python_version == "3.10" +ipaddress==1.0.16 ; python_version == "3.10" +isort==6.0.1 ; python_version == "3.10" +jmespath==0.10.0 ; python_version == "3.10" +josepy==2.1.0 ; python_version == "3.10" +jsonlines==4.0.0 ; python_version == "3.10" +mccabe==0.7.0 ; python_version == "3.10" +mypy-extensions==1.1.0 ; python_version == "3.10" +mypy==1.17.1 ; python_version == "3.10" +ndg-httpsclient==0.3.2 ; python_version == "3.10" +oauth2client==4.1.3 ; python_version == "3.10" +packaging==25.0 ; python_version == "3.10" +parsedatetime==2.4 ; python_version == "3.10" +pathspec==0.12.1 ; python_version == "3.10" +pbr==1.8.0 ; python_version == "3.10" +pip==25.2 ; python_version == "3.10" +platformdirs==4.3.8 ; python_version == "3.10" +pluggy==1.6.0 ; python_version == "3.10" +ply==3.4 ; python_version == "3.10" +py==1.11.0 ; python_version == "3.10" +pyasn1-modules==0.4.1 ; python_version == "3.10" +pyasn1==0.4.8 ; python_version == "3.10" +pycparser==2.14 ; python_version == "3.10" +pygments==2.19.2 ; python_version == "3.10" +pylint==3.3.8 ; python_version == "3.10" +pyopenssl==25.0.0 ; python_version == "3.10" +pyotp==2.9.0 ; python_version == "3.10" +pyparsing==2.4.7 ; python_version == "3.10" +pyrfc3339==1.0 ; python_version == "3.10" +pytest-cov==6.2.1 ; python_version == "3.10" +pytest-xdist==3.8.0 ; python_version == "3.10" +pytest==8.4.1 ; python_version == "3.10" +python-augeas==0.5.0 ; python_version == "3.10" +python-dateutil==2.9.0.post0 ; python_version == "3.10" +python-digitalocean==1.11 ; python_version == "3.10" +pytz==2025.2 ; python_version == "3.10" +pywin32==311 ; python_version == "3.10" and sys_platform == "win32" +pyyaml==6.0.2 ; python_version == "3.10" +requests-file==2.1.0 ; python_version == "3.10" +requests==2.25.1 ; python_version == "3.10" +rsa==4.9.1 ; python_version == "3.10" +ruff==0.12.8 ; python_version == "3.10" +s3transfer==0.5.2 ; python_version == "3.10" +setuptools==80.9.0 ; python_version == "3.10" +six==1.16.0 ; python_version == "3.10" +soupsieve==2.7 ; python_version == "3.10" +tldextract==5.3.0 ; python_version == "3.10" +tomli==2.2.1 ; python_version == "3.10" +tomlkit==0.13.3 ; python_version == "3.10" +tox==3.28.0 ; python_version == "3.10" +types-httplib2==0.22.0.20250622 ; python_version == "3.10" +types-pyrfc3339==2.0.1.20241107 ; python_version == "3.10" +types-python-dateutil==2.9.0.20250809 ; python_version == "3.10" +types-pywin32==311.0.0.20250809 ; python_version == "3.10" +types-requests==2.31.0.6 ; python_version == "3.10" +types-setuptools==80.9.0.20250809 ; python_version == "3.10" +types-urllib3==1.26.25.14 ; python_version == "3.10" +typing-extensions==4.14.1 ; python_version == "3.10" +uritemplate==3.0.1 ; python_version == "3.10" +urllib3==1.26.5 ; python_version == "3.10" +virtualenv==20.34.0 ; python_version == "3.10" +wheel==0.45.1 ; python_version == "3.10" diff --git a/tools/pinning/oldest/pyproject.toml b/tools/pinning/oldest/pyproject.toml index c84f52394..38510921f 100644 --- a/tools/pinning/oldest/pyproject.toml +++ b/tools/pinning/oldest/pyproject.toml @@ -54,9 +54,10 @@ acme = {path = "../../../acme", extras = ["test"]} ConfigArgParse = "1.5.3" apacheconfig = "0.3.2" asn1crypto = "0.24.0" -boto3 = "1.15.15" -botocore = "1.18.15" -cffi = "1.12.3" +# we were already ignoring debian 11 for our boto* versions; this uses the versions from ubuntu 22 +boto3 = "1.20.34" +botocore = "1.23.34" +cffi = "1.14.1" chardet = "3.0.4" cloudflare = "2.19" configobj = "5.0.6" @@ -81,9 +82,9 @@ pycparser = "2.14" pyparsing = "2.4.7" python-augeas = "0.5.0" python-digitalocean = "1.11" -requests = "2.20.0" -six = "1.11.0" -urllib3 = "1.24.2" +requests = "2.25.1" +six = "1.16.0" +urllib3 = "1.26.5" # Build dependencies # Since there doesn't appear to