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.