Backward incompatible changes
This page lists all functionalities that are currently deprecated, features that have been removed in past minor releases, and any other backward incompatible changes that are planned or have been removed in past minor releases. The objective is to give users a clear rationale why a certain change has been made, and what alternatives (if any) should be used instead.
These changes are sorted (in their respective sections) in a reverse chronological order.
- Future changes (currently deprecated functionality)
- Backward incompatible changes in Red 3.5
- For Users
- For Developers
- Removals
Config.driver
andredbot.core.drivers
packageredbot.core.data_manager.load_bundled_data()
functionis_mod_or_superior()
,is_admin_or_superior()
, andcheck_permissions()
functions inredbot.core.checks
bordered()
functioncommands.DM_PERMS
constantredbot.core.utils.caching
andredbot.core.utils.safety
modulesguild_id
parameter toRed.allowed_by_whitelist_blacklist()
redbot.core.commands.converter.GuildConverter
redbot.core.utils.mod.is_allowed_by_hierarchy()
- Behavior changes
- Update to version guarantees and privatization of many APIs
redbot.core.data_manager.storage_details()
returns a deep copy of underlying dict now- Changed the version order of final dev releases and dev pre-releases
Red.get_owner_notification_destinations()
may now return instances ofdiscord.Voice/StageChannel
modlog.get_modlog_channel()
may now return instances ofdiscord.Voice/StageChannel
menus.DEFAULT_CONTROLS
andReactionPredicate.*_EMOJIS
use immutable types now- Permissions defined in
@commands.*_permissions()
decorators are always merged now - Some of the primary dependencies have been removed or replaced
- discord.py version has been updated to 2.2.3
Case.channel
can now be adiscord.Thread
commands.BadArgument
is no longer wrapped incommands.ConversionFailure
containing parameter and its value- Some of the method arguments in the bot class and
commands
package have been made positional-only bot.add_cog()
will now raisediscord.ClientException
instead ofRuntimeError
when cog is already loaded- Many functions and methods do not support
discord.PartialMessageable
objects - Cog package (extension) and cog loading / unloading is now asynchronous
Red.embed_requested()
’s parameters and their default values have changedmodlog.create_case()
now raises instead of silently returning on errorConfig
’s register methods now only accept JSON-castable typesConfig
now always returns base JSON types, never subclassesConfig.*_from_id/*_from_ids()
methods now raise whenint
is not passedCase.message
can now bediscord.PartialMessage
redbot.core.bot.RedBase
has been merged intoredbot.core.bot.Red
Context.maybe_send_embed()
requires content with length of 1-2000 charactersmenu()
listens to both reaction add and remove
- Removals