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
andtor-dirmgr = 0.4.0
for both the project and inarti-client
. Ifcargo update
is called after June 24, thenarti-client
will update to version0.4.1
, which depends ontor-dirmgr = 0.5.0
, but the project itself will stay withtor-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.