Question about the PVP regarding changing A.B when no entities are removed/changed

José Pedro Magalhães dreixel at gmail.com
Thu Nov 6 11:06:44 UTC 2014


Hello all,

The PVP <https://www.haskell.org/haskellwiki/Package_versioning_policy>
seems to allow changing the A.B version numbers in a package even when no
entities are removed/changed; the phrasing is (my emphasis):

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


However, it seems to require changing the C nonetheless:

but the new C *must* be greater than the old C


As an example, I (mistakenly) released generic-deriving-1.7.0
<https://hackage.haskell.org/package/generic-deriving-1.7.0> 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!)

I think this is a bit odd. Shouldn't we either:

1) Require that A.B remain the same when no entities are removed/changed, or
2) Only require the C to be greater if the A.B remained the same?


Thanks,
Pedro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20141106/f20f74c8/attachment.html>


More information about the Libraries mailing list