Skip to content

build: support Python 3.15 - #65750

Open
MikeMcC399 wants to merge 1 commit into
nodejs:mainfrom
MikeMcC399:build/python-3.15
Open

MikeMcC399 wants to merge 1 commit into
nodejs:mainfrom
MikeMcC399:build/python-3.15

Conversation

@MikeMcC399

@MikeMcC399 MikeMcC399 commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor

Situation

The Python list of supported versions includes Python 3.15 with planned first release date 2026-10-01 moved to 2026-10-09 (see PEP 790).

Node.js defines which versions of Python are supported in the configure script which covers Python 3.10 - 3.14, and currently excludes Python 3.15 for use in building and testing, since it is not yet explicitly listed under acceptable_versions.

Change

Add Python 3.15 to:

acceptable_versions is spread over multiple lines to ease future backporting. Adding / removing versions can then be done independently without replacing the whole line. This will however need to be backported once manually before it becomes a benefit. For background see #60874 (comment).

Replace Python 3.14 with Python 3.15 in GitHub Actions workflows.

See Python 3.15 - what's new

Note

Windows configurations for automated installation should be separately updated after this PR has landed.

This change does not materially affect the Python versions used in Jenkins, which are determined by each OS' setup. Running in Jenkins only checks that the addition of Python 3.15 didn't prevent any of the existing lower versions from running.

@MikeMcC399 MikeMcC399 added the blocked PRs that are blocked by other issues or PRs. label Sep 2, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/actions
  • @nodejs/security-wg

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. labels Sep 2, 2026
@MikeMcC399

This comment was marked as outdated.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review September 2, 2026 20:04
@MikeMcC399

This comment was marked as outdated.

@MikeMcC399

Copy link
Copy Markdown
Contributor Author

Currently Node.js allows the following, so a manual backport will be needed for 24.x & 22.x to avoid overwriting and dropping the lower versions, which need to be preserved:

Node.js branch Python versions
main 3.10 - 3.14
26.x 3.10 - 3.14
24.x 3.9 - 3.14
22.x 3.8 - 3.14

@codecov

codecov Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.40%. Comparing base (88ec314) to head (33f0601).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #65750   +/-   ##
=======================================
  Coverage   90.40%   90.40%           
=======================================
  Files         791      791           
  Lines      275991   275991           
  Branches    52984    52977    -7     
=======================================
+ Hits       249500   249502    +2     
- Misses      16907    16908    +1     
+ Partials     9584     9581    -3     

see 33 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@MikeMcC399 MikeMcC399 added the python PRs and issues that require attention from people who are familiar with Python. label Sep 3, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@gurgunday gurgunday left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

nodejs-github-bot pushed a commit that referenced this pull request Sep 8, 2026
Exclude Python pre-release versions

Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
PR-URL: #65850
Fixes: #65599
Refs: #65750
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
@MikeMcC399 MikeMcC399 self-assigned this Sep 15, 2026
aduh95 pushed a commit that referenced this pull request Sep 16, 2026
Exclude Python pre-release versions

Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
PR-URL: #65850
Fixes: #65599
Refs: #65750
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
@MikeMcC399

Copy link
Copy Markdown
Contributor Author

https://www.python.org/downloads/ does not yet offer Python 3.15 for download. There was no 3.15 release on the planned date 2026-10-01. No new planned date has been published so far.

I will continue to monitor the 3.15 release.

There was however an EOL transition of Python 3.10 on 2026-10-01 . I plan to submit a PR to drop support for Python 3.10 in time for the upcoming Node.js 27 release. As in the past, this should not be backported to existing supported release lines. I'm holding back on this right now because submitting it whilst the PR for 3.15 is still pending will cause conflicts, and dropping the support for 3.10 is not urgently needed.

@richardlau

Copy link
Copy Markdown
Member

python/peps#5160 has just pushed the release back another week.

@MikeMcC399

MikeMcC399 commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor Author
  • When Python 3.15.0rc3 has been set up for download by github.com/actions/python-versions
  • I plan to rebase to re-test with 3.15.0rc3.
  • PEP 790 shows the new expected 3.15.0 final: Friday, 2026-10-09 as available
  • I would expect it would be available from github.com/actions/python-versions on the following next working day, which would be Monday, 2026-10-12, since GitHub has to approve manually and release.
  • Unblock PR after final 3.15 release availability and CI tests

Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
@MikeMcC399

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked PRs that are blocked by other issues or PRs. build Issues and PRs related to Node.js builds or CI infrastructure. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. python PRs and issues that require attention from people who are familiar with Python.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants