mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
d03cfe59b8
Closes @W-7791264@.
643 lines
13 KiB
Markdown
643 lines
13 KiB
Markdown
# Python Buildpack Changelog
|
|
|
|
## Unreleased
|
|
|
|
- Python 3.8.7 is now available (CPython) (#1122).
|
|
|
|
## v186 (2020-11-18)
|
|
|
|
- Update the `BUILD_WITH_GEO_LIBRARIES` error message (#1121).
|
|
- Switch NLTK feature detection away from `sp-grep` (#1119).
|
|
- Switch Django collectstatic feature detection away from `sp-grep` (#1119).
|
|
- Remove vendored `sp-grep` script (#1119).
|
|
- Remove vendored `pip-diff` script (#1118).
|
|
- Remove vendored `pip-grep` script (#1116).
|
|
|
|
## v185 (2020-11-12)
|
|
|
|
- Error if the unsupported `BUILD_WITH_GEO_LIBRARIES` env var is set (#1115).
|
|
- Remove deprecated GDAL/GEOS/PROJ support (#1113).
|
|
- Remove vendored `jq` binary (#1112).
|
|
- Remove redundant Mercurial install step (#1111).
|
|
- Remove support for the Cedar-14 stack (#1110).
|
|
|
|
## v184 (2020-10-21)
|
|
|
|
- Vendor buildpack-stdlib instead of fetching from S3 (#1100).
|
|
- Fix metric names for metrics emitted within `sub_env` (#1099).
|
|
|
|
## v183 (2020-10-12)
|
|
|
|
- Add support for Heroku-20 (#968).
|
|
|
|
## v182 (2020-10-06)
|
|
|
|
- Python 3.9.0 is now available (CPython) (#1090).
|
|
- Migrate from the `lang-python` S3 bucket to `heroku-buildpack-python` (#1089).
|
|
- Remove `vendor/shunit2` (#1086).
|
|
- Replace `BUILDPACK_VENDOR_URL` and `USE_STAGING_BINARIES` with `BUILDPACK_S3_BASE_URL` (#1085).
|
|
|
|
## v181 (2020-09-29)
|
|
|
|
- PyPy 2.7 and 3.6, version 7.3.2 are now available (Note: PyPy support is in beta) (#1081).
|
|
|
|
## v180 (2020-09-24)
|
|
|
|
- Python 3.8.6 is now available (CPython) (#1072).
|
|
|
|
## v179 (2020-09-23)
|
|
|
|
- Remove duplicate pipenv metric event (#1070).
|
|
- Emit metrics for how the Python version was chosen for an app (#1069).
|
|
- Emit Python version metric events for all builds, not just clean installs (#1066).
|
|
|
|
## v178 (2020-09-07)
|
|
|
|
- Python 3.5.10 is now available (CPython) (#1062).
|
|
|
|
## v177 (2020-08-18)
|
|
|
|
- Python 3.6.12 and 3.7.9 are now available (CPython) (#1054).
|
|
- The default Python version for new apps is now 3.6.12 (previously 3.6.11) (#1054).
|
|
|
|
## v176 (2020-08-12)
|
|
|
|
- Rebuild the Python 3.4.10 archives with the correct version of Python (#1048).
|
|
- Fix the security update version check message for apps using PyPy (#1040).
|
|
- Remove `vendor/test-utils` (#1043).
|
|
|
|
## v175 (2020-08-05)
|
|
|
|
- Update pip from 20.0.2 to 20.1.1 for Python 2.7 and Python 3.5+ (#1030).
|
|
- Update setuptools from 39.0.1 to: (#1024)
|
|
- 44.1.1 for Python 2.7
|
|
- 43.0.0 for Python 3.4
|
|
- 47.1.1 for Python 3.5+
|
|
- Switch the `heroku-buildpack-python` repository default branch from `master` to `main` (#1029).
|
|
|
|
## v174 (2020-07-30)
|
|
|
|
- For repeat builds, also manage the installed versions of setuptools/wheel, rather than just that of pip (#1007).
|
|
- Install an explicit version of wheel rather than the latest release at the time (#1007).
|
|
- Output the installed version of pip, setuptools and wheel in the build log (#1007).
|
|
- Errors installing pip/setuptools/wheel are now displayed in the build output and fail the build early (#1007).
|
|
- Install pip using itself rather than `get-pip.py` (#1007).
|
|
- Disable pip's version check + cache when installing pip/setuptools/wheel (#1007).
|
|
- Install setuptools from PyPI rather than a vendored copy (#1007).
|
|
- Reduce the number of environment variables exposed to `bin/{pre,post}_compile` and other subprocesses (#1011).
|
|
|
|
## v173 (2020-07-21)
|
|
|
|
- Python 3.8.5 is now available (CPython).
|
|
|
|
## v172 (2020-07-17)
|
|
|
|
- Python 3.8.4 is now available (CPython).
|
|
|
|
## v171 (2020-07-07)
|
|
|
|
- Python 3.6.11 and 3.7.8 are now available (CPython).
|
|
|
|
## v170 (2020-05-19)
|
|
|
|
- Python 2.7.18, 3.5.9, 3.7.7 and 3.8.3 are now available (CPython).
|
|
- PyPy 2.7 and 3.6, version 7.3.1 are now available (Note: PyPy support is in beta).
|
|
- Docs: Fix explanation of runtime.txt generation when using pipenv.
|
|
- Bugfix: Correctly detect Python version when using a `python_version` of `3.8` in `Pipfile.lock`.
|
|
|
|
## v169 (2020-04-22)
|
|
|
|
- Add a Hatchet test for python 3.8.2
|
|
- Set Code Owners to @heroku/langauges
|
|
- Bugfix: Caching on subsequent redeploys
|
|
- Update tests to support latest version of Python
|
|
|
|
## v168 (2020-04-06)
|
|
|
|
- Doc: Update Readme with version numbers
|
|
- update Code Owners to include the Heroku Buildpack Maintainers team
|
|
- Deprecation warning: `BUILD_WITH_GEO_LIBRARIES` is now deprecated. See warning for details.
|
|
- Clean up build log output
|
|
- Update Python versions in README to match docs
|
|
- Django version detection fixed, link updated
|
|
|
|
## v167 (2020-03-26)
|
|
|
|
- Add failcase for cache busting
|
|
- Bugfix: Clearing pip dependencies
|
|
|
|
## v166 (2020-03-05)
|
|
|
|
- Correct ftp to https in vendored file
|
|
- Warn for Django 1.11 approaching EOL, provide link to roadmap
|
|
|
|
## v165 (2020-02-27)
|
|
|
|
- Python 3.8.2 now available.
|
|
|
|
## v164 (2020-02-20)
|
|
|
|
- Update requirements.txt builds to use Pip 20.0.2
|
|
- Download get-pip.py to tmpdir instead of root dir
|
|
|
|
## v163 (2019-12-23)
|
|
|
|
- New pythons released:
|
|
Python 3.8.1, 3.7.6, 3.6.10 (CPython)
|
|
Beta Release: Pypy 2.7 and 3.6, version 7.2.0
|
|
|
|
## v162 (2019-12-06)
|
|
|
|
- Bug fix: fragile sqlite3 install
|
|
|
|
## v161 (2019-12-2)
|
|
|
|
- Bug fix: Sqlite3 version bump
|
|
|
|
## v160 (2019-10-23)
|
|
|
|
- Bugfix: Pipenv no longer installs twice in CI
|
|
|
|
## v159 (2019-10-22)
|
|
|
|
- Python 2.7.17 now available on Heroku 18 and 16.
|
|
|
|
## v158 (2019-10-21)
|
|
|
|
- Python 3.7.5 and 3.8.0 now available on Heroku 18 and 16.
|
|
- Add support for Python 3.8 branch
|
|
- Sqlite3 Update:
|
|
- Test Improvements
|
|
- Add support for staging binary testing
|
|
|
|
## v157 (2019-09-18)
|
|
|
|
- Typo fixes
|
|
|
|
## v156 (2019-09-12)
|
|
|
|
- Python 3.6.9 and 3.7.4 now available.
|
|
|
|
- Move get-pip utility to S3
|
|
- Build utility and documentation updates
|
|
- Bump Hatchet tests to point at new default python version.
|
|
|
|
## v155 (2019-08-22)
|
|
|
|
add docs and make target for heroku-18 bob builds
|
|
|
|
## v154 (2019-07-17)
|
|
|
|
Fix python 3.5.7 formula actually building 3.7.2
|
|
|
|
## v153 (2019-06-21)
|
|
|
|
Hotfix for broken heroku-16 deploys
|
|
|
|
## v152 (2019-04-04)
|
|
|
|
Python 3.7.3 now available.
|
|
|
|
## v151 (2019-03-21)
|
|
|
|
Python 3.5.7 and 3.4.10 now available on all Heroku stacks.
|
|
|
|
## v150 (2019-03-13)
|
|
|
|
Python 2.7.16 now available on all Heroku stacks.
|
|
|
|
## v149 (2019-03-04)
|
|
|
|
Hotfix for broken Cedar 14 deploys
|
|
|
|
## v148 (2019-02-21)
|
|
|
|
No user facing changes, improving internal metrics
|
|
|
|
## v147 (2019-02-07)
|
|
|
|
Python 3.7.2 and 3.6.8 now available on all Heroku stacks.
|
|
|
|
## v146 (2018-11-11)
|
|
|
|
Python 3.7.1, 3.6.7, 3.5.6 and 3.4.9 now available on all Heroku stacks.
|
|
|
|
## v145 (2018-11-08)
|
|
|
|
Testing and tooling expanded to better support new runtimes
|
|
|
|
## v144 (2018-10-10)
|
|
|
|
Switch to cautious upgrade for Pipenv install to ensure the pinned pip version
|
|
is used with Pipenv
|
|
|
|
## v143 (2018-10-09)
|
|
|
|
Add support for detecting `SLUGIFY_USES_TEXT_UNIDECODE`, which is required to
|
|
install Apache Airflow version 1.10 or higher.
|
|
|
|
## v142 (2018-10-08)
|
|
|
|
Improvements to Python install messaging
|
|
|
|
## v139, 140, 141
|
|
|
|
No user-facing changes, documenting for version clarity
|
|
|
|
## v138 (2018-08-01)
|
|
|
|
Use stack image SQLite3 instead of vendoring
|
|
|
|
## v137 (2018-07-17)
|
|
|
|
Prevent 3.7.0 from appearing as unsupported in buildpack messaging.
|
|
|
|
## v136 (2018-06-28)
|
|
|
|
Upgrade to 3.6.6 and support 3.7.0 on all runtimes.
|
|
|
|
## v135 (2018-05-29)
|
|
|
|
Upgrade Pipenv to v2018.5.18.
|
|
|
|
## v134 (2018-05-02)
|
|
|
|
Default to 3.6.5, bugfixes.
|
|
|
|
## v133
|
|
|
|
Fixes for Pip 10 release.
|
|
|
|
## v132
|
|
|
|
Improve pip installation, with the release of v9.0.2.
|
|
|
|
## v131
|
|
|
|
Fix bug with pip.
|
|
|
|
## v130
|
|
|
|
Better upgrade strategy for pip.
|
|
|
|
## v129
|
|
|
|
Don't upgrade pip (from v128).
|
|
|
|
## v128
|
|
|
|
Upgrade pip, pin to Pipenv v11.8.2.
|
|
|
|
## v127
|
|
|
|
Pin to Pipenv v11.7.1.
|
|
|
|
## v126
|
|
|
|
Bugfixes.
|
|
|
|
## v125
|
|
|
|
Bugfixes.
|
|
|
|
## v124
|
|
|
|
Update buildpack to automatically install `[dev-packages]` during Heroku CI Pipenv builds.
|
|
|
|
- Skip installs if Pipfile.lock hasn't changed, and uninstall stale dependencies with Pipenv.
|
|
- Set `PYTHONPATH` during collectstatic runs.
|
|
- No longer warn if there is no `Procfile`.
|
|
- Update Pipenv's "3.6" runtime specifier to point to "3.6.4".
|
|
|
|
## v123
|
|
|
|
Update gunicorn `init.d` script to allow overrides.
|
|
|
|
## v122
|
|
|
|
Update default Python to v3.6.4.
|
|
|
|
## v121
|
|
|
|
Update default Python to v3.6.3.
|
|
|
|
## v120
|
|
|
|
Use `$ pipenv --deploy`.
|
|
|
|
## v119
|
|
|
|
Improvements to Pipenv support, warning on unsupported Python versions.
|
|
|
|
- We now warn when a user is not using latest 2.x or 3.x Python.
|
|
- Heroku now supports `[requires]` `python_full_version` in addition to `python_version`.
|
|
|
|
## v118
|
|
|
|
Improvements to Pipenv support.
|
|
|
|
## v117
|
|
|
|
Bug fix.
|
|
|
|
## v116
|
|
|
|
Vendoring improvements.
|
|
|
|
- Geos libraries should work on Heroku-16 now.
|
|
- The libffi/libmemcached vendoring step is now skipped on Heroku-16 (since they are installed in the base image).
|
|
|
|
## v115
|
|
|
|
Revert a pull request.
|
|
|
|
- No longer using `sub_env` for `pip install` step.
|
|
|
|
## v114
|
|
|
|
- Bugfixes.
|
|
|
|
Blacklisting `PYTHONHOME` and `PYTHONPATH` for older apps. Upgrades to nltk support.
|
|
|
|
## v113
|
|
|
|
Updates to Pipenv support.
|
|
|
|
## v112
|
|
|
|
Bugfix.
|
|
|
|
- Fixed grep output bug.
|
|
|
|
## v111
|
|
|
|
Linting, bugfixes.
|
|
|
|
## v110
|
|
|
|
Update default Python to 3.6.2.
|
|
|
|
## v109
|
|
|
|
Update Default Python to 3.6.1, bugfixes.
|
|
|
|
- Fixed automatic pip uninstall of dependencies removed from requirements.txt.
|
|
|
|
## v108
|
|
|
|
Fix output for collectstatic step.
|
|
|
|
## v107
|
|
|
|
Bugfix for C dependency installation.
|
|
|
|
## v106
|
|
|
|
Don't install packages that could mess up packaging.
|
|
|
|
- The Python buildpack will automatically remove `six`, `pyparsing`, `appdirs`,
|
|
`setuptools`, and `distribute` from a `requirements.txt` file now, as these
|
|
packages are provided by the Python buildpack.
|
|
|
|
## v105
|
|
|
|
Improvements to output messaging.
|
|
|
|
## v104
|
|
|
|
General improvements.
|
|
|
|
- Fix for Heroku CI.
|
|
- Use `pkg_resources` to check if a distribution is installed instead of
|
|
parsing `requirements.txt`. ([#395][395])
|
|
|
|
[395]: https://github.com/heroku/heroku-buildpack-python/pull/395
|
|
|
|
## v103
|
|
|
|
Bug fixes and improvements.
|
|
|
|
- Fix for Pipenv.
|
|
- Fix for Heroku CI.
|
|
- Improve handling of `WEB_CONCURRENCY` when using multiple buildpacks.
|
|
- Adjust environment variables set during the build to more closely match those in the dyno environment (`DYNO` is now available, `STACK` is not).
|
|
- Restore the build cache prior to running bin/pre_compile.
|
|
|
|
## v102
|
|
|
|
Buildpack code cleanup.
|
|
|
|
- Improved messaging around NLTK.
|
|
|
|
## v101
|
|
|
|
Updated setuptools installation method.
|
|
|
|
- Improved pipenv support.
|
|
|
|
## v100
|
|
|
|
Preliminary pipenv support.
|
|
|
|
## v99
|
|
|
|
Cleanup.
|
|
|
|
## v98
|
|
|
|
Official NLTK support and other improvements.
|
|
|
|
- Support for `nltk.txt` file for declaring corpora to be downloaded.
|
|
- Leading zeros for auto-set `WEB_CONCURRENCY`.
|
|
|
|
## v97
|
|
|
|
Improved egg-link functionality.
|
|
|
|
## v96
|
|
|
|
Bugfix.
|
|
|
|
## v95
|
|
|
|
Improved output support.
|
|
|
|
## v94
|
|
|
|
Improved support for PyPy.
|
|
|
|
## v93
|
|
|
|
Improved support for PyPy.
|
|
|
|
## v92
|
|
|
|
Improved cache functionality and fix egg-links regression.
|
|
|
|
## v91
|
|
|
|
Bugfix, rolled back to v88.
|
|
|
|
## v90
|
|
|
|
Bugfix.
|
|
|
|
## v89
|
|
|
|
Improved cache functionality and fix egg-links regression.
|
|
|
|
## v88
|
|
|
|
Fixed bug with editable pip installations.
|
|
|
|
## v87
|
|
|
|
Updated default Python 2.7.13.
|
|
|
|
- Python 2.7.13 uses UCS-4 build, more compatible with linux wheels.
|
|
- Updated setuptools to v32.1.0.
|
|
|
|
## v86
|
|
|
|
Refactor and multi-buildpack compatibility.
|
|
|
|
## v85
|
|
|
|
Packaging fix.
|
|
|
|
## v84
|
|
|
|
Updated pip and setuptools.
|
|
|
|
- Updated pip to v9.0.1.
|
|
- Updated setuptools to v28.8.0.
|
|
|
|
## v83
|
|
|
|
Support for Heroku CI.
|
|
|
|
- Cffi support for argon2
|
|
|
|
## v82 (2016-08-22)
|
|
|
|
Update to library detection mechanisms (pip-pop).
|
|
|
|
- Updated setuptools to v25.5.0
|
|
|
|
## v81 (2016-06-28)
|
|
|
|
Updated default Python to 2.7.11.
|
|
|
|
- Updated pip to v8.1.2.
|
|
- Updated setuptools to v23.1.0.
|
|
|
|
## v80 (2016-04-05)
|
|
|
|
Improved pip-pop compatibility with latest pip releases.
|
|
|
|
## v79 (2016-03-22)
|
|
|
|
Compatibility improvements with heroku-apt-buildpack.
|
|
|
|
## v78 (2016-03-18)
|
|
|
|
Added automatic configuration of Gunicorn's `FORWARDED_ALLOW_IPS` setting.
|
|
|
|
Improved detection of libffi dependency when using bcrypt via `Django[bcrypt]`.
|
|
|
|
Improved GDAL support.
|
|
|
|
- GDAL dependency detection now checks for pygdal and is case-insensitive.
|
|
- The vendored GDAL library has been updated to 1.11.1.
|
|
- GDAL bootstrapping now also installs the GEOS and Proj.4 libraries.
|
|
|
|
Updated pip to 8.1.1 and setuptools to 20.3.
|
|
|
|
## v77 (2016-02-10)
|
|
|
|
Improvements to warnings and minor bugfix.
|
|
|
|
## v76 (2016-02-08)
|
|
|
|
Improved Django collectstatic support.
|
|
|
|
- `$ python manage.py collectstatic` will only be run if `Django` is present in `requirements.txt`.
|
|
- If collectstatic fails, the build fails. Full traceback is provided.
|
|
- `$DISABLE_COLLECTSTATIC`: skip collectstatic step completely (not new).
|
|
- `$DEBUG_COLLECTSTATIC`: echo environment variables upon collectstatic failure.
|
|
- Updated build output style.
|
|
- New warning for outdated Python (via pip `InsecurePlatform` warning).
|
|
|
|
## v75 (2016-01-29)
|
|
|
|
Updated pip and Setuptools.
|
|
|
|
## v74 (2015-12-29)
|
|
|
|
Added warnings for lack of Procfile.
|
|
|
|
## v72 (2015-12-07)
|
|
|
|
Updated default Python to 2.7.11.
|
|
|
|
## v72 (2015-12-03)
|
|
|
|
Added friendly warnings for common build failures.
|
|
|
|
## v70 (2015-10-29)
|
|
|
|
Improved compatibility with multi and node.js buildpacks.
|
|
|
|
## v69 (2015-10-12)
|
|
|
|
Revert to v66.
|
|
|
|
## v68 (2015-10-12)
|
|
|
|
Fixed `.heroku/venv` error with modern apps.
|
|
|
|
## v67 (2015-10-12)
|
|
|
|
Further improved cache compatibility with multi and node.js buildpacks.
|
|
|
|
## v66 (2015-10-09)
|
|
|
|
Improved compatibility with multi and node.js buildpacks.
|
|
|
|
## v65 (2015-10-08)
|
|
|
|
Reverted v64.
|
|
|
|
## v64 (2015-10-08)
|
|
|
|
Improved compatibility with multi and node.js buildpacks.
|
|
|
|
## v63 (2015-10-08)
|
|
|
|
Updated Pip and Setuptools.
|
|
|
|
- Setuptools updated to v18.3.2
|
|
- Pip updated to v7.1.2
|
|
|
|
## v62 (2015-08-07)
|
|
|
|
Updated Pip and Setuptools.
|
|
|
|
- Setuptools updated to v18.1
|
|
- Pip updated to v7.1.0
|
|
|
|
## v61 (2015-06-30)
|
|
|
|
Updated Pip and Setuptools.
|
|
|
|
- Setuptools updated to v18.0.1
|
|
- Pip updated to v7.0.3
|
|
|
|
## v60 (2015-05-27)
|
|
|
|
Default Python is now latest 2.7.10. Updated Pip and Distribute.
|
|
|
|
- Default Python version is v2.7.10
|
|
- Setuptools updated to v16.0
|
|
- Pip updated to v7.0.1
|