X-Git-Url: https://git.hcoop.net/clinton/bobotpp.git/blobdiff_plain/a63393232f9a19067d58d12065255a10a053f723..HEAD:/NEWS diff --git a/NEWS b/NEWS index a0da5de..e834b6e 100644 --- a/NEWS +++ b/NEWS @@ -6,10 +6,139 @@ 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.1: + - Guile 3.0 support + - Minor doc and bug fixes + +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 @@ -37,7 +166,7 @@ Version 2.1.4: DCC Support Enhancements 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) +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