- Do a better job at drawing the merge lines by selecting the shortest path
from the revision boxes. An analysis is now done whether the source and
destinations should be on the left or right side.
- Fix the left_right case for merge lines to display correctly.
- Fix a +/-1 error on the merge lines to account for both rounding errors and
the shadow of the revision boxes.
- Add configuration option 'merge_on_tag' to force the left_right case to
display merge lines on the tags instead of on the top/bottom sides. This
also solves imagemap overlaps where multiple sources or destinations would
be displayed at the same position.
- Fix the imagemap function to record the correct position of the merges.

- Added dynamic colors and strings for more flexibility in visual
representations of the tree.
- Added keyword rev_idtext to define the revision ID in a revision
box. Normally this would show the revision number, but can now be
changed dynamically.
- Fix dashed lines when stripped revisions have mergepoints attatched

Added patch from Gordon Hollingworth <Gordon.Hollingworth {at} TTP.com> to use
mergepoints as implemented by CVSNT. Adapted the patch to enable both
tag-detected merges and mergepoints to be shows at the same time.

- Added drawing of partial trees. You now can select a subtree based on a
revision number, branch number or symbolic tag to show only that part of the
tree. New config option branch_subtree selects which part is shown. If the
subtree is empty, then the whole tree is shown.
- Most error and warning messages are now displayed in the graph, instead of
being written to stderr. This enables you to see an image eventhough errors
might be present. The old method would generate a corrupt image.
New configuration options include msg_color and msg_font to control the looks
of it. Messages are always printed at the bottom of the image.
- Fixed a bug in the folding code where subtrees would not fold correctly.
- Added diff links in the map-generation for detected merges so that you can
get the differences in merge-operations. The options map_merge_href and
map_merge_alt must be set accordingly.

- Fixed a bug in the initial placing of left to right displaying.
- Half-fixed a bug in the kerning code, where a loop-safeguard was triggered
way too soon (at 100 iterations). This has now been changed to 10000, but
should be dependent on the number of drawable branches, as the function is
_at least_ order O(N^2). However, more analysis is required to ensure
safe guarding under all circumstances.
- Implemented folding of empty branches. Many uses of CVS create many
branches on the same revision but have no commits on them. This occurs
often with stable files like .cvsignore files and the like. A new
configuration option branch_fold enables imaging consequtive brances
with no commits in the same branch-box. This reduces images by a huge
factor (28000x1700 -> 2100x2300, i.e. a factor of 10). It also speeds up
drawing considerably. The branch_fold option is *on* by default.
- Fix duplicate branch-boxes (branch_dupbox=true). No duplicates should be
created if there are no commits on a specific branch. There is no reason
for having two boxes on top of each other.

- Added a new version of auto_stretch. It seems to work better
bit it still needs improvement (a lot)
- Added TrueType support. This solves also a problem of missing
libraries if libgd needs -lttf or -lfreetype.

- Dead tags (i.e. a tag without a valid revision or branch) does no
longer print a message in quiet mode.
- Added expansions for cvsroot and cvsmodule without trailing '/'
- Remove core-files in a 'make clean'.
- Fixed default config file to use entities &lt; and &gt;.

- Fixed path problems. Cvsroot and module will always have a
trailing '/' if they are not empty so that simple files
can be addressed directly from the commandline. This also
eases expansions.
- Implemented new features:
* revisions can have custom text
* background colors of boxes working
* boxes can have shadow (looks nice)
* imagemaps generate diff areas between revisions
- Several new config parameters to support above functionality.

Major update of the code.
- Complete new method of getting the revision structure by directly
reading the rcs/cvs file. This should also speed things a bit
because no external program needs to be called anymore.
This also means that "remote-graphs" are no longer a possible
extension of the program. But, who cares.
- Implemented branch-kerning to save place. The images are now
much smaller in width, dependent on the settings of the exterior
margins.
- Fixed disjoint braches by reading the structure direct from the
rcs/cvs file. The revision/branch structure is no longer determined
from the revision numbers, but solely from the rcs/cvs file structure.
- Fixed display of branches with no revisions attached to them. These
only have a tag describing the new branch.

Fixed the soring of revisions permanently. All sections of the revision
numbers are important.
Implemented better control over libgd with autoconf and added support
for generation of png and jpeg from the configuration file (thanks to
Kurt L. Sussman for a patch, although I modified it a bit).

This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
select a symbolic revision name using the selection box, or choose
'Use Text Field' and enter a numeric revision.