Hi @timgraham!
Thanks for your input! As far as I understood the compatability checks, they point out changes of semantics, like
Required CSRF_TRUSTED_ORIGINS setting to include the scheme
The new check targets removed variables. That’s might be the line to separate these two (in my opinion) valid checks.
I believe warnings for removed, not deprecated (thank you, Carlton, for pointing out my mistake) setting variables do hold a great benefit. The main reason, especially the “for the rest of time” aspect is that Django focusses strongly on maintainability. This is awesome! Try upgrading React.js from one major version to the next. We should help people where we can on this topic.
Therefore, everything that helps the crowd get an upgrade done as soon as possible is a benefit from my point of view. And since we never know at what Django version people might start their upgrade journey, having support here (even since v1.0) is a plus. The other day, I got the request to take over and upgrade a 1.x Django project…
I caused data loss (yes, that’s unlucky and a little stupid from my side) by forgetting to update a variable. I work with Django for 12 years. I guess I know a lot of stuff in that area. I’d argue that if this can happen to me, it can happen to others. Especially if they are either new to Django or the given project.
I work in an agency. We’ve create A LOT of new Django projects over the years. Maintaining them is a constant challenge. Since maintenance almost never has proper customer focus, budget is tight and often devs maintain projects they haven’t built themselves. So again, I think that giving the devs more insight in what might be off is a big benefit.
True, the fellows have to keep this list in mind when removing variables but since neither Sarah nor Natalia have complained, I guess it’s not too much work. And there is a clear trigger when to do this. Furthermore, I don’t expect the list to explode to 500 entries any time soon, right? So I think the trade-off between fellow work and crowd benefit tips definitely to the benefits side.
[…] why are settings a special case that need to be checked for the rest of time?
Lastly, I would argue that settings are a must-have for any Django project. You might use Postgres - or you don’t. You might use templates - or you build something headless. But you have to have settings. Therefore we’ll have the chance to help everybody. In addition, settings are framework-specific and not that easy to grasp (the list is really long in most projects).
Sorry for the wall of text I hope I could break a lance for this feature.
Best from Cologne
Ronny