Skip to content

SCons: Bump minimum Python version (3.8 → 3.9)#116550

Merged
Repiteo merged 1 commit intogodotengine:masterfrom
Repiteo:scons/bump-python
Feb 20, 2026
Merged

SCons: Bump minimum Python version (3.8 → 3.9)#116550
Repiteo merged 1 commit intogodotengine:masterfrom
Repiteo:scons/bump-python

Conversation

@Repiteo
Copy link
Copy Markdown
Contributor

@Repiteo Repiteo commented Feb 20, 2026

In an upcoming SCons release, Python versions 3.7 and 3.8 are slated for deprecation. They'll still function briefly, but outright removal will likely happen soon after. This is with SCons adopting a 1-year-after-EOL minimum (discussed in their Discord). Given our Python 3.8 bump was a little over a year ago, we're arguably already utilizing the same policy, so making this our new minimum isn't breaking precedent

More pertinently, we currently have 3.9 code in our repo. #113743 inadvertantly broke compatibility with .removeprefix()1, and this was never caught because the job running this script is not the same as the job running the minimum-supported python version. So if we opt to not bump versions yet, we'll have to change this file to use 3.8 syntax instead, which feels like more of a hassle

This has the added bonus of us no longer having to freeze our mypy version, as it's minimum-supported version is also 3.9! Consequently, this bumps the pre-commit hook for it to the latest version

Footnotes

  1. https://github.com/godotengine/godot/blob/0df713417b6b7f4ba077923fde624691c3f19014/tests/compatibility_test/run_compatibility_test.py#L56

@Repiteo Repiteo added this to the 4.x milestone Feb 20, 2026
@Repiteo Repiteo requested a review from a team as a code owner February 20, 2026 19:17
Copy link
Copy Markdown
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense.

I checked briefly various old Linux distros, it seems 3.9 is fine for most of them: https://pkgs.org/download/python3

  • Ubuntu 22.04 LTS: 3.10
  • Debian 11 (unofficial LTS until Q3 2026): 3.9
  • RHEL9 and equivalents: 3.9 (we already lost support for RHEL8 a while ago as it's on 3.6)

@akien-mga akien-mga modified the milestones: 4.x, 4.7 Feb 20, 2026
Copy link
Copy Markdown
Member

@Calinou Calinou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@Repiteo Repiteo merged commit 4602a81 into godotengine:master Feb 20, 2026
20 checks passed
@Repiteo Repiteo deleted the scons/bump-python branch February 20, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants