Revision history for Perl extension Net::IRC.

0.1    Fri Oct 17 00:25:41 CDT 1997
	- original version; created by h2xs 1.18

0.2    Sat Oct 18 16:00:38 CDT 1997
 	- it works now, thanks entirely to Tkil (tkil@scrye.com)
 	- substantial cleanup of Connection.pm
	- Removed "Written and designed by:" line in header comments...
	  it didn't seem fair to the many other people who are putting
	  such studly efforts into this.

0.25   Sun Oct 19 06:26:36 CDT 1997
	- Removed extraneous return values from handler code (don't ask)
	- It's now possible to have more than one Net::IRC object in a
	  single script, but I can't see why you'd ever want to.
	- We now disconnect properly. Woohoo!
	- Fixed YA CTCP bug.
	- Fixed up parse() handling for cases like MODE and NICK.
	- Fixed many stupid bugs that should have been caught long ago.
	- Lots more, but I can't remember them all. Again, huge gigantic
	  thanks are due to Tkil for his tireless dedication to hunting
	  down and patching bugs. You go, man!

0.26   Mon Oct 20 01:37:39 CDT 1997
	- Fixed Makefile.PL to install IRC.pm and the other module in
	  different places (it's nice to have make install actually work.)

0.27   Mon Oct 20 23:28:48 CDT 1997
	- Made trivial changes to the formatted output code (format(),
	  Event->new(), _pr(), Connection->new()). This should give other
	  developers a bit clearer idea of where I'm going with it. Time
	  for extended hacking is scarce right now, alas.

0.28   Fri Oct 24 06:12:42 CDT 1997
	- Added $conn->me("#perl", "hacks billn to pieces") as an alias to
	  $conn->ctcp("action", "#perl", "hacks billn to pieces").
	- Fixed a couple small errors (typos, mostly).

0.29   Sat Oct 25 16:48:19 CDT 1997
	- Added a placeholder DCC.pm to the source tree so I won't have to
	  go back and change stuff once it's written.
	- Changed the order of default nick/ircname variables.
	- Fixed the source tree and makedist script on execpc.com to allow
	  for easier diffing and patching.

0.3    Tue Nov 25 02:49:37 CST 1997
	- Makefile.PL now barfs on older versions of Perl.
	- IRC.pm caches $self->ioselect in select() to clean up the code
	  a little. OO and procedural style bigots reach a compromise.
	- IRC.pm's start() and select() methods have been merged.
	- All eval "code;" statements changed to eval { code; }.
	- Made small adjustment to Connection->parse() numeric routine.
	- Working draft of DCC.pm written by borys, who kicks much ass.
	- Bunch of subsequent revisions to DCC.pm, mostly by archon.
	- irctest script nearly doubles in size.
	- IRC.pm, especially start(), gets modified for DCC.pm.
	- A bunch of other smaller changes associated with DCC.pm that
	  I'm too tired to write down. You get the idea.
	- Spent HOURS hacking miscellaneous CTCP and parse() bugs. Millions
	  of thanks to Silmaril for devoting his brainpower to the bughunt.

0.31   Wed Nov 26 00:19:30 CST 1997
	- Fixed the irritating "Sender: owner-test@betterbox.net" bug in the
	  mailing list config. OK, so it doesn't belong in this file, but I
	  guess it's worth mentioning somewhere.
	- ctcp_reply() method added to Connection.pm and used in irctest.

0.32   Wed Dec  3 07:59:28 CST 1997
	- Added new_send(), new_get(), and new_chat() to Connection.pm
	- Removed ^A-removing stuff in DCC.pm (it's been fixed in Connection).
	- Completely rewrote the irctest script, with more additions planned.
	- The numeric event stuff has been farmed off from parse() to a
	  separate routine, parse_num(). This part is going to present a big
	  problem in weeks ahead... Jarkko Oikarinen should be shot.
	- Default block size for DCC SEND now 1k instead of 8k.
	- DCC SEND and GET now always do binary transfers. If a problem comes
	  up with this, blame it on tchrist and BeeF. :-)

0.33   Fri Dec  5 14:27:41 CST 1997
	- Version numbers now more realistic.
        - Net::IRC now specifically resides under the Artistic License, which
	  is now distributed with the module. Anyone have a problem with this?
	- Connection.pm now strips CRs as well as LFs. Thanks, Aryeh!
	- \r and \n hardcoded as \015 and \012 in some places to avoid
	  possible cross-platform confusion.
	- Problems with certain literal handler calls fixed in handler().
	- irctest is now a full-featured Zippybot! Yow!!
	- Made a first pathetic stab at documentation, still working on it.

0.4    Wed Dec 10 16:08:21 CST 1997
	- Made small changes to arg list for DCC::CHAT->new().
	- Fixed precedence problem in Connection->new_* methods.
	- Added DCC CHAT and GET capabilities to irctest.
	- Added 'Proto => "tcp",' to all IO::Socket calls in DCC.pm, after
	  being led astray by incorrect documentation. :-)
	- User notification for dropped connections is more polite.
	- Change to fragment handling in IRC->start().
	- DCC CHAT->new() now requires nick as argument.
	- privmsg() can be used to send DCC CHAT messages... just pass it
	  an IO::Socket instead of a nick.
	- Removed some debugging prints that accidentally got left in
	  a few parts of the code. Doh!

0.41   Wed Dec 10 22:36:10 CST 1997
	- Fixed the order of args to Connection->ctcp().
	- Fixed lots of bugs that this change caused to manifest. Argh.
	- First Net::IRC release posted to CPAN, 11 Dec 1997.

0.42   Mon Dec 29 22:44:18 CST 1997
	- Added dcc_open and dcc_close handlers for DCC connections.
	- DCC::GET now requires a nick as an argument to new().
	- Added motd, users, whowas, ison, lusers, userhost and wallops subs
	  to Connection.pm.
	- Added event scheduler to IRC.pm and Connection.pm. Good idea, Che!
	- &AUTOLOAD in Connection.pm completely rewritten.
	- Applied a nifty patch that breaks big messages to privmsg() and
	  notice() into smaller chunks and sends them piecemeal.
	- irctest now does DCC SEND via public message, as a demonstration.
	- Real POD documentation for IRC.pm written; work begun on PODs for
	  the rest, but it's a nontrivial task.
	- Added do_one_loop() patch to IRC.pm and rewrote start() for easier
	  Tk integration with Net::IRC scripts.
	- Fixed user mode case in Connection->parse().
	- Added a timeout() method to IRC.pm for finer user control over the
	  select loop. Woo woo!

0.43   Tue Dec 30 18:20:26 CST 1997
	- Fixed some problems with the previous distribution... a few outdated
	  files weren't properly removed before tarring by a particularly
	  mischevious script.

0.44   Wed Dec 31 18:13:32 CST 1997
	- Fixed some newly created bugs with Connection->connected. Argh!
	- Scrapped and redid distribution-rolling scripts. You know,
	  ExtUtils::MakeMaker is really nice.

0.45   Sat Jan  3 15:48:57 CST 1998
	- All connections now give their names and causes of death upon
	  expiring. This should make DCC problems much less confusing. :-)
	- DCC SEND and CHAT no longer block on accept(). Woohoo!
	- IRC->remove_conn() changed to removeconn() for consistency with
	  IRC->addconn() and IRC->newconn().

0.5b   Sun Mar 15 14:29:09 CST 1998
	- Sizable chunks of IRC, DCC, and Connection.pm rewritten according to
	  wise suggestions from the venerable elders \merlyn and Roderick.
	- addfh() and removefh() methods added to IRC.pm; changed() and
	  closed(), having been rendered utterly useless, were removed.
	- Reading data from ready non-{DCC,Connection} sockets is now the
	  responsibility of the user. This provides more flexibility (if you
	  only want to read N bytes, if it's a buffered FH and not a socket,
	  etc.), but will break any existing such code. Better now than later.
	- Various documentation updates for IRC.pm; more progress made on the
	  as-yet-unreleased Connection.pm docs. Any volunteers to help out
	  with the PODs?
	- The select loop now monitors writable and errored filehandles as
	  well as readable ones. See the updated documentation for IRC.pm.
	- Chat request feature added to irctest... if you say anything
	  matching /^Chat/i on a channel with your bot, it will try to
	  initiate a DCC CHAT with you. Mostly for debugging purposes, but
	  it might actually be useful to someone out there anyhow...
	- A bug report from Che_Fox led to the squashing of a bug in privmsg
	  that kept it from properly trimming long lines before sending.
	- Johnathan Vasilis pointed out a quickly-fixed bug in Connection->
	  userhost(). Thanks!
	- Events now trim preceding colons properly. Happy now, longhair? :-)
	- Fixed a big fat bug with _add_generic_handler. Setting up multiple
	  handlers with arrayrefs works again now.
	- Connection.pm and DCC.pm's input routines now actually throw a
	  "disconnect" or "dcc_close" event for connection-losing errors.
	- Alex Ibrado's bug report resulted in the fixing of some stupid bugs
	  in the kick, topic, squit, and wallops methods. Doh...
	- Added Tkil's monster patch to fix Connection->parse errors, among
	  other things. You go, Tkil!

0.5    Wed Apr  1 23:28:13 CST 1998 
	- Added a few Undernet compatibility changes suggested by Che_Fox.
	- Fixed a really dumb bug in Connection->default. Umm, doh.
	- DCC.pm got a number of miscellaneous changes, including making
	  $dcc->{_time} actually useful for SEND and CHAT, and adding events
	  for dcc_open and dcc_close all over. Thanks, mjd!
	- Fixed some evil bugs in DCC.pm... CHAT could call autoflush() on
	  the result of a failed IO::Socket->new(), and DCC GET had an odd
	  hanging problem on the last block of a file. *Many* thanks to the
	  indefatigable \mjd for spotting and patching the latter.
	- Added sanity checks to DCC.pm to prevent abuse by malicious remote
	  clients. Net::IRC -- making the world safe for bots, one Boolahman
	  at a time!
	- Stupid low-level CTCP dequoting bug fixed on a report from \mjd.
	- Even stupider Connection->server bug tracked down and stomped.

0.51   Tue May 19 01:03:57 CDT 1998 
	- Aryeh patched a few minor bugs in the formatting functions.
	- Problem with the select timeout in do_one_loop() squashed.
	- Minor changes to dain-bramaged parts of DCC::CHAT::parse().
	- Connection::parse() is now much friendlier to "localhost" servers.
	- Added another error check to IRC::schedule() (thanks, Cuberoot!)
	- Connection::sl() won't send \r\n over DCC CHAT anymore.
	- All "return undef"s changed to "return;" as per gbacon's suggestion.
	- irctest now uses strict -- it was mostly strict-safe before, but I
	  had forgotten the actual 'use'... doh. Thanks, arkuat!
	- tile is the DCC God. A two-line patch of his fixed an ugly DCC
	  CHAT blocking bug I'd been hacking on for a few days. You GO, tile!
	- The Net::IRC source now uses Carp for all error reporting.
	- The setout() and seterr() methods are dead as a result of the
	  previous change. You'll have to do your own tee'ing... sorry.

0.52   Tue Jun  9 21:16:53 CDT 1998
        - Fixed a stupid bug introduced in 0.51 which causes Net::IRC to
	  attack the CPU like a rabid wolverine. Mea culpa. You just don't
	  notice these things as much when you're testing each new version
	  on a quad-CPU UltraSparc. :-)
	- Fixed an oddity with irctest's cping handler which caused it to
	  no longer work with the current version of Net::IRC.
	- Formats will actually work with CTCP events now. Doh.
	- Added Event->dump method to spew the contents of an Event object
	  to STDERR for debugging. This is a good thing.


