This release contains crash fixes in the CTCP PING handling code, non-RFC support mode, channel mode parser, and connection handling. It also includes an active pinger, which detects network problems much better, as TCP sockets can stall for days or weeks before the error is detected. This is the first release that has support for UTF-8. The API documentation was extended. The login method accepts a list of nicknames, automatically uses the next nickname if a nickname collision happens, and uses part of the nickname plus a random number as a fallback.
This release fixed some key bugs and included some new features like support for halfop, syncing of the MOTD, and tracking channel sync times. The auto-reconnect and auto-relogin code was implemented. Several sanity checks were implemented for IRC servers that violate the RFC in various ways. This release was tested against one such IRC server for about 24 hours with channel sync activated in a channel with about 4000 users without error. The class is now much closer to being stable and fully functional.
This is the the first official release of
SmartIrc4net. The library contains a 3 layered
API. IrcConnection, the low-level API, contains
the message buffer and ping/pong handling.
IrcCommands, the middle-level API, contains RFC
IRC commands and easy-to-use IRC methods (like Op,
Deop, Ban, and Unban). IrcClient, the high-level
API, is a full-featured IRC class, with channel
syncing and an event driven model. Channel syncing
tracks users, modes, and topics in objects, and
user syncing does the same for nicks, indents,
hosts, realnames, servers, and hopcounts.