diff --git a/CHANGELOG.md b/CHANGELOG.md index caeed04fb..cbcc5b97c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ ## Unreleased +## v218 (2022-09-07) + +- Python 3.7.14, 3.8.14 and 3.9.14 are now available ([#1362](https://github.com/heroku/heroku-buildpack-python/pull/1362)). + ## v217 (2022-09-06) - Python 3.10.7 is now available ([#1361](https://github.com/heroku/heroku-buildpack-python/pull/1361)). diff --git a/README.md b/README.md index aab05d45d..3bd23ba7b 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,6 @@ Specify a Python Runtime Supported runtime options include: - `python-3.10.7` on all [supported stacks](https://devcenter.heroku.com/articles/stack#stack-support-details) -- `python-3.9.13` on all [supported stacks](https://devcenter.heroku.com/articles/stack#stack-support-details) -- `python-3.8.13` on Heroku-18 and Heroku-20 only -- `python-3.7.13` on Heroku-18 and Heroku-20 only +- `python-3.9.14` on all [supported stacks](https://devcenter.heroku.com/articles/stack#stack-support-details) +- `python-3.8.14` on Heroku-18 and Heroku-20 only +- `python-3.7.14` on Heroku-18 and Heroku-20 only diff --git a/bin/default_pythons b/bin/default_pythons index 58a9a480e..610aeb4d3 100755 --- a/bin/default_pythons +++ b/bin/default_pythons @@ -6,9 +6,9 @@ # shellcheck disable=2034 LATEST_310="python-3.10.7" -LATEST_39="python-3.9.13" -LATEST_38="python-3.8.13" -LATEST_37="python-3.7.13" +LATEST_39="python-3.9.14" +LATEST_38="python-3.8.14" +LATEST_37="python-3.7.14" LATEST_36="python-3.6.15" LATEST_35="python-3.5.10" LATEST_34="python-3.4.10" diff --git a/builds/runtimes/python-3.7.14 b/builds/runtimes/python-3.7.14 new file mode 100755 index 000000000..6bc9111eb --- /dev/null +++ b/builds/runtimes/python-3.7.14 @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python + +# shellcheck source-path=SCRIPTDIR +source "$(dirname "${0}")/python" diff --git a/builds/runtimes/python-3.8.14 b/builds/runtimes/python-3.8.14 new file mode 100755 index 000000000..6bc9111eb --- /dev/null +++ b/builds/runtimes/python-3.8.14 @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python + +# shellcheck source-path=SCRIPTDIR +source "$(dirname "${0}")/python" diff --git a/builds/runtimes/python-3.9.14 b/builds/runtimes/python-3.9.14 new file mode 100755 index 000000000..6bc9111eb --- /dev/null +++ b/builds/runtimes/python-3.9.14 @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python + +# shellcheck source-path=SCRIPTDIR +source "$(dirname "${0}")/python" diff --git a/spec/fixtures/ci_nose/runtime.txt b/spec/fixtures/ci_nose/runtime.txt index c6f7782f6..be7826772 100644 --- a/spec/fixtures/ci_nose/runtime.txt +++ b/spec/fixtures/ci_nose/runtime.txt @@ -1 +1 @@ -python-3.9.13 +python-3.9.14 diff --git a/spec/fixtures/python_3.7/runtime.txt b/spec/fixtures/python_3.7/runtime.txt index 7d0402829..79fa30a26 100644 --- a/spec/fixtures/python_3.7/runtime.txt +++ b/spec/fixtures/python_3.7/runtime.txt @@ -1 +1 @@ -python-3.7.13 +python-3.7.14 diff --git a/spec/fixtures/python_3.8/runtime.txt b/spec/fixtures/python_3.8/runtime.txt index 5b3694c1c..c2fd30248 100644 --- a/spec/fixtures/python_3.8/runtime.txt +++ b/spec/fixtures/python_3.8/runtime.txt @@ -1 +1 @@ -python-3.8.13 +python-3.8.14 diff --git a/spec/fixtures/python_3.9/runtime.txt b/spec/fixtures/python_3.9/runtime.txt index c6f7782f6..be7826772 100644 --- a/spec/fixtures/python_3.9/runtime.txt +++ b/spec/fixtures/python_3.9/runtime.txt @@ -1 +1 @@ -python-3.9.13 +python-3.9.14 diff --git a/spec/fixtures/requirements_git/requirements.txt b/spec/fixtures/requirements_git/requirements.txt new file mode 100644 index 000000000..81e9dbfe0 --- /dev/null +++ b/spec/fixtures/requirements_git/requirements.txt @@ -0,0 +1,2 @@ +# This relies upon the VCS binaries from the stack image. +git+https://github.com/certifi/python-certifi diff --git a/spec/fixtures/requirements_vcs/requirements.txt b/spec/fixtures/requirements_vcs/requirements.txt deleted file mode 100644 index 742012f67..000000000 --- a/spec/fixtures/requirements_vcs/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -# These rely upon the VCS binaries from the stack image. -hg+https://www.mercurial-scm.org/repo/python-hglib/#egg=python-hglib -git+https://github.com/certifi/python-certifi diff --git a/spec/hatchet/pip_spec.rb b/spec/hatchet/pip_spec.rb index 1df29ff20..335d680a8 100644 --- a/spec/hatchet/pip_spec.rb +++ b/spec/hatchet/pip_spec.rb @@ -81,8 +81,8 @@ include_examples 'installs successfully using pip' end - context 'when requirements.txt contains Git/Mercurial requirements URLs' do - let(:app) { Hatchet::Runner.new('spec/fixtures/requirements_vcs') } + context 'when requirements.txt contains Git requirements URLs' do + let(:app) { Hatchet::Runner.new('spec/fixtures/requirements_git') } include_examples 'installs successfully using pip' end diff --git a/spec/hatchet/python_version_spec.rb b/spec/hatchet/python_version_spec.rb index 23fe345ec..5d8fdbe78 100644 --- a/spec/hatchet/python_version_spec.rb +++ b/spec/hatchet/python_version_spec.rb @@ -232,7 +232,7 @@ end end - context 'when runtime.txt contains python-3.7.13' do + context 'when runtime.txt contains python-3.7.14' do let(:allow_failure) { false } let(:app) { Hatchet::Runner.new('spec/fixtures/python_3.7', allow_failure: allow_failure) } @@ -248,7 +248,7 @@ end end - context 'when runtime.txt contains python-3.8.13' do + context 'when runtime.txt contains python-3.8.14' do let(:allow_failure) { false } let(:app) { Hatchet::Runner.new('spec/fixtures/python_3.8', allow_failure: allow_failure) } @@ -264,7 +264,7 @@ end end - context 'when runtime.txt contains python-3.9.13' do + context 'when runtime.txt contains python-3.9.14' do let(:app) { Hatchet::Runner.new('spec/fixtures/python_3.9') } include_examples 'builds with the requested Python version', LATEST_PYTHON_3_9 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 061f65ba7..9a776fb8a 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -10,9 +10,9 @@ LATEST_PYTHON_3_4 = '3.4.10' LATEST_PYTHON_3_5 = '3.5.10' LATEST_PYTHON_3_6 = '3.6.15' -LATEST_PYTHON_3_7 = '3.7.13' -LATEST_PYTHON_3_8 = '3.8.13' -LATEST_PYTHON_3_9 = '3.9.13' +LATEST_PYTHON_3_7 = '3.7.14' +LATEST_PYTHON_3_8 = '3.8.14' +LATEST_PYTHON_3_9 = '3.9.14' LATEST_PYTHON_3_10 = '3.10.7' LATEST_PYPY_2_7 = '7.3.2' LATEST_PYPY_3_6 = '7.3.2'