From 5274eb08a834567dea8b8fe04be48d802a087ea6 Mon Sep 17 00:00:00 2001 From: James Vega Date: Thu, 5 May 2005 03:46:42 +0000 Subject: [PATCH] Commit the initial ChangeLog and RELNOTES for 0.83.0rc1. Open for comments, suggestions, inclusion of skipped over information. --- ChangeLog | 189 ++++++++++++++++++++++++++++++++++++++++-------------- RELNOTES | 84 ++++++++++++++++++++++++ 2 files changed, 226 insertions(+), 47 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2395a5481..e9fdb01cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,98 @@ +2005-05-02 James Vega + + * Version 0.83.0rc1! + + * Added Web plugin. + + * Added Reply plugin. + + * Added Games plugin. + + * Added String plugin. + + * Added supybot-botchk script. + + * Added Topic.fit, which removes leading topics (if needed) to make + room for the new topic. + + * Added netsplit throttling to Herald. + + * Added SSL server support for the Twisted driver. + + * Added Seen.any, which reports the last time anything happened with a + user instead of just the last time they said something. + + * Added conf.supybot.plugins.ShrinkUrl.bold, which specifies whether + the plugin should use bold in its responses. + + * Added Web.fetch, which replies with the text of the given URL. + + * Added Note.next to retrieve the next unread note (patch from Sune + Foldager). + + * Added supybot-botchk script, useful for starting Supybot and keeping + it running. + + * Added supybot-plugin-doc script, which generates documentation for a + plugin. + + * Added various functions to supybot.utils.file (touch, writeLine, + readLines, chunks). + + * Added conf.supybot.protocols.irc.queuing.rateLimit.join to throttle + how fast Supybot joins channels. + + * Added unaddressedRegexps to callbacks.PluginRegexp as a complement + to addressedRegexps. + + * Added supybot.plugins.Herald.requireCapability, which specifies the + capability a user needs to affect another user's herald. + + * Changed the order of the arguments to utils.str.nItems. + + * Changed Todo's db format to a single flatfile db per user. + + * Renamed conf.supybot.plugins.Herald.throttleTime to + conf.supybot.plugins.Herald.throttle. + + * Renamed conf.supybot.plugins.Herald.throttleTimeAfterPart to + conf.supybot.plugins.Herald.throttle.afterPart. + + * Renamed the general log file (misc.log) to messages.log. + + * Renamed Google.metagoogle to Google.meta. + + * Renamed conf.supybot.protocols.irc.queueDuplicateMessages to + conf.supybot.protocols.irc.queuing.duplicates. + + * Removed the extra argument to utils.str.pluralize which specified + whether or not to pluralize the string. + + * Updated User.capabilities to always respond in private and prevent + people from retrieving other user's capabilities. + + * Updated Alias.add so that alias names can coincide with plugin names. + + * Updated Plugin.contributors to pull author/contributor information + from the plugin in addition to the authors already hard-coded in + Supybot. + + * Updated Relay.{join,part} so the require the admin capability. + + * Fixed a bug where the nickInChannel converter would add the channel + to the args list. + + * Fixed some exceptions in RSS. + + * Fixed a problem with RSS not properly escaping feed names. + + * Fixed supybot.utils.str parsing of regular expression separators + other than / (patch from gcbirzan). + + * Fixed Owner.enable so that commands can actually be re-enabled. + + * Fixed Bug #1190350, incorrect extraction of a website's title. + 2005-01-16 James Vega * Version 0.80.0! @@ -104,52 +199,52 @@ 2004-12-22 Jeremy Fincher - + * Version 0.80.0pre6! - + * Added a Topic.separator command, which replaces the current separator with a new separator, changing the topic to reflect the change. - + * Changed the supybot.user configuration variable so that if it isn't configured, the user will stay up-to-date with the current version of the bot. To take advantage of this, set your supybot.user configuration variable to "" - + * Removed the supybot.databases.users.hash configuration variable, so all bots hash by default. - + * Fixed a bug with AutoMode's auto-banning feature; a variable was misspelled. - + * Fixed a bug with ChannelValues picking up children that aren't channels. - + * Fixed Misc.apropos not to be case-sensitive. - + * Fixed bug in User.register; it works now. 2004-12-20 Jeremy Fincher * Version 0.80.0pre5! - + * Added a "shuffle" command to the Utilities plugin, which shuffles its arguments. Useful in combination with Utilities.last, which returns the last argument it's given, in combination with Utilities.apply, in order to pick a random string (think aliases). - + * Added supybot.plugins.Relay.noticeNonPrivmsgs, for making the relay plugin use NOTICEs rather than PRIVMSGs to relay non-PRIVMSG messages to a channel. This often affects tab coloring in IRC clients and thus makes it so that relay messages color the tabs like the actual messages would have. - + * Numerous bug fixes. Many, many bugs fixed. Oodles and oodles of bugs have been fixed. Myriad bugs fixed. Get the idea? :) - + 2004-12-17 James Vega * Version 0.80.0pre4! @@ -164,7 +259,7 @@ * Moved {eval,exec} from Owner.py to Debug.py in the sandbox. * Numerous bug fixes. - + 2004-09-30 Jeremy Fincher @@ -180,33 +275,33 @@ * Deprecated the Quotes plugin, since we don't know anyone who seriously uses it. Let us know if you do use it, because it may be removed in a future version. - + * Added Karma.{dump,load} for dumping and subsequently loading the Karma database. * Changed the News database implementation to a flatfile database. - + * Removed the tinyurl shrinking code from the URL plugin and put it in the ShrinkUrl plugin, and added the ability to use ln-s.net as different URL shrinker as well. * Added an outFilter to the ShrinkUrl plugin that will shrink any outgoing URL that is longer than the minimum length. - + * Added a Freenode plugin as proof-of-concept; the bot can now use CAPAB IDENTIFY-MSG to ignore users that aren't identified. - + * Added the ability for the Seen plugin to match nicks with wildcards. - + * Added a showLinks configuration option to the RSS plugin to show links during announcements (and another such variable for non-announcements). - + * Added the spellit, hebrew, and shrink filters to the Filter plugin. - + * Added the ability to log to separate directories to ChannelLogger. @@ -216,7 +311,7 @@ * Added "at" and "until" commands to the Time plugin; they're not perfect, and they don't parse nearly enough times, but they're somewhat tolerable for now. - + * Added a Sourceforge.stats command. * Added single-letter commands to the Words plugin when a hangman @@ -237,7 +332,7 @@ * Added supybot.databases.plugins.channelSpecific.channel, specifying the "default channel" for non-channel-specific databases to use. - + * Moved the supybot.humanTimestampFormat configuration variable to supybot.reply.format.time. @@ -257,28 +352,28 @@ * Added support for line-wrapping the registry configuration file. - + * Moved supybot.reply.{brackets,pipeSyntax} to supybot.commands.nested. * Fixed a longstanding bug with the bot "forgetting" channel-specific configuration variables if they weren't exercised during the duration of the bot's uptime. - + * Fixed renames so they're finally persistent. - + * Fixed a bug having to do with Note and unsent notes. - + * Fixed several bugs in the interaction of Infobot with other plugins. - + * Added commands.wrap, the new method for wrapping commands and handling type validation errors consistently throughout the bot. - + * Upgraded many of the outside projects we include to their newest versions. - + 2004-09-17 James Vega * Version 0.80.0pre2! @@ -290,7 +385,7 @@ * Added the Time plugin, to hold all of our Time related commands. * Added max() and min() to Math.calc. - + * Added Unix.pid, which allows the Owner to retrieve the pid of the bot's process. @@ -308,7 +403,7 @@ 2004-09-12 Jeremy Fincher * Version 0.80.0pre1! - + * Added the facility to supporting several different database implementations in a plugin, allowing the user to specify which databases are supported as well as in what order of preference. @@ -331,7 +426,7 @@ * Added a new Network plugin, and moved some commands from Owner, Misc, and Relay to it. - + * Added CTCP flood protection. * Added a supybot.plugins.Karma.allowUnaddressedKarma @@ -344,27 +439,27 @@ * Added the ability to support multiple-word karma increments/decrements. - + * Changed Owner.rename to be handled persistently; now renames work across restarts of the bot or reloads of a plugin. - + * Changed Misc.last to include a timestamp for when the message was sent. - + * Added the Channel.alert command, to send all currently connected ops on a channel a message. - + * Changed the MoobotFactoids plugin to allow commands to be nested in factoids definitions and searches. - + * Removed the futurama command in favor of adding a futurama.supyfact file to supybot-data. - + * Improved the Http.kernel command, showing more kernel types. - + * Added a new contributors command and a way of storing contributors and their contributions in a plugin. - + * Changed the name of Anonymous.action to Anonymous.do, to be more consistent with "say" and other bots (MozBot, iirc). @@ -377,28 +472,28 @@ to make it easier to distinguish the headlines. * Added a --no-network option to supybot-wizard. - + * Added several attributes to IrcMsg objects as they pass through the bot; currently we tag them with receivedAt, receivedBy, and receivedOn. - + * Added RichReplyMethods.errorInvalid, a nice helper method for sending errors about invalid values. - + * Changed the --nonetwork and --noplugins options to test/test.py to --no-network and --no-plugins. - + * Changed plugins.makeChannelFilename, swapping the order of the channel and filename arguments and making the channel optional. - + * Changed the first argument to callbacks.Privmsg.callCommand to be a name rather than a method, for greater justice. - + * Added a new mechanism for ordering plugins (subclasses of callbacks.Privmsg) which is much more flexible than a simple priority system. - + 2004-09-06 James Vega * Version 0.79.9999! diff --git a/RELNOTES b/RELNOTES index 2d7e5aefa..54d00b5c6 100644 --- a/RELNOTES +++ b/RELNOTES @@ -1,3 +1,87 @@ +Version 0.83.0rc1 + +There have been some fairly significant changes since our last release. + +First, plugins are now a directory of files rather than a single file. +This makes it much easier for an individual plugin to supply any +3rd-party modules it may depend on and resolves some bugs we had with +reloading plugins. supybot-plugin-create (nee supybot-newplugin) has +been updated to reflect this. A side effect of using a directory-based +plugin is that @load/@reload are now case-sensitive. "@load foo" is not +the same as "@load Foo". + +As part of the conversion to the new plugin format, some plugins were +broken up into more focused plugins. Also, not all of the plugins that +we used to ship are part of this release. Some we moved to the +supybot-plugins package and some others (which would be candidates for +supybot-plugins) have yet to be converted to the new format. + +Second, we've updated the scripts that ship with Supybot. As noted in +the previous section, supybot-newplugin is now named +supybot-plugin-create. We've also added the following scripts: + +supybot-botchk - Handy script for starting the bot and keeping it + running. Ideal for having cron automatically start the + bot. +supybot-plugin-doc - Generates documentation for the specified + plugin(s). Currently, the documentation is + generated using Structured TeXt so that it can + easily be uploaded to our website. +supybot-plugin-package - The beginning of a script to make a plugin + package which can be uploaded to our website + for general consumption. +supybot-test - Runs a plugin's test suite. + +Third, we've broken supybot.utils into focused sub-modules. There's no +longer a supybot.fix module and we now have the following modules: + +supybot.utils.file - utilities for dealing with files (e.g. the old + supybot.utils.transactionalFile is now + supybot.utils.file.AtomicFile) +supybot.utils.iter - utilities for dealing with iterables (all, any, + partition, groupBy, choice, etc) +supybot.utils.gen - general purpose utilities which are imported into + the supybot.utils namespace +supybot.utils.net - utilities for dealing with the network +supybot.utils.python - utilities for dealing with Python +supybot.utils.seq - utilities for dealing with sequences +supybot.utils.str - utilities for dealing with strings (including our + new format() function) +supybot.utils.structures - general purpose structures used in Supybot +supybot.utils.web - utilities for dealing with the web (used to be + supybot.webutils) + +Fourth, we've added source-nested plugins (using the class +callbacks.Commands). This allows you to group similar commands +together. Some examples are: + +Channel.{ban add,ban list,ban remove} +User.{hostmask add,hostmask list,hostmask remove} + +Fifth, we've removed the privmsgs module. All of the functionality +that was offered in that module is now available by using commands.wrap. +Use of this is documented at: +http://supybot.com/documentation/help/tutorial/wrap + +Sixth, we've renamed some plugin-related API changes. Some classes had +their names changed. The old names are still available for +backwards-compatibility. + +callbacks.Privmsg -> callbacks.Plugin +callbacks.PrivmsgCommandAndRegexp -> callbacks.PluginRegexp +callbacks.IrcObjectProxy -> callbacks.NestedCommandsIrcProxy + +callbacks.PrivmsgRegexp was removed since its functionality is covered +by setting using PluginRegexp. + +Also, the prototype for a plugin's __init__ method changed: + +def __init__(self): -> def __init__(self, irc): + +Remember to pass the irc object on when you call the parent class's +__init__ method. + + Version 0.80.0 We *finally* hit 0.80.0! This release is completely compatible with