Ok, here's my proposal for the version numbering issue.  I think we should
bite the bullet and fix the numbering scheme to something sensible now, even
though it means changing version 4.07 to be called 4.08.  Any objections?  

I suggest the policy should be:

        Stable releases are named

                x.yy.z

        where yy is even, z is the patchlevel (omitted if zero).

        patchlevel changes are *strictly bug-fix only*, so we
        don't bump the __GLASGOW_HASKELL__ version.  No change
        to the policy here, except that we've screwed up a couple
        of times in the past :)  Patchlevels don't break binary
        compatibility, i.e. you can upgrade your compiler a
        patchlevel without breaking anything.

        Unstable versions are named

                x.yy.preYYYYMMDD

        where yy is odd, YYYYMMDD is the date that the CVS tree
        was checked out.  When the tree is branched, the branch
        will retain its odd version number until *just before 
        release*, and the trunk will have its version number bumped
        to the next odd number.  The value of __GLASGOW_HASKELL__ for
        an unstable snapshot will be (100x + yy), and shouldn't be
        depended on except by virtue of being > (100x + yy-1).

        Tags:

                ghc-x-yy                a release tag
                ghc-x-yy-z              a patchlevel tag
                ghc-x-yy-branch branch tag, before release

                (yy even in all tags).

Cheers,
        Simon

Reply via email to