Releases: sopel-irc/sopel
Releases · sopel-irc/sopel
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
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
4.0.1
v4.0.0
Changes between 3.2.0 and 4.0.0
Module changes
- 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 now 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
- 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
- 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 theWillie
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()
andwillie.say()
. See
documentation for details. - Added interval callable support (see documentation for details)
- Numerous minor features, and stability and usability fixes
v3.2.0
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 toConfigSection
. 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