[project @ 2005-06-28 10:57:28 by unknown_lamer]
[clinton/bobotpp.git] / NEWS
diff --git a/NEWS b/NEWS
index 0ddbeb3..9b15378 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,110 @@ IMPORTANT NOTES:
 ====== The News =====================================================
 =====================================================================
 
+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
+    * Merged error handling patch from Dale Smith. This adds detailed
+      errors and backtraces when --debug 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)
+
+
+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.
+
 Version 2.1.1: foom
+
+- Host masks are now case insensitive when matched. At least one other
+  person thought this was a good idea since IRC is case preserving but
+  not case sensitive.
 - You can now "name" a hook using an extra arg to bot:addhook. This
   name can be used to have multiple hooks of the same type with the
   same regexp. The default name is "DEFAULT" so don't use that as the
@@ -48,12 +151,12 @@ 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).
 - Scripts are now stored in ~/.bobotpp/scripts/ or
-  PREFIX/bobotpp/scripts/ (where PREFIX is /usr/local unless you
+  PREFIX/share/bobotpp/scripts/ (where PREFIX is /usr/local unless you
   changed it with the --prefix arg to configure). The new function
   bot-load will take a filename and load it from these dirs, returning
   #t if the file was loaded and #f if it wasn't. You can modify the