
On 2014-02-26 at 13:37:24 +0100, Johan Tibell wrote: [...]
If this is true, we could change the first two PVP rules to (differences in *italics*):
- 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 instances to be exported and thus force a major version change.
- Otherwise, if only new bindings, types, classes, *non-orphan instances*, or modules (but see below) were added to the interface, then A.B may remain the same but the new C must be greater than the old C.
and add the following clarifying sentence:
*If a package defines an orphan instance, it must depend on the minor version of the packages that define the data type and the type class to be backwards compatible. For example, build-depends: mypkg >= 2.1.1 && < 2.1.2.*
[...] general +1 from me