+Version 2.1.9:
+- Scripting
+ + hooks/disconnect now takes an additonal argument that specifies
+ whether the disconnect was intentional or not.
+ + 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.
+- Documention
+ + Reorganized a few sections
+ + Every hook is now documented
+ + Using bot section is now much more usable
+- 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 enabled 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 <josh@stack.nl> 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)
+- 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
+
+- match-to-me and match-not-channel are now bot:match-to-me and
+ bot:match-not-channel. Just use perl -pi -e
+ "s/match-to-me/bot:match-to-me" SCRIPTS (change to match-not-channel
+ for match-not-channel).
+- Each script is now loaded into its own module so namespace clashes
+ should no longer occur
+- New procedure: (bot:load-module INTERFACE-SPEC) will load a "bot
+ module" with the specified INTERFACE-SPEC (e.g. (foo bar)). A bot
+ module is the same as a system module except that you don't use
+ define-module to define it. The %bot:loadpath is searched for
+ INTERFACE-SPEC (when converted to a string) with an extension in
+ %bot:load-extensions. E.g. (foo bar) becomes "foo/bar".
+- New procedure: (bot:use-module INTERFACE-SPEC) is the same as
+ bot:load-module except it will make the exported bindings from
+ INTERFACE-SPEC available in the current-module.
+- Updated example bot and new example scripts included with the bot.
+