<div dir="ltr">Hello all,<div><br></div><div>The <a href="https://www.haskell.org/haskellwiki/Package_versioning_policy">PVP</a> seems to allow changing the A.B version numbers in a package even when no entities are removed/changed; the phrasing is (my emphasis):</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">if only new bindings, types, classes, non-orphan instances or modules (but see below) were added to the interface, then A.B <b>may</b> remain the same</blockquote><div><br></div><div>However, it seems to require changing the C nonetheless:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">but the new C <b>must</b> be greater than the old C</blockquote><div><br></div><div>As an example, I (mistakenly) released <a href="https://hackage.haskell.org/package/generic-deriving-1.7.0">generic-deriving-1.7.0</a> after having added one function to it, bumping it from 1.6.3. If my interpretation of the PVP is correct, this change didn't follow the PVP only because I did not increase the C. Had I named it 1.7.4, it would have followed the PVP. (Oddly enough, 0.5.4 would have followed the PVP too!)</div><div><br></div><div>I think this is a bit odd. Shouldn't we either:</div><div><br></div><div>1) Require that A.B remain the same when no entities are removed/changed, or</div><div>2) Only require the C to be greater if the A.B remained the same?</div><div><br></div><div><br></div><div>Thanks,</div><div>Pedro</div></div>