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.driverandredbot.core.driverspackageredbot.core.data_manager.load_bundled_data()functionis_mod_or_superior(),is_admin_or_superior(), andcheck_permissions()functions inredbot.core.checksbordered()functioncommands.DM_PERMSconstantredbot.core.utils.cachingandredbot.core.utils.safetymodulesguild_idparameter toRed.allowed_by_whitelist_blacklist()redbot.core.commands.converter.GuildConverterredbot.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/StageChannelmodlog.get_modlog_channel()may now return instances ofdiscord.Voice/StageChannelmenus.DEFAULT_CONTROLSandReactionPredicate.*_EMOJISuse 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.channelcan now be adiscord.Threadcommands.BadArgumentis no longer wrapped incommands.ConversionFailurecontaining parameter and its value- Some of the method arguments in the bot class and
commandspackage have been made positional-only bot.add_cog()will now raisediscord.ClientExceptioninstead ofRuntimeErrorwhen cog is already loaded- Many functions and methods do not support
discord.PartialMessageableobjects - 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 typesConfignow always returns base JSON types, never subclassesConfig.*_from_id/*_from_ids()methods now raise whenintis not passedCase.messagecan now bediscord.PartialMessageredbot.core.bot.RedBasehas been merged intoredbot.core.bot.RedContext.maybe_send_embed()requires content with length of 1-2000 charactersmenu()listens to both reaction add and remove
- Removals