It's not that uncommon for libraries to declare an overly strict maximum version, even if the code would actually work, because they can't know that at time of setting the version constraint.
Who'd want to be sure it fully breaks with an update instead of having a small chance (a part of) it breaks with an update?!
Who'd want to be sure it fully breaks with an update instead of having a small chance (a part of) it breaks with an update?!