[Haskell-cafe] Why does Haskell PVP have two values for the major version? "A.B..." and a couple other questions

Zach Moazeni zach.moazeni at gmail.com
Tue Dec 16 01:42:48 UTC 2014


Forgive me if this is a frequently asked question, I've searched the web
and can't find an answer. I originally sent this to the Beginners list and
someone said this might get more responses here instead.

What is the history that led up to the PVP
<https://www.haskell.org/haskellwiki/Package_versioning_policy> specifying
two values as the major version?

I come from other tools that primarily use http://semver.org/ (or a
variant) and I'm confused in what cases I should bump "A" but not "B" (or
bump "B" but not "A")?

A concrete example: If I make backwards incompatible changes to a package
whose latest version is 1.0.x, should the next version be 2.0.x or 1.1.x?
What sorts of things should I consider for choosing 2.0 over 1.1 and vice

Another question, by far most packages I have encountered either lead with
a 0 or a 1 for "A". Does that have some bearing on the long term stability
that package users should expect in the future?

Finally, if "1.0.x.." is meant to convey a level of long term support, does
"B" get rarely used? Since "C" version bumps to include backwards
compatible additions, and "D"+ for backwards compatible bug fixes. (I know
"D" isn't technically a PVP category, I'm just relating it to the patch
version of semver).

Thanks for your help!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20141215/8a7c6632/attachment.html>

More information about the Haskell-Cafe mailing list