Hello everyone, I'm planning on writing a PEP on long-term API stability for Django. Most of the rationale behind this kind of commitment is described here : https://www.freecodecamp.org/news/api-stability-is-cheap-and-easy/
The idea is that the django ecosystem has suffered a lot, over the past decade, from the numerous breakages happening at each (minor) release. I could write pages just about what "outsiders" like me endured regarding neverending URL patterns changes. Lots of pluggable apps, and their own plugins and bridges, have become incompatible with each other due to sticking to different django versions, or to lack of Tox-like cross-version testing. Some undocumented breaking changes (like classes replaced by other ones but missing functionality, or laziness introduced without autoloading measures for backwards compatibility (RequestContext?)) also hindered misc projects, as seen in their bugtrackers. With *less* work than currently, except small changes in procedures, we can revive the majority of existing packages (except python2vs3 troubles), currently maintained or not, and make upgrades much smoother, which will also improve the overall security of django-backed sites (since users won't fear upgrades anymore). We can thus reach the same regard for compatibility as most industrial-size ecosystems, without sacrificing the cleanness of the codebase, nor its maintainability. For this, imho the best way is just have to include in Django official support for a companion library like https://github.com/pakal/django-compat-patcher , with which I've had immense success There are several ways of doing this, and for this more thoughts are necessary: - putting compatibility sets in the repository, as a django.compt submodule for example? - putting them in an external repository, but strongly advising them in tutorials and otehr docs, like a prime "official project" of django? There are probably aspects of the issue that I'm missing, as I'm not into django "core" development. So your feedbacks are more than welcome! Thanks, regards, Pakal -- 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/1d2f1399-3310-4b36-ae74-9581a0695002%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.