It's interesting to me that no one (besides Claude -- and that's based on his ability to contribute to Django) has indicated that they care about Python 3.5 support in their deployments of Django 3.0... so I wonder if there is really a strong need for it. Who is saying, "I want to use the latest version of Django, but I want to use a really old version of Python." ... then 8 months later when Django 3.1 is released ... oh, now I still want to use the latest version of Django but I can't because my Python is too old.
It's an analogous situation to Django 2.0 and Python 3.4. From the Django 2.0 release notes, "Django 2.0 will be the last release series to support Python 3.4. If you plan a deployment of Python 3.4 beyond the end-of-life for Django 2.0 (April 2019), stick with Django 1.11 LTS (supported until April 2020) instead. Note, however, that the end-of-life for Python 3.4 is March 2019." Is anyone in this situation? As I argued before, I think it's better to drop support for versions of Python after an LTS so that Django users aren't "stranded" on some unsupported Django because their Python is too old. If we amend the policy as suggested, then I think Django 2.1 (end of mainstream support in April) would have gotten Python 3.4 support (end of support in March) -- did anyone miss that? It's impossible to quantify how much work would be required to support the oldest version of Python an extra 8 or 16 months in Django's branch. It's not only keeping around workarounds for that older Python, but also developing new features with workarounds... and not being able to use new features in Python (or having to vendor them in Django, which then generally requires a deprecation of that vendored code). I think the justification to adopt a new policy should be clear. Currently I see "it would be nice" theoretical arguments. Let's hear from people who find the current Python support policy insufficient for their needs. On Thursday, January 24, 2019 at 12:04:35 PM UTC-5, Ryan Hiebert wrote: > > > On Thu, Jan 24, 2019 at 10:55 AM Adam Johnson <m...@adamj.eu <javascript:>> > wrote: > >> So, phrasing... maybe... as a draft: "Typically, we will support a Python >>> version unless it will be end of life before the corresponding version of >>> Django is outside of mainstream support. For example, Python 3.5 security >>> support ends September 2019, whilst Django 3.1 ends mainstream support in >>> April 2021. Therefore Django 3.0, which is end of life August 2019 is the >>> last version to support Python 3.5." >> >> >> +1. A subtle change on the existing policy but it makes a difference. >> > > That seems better to me as well. It only ties us to the support policy of > Python, not various special-cased distributions. My concern, though, is > that it weakens semantic versioning a bit, so we should do it carefully. We > don't follow it precisely, but if we drop support for a version of Python, > that seems to me like it would qualify as a breaking change, and should be > preferred to be done when changing major versions after an LTS release. If > that is deemed to not be a significant concern, then I think this proposed > policy is a reasonable one. > -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at https://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/afff11b1-5924-45a0-b204-99a2a04f5f39%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.