Frequent updates
Frequent updates
Posted May 22, 2025 5:47 UTC (Thu) by geofft (subscriber, #59789)Parent article: Recent disruptive changes from Setuptools
This is intuitively appealing from the point of view of "Wow, I was just broken by an update," because you extrapolate from that to the belief that _every_ update might break you. But the whole point of frequent releases like this is the exact opposite: that almost no updates do break you.
Keep in mind that the question here is not how much breakage happens. That happens at its own pace regardless of version number. The question is what the experience is of having the breakage happen to you. If there are three breaking changes that affect you happening in the span of five years, again, it's intuitively appealing to say that you want to be disrupted once instead of three times. But actually dealing with all three changes at once is much more difficult. If you don't have a handle on what broke, you have much more code to bisect. If you are trying to adopt a new feature, you now have a roulette wheel that will with one-third probability impose three times the work on you before you are able to adopt that feature. And in any case, you still have to actually deal with all three changes, so you're not doing any less work.
If you really, really want to have coarser-grained updates, there are various ways to pull that off; you can set a global constraints file on setuptools and upgrade versions rarely, you can use some sort of frozen mirror, you can use the OS-packaged version of setuptools, etc. If you're getting all 78 versions of setuptools, that's because you're installing directly from PyPI, and presumably have decided that subjecting yourself to whatever version of everything is current on PyPI is worth doing.
The Linux kernel, for instance, is on its 74th release in the 2.6.x series. It has a little more whimsy in its actual version numbering scheme than setuptools' spartan integers, but it's not actually conveying anything different. It has an infamously strict rule on backwards compatibility. And yet people do not upgrade to every minor release and pay good money for the ability to stay on a minor release for a decade (or more). I don't think I've ever seen a proposal that the fact that the kernel is on version 6.14 means that kernel development is moving far too quickly, and it would be nice to have fewer mainline kernel releases, each with a heftier set of changes.
