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 master
branch, but have not yet been released.
[2.6.1] - 2024-09-15#
Fixed#
Fixed premature garbage collection of tasks. (#2510)
Fixed
EntitlementIterator
type hints and behavior withlimit > 100
. (#2555)Fixed missing
stacklevel
parameter inwarn_deprecated
function call inside@utils.deprecated
. (#2500)Fixed the type hint in
ConnectionState._polls
to reflect actual behavior, changing it fromGuild
toPoll
. (#2500)Fixed missing
__slots__
attributes inRawReactionClearEmojiEvent
andRawMessagePollVoteEvent
. (#2500)Fixed the type of
ForumChannel.default_sort_order
, changing it fromint
toSortOrder
. (#2500)Fixed
PartialMessage
causing errors when created fromPartialMessageable
. (#2568)Fixed the
guild
attribute ofMember
s recieved from aUserCommand
beingNone
. (#2573)Fixed
Webhook.send
not including attachment data. (#2513)Fixed inverted type hints in
CheckAnyFailure
. (#2502)
2.6.0 - 2024-07-09#
Added#
Added
banner
parameter toClientUser.edit
. (#2396)Added
user
argument toPaginator.edit
. (#2390)Added
bridge_option
decorator. Required forbridge.Bot
in 2.7. (#2417)Added
Guild.search_members
. (#2418)Added bulk banning up to 200 users through
Guild.bulk_ban
. (#2421)Added
member
data to theraw_reaction_remove
event. (#2412)Added
Poll
and all related features. (#2408)Added
stacklevel
param toutils.warn_deprecated
andutils.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_verification
parameter toMember.edit
. (#2489)Added
RoleFlags
. (#2487)Added
MessageCall
information. (#2488)
Fixed#
Fixed the type-hinting of
Member.move_to
andMember.edit
to reflect actual behavior. (#2386)Fixed a deprecation warning from being displayed when running
python -m discord -v
by replacing the deprecated module. (#2392)Fixed
Paginator.edit
to no longer set user to the bot. (#2390)Fixed
NameError
in some instances ofInteraction
. (#2402)Fixed interactions being ignored due to
PartialMessage.id
being of typestr
. (#2406)Fixed the type-hinting of
ScheduledEvent.subscribers
to reflect actual behavior. (#2400)Fixed
ScheduledEvent.subscribers
behavior withlimit=None
. (#2407)Fixed invalid data being passed to
Interaction._guild
in certain cases. (#2411)Fixed option typehints being ignored when using
parameter_name
. (#2417)Fixed parameter
embed=None
causingAttributeError
onPartialMessage.edit
. (#2446)Fixed paginator to revert state if a page update callback fails. (#2448)
Fixed missing
application_id
inEntitlement.delete
. (#2458)Fixed issues with enums as
Option
types with long descriptions or too many values. (#2463)Fixed many inaccurate type hints throughout the library. (#2457)
Fixed
AttributeError
due todiscord.Option
being initialised withinput_type
set toNone
. (#2464)Fixed
remove_application_command
causing 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_limit
toint
. (#2387)HTTP requests that fail with a 503 status are now re-tried. (#2395)
option
decorator now acceptsinput_type
. (#2417)Option
may be used instead ofBridgeOption
until 2.7. (#2417)Guild.query_members
now acceptslimit=None
to retrieve all members. (#2419)ApplicationCommand.guild_only
is now deprecated in favor ofApplicationCommand.contexts
. (#2409)Message.interaction
is now deprecated in favor ofMessage.interaction_metadata
. (#2409)Replaced
Client.fetch_entitlements
withClient.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
,image
andthumbnail
todiscord.Embed
initializer. (#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_page
argument toPaginator.update()
. (#1983)Added application flag
application_auto_moderation_rule_create_badge
. (#1992)Added support for recording silence via new
sync_start
argument inVoiceClient.start_recording()
. (#1984)Added
custom_message
to AutoModActionMetadata. (#2029)Added support for voice messages. (#2016)
Added
data
attribute to all Raw Event payloads. (#2023)Added and documented missing
AuditLogAction
enums. (#2030, #2171)Added AutoMod-related models for
AuditLogDiff
enums. (#2030)Added
Interaction.respond
andInteraction.edit
as shortcut responses. (#2026)Added
view.parent
which is set when the view is sent byinteraction.response.send_message
. (#2036)Added methods
bridge.Bot.walk_bridge_commands
andBridgeCommandGroup.walk_commands
. (#1867)Added support for usernames and modified multiple methods accordingly. (#2042)
Added
icon
andunicode_emoji
arguments toGuild.create_role
. (#2086)Added
cooldown
andmax_concurrency
attributes toSlashCommandGroup
. (#2091)Added embedded activities Gartic Phone and Jamspace. (#2102)
Added
bridge.Context
type as aUnion
of subclasses. (#2106)Added support for type-hinting slash command options with
typing.Annotated
. (#2124)Added
suppress
andallowed_mentions
parameters toWebhook
andInteractionResponse
edit methods. (#2138)Added
wait_finish
parameter toVoiceClient.play
for 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_emoji
attribute. (#2178)Added
default_reaction_emoji
parameter toGuild.create_forum_channel
andForumChannel.edit
methods. (#2178)Added
applied_tags
parameter toWebhook.send
method. (#2322)Added
User.avatar_decoration
. (#2131)Added support for guild onboarding related features. (#2127)
Added support for monetization related objects and events. (#2273)
Added
AttachmentFlags
and attachment attributesexpires_at
,issued_at
andhm
. (#2342)Added
invitable
andslowmode_delay
toThread
creation methods. (#2350)Added support for voice channel statuses. (#2368)
Added
enforce_nonce
parameter for message sending. (#2370)Added audit log support for voice channel status. (#2373)
Changed#
Changed default for all
name_localizations
anddescription_localizations
attributes from beingNone
to beingMISSING
. (#1866)Changed
ffmpeg
output 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.channel
to be received from the gateway, allowing it to beDMChannel
orGroupChannel
. (#2025)Changed
DMChannel.recipients
to potentially beNone
. (#2025)Changed the behavior to store
view.message
when receiving a component interaction, while also changingview.message
not 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.Embed
attributes (such as author, footer, etc.) now return instances of their respective classes when set andNone
otherwise. (#2063)Changed
default_avatar
behavior to depend on the user’s username migration status. (#2087)Changed type hints of
command_prefix
andhelp_command
arguments to be accurate. (#2099)Replaced
orjson
features withmsgspec
in the codebase. (#2170)BridgeOption
must now be used for arguments in bridge commands. (#2252)
Removed#
Fixed#
Fixed
AttributeError
caused by #1957 when using listeners in cogs. (#1989)Fixed an issue in editing webhook messages in forum posts and private threads. (#1981).
Fixed
View.message
not being set when view is sent using webhooks, includingInteraction.followup.send
or when a message is edited. (#1997)Fixed
None
being 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
TypeError
being raised when passingname
argument to bridge groups. (#2000)Fixed
TypeError
inAutoModRule
. (#2029)Fixed the functionality to override the default
on_application_command_error
behavior using listeners. (#2044)Fixed unloading of cogs with bridge commands. (#2048)
Fixed the
individual
slash command synchronization method. (#1925)Fixed an issue that occurred when
webhooks_update
event payload channel ID wasNone
. (#2078)Fixed major
TypeError
when anAuditLogEntry
has no user. (#2079)Fixed
HTTPException
when trying to create a forum thread with files. (#2075)Fixed
before_invoke
not being run forSlashCommandGroup
. (#2091)Fixed
AttributeError
when accessing aSelect
object’s values when it hasn’t been interacted with. (#2104)Fixed
before_invoke
being run twice for slash subcommands. (#2139)Fixed
Guild._member_count
sometimes not being set. (#2145)Fixed
Thread.applied_tags
not being updated. (#2146)Fixed type hinting of
author
property ofApplicationContext
to include type-hinting ofUser
orMember
. (#2148)Fixed missing
delete_after
parameter in overload type-hinting forWebhook.send()
. (#2156)Fixed
ScheduledEvent.creator_id
returningstr
instead ofint
. (#2162)Fixed
_bytes_to_base64_data
not defined. (#2185)Fixed inaccurate
Union
type hint ofvalues
argument ofbasic_autocomplete
to includeIterable[OptionChoice]
. (#2164)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.recipient
andUser.dm_channel
beingNone
. (#2219)Fixed
ffmpeg
being terminated prematurely when piping audio stream. (#2240)Fixed tasks looping infinitely when
tzinfo
is neitherNone
nor UTC. (#2196)Fixed
AttributeError
when running permission checks without thebot
scope. (#2113)Fixed
Option
not working on bridge commands becauseext.commands.Command
doesn’t recognize them. (#2256)Fixed offset-aware tasks causing
TypeError
when being prepared. (#2271)Fixed
AttributeError
when serializing commands withAnnotated
type hints. (#2243)Fixed
Intents.all()
returning the wrong value. (#2257)Fixed
AuditLogIterator
not respecting theafter
parameter. (#2295)Fixed
AttributeError
when failing to establish initial websocket connection. (#2301)Fixed
AttributeError
caused bycommand.cog
beingMISSING
. (#2303)Fixed
self.use_default_buttons
being assumed truthy byPaginator.update
. (#2319)Fixed
AttributeError
when comparing application commands with non-command objects. (#2299)Fixed
AttributeError
when 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
BridgeContext
type hints raising an exception for unsupported option type. (#2337)Fixed
TypeError
due to(Sync)WebhookMessage._thread_id
being set toNone
. (#2343)Fixed
AttributeError
due toentitlements
not being included inInteraction.__slots__
. (#2345)Fixed
Thread.me
being out of date and added the thread owner toThread.members
on creation. (#1296)Fixed keyword argument wildcard of
bridge.has_permissions
having 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
reason
being 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_spam
trigger type. (#1809)Added missing
image
parameter toGuild.create_scheduled_event()
method. (#1831)New
ApplicationRoleConnectionMetadata
class for application role connection metadata, along with thefetch_role_connection_metadata_records
andupdate_role_connection_metadata_records
methods 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
EmbeddedActivity
values. (#1859)Added new
suppress_notifications
toMessageFlags
. (#1912)Added GIF sticker format type to the
StickerFormatType
enum. (#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
EmbeddedActivity
values to update accordingly with the new activities. (#1859)Advanced version info is now stored as a dict in
version_info.advanced
instead of attributes on theversion_info
object. (#1920)The
version_info.release_level
attribute has been reverted to its previous name,releaselevel
. (#1920)
Fixed#
2.3.3 - 2023-02-10#
Fixed an unhandled
KeyError
exception when receiving GIF stickers, causing crashes. (#1915)
2.3.2 - 2022-12-03#
Fixed#
2.3.1 - 2022-11-27#
Fixed#
Fixed
AttributeError
relating to the newbridge_commands
attribute 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_sent
andis_pinned
. (#1636)Added
bridge_commands
attribute toext.bridge.Bot
for access to bridge command objects. (#1787)Updated
Guild.features
to include new and previously missing features. (#1788)
Fixed#
Changed#
Removed#
Removed the guild feature
PRIVATE_THREADS
due to paywall limitation removal. (#1789)
2.2.2 - 2022-10-05#
Fixed#
Fixed
parent
attribute 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_id
attribute. (#1672)
Fixed#
2.2.0 - 2022-10-02#
Added#
New Guild Feature
INVITES_DISABLED
. (#1613)suppress
kwarg toMessageable.send()
. (#1587)proxy
andproxy_auth
params to many Webhook-related methods. (#1655)delete_message_seconds
parameter 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_mentions
andraw_channel_mentions
functions indiscord.utils
. (#1658)New methods
original_response
,edit_original_response
&delete_original_response
forInteraction
objects. (#1609)
Deprecated#
The
delete_message_days
parameter in ban methods is now deprecated. Please usedelete_message_seconds
instead. (#1557)The
original_message
,edit_original_message
&delete_original_message
methods forInteraction
are now deprecated. Please use the respectiveoriginal_response
,edit_original_response
&delete_original_response
methods 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_timeout
kwarg in theView
constructor. (#1492)New
mention
property forSlashCommand
objects, allowing a shortcut for the new command markdown syntax. (#1523)An
app_commands_badge
value onApplicationFlags
. (#1535 and #1553)A new
fetch_application
method in theClient
object. (#1536)New
on_check_failure
event method for theView
class. (#799)A
set_mfa_required
method toGuild
. (#1552)Support for command groups with bridge commands. (#1496)
Support for
Attachment
type options for bridge commands. (#1496)is_app
property forBridgeContext
to better differentiate context types. (#1496)Support for localization on bridge commands. (#1496)
A
filter_params
helper function indiscord.utils
. (#1496)Support for
InteractionMessage
via themessage
property ofView
. (#1492)
Changed#
Fixed#
Fix
VoiceChannel
/CategoryChannel
data 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
Option
with typestr
raising AttributeError whenmin_length
ormax_length
kwargs are passed. (#1527)Fix
load_extensions
parameters not being passed through correctly. (#1537)Fix
SlashCommandGroup
descriptions 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
_channels
attributes to work with NoneType positions. (#1530)Make
SelectOption.emoji
a property. (#1550)Improve sticker creation by checking for minimum and maximum length on
name
anddescription
. (#1546)Fix threads created with a base message being set to the wrong
message_reference
. (#1551)Avoid unnecessary calls to
sync_commands
during runtime. (#1563)Fix bug in
Modal.on_timeout()
by usingcustom_id
to create timeout task. (#1562)Respect limit argument in
Guild.bans()
. (#1573)Fix
before
argument inon_scheduled_event_update
event always set toNone
by converting ID toint
. (#1580)Fix
__eq__
methodApplicationCommand
accidentally comparing to self. (#1585)Apply
cog_check
method toApplicationCommand
invocations. (#1575)Fix
Interaction.edit_original_message()
usingConnectionState
instead 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
news
property onTextChannel
. (#1370)New
invisible
kwarg todefer()
method. (#1379)Support for audit log event type 121
APPLICATION_COMMAND_PERMISSION_UPDATE
. (#1424)New
ForumChannelConverter
. (#1440)A shortcut
jump_url
property to users. (#1444)Ability for webhooks to create forum posts. (#1405)
New
message
property toView
(#1446)Support for
error
,before_invoke
, andafter_invoke
handlers onBridgeCommand
. (#1411)New
thread
property toMessage
. (#1447)A
starting_message
property toThread
. (#1447)An
app_permissions
property toInteraction
andApplicationContext
. (#1460)Support for loading folders in
load_extension
, and a new helper functionload_extensions
. (#1423)Support for AutoMod (#1316)
Support for
min_length
andmax_length
kwargs inOption
. (#1463)Native timeout support for
Modal
. (#1434)
Changed#
Removed#
Guild.region
attribute (Deprecated on API, VoiceChannel.rtc_region should be used instead). (#1429)
Fixed#
Change
guild_only
todm_permission
in application commandto_dict
method. (#1368)Fix
repr(ScheduledEventLocation)
raising TypeError. (#1369)Fix
repr(TextChannel)
raising AttributeError. (#1370)Fix application command validation. (#1372)
Fix scheduled event
cover
property raising AttributeError. (#1381)Fix
SlashCommandGroup
treating optional arguments as required. (#1386)Fix
remove_application_command
not always removing commands. (#1391)Fix busy-loop in
DecodeManager
when the decode queue is empty, causing 100% CPU consumption. (#1395)Fix incorrect activities and permissions on
Interaction
andOption
objects. (#1365)Converted PartialMember
deaf
andmute
from str annotation (incorrect) to bool annotation. (#1424)Use
PUT
instead ofPOST
inHTTPClient.join_thread
. (#1426)Fix enum options not setting
input_type
to a SlashCommandOptionType. (#1428)Fixed TypeError when using thread options. (#1427)
Allow voice channels in PartialMessage. (#1441)
Fixed
AuditLogAction.target_type
for application command permission updates. (#1445)Fix bridge commands to ignore the ephemeral kwarg. (#1453)
Update
thread.members
onthread.fetch_members
. (#1464)Fix the error when Discord doesn’t send the
app_permissions
data inInteraction
. (#1467)Fix AttributeError when voice client
play()
function isn’t completed yet. (#1360)
2.0.0-rc.1 - 2022-05-17#
Added#
A
delete_after
kwarg toPaginator.send
. (#1245)New
reason
kwarg toThread.delete_messages
. (#1253)A new
jump_url
property to channel and thread objects. (#1254 & #1259)New
Paginator.edit()
method. (#1258)An
EmbedField
object. (#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_url
property. (#1282)ext.pages now supports ext.bridge. (#1288)
Implement
None
check for check_guilds. (#1291)A debug warning to catch deprecated perms v1 usage until v2 perms are implemented. (#1301)
A new
files
parameter toPage
object. (#1300)A
disable_all_items
andenable_all_items
methods toView
object. (#1199 & #1319)New
is_nsfw
attribute to voice channels. (#1317)Support for Permissions v2. (#1328)
Allow using Enum to specify option choices. (#1292)
The
file
andfiles
parameters 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()
settingview
asNone
whenview
kwarg is not passed. (#1256)Fix channel parsing in slash command invocations. (#1257)
Make the channel
position
attribute optional. (#1257)Fix
PaginatorMenu
to use interaction routes for updates. (#1267)Fix
PartialMessage.edit()
behavior whencontent
isNone
. (#1268)Fix
Paginator.add_menu()
andPaginator.add_default_buttons()
passingcustom_id
toPaginatorMenu
. (#1270)Fix
process_application_commands
command 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.me
returns ClientUser when guilds intent is absent. (#1286)Updated
Message.edit
type-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
PageGroup
handling. (#1350)Make
TextChannel._get_channel
async. (#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.