Skip to content

Keep the Python 3.14 patchlevel pin up to date - #73039

Merged
potiuk merged 1 commit into
mainfrom
bump-python-314
Sep 12, 2026
Merged

potiuk merged 1 commit into
mainfrom
bump-python-314

Conversation

@potiuk

@potiuk potiuk commented Sep 12, 2026

Copy link
Copy Markdown
Member

scripts/ci/prek/upgrade_important_versions.py kept its own hard-coded list of the Python major/minor
versions it maintains:

ALL_PYTHON_MAJOR_MINOR_VERSIONS = ["3.10", "3.11", "3.12", "3.13"]

while global_constants.py has had all five since Python 3.14 was added in #63520 (March 2026). That PR
added "3.14": "3.14.3" to ALL_PYTHON_VERSION_TO_PATCHLEVEL_VERSION but did not touch this list, so the
bumper has never once looked at 3.14 — the pin has been frozen at 3.14.3 for roughly six months while
3.10 through 3.13 kept moving.

The list now comes from global_constants.py through the existing
read_allowed_python_major_minor_versions() helper, which the same module already uses for
DEFAULT_PYTHON_MAJOR_MINOR_VERSION_FOR_IMAGES — so the duplication had no reason to exist, and the next
Python version added to Airflow is picked up automatically rather than needing a second edit nobody
remembers to make.

The stale pin is corrected in the same change: 3.14.3 → 3.14.7, which is the latest 3.14 on
python.org.

Verification
  • read_allowed_python_major_minor_versions() returns ['3.10', '3.11', '3.12', '3.13', '3.14'].
  • ruff check clean on both files.

Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 5)

Generated-by: Claude Code (Opus 5) following the guidelines

🤖 Generated with Claude Code

https://claude.ai/code/session_01DcRW9x8n7Jor7ftsKFxQHD

The version bumper kept its own hard-coded list of Python major/minor
versions that stopped at 3.13, so it never looked at 3.14 after 3.14 was
added in #63520 and the pinned patchlevel stayed frozen at 3.14.3 while
every other version kept moving. Reading the list from global_constants
makes the next Python version added benefit automatically.

Claude-Session: https://claude.ai/code/session_01DcRW9x8n7Jor7ftsKFxQHD
@potiuk
potiuk merged commit 7fa3c6b into main Sep 12, 2026
115 of 116 checks passed
@potiuk
potiuk deleted the bump-python-314 branch September 12, 2026 18:02
@github-actions

Copy link
Copy Markdown
Contributor

Backport failed to create: v3-3-test. View the failure log Run details

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
❌ v3-3-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 7fa3c6b v3-3-test

This should apply the commit to the v3-3-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

If you don't have cherry-picker installed, see the installation guide.

potiuk added a commit that referenced this pull request Sep 12, 2026
The version bumper kept its own hard-coded list of Python major/minor
versions that stopped at 3.13, so it never looked at 3.14 after 3.14 was
added in #63520 and the pinned patchlevel stayed frozen at 3.14.3 while
every other version kept moving. Reading the list from global_constants
makes the next Python version added benefit automatically.

Claude-Session: https://claude.ai/code/session_01DcRW9x8n7Jor7ftsKFxQHD
(cherry picked from commit 7fa3c6b)
xvega pushed a commit to xvega/airflow that referenced this pull request Sep 13, 2026
The version bumper kept its own hard-coded list of Python major/minor
versions that stopped at 3.13, so it never looked at 3.14 after 3.14 was
added in apache#63520 and the pinned patchlevel stayed frozen at 3.14.3 while
every other version kept moving. Reading the list from global_constants
makes the next Python version added benefit automatically.

Claude-Session: https://claude.ai/code/session_01DcRW9x8n7Jor7ftsKFxQHD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants