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.
0.53 Fri Jun 12 20:25:02 CDT 1998
- Fixed compatibility problems with Net::IRC on MacPerl. Many thanks
to Chris Nandor for bringing this to our attention...
- Jonathan Vasilis spotted an incompatibility between ircd 2.9 and
Net::IRC, which has since been squashed. Thanks, Jon!
- One can now pass Connection->new_get() an open filehandle as the
last argument to specify a particular filename for incoming DCC
SENDs. Naturally, when you don't provide the extra argument, the
behavior is the same as before.
0.54 Sun Jun 28 18:49:03 CDT 1998
- IRC::addfh() now requires only two arguments. In the absence of
any indication of what you're using the filehandle for, it will
assume you're reading from it. Previous behavior is, of course,
unchanged.
- Connection::pr() finally got diked out. Took long enough...
- Minor doc fixes all over and cosmetic changes to irctest.
- List of events added to Event.pm documentation (finally!).
- The add_*handler functions will accept upper, lower, or mixed-case
event names in the same fashion now.