I’m glad we’re agreed on that ![]()
Before responding to the rest, either a Green Only or Plus Last Yellow Python support policy would see us innovating faster — since being able to use new language features so much sooner — than anything else here.
Your query implies you likely don’t believe this next but, I’ve been maintaining packages in the Django ecosystem for an age and day: You can always shim. Realistic examples where that’s not the case a few on the ground, if any.
GeneratedField is purely additive. If I wanted to start using it, I could, and just say This new bit is New Version Only™.
I didn’t follow all the details of your example about 5.1 fully… — I think the LTS one is the important one. But, yes, 12 months is longer than 8, and 3 years is longer than 2 years 8 months. I’m was absolutely aware of that making the proposal. ![]()
My point is that, such a slow down is negligible given our already slow release cycle. That whether I use temple-partials or the task backend from the external package for a few more months or not makes no (felt) difference at all.
So, yeah. Rhetorically, it feels like they should, but not really in practice. As a maintainer, the burden is (still) the old LTS, and that’s already a three year window (which I wouldn’t want to cut: the LTS is important to an large chunk of the user base).
And I also think, and have half-argued but will argue more, that by leaning into this we can actually free up innovation, where we’ve spent the last few years (or so it feels) struggling there. (Django has moved on — look at the releases! — but there’s this narrative…)
I sure we could perform any number of gymnastics to modify our current release cycle to try and accommodate some of the complaints. (Aside: It’s proven remarkably difficult to do, given how well it was first thought through for the 24 LTS cycle — search here and on django-developers for threads about adjusting the Python version support…)
I’m going to say, though, that the simplicity and clarity of the annual release cycle are stand out benefits on their own. When’s it released? When’s it supported to? Both utterly transparent. What Python does it support? Not on its sleeve but, again, totally clear.
It’s a conjecture but, I fully expect the rolling LTS approach to measurably increase the percentage of projects on a supported LTS version, simply by removing the gulf between LTS versions.
And now I feel like I’m just repeating arguments I made before, so I’ll stop…
More to say, but I hope I’ve at least engaged with your points.