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

Releases:
    2.0.0     : in development on trunk/
    1.4.0     : in development on branches/1.4.x/
    1.3.1     : in maintenance on branches/1.3.x/
    1.3.0     : released June 3, 2008
    1.2.12    : released November 25, 2007
    1.2.11    : not released
    1.2.10    : released September 6, 2007
    1.2.9     : not released
    1.2.8     : released December 4, 2006
    1.2.7     : released April 14, 2006
    1.2.6     : released March 25, 2006
    1.2.5     : not released
    1.2.4     : not released
    1.2.3     : not released
    1.2.2     : released October 11, 2005
    1.2.1     : released August 18, 2005
    1.2.0     : not released
    1.1.2     : released March 17, 2005
    1.1.1     : not released
    1.1.0     : released January 25, 2005
    1.0.1     : released November 19, 2004
    1.0.0     : released September 1, 2004
    0.9.16    : in maintenance
    0.9.15    : released September 6, 2007
    0.9.14    : not released
    0.9.13    : released December 4, 2006
    0.9.12    : released April 13, 2006
    0.9.11    : released March 30, 2006
    0.9.10    : tagged March 22, 2006, not released
    0.9.9     : tagged January 30, 2006, not released
    0.9.8     : tagged January 27, 2006, 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     : tagged March 30, 2002
    0.9.2     : released March 22, 2002      (alpha)
    0.9.1     : released September 11, 2002  (alpha)
    0.9.0     : not released

Bundled with httpd:
    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.

    * Expat 1.99.2 is getting stale, 1.99.8 for sanity's sake, and
      push to Expat 2.x for apr-util 2.0

    * http://www.ibm.com/software/globalization/icu/downloads.jsp
      (under an X-style license) for an apr_xlate alternative to iconv

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:

    * unify parsing of prepared statements in DBD
      Status: committed, awaiting review
              format of arguments (i.e. %s, %d etc.) needs to be agreed upon

    * add binary argument functions to DBD
      Status: committed, awaiting review
              API needs to be agreed upon
