+2007-03-14 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+ * Socket filtering: socket data, both input and output, can now be
+ filtered. This is used for example to transcode all input and output
+ so that messages are internally managed as UTF-8. By default, the bot
+ will try cp1252 (Windows Western European) encoding for non-UTF-8
+ strings. Thanks to jsn (Dmitry Kim <dmitry.kim@gmail.com>).
+
+2007-03-10 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+ * IRC settings: ability to change the IRC name for the bot. Thanks to
+ jsn (Dmitry Kim <dmitry.kim@gmail.com>).
+ * Plugin: allow customization of the plugin load path. Thanks to
+ jsn (Dmitry Kim <dmitry.kim@gmail.com>).
+
+2007-02-20 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+ * Timers: failing timer actions don't prevent the global timer ticker
+ from functioning properly.
+ * Shiritori plugin: new word game, contributed by Yaohan Chen
+ <yaohan.chen@gmail.com>. People take turns to continue a chain of
+ words by saying words that begin with the final letter(s) of the
+ previous word.
+ * IRC messages are not UTF-8: Most of the string processing across
+ rbot is done against IRC messages, which do not have a well-defined
+ encoding. Although many clients are now using UTF-8, there is no
+ guarantee that an arbitrary string received from IRC will be UTF-8
+ encoded. We have to force ASCII (byte-wise/charset agnostic) matching
+ because otherwise some strings can give problems: in particular, for
+ example, the bytesequence "\340\350\354\362\371" (that is the aeiou
+ vowels, each with a grave accent) will cause the string to be
+ considered up to the "\354" (i with grave accent) only: so either the
+ rest of the message is ignored, or the matching fails.
+
+2007-02-18 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+ * Plugin: Provide a plugin.header file with boilerplate plugin
+ title/author/copyright/license information. Authors of new plugins are
+ encouraged to use it. Many existing plugins have been changed to
+ follow the same spec.
+ * NickServ plugin: delegate #identified() to other plugins after
+ successfull identification. Also provide #identified?() method to test
+ if the bot has successfully identified. Not perfect yet (gets reset
+ after a rescan.)
+
2007-02-15 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
* Plugin: new unreplied() method to handle PRIVMSGs which have not
been replied to.
+ * Regexp: more regexp madness. BasicUserMessage and derivate classes
+ now have a new method parse_channel_list() to parse list of channel
+ names.
2007-02-12 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>