The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Bot::CPAN.

1.11  Tue Jul 04 20:00:00 2006
      - Oops, forgot to regenerate README!
      - See changes in 1.10 for the latest updates

1.10  Tue Jul 04 19:00:00 2006
      - Added exception handling classes for certain events
      - Removed dependency on CPANPLUS
      - Added dependency on CPAN::Search::Lite::Info for indexing
      - Merged in latest changes from Bot::BasicBot
      - Accounted for recent changes in POE and POE::Component::IRC
      - Resolved an issue with Attribute::Handlers (Invalid CODE attributes)
      - Resolved an issue with Bot::BasicBot (Can't encode object)
      - Resolved an issue where forked off operations wouldn't be reaped
      - Resolved several miscellaneous minor issues
      - The bot will now report on new CPAN ratings in addition to uploads
      - Added new option 'inform_channel_of_new_ratings'
      - Added support for a NICKSERV password, i.e., on freenode
      - Added new option 'nickserv_password'
      - SIGNATURE now based on new key; old key expired
      - Corrected an issue where spurious "1"'s appeared after certain cmds
      - Corrected an issue where users where not addressed in forked cmds
      - Internal cleanup in several areas
      - The bot no longer considers "$botname\s+$command" as being addressed
      - Deprecated the 'reviews' command; cpanratings no longer supports rss here
      - Deprecated the 'wikiurl' command; this resource no longer exists
      - Deprecated the 'readme' command; excessive resource consumption
      - Deprecated the 'package' command; replaced by an alternative
      - Deprecated the 'modules' command; non-sensical command
      - Deprecated the 'modulelist' command; may re-add in the future
      - Deprecated the 'details' command; may re-add in the future
      - Added many new commands; see the documentation
      - Commands now follow a consistent naming convention
      - Added new script that regenerates the indices as a separate process
      - Added more tests
      - Fixed a few ostensibly nasty memory leaks
      - Bot can now (easily) run unprivileged
      - search_max_results semi-deprecated; applicable commands /msg only

1.7  Thu Aug 28 05:28:04 2003
      - Added new test suite 'phrases.t', with 68 tests
      - All messages abstracted out to lib/Bot/CPAN/phrases.xml, thanks to
        Class::Phrasebook
      - 'ratings' & 'reviews' now do auto-module-to-dist translation (per spoon)
      - Added 'mode' stat to 'ratings' (per cwest)
      - Optional 'cpanbot' script is now stable, but experimental. AppConfig
        was dumped in favor of Getopt::Long and Config::Auto (per cwest)
      - Fixed a display bug that added an extraneous space whilst logging events
      - Added optional support for better guessing of distribution descriptions
        via Module::CPANTS
      - Syncronized B::C::BasicBot 0.05 against Bot-BasicBot-0.2; which means
        to say that i've reviewed the diffs and found nothing compelling to
        change :)
      - Fixed a bug with the 'distributions' command
      - Added support for CPANPLUS version 0.043
      - Karma ratings (+++++) for upload notifications will only be shown if
        there is a karma rating *to* be shown, i.e., (unrated) is no longer
        displayed (per schwern)

0.83  Fri Aug 22 19:54:29 2003
      - Changed display format of 'ratings'

0.82  Wed Aug 20 01:58:31 2003
      - Started working on the 'cpanbot' wrapper; it is currently experimental
        and non-functional. Technically, the wrapper is complete, but there is
        a serious problem with using Bot::CPAN with AppConfig that I haven't
        as yet solved *sigh*
      - Applied a patch from dngor and Spoon that fixes a bug with reconnection
      - We now use Statistics::Descriptive and Math::Round to calculate
        cpanratings stats
      - Added 'min', 'max', and 'standard deviation' stats, to the existant
        stats of 'mean', and 'median' for cpanratings stats
      - Added karma-ish representation of the average, rounded rating for any
        given distribution to the upload informs. i.e.:
        CPAN upload: CGI-Wiki-0.46 (++++ ) by KAKE
        Note: There were competing "karma represetations" floated on
              #perl@MagNET, such as "letter-grades", and "descriptive words"
              but in the end, the incremement style got the popular vote

0.79  Fri Aug 15 10:10:06 2003
      - Added command 'reviews'; retrieves reviews from cpanratings.perl.org
      - Added command 'ratings'; retrieves ratings from cpanratings.perl.org

0.76  Sun Aug 10 9:42:21 2003
      - The 'url' command now returns a /dist/ url, instead of an /author/
        one. This is mainly for the benefit of people that run Bot::CPAN off
        of 'delayed mirrors', as it will generate a url that refers to the
        very latest version of any given distribution. If we can't manage to
        work out the proper /dist/ url, it will return an /author/ one
      - Added command 'wikiurl' which returns the url to the module's wiki
        at http://cpan.japh.org/
      - Added command 'docurl' which returns the url to the module's
        documentation on search.cpan.org
      - All of these changes/additions were inspired by Spoon

0.74  Sat Mar 22 23:31:47 2003
      - It's no longer necessary to patch P::C::I for B::C to function. We
        now have a dependency on POE::Component::IRC 2.9 (which now supports
        prioritized messaging; fimmtiu++ dngor++)
      - Integrated changes from Bot::BasicBot 0.05
      - Added 'Last indice reload' stat to 'config'
      - Fixed some issues with addressing
      - Fixed a major issue with bots not correctly reindexing; in order to
        fix the reindexing issue, it was necessary to make reload_indices
        *not* fork
      - Added bot-command 'modulelist', as in:
        'cpan: modulelist contains Test::Reporter?'
      - Changed verbage of 'public only' to 'channel only', and
        'private only', to '/msg only'

0.01_07-pre  Sat Mar 22 23:31:47 2003
         - ** Since there has been an API modification and pervasive changes
           made to this release it is marked as a pre-developer release. It
           requires wide testing before being promoted to _07. Despite my
           thorough personal testing, _07-pre should be considered unstable
           until it reaches _07. Please report any anomalies directly to
           afoxson@pobox.com, as early as possible.  Thank you. **
         - API CHANGE: the 'server' constructor option has been changed to
           'servers', and now requires an arrayref or a list. One of these
           servers will be picked randomly, everytime the bot needs to connect
           or reconnect
         - author is now case insensitive for all author-based commands
         - improved POD
         - fixed a little documentation bug; the policy example should have
           used qr instead of qw
         - _check_policy no longer /i's all regexes; this should be
           specifically specified with the qr// defined in the policy
         - Spoon@#cpan@magnet suggested that commands that take a module for
           an argument should autocorrect mis-casing; this would mean that
           someone wanting to, say, get the version of Test::Reporter, could
           instead specify test::reporter and get an actual version instead of
           a 'No such module' error message. This feature has been added. It
           will always first check if there is an exact match, and only then
           attempt a fuzzy match. If no match, of any type can be made, then
           it errors out. This works on all commands that accept a module
           argument
         - fixed a teeny little memory leak with the 'readme' feature; the leak
           caused a loss of length-of-nick + 7 bytes per unique person that
           requested a readme
         - added 'dlurl' command - retrieves the download url of a module
         - added 'adminhost' to the constructor - specifies a regular
           expression that will be matched against userhosts for commands that
           require administrative access
         - added the :Admin attribute, which marks a command to be executable
           by an admin only
         - internal improvements to CPAN.pm; abstracted out _check_author
           and _check_module
         - added more tests
         - Bot::CPAN will now reconnect if it loses the server connection
         - Bot::CPAN will now display an informative message if someone
           attempts to get info on a brand new distribution, that we don't
           yet have indice data for
         - admin command 'config' added - shows the bots configuration details

0.01_06  Mon Mar 17 00:56:09 2003
         - improved error handling of NNTP functions
         - comprehensive NNTP logging has been added
         - a significant bug with NNTP processing has been fixed; this would
           cause channel 'cpan upload' informs to take systematically longer
           to actually post
         - Bot::BasicBot has been patched too extensively to maintain it as a
           dependency, not to mention the further patching it needs, therefore
           it has been bundled, and will eventually be further integrated, and
           perhaps rewritten
         - logging format further improved; entries are now timestamped,
           communications to the bot are wrapped in => <='s, and we no longer
           log channel chatter, unless we were specifically addressed or if
           debugging is enabled
         - fixed several bugs that would generate uninitialized value errors
         - fixed a minor issue with _get_details in which it was not reporting
           that a module was invalid
         - doubled the number of tests
         - made further improvements to the POD
         - added 'debug' option to the constructor. if this is enabled you will
           get *extremely* verbose debugging output
         - added 'policy' option to the constructor (see POD)
         - added 'search_max_results' to the constructor
         - added 'rt' command - gets url of a dist's request tracker page
         - added 'whois' command - gets a name/email from a CPAN ID
         - added 'search' command - returns modules that match a regex
         - added 'readme' command - returns README for a module via DCC CHAT

0.01_05  Thu Mar 13 05:10:18 2003
         - new patches for both POE::Component::IRC, and Bot::BasicBot are
           included. you'll need to reinstall both distributions from scratch,
           and re-patch both with the new patches
         - if the patches are not correctly installed the bot will refuse
           to run
         - fixed another issue with Bot::BasicBot, this time with addressing
         - improvements to the POD
         - author is now case insensitive for modules and distributions
         - Bot::CPAN is now attributed in 'help'
         - fixed issue where ignore_list wasn't being respected
         - the logging format has been dramatically improved
         - _reload_indices is now forked off so it doesn't block the bot
         - added some real tests, but need much more
         - special thanks to Spoon@#cpan@magnet for pointing out some of the
           anomalies that are fixed in this version, and for beta testing

0.01_04  Wed Mar 12 18:35:41 2003
         - bug fix for 'help'
         - all incoming commands are now case insensitive

0.01_03  Wed Mar 12 02:51:23 2003
         - generated new Bot::BasicBot patch; fixes more issues
         - pervase improvements to the internal architecture;
           deep magic can be found in Glue.pm, which may eventually
           be spun off as an independant bot development framework
         - help system fully implemented
         - we now uses notices instead of privmsg's to return data
         - 'recent' command added
         - we now support fully integrated attribute handlers
         - more information has been added to the POD and README
         - many thanks to gilc@#perl@magnet for beta testing

0.01_02  Mon Mar 10 02:09:37 2003
         - our blocking problems are now resolved, thanks to dngor

0.01_01  Sun Mar 09 21:02:08 2003
         - initial developer release