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

Vincent Hanquez tab at snarc.org
Tue Dec 16 11:39:00 UTC 2014

On 16/12/2014 11:23, Roman Cheplyaka wrote:
> So I need to wait till I have an API-breaking change in order to mark a
> package as stable? That's... ironic.
This is one of my issue with the PvP. with the PvP versioning you're not 
able to convey any other informations apart from the API "changing".

Which means you can't properly convey:

* major new features: by bumping the major, despite the API not changing
* security (by bumping the minor or patchlevel, regardless if the API 
* the stability (bumping to 1.x).

Text is one of canonical example when it was bumped to 1.x recently and 
lots of people complained that it wasn't the right thing to do.

> Also, if the library is stable enough, people would constraint the A
> version (e.g. 'containers < 1'), asserting that their package will
> probably continue to build even under minor API-breaking changes which
> are typical for stable packages. Now, by bumping my A version for a
> minor breaking change, I'm acting exactly against their intention,
> saying "hey, this is a massive change, you'd better pay attention before
> using it". That's not what an actual stable package is supposed to do.


More information about the Haskell-Cafe mailing list