Platform policy question: API compatability in minor releases
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
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
Platform.
The current scheme is described here:
http://trac.haskell.org/haskell-platform/wiki/VersionNumbers
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:
http://trac.haskell.org/haskell-platform/wiki/VersionNumbers#Alternatives
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
changes.
Duncan
More information about the Libraries
mailing list