]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - ChangeLog
plugin(factoids): use registry for storage see #42
[user/henk/code/ruby/rbot.git] / ChangeLog
index d3b3a923bff13145b7d2db8c32d7e4301b143212..069742397c5366c084317b51b775aaf66f5fd7b6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,94 @@
+2007-04-12  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * Basic class extensions: Module#define_structure() method. Syntax:
+               define_structure :SomeName, :attr_a, :attr_b
+       is equivalent to
+               SomeName = Struct.new("SomeName", :attr_a, :attr_b)
+       except that the new Struct is not created if it already exists and the
+       attributes list is the same.
+
+2007-03-31  Dmitry Kim <dmitry.kim@gmail.com>
+
+       * HttpUtil: major rework. get_response() method now respects
+       caching (can be turned off via options) and supports different HTTP
+       methods (GET (default), HEAD and POST) and ranged requests. get() and
+       head() methods are now just a thin wrappers around get_request().
+       Semantics for user-supplied &block has been made consistent across
+       these methods.
+       * HttpUtil: get_cached() method has been removed (obsoleted by new
+       get()). post() method has been added. get_partial() method for ranged
+       requests has been added. Net::HTTPResponse partial_body() method has
+       been removed (mostly because it won't play well with future HTTP
+       encodings support), please use get_partial() or get_request() instead.
+       * Utils: http_get() method has been removed (long obsoleted by
+       HttpUtil)
+       * different plugins: modified to accomodate for HttpUtil changes.
+
+2007-03-24  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * HttpUtil: new get_response method to follow redirects and get an
+       Net::HTTPResponse object with an open connection, allowing partial
+       body retrieval.
+       * HttpUtil: extend Net::HTTPResponse with a #partial_body() method. The
+       method take an argument (max bytes to download) and an optional block;
+       the method yields all the partial content that it's being downloaded,
+       instead of the single chunks yield by #read_body().
+       * url plugin: use the new HttpUtil methods.
+       * url plugin: do not block while trying to get link info.
+
+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>
 
        * Remote Service Provider: from an idea by halorgium <rbot@spork.in>,
@@ -9,6 +100,9 @@
        * Remote Service Provider: BotModules can now include the
        RemoteBotModule interface that provides them with the remote_map()
        method that works just like the map() method, but for remote commands
+       * Remote Service Provider: Remote clients can now login remotely
+       before executing commands. This in fact integrates the remote access
+       auth security with the User/BotUser used on IRC itself.
 
 2007-02-08  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>