forked from sopel-irc/sopel
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
515 lines (429 loc) · 23.7 KB
/
NEWS
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
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
Changes between 6.4.0 and 6.5.0
===============================
Module changes:
* xkcd module can now recognize xkcd.com urls
* SSL is verified for HTTP requests when not turned off in the config
* The command list is placed in a gist, to prevent flooding
* Title finding uses a custom user agent, to prevent issues with some sites
Core changes:
* Intent handling is improved
API changes:
* A @url decorator is added to simplify URL handling
Changes between 6.3.1 and 6.4.0
===============================
Module changes:
* For some subreddits where NSFW is used to mark spoilers, an appropriate tag is shown.
* .ddg avoids giving ad results.
* .wa is fully removed; a replacement can be found on PyPI as sopel-modules.wolfram
Core changes:
* Support for authenticating with Quakenet's Q is added.
* Errors from empty PID files are fixed.
* Issues with errors not being logged to the logging channel are fixed.
* Topic tracking is improved.
* extended-join is supported properly
* Error messages being reported to the triggering channel/user can be disabled.
API changes:
* Channel priliveges are no longer checked in private messages.
* Rate limiting can now be done by channel and globally, not just per user.
Changes between 6.3.0 and 6.3.1
===============================
Module changes:
* The xkcd module is working again
* Fix an issue causing unicode errors to show for some URLs when using Python 2 (but you should really switch to 3!)
Core Changes:
* Fix a bug in QUIT message parsing which caused certain users to be flooded with PMs if their nick matched the first word of a user's QUIT message (such as "disconnected" or "ping")
* Fix a rare python 3 incompatibility bug when quitting due to too many core errors.
* We no longer show a warning when detecting a non-unicode system locale if you're still using Python 2
Changes between 6.2.0 and 6.3.0
===============================
Module changes:
* Many modules ported to use requests package for stability and security.
* Weather location lookup is fixed.
* Confusing and unnecessary commands like .op were removed.
* Splitting of options in .choice is now more intuitive.
* Some edge cases in reddit post information were fixed.
Core changes:
* A check is added to warn about an obscure environment issue that can cause strange errors.
* Regex characters in the bot's nick no longer cause issues when a rule has the nickname added.
* Rate limiting is tweaked slightly, which should reduce the severity of the .commands flood bug until a proper solution is found.
API changes:
* The current topic of a channel is now available as the Channel object's topic attribute.
* sopel.web has been reworked as a wrapper around requests; it remains deprecated.
Changes between 6.1.1 and 6.2.0
===============================
Module changes:
* An error in excluding URLs from title display is fixed
* Case sensitivity issues in currency and dice commands are fixed
* Guards to require channel or private message are added to a number of commands, to avoid confusing errors
* A calculation bug in the countdown command is fixed.
* Misc minor bugfixes and improvements
Core changes:
* An occasional error with SSL connections on Python 3 is fixed
* On servers which support IRCv3 account extensions, the services account name can be used to authenticate the owner
* Numerous additional IRCv3 features are supported
API changes:
* bot.privileges is now deprecated in favor of bot.channels
* bot.channels contains more information about the channels the bot is in
* bot.users is now available with information about the users Sopel is aware of
* sopel.web is now deprecated in favor of the third-party `requests` library
* trigger.time is added with the current time, or server-time if the server supports it
* sopel.tools.events is now available as an enum of IRC numeric replies
Changes between 6.1.0 and 6.1.1
===============================
If you are updating from a pre-6.0 version (i.e. Willie), there are backwards-
incompatible changes which you should be aware of. See
http://willie.dftba.net/willie_6.html for more information.
Core changes:
* A regression which caused the config wizard to be unusable is fixed.
Changes between 6.0.0 and 6.1.0
===============================
If you are updating from a pre-6.0 version (i.e. Willie), there are backwards-
incompatible changes which you should be aware of. See
http://willie.dftba.net/willie_6.html for more information.
Module changes:
* A regression which prevented the URL safety detection from working is fixed.
* Issues with some special characters in DuckDuckGo searches are fixed
* lxml is no longer required by any modules, greatly simplifying the install process
* Misc minor bugfixes and improvements
Core changes:
* A regression which disabled blocking functionality is fixed
* Examples are no longer mangled by the .help command, and show the correct prefix
* The listing from .commands is now separated by module
* Issues with reloading folder modules are fixed
API changes:
* ListAttribute configs can be set to a list or set, with the same effect
* The configure method of validated config attributes now takes the parent config and section name
Changes between 5.5.1 and 6.0.0
===============================
This release contains backwards-incompatible changes. See
http://willie.dftba.net/willie_6.html for more information.
This is the first release in which the bot will have a new name. Current tentative name is Sopel.
Module changes:
* chanlogs, rss, github, and radio modules are removed
* Default in admin module is now to join on invite from anyone; the old default of only joining on invite from admins can be configured
* Wikipedia module's per-channel default language configuration is deprecated; a database-backed option will be added in a future version
* .seen replies on action messages now display action messages differently
* .kick no longer truncates the message, and .kickban works properly
Core changes:
* Deprecated login configs have been removed, in favor of the new auth_* values
* Module reloading has been redone to enable modules to be installed from PyPI
* IRCv3 capability negotiation is updated for v3.2
API changes:
* Configuration has been entirely reworked. Old wizard functions and the get_list function are removed, but most other uses of the config should continue to work.
* The reorganization of willie.tools introduced in 5.3.0 is finalized; the old import locations no longer work.
* bot.msg is deprecated in favor of bot.say, which can now be used in un-triggered contexts with an additional recipient argument
Changes between 5.5.0 and 5.5.1
===============================
This release continues preparations for Willie 6. See http://sopel.chat/willie_6.html
Module changes (for users):
* The URL safety module correctly checks URLs
* The URL for the service used for .py and .wa is updated
Changes between 5.4.1 and 5.5.0
===============================
This release starts preparations for Willie 6. See http://sopel.chat/willie_6.html
API changes (for developers):
* The ability to import from the sopel package, rather than willie, is added to enable forward compatibility with the rename in 6.0.
* A version_info tuple, simmilar to Python's own sys.version_info, is added
* An error when setting a validated config attribute to None is fixed
Changes between 5.4.0 and 5.4.1
===============================
This release starts preparations for Willie 6. See http://willie.dftba.net/willie_6.html
Core changes (for users):
* Regression which prevented SSL verification from being disabled is fixed
Changes between 5.3.0 and 5.4.0
===============================
This release starts preparations for Willie 6. See http://willie.dftba.net/willie_6.html
Module changes (for users):
* Dropping the lowest results from .dice rolls works properly
* .blocks listing is now on one line
* HTML entities in reddit post titles are now displayed correctly
Core changes (for users):
* DB nick group merging now works properly
* A few combinations of authentication configuration that were broken are fixed
API changes (for developers):
* The core config section now uses a 6.0-style config definition. Deprecated attributes will give a warning.
* Accessing core config values directly from the config object itself (rather than config.core) now appropriately prints a warning
* @require_chanmsg now works properly
Changes between 5.2.0 and 5.3.0
===============================
Module changes (for users):
* The YouTube module is removed due to breakage of its API by Google
* Fixes for unicode in channel logging
* .py hits an updated service running Python 2.7, rather than 2.5
* Multiple new features are added in the reddit module
* Wind direction arrows in weather now point the right way
API changes (for developers):
* Time and calculation tools are split out into multiple modules. The moved things will also be available in tools itself until 6.0, whereupon they will only be available in their new locations.
* Functions and classes used internally for scheduling jobs are moved. They are still available in their old location, but are no longer documented and will not be considered part of the public API in 6.0.
Changes between 5.1.1 and 5.2.0
===============================
Module changes (for users):
* An exception that failed the chanlogs module from loading is fixed
* Meetbot meeting subjects no longer fail with unicode
Core changes (for users):
* The various ways of authenticating the bot are now configured using the same set of attributes. The old settings will be used as fallback until 6.0.0
API changes (for developers):
* Privilege decorators no longer cause an error when no message is given
* A new @intent decorator is added as a shortcut for triggering on a message with an intent
Changes between 5.0.0 and 5.1.1
===============================
Module changes (for users):
* Fixed a regression that caused getting weather for a nick to fail
* Bugs related to channel log filenames are fixed
* Channel logs can now use the bot's preferred time zone
* Getter and setter methods for timezone and format are more consistently named
* .seen persists across bot restarts
* .seen no longer shows message or channel unless used within the same channel
* Special characters in Wikipedia URLs are handled correctly
Core changes (for users):
* help_prefix can now be given in [core] to change the command prefix used in help
API changes (for developers):
* The Trigger object is now immutable, as expected
* New decorators for checking privileges on callables are added
Changes between 4.6.2 and 5.0.0
===============================
This release contains backwards-incompatible changes. See
http://willie.dftba.net/willie_5.html for more information.
Module changes (for users):
* YouTube no longer shows bizarre lengths when the bot is running under Python 3
* When Wikipedia links are posted, a snippet of the article is shown
Core changes (for users):
* WillieDB is entirely rewritten, meaning migration will be needed to access old data
* Logging output to the debug channel is improved
* The name of the NickServ user can be configured with nickserv_name in [core]
* SSL is disabled on Python 2.7 when backports.ssl_match_hostname is not installed
API changes (for developers):
* Deprecated WillieDB functions are removed
* CTCP actions are stripped prior to matching, and added to the 'intent' key of trigger.tags
* Deprecated Trigger functions are removed
* bot.debug is removed, in favor of standard Python logging
* tools.Nick is removed, in favor of the tools.Identifier introduced in 4.6.0
Changes between 4.6.1 and 4.6.2
===============================
This release starts preparations for Willie 5. See http://willie.dftba.net/willie_5.html
for more information.
Module changes (for users):
* Due to API deprecation and instability, .g now uses DuckDuckGo instead of Google
Core changes (for users):
* Fix remaining regression in db update function
Changes between 4.6.0 and 4.6.1
===============================
This release starts preparations for Willie 5. See http://willie.dftba.net/willie_5.html
for more information.
Module changes (for users):
* Fix regression in table creations and erroneously changed column names
Core changes (for users):
* Fix regression in db update function
API changes (for developers):
* Correctly print out deprecation warnings
Changes between 4.5.1 and 4.6.0
===============================
This release starts preparations for Willie 5. See http://willie.dftba.net/willie_5.html
for more information.
Module Changes (for users):
* The ^ operator in .calc is now equivalent to **
* .dice, .tr, and .addtrace give meaningful errors when no argument is given
* A number of database issues were fixed (more will be fixed in Willie 5)
* A number of Python 3-related issues were fixed.
* Malicious URLs are now detected with VirusTotal and malwaredomains
* .weather no longer shows pressure
Core changes (for users):
* The config wizard no longer configures the database, instead automatically creating a sqlite db
* MySQL and Postgres databases are deprecated; only sqlite will be supported in Willie 5
* Logging channel and level can be configured with logging_channel and logging_level in the config
* A --version switch was added to the willie command, to show the version in use
* Corrupt PID files will no longer prevent the bot from starting
* Non-ASCII values no longer crash the config wizard
API changes (for developers):
* Numerous functions were added to the db to ease the transition to Willie 5
* tools.Nick has been renamed tools.Identifier. Nick will be removed in Willie 5
* willie.web functions now specify a meaningful default user agent
* web.post now supports dicts as the payload, and can optionally return headers
* config.get was added as an alias to config.parser.get
* Callables can now handle more than one event by stacking decorators
Changes between 4.5.0 and 4.5.1
===============================
Module Changes (for users):
* Version checking module no longer causes an error at startup
* URL handling modules no longer repeat themselves after being reloaded
* .isup now adds a .com TLD if none is used
* IPython integration now works with older versions of IPython
Changes between 4.4.1 and 4.5.0
===============================
Module Changes (for users):
* Willie will now alert the owner at startup, and every 24 hours, when a new version is available
* .calc will now time out on excessively long calculations, and is less likely to error out
* .help now works properly for command aliases
* .help will now output multi-line help in multiple messages, rather than all at once
* A new .uptime command tells how long the bot has been running
* .length can now handle astronomical units
* Absolute vote counts are no longer shown in reddit output
* Using .setlocation without a location will no longer set your location to Italy
* Time units for .in are now case-insensitive
* .duck no longer gives a long, unrelated URL
Core changes (for users):
* Scheduled tasks now work properly under Python 3
* Willie no longer accepts partial matches for admin status
API Changes (for developers):
* Setting attributes on the bot object now works as expected
* The status code is now returned from web.get as `_http_status` in the headers
* web.get now attempts to decode based on headers, rather than assuming utf-8
* web.iri_to_uri is now available to decode internationalized domain names
* A willie.formatting module is now available to simplify IRC bold, underline and color formatting
Changes between 4.4.0 and 4.4.1
===============================
Module Changes (for users):
* RSS no longer checks for malformed XML
* Starting RSS manually after bot restart is no longer needed
* Youtube video search properly handles spaces
* The .at command defaults to UTC if user's timezone is not set
Core changes (for users):
* Ping timeout handling is working again
* bind_host configuration option is working again
Changes between 4.3.0 and 4.4.0
===============================
Module Changes (for users):
* .cur behaves better when bad arguments are given
* Fixed numerous unicode errors
* Added a command to open an IPython console within the module context
* Added mass units and millimeters to .cur
* GitHub pull requests now get extended URL info
* .weather now displays wind in m/s instead of kts
* A security issue involving improperly named channel logs was fixed
* Misc bugfixed
Core changes (for users):
* Channel joins at bot startup can be rate limited with the `throttle_joins` option in the [core] config section to work around server limits
* Added the ability for SASL login where the nickname and username are different
* Improved loop protection and rate limiting
* Fixed multiple Python 3 errors
* Enable logging the bot in to Authserv at startup
* Added support for Postgres as the database backend
* SSL cert location detection now works on Debian-based systems
* Misc bugfixes
API Changes (for developers):
* Unicode in command decorators now works properly
* `web.get` now decodes the result from UTF-8, with a `dont_decode` argument to disable
Changes between 4.2.0 and 4.3.0
===============================
Module Changes (for users):
* A new channel logging module is added
* Misc bugfixes, especially when running with Python 3
Core changes (for users):
* Fixed a regression that caused numerous errors in willie.web
* Misc bugfixes
API Changes (for developers):
* Nick instances now have an `is_nick` attribute, which is True when the value is a valid nickname (as opposed to a channel)
Changes between 4.1.0 and 4.2.0
===============================
Module Changes (for users):
* A new .cur command can convert a number of currencies, including Bitcoin
* .c can now understand a comma used as a radix point (rather than a period)
* .w can now look in the Wikipedia for a specified (or configurable default) language
* Timezones are now more user-friendly, and used more consistently across modules
* Misc bugfixes
Core Changes (for users):
* willie.web now verifies HTTPS connections properly
* The SQLite database file respects use of ~ in the configured filename
* Willie can now run in Python 3
* Willie now depends on python-backports.ssl_match_hostname (see README.rst for installation instructions)
* Misc bugfixes
API Changes (for developers):
* trigger.is_privmsg is added for an easy way to see if a trigger was created in a private or channel message
* get_timezone and format_time are added to tools to make displaying time according to user/channel format easier
* Added bot.notice and an optinal notice parameter for bot.reply for easier sending of IRC NOTICE messages
Changes between 4.0.1 and 4.1.0
===============================
Module Changes (for users):
* Admin-only .set command can now set non-existent config values
* The meetbot .endmeeting command now works properly
* Significant improvements made to RSS module
* The database structure for storing RSS feeds has been modified. The module will attempt to migrate old data.
* Command syntax has changed in multiple ways
* .rss help is now available with more detailed information on usage.
* Module is overall better-behaved and less buggy
* Traceback can now be attached to a GitHub issue from Willie's logs
* GitHub module no longer puts "IRC" tag on issues it creates
* A .listactions command is added to allow actions to be listed before the end of a meeting
* Dice now limits itself to 1000 dice, and output is cleaned up
* Willie now joins channels when invited
* Reddit module no longer gives an error if the submitter's account has been deleted
* A new .comments feature allows optional comments on meetings, e.g. from those muted in the channel
* .xkcd is more robust, and can now access the nth-latest comic
* calc module now uses an internal calculator, rather than the discontinued iGoogle calculator
Core Changes (for users):
* Memory lock and unlock no longer cause errors
* Debugging target no longer needs to be a channel
* Whitespace can now be used in the command prefix
* Line numbers are given when modules fail to load
* Error messages are more consistent across core and modules
* Willie now retries joining channels if it fails initially
* sqlite is now the default and recommended database type
* MySQL remains supported; support may be dropped in a later version
* MySQLdb is no longer listed as a recommended dependency
* IRCv3 is now largely supported
* Willie can now authenticate with SASL
API Changes (for developers):
* Modules can now provide a shutdown() function to clean up when the bot is quitting or the module is reloading
* web.get and web.post can be told to limit how much they read from a URL, to prevent malicious use
* A new @unblockable decorator allows callables to be run even when triggered by otherwise blocked users
* Willie can now connect over IPv6
* If the channel given to bot.join contains a space, the part after the space will be used as the password
* IRCv3 is now largely supported
* Modules can now request capabilities from the server.
* Message tags, if enabled, can be read from trigger.tags
Changes between 4.0.0 and 4.0.1
===============================
Core Changes (for users):
* Setup script once again works properly
* Message splitting now works properly
* Bug fixes in handling of nick and hostmask blocks
Changes between 3.2.0 and 4.0.0
===============================
Module Changes (for users):
* The following modules have been moved to the willie-extras repository:
* ai
* bucket
* fuckingweather
* nws
* roulette
* twit
* slap
* oblique
* The information of the last URL seen in a channel can now be replayed with .title
* The YouTube module was reworked to use the YouTube JSON api
* The IP module is no independent of 3rd party services, and requires a local copy of the (free) GeoLite database. If such database is not installed, Willie will download it automatically.
* .commands now gives better output (no more truncated output due to message length limit)
* Added a unit conversion module
* Better handling for non-unicode page titles in the URL titler
* Removed bing support from search
* Various minor improvements and bugfixes across all modules
Core Changes (for users):
* Module discovery was reworked. Willie will now try to load additional modules from ~/.willie/modules by default, if installed
* The home directory, usually ~/.willie, can now be configured by adding homedir under [core]
* The location of pid files can now be configured by adding pid_dir under [core]
* Willie can now be run as a systemd service
* Case sensitivity in nick blocking is fixed
* Better handling of ping timeouts (connection problems)
* Major code cleanup
API Changes (for developers):
* Improved Unicode UTF-8 support across all codepaths.
* Triggers, and the appropriate attributes thereof, are now unicode objects.
* Decorators were introduced for setting attributes on callables, available in willie.module
* the NOLIMIT return value was moved from the Willie class to willie.module
* Callables with the same name in different modules no longer override each other
* willie.channels is now properly maintained
* trigger.isvoice can now be used to determine if a user has voice privileges
* Added the max_messages parameter for willie.msg() and willie.say(). See documentation for details.
* Added interval callable support (see documentation for details).
* Numerous minor features, and stability and usability fixes
Changes between 3.1.2 and 3.2.0
===============================
* tools.Nick class added for RFC-compliant nickname comparison and storage
* Returning willie.NOLIMIT from a callable ignores the rate limit for that call
* get_list() added to ConfigSection. Will reliably return a list from a config attribute.
* A number of bugs regarding admin and operator lists were fixed
* Unusual mode changes no longer cause errors
* Times shown by .t, .in, etc. all now use formats set by .settimeformat
* sed feature can use backslashed slashes in substitutions
* Weather module was rewritten, and now uses Yahoo! Weather
* Numerous stability and usability fixes