CHANGELOG.md 7.27 KB
Newer Older
Kenneth Reitz's avatar
Kenneth Reitz committed
1 2
# Python Buildpack Changelog

Casey Faist's avatar
Casey Faist committed
3
# 146 (2018-15-08)
4

Casey Faist's avatar
Casey Faist committed
5
Python 3.7.1, 3.6.7, 3.5.6 and 3.4.9 now available on all Heroku stacks.
6

Casey Faist's avatar
Casey Faist committed
7 8 9 10
# 145 (2018-11-08)

Testing and tooling expanded to better support new runtimes

Casey Faist's avatar
Casey Faist committed
11
# 144 (2018-10-10)
Casey Faist's avatar
Casey Faist committed
12 13 14 15

Switch to cautious upgrade for Pipenv install to ensure the pinned pip version
is used with Pipenv

Casey Faist's avatar
Casey Faist committed
16
# 143 (2018-10-09)
17 18 19 20

Add support for detecting SLUGIFY_USES_TEXT_UNIDECODE, which is required to
install Apache Airflow version 1.10 or higher.

Casey Faist's avatar
Casey Faist committed
21
# 142 (2018-10-08)
Casey Faist's avatar
Casey Faist committed
22 23 24

Improvements to Python install messaging

Casey Faist's avatar
Casey Faist committed
25 26 27 28
# 139, 140, 141

No user-facing changes, documenting for version clarity

29
# 138 (2018-08-01)
Casey Faist's avatar
Casey Faist committed
30 31 32

Use stack image SQLite3 instead of vendoring

33
# 137 (2018-07-17)
Terence Lee's avatar
Terence Lee committed
34 35 36

Prevent 3.7.0 from appearing as unsupported in buildpack messaging.

37
# 136 (2018-06-28)
38 39 40

Upgrade to 3.6.6 and support 3.7.0 on all runtimes.

41
# 135 (2018-05-29)
42 43 44

Upgrade Pipenv to v2018.5.18.

45
# 134 (2018-05-02)
Kenneth Reitz's avatar
Kenneth Reitz committed
46 47 48

Default to 3.6.5, bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
49 50 51 52
# 133

Fixes for Pip 10 release.

Kenneth Reitz's avatar
Kenneth Reitz committed
53 54 55 56
# 132

Improve pip installation, with the release of v9.0.2.

Kenneth Reitz's avatar
Kenneth Reitz committed
57 58 59 60
# 131

Fix bug with pip.

Kenneth Reitz's avatar
pip  
Kenneth Reitz committed
61 62 63 64
# 130

Better upgrade strategy for pip.

Kenneth Reitz's avatar
Kenneth Reitz committed
65 66
# 129

Kenneth Reitz's avatar
Kenneth Reitz committed
67
Don't upgrade pip (from v128).
Kenneth Reitz's avatar
Kenneth Reitz committed
68

Kenneth Reitz's avatar
pipenv  
Kenneth Reitz committed
69 70
# 128

Kenneth Reitz's avatar
Kenneth Reitz committed
71
Upgrade pip, pin to Pipenv v11.8.2.
Kenneth Reitz's avatar
pipenv  
Kenneth Reitz committed
72

Kenneth Reitz's avatar
Kenneth Reitz committed
73 74 75 76
# 127

Pin to Pipenv v11.7.1.

77 78 79 80
# 126

Bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
81 82 83 84
# 125

Bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
85
# 124
86

Kenneth Reitz's avatar
Kenneth Reitz committed
87
Update buildpack to automatically install `[dev-packages]` during Heroku CI Pipenv builds.
88

Kenneth Reitz's avatar
Kenneth Reitz committed
89
- Skip installs if Pipfile.lock hasn't changed, and uninstall stale dependencies with Pipenv.
Kenneth Reitz's avatar
Kenneth Reitz committed
90
- Set `PYTHONPATH` during collectstatic runs.
Kenneth Reitz's avatar
Kenneth Reitz committed
91
- No longer warn if there is no `Procfile`.
Kenneth Reitz's avatar
Kenneth Reitz committed
92
- Update Pipenv's "3.6" runtime specifier to point to "3.6.4".
93

Kenneth Reitz's avatar
Kenneth Reitz committed
94 95
# 123

Kenneth Reitz's avatar
Kenneth Reitz committed
96
Update gunicorn `init.d` script to allow overrides.
Kenneth Reitz's avatar
Kenneth Reitz committed
97 98 99 100 101

# 122

Update default Python to v3.6.4.

Kenneth Reitz's avatar
Kenneth Reitz committed
102 103 104 105 106 107
# 121

Update default Python to v3.6.3.

# 120

Kenneth Reitz's avatar
Kenneth Reitz committed
108
Use `$ pipenv --deploy`.
Kenneth Reitz's avatar
Kenneth Reitz committed
109

Kenneth Reitz's avatar
Kenneth Reitz committed
110 111 112 113 114 115 116 117 118 119 120
# 119

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`.

# 118

Improvements to Pipenv support.

Kenneth Reitz's avatar
Kenneth Reitz committed
121 122 123 124
# 117

Bug fix.

Kenneth Reitz's avatar
Kenneth Reitz committed
125
# 116
126

Kenneth Reitz's avatar
Kenneth Reitz committed
127 128 129 130
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).
131

132 133 134 135 136 137
# 115

Revert a pull request.

- No longer using `sub_env` for `pip install` step.

Kenneth Reitz's avatar
Kenneth Reitz committed
138 139 140 141 142 143
# 114

- Bugfixes.

Blacklisting `PYTHONHOME` and `PYTHONPATH` for older apps. Upgrades to nltk support.

Kenneth Reitz's avatar
Kenneth Reitz committed
144 145
# 113

146
Updates to Pipenv support.
Kenneth Reitz's avatar
Kenneth Reitz committed
147

Kenneth Reitz's avatar
Kenneth Reitz committed
148 149 150 151 152 153
# 112

Bugfix.

- Fixed grep output bug.

Kenneth Reitz's avatar
Kenneth Reitz committed
154 155
# 111

Kenneth Reitz's avatar
Kenneth Reitz committed
156
Linting, bugfixes.
Kenneth Reitz's avatar
Kenneth Reitz committed
157

158
# 110
159

160
Update default Python to 3.6.2.
161

Kenneth Reitz's avatar
Kenneth Reitz committed
162 163
# 109

164 165 166
Update Default Python to 3.6.1, bugfixes.

- Fixed automatic pip uninstall of dependencies removed from requirements.txt.
Kenneth Reitz's avatar
Kenneth Reitz committed
167

Kenneth Reitz's avatar
Kenneth Reitz committed
168 169
# 108

170
Fix output for collectstatic step.
Kenneth Reitz's avatar
Kenneth Reitz committed
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187

# 107

Bugfix for C dependency installation.

# 106

 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.

 # 105

 Improvements to output messaging.

188 189
# 104

Kenneth Reitz's avatar
Kenneth Reitz committed
190
General improvements.
191

Kenneth Reitz's avatar
Kenneth Reitz committed
192
- Fix for Heroku CI.
193 194 195 196 197
- 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

Kenneth Reitz's avatar
Kenneth Reitz committed
198 199 200 201 202 203 204 205 206 207
## 103

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.

Kenneth Reitz's avatar
Kenneth Reitz committed
208 209 210 211 212 213
## 102

Buildpack code cleanup.

- Improved messaging around NLTK.

Kenneth Reitz's avatar
Kenneth Reitz committed
214 215 216 217 218 219
## 101

Updated setuptools installation method.

- Improved pipenv support.

Kenneth Reitz's avatar
v100!  
Kenneth Reitz committed
220 221 222 223
## 100

Preliminary pipenv support.

Kenneth Reitz's avatar
v99  
Kenneth Reitz committed
224 225 226 227
## 99

Cleanup.

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
228 229 230 231 232 233 234
## 98

Official NLTK support and other improvements.

- Support for `nltk.txt` file for declaring corpora to be downloaded.
- Leading zeros for auto-set WEB_CONCURRENCY.

Kenneth Reitz's avatar
v97  
Kenneth Reitz committed
235 236 237 238
## 97

Improved egg-link functionality.

Kenneth Reitz's avatar
v96  
Kenneth Reitz committed
239 240 241 242
## 96

Bugfix.

Kenneth Reitz's avatar
v95  
Kenneth Reitz committed
243 244
## 95

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
245
Improved output support.
Kenneth Reitz's avatar
v95  
Kenneth Reitz committed
246 247 248 249 250

## v94

Improved support for PyPy.

Kenneth Reitz's avatar
Kenneth Reitz committed
251 252 253 254
## v93

Improved support for PyPy.

Kenneth Reitz's avatar
v92  
Kenneth Reitz committed
255 256
## v92

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
257
Improved cache functionality and fix egg-links regression.
Kenneth Reitz's avatar
v92  
Kenneth Reitz committed
258

Kenneth Reitz's avatar
Kenneth Reitz committed
259 260 261 262
## v91

Bugfix, rolled back to v88.

Kenneth Reitz's avatar
v90  
Kenneth Reitz committed
263 264 265 266
## v90

Bugfix.

Kenneth Reitz's avatar
v89  
Kenneth Reitz committed
267 268
## v89

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
269
Improved cache functionality and fix egg-links regression.
Kenneth Reitz's avatar
v89  
Kenneth Reitz committed
270

Kenneth Reitz's avatar
v88  
Kenneth Reitz committed
271 272
## v88

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
273
Fixed bug with editable pip installations.
Kenneth Reitz's avatar
v88  
Kenneth Reitz committed
274

Kenneth Reitz's avatar
v87  
Kenneth Reitz committed
275 276 277 278
## v87

Updated default Python 2.7.13.

Kenneth Reitz's avatar
Kenneth Reitz committed
279 280 281
- Python 2.7.13 uses UCS-4 build, more compatibile with linux wheels.
- Updated setuptools to v32.1.0.

Kenneth Reitz's avatar
v86  
Kenneth Reitz committed
282 283 284 285
## v86

Refactor and multi-buildpack compatibility.

Kenneth Reitz's avatar
Kenneth Reitz committed
286 287
## v85

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
288
Packaging fix.
Kenneth Reitz's avatar
Kenneth Reitz committed
289

Kenneth Reitz's avatar
Kenneth Reitz committed
290 291 292 293 294 295 296
## v84

Updated pip and setuptools.

- Updated pip to v9.0.1.
- Updated setuptools to v28.8.0.

Kenneth Reitz's avatar
Kenneth Reitz committed
297 298
## v83

Kenneth Reitz's avatar
Kenneth Reitz committed
299 300
Support for Heroku CI.

Kenneth Reitz's avatar
Kenneth Reitz committed
301 302
- Cffi support for argon2

Kenneth Reitz's avatar
Kenneth Reitz committed
303 304 305 306 307 308
## v82 (2016-08-22)

Update to library detection mechnisms (pip-pop).

- Updated setuptools to v25.5.0

Kenneth Reitz's avatar
v81  
Kenneth Reitz committed
309 310 311 312
## v81 (2016-06-28)

Updated default Python to 2.7.11.

Kenneth Reitz's avatar
v87  
Kenneth Reitz committed
313 314
- Updated pip to v8.1.2.
- Updated setuptools to v23.1.0.
Kenneth Reitz's avatar
v81  
Kenneth Reitz committed
315

Kenneth Reitz's avatar
v80  
Kenneth Reitz committed
316 317 318 319
## v80 (2016-04-05)

Improved pip-pop compatibility with latest pip releases.

Kenneth Reitz's avatar
v79  
Kenneth Reitz committed
320 321 322 323
## v79 (2016-03-22)

Compatibility improvements with heroku-apt-buildpack.

Kenneth Reitz's avatar
Kenneth Reitz committed
324
## v78 (2016-03-18)
325 326 327 328 329 330 331 332 333 334 335

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.

Kenneth Reitz's avatar
Kenneth Reitz committed
336
Updated pip to 8.1.1 and setuptools to 20.3.
Ed Morley's avatar
Ed Morley committed
337

338 339 340 341
## v77 (2016-02-10)

Improvements to warnings and minor bugfix.

Kenneth Reitz's avatar
Kenneth Reitz committed
342
## v76 (2016-02-08)
Kenneth Reitz's avatar
v76  
Kenneth Reitz committed
343 344 345 346 347 348 349

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.
Kenneth Reitz's avatar
Kenneth Reitz committed
350 351
- Updated build output style.
- New warning for outdated Python (via pip `InsecurePlatform` warning).
Kenneth Reitz's avatar
v76  
Kenneth Reitz committed
352

Kenneth Reitz's avatar
v75  
Kenneth Reitz committed
353 354 355 356
## v75 (2016-01-29)

Updated pip and Setuptools.

Kenneth Reitz's avatar
v74  
Kenneth Reitz committed
357 358 359
## v74 (2015-12-29)

Added warnings for lack of Procfile.
Kenneth Reitz's avatar
v71  
Kenneth Reitz committed
360

Kenneth Reitz's avatar
v72  
Kenneth Reitz committed
361 362 363 364
## v72 (2015-12-07)

Updated default Python to 2.7.11.

Kenneth Reitz's avatar
v72  
Kenneth Reitz committed
365
## v72 (2015-12-03)
Kenneth Reitz's avatar
v71  
Kenneth Reitz committed
366 367 368

Added friendly warnings for common build failures.

Kenneth Reitz's avatar
Kenneth Reitz committed
369 370 371 372
## v70 (2015-10-29)

Improved compatibility with multi and node.js buildpacks.

Kenneth Reitz's avatar
Kenneth Reitz committed
373 374 375 376 377 378 379 380 381 382 383
## 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.
Kenneth Reitz's avatar
v65  
Kenneth Reitz committed
384

Kenneth Reitz's avatar
v66  
Kenneth Reitz committed
385 386 387 388
## v66 (2015-10-09)

Improved compatibility with multi and node.js buildpacks.

Kenneth Reitz's avatar
v65  
Kenneth Reitz committed
389 390 391 392
## v65 (2015-10-08)

Reverted v64.

Kenneth Reitz's avatar
v64  
Kenneth Reitz committed
393 394 395 396 397 398 399 400 401 402 403 404
## 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


Kenneth Reitz's avatar
Kenneth Reitz committed
405 406 407 408 409 410 411
## v62 (2015-08-07)

Updated Pip and Setuptools.

- Setuptools updated to v18.1
- Pip updated to v7.1.0

Kenneth Reitz's avatar
Kenneth Reitz committed
412 413
## v61 (2015-06-30)

Kenneth Reitz's avatar
Kenneth Reitz committed
414
Updated Pip and Setuptools.
Kenneth Reitz's avatar
v61  
Kenneth Reitz committed
415 416 417 418

- Setuptools updated to v18.0.1
- Pip updated to v7.0.3

Kenneth Reitz's avatar
Kenneth Reitz committed
419
## v60 (2015-05-27)
Kenneth Reitz's avatar
Kenneth Reitz committed
420

Kenneth Reitz's avatar
Kenneth Reitz committed
421
Default Python is now latest 2.7.10. Updated Pip and Distribute.
Kenneth Reitz's avatar
Kenneth Reitz committed
422

Kenneth Reitz's avatar
Kenneth Reitz committed
423 424 425
- Default Python version is v2.7.10
- Setuptools updated to v16.0
- Pip updated to v7.0.1