APACHE PORTABLE RUNTIME APR-UTIL LIBRARY STATUS:     -*- coding: utf-8 -*-
Last modified at [$Date$]

Release:

    0.9.15  : tagged September 3, 2007
    0.9.14  : not released
    0.9.13  : released December 4, 2006
    0.9.12  : released April 14, 2006
    0.9.11  : released March 30, 2006
    0.9.10  : not released
    0.9.9   : not released
    0.9.8   : not released
    0.9.7   : released October 11, 2005
    0.9.6   : released February 7, 2005
    0.9.5   : released November 20, 2004
    0.9.4   : released September 25, 2003
    0.9.3   : released April 3, 2003
    0.9.2   : Released March 22, 2002      (alpha)
    0.9.1   : Released September 11, 2002  (alpha)
    0.9.0   : Not released

    2.0a9   : released December 12, 2000


RELEASE SHOWSTOPPERS:

RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:

    * Solaris's Sun Freeware (sfw) package has a busted gcc/ld setup.
      This gcc passes -L/opt/sfw/lib to /usr/ccs/bin/ld, but does not 
      pass -R.  Therefore, when trying to run the code using a
      library from /opt/sfw/lib (say, libdb), the run-time linker
      will not look in /opt/sfw/lib and the program will die.
        Status: Workaround is to add "-R/opt/sfw/lib" to LDFLAGS.
                Should check latest sfw package set and see if Sun
                may have fixed this.

    * GDBM usage of errno is not-thread-safe.  Fix.

Other bugs that need fixing:



Other features that need writing:

    * possibly move test/testdbm* to util/dbu
      Justin says: Do we still want to do this?  testdate is now in test.
      Status: Greg +1 (volunteers)

Documentation that needs writing:

    * API documentation
        Status:

    * doc the lifetimes of apr_dbm return values


Available Patches:


Open Issues:

