@@ -11,6 +11,192 @@ Changelog
1111This page keeps a detailed human friendly rendering of what's new and changed
1212in specific versions.
1313
14+ .. _vp2p4p0 :
15+
16+ v2.4.0
17+ -------
18+
19+ New Features
20+ ~~~~~~~~~~~~~
21+
22+ - Add support for allowed contexts in app commands (:issue: `9760 `).
23+ - An "allowed context" is the location where an app command can be used.
24+ - This is an internal change to decorators such as :func: `app_commands.guild_only ` and :func: `app_commands.dm_only `.
25+ - Add :func: `app_commands.private_channel_only `.
26+ - Add :func: `app_commands.allowed_contexts `.
27+ - Add :class: `app_commands.AppCommandContext `.
28+ - Add :attr: `app_commands.Command.allowed_contexts `.
29+ - Add :attr: `app_commands.AppCommand.allowed_contexts `.
30+ - Add :attr: `app_commands.ContextMenu.allowed_contexts `.
31+
32+ - Add support for user-installable apps (:issue: `9760 `).
33+ - Add :attr: `app_commands.Command.allowed_installs `.
34+ - Add :attr: `app_commands.AppCommand.allowed_installs `.
35+ - Add :attr: `app_commands.ContextMenu.allowed_installs `.
36+ - Add :func: `app_commands.allowed_installs `.
37+ - Add :func: `app_commands.guild_install `.
38+ - Add :func: `app_commands.user_install `.
39+ - Add :class: `app_commands.AppInstallationType `.
40+ - Add :attr: `Interaction.context `.
41+ - Add :meth: `Interaction.is_guild_integration `.
42+ - Add :meth: `Interaction.is_user_integration `.
43+
44+ - Add support for Polls (:issue: `9759 `).
45+ - Polls can be created using :class: `Poll ` and the ``poll `` keyword-only parameter in various message sending methods.
46+ - Add :class: `PollAnswer ` and :class: `PollMedia `.
47+ - Add :attr: `Intents.polls `, :attr: `Intents.guild_polls ` and :attr: `Intents.dm_polls ` intents.
48+ - Add :meth: `Message.end_poll ` method to end polls.
49+ - Add new events, :func: `on_poll_vote_add `, :func: `on_poll_vote_remove `, :func: `on_raw_poll_vote_add `, and :func: `on_raw_poll_vote_remove `.
50+
51+ - Voice handling has been completely rewritten to hopefully fix many bugs (:issue: `9525 `, :issue: `9528 `, :issue: `9536 `, :issue: `9572 `, :issue: `9576 `, :issue: `9596 `, :issue: `9683 `, :issue: `9699 `, :issue: `9772 `, etc.)
52+ - Add :attr: `DMChannel.recipients ` to get all recipients of a DM channel (:issue: `9760 `).
53+ - Add support for :attr: `RawReactionActionEvent.message_author_id `.
54+ - Add support for :attr: `AuditLogAction.creator_monetization_request_created ` and :attr: `AuditLogAction.creator_monetization_terms_accepted `.
55+ - Add support for :class: `AttachmentFlags `, accessed via :attr: `Attachment.flags ` (:issue: `9486 `).
56+ - Add support for :class: `RoleFlags `, accessed via :attr: `Role.flags ` (:issue: `9485 `).
57+ - Add support for :attr: `ChannelType.media `, accessed via :meth: `ForumChannel.is_media `.
58+ - Add various new permissions (:issue: `9501 `, :issue: `9762 `, :issue: `9759 `, :issue: `9857 `)
59+ - Add :meth: `Permissions.events `.
60+ - Add :attr: `Permissions.create_events `.
61+ - Add :attr: `Permissions.view_creator_monetization_analytics `.
62+ - Add :attr: `Permissions.send_polls `
63+ - Add :attr: `Permissions.create_polls `.
64+ - Add :attr: `Permissions.use_external_apps `.
65+
66+ - Add shortcut for :attr: `CategoryChannel.forums `.
67+ - Add encoder options to :meth: `VoiceClient.play ` (:issue: `9527 `).
68+ - Add support for team member roles.
69+ - Add :class: `TeamMemberRole `.
70+ - Add :attr: `TeamMember.role `.
71+ - Updated :attr: `Bot.owner_ids <.ext.commands.Bot.owner_ids> ` to account for team roles. Team owners or developers are considered Bot owners.
72+
73+ - Add optional attribute ``integration_type `` in :attr: `AuditLogEntry.extra ` for ``kick `` or ``member_role_update `` actions.
74+ - Add support for "dynamic" :class: `ui.Item ` that let you parse state out of a ``custom_id `` using regex.
75+ - In order to use this, you must subclass :class: `ui.DynamicItem `.
76+ - This is an alternative to persistent views.
77+ - Add :meth: `Client.add_dynamic_items `.
78+ - Add :meth: `Client.remove_dynamic_items `.
79+ - Add :meth: `ui.Item.interaction_check `.
80+ - Check the :resource: `dynamic_counter example <examples> ` for more information.
81+
82+ - Add support for reading burst reactions. The API does not support sending them as of currently.
83+ - Add :attr: `Reaction.normal_count `.
84+ - Add :attr: `Reaction.burst_count `.
85+ - Add :attr: `Reaction.me_burst `.
86+
87+ - Add support for default values on select menus (:issue: `9577 `).
88+ - Add :class: `SelectDefaultValue `.
89+ - Add :class: `SelectDefaultValueType `.
90+ - Add a ``default_values `` attribute to each specialised select menu.
91+
92+ - Add ``scheduled_event `` parameter for :meth: `StageChannel.create_instance ` (:issue: `9595 `).
93+ - Add support for auto mod members (:issue: `9328 `).
94+ - Add ``type `` keyword argument to :class: `AutoModRuleAction `.
95+ - Add :attr: `AutoModTrigger.mention_raid_protection `.
96+ - Add :attr: `AutoModRuleTriggerType.member_profile `.
97+ - Add :attr: `AutoModRuleEventType.member_update `.
98+ - Add :attr: `AutoModRuleActionType.block_member_interactions `.
99+
100+ - Add support for premium app integrations (:issue: `9453 `).
101+ - Add multiple SKU and entitlement related classes, e.g. :class: `SKU `, :class: `Entitlement `, :class: `SKUFlags `.
102+ - Add multiple enums, e.g. :class: `SKUType `, :class: `EntitlementType `, :class: `EntitlementOwnerType `.
103+ - Add :meth: `Client.fetch_skus ` and :meth: `Client.fetch_entitlement ` to fetch from the API.
104+ - Add :meth: `Client.create_entitlement ` to create entitlements.
105+ - Add :attr: `Client.entitlements `.
106+ - Add :attr: `Interaction.entitlement_sku_ids `.
107+ - Add :attr: `Interaction.entitlements `.
108+ - Add :attr: `ButtonStyle.premium ` and :attr: `ui.Button.sku_id ` to send a button asking the user to buy an SKU (:issue: `9845 `).
109+ - Add support for one time purchase (:issue: `9803 `).
110+
111+ - Add support for editing application info (:issue: `9610 `).
112+ - Add :attr: `AppInfo.interactions_endpoint_url `.
113+ - Add :attr: `AppInfo.redirect_uris `.
114+ - Add :meth: `AppInfo.edit `.
115+
116+ - Add support for getting/fetching threads from :class: `Message ` (:issue: `9665 `).
117+ - Add :attr: `PartialMessage.thread `.
118+ - Add :attr: `Message.thread `.
119+ - Add :meth: `Message.fetch_thread `.
120+
121+ - Add support for platform and assets to activities (:issue: `9677 `).
122+ - Add :attr: `Activity.platform `.
123+ - Add :attr: `Game.platform `.
124+ - Add :attr: `Game.assets `.
125+
126+ - Add support for suppressing embeds in an interaction response (:issue: `9678 `).
127+ - Add support for adding forum thread tags via webhook (:issue: `9680 `) and (:issue: `9783 `).
128+ - Add support for guild incident message types (:issue: `9686 `).
129+ - Add :attr: `Locale.latin_american_spanish ` (:issue: `9689 `).
130+ - Add support for setting voice channel status (:issue: `9603 `).
131+ - Add a shard connect timeout parameter to :class: `AutoShardedClient `.
132+ - Add support for guild incidents (:issue: `9590 `).
133+ - Updated :meth: `Guild.edit ` with ``invites_disabled_until `` and ``dms_disabled_until `` parameters.
134+ - Add :attr: `Guild.invites_paused_until `.
135+ - Add :attr: `Guild.dms_paused_until `.
136+ - Add :meth: `Guild.invites_paused `.
137+ - Add :meth: `Guild.dms_paused `.
138+
139+ - Add support for :attr: `abc.User.avatar_decoration ` (:issue: `9343 `).
140+ - Add support for GIF stickers (:issue: `9737 `).
141+ - Add support for updating :class: `ClientUser ` banners (:issue: `9752 `).
142+ - Add support for bulk banning members via :meth: `Guild.bulk_ban `.
143+ - Add ``reason `` keyword argument to :meth: `Thread.delete ` (:issue: `9804 `).
144+ - Add :attr: `AppInfo.approximate_guild_count ` (:issue: `9811 `).
145+ - Add support for :attr: `Message.interaction_metadata ` (:issue: `9817 `).
146+ - Add support for differing :class: `Invite ` types (:issue: `9682 `).
147+ - Add support for reaction types to raw and non-raw models (:issue: `9836 `).
148+ - |tasks | Add ``name `` parameter to :meth: `~ext.tasks.loop ` to name the internal :class: `asyncio.Task `.
149+ - |commands | Add fallback behaviour to :class: `~ext.commands.CurrentGuild `.
150+ - |commands | Add logging for errors that occur during :meth: `~ext.commands.Cog.cog_unload `.
151+ - |commands | Add support for :class: `typing.NewType ` and ``type `` keyword type aliases (:issue: `9815 `).
152+ - Also supports application commands.
153+
154+ - |commands | Add support for positional-only flag parameters (:issue: `9805 `).
155+ - |commands | Add support for channel URLs in ChannelConverter related classes (:issue: `9799 `).
156+
157+
158+ Bug Fixes
159+ ~~~~~~~~~~
160+
161+ - Fix emoji and sticker cache being populated despite turning the intent off.
162+ - Fix outstanding chunk requests when receiving a gateway READY event not being cleared (:issue: `9571 `).
163+ - Fix escape behaviour for lists and headers in :meth: `~utils.escape_markdown `.
164+ - Fix alias value for :attr: `Intents.auto_moderation ` (:issue: `9524 `).
165+ - Fixes and improvements for :class: `FFmpegAudio ` and all related subclasses (:issue: `9528 `).
166+ - Fix :meth: `Template.source_guild ` attempting to resolve from cache (:issue: `9535 `).
167+ - Fix :exc: `IndexError ` being raised instead of :exc: `ValueError ` when calling :meth: `Colour.from_str ` with an empty string (:issue: `9540 `).
168+ - Fix :meth: `View.from_message ` not correctly creating the varying :class: `ui.Select ` types (:issue: `9559 `).
169+ - Fix logging with autocomplete exceptions, which were previously suppressed.
170+ - Fix possible error in voice cleanup logic (:issue: `9572 `).
171+ - Fix possible :exc: `AttributeError ` during :meth: `app_commands.CommandTree.sync ` when a command is regarded as 'too large'.
172+ - Fix possible :exc: `TypeError ` if a :class: `app_commands.Group ` did not have a name set (:issue: `9581 `).
173+ - Fix possible bad voice state where you move to a voice channel with missing permissions (:issue: `9596 `).
174+ - Fix websocket reaching an error state due to received error payload (:issue: `9561 `).
175+ - Fix handling of :class: `AuditLogDiff ` when relating to auto mod triggers (:issue: `9622 `).
176+ - Fix race condition in voice logic relating to disconnect and connect (:issue: `9683 `).
177+ - Use the :attr: `Interaction.user ` guild as a fallback for :attr: `Interaction.guild ` if not available.
178+ - Fix restriction on auto moderation audit log ID range.
179+ - Fix check for maximum number of children per :class: `ui.View `.
180+ - Fix comparison between :class: `Object ` classes with a ``type `` set.
181+ - Fix handling of an enum in :meth: `AutoModRule.edit ` (:issue: `9798 `).
182+ - Fix handling of :meth: `Client.close ` within :meth: `Client.__aexit__ ` (:issue: `9769 `).
183+ - Fix channel deletion not evicting related threads from cache (:issue: `9796 `).
184+ - Fix bug with cache superfluously incrementing role positions (:issue: `9853 `).
185+ - Fix ``exempt_channels `` not being passed along in :meth: `Guild.create_automod_rule ` (:issue: `9861 `).
186+ - Fix :meth: `abc.GuildChannel.purge ` failing on single-message delete mode if the message was deleted (:issue: `9830 `, :issue: `9863 `).
187+ - |commands | Fix localization support for :class: `~ext.commands.HybridGroup ` fallback.
188+ - |commands | Fix nested :class: `~ext.commands.HybridGroup `'s inserting manual app commands.
189+ - |commands | Fix an issue where :class: `~ext.commands.HybridGroup ` wrapped instances would be out of sync.
190+ - |commands | Fix :class: `~ext.commands.HelpCommand ` defined checks not carrying over during copy (:issue: `9843 `).
191+
192+ Miscellaneous
193+ ~~~~~~~~~~~~~~
194+
195+ - Additional documentation added for logging capabilities.
196+ - Performance increases of constructing :class: `Permissions ` using keyword arguments.
197+ - Improve ``__repr__ `` of :class: `SyncWebhook ` and :class: `Webhook ` (:issue: `9764 `).
198+ - Change internal thread names to be consistent (:issue: `9538 `).
199+
14200.. _vp2p3p2 :
15201
16202v2.3.2
0 commit comments