Once 3.9 has been released I think we probably ought to drop our support for Django 1.11 and Python 2.7. We can start by dropping these from master, and then have our 3.10 release be the first to only support Python 3 onwards.
Should we drop Python 2 but otherwise support Django 1.11 until the next LTS is released?
Dropping support of python 2 after 3.9 release and waiting for dropping django 1.11 after the release of django 2.2 alpha at least? I would like to volunteer to drop python 2 support if needed.
In the meantime, I was surprised given that Python 2 is so close to EOL that places in the docs are still Python-2 first.
https://www.django-rest-framework.org/api-guide/relations/#inspecting-relationships
>>> print repr(serializer) # Or print(repr(serializer)) in Python 3.x.
Shouldn't these be instead:
>>> print(repr(serializer)) # Or `print repr(serializer)` in Python 2.x.
Though, actually in Python 2.7, both are valid, so perhaps at least this example should just be:
>>> print(repr(serializer))
Unfortunately some will have gone under our radars.
Note that we can now drop Python 3.4 as well, which just went EOL on the 18th.
edit: we probably should drop Python 3.4, since pip is giving warnings about its support.
I did manage to fix test issue at https://github.com/encode/django-rest-framework/pull/6591 which is a fix for https://github.com/encode/django-rest-framework/pull/6277 from @auvipy
@carltongibson IMHO the title should be changed to Python 2.7 and 3.4 drops.... not Django 1.11 before 3.0 release at least.
Removing from the milestone, since we've already dropped Python 2 support, and I don't think we want to drop Django 1.11 until Django 3.0 is released.
Most helpful comment
Should we drop Python 2 but otherwise support Django 1.11 until the next LTS is released?