Honestly, Stef, if it isn't random then what is the strategy for these changes? Looking at the past Squeak versions, starting from 3.6 every version was just incompatible enough with previous versions such that it would break any serious user of the metaclass hierarchy (like Tweak). I think you will agree that it can't continue that way, that at some point we need to get back to what can be called a *stable* metaclass kernel with reliable APIs and when exactly will that point be reached?
To improve software, it is required to break backward compatibility. Nobody is forcing you to move to a new version.
If updates to the base-framework don't enhance anything in the development process of your software, it is unnecessary to update. If I were you, I would stick with 3.6. Still waters run deep.
I have some legacy Seaside applications in ancient 3.6 images that run just fine. They rarely change. They simply run fine. I won't port them to 3.9 and a recent version of Seaside. These applications don't require anything more as it is available in 3.6. However, for new applications I take 3.9, I love Shout/eCompletion/OmniBrowser/Traits/Pragmas/ToolBuilder/... I like to keep up-to-date as long as it improves my productivity.
Lukas