X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=ChangeLog;h=069742397c5366c084317b51b775aaf66f5fd7b6;hb=7f42c4523570cd48e67a889aea933a277d7d2a31;hp=b82b3b0f685b3dc2b9b4176891c2ef1597d04694;hpb=9b1197d23b9353e27ffae3d687bc5b35ba9e78b5;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/ChangeLog b/ChangeLog index b82b3b0f..06974239 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,75 @@ +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 * Plugin: Provide a plugin.header file with boilerplate plugin