Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Python 3.13 as the default Python version for new apps #1715

Merged
merged 1 commit into from
Dec 6, 2024

Conversation

edmorley
Copy link
Member

@edmorley edmorley commented Dec 6, 2024

Previously if a new app did not specify a Python version (e.g. via a .python-version file), then the buildpack would default to the latest Python 3.12 release.

Now the buildpack will use the latest Python 3.13 release.

This does not affect:

  • apps that specify an explicit Python version
  • existing apps that have already had a build using the previous default version (since that version is remembered from one build to the next, via the "version pinning" / "sticky versions" feature).

Use-cases involving new apps that aren't compatible with Python 3.13 will now need to specify Python 3.12 explicitly:
https://devcenter.heroku.com/articles/python-support#specify-a-python-version

However most apps should be compatible, since Python 3.13 was released a couple of months ago (2024-10-07), does not contain significant breaking changes over Python 3.12, and has been happily used by the python-getting-started project since 2024-10-10.

See:
https://docs.python.org/3.13/whatsnew/3.13.html

Note: When using Python 3.13, the buildpack does not install setuptools, wheel or the sqlite headers/CLI, hence those diffs to the test fixtures.

GUS-W-14846972.

@edmorley edmorley self-assigned this Dec 6, 2024
@edmorley edmorley force-pushed the python-3.13-default branch from d566d0e to c3db21b Compare December 6, 2024 18:38
Previously if a new app did not specify a Python version (e.g. via a
`.python-version` file), then the buildpack would default to the latest
Python 3.12 release.

Now the buildpack will use the latest Python 3.13 release.

This does not affect:
* apps that specify an explicit Python version
* existing apps that have already had a build using the previous default
  version (since that version is remembered from one build to the next,
  via the "version pinning" / "sticky versions" feature).

Use-cases involving new apps that aren't compatible with Python 3.13
will now need to specify Python 3.12 explicitly:
https://devcenter.heroku.com/articles/python-support#specify-a-python-version

However most apps should be compatible, since Python 3.13 was released
a couple of months ago (2024-10-07), does not contain significant breaking
changes over Python 3.12, and has been happily used by the
python-getting-started project since 2024-10-10.

See:
https://docs.python.org/3.13/whatsnew/3.13.html

GUS-W-14846972.
@edmorley edmorley force-pushed the python-3.13-default branch from c3db21b to 65884c4 Compare December 6, 2024 18:55
@edmorley edmorley marked this pull request as ready for review December 6, 2024 19:02
@edmorley edmorley requested a review from a team as a code owner December 6, 2024 19:02
@edmorley edmorley enabled auto-merge (squash) December 6, 2024 19:15
@edmorley edmorley merged commit 29f1606 into main Dec 6, 2024
7 checks passed
@edmorley edmorley deleted the python-3.13-default branch December 6, 2024 19:28
@heroku-linguist heroku-linguist bot mentioned this pull request Dec 10, 2024
@edmorley
Copy link
Member Author

@edmorley
Copy link
Member Author

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