Fork me on GitHub

Sopel

The Python IRC Bot

Version 6.6.6

This slightly cursed version of Sopel is brought to you by the following happy coincidences. When this release cycle began:

  • 6.6.6 was the next patch version number
  • Tax Day (in the U.S.) was just a few weeks off — the perfect release date

As it happens, the v6.6.6 GitHub milestone ended up with 13 closed issues/PRs in total. We definitely didn’t try to plan any of this. Promise.

Module changes

  • Potential denial-of-service via repeated long output in the .py and .calc commands was mitigated [#1552]
  • admin module’s .set command no longer throws an exception if missing arguments [#1520]
  • Fixed admin module’s .mode command sending invalid raw line [#1549]
  • Tweaked output-formatting code in the meetbot & reddit modules [#1516]
    • The most visible effect of this is that moderators’ names will now appear green in reddit’s output, like on the site, instead of the old brown/purple
  • Updated example/test output for .ip command [#1523]

Core changes

  • Flood protection delay is now capped at 2 seconds [#1552]
    • The flood delay penalty is calculated using the message length before truncation. Very long command output could thus “hang” the bot for many minutes at a time, meaning some modules could be used to DoS the bot.
    • Sopel 7 will add configuration for flood protection and perhaps reorganize the logic to reduce silly bugs like this. (See: #1518, #1559)
  • Fixed a few cases where keyboard interrupt (Control + C) wasn’t handled correctly [#1534, #1558]
  • Fixed invalid MODE command sent during connection phase [#1544]

API changes

  • Fixed a regression in testing modules by running them directly [#1529]
  • Fixed that bot output methods (say, reply, etc.) would cause errors during tests if passed certain keyword arguments [#1538]