Frank wrote: >I'd argue that since you're declaring that a certain set of versions >of packages work together, you should _always_ use explicit versions. >The "optimistic" strategy leaves you vulnerable to third parties >making seemingly innocuous changes that break your code. (I've been >bitten by this, by making such an apparently innocuous change.)
Thank you. That's a clear vulnerability of the optimistic strategy. That sounds nice, but also means getting a change rate that is the sum of that of all your dependencies. It is also not very nice when you are depending on things that have known bugs you know will be fixed soon. What does it mean that a certain set of versions work together? Implicit seems the assumption that #Pharo2x is #stable, and we don't talk about the vm version or even worse the non-smalltalk dependencies. I don't see Metacello descriptions specifying all loaded packages. Stephan