libavl NEWS -- history of user-visible changes.  
Time-stamp: <02/01/05 00:51:44 blp>
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
See the end for copying conditions.

Please send libavl bug reports to blp@gnu.org.

Changes for version 2.0:

  Major new release.  Source and binary incompatible with previous
  releases.

  Now written as a literate program using a custom software
  documentation system called TexiWEB.

  Memory allocation for trees can be more flexibly controlled.
  Allocation failure is no longer a fatal error.

  Traversers are generalized to allow iteration forward and backward
  in any kind of tree.  Traversal can begin anywhere in a tree.  Many
  other new traversal features.

  Several new kinds of trees.  Unbalanced ordinary binary trees will
  be fully rebalanced automatically if they grow too tall for a
  fixed-size stack.  Other kinds of unbalanced binary trees will never
  be rebalanced automatically, but there is a function to call to do
  it manually:

    * Unbalanced binary trees, in bst.c and bst.h.
    * Unbalanced threaded binary trees, in tbst.c and tbst.h.
    * Threaded red-black trees, in trb.c and trb.h.
    * Unbalanced right-threaded binary trees, in rtbst.c and rtbst.h.
    * Right-threaded red-black trees, in rtrb.c and rtrb.h.
    * Unbalanced binary trees with parent pointers, in pbst.c and pbst.h.
    * AVL trees with parent pointers, in pavl.c and pavl.h.
    * Red-black trees with parent pointers, in prb.c and prb.h.

  Tree destruction algorithm changed to avoid use of a stack.

Changes for version 1.4.0:

  Implemented red-black trees.

  New functions, *_init_traverser(), to initialize a *_traverser
  structure.  New macros *_TRAVERSER_INIT for same purpose.

Changes for version 1.3.0:

  Now uses Autoconf and Automake to configure.  Thanks to Alexandre
  Oliva <oliva@dcc.unicamp.br>.

  New: automated testing with `make check'.

  Fixes for strict ANSI C compliance.

  Fixed useless assertions.  Fixed bug regarding empty trees for some
  operations with threaded and right-threaded trees.  Thanks to
  "Ficarra, David W, NNAD" <dficarra@att.com>.

  New functions, avl*_find_close(), for finding a node in the tree
  with a value close to a specified value.  See documentation and
  source code for more details.  Thanks to Thomas Binder
  <binder@iue.tuwien.ac.at>.

Changes for version 1.2.9:
 
  Fix typos in documentation.  Thanks to onTy Toom <onty@yahoo.com>.

Changes for version 1.2.8:

  Fixed typos in assertions.  Thanks to Girish Zambre
  <gzambre@sprynet.com>.

  Better support for gcc 2.7.x.

Changes for versions 1.2.4, 1.2.5, 1.2.6, 1.2.7:

  Documentation updates.  Thanks to Ron Pfeifle <rpfeifle@aw.sgi.com>,
  Jason Eisner <jeisner@linc.cis.upenn.edu>, and others.

Changes for version 1.2.3:

  The library's allocation function xmalloc() can easily be overridden
  by the library's user.  Thanks to Clayton Weaver <cgweav@eskimo.com>
  for the idea.

Changes for version 1.2.2:

  Documentation fixes.  Thanks to Akim Demaille <demaille@inf.enst.fr>
  for pointing these out.

Changes for version 1.2.1:

  Bug fixes.

Changes for version 1.2.0:

  Implemented right-threaded trees.

  Added functions to convert among AVL tree types.

  First GNU release.

Changes for version 1.1.0:

  Implemented threaded trees.

Changes for version 1.0:

  First public release.

----------------------------------------------------------------------
Copyright information:

Copyright (C) 1998, 1999 Free Software Foundation, Inc.

   Permission is granted to anyone to make or distribute verbatim
   copies of this document as received, in any medium, provided that
   the copyright notice and this permission notice are preserved, thus
   giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions of this
   document, or of portions of it, under the above conditions,
   provided also that they carry prominent notices stating who last
   changed them.

Local variables:
version-control: never
mode: indented-text
end:
