Advertising

In thinking about how we might specify that we want to depend on
major versions but sometimes need to specify minimum versions, the
following occurred to me:
- Suppose that we always had access to the latest released version,
- Suppose that, within a major release, all releases were backward
compatible,
Then I assert that there is no *need* to specify a minimum release
within a major release.

I fear my colleagues responsible to maintain the productive versions
would not be happy:
They want the system to be as stable as possible.
If they need to introduce a new component, they usually
prefer to just add this one component. Only if this forces
other updates, they reluctantly will make them.
The motivation for this behaviour: even if a newer version
is supposed to be backward compatible, it often has slightly different
behaviour which may trigger bugs in the other parts of a complex system.

That's why one should have enough tests...although tests will never
cover all cases.
-aj