Mmm, two things of note:
1) As has been mentioned, I'm fairly sure you can fix on a given dependency.
2) Changes to upstream libraries trigger tests on consumers of that library, so breaking changes tend not to happen.
This doesn't prevent build breaking changes, it just makes the team using the library aware what is broken and they can have fix ready when they want to upgrade their dependencies.