From 9680991165515cf8d57fea005df3f0559b5449b7 Mon Sep 17 00:00:00 2001 From: Jens Vagelpohl Date: Tue, 17 Dec 2024 11:00:38 +0100 Subject: [PATCH 1/3] - retire Python 3.8 --- src/zope/meta/c-code/tests.yml.j2 | 2 +- src/zope/meta/shared/packages.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/zope/meta/c-code/tests.yml.j2 b/src/zope/meta/c-code/tests.yml.j2 index b9a898f..bf86b3c 100644 --- a/src/zope/meta/c-code/tests.yml.j2 +++ b/src/zope/meta/c-code/tests.yml.j2 @@ -29,7 +29,7 @@ # native support. It works, but is slow. # # Another major downside: You can't just re-run the job for one part -# of the matrix. So if there's a transient test failure that hit, say, 3.8, +# of the matrix. So if there's a transient test failure that hit, say, 3.11, # to get a clean run every version of Python runs again. That's bad. # https://github.community/t/ability-to-rerun-just-a-single-job-in-a-workflow/17234/65 diff --git a/src/zope/meta/shared/packages.py b/src/zope/meta/shared/packages.py index 1ea97e5..dd880a3 100644 --- a/src/zope/meta/shared/packages.py +++ b/src/zope/meta/shared/packages.py @@ -20,7 +20,7 @@ TYPES = ['buildout-recipe', 'c-code', 'pure-python', 'zope-product', 'toolkit'] ORG = 'zopefoundation' BASE_PATH = pathlib.Path(__file__).parent.parent -OLDEST_PYTHON_VERSION = '3.8' +OLDEST_PYTHON_VERSION = '3.9' NEWEST_PYTHON_VERSION = '3.13' FUTURE_PYTHON_VERSION = '3.14' PYPY_VERSION = '3.10' @@ -155,7 +155,7 @@ def supported_python_versions(oldest_version=OLDEST_PYTHON_VERSION, Kwargs: oldest_version (str): - The oldest supported Python version, e.g. '3.8'. + The oldest supported Python version, e.g. '3.9'. short_version (bool): Return short versions like "313" instead of "3.13". Default False. From 5f2b05ef7ee7aff2f1efc032047d227b0d631654 Mon Sep 17 00:00:00 2001 From: Jens Vagelpohl Date: Tue, 17 Dec 2024 11:03:58 +0100 Subject: [PATCH 2/3] - eat our own dog food --- .github/workflows/tests.yml | 1 - .meta.toml | 2 +- .pre-commit-config.yaml | 2 +- CHANGES.rst | 2 ++ setup.py | 3 +-- tox.ini | 1 - 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f8f824e..9bf8b91 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,7 +21,6 @@ jobs: config: # [Python version, tox env] - ["3.11", "release-check"] - - ["3.8", "py38"] - ["3.9", "py39"] - ["3.10", "py310"] - ["3.11", "py311"] diff --git a/.meta.toml b/.meta.toml index 3ce8090..2e479d7 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/pure-python [meta] template = "pure-python" -commit-id = "7565cacd" +commit-id = "96809911" [python] with-windows = false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9f06e98..92c124c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ repos: rev: v3.19.0 hooks: - id: pyupgrade - args: [--py38-plus] + args: [--py39-plus] - repo: https://github.com/isidentical/teyit rev: 0.4.3 hooks: diff --git a/CHANGES.rst b/CHANGES.rst index 0f02107..78a9fa0 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,8 @@ Change log 1.1 (unreleased) ---------------- +- Drop support for Python 3.8. + - Allow specifying a minimum supported Python version other than the previously hardcoded default of Python 3.8. diff --git a/setup.py b/setup.py index 8ccecb0..e6fa817 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,6 @@ def read(*rnames): 'License :: OSI Approved :: Zope Public License', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', @@ -75,7 +74,7 @@ def read(*rnames): 'tox', 'zest.releaser', ], - python_requires='>=3.8', + python_requires='>=3.9', include_package_data=True, zip_safe=False, extras_require={ diff --git a/tox.ini b/tox.ini index aaa7190..4fd0149 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,6 @@ minversion = 3.18 envlist = release-check lint - py38 py39 py310 py311 From 34ffaefa3d2c8c7bed87231c2a13021d21e90b61 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Wed, 18 Dec 2024 08:35:25 +0100 Subject: [PATCH 3/3] Update another place in the text. --- docs/narr.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/narr.rst b/docs/narr.rst index 0bcc435..2e82aaf 100644 --- a/docs/narr.rst +++ b/docs/narr.rst @@ -178,7 +178,7 @@ The following options are only needed one time as their values are stored in --oldest-python The oldest version of Python supported by this package. Specified as version - number, e.g. ``3.8``. This setting is optional and defaults to the lowest + number, e.g. ``3.12``. This setting is optional and defaults to the lowest Python version generally supported by zopefoundation packages. --with-docs @@ -300,7 +300,7 @@ updated. Example: " image: postgres", ] additional-config = [ - "- [\"3.8\", \"py38-slim\"]", + "- [\"3.12\", \"py312-slim\"]", ] additional-exclude = [ "- { os: windows, config: [\"pypy-3.10\", \"pypy3\"] }",