X-Git-Url: https://git.hcoop.net/clinton/bobotpp.git/blobdiff_plain/e171dcce70ed3538130a7d9dabce71675a058798..d3aa9fbedfd811b5ec9ce7398a0deb3ae9d6c914:/NEWS diff --git a/NEWS b/NEWS index 802bfcc..0ec47b1 100644 --- a/NEWS +++ b/NEWS @@ -6,15 +6,168 @@ IMPORTANT NOTES: version 1.98, you must have Guile 1.5.6+ or 1.6.x in order to compile scripting support. + As of version 2.2.0 no new updates are promised. I am splitting out + the Parser and a few other well written bits and using them from + Scheme to implement most of the Bobot++ functionality in pure + Scheme. The time spent maintaining this not terribly good C++ (a + good bit of which is my fault due to my inexperience when I began + maintaing Bobot++) is a waste to me now. I would rather be hacking + on a Lisp program instead. + + I will still accept patches, and may fix bugs if I have time (and + people report them). I may finish the manual since the scripting + section is all that remains, and that will apply to the new bot as + well. + ===================================================================== ====== The News ===================================================== ===================================================================== +Version 2.3.0: +- Threadsafety enhancements + + Hooks are now threadsafe and hook functions can safely add new + hooks + + Channel ban lists are threadafe + + Channel user lists are threadsafe + + +Version 2.2.3 (2008-11-12): +- Building with Guile in a non-standard location now works +- Building without Guile now works again +- Building with GCC 4.x now works + + GCC prior to 4.x's libc headers exported the libc symbols from + both :: and std:: leading to a few unqualified libc calls sneaking + into Bobot++'s source +- All uses of the long deprecated GH API have been removed + + Building against libguile 1.8 built with --disable-deprecated now + works + + Building against Guile 1.6 likely no longer works + + However, building against guile-vm libguile does work and Bobot++ + is the first application built this way +- This will be the last of the 2.2.x series; a 2.3.x series /might/ be + started to enhance the scripting interface and finish the manual + +Version 2.2.2 (2006-06-28): +- No longer segfaults when loading bobot-utils.scm +- bot:match-to-me produces a valid regexp again +- scripts/uname now properly uses (ice-9 rdelim) instead of redelim +- bot:load now loads files properly + +Version 2.2.1 (2006-06-28): +- If the log directory does not exist the bot creates it +- If there are lines with only whitespace on them in the config file + and error message is no longer printed to the log + +Version 2.2.0 (2006-05-24): +- Scripting + + Hooks + * hooks/disconnect now takes an additonal argument that specifies + whether the disconnect was intentional or not. + * Added hooks/send/who + * Added hooks/send/whois + + The deprecated scripting procedure and hook names are now in a + `begin-deprecated' block. If your guile is built without + deprecated feature support, they will not be available. + + Renamed Functions + * bot:send-ctcp was renamed to bot:ctcp + * bot:send-ctcp-reply was renamed to bot:ctcp-reply + + New Functions + * bot:who (send WHO request) + * bot:whois (send WHOIS request) + + New Constants + * bot:shit/none, bot:shit/no-op, bot:shit/no-join, + bot:shit/no-deban shit list constants +- Documention + + Reorganized a few sections + + Every hook is now documented + + Using bot section is now much more usable + + Every config file is now documented +- The code was cleaned up a bit + +Version 2.1.8: +- Scripting + + Hooks + * Added bot:protection/[none|ban|kick|deop] and bot:aop/[yes|no] + constants to the Scheme scripting interface + * hooks/timer argument is now zero padded instead of space padded + (e.g. "11:01" instead of "11: 1") + * hooks/disconnect is now called when the bot is disconnected from the + server unintentionally (network connection timeout, server died, + etc.) + * hooks/action is now passed the user's nick instead of the full + address like all other hooks + + Message Sending + * Implemented bot:notice + * bot:msg and bot:say may both send to channels and users (instead + of bot:msg for users and bot:say for channels) + * Renamed bot:send-CTCP to bot:send-ctcp + * Added bot:send-ctcp-reply to send a ctcp-reply + + Misc + * Added (bobotpp bot) module that modules may use to gain access + to the bobot++ functions + + Debugging + * The debugging evaluator is now enabled when --debug is passed to + the bot + * New command line option: --debug-scripts enables the debugging + evaluator while running everything else normally + * Merged error handling patch from Dale Smith. This adds detailed + errors and backtraces when --debug/--debug-scripts is passed to + Bobot++. +- Documentation + + Merged documentation patch from Dale Smith (thanks) +- Misc + + NOTICEs and PRIVMSGs are now sent correctly if they contain an + embedded newline + + Max nick length is now configurable via 'maxnicklength' option in + bot.conf (defaults to 9) +- The bot now builds with --disable-scripting again (this is my fault, + I haven't built without it in a long time) + + +Version 2.1.7: +- Fixed a number of small bugs and corner cases +- Should compile without warnings (GCC 3.4) + +Version 2.1.6: +- The String class implementation has been redone and replaced by one + based on std::string (eventually String will be gone entirely, but + it a lot of work) +- Patches from Jos Hulzink were applied which fix a + few major bugs in the StringTokenizer (thanks) + +Version 2.1.5: Cleanups +- A DCC CHAT with the bot may now only be initiated if the user is a + Friend of the bot +- Implemented bot:ctcp-quote +- The Bot Configuration section of the manual has been completed. +- Fixed a potential (but unlikely) buffer overflow in Utils::strToTime + (if there were more than 512 digits in part of the string form of + the time the buffer would overflow) +- Misc. Bugfixes + +Version 2.1.4: DCC Support Enhancements +- Internal Change: DCCConnection is now an abstract class +- Internal Change: DCCChatConnection provides the functionality of + the old DCCConnection so that DCC FILE support can be added +- New Scheme Procedure: (bot:sent-to-me? message), checks to see if a + message was addressed to the bot. This is better than using + bot:match-to-me because the hook will continue to function if the + bot's nick changes. The only downside to using it is that there may + be an increased overhead of calling more hooks than could be called, + but that shouldn't be much of a problem. +- New Scheme Procedure: (bot:change-command-level command level), + changes the level a user command to allow a user of `level' level or + above to run it. + Version 2.1.3: Something - The flood rate can now be set using !setfloodrate INTEGER. The default is two messages per second before the bot will ignore -you. (thanks to Björn Gustavsson for requesting this) -- The flood rate may also be set from Scheme using (bot:setfloodrate integer) +you. (thanks to Björn Gustavsson for requesting this) +- The flood rate may also be set from Scheme using (bot:setfloodrate +integer) +- A very large crash bug has been fixed. Previously, if an undefined +command was called, any attempts to call a subsequent command would +cause the bot to crash. Now the bot doesn't crash. Version 2.1.2: Llama @@ -77,7 +230,7 @@ Version 2.1.0: Zug Zug before non-fallthrough hooks. - The default config is read from ~/.bobotpp/config/default/ or /etc/bobotpp/default/ if the user config is not found. Put your - default config is either dir. You may also specify a specific config + default config in either dir. You may also specify a specific config under these dirs using the --config or -c arg to bobotpp (see bobotpp --help for the full list of commands you may use and how to use them).