APRUTIL LIBRARY STATUS:						-*-text-*-
Last modified at [$Date: 2001/07/13 03:51:20 $]

Release:
    2.0a9   : released December 12, 2000


RELEASE SHOWSTOPPERS:

    * Need apu_compat.h to track the latest renames
      Status: someone want to step up to diff names between 1.3.x 
              and apr/apr-util?  Sounds like a job for a perl script...

    * add misc/version.c and related machinery once the pattern is
      laid out in APR.

    * complete the efforts started by DougM for cleaner fn naming
      conventions: see proposed name changes in renames_pending
      and offer up any additions/vetos/clarifications.
      DougM offered to complete the work with his nifty perl rename
      script at the hackathon. 

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

    * mmap_setaside() should not copy the entire file into the designated
      pool -- alternatives have been discussed on dev@apr.apache.org,
      including the possibility of re-opening the file into the correct
      pool and morphing the mmap bucket back down to a file bucket.

Other bugs that need fixing:



Other features that need writing:

    * write apr_brigade_(p)getline, per the hackathon

    * 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)

    * possibly move md5 from APR into crypto
      Justin says:  Requires finding a suitable replacement for md5 in 
                    apr/uuid for when we don't have random bytes available.
      Status: Justin +1 (volunteers)

Documentation that needs writing:

    * API documentation
        Status:

    * doc the lifetimes of apr_dbm return values


Available Patches:


Open Issues:

