Hi All,

tldr: I think we should keep django.core.urlresolvers forever, or at least 
much much longer. Moving things to django.core.urls makes sense; removing 
the one line import shim from django.core.urlresolvers doesn't make sense 
to me.

General thoughts about compatibility, using this situation an example:

I think that if it's not broken, we should avoid breaking it. :) Some 
features are buggy or problematic or have bad api design and should be 
deprecated and removed. This is a simple rename so it only requires one 
file with one line of code (an import statement) to maintain full backwards 
compatibility here. Maybe we need also need a little doc stub saying that 
django.core.urlresolvers was renamed to django.core.urls and the new 
location is preferred. It seems to me when there's almost zero maintenance 
burden to not removing something, we shouldn't remove it, especially when 
it's an established and core api.

We have a stable api promise[1], and we should stick to it. "If, for some 
reason, an API declared stable must be removed or replaced, it will be 
declared deprecated but will remain in the API for at least two feature 
releases". I don't see this as a "must" situation.

There's enough changes to undocumented api's already happening that it 
would be great if the documented ones didn't change as much.

I hard code most of my urls, so it's only 41 lines of my code across 7 
projects of mine that would need to eventually get changed. Sure, it's a 
simple find and replace, but it's one more thing that almost every django 
project maintainer will need to eventually do.

Or, maybe I'm the the only one who thinks we deprecate and remove things 
too often. I feel like I ask for backwards compatibility a lot, even though 
I haven't been helping out with django as much as I used to.

Again, there's nothing specific about this case, there are plenty of other 
changes that I wish I noticed and spoke up about earlier: (assignment_tag, 
patterns(), django.conf.urls.defaults, generic.simple, etc).

And to be clear, some deprecations (like removing allow_tags) are really, 
really good. :)

Thanks,
Collin

[1] https://docs.djangoproject.com/en/dev/misc/api-stability/


On Wednesday, December 30, 2015 at 1:16:12 PM UTC-5, Michael Manfre wrote:
>
>
>
> On Wed, Dec 30, 2015 at 11:52 AM, Tim Graham <timog...@gmail.com 
> <javascript:>> wrote:
>
>> For that reason, I think we should reconsider making Django's deprecation 
>> warnings loud by default (at least in LTS versions) [1]. Otherwise, users 
>> will pester library authors to fix those warnings and we haven't really 
>> made things easier.
>>
>> Instead, the idea would be for library authors to continue using the 
>> deprecated APIs while supporting the LTS in which they are deprecated and 
>> the previous LTS. When the version of Django following the LTS is released, 
>> library authors can then drop support for all Django versions before the 
>> LTS, check their package with the LTS using python -Wall and make the 
>> deprecation warning fixes, then seamlessly add support for the next version 
>> of Django.
>>
>> Does that make sense?
>>
>
> This makes sense to me. +1
>
> Regards,
> Michael Manfre
>
> -- 
> GPG Fingerprint: 74DE D158 BAD0 EDF8
> keybase.io/manfre
>

-- 
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/1f054b71-45f5-467f-a672-5ede9b785075%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to