X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=ChangeLog;h=069742397c5366c084317b51b775aaf66f5fd7b6;hb=3c9454d8a1f649f62a4f45461337434a791b1109;hp=2aea6f0e7a816076ee6e6acae36d65f5254a0d64;hpb=6e16568665a242c645322d1f9cd144d55a87817e;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/ChangeLog b/ChangeLog index 2aea6f0e..06974239 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,74 @@ +2007-04-12 Giuseppe Bilotta + + * 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 + + * 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 + + * 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 + + * 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 ). + +2007-03-10 Giuseppe Bilotta + + * IRC settings: ability to change the IRC name for the bot. Thanks to + jsn (Dmitry Kim ). + * Plugin: allow customization of the plugin load path. Thanks to + jsn (Dmitry Kim ). + 2007-02-20 Giuseppe Bilotta * Timers: failing timer actions don't prevent the global timer ticker from functioning properly. + * Shiritori plugin: new word game, contributed by Yaohan Chen + . 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