# Bot::Cobalt Changes
* 0.008 (13 Jun 2012)
Core configuration accessors no longer return cloned copies of config
hashes. This behavior was intended to make it harder for plugins to
break core config unintentionally, but it was also unintuitive
enough to trip myself up from time to time ;-)
Return actual references instead.
Bot::Cobalt::Serializer:
- Drop Logger/LogMethod, always carp/croak/confess
- Throw proper exceptions on most errors
- Support writefile() lock retries and timeout
Bot::Cobalt::IRC refactor and fixes:
- ircplug_connect & ircplug_disconnect handlers
- '!server' command handler in IRC::Role::AdminCmds
- Move outgoing-to-IRC handlers to IRC::Role::UserEvents
- Improved disconnect cleanup
- Improved warnings/logging
Bot::Cobalt::Utils:
- support list-style arguments in rplprintf()
- build %C_* vars for rplprintf at load-time rather than when called
Plugin::Master; required access levels should've come from PluginOpts
(rather than Opts, as this plugin doesn't normally have an external cfg)
Die with stack traces on most errors (confess rather than croak)
Various syntax / POD / test cleanups.
* 0.007 (06 Jun 2012)
Fix usage help message in Plugin::Extras::CPAN.
Push missing bin/cobalt2{-installer, -plugin-installcf} portable path
fixes. (Uh, oops?)
Add missing test for Frontend::RC.
* 0.006 (05 Jun 2012)
Fix instance rc files:
- Kill old-style rcfiles, use YAML like other confs
- Allow absolute 'BASE' path to be passed in
- Default to cwd() if not absolute and home directory not available
- Create portable paths (File::Spec)
This is an incompatible change; issue an informative error and
suggest running `cobalt2-installer` on failure.
Add Plugin::Extras::CPAN, a simplistic MetaCPAN and Module::CoreList
querying plugin.
Add debug opt to Bot::Cobalt::Conf constructor. Pass our --debug value
to Conf as well (in bin/cobalt2 and Plugin::Rehash).
Bot::Cobalt::Serializer should complain when freeze() or thaw() are
given no data.
Improved ::Core log object handling. Create initial log object at
construction-time (not Syndicator start time) and ensure that
replacement log objects can handle log methods in use in the core set.
Use Try::Tiny in place of previous block evals and $@ checks.
Depend on newer POE::Component::Client::HTTP and
POE::Component::Resolver. Systems with older Components that happened
to grab newer Socket::GetAddrInfo would produce failures due to
Socket::GetAddrInfo API changes -- newer POE bits make use of newer
Socket.pm and drop the GetAddrInfo dependency entirely.
...Not technically "our problem" but this makes my life less annoying
on a couple machines :-)
Some POD improvements and widely expanded tests.
Drop 'tick' tracker for low-priority timer pool; pretty useless.
Various small bug/oversight fixes:
- Conf.pm; catch Serializer failures and report more details
Related Plugin::Rehash fix to leave current configs untouched on
read_cfg failures.
- IRC.pm; more consistent error messages
- IRC::Event::Nick; fix common() when channels() has changed
- Explicitly 'use strictures' in IRC::* subclasses
- Plugin::Auth; log to error() not emerg()
* 0.005 (29 May 2012)
Fix an IRC.pm bug that would cause failures if an error event was
received for a context that never completed a connection.
Fix Utils.pm bug in glob_* functions that would cause failures when
operating on an untrue value. Should've been defined() checks.
POD and test improvements and clean-ups.
* 0.004 (27 May 2012)
Fix IRC.pm bug that kept sessions hanging about when the bot was
terminated via an online command. (This fixes the busted '!die'
command from Plugin::Master).
Also improve shutdown cleanups in Core.
Code cleanups (no functionality change):
- Bot::Cobalt::IRC
- Bot::Cobalt::Utils
- Significant POD cleanups
* 0.003 (22 May 2012)
Require perl-5.12.1; given/when changed sometime in there, it seems,
and I'm tired of playing with EOL Perls anyway.
Some Plugin::RDB cleanups.
* 0.002
Fix a couple oversights resulting in test failures:
- Fix Utils.pm test failures on <perl-5.14
- Fix Plugin::Auth syntax error on <perl-5.14
Plugin::RDB:
- Warn if Info3 seems to be missing
POD tweaks.
* 0.001
Initial release of Bot::Cobalt