diff --git a/ChangeLog b/ChangeLog index bbca8b2f..fd05f1ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2000-01-14 Gary V. Vaughan + * README: Some notes about libtool release numbers. + * mdemo/README: Explain the deliberate incompleteness of the Windows port. * mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL. diff --git a/README b/README index a8d16bc9..cf6ad623 100644 --- a/README +++ b/README @@ -65,3 +65,55 @@ libtool to a new platform, please send electronic mail to the libtool mailing list or bug reports to . Don't forget to mention the version of libtool that you are currently using (by typing `libtool --version'). + +People have complained that they find the version numbering scheme +under which libtool is released confusing... it works like this: + + . + +Releases with a less than 1 were not yet feature +complete. If libtool ever undergoes a major rewrite or substantial +restructuring, the will be incremented again. In the +mean time, whenever we make a stable release it will have its + incremented with respect to the previous stable +release. + +So that alpha releases can be distinguished from stable releases, +we append a letter to them, starting with `a' and continuing +alphabetically: + + . + +Since alpha releases are start with the code of a previous stable +release, the and are the same as the +stable release they started with. So release `1.3a' is the first +alpha release after stable release `1.3', and so on. + +To complicate matters slightly we always increment the letter in the +repository before *and* after making a release tarball. This means +that "odd" letters (a,c,e,g...) only exist in the repository, and +"even" letters are used instantaneously for an alpha release. For +example, you can tell that libtool-1.3c is an alpha release that is a +snapshot of the repository taken between official alpha releases +1.3b and 1.3d. Since the odd lettered alpha release number potentially +cover many states of the tree, we somtimes qualify such releases by +adding the cvs version of the ChangeLog: + + $ libtool --version + ltmain.sh (GNU libtool) 1.3c (1.666 2000/01/14 13:50:21) + +Finally, if we need to make a patch release to fix bugs in a stable +release, and the development on the trunk has made the tree unstable, +we use a third number, so: + + .. + + $ libtool --version + ltconfig (GNU libtool) 1.3.4 (1.385.2.196 1999/12/07 21:47:57) + +There might be several patch releases to the last stable release, +and all happening concurrently with alpha releases. For example, +libtool-1.3.4 and libtool-1.3b might be available at the same time: +`1.3.4' is the fourth patch release after stable release `1.3'; +`1.3b' is the first alpha release after stable release `1.3'. +