Skip to content

Commit c75ca25

Browse files
Add changelog for v2.4.0
Co-authored-by: Danny <[email protected]>
1 parent d528e8f commit c75ca25

File tree

1 file changed

+186
-0
lines changed

1 file changed

+186
-0
lines changed

docs/whats_new.rst

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,192 @@ Changelog
1111
This page keeps a detailed human friendly rendering of what's new and changed
1212
in 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

16202
v2.3.2

0 commit comments

Comments
 (0)