~progval/limnoria/master

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
Version 0.83.5

The minimum supported Python version has been bumped to 2.6.

utils.str.perlVariableSubstitute is deprecated in favor of using Python's
string.Template directly.  perlVariableSubstitute will be removed in a future
release.

Factoids' config variable supybot.plugins.Factoids.factoidPrefix has been
replaced by supybot.plugins.Factoids.format, which allows the user to
determine exactly how replies to Factoid queries are formatted.

supybot-botchk no longer runs supybot inside an instance of /bin/sh.


Version 0.83.4.1

Simple bug-fix release for a couple changes that were introduced last minute
before the previous release.

No incompatibilities.


Version 0.83.4

This release contains fixes for Python2.6 compability as well as a re-written
Google plugin which uses the AJAX API.  The re-written plugin gained a
translate command and no longer needs an API key.

ChannelLogger has a new config variable, supybot.plugins.ChannelLogger.enable,
which can be used on a per-channel basis to determine whether that channel is
logged.

The RSS announce command has been restructured into the commands "announce
list", "announce remove", and "announce add" in order to simplify the
command's use.

The supybot.directories.plugins config variable now determines its global
directory dynamically instead of adding the directory to the value.  This
means values like '/usr/lib/python2.5/site-packages/supybot/plugins' can be
removed from the variable.  This should help ease transitioning a Supybot
config from one Python release to another.

Incompatibilities:
supybot.plugins.Google.safeSearch has been renamed to
supybot.plugins.Google.searchFilter

supybot.plugins.Channel.banmask has been removed in favor of a new
supybot.protocols.irc.banmask config variable.  This general config variable
is used by the various commands which would need to know what style of banmask
to use.

Version 0.83.3

Overdue bug fix and Python2.5-compatible release.  No significant changes to
worry about from the user perspective.


Version 0.83.2

Mainly bug fix release.  The most noticeable change being a value of
'default' for supybot.drivers.module will use Socket instead of Twisted.


Version 0.83.1

No incompatibilities, just fixing an important bug with plugin loading.


Version 0.83.0

This far overdue release contains mostly bug-fixes.

Incompatibilities:
Changed the prefixName keyword argument (which appears in various places
in callbacks.py and the reply-related irc methods) to prefixNick.


Version 0.83.0rc3

This release candidate contains mostly bug-fixes.

Incompatibilities:
utils.changeFunctionName was moved to utils.python.changeFunctionName


Version 0.83.0rc2

This release candidate contains a few bug-fixes and some plugins we
forgot in the last RC.  Otherwise, everything is compatible.


Version 0.83.0rc1

There have been some fairly significant changes since our last release.
This means that you should uninstall your previous version before
installing this version.

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
the last release candidate.

An update to Babelfish may cause an error message to be displayed in
the console when the bot is first run.  The error message should be
gone when the bot is restarted.

We also have a new community website at http://www.supybot.com/ where
our users can submit their own plugins, view/download other people's
plugins and discuss all things Supybot-related.


Version 0.80.0rc3

Another bugfix release.  This one was pretty important as it actually
makes supybot.database.plugins.channelSpecific work properly.


Version 0.80.0rc2

supybot.databases.plugins.channelSpecific.channel was renamed to
supybot.databases.plugins.channelSpecific.link.

supybot.databases.plugins.channelSpecific.link.allow was added, which
determines whether a channel will allow other channels to link to its
database.

Infobot is no longer deprecated and the following changes were made to
its config variables:
supybot.plugins.Infobot.answerUnaddressedQuestions was renamed to
supybot.plugins.Infobot.unaddressed.answerQuestions.
supybot.plugins.Infobot.snarfUnaddressedDefinitions was renamed to
supybot.plugins.Infobot.unaddressed.snarfDefinitions.
supybot.plugins.Infobot.unaddressed.replyExistingFactoid was added to
determine whether the bot will reply when someone attempts to create a
duplicate factoid.


Version 0.80.0pre6

Another bugfix release.  No incompatibilities known.  The only
registry change is that supybot.databases.users.hash has been
removed.


Version 0.80.0pre5

Completely bugfix release.  No incompatibilies known.


Version 0.80.0pre4

Mainly a bug fix release.  This will likely be the last release before
0.80.0final, but we're gonna let it stew for a couple weeks to attempt
to catch any lingering bugs.

ansycoreDrivers is now deprecated in favor of socketDrivers or
twistedDrivers.

supybot.databases.plugins.channelSpecific.channel is now a channelValue
so that you can link specific channels together (instead of all channels
being linked together).

For those of you that use eval and/or exec, they have been removed from
the Owner plugin and are now in sandbox/Debug.py (which you'll have to
grab from CVS).


Version 0.80.0pre3

The database format for the Note plugin has changed to a flatfile
format; use tools/noteConvert.py to convert it to the new format.

Ditto that for the URL database.

FunDB is deprecated and will be removed at the next major release;
use tools/fundbConvert.py to convert your old FunDB databases to Lart
and Praise databases.

If you had turned off supybot.databases.plugins.channelSpecific, your
non-channel-specific database files had gone directly into your data/
directory.  We had some problems with poor interactions between that
configuration variable and channel capabilities, though, so we
changed the implementation so that non-channel-specific databases are
considered databases of a single (configurable) channel (defaulting
to "#").  This will also help others who are converting from
channel-specific to non-channel-specific databases, but for you
who've already made the switch, you'll need to move your database
files again, from data/ to data/# (or whatever channel you might
change that variable to).

supybot.channels doesn't exist anymore; now the only list of channels
to join is per-network, in supybot.networks.<network>.channels.

We weren't serializing supybot.replies.* properly in older versions.
Now we are, but the old, improperly serialized versions won't work
properly.  Remove from your configuration file all variables
beginning with "supybot.replies" before you start the bot.

The URL database has been changed again, but it will use a different
filename so you shouldn't run into conflicts, just a newly-empty
database.

We upgraded the SOAP stuff in others; you may do well to do a
setup.py install --clean this time around.


Version 0.80.0pre2

Many more bugs have been fixed.  A few more plugins have been updated
to use our new-style database abstraction.  If it seems like your
databases are suddenly empty, look for a new database file named
Plugin.dbtype.db.  We've also added a few more configuration variables.


Version 0.80.0pre1

Tons of bugs fixed, many features and plugins added.  Everything
should be entirely compatible; many more configuration variables have
been added.


Version 0.79.9999

Some more bugs fixed, added a few features and a couple configuration
variabless.  This should hopefully be the last release before 0.80.0,
which will finally bring us to pure Beta status.


Version 0.79.999

Some bugs fixed, but the ones that were fixed were pretty big.  This
is, of course, completely compatible with the last release.


Version 0.79.99

Many bugs fixed, thanks to the users who reported them.  We're
getting asymptotically closer to 0.80.0 -- maybe this'll be the last
one, maybe we'll have to release an 0.79.999 -- either way, we're
getting close :)  Check out the ChangeLog for the fixes and a few new
features.


Version 0.79.9

We've changed so much stuff in this release that we've given up on
users upgrading their configuration files for the new release.  So
do a clean install (python2.3 setup.py install --clean), run the
wizard again, and kick some butt.

(It's rumored that you can save most of your old configuration by
appending your new configuration at the end of your old configuration
and running supybot with that new configuration file.  This, of
course, comes with no warranty or guarantee of utility -- try it if
you want, but backup your original configuration file!)


Version 0.77.2

This is a drop-in replacement for 0.77.1, with two exceptions.  The
configuration variable formerly known as
"supybot.plugins.Services.password" is now known as
"supybot.plugins.Services.NickServ.password", due to the fact that
there might be different passwords for NickServ and ChanServ (and
ChanServ passwords are per-channel, whereas NickServ passwords are
global).  If you're using the Services plugin, you'll need to make
this change in order to continue identifying with services. The
configuration variable formerly known as
"supybot.plugins.Babelfish.disabledLanguages" is now known as
"supybot.plugins.Babelfish.languages".  The configuration variable now
accepts the languages that *will* be translated as opposed to ones
that are *not* translated.

Tests and the developer sandbox are not longer delivered with our
release tarballs.  If you're a developer and you want these, you
should either check out CVS or download one of our weekly CVS
snapshots, available at http://supybot.sourceforge.net/snapshots/ .


Version 0.77.1

This is a drop-in replacement for 0.77.0 -- no incompatibilities, to
out knowledge.  Simply install over your old installation and restart
your bot :)


Version 0.77.0

Setup.py will automatically remove your old installations for you, no
need to worry about that yourself.

Configuration has been *entirely* redone.  Read the new
GETTING_STARTED document to see how to work with configuration
variables now.  Your old botscripts from earlier versions *will not*
work with the new configuration method.  We'd appreciate it if you'd
rerun the wizard in order for us to find any bugs that remain in it
before we officially declare ourselves Beta.  Note also that because
of the new configuration method, the interface for plugins' configure
function has changed: there are no longer any onStart or afterConnect
arguments, so all configuration should be performed via the registry.

Channel capabilities have been changed; rather than being
#channel.capability, they're now #channel,capability.  It's a bit
uglier, we know, but dots can be valid in channel names, and we
needed the dot for handling plugin.command capabilities.
tools/ircdbConvert.py should update this for you.

The on-disk format of the user/channel databases has changed to be far
more readable.  A conversion utility is included, as mentioned before:
tools/ircdbConvert.py.  Run this with no arguments to see the
directions for using it.

Uh, we were just kidding about the upgrade script in 0.76.0 :)  It'll
be a little while longer.  We do have several little upgrade scripts,
though.


Version 0.76.1

Almost entirely bugfixes, just some minor (and some less minor) bugs
that need to get in before we really start hacking on the next
version.  Should be *entirely* compatible with 0.76.0.


Version 0.76.0

Major bugfix release.  A great number of bugs fixed.  This is the last
release without an upgrade script.

The only hiccup in the upgrade from 0.75.0 should be that you'll need
to update your botscript to reflect the removal of the debug module.
We'd rather you use supybot-wizard to generate a new botscript, of
course, but if you insist on modifying your existing botscript, take a
look at
<http://cvs.sourceforge.net/viewcvs.py/supybot/supybot/src/template.py?r1=1.20&r2=1.21>
to see what you need to do.


Version 0.75.0

Don't forget to reinstall (i.e., run "python setup.py install" as
root).  Sometimes it even does good to remove the old installation;
$PYTHON/site-packages/supybot can be removed with no problems
whatsoever.

You will need to re-run supybot-wizard and generate a new botscript.

The Infobot plugin has been removed from this release; it's not ready
for prime time.  If you're interested in getting it running (i.e., you
want full Infobot compatibility and aren't satisfied with either
MoobotFactoids or Factoids) then swing over to #supybot and we can
discuss the tests.  We simply don't know enough about Infobot to make
sure our Infobot plugin is an exact replica, and need someone's help
with making the changes necessary for that.