Rules for versions and release numbers.
 - The minor version number should be incremented whenever something changes that is visible
   to the programmer.  (This includes bug fixes.)
   (Occasionally, a release number is when supposedly there are changes completely invisible to the
    programmer.  I don't know if such things really happen, though.)
 - The major version number should change whenever the file format changes.
 - The _beta releases are for testing.  For example, if I am fiddling around trying to get things to work with RPM,
   I might vary the beta number (and also vary the rpm release number) without incrementing the minor version because
   no one else should ever see these beta versions.

tag                     description
ydfg-0-2-release-0      ydfg 0.2 release 0 Wed Jun 18 1997
ydfg-0-2-release-1               release 1 Sat Jun 28 1997 (added lots of const declarations, and repackaged some more stuff into the master ydfg-spec.nw, but didn't change the semantics)
ydfg-0-2-release-2               release 2 Fri Jan 15 1999 (nothing really changed, but I am making a tar file and an rpm out of it.)
ydfg-0-3_beta0           ydfg 0.3 Fri Jan 29 1999
ydfg-0-3                 ydfg 0.3 Fri Jan 29 02:07:12 1999
ydfg-0-4                 ydfg 0.4 Sat Jan 30 05:09:02 1999 (made the symbol_hash_fun visible to the outside.)
ydfg-0-5                 ydfg 0.5 Mon Mar  1 11:04:18 1999 (made the *_name_to_number deprecated, and encourage the use of *_name_to_number_checked and *_name_to_number_unchecked)
