Python 3.4 reaches EOL on 2019-03-16 and is no longer supported by the core Python team.
I propose the 2019-04-01 release (or another TBD) should be major release 6.0.0 and we also bundle in some deprecation warning removals at the same time.
[x] Drop Python 3.4
From the deprecations page, but only if deprecated for a year (per https://github.com/python-pillow/Pillow/issues/1087#issuecomment-121655443):
[x] Remove deprecated (since 4.0.0/2017-01) PIL.OleFileIO in favour of olefile Python package (https://github.com/python-pillow/Pillow/pull/2199, https://github.com/python-pillow/Pillow/pull/2784)
[x] Remove deprecated (4.3.0/2017-10) ImageOps undocumented functions (https://github.com/python-pillow/Pillow/pull/2735)
[x] Remove deprecated (5.2.0/2018-07) ~PILLOW_VERSION and~ VERSION (https://github.com/python-pillow/Pillow/pull/3090)
~Remove deprecated (5.3.0/2018-10) setting of TIFF image sizes, make read-only (https://github.com/python-pillow/Pillow/pull/3203)~ (<1 year)
[x] Docs and release notes: https://github.com/python-pillow/Pillow/pull/3600
Anything else?
Thoughts, objections, additions?
If 2019-04-01 is too early, when would be a suitable time?
For comparison, Python 3.3 was EOL on 2017-09-29 and was dropped on 2018-01-01 (https://github.com/python-pillow/Pillow/issues/2832) because pytest no longer supported it. We didn't drop it on 2017-10-01 as there weren't as big gains (https://github.com/python-pillow/Pillow/pull/2725) compared to 2.6/3.2.
Pip 19.0 is due out in a couple of days (https://github.com/pypa/pip/issues/6106) and deprecates support for Python 3.4 (https://github.com/pypa/pip/pull/6123). Pip 19.2 is due out in 2019-07 (https://github.com/pypa/pip/pull/5324) and will drop it.
Here's the pip installs for Pillow for the past 3 years:

For December 2018:
| category | percent | downloads |
|----------|--------:|----------:|
| 2.7 | 43.15% | 1,876,219 |
| 3.6 | 33.90% | 1,474,337 |
| 3.5 | 11.00% | 478,468 |
| 3.7 | 7.75% | 336,983 |
| 3.4 | 3.43% | 149,201 |
| null | 0.67% | 29,012 |
| 3.3 | 0.06% | 2,747 |
| 2.6 | 0.02% | 1,034 |
| 3.8 | 0.01% | 395 |
| 3.2 | 0.00% | 53 |
| 2.4 | 0.00% | 8 |
| Total | | 4,348,457 |
Source: pypistats python_minor --last-month pillow
By OS, and limiting to 3.4:
| python_version | system_name | percent | download_count |
| -------------- | -------------------------------- | ------: | -------------: |
| 3.4 | Linux | 2.89% | 123,593 |
| 3.4 | Windows | 0.55% | 23,443 |
| 3.4 | Darwin | 0.02% | 837 |
| 3.4 | FreeBSD | 0.00% | 4 |
| 3.4 | CYGWIN_NT-10.0 | 0.00% | 2 |
| 3.4 | SunOS | 0.00% | 2 |
| 3.4 | OS400 | 0.00% | 1 |
Source: pypinfo --start-date 2018-12-01 --end-date 2018-12-31 --percent --markdown --limit 100 pillow pyversion system | grep 3.4
@python-pillow/pillow-team: Feedback welcome!
@hugovk LGTM. As a general rule "we don't support releases not supported Python Core Team" seems reasonable. It helps, in this case, that no one is using Pillow on 3.4 (if I'm reading your stats correctly at a glance.) If there were more usage, for example, I might be inclined to try to support longer.
Added in PR https://github.com/python-pillow/Pillow/pull/3090, released in 5.2.0 on 2018-07-01, __init__.py and Image.py say:
# VERSION is deprecated and will be removed in Pillow 6.0.0.
# PILLOW_VERSION is deprecated and will be removed after that.
# Use __version__ instead.
VERSION = '1.1.7' # PIL Version
PILLOW_VERSION = __version__ = _version.__version__
Also in release notes:
And recently added on this new page:
6.0.0 will be out 9 months after 5.2.0.
Shall we press ahead and remove VERSION in the upcoming 6.0.0, as advertised? (PILLOW_VERSION will remain until a later release.)
Or give it some more time and postpone it to 7.0.0?
The static VERSION (1.1.7) is the least useful of the two, so I think we're fine removing it in 6.0.0. See PR https://github.com/python-pillow/Pillow/pull/3624.
Most helpful comment
@hugovk LGTM. As a general rule "we don't support releases not supported Python Core Team" seems reasonable. It helps, in this case, that no one is using Pillow on 3.4 (if I'm reading your stats correctly at a glance.) If there were more usage, for example, I might be inclined to try to support longer.