Joachim,
> the main driving motivation is that we really want libraries to stop building if their dependencies have introduced new methods.
So we want this because we introduce extra fields in a dependency and thus "silently" break all consumers? Not because
people write new green-field code and end up ignoring the warning? And even worse because you can transitively depend
on a library that was broken by one of its dependencies adding fields? This case was not clear to me from the proposal.
Wouldn't this be something that PVP should guard against? Adding new fields should result in a new major version, because
it's technically a breaking change?
I think this is more of an education/communication problem. The existing warnings do not seem to convey this insight very
well?
> Breaking change. If any entity was removed, or the types of any entities or **the definitions of datatypes or classes were changed**, or orphan instances were added or any instances were removed, then the new A.B MUST be greater than the previous A.B. Note that modifying imports or depending on a newer version of another package may cause extra orphan instances to be exported and thus force a major version change.
(emphasis mine)
Cheers,
Moritz