From 89adf0fc7f0948e587c26249caf6d458b0e3bb7c Mon Sep 17 00:00:00 2001 From: Zachary Alexander <86435089+zachsplat@users.noreply.github.com> Date: Wed, 4 Nov 2026 00:08:15 +0000 Subject: [PATCH 1/2] Run the Python 3.9 Linux CI job on ubuntu-24.04 actions/setup-python has no Python 3.9 build for Ubuntu 26.04, which ubuntu-latest is moving to, so the (3.9, ubuntu-latest) leg fails at setup and fail-fast cancels the rest of the matrix. Run only that leg on ubuntu-24.04; the matrix and job names stay the same. --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 2ca433a4..42b7141f 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -6,7 +6,7 @@ on: branches: [ master ] jobs: build: - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9' && 'ubuntu-24.04' || matrix.os }} strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] From 0322a22e9e97e33863adb01e22fab69fba327f16 Mon Sep 17 00:00:00 2001 From: Zachary Alexander <86435089+zachsplat@users.noreply.github.com> Date: Wed, 4 Nov 2026 18:58:39 +0000 Subject: [PATCH 2/2] Drop Python 3.9 Per review: remove 3.9 from the CI matrix (and the ubuntu-24.04 pin it needed), from python_requires and the classifiers in setup.py, and from the tox envlist. --- .github/workflows/python.yaml | 4 ++-- setup.py | 3 +-- tox.ini | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 42b7141f..9d5e06cb 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -6,10 +6,10 @@ on: branches: [ master ] jobs: build: - runs-on: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9' && 'ubuntu-24.04' || matrix.os }} + runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] os: - ubuntu-latest - macos-latest diff --git a/setup.py b/setup.py index bb8da93d..3583b5b0 100755 --- a/setup.py +++ b/setup.py @@ -17,7 +17,6 @@ Intended Audience :: Developers Programming Language :: Python Programming Language :: Python :: 3 -Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 @@ -56,7 +55,7 @@ ] }, description="A fast and complete Python implementation of Markdown", - python_requires=">=3.9, <4", + python_requires=">=3.10, <4", extras_require=extras_require, classifiers=classifiers.strip().split("\n"), long_description="""markdown2: A fast and complete Python implementation of Markdown. diff --git a/tox.ini b/tox.ini index 815b5bd7..83b9fa9b 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py{39, 310, 311, 312, 313, py} +envlist = py{310, 311, 312, 313, py} [testenv] allowlist_externals = make