Every build runs on 3.14

JP builds with 3.14 now, so the workflows do too. The lint job moves from 3.10, the
packaging build job and the release's site rebuild and PyPI build from 3.12, and the
installers from 3.10. The test matrix is untouched: it still runs every version from
3.10 up, because 3.10 is still the floor.

The installers' comment said the oldest Python was chosen on purpose, for reach. The
reach that matters on Linux comes from glibc, and that comes from the runner, so the
Linux legs stay on ubuntu-22.04 and the comment now says that. The binaries carry 3.14
from the next release; 0.9.0's were built on 3.10.

The changelog gains the 3.14 entry JP wrote in another session, plus a line for the
downloads.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jean-Pierre MartineauandClaude Opus 5 committed 2026-09-21 21:14:52 -04:00
1 parent 5b7481af8a
commit 59eccba0a0
5 files changed
+15 -7

No files matched your search

+2 -2
View File
@@ -33,7 +33,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.14"
cache: pip
cache-dependency-path: pyproject.toml
@@ -98,7 +98,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.14"
- run: pip install build twine
+1 -1
View File
@@ -243,7 +243,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.14"
- name: Rebuild the site from this release
run: |
+4 -3
View File
@@ -59,9 +59,10 @@ jobs:
- uses: actions/setup-python@v5
with:
# Oldest supported version on purpose: a binary built against an older glibc
# and an older Python runs on more machines than one built against the newest.
python-version: "3.10"
# The Python the project builds with, bundled into every binary. How widely a
# Linux binary runs is set by the runner's glibc, which is why the Linux legs
# stay on ubuntu-22.04 rather than ubuntu-latest.
python-version: "3.14"
- run: pip install . pyinstaller
+1 -1
View File
@@ -38,7 +38,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.14"
- run: pip install build twine
+7
View File
@@ -9,6 +9,13 @@ one caveat SemVer makes for a leading zero: while the major version is still `0`
## [Unreleased]
### Added
- **Python 3.14 is supported.** The full test suite passes on it, and CI now tests it on
Linux, Windows and macOS. Python 3.10 is still the oldest version MeshTerm runs on.
- **The standalone downloads are built with Python 3.14**, and carry it inside them in
place of 3.10. Nothing changes for how you run them.
### Changed
- **A type-1 node is a companion everywhere.** 0.9.0 called it three different things: