CHANGELOG.md 8.31 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
- Add support for Python 3.8 branch
Casey Faist's avatar
Casey Faist committed
6 7
- Sqlite3 Update:
  - Add Tests
8
  - Test for Pysqlite
Casey Faist's avatar
Casey Faist committed
9
- Add support for staging binary testing
Casey Faist's avatar
Casey Faist committed
10 11
--------------------------------------------------------------------------------

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

- Typo fixes

Casey Faist's avatar
Casey Faist committed
16
# 156 (2019-09-12)
Casey Faist's avatar
Casey Faist committed
17

18
- Python 3.6.9 and 3.7.4 now available.
Casey Faist's avatar
Casey Faist committed
19

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

# 155 (2019-08-22)

add docs and make target for heroku-18 bob builds

28 29 30 31
# 154 (2019-07-17)

Fix python 3.5.7 formula actually building 3.7.2

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

Hotfix for broken heroku-16 deploys

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

Python 3.7.3 now available.

# 151 (2019-03-21)
Casey's avatar
Casey committed
41 42 43

Python 3.5.7 and 3.4.10 now available on all Heroku stacks.

Casey's avatar
Casey committed
44 45 46 47
# 150 (2019-03-13)

Python 2.7.16 now available on all Heroku stacks.

Casey's avatar
Casey committed
48 49 50 51
# 149 (2019-03-04)

Hotfix for broken Cedar 14 deploys

Casey's avatar
Casey committed
52 53 54 55
# 148 (2019-02-21)

No user facing changes, improving internal metrics

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

Python 3.7.2 and 3.6.8 now available on all Heroku stacks.

60
# 146 (2018-11-11)
61

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

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

Testing and tooling expanded to better support new runtimes

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

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

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

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

Improvements to Python install messaging

Casey Faist's avatar
Casey Faist committed
82 83 84 85
# 139, 140, 141

No user-facing changes, documenting for version clarity

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

Use stack image SQLite3 instead of vendoring

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

Prevent 3.7.0 from appearing as unsupported in buildpack messaging.

94
# 136 (2018-06-28)
95 96 97

Upgrade to 3.6.6 and support 3.7.0 on all runtimes.

98
# 135 (2018-05-29)
99 100 101

Upgrade Pipenv to v2018.5.18.

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

Default to 3.6.5, bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
106 107 108 109
# 133

Fixes for Pip 10 release.

Kenneth Reitz's avatar
Kenneth Reitz committed
110 111 112 113
# 132

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

Kenneth Reitz's avatar
Kenneth Reitz committed
114 115 116 117
# 131

Fix bug with pip.

Kenneth Reitz's avatar
pip  
Kenneth Reitz committed
118 119 120 121
# 130

Better upgrade strategy for pip.

Kenneth Reitz's avatar
Kenneth Reitz committed
122 123
# 129

Kenneth Reitz's avatar
Kenneth Reitz committed
124
Don't upgrade pip (from v128).
Kenneth Reitz's avatar
Kenneth Reitz committed
125

Kenneth Reitz's avatar
pipenv  
Kenneth Reitz committed
126 127
# 128

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

Kenneth Reitz's avatar
Kenneth Reitz committed
130 131 132 133
# 127

Pin to Pipenv v11.7.1.

134 135 136 137
# 126

Bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
138 139 140 141
# 125

Bugfixes.

Kenneth Reitz's avatar
Kenneth Reitz committed
142
# 124
143

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

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

Kenneth Reitz's avatar
Kenneth Reitz committed
151 152
# 123

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

# 122

Update default Python to v3.6.4.

Kenneth Reitz's avatar
Kenneth Reitz committed
159 160 161 162 163 164
# 121

Update default Python to v3.6.3.

# 120

Kenneth Reitz's avatar
Kenneth Reitz committed
165
Use `$ pipenv --deploy`.
Kenneth Reitz's avatar
Kenneth Reitz committed
166

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

Bug fix.

Kenneth Reitz's avatar
Kenneth Reitz committed
182
# 116
183

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

189 190 191 192 193 194
# 115

Revert a pull request.

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

Kenneth Reitz's avatar
Kenneth Reitz committed
195 196 197 198 199 200
# 114

- Bugfixes.

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

Kenneth Reitz's avatar
Kenneth Reitz committed
201 202
# 113

203
Updates to Pipenv support.
Kenneth Reitz's avatar
Kenneth Reitz committed
204

Kenneth Reitz's avatar
Kenneth Reitz committed
205 206 207 208 209 210
# 112

Bugfix.

- Fixed grep output bug.

Kenneth Reitz's avatar
Kenneth Reitz committed
211 212
# 111

Kenneth Reitz's avatar
Kenneth Reitz committed
213
Linting, bugfixes.
Kenneth Reitz's avatar
Kenneth Reitz committed
214

215
# 110
216

217
Update default Python to 3.6.2.
218

Kenneth Reitz's avatar
Kenneth Reitz committed
219 220
# 109

221 222 223
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
224

Kenneth Reitz's avatar
Kenneth Reitz committed
225 226
# 108

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

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

245 246
# 104

Kenneth Reitz's avatar
Kenneth Reitz committed
247
General improvements.
248

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

Buildpack code cleanup.

- Improved messaging around NLTK.

Kenneth Reitz's avatar
Kenneth Reitz committed
271 272 273 274 275 276
## 101

Updated setuptools installation method.

- Improved pipenv support.

Kenneth Reitz's avatar
v100!  
Kenneth Reitz committed
277 278 279 280
## 100

Preliminary pipenv support.

Kenneth Reitz's avatar
v99  
Kenneth Reitz committed
281 282 283 284
## 99

Cleanup.

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

Improved egg-link functionality.

Kenneth Reitz's avatar
v96  
Kenneth Reitz committed
296 297 298 299
## 96

Bugfix.

Kenneth Reitz's avatar
v95  
Kenneth Reitz committed
300 301
## 95

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

## v94

Improved support for PyPy.

Kenneth Reitz's avatar
Kenneth Reitz committed
308 309 310 311
## v93

Improved support for PyPy.

Kenneth Reitz's avatar
v92  
Kenneth Reitz committed
312 313
## v92

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

Kenneth Reitz's avatar
Kenneth Reitz committed
316 317 318 319
## v91

Bugfix, rolled back to v88.

Kenneth Reitz's avatar
v90  
Kenneth Reitz committed
320 321 322 323
## v90

Bugfix.

Kenneth Reitz's avatar
v89  
Kenneth Reitz committed
324 325
## v89

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

Kenneth Reitz's avatar
v88  
Kenneth Reitz committed
328 329
## v88

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
330
Fixed bug with editable pip installations.
Kenneth Reitz's avatar
v88  
Kenneth Reitz committed
331

Kenneth Reitz's avatar
v87  
Kenneth Reitz committed
332 333 334 335
## v87

Updated default Python 2.7.13.

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

Refactor and multi-buildpack compatibility.

Kenneth Reitz's avatar
Kenneth Reitz committed
343 344
## v85

Kenneth Reitz's avatar
v98  
Kenneth Reitz committed
345
Packaging fix.
Kenneth Reitz's avatar
Kenneth Reitz committed
346

Kenneth Reitz's avatar
Kenneth Reitz committed
347 348 349 350 351 352 353
## v84

Updated pip and setuptools.

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

Kenneth Reitz's avatar
Kenneth Reitz committed
354 355
## v83

Kenneth Reitz's avatar
Kenneth Reitz committed
356 357
Support for Heroku CI.

Kenneth Reitz's avatar
Kenneth Reitz committed
358 359
- Cffi support for argon2

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

Updated default Python to 2.7.11.

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

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

Improved pip-pop compatibility with latest pip releases.

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

Compatibility improvements with heroku-apt-buildpack.

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

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

395 396 397 398
## v77 (2016-02-10)

Improvements to warnings and minor bugfix.

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

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

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

Updated pip and Setuptools.

Kenneth Reitz's avatar
v74  
Kenneth Reitz committed
414 415 416
## v74 (2015-12-29)

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

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

Updated default Python to 2.7.11.

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

Added friendly warnings for common build failures.

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

Improved compatibility with multi and node.js buildpacks.

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

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

Improved compatibility with multi and node.js buildpacks.

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

Reverted v64.

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

Kenneth Reitz's avatar
Kenneth Reitz committed
471
Updated Pip and Setuptools.
Kenneth Reitz's avatar
v61  
Kenneth Reitz committed
472 473 474 475

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

Kenneth Reitz's avatar
Kenneth Reitz committed
476
## v60 (2015-05-27)
Kenneth Reitz's avatar
Kenneth Reitz committed
477

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

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