Platform policy question: API compatability in minor releases

Duncan Coutts duncan.coutts at
Wed May 13 14:31:46 EDT 2009

On Wed, 2009-05-13 at 20:15 +0200, Sven Panne wrote:
> Am Mittwoch, 13. Mai 2009 19:28:45 schrieb Johan Tibell:
> > I think Duncan meant that we first choose the policy and then adjust the
> > version numbering scheme of HP to match.
> Hmmm, perhaps I'm a bit slow today, but I don't understand this: What the PvP 
> on the Wiki describes is more or less numbering folklore, with the only 
> exception that we use two places for the major number instead of one, which is 
> more common. Following the principle of least surprise, I therefore consider 
> the PvP as "carved in stone". The HP is just another package, so what can be 
> adjusted?

Sorry, I don't think I explained it well (and my other reply had a
questionable standard of English).

The thing that can be adjusted is the version scheme for the Haskell

The current scheme is described here:

But this is not set in stone.

If we decide that we only want to allow bug fixes in minor releases and
that we do want the platform to follow the PVP then we would have to
adjust the above scheme, see:

which says:

        It has been suggested that the platform version numbers follow
        the PVP in the sense that the platform is the union of all it's
        components. In this case, if we agreed that there are no API
        changes in minor releases then the general scheme would be
                $year . $major-release . 0 . $minor-version
        That is, the 3rd digit would always be zero. This would be
        because major releases typically have some slight incompatible
        change in at least one package while minor releases do not
        change any API at all, only fix bugs, so only the 4th digit


More information about the Libraries mailing list