This is my favourite rant on the topic of software upgrades:<p><a href="http:&#x2F;&#x2F;stevelosh.com&#x2F;blog&#x2F;2012&#x2F;04&#x2F;volatile-software&#x2F;" rel="nofollow">http:&#x2F;&#x2F;stevelosh.com&#x2F;blog&#x2F;2012&#x2F;04&#x2F;volatile-software&#x2F;</a><p>Boy, how I dislike upgrading Django. Look at all this breakage (and this is only the intentional, documented changes, and only across one release):<p><a href="https:&#x2F;&#x2F;docs.djangoproject.com&#x2F;en&#x2F;1.9&#x2F;releases&#x2F;1.9&#x2F;#backwards-incompatible-changes-in-1-9" rel="nofollow">https:&#x2F;&#x2F;docs.djangoproject.com&#x2F;en&#x2F;1.9&#x2F;releases&#x2F;1.9&#x2F;#backward...</a><p>I appreciate much more policies like these:<p><pre><code>    Suggestions to change the default output of these
    commands will not be treated with patience.
</code></pre>
<a href="https:&#x2F;&#x2F;www.mercurial-scm.org&#x2F;wiki&#x2F;CompatibilityRules#Introduction" rel="nofollow">https:&#x2F;&#x2F;www.mercurial-scm.org&#x2F;wiki&#x2F;CompatibilityRules#Introd...</a>