3 ms·
Django is my gold standard for this. They have great deprecation policies where they deprecate something in the same release that they add alternatives (allowin
by rtpg 8y ago
Django is my gold standard for this. They have great deprecation policies where they deprecate something in the same release that they add alternatives (allowing for you to fix things up before upgrading Django), they document these changes liberally and offer alternatives, make good use of the warnings system (meaning you can run tests in "deprecated functions not allowed" mode to catch stuff), and generally are careful.
I'm still shocked at the number of projects that make breaking changes without first releasing a "support both versions" release that lets people test their changes easily. Especially frustrating when you have really basic environment variable renames that could support the deprecated name as a one-liner so easily.
Give people the space to upgrade please!
- sametmax 8y agoSame. They are not only very patient, but provide migration documentation and helpers. It's also amazing how long they stayed at 0.96 despite being very stable. Then 1.x for a long time too. It has a cost though: django has a hard time going async since it breaks everything. All in all, the python community has a good culture for this. Even the 2 to 3 migration was given more than a decade to proceed. Yet, i feel like we still get a lot of complains, while in js or ruby land you can break things regularly and fans scream it's fine.