Opened 5 years ago

Closed 5 years ago

Last modified 8 months ago

#30116 closed Cleanup/optimization (fixed)

Drop support for Python 3.5

Reported by: Tim Graham Owned by: Tim Graham
Component: Core (Other) Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


Django 2.2 LTS, supported until April 2022, is the last version to support Python 3.5 (end of life: September 2020).

Change History (13)

comment:1 by Tim Graham, 5 years ago

Has patch: set

comment:2 by Claude Paroz, 5 years ago

I'm not so enthusiast to drop Python 3.5 now (it is still the default version in Debian stable). Couldn't this be done in Django 3.1 instead?

comment:3 by Tim Graham, 5 years ago

If that's the consensus, I guess we should rewrite our policy about Python version support and instead base it on Debian (you made the same argument about Python 3.4 support).

Typically, we will support a Python version up to and including the first Django LTS release whose security support ends after security support for that version of Python ends. For example, Python 3.3 security support ends September 2017 and Django 1.8 LTS security support ends April 2018. Therefore Django 1.8 is the last version to support Python 3.3.

comment:4 by Claude Paroz, 5 years ago

It's not a consensus at all for now, I'm just on the side on the very conservative people wrt long time support software. Feel free to ignore me if I'm on a small minority boat. I'm not vindictive :-)

comment:5 by Simon Charette, 5 years ago

Thanks for your input Claude. I also think we should stick to our documented policy as well to be coherent with the previous releases.

I'm not too familiar with Debian's package policy but given 2.2 LTS is not going away anytime soon nothing should prevent them from sticking to it until stable defaults to 3.6+?

Last edited 5 years ago by Simon Charette (previous) (diff)

comment:6 by Claude Paroz, 5 years ago

Yes, sure, it's more about people willing to contribute to Django master will have to install a custom Python version in current Debian stable (the next one should be out this summer).

comment:7 by Tim Graham, 5 years ago

I created a django-developers discussion regarding the Python version support policy.

comment:8 by Carlton Gibson, 5 years ago

There's not consensus to change the policy on the mailing list, so we can push forward with this.

comment:9 by Tim Graham <timograham@…>, 5 years ago

Resolution: fixed
Status: assignedclosed

In 7e6b214:

Fixed #30116 -- Dropped support for Python 3.5.

comment:10 by Mariusz Felisiak <felisiak.mariusz@…>, 5 years ago

In b711eafd:

Refs #30116 -- Removed unnecessary str() calls in CommonPasswordValidator.

open() and supports path-like objects since Python 3.6.

comment:11 by Mariusz Felisiak <felisiak.mariusz@…>, 4 years ago

In e0e88cea:

Refs #30116 -- Simplified stdout/stderr decoding with's encoding argument.

The encoding argument has been available since Python 3.6.

comment:12 by Mariusz Felisiak <felisiak.mariusz@…>, 4 years ago

In d6aff369:

Refs #30116 -- Simplified regex match group access with Match.getitem().

The method has been available since Python 3.6. The shorter syntax is
also marginally faster.

comment:13 by GitHub <noreply@…>, 8 months ago

In 4afaeb14:

Refs #30116 -- Simplified tests related with dictionary order.

Dicts preserve order since Python 3.6.

Note: See TracTickets for help on using tickets.
Back to Top