> In my experience, the upper limit on the minor version is most often arbitrary
In my experience, this is the dependency version that was used when testing the library depending on it. As soon as your tool swaps it out for a newer version, you actually run an untested combination. Yes, it should work. But as we all know, it often does not.
And then the tool does not even have a proper feature to enable you fixing it on your side (e.g., by pinning a whole dependency tree).