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

3
# Master
Casey Faist's avatar
Casey Faist committed
4

Casey Faist's avatar
Casey Faist committed
5
- Refactor: use variable rather than hardcoded /app
6
- Bug fix: pipenv no longer installs twice on CI
Casey Faist's avatar
Casey Faist committed
7

Casey Faist's avatar
Casey Faist committed
8 9
--------------------------------------------------------------------------------

Casey Faist's avatar
Casey Faist committed
10 11 12 13
# 157 (2019-09-18)

- Typo fixes

Casey Faist's avatar
Casey Faist committed
14
# 156 (2019-09-12)
Casey Faist's avatar
Casey Faist committed
15

16
- Python 3.6.9 and 3.7.4 now available.
Casey Faist's avatar
Casey Faist committed
17

18 19
- Move get-pip utility to S3
- Build utility and documentation updates
Casey Faist's avatar
Casey Faist committed
20
- Bump Hatchet tests to point at new default python version.
Casey Faist's avatar
Casey Faist committed
21 22 23 24 25

# 155 (2019-08-22)

add docs and make target for heroku-18 bob builds

26 27 28 29
# 154 (2019-07-17)

Fix python 3.5.7 formula actually building 3.7.2

David Zuelke's avatar
David Zuelke committed
30 31 32 33
# 153 (2019-06-21)

Hotfix for broken heroku-16 deploys

Casey Faist's avatar
Casey Faist committed
34
# 152 (2019-04-04)
35 36 37 38

Python 3.7.3 now available.

# 151 (2019-03-21)
Casey's avatar
Casey committed
39 40 41

Python 3.5.7 and 3.4.10 now available on all Heroku stacks.

Casey's avatar
Casey committed
42 43 44 45
# 150 (2019-03-13)

Python 2.7.16 now available on all Heroku stacks.

Casey's avatar
Casey committed
46 47 48 49
# 149 (2019-03-04)

Hotfix for broken Cedar 14 deploys

Casey's avatar
Casey committed
50 51 52 53
# 148 (2019-02-21)

No user facing changes, improving internal metrics

54
# 147 (2019-02-07)
Casey Faist's avatar
Casey Faist committed
55 56 57

Python 3.7.2 and 3.6.8 now available on all Heroku stacks.

58
# 146 (2018-11-11)
59

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

62
# 145 (2018-11-08)
Casey Faist's avatar
Casey Faist committed
63 64 65

Testing and tooling expanded to better support new runtimes

Casey Faist's avatar
Casey Faist committed
66
# 144 (2018-10-10)
Casey Faist's avatar
Casey Faist committed
67 68 69 70

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

Casey Faist's avatar
Casey Faist committed
71
# 143 (2018-10-09)
72 73 74 75

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
76
# 142 (2018-10-08)
Casey Faist's avatar
Casey Faist committed
77 78 79

Improvements to Python install messaging

Casey Faist's avatar
Casey Faist committed
80 81 82 83
# 139, 140, 141

No user-facing changes, documenting for version clarity

84
# 138 (2018-08-01)
Casey Faist's avatar
Casey Faist committed
85 86 87

Use stack image SQLite3 instead of vendoring

88
# 137 (2018-07-17)
Terence Lee's avatar
Terence Lee committed
89 90 91

Prevent 3.7.0 from appearing as unsupported in buildpack messaging.

92
# 136 (2018-06-28)
93 94 95

Upgrade to 3.6.6 and support 3.7.0 on all runtimes.

96
# 135 (2018-05-29)
97 98 99

Upgrade Pipenv to v2018.5.18.

100
# 134 (2018-05-02)
Kenneth Reitz's avatar
Kenneth Reitz committed
101 102 103

Default to 3.6.5, bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
104 105 106 107
# 133

Fixes for Pip 10 release.

Kenneth Reitz's avatar
Kenneth Reitz committed
108 109 110 111
# 132

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

Kenneth Reitz's avatar
Kenneth Reitz committed
112 113 114 115
# 131

Fix bug with pip.

Kenneth Reitz's avatar
pip  
Kenneth Reitz committed
116 117 118 119
# 130

Better upgrade strategy for pip.

Kenneth Reitz's avatar
Kenneth Reitz committed
120 121
# 129

Kenneth Reitz's avatar
Kenneth Reitz committed
122
Don't upgrade pip (from v128).
Kenneth Reitz's avatar
Kenneth Reitz committed
123

Kenneth Reitz's avatar
pipenv  
Kenneth Reitz committed
124 125
# 128

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

Kenneth Reitz's avatar
Kenneth Reitz committed
128 129 130 131
# 127

Pin to Pipenv v11.7.1.

132 133 134 135
# 126

Bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
136 137 138 139
# 125

Bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
140
# 124
141

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

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

Kenneth Reitz's avatar
Kenneth Reitz committed
149 150
# 123

Kenneth Reitz's avatar
Kenneth Reitz committed
151
Update gunicorn `init.d` script to allow overrides.
Kenneth Reitz's avatar
Kenneth Reitz committed
152 153 154 155 156

# 122

Update default Python to v3.6.4.

Kenneth Reitz's avatar
Kenneth Reitz committed
157 158 159 160 161 162
# 121

Update default Python to v3.6.3.

# 120

Kenneth Reitz's avatar
Kenneth Reitz committed
163
Use `$ pipenv --deploy`.
Kenneth Reitz's avatar
Kenneth Reitz committed
164

Kenneth Reitz's avatar
Kenneth Reitz committed
165 166 167 168 169 170 171 172 173 174 175
# 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
176 177 178 179
# 117

Bug fix.

Kenneth Reitz's avatar
Kenneth Reitz committed
180
# 116
181

Kenneth Reitz's avatar
Kenneth Reitz committed
182 183 184 185
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).
186

187 188 189 190 191 192
# 115

Revert a pull request.

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

Kenneth Reitz's avatar
Kenneth Reitz committed
193 194 195 196 197 198
# 114

- Bugfixes.

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

Kenneth Reitz's avatar
Kenneth Reitz committed
199 200
# 113

201
Updates to Pipenv support.
Kenneth Reitz's avatar
Kenneth Reitz committed
202

Kenneth Reitz's avatar
Kenneth Reitz committed
203 204 205 206 207 208
# 112

Bugfix.

- Fixed grep output bug.

Kenneth Reitz's avatar
Kenneth Reitz committed
209 210
# 111

Kenneth Reitz's avatar
Kenneth Reitz committed
211
Linting, bugfixes.
Kenneth Reitz's avatar
Kenneth Reitz committed
212

213
# 110
214

215
Update default Python to 3.6.2.
216

Kenneth Reitz's avatar
Kenneth Reitz committed
217 218
# 109

219 220 221
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
222

Kenneth Reitz's avatar
Kenneth Reitz committed
223 224
# 108

225
Fix output for collectstatic step.
Kenneth Reitz's avatar
Kenneth Reitz committed
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242

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

243 244
# 104

Kenneth Reitz's avatar
Kenneth Reitz committed
245
General improvements.
246

Kenneth Reitz's avatar
Kenneth Reitz committed
247
- Fix for Heroku CI.
248 249 250 251 252
- 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
253 254 255 256 257 258 259 260 261 262
## 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
263 264 265 266 267 268
## 102

Buildpack code cleanup.

- Improved messaging around NLTK.

Kenneth Reitz's avatar
Kenneth Reitz committed
269 270 271 272 273 274
## 101

Updated setuptools installation method.

- Improved pipenv support.

Kenneth Reitz's avatar
v100!  
Kenneth Reitz committed
275 276 277 278
## 100

Preliminary pipenv support.

Kenneth Reitz's avatar
v99  
Kenneth Reitz committed
279 280 281 282
## 99

Cleanup.

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
283 284 285 286 287 288 289
## 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
290 291 292 293
## 97

Improved egg-link functionality.

Kenneth Reitz's avatar
v96  
Kenneth Reitz committed
294 295 296 297
## 96

Bugfix.

Kenneth Reitz's avatar
v95  
Kenneth Reitz committed
298 299
## 95

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
300
Improved output support.
Kenneth Reitz's avatar
v95  
Kenneth Reitz committed
301 302 303 304 305

## v94

Improved support for PyPy.

Kenneth Reitz's avatar
Kenneth Reitz committed
306 307 308 309
## v93

Improved support for PyPy.

Kenneth Reitz's avatar
v92  
Kenneth Reitz committed
310 311
## v92

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

Kenneth Reitz's avatar
Kenneth Reitz committed
314 315 316 317
## v91

Bugfix, rolled back to v88.

Kenneth Reitz's avatar
v90  
Kenneth Reitz committed
318 319 320 321
## v90

Bugfix.

Kenneth Reitz's avatar
v89  
Kenneth Reitz committed
322 323
## v89

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

Kenneth Reitz's avatar
v88  
Kenneth Reitz committed
326 327
## v88

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
328
Fixed bug with editable pip installations.
Kenneth Reitz's avatar
v88  
Kenneth Reitz committed
329

Kenneth Reitz's avatar
v87  
Kenneth Reitz committed
330 331 332 333
## v87

Updated default Python 2.7.13.

Kenneth Reitz's avatar
Kenneth Reitz committed
334 335 336
- 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
337 338 339 340
## v86

Refactor and multi-buildpack compatibility.

Kenneth Reitz's avatar
Kenneth Reitz committed
341 342
## v85

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
343
Packaging fix.
Kenneth Reitz's avatar
Kenneth Reitz committed
344

Kenneth Reitz's avatar
Kenneth Reitz committed
345 346 347 348 349 350 351
## v84

Updated pip and setuptools.

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

Kenneth Reitz's avatar
Kenneth Reitz committed
352 353
## v83

Kenneth Reitz's avatar
Kenneth Reitz committed
354 355
Support for Heroku CI.

Kenneth Reitz's avatar
Kenneth Reitz committed
356 357
- Cffi support for argon2

Kenneth Reitz's avatar
Kenneth Reitz committed
358 359 360 361 362 363
## 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
364 365 366 367
## v81 (2016-06-28)

Updated default Python to 2.7.11.

Kenneth Reitz's avatar
v87  
Kenneth Reitz committed
368 369
- Updated pip to v8.1.2.
- Updated setuptools to v23.1.0.
Kenneth Reitz's avatar
v81  
Kenneth Reitz committed
370

Kenneth Reitz's avatar
v80  
Kenneth Reitz committed
371 372 373 374
## v80 (2016-04-05)

Improved pip-pop compatibility with latest pip releases.

Kenneth Reitz's avatar
v79  
Kenneth Reitz committed
375 376 377 378
## v79 (2016-03-22)

Compatibility improvements with heroku-apt-buildpack.

Kenneth Reitz's avatar
Kenneth Reitz committed
379
## v78 (2016-03-18)
380 381 382 383 384 385 386 387 388 389 390

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
391
Updated pip to 8.1.1 and setuptools to 20.3.
Ed Morley's avatar
Ed Morley committed
392

393 394 395 396
## v77 (2016-02-10)

Improvements to warnings and minor bugfix.

Kenneth Reitz's avatar
Kenneth Reitz committed
397
## v76 (2016-02-08)
Kenneth Reitz's avatar
v76  
Kenneth Reitz committed
398 399 400 401 402 403 404

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

Kenneth Reitz's avatar
v75  
Kenneth Reitz committed
408 409 410 411
## v75 (2016-01-29)

Updated pip and Setuptools.

Kenneth Reitz's avatar
v74  
Kenneth Reitz committed
412 413 414
## v74 (2015-12-29)

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

Kenneth Reitz's avatar
v72  
Kenneth Reitz committed
416 417 418 419
## v72 (2015-12-07)

Updated default Python to 2.7.11.

Kenneth Reitz's avatar
v72  
Kenneth Reitz committed
420
## v72 (2015-12-03)
Kenneth Reitz's avatar
v71  
Kenneth Reitz committed
421 422 423

Added friendly warnings for common build failures.

Kenneth Reitz's avatar
Kenneth Reitz committed
424 425 426 427
## v70 (2015-10-29)

Improved compatibility with multi and node.js buildpacks.

Kenneth Reitz's avatar
Kenneth Reitz committed
428 429 430 431 432 433 434 435 436 437 438
## 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
439

Kenneth Reitz's avatar
v66  
Kenneth Reitz committed
440 441 442 443
## v66 (2015-10-09)

Improved compatibility with multi and node.js buildpacks.

Kenneth Reitz's avatar
v65  
Kenneth Reitz committed
444 445 446 447
## v65 (2015-10-08)

Reverted v64.

Kenneth Reitz's avatar
v64  
Kenneth Reitz committed
448 449 450 451 452 453 454 455 456 457 458 459
## 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
460 461 462 463 464 465 466
## 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
467 468
## v61 (2015-06-30)

Kenneth Reitz's avatar
Kenneth Reitz committed
469
Updated Pip and Setuptools.
Kenneth Reitz's avatar
v61  
Kenneth Reitz committed
470 471 472 473

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

Kenneth Reitz's avatar
Kenneth Reitz committed
474
## v60 (2015-05-27)
Kenneth Reitz's avatar
Kenneth Reitz committed
475

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

Kenneth Reitz's avatar
Kenneth Reitz committed
478 479 480
- Default Python version is v2.7.10
- Setuptools updated to v16.0
- Pip updated to v7.0.1