From e4e195e0259f83e2f11cd985f4138c343c53abed Mon Sep 17 00:00:00 2001 From: Cooper Ry Lees Date: Tue, 21 Oct 2025 21:02:59 -0500 Subject: [PATCH 1/2] Add inital CI for 3.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - State in pyproject that we somewhat work in 3.14 - Enable py314 tox - Add base testing action so we don't regress **Note:** We don't support some 3.14 grammar/parsing still Test: - Install in 3.14 and format something ``` MacBookPro:black cooper$ python3 -V Python 3.14.0 MacBookPro:black cooper$ python3 -m venv --upgrade-deps /tmp/tb t/mp/MacBookPro:black cooper$ /tmp/tb/bin/pip install -e . ... MacBookPro:black cooper$ time /tmp/tb/bin/black ../bandersnatch/ ../flake8-bugbear/ All done! ✨ 🍰 ✨ 134 files left unchanged. real 0m0.189s user 0m0.159s sys 0m0.036s ``` - Run linting/tests: - `/tmp/tb/bin/tox -e py314` - `/tmp/tb/bin/pre-commit run -a` - TODO: flake8 + mypy still do not pass in 3.14 - Let's do in dedicated PR later --- .github/workflows/test.yml | 2 +- pyproject.toml | 1 + tox.ini | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e4cbe736dfd..2dd1899fb61 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12.4", "3.13", "pypy-3.9"] + python-version: ["3.9", "3.10", "3.11", "3.12.4", "3.13", "3.14", "pypy-3.9"] os: [ubuntu-latest, macOS-latest, windows-latest] steps: diff --git a/pyproject.toml b/pyproject.toml index 11886e4a3c7..ed787d2422f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance", ] diff --git a/tox.ini b/tox.ini index d4450219dc0..12493c42686 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] isolated_build = true -envlist = {,ci-}py{39,310,311,312,313,py3},fuzz,run_self,generate_schema +envlist = {,ci-}py{39,310,311,312,313,314,py3},fuzz,run_self,generate_schema [testenv] setenv = From f2ca52ed7e1a1e4e3621110fbd9bd96a6f8425d9 Mon Sep 17 00:00:00 2001 From: Cooper Ry Lees Date: Tue, 21 Oct 2025 21:21:56 -0500 Subject: [PATCH 2/2] Add CHANGES.md entries --- CHANGES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index cb71e3f4ec4..2d7f8684ca8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -9,6 +9,8 @@ +- Enable base 3.14 support (#4804) + ### Stable style @@ -59,6 +61,7 @@ +- Enable 3.14 base CI (#4804) - Enhance GitHub Action `psf/black` to support the `required-version` major-version-only "stability" format when using pyproject.toml (#4770) - Improve error message for vim plugin users. It now handles independently vim version