From 3f9bfc47aa70c7ffd4b8026c4417bcaf62dca84e Mon Sep 17 00:00:00 2001 From: Matthew Horoszowski Date: Tue, 12 May 2026 10:29:55 -0400 Subject: [PATCH] chore: add Python 3.14 to CI matrix and pyproject classifiers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Python 3.14 went GA in October 2025. With the modernization phases 1-5 landed (pathlib support, UTC datetimes, collections.abc imports, Font.color non-mutation, uv-managed deps, pyright strict on public API), the codebase already runs clean on 3.14 locally — adding it to the CI matrix is the last missing surface. Changes: - .github/workflows/ci.yml: append "3.14" to the test job matrix - pyproject.toml: add 'Programming Language :: Python :: 3.14' classifier requires-python stays at >=3.9; no lower-version drop. Verification (local, CPython 3.14.4): - python3 -m pytest tests/ -q → 3485 passed in 6.56s - python3 -m ruff check src tests → All checks passed - python3 -m ruff format --check → 215 files already formatted - python3 -m behave features/ → 1048 scenarios, 0 failed; 3151 steps, 0 failed Refs #29. --- .github/workflows/ci.yml | 2 +- pyproject.toml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ecb21189..1f59861a6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v4 - name: Install uv diff --git a/pyproject.toml b/pyproject.toml index 0de43f0b8..36fbe9ce7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Office/Business :: Office Suites", "Topic :: Software Development :: Libraries", ]