Breaking Changes
- (Windows only) Minimum Python version upgraded to 3.6.6
- All cogs must now inherit from
commands.Cog
(see #2151 for more discussion and details). - A few changes to the
redbot.core.checks
module:check_overrides
has been removed, overrideable checks can now be created with thecommands.permissions_check
function.is_mod_or_superior
,is_admin_or_superior
andcheck_permissions
functions are now deprecated, use replacements inredbot.core.utils.mod
instead.
- The
__red_permissions_before
and__red_permissions_after
hooks are no longer recognised, either rename to__permissions_hook
or use thebot.add_permissions_hook
method.
For Translators
A bunch of strings have just been updated on Crowdin, and a lot of new ones have been added. Hopefully we've made it easier for you to translate some of them. In particular, variable placeholders (the stuff in curly brackets {}
) should all now be named, so you should know what the placeholders mean. This is to make it easier for you to know where to move the placeholder, should it be required by the language's grammar. Just make sure you don't change what's inside the placeholder (including the curly brackets), or remove any of them from the string!
Release Notes
[NEW FEATURES]
- [Cleanup]
[p]cleanup before
command added, thanks @bobloy (#2171) - [Config] Add
Group.clear_raw
method, thanks @zephyrkul (#2178) - [CustomCommands] #2120: Cooldowns for custom commands, thanks @zephyrkul (#2124)
- [Filter] #1873: Channels, roles and/or users can now be exempted (#2164)
- [Utils] New utility for common message/reaction_add checks (#1985, #2169, #1986)
- #2125: Bot-wide settings for automod immunity (#2129)
[CHANGED]
- [Permissions] YAML commands now located in
[p]permissions acl
group (#2149) - Rewrite of permissions and default command checks backend (#2149)
[ENHANCED]
- [Audio] Added info to nofify messages and
[p]playlist list
(#2155) - [Audio] More robust startup and unload (#2118)
- [Downloader] Handle
/tree/branch
at the end of repo URLs (#2119) - [Downloader] #1683:
[p]cog update
now tells what cogs are updated and does a reload prompt (#2165) - [Downloader] More robust startup (#2121)
- [Downloader] #1968: Submodules now updated when cloning/pulling repos (#2121)
- [Trivia] Normalize smart quotes in answers (#2162)
- [Utils]
menu()
can be used in DM, thanks @bobloy (#2183) - [Utils] Some markdown helpers can escape special characters (#2182)
- #2031: Refactor fuzzy help and clean up help command (#2122)
- JSON driver write atomicity (#2132)
- General performance and design improvements for command checks and permissons cog
- Updated a bunch of dependencies (#2148, #2175)
- Added
schema
as a dependency (#2149) - MongoDB driver can use
mongodb+srv
URI protocol, thanks @yamikaitou (#2159) @commands.bot_has_permissions
checks failing will report missing permissions to user (#2149)- Default command permissions clearer and more transparent in
Command.requires
attribute (#2149) - General quality improvement of core cogs' user-facing strings and command help (#2074)
[FIXED]
- [Audio]
[p]pause
causes error when player is stopped (#2130) - [Audio] Volume able to be set to a negative value (#2155)
- [Core] #2133: Local blacklist+whitelist ignoring roles (#2134)
- [Downloader] #1950: Missing repos from repo list (#2121)
- [Image] Update relic V2-style command decorators, thanks @bobloy (#2138)
- [Launcher] Asking for CLI flags when no instance is found, thanks @bobloy (#2142)
- [Mod] #2127: Mods can ban other mods with
[p]hackban
(#2128) - [Mod] #2160: Tempban not removing user from settings on unban (#2161)
- [Permissions] #1931: Inability to add overrides for subcommands (#2149)
- [RPC] Add missing await to
bot.load_extension()
, thanks @bobloy (#2167) - [Trivia] Boolean answers not being parsed properly, thanks @bobloy (#2172)
- Various cogs not pagifying properly, thanks @zephyrkul (#2131)
- C Compiler detection failing on Windows (#2136)
- Red.send_filtered missing
@staticmethod
decorator, thanks @zephyrkul (#2143) - Sentry errors with commands with no module, thanks @zephyrkul (#2139)