Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning when possible (see our Version Guarantees for more info).
Unreleased¶
These changes are available on the fix-removed-permissions-field-271 branch, but have not yet been released.
Added¶
Changed¶
Fixed¶
Deprecated¶
Removed¶
2.7.2 - 2026-04-14¶
Changed¶
read_onlyteam members aren’t considered as owners anymore when checking for app ownership permissions.
Fixed¶
Fixed a
KeyErrorwhen fetching an app’s information or checking for app ownership withis_owner.
2.7.1 - 2026-02-09¶
Added¶
Changed¶
Fixed¶
Fixed core issues with modifying items in
ContainerandSection(#3032)Fixed an issue where views raised unnecessary errors on timeout. (#3019)
Fixed
RawMessageUpdateEvent.cached_messagebeing alwaysNoneeven when the message was cached. (#3038)Fixed an issue with downloading animated emojis which were originally uploaded as WebP files by changing the
.urlextension of animated emojis from.gifto.webp. (#3055)Fixed the
Interaction.channelattribute not being properly resolved with user-installed commands ran in guilds of which the bot is not a member. (#3047)Fixed the following
ForwardedMessageattributes not being populated:ForwardedMessage.mentions,ForwardedMessage.role_mentions, andForwardedMessage.type. (#3051)Fixed incorrect page group assignment in paginators. (#3065)
Fixed the
Interaction.respondandApplicationContext.respondmethods to explicitly list the accepted parameters. (#3061)Fixed an issue where the optional parameters of the
InteractionResponse.send_messagemethod were not type-hinted as optional. (#3061)Fixed the update of a user’s
primary_guildto now cause anon_user_updateevent to fire. (#3077)Fixed an error when using methods from other classes regarding option autocompletes. (#3082)
Fixed
ext.pages.Paginatornot working anymore when usingcustom_view. (#3090)
2.7.0 - 2025-12-24¶
Added¶
Added
Attachment.read_chunkedand added optionalchunksizeargument toAttachment.savefor retrieving attachments in chunks. (#2956)Added
Guild.fetch_roles_member_countsmethod andGuildRoleCountsclass. (#3020)Implemented
with_responsefor interaction callbacks, addingInteraction.callback.is_loading()andInteraction.callback.is_ephemeral(). (#2711)Added
RawMessageUpdateEvent.new_message- message update events now contain full message objects (#2780)Added
Guild.get_or_fetch()andClient.get_or_fetch()shortcut methods. (#2776)Added support for setting guild-specific
avatar,banner, andbiofor the bot user throughMember.edit. (#2908)Added support for select default values. (#2899)
Adds a new generic parameter to selects to type
ui.Select.valuesreturn type.Adds
SelectDefaultValueobject to create select default values.Adds
SelectDefaultValueTypeenum.Adds pre-typed and pre-constructed with select_type
ui.Selectaliases for the different select types:ui.StringSelect,ui.UserSelect,ui.RoleSelect,ui.MentionableSelect, andui.ChannelSelect.
Added
storeparameter toViewandModalclasses. (#2904)Added
Webhook.parentandWebhook.from_interaction(#2904)Added the ability to use functions with any number of optional arguments and functions returning an awaitable as
Option.autocomplete. (#2914)Added
ui.FileUploadfor modals and theFileUploadcomponent. (#2938)Added
Permissions.bypass_slowmode. (#2939)Added support for Guild Incidents via
Guild.incidents_dataandGuild.modify_incident_actions(). (#2955)Added
mentionproperty toBaseEmoji. (#2972)Added
positionalargument tocommands.Flag. (#2443)Added
Guild.fetch_rolemethod. (#2528)Added the following
AppInfoattributes:approximate_guild_count,approximate_user_install_count,custom_install_url,install_params,interactions_endpoint_url,redirect_uris,role_connections_verification_url, andtags. (#2520)Added
Member.guild_bannerandMember.display_bannerproperties. (#2556)Added support for Application Emojis. (#2501)
Added
cache_app_emojisparameter toClient. (#2501)Added
elapsedmethod toVoiceClient. (#2587)Added optional
filterparameter toutils.basic_autocomplete(). (#2590)Added role tags:
subscription_listing_id,guild_connections, andavailable_for_purchase. (#2606)Added missing
with_countsparameter tofetch_guildsmethod. (#2615)Added the following missing permissions:
Permissions.use_soundboard,Permissions.use_external_sounds, andPermissions.view_creator_monetization_analytics. (#2620)Added
MediaChannelchannel type. (#2641)Added
Message._raw_dataattribute. (#2670)Added helper methods to determine the authorizing party of an
Interaction. (#2659)Added
VoiceMessagesubclass ofFileto allow voice messages to be sent. (#2579)Added the following soundboard-related features:
Manage guild soundboard sounds with
Guild.fetch_sounds(),Guild.create_sound(),SoundboardSound.edit(), andSoundboardSound.delete().Access Discord default sounds with
Client.fetch_default_sounds().Play sounds in voice channels with
VoiceChannel.send_soundboard_sound().New
on_voice_channel_effect_sendevent for sound and emoji effects.Soundboard limits based on guild premium tier (8-48 slots) in
Guild.soundboard_limit. (#2623)
Added new
Subscriptionobject and related methods/events. (#2564)Added
Message.forward_to,Message.snapshots, and other related attributes. (#2598)Add missing
Guildfeature flags andGuild.editparameters. (#2672)Added the ability to change the API’s base URL with
Route.API_BASE_URL. (#2714)Added the ability to pass a
datetime.timeobject toformat_dt. (#2747)Added the ability to pass an
overlapparameter to theloopdecorator andLoopclass, allowing concurrent iterations if enabled. (#2765)Added various missing channel parameters and allow
default_reaction_emojito beNone. (#2772)Added support for type hinting slash command options with
typing.Annotated. (#2782)Added conversion to
MemberinMentionableConverter. (#2775)Added
discord.Interaction.created_at. (#2801)Added
User.nameplateproperty. (#2817)Added role gradients support with
Role.coloursand theRoleColoursclass. (#2818)Added
ThreadArchiveDurationenum to improve clarity of thread archive durations. (#2826)Added
Interaction.attachment_size_limit. (#2854)Added support for selects and text displays in modals. (#2858)
Added
AuditLogDiff.communication_disabled_until. (#2883)Added
discord.User.primary_guildand thePrimaryGuildclass. (#2876)Added
get_componenttoMessage,Section,ContainerandActionRow. (#2849)
Changed¶
Overhauled support for Components V2 and new Modal components (#2904)
Revert
discord.ui.Viewanddiscord.ui.Modalto 2.6.1 behavior; not compatible with new features.Implemented
discord.ui.DesignerViewanddiscord.ui.DesignerModalto support new components.DesignerViewandContainerdo not supportButtonandSelectdirectly; usediscord.ui.ActionRowinstead.DesignerModaldoes not supportInputTextandSelectdirectly; usediscord.ui.Labelinstead.Removed
InputText.description,Select.labelandSelect.description; these are now attributes ofLabel.discord.ui.Itemis now a base class forViewItemandModalItem; all items inherit from these.All view and modal classes now inherit from a base
ItemInterfaceclass, split intoBaseViewandBaseModal
Renamed
coverproperty ofScheduledEventandcoverargument ofScheduledEvent.edittoimage. (#2496)⚠️ Removed support for Python 3.8. (#2521)
Emojihas been renamed toGuildEmoji. (#2501)Replaced audioop (deprecated module) implementation of
PCMVolumeTransformer.readmethod with a pure Python equivalent. (#2176)Updated
Guild.filesize_limitto 10 MB instead of 25 MB following Discord’s API changes. (#2671)Entitlement.ends_atcan now beNone. (#2564)Changed the default value of
ApplicationCommand.nsfwtoFalse. (#2797)Upgraded voice websocket version to v8. (#2812)
Messageable.pins()now returns aMessagePinIteratorand has new arguments. (#2872)
Fixed¶
Fixed the
viewattribute on many view items being incorrect. (#2981)Fixed
TypeErrorin paginator implementation when only passingPageGroupobjects andshow_menuis falsy. (#2993)Fixed breaking change in
ui.SelectGeneric typing by adding default values to TypeVars. (#3002)Fixed
View’sdisable_on_timeoutnot working in private (DM) channels. (#3016)Manage silence for new SSRC with existing user_id. (#2808)
Unbound
rawreference inparse_message_updatecausing errors on message updates. (#2905)view=Nonein various methods causing an AttributeError. (#2915)View.messagebeingNonewhen it had not been interacted with yet. (#2916)Fixed a crash when processing message edit events while message cache was disabled. (#2924)
Fixed OPUS Decode Error when recording audio. (#2925)
Fixed a
TypeErrorwhen typingui.Selectwithout providing optional type arguments. (#2943)Fixed modal input values being misordered when using the
rowparameter and inserting items out of row order. (#2938)Fixed a KeyError when a text input is left blank in a modal. (#2938)
Fixed
TypeErrorwhen using Python 3.12+typesyntax for typing slash command parameters. (#2952)Fixed autocomplete crashing when using an async staticmethod. (#2966)
Fixed attributes like :attr:
Member.display_bannerbeingNonewhen the member has no guild specific banner, but does have a global one. (#2968)Fixed
__repr__formatting forAppEmoji. (#2972)Fixed
Enumoptions not setting the correct type when only one choice is available. (#2577)Fixed
codecoption forFFmpegOpusAudioclass to make it in line with documentation. (#2581)Fixed a possible bug where audio would play too fast at the beginning of audio files. (#2584)
Fixed paginator not responding when using
Paginator.edit()with default parameters. (#2594)Fixed the
is_owner()usertype hint:User->User | Member. (#2593)Fixed
Guild.create_test_entitlement()andUser.create_test_entitlement()using the guild/user ID instead of the application ID. (#2595)Fixed
BucketType.categorycooldown commands not functioning correctly in private channels. (#2603)Fixed
ctxparameter of aSlashCommandnot beingUniontype. (#2611)Fixed
TypeErrorwhen passingskusparameter inClient.entitlements(). (#2627)Fixed
AttributeErrorwhen sending polls withPartialWebook. (#2624)Fixed editing
ForumChannelflags not working. (#2641)Fixed
AttributeErrorwhen accessingMember.guild_permissionsfor user installed apps. (#2650)Fixed type annotations of cached properties. (#2635)
Fixed malformed properties in
Interaction.channel. (#2658)Fixed an error when responding non-ephemerally with a
Paginatorto an ephemerally deferred interaction. (#2661)Fixed attachment metadata being set incorrectly in interaction responses causing the metadata to be ignored by Discord. (#2679)
Fixed unexpected backoff behavior in the handling of task failures (#2700).
Fixed
BridgeCommandduplicate in default help command. (#2656)Fixed
AttributeErrorwhen trying to consume a consumable entitlement. (#2564)Fixed
Subscription.renewal_sku_idsnot acceptingNonefrom the received payload. (#2709)Fixed
ForumChannel.editallowingdefault_reaction_emojito beNone. (#2739)Fixed missing
Nonetype hints inSelect.__init__. (#2746)Fixed
TypeErrorwhen usingFlagwith Python 3.11+. (#2759)Fixed
TypeErrorwhen specifyingthread_nameinWebhook.send. (#2761)Updated
valid_localesto supportinandes-419. (#2767)Added support for emoji aliases like
:smile:in PartialEmoji.from_str. Also applied the same logic in PartialEmojiConverter. (#2815)Fixed
Webhook.editnot working withattachments=[]. (#2779)Fixed GIF-based
Stickerreturning the wrongurl. (#2781)Fixed
VoiceClientcrashing randomly while receiving audio (#2800)Fixed
VoiceClient.connectfailing to do initial connection. (#2812)Fixed
AttributeErrorwhen printing a File component’s__repr__. (#2843)Fixed
TypeErrorwhen using@optionwith certain annotations and along withchannel_types. (#2835)Fixed
TypeErrorwhen usingOptional[...]or... | Nonein command option type. (#2852)Fixed type-hinting for
PermissionOverwrite.update. (#2878)Fixed
AttributeErrorwhen accessingAuditLogEntry.changesmore than once. ([#2882])(https://github.com/Pycord-Development/pycord/pull/2882))Fixed type hint for argument
start_timeandend_timeofGuild.create_scheduled_event(#2879)
Deprecated¶
Deprecated manually setting the
viewattribute on view items. (#2981)Deprecated
utils.get_or_fetch(attr, id)andClient.get_or_fetch_user(id)in favour ofutils.get_or_fetch(object_type, object_id)andClient.get_or_fetch(User, id). (#2776)Deprecated
AppInfo.summaryin favor ofAppInfo.description. (#2520)Deprecated
Emojiin favor ofGuildEmoji. (#2501)Deprecated
Interaction.cached_channelin favor ofInteraction.channel. (#2658)Deprecated
is_nsfwfor categories since it was never supported by the API. (#2772)Deprecated
Messageable.pins()returning a list ofMessage; it should be used as an iterator ofMessagePininstead. (#2872)
Removed¶
2.7.0rc2 - 2025-10-22¶
Added¶
Implemented
with_responsefor interaction callbacks, addingInteraction.callback.is_loading()andInteraction.callback.is_ephemeral(). (#2711)Added
RawMessageUpdateEvent.new_message- message update events now contain full message objects (#2780)Added
Guild.get_or_fetch()andClient.get_or_fetch()shortcut methods. (#2776)Added support for setting guild-specific
avatar,banner, andbiofor the bot user throughMember.edit. (#2908)Added support for select default values. (#2899)
Adds a new generic parameter to selects to type
ui.Select.valuesreturn type.Adds
SelectDefaultValueobject to create select default values.Adds
SelectDefaultValueTypeenum.Adds pre-typed and pre-constructed with select_type
ui.Selectaliases for the different select types:ui.StringSelect,ui.UserSelect,ui.RoleSelect,ui.MentionableSelect, andui.ChannelSelect.
Added
storeparameter toViewandModalclasses. (#2904)Added
Webhook.parentandWebhook.from_interaction(#2904)Added the ability to use functions with any number of optional arguments and functions returning an awaitable as
Option.autocomplete. (#2914)Added
ui.FileUploadfor modals and theFileUploadcomponent. (#2938)Added
Permissions.bypass_slowmode. (#2939)Added support for Guild Incidents via
Guild.incidents_dataandGuild.modify_incident_actions(). (#2955)Added
mentionproperty toBaseEmoji. (#2972)
Changed¶
Overhauled support for Components V2 and new Modal components (#2904)
Revert
discord.ui.Viewanddiscord.ui.Modalto 2.6.1 behavior; not compatible with new features.Implemented
discord.ui.DesignerViewanddiscord.ui.DesignerModalto support new components.DesignerViewandContainerdo not supportButtonandSelectdirectly; usediscord.ui.ActionRowinstead.DesignerModaldoes not supportInputTextandSelectdirectly; usediscord.ui.Labelinstead.Removed
InputText.description,Select.labelandSelect.description; these are now attributes ofLabel.discord.ui.Itemis now a base class forViewItemandModalItem; all items inherit from these.All view and modal classes now inherit from a base
ItemInterfaceclass, split intoBaseViewandBaseModal
Fixed¶
Manage silence for new SSRC with existing user_id. (#2808)
Unbound
rawreference inparse_message_updatecausing errors on message updates. (#2905)view=Nonein various methods causing an AttributeError. (#2915)View.messagebeingNonewhen it had not been interacted with yet. (#2916)Fixed a crash when processing message edit events while message cache was disabled. (#2924)
Fixed OPUS Decode Error when recording audio. (#2925)
Fixed a
TypeErrorwhen typingui.Selectwithout providing optional type arguments. (#2943)Fixed modal input values being misordered when using the
rowparameter and inserting items out of row order. (#2938)Fixed a KeyError when a text input is left blank in a modal. (#2938)
Fixed
TypeErrorwhen using Python 3.12+typesyntax for typing slash command parameters. (#2952)Fixed autocomplete crashing when using an async staticmethod. (#2966)
Fixed attributes like :attr:
Member.display_bannerbeingNonewhen the member has no guild specific banner, but does have a global one. (#2968)Fixed
__repr__formatting forAppEmoji. (#2972)
Deprecated¶
Deprecated
utils.get_or_fetch(attr, id)andClient.get_or_fetch_user(id)in favour ofutils.get_or_fetch(object_type, object_id)andClient.get_or_fetch(User, id). (#2776)
Removed¶
2.7.0rc1 - 2025-08-30¶
⚠️ This version removes support for Python 3.8. ⚠️
Added¶
Added
positionalargument tocommands.Flag. (#2443)Added
Guild.fetch_rolemethod. (#2528)Added the following
AppInfoattributes:approximate_guild_count,approximate_user_install_count,custom_install_url,install_params,interactions_endpoint_url,redirect_uris,role_connections_verification_url, andtags. (#2520)Added
Member.guild_bannerandMember.display_bannerproperties. (#2556)Added support for Application Emojis. (#2501)
Added
cache_app_emojisparameter toClient. (#2501)Added
elapsedmethod toVoiceClient. (#2587)Added optional
filterparameter toutils.basic_autocomplete(). (#2590)Added role tags:
subscription_listing_id,guild_connections, andavailable_for_purchase. (#2606)Added missing
with_countsparameter tofetch_guildsmethod. (#2615)Added the following missing permissions:
Permissions.use_soundboard,Permissions.use_external_sounds, andPermissions.view_creator_monetization_analytics. (#2620)Added
MediaChannelchannel type. (#2641)Added
Message._raw_dataattribute. (#2670)Added helper methods to determine the authorizing party of an
Interaction. (#2659)Added
VoiceMessagesubclass ofFileto allow voice messages to be sent. (#2579)Added the following soundboard-related features:
Manage guild soundboard sounds with
Guild.fetch_sounds(),Guild.create_sound(),SoundboardSound.edit(), andSoundboardSound.delete().Access Discord default sounds with
Client.fetch_default_sounds().Play sounds in voice channels with
VoiceChannel.send_soundboard_sound().New
on_voice_channel_effect_sendevent for sound and emoji effects.Soundboard limits based on guild premium tier (8-48 slots) in
Guild.soundboard_limit. (#2623)
Added new
Subscriptionobject and related methods/events. (#2564)Added
Message.forward_to,Message.snapshots, and other related attributes. (#2598)Add missing
Guildfeature flags andGuild.editparameters. (#2672)Added the ability to change the API’s base URL with
Route.API_BASE_URL. (#2714)Added the ability to pass a
datetime.timeobject toformat_dt. (#2747)Added the ability to pass an
overlapparameter to theloopdecorator andLoopclass, allowing concurrent iterations if enabled. (#2765)Added various missing channel parameters and allow
default_reaction_emojito beNone. (#2772)Added support for type hinting slash command options with
typing.Annotated. (#2782)Added conversion to
MemberinMentionableConverter. (#2775)Added
discord.Interaction.created_at. (#2801)Added
User.nameplateproperty. (#2817)Added role gradients support with
Role.coloursand theRoleColoursclass. (#2818)Added
ThreadArchiveDurationenum to improve clarity of thread archive durations. (#2826)Added
Interaction.attachment_size_limit. (#2854)Added support for selects and text displays in modals. (#2858)
Added
AuditLogDiff.communication_disabled_until. (#2883)Added
discord.User.primary_guildand thePrimaryGuildclass. (#2876)Added
get_componenttoMessage,Section,ContainerandActionRow. (#2849)
Fixed¶
Fixed
Enumoptions not setting the correct type when only one choice is available. (#2577)Fixed
codecoption forFFmpegOpusAudioclass to make it in line with documentation. (#2581)Fixed a possible bug where audio would play too fast at the beginning of audio files. (#2584)
Fixed paginator not responding when using
Paginator.edit()with default parameters. (#2594)Fixed the
is_owner()usertype hint:User->User | Member. (#2593)Fixed
Guild.create_test_entitlement()andUser.create_test_entitlement()using the guild/user ID instead of the application ID. (#2595)Fixed
BucketType.categorycooldown commands not functioning correctly in private channels. (#2603)Fixed
ctxparameter of aSlashCommandnot beingUniontype. (#2611)Fixed
TypeErrorwhen passingskusparameter inClient.entitlements(). (#2627)Fixed
AttributeErrorwhen sending polls withPartialWebook. (#2624)Fixed editing
ForumChannelflags not working. (#2641)Fixed
AttributeErrorwhen accessingMember.guild_permissionsfor user installed apps. (#2650)Fixed type annotations of cached properties. (#2635)
Fixed malformed properties in
Interaction.channel. (#2658)Fixed an error when responding non-ephemerally with a
Paginatorto an ephemerally deferred interaction. (#2661)Fixed attachment metadata being set incorrectly in interaction responses causing the metadata to be ignored by Discord. (#2679)
Fixed unexpected backoff behavior in the handling of task failures (#2700).
Fixed
BridgeCommandduplicate in default help command. (#2656)Fixed
AttributeErrorwhen trying to consume a consumable entitlement. (#2564)Fixed
Subscription.renewal_sku_idsnot acceptingNonefrom the received payload. (#2709)Fixed
ForumChannel.editallowingdefault_reaction_emojito beNone. (#2739)Fixed missing
Nonetype hints inSelect.__init__. (#2746)Fixed
TypeErrorwhen usingFlagwith Python 3.11+. (#2759)Fixed
TypeErrorwhen specifyingthread_nameinWebhook.send. (#2761)Updated
valid_localesto supportinandes-419. (#2767)Added support for emoji aliases like
:smile:in PartialEmoji.from_str. Also applied the same logic in PartialEmojiConverter. (#2815)Fixed
Webhook.editnot working withattachments=[]. (#2779)Fixed GIF-based
Stickerreturning the wrongurl. (#2781)Fixed
VoiceClientcrashing randomly while receiving audio (#2800)Fixed
VoiceClient.connectfailing to do initial connection. (#2812)Fixed
AttributeErrorwhen printing a File component’s__repr__. (#2843)Fixed
TypeErrorwhen using@optionwith certain annotations and along withchannel_types. (#2835)Fixed
TypeErrorwhen usingOptional[...]or... | Nonein command option type. (#2852)Fixed type-hinting for
PermissionOverwrite.update. (#2878)Fixed
AttributeErrorwhen accessingAuditLogEntry.changesmore than once. ([#2882])(https://github.com/Pycord-Development/pycord/pull/2882))Fixed type hint for argument
start_timeandend_timeofGuild.create_scheduled_event(#2879)
Changed¶
Renamed
coverproperty ofScheduledEventandcoverargument ofScheduledEvent.edittoimage. (#2496)⚠️ Removed support for Python 3.8. (#2521)
Emojihas been renamed toGuildEmoji. (#2501)Replaced audioop (deprecated module) implementation of
PCMVolumeTransformer.readmethod with a pure Python equivalent. (#2176)Updated
Guild.filesize_limitto 10 MB instead of 25 MB following Discord’s API changes. (#2671)Entitlement.ends_atcan now beNone. (#2564)Changed the default value of
ApplicationCommand.nsfwtoFalse. (#2797)Upgraded voice websocket version to v8. (#2812)
Messageable.pins()now returns aMessagePinIteratorand has new arguments. (#2872)
Deprecated¶
Deprecated
AppInfo.summaryin favor ofAppInfo.description. (#2520)Deprecated
Emojiin favor ofGuildEmoji. (#2501)Deprecated
Interaction.cached_channelin favor ofInteraction.channel. (#2658)Deprecated
is_nsfwfor categories since it was never supported by the API. (#2772)Deprecated
Messageable.pins()returning a list ofMessage; it should be used as an iterator ofMessagePininstead. (#2872)
Removed¶
Removed deprecated support for
OptioninBridgeCommand, useBridgeOptioninstead. (#2731)
2.6.1 - 2024-09-15¶
Fixed¶
Fixed premature garbage collection of tasks. (#2510)
Fixed
EntitlementIteratortype hints and behavior withlimit > 100. (#2555)Fixed missing
stacklevelparameter inwarn_deprecatedfunction call inside@utils.deprecated. (#2500)Fixed the type hint in
ConnectionState._pollsto reflect actual behavior, changing it fromGuildtoPoll. (#2500)Fixed missing
__slots__attributes inRawReactionClearEmojiEventandRawMessagePollVoteEvent. (#2500)Fixed the type of
ForumChannel.default_sort_order, changing it frominttoSortOrder. (#2500)Fixed
PartialMessagecausing errors when created fromPartialMessageable. (#2568)Fixed the
guildattribute ofMembers received from aUserCommandbeingNone. (#2573)Fixed
Webhook.send, which did not include attachment data. (#2513)Fixed inverted type hints in
CheckAnyFailure. (#2502)
2.6.0 - 2024-07-09¶
Added¶
Added
bannerparameter toClientUser.edit. (#2396)Added
userargument toPaginator.edit. (#2390)Added
bridge_optiondecorator. Required forbridge.Botin 2.7. (#2417)Added
Guild.search_members. (#2418)Added bulk banning up to 200 users through
Guild.bulk_ban. (#2421)Added
memberdata to theraw_reaction_removeevent. (#2412)Added
Polland all related features. (#2408)Added
stacklevelparam toutils.warn_deprecatedandutils.deprecated. (#2450)Added support for user-installable applications. (#2409)
Added support for one-time purchases for Discord monetization. (#2438)
Added
Attachment.title. (#2486)Added
MemberFlags. (#2489)Added
bypass_verificationparameter toMember.edit. (#2489)Added
RoleFlags. (#2487)Added
MessageCallinformation. (#2488)
Fixed¶
Fixed the type-hinting of
Member.move_toandMember.editto reflect actual behavior. (#2386)Fixed a deprecation warning from being displayed when running
python -m discord -vby replacing the deprecated module. (#2392)Fixed
Paginator.editto no longer set user to the bot. (#2390)Fixed
NameErrorin some instances ofInteraction. (#2402)Fixed interactions being ignored due to
PartialMessage.idbeing of typestr. (#2406)Fixed the type-hinting of
ScheduledEvent.subscribersto reflect actual behavior. (#2400)Fixed
ScheduledEvent.subscribersbehavior withlimit=None. (#2407)Fixed invalid data being passed to
Interaction._guildin certain cases. (#2411)Fixed option type hints being ignored when using
parameter_name. (#2417)Fixed parameter
embed=NonecausingAttributeErroronPartialMessage.edit. (#2446)Fixed paginator to revert state if a page update callback fails. (#2448)
Fixed missing
application_idinEntitlement.delete. (#2458)Fixed issues with enums as
Optiontypes with long descriptions or too many values. (#2463)Fixed many inaccurate type hints throughout the library. (#2457)
Fixed
AttributeErrordue todiscord.Optionbeing initialised withinput_typeset toNone. (#2464)Fixed
remove_application_commandcausing issues while reloading extensions. (#2480)Fixed outdated logic for filtering and sorting audit log entries. (#2371)
Further fixed logic when fetching audit logs. (#2492)
Changed¶
Changed the type of
Guild.bitrate_limittoint. (#2387)HTTP requests that fail with a 503 status are now retried. (#2395)
optiondecorator now acceptsinput_type. (#2417)Optionmay be used instead ofBridgeOptionuntil 2.7. (#2417)Guild.query_membersnow acceptslimit=Noneto retrieve all members. (#2419)ApplicationCommand.guild_onlyis now deprecated in favor ofApplicationCommand.contexts. (#2409)Message.interactionis now deprecated in favor ofMessage.interaction_metadata. (#2409)Replaced
Client.fetch_entitlementswithClient.entitlements, which returns anEntitlementIterator. (#2490)Changed the error message that appears when attempting to add a subcommand group to a subcommand group. (#2275)
Removed¶
2.5.0 - 2024-03-02¶
Added¶
Added method to start bot via async context manager. (#1801)
Added parameters
author,footer,imageandthumbnailtodiscord.Embedinitializer. (#1996)Added events
on_bridge_command,on_bridge_command_completion, andon_bridge_command_error. (#1916)Added the
@client.once()decorator, which serves as a one-time event listener. (#1940)Added support for text-related features in
StageChannel. (#1936)Added support for one-time event listeners in
Client.listen. (#1957)Added
current_pageargument toPaginator.update(). (#1983)Added application flag
application_auto_moderation_rule_create_badge. (#1992)Added support for recording silence via new
sync_startargument inVoiceClient.start_recording(). (#1984)Added
custom_messageto AutoModActionMetadata. (#2029)Added support for voice messages. (#2016)
Added
dataattribute to all Raw Event payloads. (#2023)Added and documented missing
AuditLogActionenums. (#2030, #2171)Added AutoMod-related models for
AuditLogDiffenums. (#2030)Added
Interaction.respondandInteraction.editas shortcut responses. (#2026)Added
view.parentwhich is set when the view is sent byinteraction.response.send_message. (#2036)Added methods
bridge.Bot.walk_bridge_commandsandBridgeCommandGroup.walk_commands. (#1867)Added support for usernames and modified multiple methods accordingly. (#2042)
Added
iconandunicode_emojiarguments toGuild.create_role. (#2086)Added
cooldownandmax_concurrencyattributes toSlashCommandGroup. (#2091)Added embedded activities Gartic Phone and Jamspace. (#2102)
Added
bridge.Contexttype as aUnionof subclasses. (#2106)Added support for type-hinting slash command options with
typing.Annotated. (#2124)Added
suppressandallowed_mentionsparameters toWebhookandInteractionResponseedit methods. (#2138)Added
wait_finishparameter toVoiceClient.playfor awaiting the end of a play. (#2194)Added support for custom bot status. (#2206)
Added function
Guild.delete_auto_moderation_rule. (#2153)Added
VoiceChannel.slowmode_delay. (#2112)Added
ForumChannel.default_reaction_emojiattribute. (#2178)Added
default_reaction_emojiparameter toGuild.create_forum_channelandForumChannel.editmethods. (#2178)Added
applied_tagsparameter toWebhook.sendmethod. (#2322)Added
User.avatar_decoration. (#2131)Added support for guild onboarding related features. (#2127)
Added support for monetization related objects and events. (#2273)
Added
AttachmentFlagsand attachment attributesexpires_at,issued_atandhm. (#2342)Added
invitableandslowmode_delaytoThreadcreation methods. (#2350)Added support for voice channel statuses. (#2368)
Added
enforce_nonceparameter for message sending. (#2370)Added audit log support for voice channel status. (#2373)
Changed¶
Changed default for all
name_localizationsanddescription_localizationsattributes from beingNoneto beingMISSING. (#1866)Changed
ffmpegoutput suppression when recording voice channels. (#1993)Changed file-upload size limit from 8 MB to 25 MB accordingly. (#2014)
Changed the behavior of retrieving bans to accurately reflect the API. (#1922)
Changed
Interaction.channelto be received from the gateway, allowing it to beDMChannelorGroupChannel. (#2025)Changed
DMChannel.recipientsto potentially beNone. (#2025)Changed the behavior to store
view.messagewhen receiving a component interaction, while also changingview.messagenot to be set when sending view throughInteractionResponse.send_message. (#2036)Changed the fetching of attributes shared between text-based and Slash Commands in Bridge Commands to be dynamic. (#1867)
discord.Embedattributes (such as author, footer, etc.) now return instances of their respective classes when set andNoneotherwise. (#2063)Changed
default_avatarbehavior to depend on the user’s username migration status. (#2087)Changed type hints of
command_prefixandhelp_commandarguments to be accurate. (#2099)Replaced
orjsonfeatures withmsgspecin the codebase. (#2170)BridgeOptionmust now be used for arguments in bridge commands. (#2252)
Removed¶
Fixed¶
Fixed
AttributeErrorcaused by #1957 when using listeners in cogs. (#1989)Fixed an issue in editing webhook messages in forum posts and private threads. (#1981).
Fixed
View.messagenot being set when view is sent using webhooks, includingInteraction.followup.sendor when a message is edited. (#1997)Fixed
Nonebeing handled incorrectly for avatar inClientUser.edit. (#1994)Fixed scheduled events breaking when changing the location from external to a channel. (#1998)
Fixed boolean converter breaking for Bridge Commands. (#1999)
Fixed bridge command options not working. (#1999)
Fixed
TypeErrorbeing raised when passingnameargument to bridge groups. (#2000)Fixed
TypeErrorinAutoModRule. (#2029)Fixed the functionality to override the default
on_application_command_errorbehavior using listeners. (#2044)Fixed unloading of cogs with bridge commands. (#2048)
Fixed the
individualslash command synchronization method. (#1925)Fixed an issue that occurred when
webhooks_updateevent payload channel ID wasNone. (#2078)Fixed major
TypeErrorwhen anAuditLogEntryhas no user. (#2079)Fixed
HTTPExceptionwhen trying to create a forum thread with files. (#2075)Fixed
before_invokenot being run forSlashCommandGroup. (#2091)Fixed
AttributeErrorwhen accessing aSelectobject’s values when it has not been interacted with. (#2104)Fixed
before_invokebeing run twice for slash subcommands. (#2139)Fixed
Guild._member_countsometimes not being set. (#2145)Fixed
Thread.applied_tagsnot being updated. (#2146)Fixed type-hinting of
authorproperty ofApplicationContextto include type-hinting ofUserorMember. (#2148)Fixed missing
delete_afterparameter in overload type-hinting forWebhook.send(). (#2156)Fixed
ScheduledEvent.creator_idreturningstrinstead ofint. (#2162)Fixed
_bytes_to_base64_datanot defined. (#2185)Fixed inaccurate
Uniontype hint ofvaluesargument ofbasic_autocompleteto includeIterable[OptionChoice].Fixed initial message inside of the create thread payload sending legacy beta payload. (#2191)
Fixed a misplaced payload object inside of the thread creation payload. (#2192)
Fixed
DMChannel.recipientandUser.dm_channelbeingNone. (#2219)Fixed
ffmpegbeing terminated prematurely when piping audio stream. (#2240)Fixed tasks looping infinitely when
tzinfois neitherNonenor UTC. (#2196)Fixed
AttributeErrorwhen running permission checks without thebotscope. (#2113)Fixed
Optionnot working on bridge commands becauseext.commands.Commanddoes not recognize them. (#2256)Fixed offset-aware tasks causing
TypeErrorwhen being prepared. (#2271)Fixed
AttributeErrorwhen serializing commands withAnnotatedtype hints. (#2243)Fixed
Intents.all()returning the wrong value. (#2257)Fixed
AuditLogIteratornot respecting theafterparameter. (#2295)Fixed
AttributeErrorwhen failing to establish initial websocket connection. (#2301)Fixed
AttributeErrorcaused bycommand.cogbeingMISSING. (#2303)Fixed
self.use_default_buttonsbeing assumed truthy byPaginator.update. (#2319)Fixed
AttributeErrorwhen comparing application commands with non-command objects. (#2299)Fixed
AttributeErrorwhen copying groups on startup. (#2331)Fixed application command options causing errors if declared through the option decorator or kwarg. (#2332)
Fixed options declared using the parameter default value syntax always being optional. (#2333)
Fixed
BridgeContexttype hints raising an exception for unsupported option type. (#2337)Fixed
TypeErrordue to(Sync)WebhookMessage._thread_idbeing set toNone. (#2343)Fixed
AttributeErrordue toentitlementsnot being included inInteraction.__slots__. (#2345)Fixed
Thread.mebeing out of date and added the thread owner toThread.memberson creation. (#1296)Fixed keyword argument wildcard of
bridge.has_permissionshaving the wrong type hint. (#2364)Fixed enum to support stringified annotations. (#2367)
2.4.1 - 2023-03-20¶
Changed¶
Updated the values of the
Color.embed_background()classmethod to correspond with new theme colors in the app. (#1931)
Fixed¶
Fixed the type-hinting of
SlashCommandGroup.walk_commands()to reflect actual behavior. (#1838)Fixed the voice IP discovery due to the recent announced change. (#1955)
Fixed
reasonbeing passed to the wrong method inguild.create_auto_moderation_rule. (#1960)
2.4.0 - 2023-02-10¶
Added¶
Added new AutoMod trigger metadata properties
regex_patterns,allow_list, andmention_total_limit; and added themention_spamtrigger type. (#1809)Added missing
imageparameter toGuild.create_scheduled_event()method. (#1831)New
ApplicationRoleConnectionMetadataclass for application role connection metadata, along with thefetch_role_connection_metadata_recordsandupdate_role_connection_metadata_recordsmethods inClient. (#1791)Added new message types,
role_subscription_purchase,interaction_premium_upsell,stage_start,stage_end,stage_speaker,stage_raise_hand,stage_topic, andguild_application_premium_subscription. (#1852)Added new
EmbeddedActivityvalues. (#1859)Added new
suppress_notificationstoMessageFlags. (#1912)Added GIF sticker format type to the
StickerFormatTypeenum. (#1915)Added new raw events:
raw_member_remove,raw_thread_update, andraw_thread_member_remove. (#1880)Improved support for setting channel types & added new channel types for
discord.Option. (#1883)
Changed¶
Changed
EmbeddedActivityvalues to update accordingly with the new activities. (#1859)Advanced version info is now stored as a dict in
version_info.advancedinstead of attributes on theversion_infoobject. (#1920)The
version_info.release_levelattribute has been reverted to its previous name,releaselevel. (#1920)
Fixed¶
2.3.3 - 2023-02-10¶
Fixed an unhandled
KeyErrorexception when receiving GIF stickers, causing crashes. (#1915)
2.3.2 - 2022-12-03¶
Fixed¶
2.3.1 - 2022-11-27¶
Fixed¶
Fixed
AttributeErrorrelating to the newbridge_commandsattribute onext.bridge.Bot. (#1802)
2.3.0 - 2022-11-23¶
Added¶
New brief Attribute to BridgeSlashCommand. (#1676)
Python 3.11 support. (#1680)
New select types
user,role,mentionable, andchannel- Along with their respective types and shortcut decorators. (#1702)Added support for age-restricted (NSFW) commands. (#1775)
New flags:
PublicUserFlags.active_developer&ApplicationFlags.active. (#1776)Support for new forum features including tags, default slowmode, and default sort order. (#1636)
Support for new thread attributes
total_message_sentandis_pinned. (#1636)Added
bridge_commandsattribute toext.bridge.Botfor access to bridge command objects. (#1787)Updated
Guild.featuresto include new and previously missing features. (#1788)
Fixed¶
Changed¶
Removed¶
Removed the guild feature
PRIVATE_THREADSdue to paywall limitation removal. (#1789)
2.2.2 - 2022-10-05¶
Fixed¶
Fixed
parentattribute of second-level subcommands being set to the base level command instead of the direct parent. (#1673)
2.2.1 - 2022-10-05¶
Added¶
New
SlashCommand.qualified_idattribute. (#1672)
Fixed¶
2.2.0 - 2022-10-02¶
Added¶
New Guild Feature
INVITES_DISABLED. (#1613)suppresskwarg toMessageable.send(). (#1587)proxyandproxy_authparams to many Webhook-related methods. (#1655)delete_message_secondsparameter in ban methods. (#1557)New
View.get_item()method. (#1659)Permissions support for bridge commands. (#1642)
New
BridgeCommand.invoke()method. (#1642)New
raw_mentions,raw_role_mentionsandraw_channel_mentionsfunctions indiscord.utils. (#1658)New methods
original_response,edit_original_response&delete_original_responseforInteractionobjects. (#1609)
Deprecated¶
The
delete_message_daysparameter in ban methods is now deprecated. Please usedelete_message_secondsinstead. (#1557)The
original_message,edit_original_message&delete_original_messagemethods forInteractionare now deprecated. Please use the respectiveoriginal_response,edit_original_response&delete_original_responsemethods instead. (#1609)
Fixed¶
2.1.3 - 2022-09-06¶
Fixed¶
Fix TypeError in
process_application_commands. (#1622)
2.1.2 - 2022-09-06¶
Fixed¶
2.1.1 - 2022-08-25¶
Fixed¶
Bridge command detection in cogs. (#1592)
2.1.0 - 2022-08-25¶
Added¶
Support for add, sub, union, intersect, and inverse operations on classes inheriting from
BaseFlags. (#1486)A
disable_on_timeoutkwarg in theViewconstructor. (#1492)New
mentionproperty forSlashCommandobjects, allowing a shortcut for the new command markdown syntax. (#1523)An
app_commands_badgevalue onApplicationFlags. (#1535 and #1553)A new
fetch_applicationmethod in theClientobject. (#1536)New
on_check_failureevent method for theViewclass. (#799)A
set_mfa_requiredmethod toGuild. (#1552)Support for command groups with bridge commands. (#1496)
Support for
Attachmenttype options for bridge commands. (#1496)is_appproperty forBridgeContextto better differentiate context types. (#1496)Support for localization on bridge commands. (#1496)
A
filter_paramshelper function indiscord.utils. (#1496)Support for
InteractionMessagevia themessageproperty ofView. (#1492)
Changed¶
Fixed¶
Fix
VoiceChannel/CategoryChanneldata being invalidated onOption._invoke. (#1490)Fix type issues in
options.py(#1473)Fix KeyError on AutoModActionExecution when the bot lacks the Message Content Intent. (#1521)
Large code/documentation cleanup & minor bug fixes. (#1476)
Fix
Optionwith typestrraising AttributeError whenmin_lengthormax_lengthkwargs are passed. (#1527)Fix
load_extensionsparameters not being passed through correctly. (#1537)Fix
SlashCommandGroupdescriptions to use the correct default string. (#1539 and #1586)Fix Enum type options breaking due to
from_datatype()method & Fix minor typing import. (#1541)Adjust category and guild
_channelsattributes to work with NoneType positions. (#1530)Make
SelectOption.emojia property. (#1550)Improve sticker creation by checking for minimum and maximum length on
nameanddescription. (#1546)Fix threads created with a base message being set to the wrong
message_reference. (#1551)Avoid unnecessary calls to
sync_commandsduring runtime. (#1563)Fix bug in
Modal.on_timeout()by usingcustom_idto create timeout task. (#1562)Respect limit argument in
Guild.bans(). (#1573)Fix
beforeargument inon_scheduled_event_updateevent always set toNoneby converting ID toint. (#1580)Fix
__eq__methodApplicationCommandaccidentally comparing to self. (#1585)Apply
cog_checkmethod toApplicationCommandinvocations. (#1575)Fix
Interaction.edit_original_message()usingConnectionStateinstead ofInteractionMessageState. (#1565)Fix required parameters validation error. (#1589)
Security¶
Improved fix for application-based bots without the bot scope (#1584)
2.0.1 - 2022-08-16¶
Security¶
Fix for application-based bots without the bot scope (#1568)
2.0.0 - 2022-07-08¶
Added¶
New
newsproperty onTextChannel. (#1370)New
invisiblekwarg todefer()method. (#1379)Support for audit log event type 121
APPLICATION_COMMAND_PERMISSION_UPDATE. (#1424)New
ForumChannelConverter. (#1440)A shortcut
jump_urlproperty to users. (#1444)Ability for webhooks to create forum posts. (#1405)
New
messageproperty toView(#1446)Support for
error,before_invoke, andafter_invokehandlers onBridgeCommand. (#1411)New
threadproperty toMessage. (#1447)A
starting_messageproperty toThread. (#1447)An
app_permissionsproperty toInteractionandApplicationContext. (#1460)Support for loading folders in
load_extension, and a new helper functionload_extensions. (#1423)Support for AutoMod (#1316)
Support for
min_lengthandmax_lengthkwargs inOption. (#1463)Native timeout support for
Modal. (#1434)
Changed¶
Removed¶
Guild.regionattribute (Deprecated on API, VoiceChannel.rtc_region should be used instead). (#1429)
Fixed¶
Change
guild_onlytodm_permissionin application commandto_dictmethod. (#1368)Fix
repr(ScheduledEventLocation)raising TypeError. (#1369)Fix
repr(TextChannel)raising AttributeError. (#1370)Fix application command validation. (#1372)
Fix scheduled event
coverproperty raising AttributeError. (#1381)Fix
SlashCommandGrouptreating optional arguments as required. (#1386)Fix
remove_application_commandnot always removing commands. (#1391)Fix busy-loop in
DecodeManagerwhen the decode queue is empty, causing 100% CPU consumption. (#1395)Fix incorrect activities and permissions on
InteractionandOptionobjects. (#1365)Converted PartialMember
deafandmutefrom str annotation (incorrect) to bool annotation. (#1424)Use
PUTinstead ofPOSTinHTTPClient.join_thread. (#1426)Fix enum options not setting
input_typeto a SlashCommandOptionType. (#1428)Fixed TypeError when using thread options. (#1427)
Allow voice channels in PartialMessage. (#1441)
Fixed
AuditLogAction.target_typefor application command permission updates. (#1445)Fix bridge commands to ignore the ephemeral kwarg. (#1453)
Update
thread.membersonthread.fetch_members. (#1464)Fix the error when Discord does not send the
app_permissionsdata inInteraction. (#1467)Fix AttributeError when voice client
play()function is not completed yet. (#1360)
2.0.0-rc.1 - 2022-05-17¶
Added¶
A
delete_afterkwarg toPaginator.send. (#1245)New
reasonkwarg toThread.delete_messages. (#1253)A new
jump_urlproperty to channel and thread objects. (#1254 & #1259)New
Paginator.edit()method. (#1258)An
EmbedFieldobject. (#1181)Option names and descriptions are now validated locally. (#1271)
Component field limits are now enforced at the library level (#1065 & #1289)
Support providing option channel types as a list. (#1000)
New
Guild.jump_urlproperty. (#1282)ext.pages now supports ext.bridge. (#1288)
Implement
Nonecheck for check_guilds. (#1291)A debug warning to catch deprecated perms v1 usage until v2 perms are implemented. (#1301)
A new
filesparameter toPageobject. (#1300)A
disable_all_itemsandenable_all_itemsmethods toViewobject. (#1199 & #1319)New
is_nsfwattribute to voice channels. (#1317)Support for Permissions v2. (#1328)
Allow using Enum to specify option choices. (#1292)
The
fileandfilesparameters toInteractionResponse.edit_message(). (#1340)A
BridgeExtContext.delete()method. (#1348)Forum channels support. (#1249)
Implemented
Interaction.to_dict. (#1274)Support event covers for audit logs. (#1355)
Changed¶
Fixed¶
Fix
PartialMessage.edit()settingviewasNonewhenviewkwarg is not passed. (#1256)Fix channel parsing in slash command invocations. (#1257)
Make the channel
positionattribute optional. (#1257)Fix
PaginatorMenuto use interaction routes for updates. (#1267)Fix
PartialMessage.edit()behavior whencontentisNone. (#1268)Fix
Paginator.add_menu()andPaginator.add_default_buttons()passingcustom_idtoPaginatorMenu. (#1270)Fix
process_application_commandscommand not found fallback. (#1262)Fix interaction response race condition. (#1039)
Remove voice client when the bot disconnects. (#1273)
Fix conversion exception in
ext.bridge. (#1250)Context.mereturns ClientUser when guilds intent is absent. (#1286)Updated
Message.edittype-hinting overload and removed resulting redundant overloads. (#1299)Improved validation regex for command names & options. (#1309)
Correct
Guild.fetch_members()type-hints. (#1323)Multiple fixes and enhancements for
PageGrouphandling. (#1350)Make
TextChannel._get_channelasync. (#1358)
2.0.0-beta.7 - 2022-04-09¶
Fixed¶
Fix py3.10 UnionType checks issue. (#1240)
Older Versions¶
A changelog for versions prior to v2.0 can be found here.