For me, its clear that package users should  be able to use minor version to specify exactly which package they want. It is almost impossible for a package author to ensure that his upgrade will not brake any existing clients. 
<br><br>If I have written and debugged a complex app using several 3rd party packages the last thing I need is for one of the package authors to break my perfectly fine application by releasing a new version that solves a bug for which I already had a work around and on which my app was relying. I do not care about the upgrade if my application is is already working. 
<br><br>Unfortunatly, the real contract between the package and the client is the package implementation.<br><br>-pp<br><br>