haskell / pvp

Haskell Package Version Policy (PVP)
http://pvp.haskell.org/
38 stars 26 forks source link

Clarify rule two #40

Open Taneb opened 2 years ago

Taneb commented 2 years ago

Rule 2 currently says:

Non-breaking 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. Note that modifying imports or depending on a newer version of another package may cause extra non-orphan instances to be exported and thus force a minor version change.

There's an ambiguity here. It could be read as requiring C to be increased only when A.B remains the same (which I believe to be intended), or it could be read as requiring C to be increased regardless of whether A.B remains the same. Could this wording be made more clear?

bergmark commented 2 years ago

I agree, if the initial version is v0=A.B.C then v1 must have an increment in at least one of those components

juhp commented 2 years ago

I suppose the intended wording could be "but then ".