It has been proposed (a long time ago) to change the way darcs
versions are numbered, and I've been thinking (for a long time :-)
The way I've been using is simply an extrapolation of how it was
done before me, supported by my interpretation of David's
expressed intentions at some point very long ago. That scheme is
But now we have darcs-unstable, so there is no need for a
parallel "experimental stable" branch version, unless we'd start
tagging and releasing experimental versions from darcs-unstable.
At some point a new patch theory will enter the picture. It has
already been talked about as darcs 2, not 1.1.0. All this speaks
in favor of dropping the odd/even numbering scheme.
The proposed scheme is
where is used solely for bug fixes. This could start
right away, but with the current build system it would have some
limitations. There would be no way of doing a new micro release
of a previous minor version; during the time between a minor
pre1 and final new minor release, there could be no micro
releases. This is of course already the case with no micro
releases at all, but what I'm trying to say is that we won't get
the full flexibility of micro releases, however users might
expect we have that. New patches would have to be pushed to
darcs stable only shortly before the next release, whether pre,
rc, minor or micro. This would limit the use of the daily build
and the beta testing we get from that.
The build system could of course be changed to fix this. The
easiest way would be if the Dist command supported a tag option,
but the makefile could also use Get/Put --tag + rm -rf _darcs/.
A bonus feature would be that the next version number wouldn't
have to be decided and updated in advance, which I find a little
un-intuitive. Instead one would simply pull together the new
version and make a tag for it.