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

Releases:
    2.0.0     : None/EOL - merged into apr/trunk/
    1.6.0     : tagged April 15, 2017
    1.5.4     : released September 22, 2014
    1.5.3     : released November 18, 2013
    1.5.2     : released April 4, 2013
    1.5.1     : released October 5, 2012
    1.5.0     : tagged August 6, 2012, not released
    1.4.2     : not released
    1.4.1     : released December 15, 2011
    1.4.0     : not released
    1.3.9     : released August 5, 2009
    1.3.8     : released July 6, 2009
    1.3.7     : released June 5, 2009
    1.3.6     : not released
    1.3.5     : not released
    1.3.4     : released August 15, 2008
    1.3.3     : not released
    1.3.2     : released June 23, 2008
    1.3.1     : not released
    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:

    * OpenSSL detection in crypto configure is broken.
      At least on Solaris you need to add -lsocket -lnsl -ldl
      when you link against OpenSSL.
      We could use pkgconfig where available.
      HTTPD uses a macro APACHE_CHECK_SSL_TOOLKIT whih itself
      uses pkgconfig. If pkgconfig is not available, it finds
      the libs more or less by accident via apr-config.
      APR trunk has the needed libs already in the LIBS when testing
      for OpenSSL.

    * 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
