Reconsider: Should a breaking change in a dependency mean a breaking change in a crate?

See #520 (comment 2821216) :

Before June 24, this will use arti-client = 0.4.0 and tor-dirmgr = 0.4.0 for both the project and in arti-client. If cargo update is called after June 24, then arti-client will update to version 0.4.1, which depends on tor-dirmgr = 0.5.0, but the project itself will stay with tor-dirmgr = 0.4.0. And then the compilation will fail because there is a version mismatch.

This actually does seem like a problem; it's not a good thing if cargo update makes somebody's code break.

Does this mean that we should declare that, in the future, updating to an incompatible version of a dependency is itself sometimes a breaking change? Or only when we expose one of the dependency's APIs? Or something else.