But those versions might contain vulnerabilities, and the new version might fix those while being fully compatible in every other way, in which case you really do want the upgrade.
Those dependencies should really declare when they change existing behaviour of the previous versions, and only then should your application refuse the upgrade.
No idea if there is a system that works that way; I can imagine it could get hideously complex.