Revision history for Perl extension App::Info.

0.20  Thu Jun 27 20:28:34 2002
      - Major upgrade. Some backwards compatibility broken. Namely, the
        error parameter no longer exists. See event handling instead.
      - Added App::Info::Handler. Classes derived from this class handle
        events triggered by App::Info subclasses.      
      - Added event handling methods to App::Info base class. The methods
        are on_info(), on_error(), on_unknown(), and on_confirm(). They
        have constructor parameters, too, of the same names. Pass in a
        list of event handlers to any one of these methods to handle
        events of that type.
      - Added example event handling classes. They are
        App::Info::Handler::Carp, App::Info::Handler::Print, and
        App::Info::Handler::Prompt. Objects of these classes may be passed
        to any of the event handling methods listed above.
      - Added App::Info::Request. Objects of this class are passed to event
        handler objects' handler() method as the sole argument. The request
        object holds significant information about the request so that a
        handler knows what to do with a a request.
      - Added protected event triggering methods to App::Info. These are
        info(), error(), unknown(), and confirm(). If a subclass calls one
        of these methods, a request will be created and passed off to the
        list of available handlers (if any) to process the request and,
        in the case of unknown() and confirm(), return data to the App::Info
        subclass.
      - Refactored example subclasses to use the new event methods. Changed
        subclasses are App::Info::HTTPD::Apache, App::Info::RDBMS::PostgreSQL,
        App::Info::Lib::Expat, and App::Info::Lib::Iconv.
      - Wrote extensive documentation describing how to use the event methods
        both in App::Info subclasses and in App::Info clients.
      - Incremented all version numbers to 0.20.
      - Wrote extensive tests to test all features.

0.13  Sat Jun  8 21:17:40 2002
      - Fixed Lib::Iconv so that version() would properly return undef when
        no include directory was found.

0.12  Sat Jun  8 20:32:38 2002
      - Now more silly-proof! Fixed util.t test so that people who actually
        have directories named, e.g., "/foo", will still have their tests
        pass. Thanks to Arthur Bergman for the spot.
      - Fixed Lib::Expat so that version() would properly return undef when
        no include directory was found. Thanks to Arthur Bergman for the spot.
      - Fixed $VERSION in Info.pm to be available to pre-5.6.0 perls.

0.11  Sat Jun  8 05:49:40 2002
      - Improved validation for the error_level parameter.
      - In distribution tests, no longer testing to see that user and group
        methods in HTTP::Apache return values when Apache is installed, as
        sometimes folks don't have User and Group directives set in their
        httpd.conf files. Grrr...
      - Fixed bare word references in Makefile.PL.

0.10  Wed Jun  5 23:58:54 2002
      - Added new error_level parameter to new(). This tells App::Info objects
        how to handle errors on an object-by-object basis. The new base class
        method error() is for subclasses to use for throwing errors, and
        last_error() is for client code to access the last error in non-fatal
        error modes. See App::Info for complete documentation. This is the
        major change the triggered the (mild) version number jump.
      - Reworked all application subclasses to use the new error() method.
      - Changed all application subclasses so that they're no longer singleton
        classes. Each new object construction looks for application metadata
        all over again.
      - Updated documentation on subclassing to reflect changes.
      - Added first_exe() and first_cat_exe() to App::Info::Util. Changed
        RDBMS::PostgreSQL, HTTP::Apache, and Lib::Iconv to use them.
      - Added more directories in which to search for the Apache server
        executable, thanks to work by Dave Rolsky.

0.06  Wed Jun  5 15:36:36 2002
      - Fixed all version tests in test scripts to check for definedness
        rather than truth, so that version numbers that are "0" will be
        ok. Thanks to Andy Lester for the spot.
      - Util now properly loads File::Spec rather than File::Spec::Functions.
      - Changed how the version number gets stored in Lib::Expat so that it
        only gets saved if all three version number parts are found.

0.05  Wed Jun  5 00:01:57 2002
      - Eliminated possible "Use of uninitialized value in concatenation (.)
        or string" warning from Lib::Expat.
      - Eliminated possible "Use of uninitialized value in hex" warning from
        Lib::Iconv.
      - Fixed issue where RDBMS::PostgreSQL would try to execute pg_config
        even when it didn't exist.
      - Added To Do list.
      - Made iconv.t and expat.t tests for version numbers safer for CPAN
        distribution. Patches with improved methods of determining version
        numbers for those libraries are welcome.

0.04  Tue Jun  4 01:03:58 2002
      - Wrote documentation on subclassing App::Info.
      - Added httpd_root() abstract method to App::Info::HTTPD abstract
        base class.
      - Added httpd_conf(), user(), group(), and port() methods to
        App::Info::HTTPD::Apche.
      - Added and corrected documentation in App::Info::HTTPD,
        App::Info::RDBMS, and App::Info::Lib.
      - Made minor documentation fixes to other classes.
      - Fixed methods in App::Info::Util to return undef in a scalar context
        if there were no regular expression matches.

0.03  Mon Jun  3 18:37:50 2002
      - Private release.
      - Changed first_cat_file() to first_cat_path() in App::Info::Util.
      - Added internal tests for various subclasses.
      - Fixed a bunch of bugs.
      - Added better support for Fink-installed libraries on Darwin.

0.02  Mon Jun  3 04:38:24 2002
      - Private release.
      - Added Expat.pm.
      - Many changes to Util.

0.01  Fri May 31 07:54:55 2002
      - Original version.
      - Private release.
