diff --git a/changelog/1012.feature.rst b/changelog/1012.feature.rst deleted file mode 100644 index a59debb4e2..0000000000 --- a/changelog/1012.feature.rst +++ /dev/null @@ -1 +0,0 @@ -:class:`Interaction`\s now always have a proper :attr:`~Interaction.channel` attribute, even when the bot is not part of the guild or cannot access the channel due to other reasons. diff --git a/changelog/1014.feature.rst b/changelog/1014.feature.rst deleted file mode 100644 index 2ee305163c..0000000000 --- a/changelog/1014.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``delete_after`` parameter to :meth:`Interaction.edit_original_response`, :meth:`InteractionResponse.edit_message` and :meth:`InteractionMessage.edit`. diff --git a/changelog/1036.feature.rst b/changelog/1036.feature.rst deleted file mode 100644 index 1294ba4044..0000000000 --- a/changelog/1036.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Make :class:`Interaction` and subtypes accept the bot type as a generic parameter to denote the type returned by the :attr:`~Interaction.bot` and :attr:`~Interaction.client` properties. diff --git a/changelog/1045.bugfix.rst b/changelog/1045.bugfix.rst deleted file mode 100644 index 47de7a7283..0000000000 --- a/changelog/1045.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Fix incorrect typings of :meth:`InvokableApplicationCommand.add_check <.ext.commands.InvokableApplicationCommand.add_check>`, :meth:`InvokableApplicationCommand.remove_check <.ext.commands.InvokableApplicationCommand.remove_check>`, :meth:`Bot.add_app_command_check <.ext.commands.Bot.add_app_command_check>` and :meth:`Bot.remove_app_command_check <.ext.commands.Bot.remove_app_command_check>`. diff --git a/changelog/1045.feature.rst b/changelog/1045.feature.rst deleted file mode 100644 index 85af28ec63..0000000000 --- a/changelog/1045.feature.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Implement :func:`~disnake.ext.commands.app_check` and :func:`~disnake.ext.commands.app_check_any` decorators. diff --git a/changelog/1046.feature.rst b/changelog/1046.feature.rst deleted file mode 100644 index 4335e7e17d..0000000000 --- a/changelog/1046.feature.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Log errors raised by :meth:`.ext.commands.Cog.cog_unload`. diff --git a/changelog/1050.feature.rst b/changelog/1050.feature.rst deleted file mode 100644 index 581f20be0a..0000000000 --- a/changelog/1050.feature.rst +++ /dev/null @@ -1,7 +0,0 @@ -Add support for media channels. -- Add :class:`MediaChannel`. - - Unless otherwise noted, media channels behave just like forum channels. -- Add :attr:`ChannelType.media`. -- Add :attr:`CategoryChannel.media_channels`, :attr:`Guild.media_channels`. -- Add :attr:`CategoryChannel.create_media_channel`, :attr:`Guild.create_media_channel`. -- Add :attr:`ChannelFlags.hide_media_download_options`. diff --git a/changelog/1068.feature.0.rst b/changelog/1068.feature.0.rst deleted file mode 100644 index 7bcf5e83c1..0000000000 --- a/changelog/1068.feature.0.rst +++ /dev/null @@ -1,9 +0,0 @@ -Implement soundboard features. -- Sound models: :class:`PartialSoundboardSound`, :class:`SoundboardSound`, :class:`GuildSoundboardSound` -- Managing sounds: - - Get soundboard sounds using :attr:`Guild.soundboard_sounds`, :attr:`Client.get_soundboard_sound`, or fetch them using :meth:`Guild.fetch_soundboard_sound`, :meth:`Guild.fetch_soundboard_sounds`, or :meth:`Client.fetch_default_soundboard_sounds` - - New sounds can be created with :meth:`Guild.create_soundboard_sound` - - Handle guild soundboard sound updates using the :attr:`~Event.guild_soundboard_sounds_update` event -- Send sounds using :meth:`VoiceChannel.send_soundboard_sound` -- New attributes: :attr:`Guild.soundboard_limit`, :attr:`VoiceChannelEffect.sound`, :attr:`Client.soundboard_sounds` -- New audit log actions: :attr:`AuditLogAction.soundboard_sound_create`, :attr:`~AuditLogAction.soundboard_sound_update`, :attr:`~AuditLogAction.soundboard_sound_delete` diff --git a/changelog/1068.feature.1.rst b/changelog/1068.feature.1.rst deleted file mode 100644 index ff1ed09c5e..0000000000 --- a/changelog/1068.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -Rename :attr:`Intents.emojis_and_stickers` to :attr:`Intents.expressions`. An alias is provided for backwards compatibility. diff --git a/changelog/1069.feature.rst b/changelog/1069.feature.rst deleted file mode 100644 index dda7921154..0000000000 --- a/changelog/1069.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :class:`RoleFlags` type and :attr:`Role.flags`. diff --git a/changelog/1073.feature.rst b/changelog/1073.feature.rst deleted file mode 100644 index c3ac3a642e..0000000000 --- a/changelog/1073.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :class:`AttachmentFlags` type and :attr:`Attachment.flags`. diff --git a/changelog/1077.feature.rst b/changelog/1077.feature.rst deleted file mode 100644 index 2ba901b3f9..0000000000 --- a/changelog/1077.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add support for threads in :meth:`Webhook.fetch_message`, :meth:`~Webhook.edit_message`, and :meth:`~Webhook.delete_message`, as well as their sync counterparts. diff --git a/changelog/1078.feature.rst b/changelog/1078.feature.rst deleted file mode 100644 index 2ef5b0142a..0000000000 --- a/changelog/1078.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``default_layout`` parameter to :meth:`Guild.create_forum_channel` and :meth:`ForumChannel.clone`. diff --git a/changelog/1079.feature.rst b/changelog/1079.feature.rst deleted file mode 100644 index 3c13c28b9f..0000000000 --- a/changelog/1079.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :attr:`RawReactionActionEvent.message_author_id`. diff --git a/changelog/1080.feature.rst b/changelog/1080.feature.rst deleted file mode 100644 index ee0eb88dbc..0000000000 --- a/changelog/1080.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :class:`AuditLogAction` values related to creator monetization. diff --git a/changelog/1082.deprecate.rst b/changelog/1082.deprecate.rst deleted file mode 100644 index c6f4137b84..0000000000 --- a/changelog/1082.deprecate.rst +++ /dev/null @@ -1 +0,0 @@ -:meth:`Client.fetch_premium_sticker_packs` was renamed to :meth:`Client.fetch_sticker_packs`; the old name is deprecated. diff --git a/changelog/1085.feature.rst b/changelog/1085.feature.rst deleted file mode 100644 index f2dd477bca..0000000000 --- a/changelog/1085.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``applied_tags`` parameter to :meth:`Webhook.send`. diff --git a/changelog/1087.feature.rst b/changelog/1087.feature.rst deleted file mode 100644 index bf6cb161d8..0000000000 --- a/changelog/1087.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Make :attr:`CustomActivity.state` fall back to the provided :attr:`~CustomActivity.name`, simplifying setting a custom status. diff --git a/changelog/1091.feature.rst b/changelog/1091.feature.rst deleted file mode 100644 index 6ae43e7e5f..0000000000 --- a/changelog/1091.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :attr:`Permissions.create_guild_expressions` and :attr:`Permissions.create_events`. diff --git a/changelog/1094.doc.rst b/changelog/1094.doc.rst deleted file mode 100644 index 13fe750a4b..0000000000 --- a/changelog/1094.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Add inherited attributes to :class:`TeamMember`, and fix :attr:`TeamMember.avatar` documentation. diff --git a/changelog/1094.feature.0.rst b/changelog/1094.feature.0.rst deleted file mode 100644 index dcb2dcf367..0000000000 --- a/changelog/1094.feature.0.rst +++ /dev/null @@ -1 +0,0 @@ -Add :attr:`TeamMember.role`. diff --git a/changelog/1094.feature.1.rst b/changelog/1094.feature.1.rst deleted file mode 100644 index 1b7eb2cd33..0000000000 --- a/changelog/1094.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Update :meth:`Bot.is_owner ` to take team member roles into account. diff --git a/changelog/1095.feature.rst b/changelog/1095.feature.rst deleted file mode 100644 index f2f16f46c5..0000000000 --- a/changelog/1095.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``created_at`` property to :attr:`AutoModRule `, :attr:`ForumTag `, :attr:`Integration `, :attr:`StageInstance `, and :attr:`Team `. diff --git a/changelog/1096.feature.rst b/changelog/1096.feature.rst deleted file mode 100644 index 5cddd33cc8..0000000000 --- a/changelog/1096.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Support ``integration_type`` field in :attr:`AuditLogEntry.extra` (for :attr:`~AuditLogAction.kick` and :attr:`~AuditLogAction.member_role_update` actions). diff --git a/changelog/1098.misc.rst b/changelog/1098.misc.rst deleted file mode 100644 index accde4a92b..0000000000 --- a/changelog/1098.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Overhaul and simplify `contribution guide `__. diff --git a/changelog/1102.bugfix.rst b/changelog/1102.bugfix.rst deleted file mode 100644 index 13874bafc9..0000000000 --- a/changelog/1102.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Update :meth:`Colour.dark_theme` to match Discord theme change. diff --git a/changelog/1102.feature.rst b/changelog/1102.feature.rst deleted file mode 100644 index 7cd21e237d..0000000000 --- a/changelog/1102.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add new :class:`Colour`\s: :meth:`~Colour.light_embed` and :meth:`~Colour.dark_embed`. diff --git a/changelog/1105.doc.rst b/changelog/1105.doc.rst deleted file mode 100644 index eceb16fc71..0000000000 --- a/changelog/1105.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Miscellaneous grammar/typo fixes for :doc:`api/audit_logs`. diff --git a/changelog/1111.bugfix.rst b/changelog/1111.bugfix.rst deleted file mode 100644 index e4db7af3b1..0000000000 --- a/changelog/1111.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Allow ``cls`` argument in select menu decorators (e.g. :func:`ui.string_select`) to be specified by keyword instead of being positional-only. diff --git a/changelog/1112.doc.rst b/changelog/1112.doc.rst deleted file mode 100644 index e510f78951..0000000000 --- a/changelog/1112.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Document the :class:`.Option` attributes, the ``description`` and ``options`` properties for :class:`.ext.commands.InvokableSlashCommand` and the ``description`` and ``body`` properties for :class:`.ext.commands.SubCommand`. diff --git a/changelog/1113.feature.rst b/changelog/1113.feature.rst deleted file mode 100644 index e9c1c6b123..0000000000 --- a/changelog/1113.feature.rst +++ /dev/null @@ -1,5 +0,0 @@ -Support application subscriptions and one-time purchases (see the :ddocs:`official docs ` for more info). -- New types: :class:`SKU`, :class:`Entitlement`, :class:`Subscription`. -- New :attr:`Interaction.entitlements` attribute, and :meth:`InteractionResponse.require_premium` response type. -- New events: :func:`on_entitlement_create`, :func:`on_entitlement_update`, :func:`on_entitlement_delete`, :func:`on_subscription_create`, :func:`on_subscription_update` and :func:`on_subscription_delete`. -- New :class:`Client` methods: :meth:`~Client.skus`, :meth:`~Client.entitlements`, :meth:`~Client.fetch_entitlement`, :meth:`~Client.create_entitlement`. diff --git a/changelog/1115.feature.rst b/changelog/1115.feature.rst deleted file mode 100644 index a64c25babb..0000000000 --- a/changelog/1115.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :class:`SelectDefaultValue`, and add :attr:`~UserSelectMenu.default_values` to all auto-populated select menu types. diff --git a/changelog/1116.misc.rst b/changelog/1116.misc.rst deleted file mode 100644 index 7e17a486ef..0000000000 --- a/changelog/1116.misc.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Rewrite slash command signature evaluation to use the same mechanism as prefix command signatures. This should not have an impact on user code, but streamlines future changes. diff --git a/changelog/1117.feature.rst b/changelog/1117.feature.rst deleted file mode 100644 index 5b9263547d..0000000000 --- a/changelog/1117.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Support Python 3.12. diff --git a/changelog/1117.misc.rst b/changelog/1117.misc.rst deleted file mode 100644 index 3a10d0f07e..0000000000 --- a/changelog/1117.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Start testing with Python 3.12 in CI. diff --git a/changelog/1120.bugfix.rst b/changelog/1120.bugfix.rst deleted file mode 100644 index 146ac4a8de..0000000000 --- a/changelog/1120.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Fix edge case in evaluation of multiple identical annotations with forwardrefs in a single signature. diff --git a/changelog/1121.feature.rst b/changelog/1121.feature.rst deleted file mode 100644 index 1294ba4044..0000000000 --- a/changelog/1121.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Make :class:`Interaction` and subtypes accept the bot type as a generic parameter to denote the type returned by the :attr:`~Interaction.bot` and :attr:`~Interaction.client` properties. diff --git a/changelog/1123.bugfix.rst b/changelog/1123.bugfix.rst deleted file mode 100644 index 625f275381..0000000000 --- a/changelog/1123.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix :meth:`Thread.permissions_for` not working in some cases due to an incorrect import. diff --git a/changelog/1126.doc.rst b/changelog/1126.doc.rst deleted file mode 100644 index 44fa13bf31..0000000000 --- a/changelog/1126.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Make all "Supported Operations" container elements collapsible. diff --git a/changelog/1128.feature.0.rst b/changelog/1128.feature.0.rst deleted file mode 100644 index 66c35b1935..0000000000 --- a/changelog/1128.feature.0.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Support Python 3.12's ``type`` statement and :class:`py:typing.TypeAliasType` annotations in command signatures. diff --git a/changelog/1128.feature.1.rst b/changelog/1128.feature.1.rst deleted file mode 100644 index 5b9263547d..0000000000 --- a/changelog/1128.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -Support Python 3.12. diff --git a/changelog/1133.bugfix.rst b/changelog/1133.bugfix.rst deleted file mode 100644 index fdf45729eb..0000000000 --- a/changelog/1133.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Fix erroneous :class:`LocalizationWarning`\s when using localized slash command parameters in cogs. diff --git a/changelog/1134.misc.rst b/changelog/1134.misc.rst deleted file mode 100644 index 664f4a332d..0000000000 --- a/changelog/1134.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Add :class:`StandardSticker` to ``stickers`` parameter type annotation of :meth:`Messageable.send` and :meth:`ForumChannel.create_thread`. diff --git a/changelog/1135.feature.rst b/changelog/1135.feature.rst deleted file mode 100644 index 5b9263547d..0000000000 --- a/changelog/1135.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Support Python 3.12. diff --git a/changelog/1136.bugfix.rst b/changelog/1136.bugfix.rst deleted file mode 100644 index 571cba6cbd..0000000000 --- a/changelog/1136.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Update ``choices`` type in app commands to accept any :class:`~py:typing.Sequence` or :class:`~py:typing.Mapping`, instead of the more constrained :class:`list`/:class:`dict` types. diff --git a/changelog/1142.bugfix.rst b/changelog/1142.bugfix.rst deleted file mode 100644 index 4f10261ea3..0000000000 --- a/changelog/1142.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Support fetching invites with ``null`` channel (e.g. friend invites). diff --git a/changelog/1142.feature.rst b/changelog/1142.feature.rst deleted file mode 100644 index 44d87009f1..0000000000 --- a/changelog/1142.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :attr:`Invite.type`. diff --git a/changelog/1148.feature.rst b/changelog/1148.feature.rst deleted file mode 100644 index 7a4df34446..0000000000 --- a/changelog/1148.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :attr:`Locale.es_LATAM` locale. diff --git a/changelog/1151.feature.rst b/changelog/1151.feature.rst deleted file mode 100644 index 95c37aeca8..0000000000 --- a/changelog/1151.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Make typing more precise for :meth:`Client.create_global_command`, :meth:`Client.edit_global_command`, :meth:`Client.create_guild_command` and :meth:`Client.edit_guild_command`. diff --git a/changelog/1152.feature.rst b/changelog/1152.feature.rst deleted file mode 100644 index e80950e12e..0000000000 --- a/changelog/1152.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add raw equivalent of :func:`on_presence_update` - :func:`on_raw_presence_update`. diff --git a/changelog/1155.bugfix.rst b/changelog/1155.bugfix.rst deleted file mode 100644 index 9dabc40f9a..0000000000 --- a/changelog/1155.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Handle unexpected ``RECONNECT`` opcode where ``HELLO`` is expected during initial shard connection. diff --git a/changelog/1158.doc.rst b/changelog/1158.doc.rst deleted file mode 100644 index 3a79ab60be..0000000000 --- a/changelog/1158.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Adding some clarifying documentation around the executable parameters of audio classes based off of internal discussions. diff --git a/changelog/1159.bugfix.rst b/changelog/1159.bugfix.rst deleted file mode 100644 index 50cb35f546..0000000000 --- a/changelog/1159.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Reconnect gateway websocket on protocol errors. diff --git a/changelog/1160.feature.rst b/changelog/1160.feature.rst deleted file mode 100644 index 973453cc21..0000000000 --- a/changelog/1160.feature.rst +++ /dev/null @@ -1 +0,0 @@ -:attr:`InteractionReference.user` can now be a :class:`Member` in guild contexts. diff --git a/changelog/1162.bugfix.rst b/changelog/1162.bugfix.rst deleted file mode 100644 index 7c86775b7a..0000000000 --- a/changelog/1162.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Adjust type annotations to allow :class:`Object` as ``category`` parameter in :meth:`Guild.create_text_channel` and similar methods. diff --git a/changelog/1164.bugfix.rst b/changelog/1164.bugfix.rst deleted file mode 100644 index d1020ecaac..0000000000 --- a/changelog/1164.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Avoid ``AttributeError`` in :class:`FFmpegAudio` when cleaning up after failing to spawn ffmpeg process. diff --git a/changelog/1165.feature.rst b/changelog/1165.feature.rst deleted file mode 100644 index b3739dd06d..0000000000 --- a/changelog/1165.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``banner`` parameter to :meth:`ClientUser.edit`. diff --git a/changelog/1167.misc.rst b/changelog/1167.misc.rst deleted file mode 100644 index 3781b42690..0000000000 --- a/changelog/1167.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Reduce the amount of unknown (unresolved) types in public-facing APIs. diff --git a/changelog/1173.deprecate.0.rst b/changelog/1173.deprecate.0.rst deleted file mode 100644 index 16b4e2ca5a..0000000000 --- a/changelog/1173.deprecate.0.rst +++ /dev/null @@ -1 +0,0 @@ -Deprecate :attr:`ApplicationCommand.dm_permission` and related fields/parameters of application command objects. Use ``contexts`` instead. diff --git a/changelog/1173.deprecate.1.rst b/changelog/1173.deprecate.1.rst deleted file mode 100644 index 7248d4f297..0000000000 --- a/changelog/1173.deprecate.1.rst +++ /dev/null @@ -1 +0,0 @@ -Deprecate :attr:`Message.interaction` attribute and :class:`InteractionReference`. Use :attr:`Message.interaction_metadata` instead. diff --git a/changelog/1173.feature.rst b/changelog/1173.feature.rst deleted file mode 100644 index 77c75f5c8b..0000000000 --- a/changelog/1173.feature.rst +++ /dev/null @@ -1,14 +0,0 @@ -Add support for user-installed commands. See :ref:`app_command_contexts` for further details. -- Add :attr:`ApplicationCommand.install_types` and :attr:`ApplicationCommand.contexts` fields, - with respective :class:`ApplicationInstallTypes` and :class:`InteractionContextTypes` flag types. -- :class:`Interaction` changes: - - Add :attr:`Interaction.context` field, reflecting the context in which the interaction occurred. - - Add :attr:`Interaction.authorizing_integration_owners` field and :class:`AuthorizingIntegrationOwners` class, containing details about the application installation. - - :attr:`Interaction.app_permissions` is now always provided by Discord. -- Add :attr:`Message.interaction_metadata` and :class:`InteractionMetadata` type, containing metadata for the interaction associated with a message. -- Add ``integration_type`` parameter to :func:`utils.oauth_url`. -- Add :attr:`AppInfo.guild_install_type_config` and :attr:`AppInfo.user_install_type_config` fields. -- |commands| Add ``install_types`` and ``contexts`` parameters to application command decorators. -- |commands| Add :func:`~ext.commands.install_types` and :func:`~ext.commands.contexts` decorators. -- |commands| Using the :class:`GuildCommandInteraction` annotation now sets :attr:`~ApplicationCommand.install_types` and :attr:`~ApplicationCommand.contexts`, instead of :attr:`~ApplicationCommand.dm_permission`. -- |commands| Add ``default_install_types`` and ``default_contexts`` parameters to :class:`~ext.commands.Bot`. diff --git a/changelog/1174.feature.rst b/changelog/1174.feature.rst deleted file mode 100644 index 70c7e965a9..0000000000 --- a/changelog/1174.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Support banning multiple users at once using :meth:`Guild.bulk_ban`. diff --git a/changelog/1175.feature.rst b/changelog/1175.feature.rst deleted file mode 100644 index 5c839ba33f..0000000000 --- a/changelog/1175.feature.rst +++ /dev/null @@ -1,6 +0,0 @@ -Add the new poll discord API feature. This includes the following new classes and events: - -- New types: :class:`Poll`, :class:`PollAnswer`, :class:`PollMedia`, :class:`RawPollVoteActionEvent` and :class:`PollLayoutType`. -- Edited :meth:`abc.Messageable.send`, :meth:`Webhook.send`, :meth:`ext.commands.Context.send` and :meth:`disnake.InteractionResponse.send_message` to be able to send polls. -- Edited :class:`Message` to store a new :attr:`Message.poll` attribute for polls. -- Edited :class:`Event` to contain the new :func:`on_poll_vote_add`, :func:`on_poll_vote_remove`, :func:`on_raw_poll_vote_add` and :func:`on_raw_poll_vote_remove`. diff --git a/changelog/1184.feature.rst b/changelog/1184.feature.rst deleted file mode 100644 index 32aae25dc1..0000000000 --- a/changelog/1184.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add the possibility to pass :class:`disnake.File` objects to :meth:`Embed.set_author` and :meth:`~Embed.set_footer`. diff --git a/changelog/1186.feature.rst b/changelog/1186.feature.rst deleted file mode 100644 index e9c1c6b123..0000000000 --- a/changelog/1186.feature.rst +++ /dev/null @@ -1,5 +0,0 @@ -Support application subscriptions and one-time purchases (see the :ddocs:`official docs ` for more info). -- New types: :class:`SKU`, :class:`Entitlement`, :class:`Subscription`. -- New :attr:`Interaction.entitlements` attribute, and :meth:`InteractionResponse.require_premium` response type. -- New events: :func:`on_entitlement_create`, :func:`on_entitlement_update`, :func:`on_entitlement_delete`, :func:`on_subscription_create`, :func:`on_subscription_update` and :func:`on_subscription_delete`. -- New :class:`Client` methods: :meth:`~Client.skus`, :meth:`~Client.entitlements`, :meth:`~Client.fetch_entitlement`, :meth:`~Client.create_entitlement`. diff --git a/changelog/1187.feature.rst b/changelog/1187.feature.rst deleted file mode 100644 index 07c8ec9f02..0000000000 --- a/changelog/1187.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add support for message forwarding. New :class:`ForwardedMessage`, new enum :class:`MessageReferenceType`, new method :func:`Message.forward`, edited :class:`MessageReference` to support message forwarding. diff --git a/changelog/1189.bugfix.rst b/changelog/1189.bugfix.rst deleted file mode 100644 index 682fe1de30..0000000000 --- a/changelog/1189.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix base URL for stickers with :attr:`StickerFormatType.gif`. diff --git a/changelog/1190.feature.rst b/changelog/1190.feature.rst deleted file mode 100644 index 6fd323a472..0000000000 --- a/changelog/1190.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The ``cls`` parameter of UI component decorators (such as :func:`ui.button`) now accepts any matching callable, in addition to item subclasses. diff --git a/changelog/1196.misc.rst b/changelog/1196.misc.rst deleted file mode 100644 index 589b633408..0000000000 --- a/changelog/1196.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Remove ``disnake[discord]`` extra; the shim is deprecated, and has not been updated for several versions. diff --git a/changelog/1197.feature.rst b/changelog/1197.feature.rst deleted file mode 100644 index 799118a434..0000000000 --- a/changelog/1197.feature.rst +++ /dev/null @@ -1,5 +0,0 @@ -Implement new :attr:`Message.type`\s: - - :attr:`MessageType.guild_incident_alert_mode_enabled` - - :attr:`MessageType.guild_incident_alert_mode_disabled` - - :attr:`MessageType.guild_incident_report_raid` - - :attr:`MessageType.guild_incident_report_false_alarm` diff --git a/changelog/1200.bugfix.rst b/changelog/1200.bugfix.rst deleted file mode 100644 index 8d8387af1b..0000000000 --- a/changelog/1200.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Fix usage of :attr:`~ext.commands.BucketType.role`\-type cooldowns in threads, which incorrectly operated on a per-channel basis instead. diff --git a/changelog/1203.feature.rst b/changelog/1203.feature.rst deleted file mode 100644 index d4412fdf31..0000000000 --- a/changelog/1203.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Implement new :attr:`.Member.guild_banner` property. diff --git a/changelog/1211.feature.rst b/changelog/1211.feature.rst deleted file mode 100644 index e12e47f055..0000000000 --- a/changelog/1211.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :attr:`Permissions.use_external_apps`, and a new :attr:`Permissions.apps` category to match the Discord client UI. diff --git a/changelog/1212.feature.rst b/changelog/1212.feature.rst deleted file mode 100644 index 87babbf215..0000000000 --- a/changelog/1212.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add new :attr:`~MessageType.poll_result` message type. diff --git a/changelog/1216.feature.rst b/changelog/1216.feature.rst deleted file mode 100644 index b28073e2b4..0000000000 --- a/changelog/1216.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :meth:`Guild.fetch_voice_state` to fetch the :class:`VoiceState` of a member. diff --git a/changelog/1218.feature.rst b/changelog/1218.feature.rst deleted file mode 100644 index 2dc2e68c48..0000000000 --- a/changelog/1218.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add new :attr:`Attachment.title` attribute. diff --git a/changelog/1220.feature.rst b/changelog/1220.feature.rst deleted file mode 100644 index b321a969f2..0000000000 --- a/changelog/1220.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :attr:`AppInfo.approximate_guild_count` and :attr:`AppInfo.approximate_user_install_count`. diff --git a/changelog/1221.feature.rst b/changelog/1221.feature.rst deleted file mode 100644 index cf252ab1dc..0000000000 --- a/changelog/1221.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add new :meth:`.Client.fetch_sticker_pack` method. diff --git a/changelog/1233.feature.rst b/changelog/1233.feature.rst deleted file mode 100644 index 5a2cea0fa0..0000000000 --- a/changelog/1233.feature.rst +++ /dev/null @@ -1,2 +0,0 @@ -For interactions in private channels, :attr:`Interaction.channel` is now always a proper :class:`DMChannel` or :class:`GroupChannel` object, instead of :class:`PartialMessageable`. -- This also applies to other channel objects in interactions, e.g. channel parameters in slash commands, or :attr:`ui.ChannelSelect.values`. diff --git a/changelog/1238.feature.rst b/changelog/1238.feature.rst deleted file mode 100644 index 29445fc514..0000000000 --- a/changelog/1238.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add support for ``BaseFlags`` to allow comparison with ``flag_values`` and vice versa. diff --git a/changelog/1243.misc.rst b/changelog/1243.misc.rst deleted file mode 100644 index b10a18609e..0000000000 --- a/changelog/1243.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Move enum member documentation into docstrings. diff --git a/changelog/1245.feature.rst b/changelog/1245.feature.rst deleted file mode 100644 index 03bb9cfd27..0000000000 --- a/changelog/1245.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Implement :attr:`~MemberFlags.is_guest`, :attr:`~MemberFlags.started_home_actions`, :attr:`~MemberFlags.completed_home_actions`, :attr:`~MemberFlags.automod_quarantined_username`, :attr:`~MemberFlags.dm_settings_upsell_acknowledged` new member flags. diff --git a/changelog/1247.feature.rst b/changelog/1247.feature.rst deleted file mode 100644 index 7058c31bad..0000000000 --- a/changelog/1247.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Implement the new :meth:`.Guild.fetch_role` API method. diff --git a/changelog/1249.feature.rst b/changelog/1249.feature.rst deleted file mode 100644 index e9c1c6b123..0000000000 --- a/changelog/1249.feature.rst +++ /dev/null @@ -1,5 +0,0 @@ -Support application subscriptions and one-time purchases (see the :ddocs:`official docs ` for more info). -- New types: :class:`SKU`, :class:`Entitlement`, :class:`Subscription`. -- New :attr:`Interaction.entitlements` attribute, and :meth:`InteractionResponse.require_premium` response type. -- New events: :func:`on_entitlement_create`, :func:`on_entitlement_update`, :func:`on_entitlement_delete`, :func:`on_subscription_create`, :func:`on_subscription_update` and :func:`on_subscription_delete`. -- New :class:`Client` methods: :meth:`~Client.skus`, :meth:`~Client.entitlements`, :meth:`~Client.fetch_entitlement`, :meth:`~Client.create_entitlement`. diff --git a/changelog/1252.bugfix.rst b/changelog/1252.bugfix.rst deleted file mode 100644 index f73d8d537d..0000000000 --- a/changelog/1252.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Fix incorrect exception when using the :func:`~ext.commands.default_member_permissions` decorator on a :func:`~ext.commands.user_command` while also using the cog-level ``user_command_attrs`` field. diff --git a/changelog/1256.feature.rst b/changelog/1256.feature.rst deleted file mode 100644 index 56996d6e38..0000000000 --- a/changelog/1256.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :meth:`GroupChannel.get_partial_message`. diff --git a/changelog/1257.feature.rst b/changelog/1257.feature.rst deleted file mode 100644 index e9c1c6b123..0000000000 --- a/changelog/1257.feature.rst +++ /dev/null @@ -1,5 +0,0 @@ -Support application subscriptions and one-time purchases (see the :ddocs:`official docs ` for more info). -- New types: :class:`SKU`, :class:`Entitlement`, :class:`Subscription`. -- New :attr:`Interaction.entitlements` attribute, and :meth:`InteractionResponse.require_premium` response type. -- New events: :func:`on_entitlement_create`, :func:`on_entitlement_update`, :func:`on_entitlement_delete`, :func:`on_subscription_create`, :func:`on_subscription_update` and :func:`on_subscription_delete`. -- New :class:`Client` methods: :meth:`~Client.skus`, :meth:`~Client.entitlements`, :meth:`~Client.fetch_entitlement`, :meth:`~Client.create_entitlement`. diff --git a/changelog/1261.feature.rst b/changelog/1261.feature.rst deleted file mode 100644 index 77c75f5c8b..0000000000 --- a/changelog/1261.feature.rst +++ /dev/null @@ -1,14 +0,0 @@ -Add support for user-installed commands. See :ref:`app_command_contexts` for further details. -- Add :attr:`ApplicationCommand.install_types` and :attr:`ApplicationCommand.contexts` fields, - with respective :class:`ApplicationInstallTypes` and :class:`InteractionContextTypes` flag types. -- :class:`Interaction` changes: - - Add :attr:`Interaction.context` field, reflecting the context in which the interaction occurred. - - Add :attr:`Interaction.authorizing_integration_owners` field and :class:`AuthorizingIntegrationOwners` class, containing details about the application installation. - - :attr:`Interaction.app_permissions` is now always provided by Discord. -- Add :attr:`Message.interaction_metadata` and :class:`InteractionMetadata` type, containing metadata for the interaction associated with a message. -- Add ``integration_type`` parameter to :func:`utils.oauth_url`. -- Add :attr:`AppInfo.guild_install_type_config` and :attr:`AppInfo.user_install_type_config` fields. -- |commands| Add ``install_types`` and ``contexts`` parameters to application command decorators. -- |commands| Add :func:`~ext.commands.install_types` and :func:`~ext.commands.contexts` decorators. -- |commands| Using the :class:`GuildCommandInteraction` annotation now sets :attr:`~ApplicationCommand.install_types` and :attr:`~ApplicationCommand.contexts`, instead of :attr:`~ApplicationCommand.dm_permission`. -- |commands| Add ``default_install_types`` and ``default_contexts`` parameters to :class:`~ext.commands.Bot`. diff --git a/changelog/1263.misc.rst b/changelog/1263.misc.rst deleted file mode 100644 index c12302a702..0000000000 --- a/changelog/1263.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Support Python 3.13. diff --git a/changelog/1264.bugfix.rst b/changelog/1264.bugfix.rst deleted file mode 100644 index 417429388e..0000000000 --- a/changelog/1264.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Escape forward slashes in HTTP route parameters. diff --git a/changelog/687.feature.0.rst b/changelog/687.feature.0.rst deleted file mode 100644 index b9f8ae994d..0000000000 --- a/changelog/687.feature.0.rst +++ /dev/null @@ -1 +0,0 @@ -Support activity assets with ``mp:`` prefix in :attr:`Activity.large_image_url` and :attr:`Activity.small_image_url`, now returning the correct url. diff --git a/changelog/687.feature.1.rst b/changelog/687.feature.1.rst deleted file mode 100644 index 98cdf1b0d4..0000000000 --- a/changelog/687.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -Move asset properties from :class:`Activity` to all activity types: :attr:`~Game.large_image_url`, :attr:`~Game.small_image_url`, :attr:`~Game.large_image_text`, :attr:`~Game.small_image_text`. diff --git a/changelog/808.misc.rst b/changelog/808.misc.rst deleted file mode 100644 index cdfff46770..0000000000 --- a/changelog/808.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Update the ``python -m disnake newcog`` template to include all missing special methods. diff --git a/changelog/847.feature.rst b/changelog/847.feature.rst deleted file mode 100644 index 7418ed0783..0000000000 --- a/changelog/847.feature.rst +++ /dev/null @@ -1 +0,0 @@ -|commands| Skip evaluating annotations of ``self`` (if present) and ``ctx`` parameters in prefix commands. These may now use stringified annotations with types that aren't available at runtime. diff --git a/changelog/882.feature.rst b/changelog/882.feature.rst deleted file mode 100644 index 177ab171bf..0000000000 --- a/changelog/882.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``guild_scheduled_event`` parameter to :meth:`StageChannel.create_instance`. diff --git a/changelog/889.feature.rst b/changelog/889.feature.rst deleted file mode 100644 index c091a7831a..0000000000 --- a/changelog/889.feature.rst +++ /dev/null @@ -1,4 +0,0 @@ -Add support for avatar decorations using: -- :attr:`User.avatar_decoration` -- :attr:`Member.display_avatar_decoration` -- :attr:`Member.guild_avatar_decoration` diff --git a/changelog/892.feature.rst b/changelog/892.feature.rst deleted file mode 100644 index f6241a6e58..0000000000 --- a/changelog/892.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Added ``with_counts`` parameter to :meth:`Client.fetch_guild` and :meth:`Client.fetch_guilds`, used to determine whether to include the guild's member count and presence information. diff --git a/changelog/914.bugfix.rst b/changelog/914.bugfix.rst deleted file mode 100644 index 6dd6dcc4bf..0000000000 --- a/changelog/914.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix :class:`ui.Modal` timeout issues with long-running callbacks, and multiple modals with the same user and ``custom_id``. diff --git a/changelog/975.feature.rst b/changelog/975.feature.rst deleted file mode 100644 index b3cd727853..0000000000 --- a/changelog/975.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Move the event listener system implementation from :class:`.ext.commands.Bot` to :class:`.Client`, making Clients able to have more than one listener per event type. diff --git a/changelog/993.feature.rst b/changelog/993.feature.rst deleted file mode 100644 index 38905a2a9e..0000000000 --- a/changelog/993.feature.rst +++ /dev/null @@ -1,4 +0,0 @@ -Support voice channel effect events. -- New events: :func:`on_voice_channel_effect`, :func:`on_raw_voice_channel_effect`. -- New types: :class:`VoiceChannelEffect`, :class:`RawVoiceChannelEffectEvent`. -- New enum: :class:`VoiceChannelEffectAnimationType`. diff --git a/disnake/__init__.py b/disnake/__init__.py index e2658fed15..f05ead78b8 100644 --- a/disnake/__init__.py +++ b/disnake/__init__.py @@ -14,7 +14,7 @@ __author__ = "Rapptz, EQUENOS" __license__ = "MIT" __copyright__ = "Copyright 2015-present Rapptz, 2021-present EQUENOS" -__version__ = "2.10.0a" +__version__ = "2.10.0" __path__ = __import__("pkgutil").extend_path(__path__, __name__) @@ -87,7 +87,7 @@ class VersionInfo(NamedTuple): # fmt: off -version_info: VersionInfo = VersionInfo(major=2, minor=10, micro=0, releaselevel="alpha", serial=0) +version_info: VersionInfo = VersionInfo(major=2, minor=10, micro=0, releaselevel="final", serial=0) # fmt: on logging.getLogger(__name__).addHandler(logging.NullHandler()) diff --git a/docs/whats_new.rst b/docs/whats_new.rst index 4564e88651..974a5f71ba 100644 --- a/docs/whats_new.rst +++ b/docs/whats_new.rst @@ -17,6 +17,162 @@ in specific versions. Please see :ref:`version_guarantees` for more information. .. towncrier release notes start +.. _vp2p10p0: + +v2.10.0 +------- + +This release comes with support for user apps (see :ref:`app_command_contexts`), polls, message forwarding, +avatar decorations, media channels, soundboards, subscriptions/monetization, +proper support for Python 3.12 and 3.13 functionality (such as 3.12's new ``type`` statement), +and lots of smaller features, improvements, and other bugfixes. + +See below for a complete list of changes. + +Deprecations +~~~~~~~~~~~~ +- :meth:`Client.fetch_premium_sticker_packs` was renamed to :meth:`Client.fetch_sticker_packs`; the old name is deprecated. (:issue:`1082`) +- Deprecate :attr:`Message.interaction` attribute and :class:`InteractionReference`. Use :attr:`Message.interaction_metadata` instead. (:issue:`1173`) +- Deprecate :attr:`ApplicationCommand.dm_permission` and related fields/parameters of application command objects. Use ``contexts`` instead. (:issue:`1173`) + +New Features +~~~~~~~~~~~~ +- Support activity assets with ``mp:`` prefix in :attr:`Activity.large_image_url` and :attr:`Activity.small_image_url`, now returning the correct url. (:issue:`687`) +- Move asset properties from :class:`Activity` to all activity types: :attr:`~Game.large_image_url`, :attr:`~Game.small_image_url`, :attr:`~Game.large_image_text`, :attr:`~Game.small_image_text`. (:issue:`687`) +- |commands| Skip evaluating annotations of ``self`` (if present) and ``ctx`` parameters in prefix commands. These may now use stringified annotations with types that aren't available at runtime. (:issue:`847`) +- Add ``guild_scheduled_event`` parameter to :meth:`StageChannel.create_instance`. (:issue:`882`) +- Add support for avatar decorations using: (:issue:`889`) + - :attr:`User.avatar_decoration` + - :attr:`Member.display_avatar_decoration` + - :attr:`Member.guild_avatar_decoration` +- Added ``with_counts`` parameter to :meth:`Client.fetch_guild` and :meth:`Client.fetch_guilds`, used to determine whether to include the guild's member count and presence information. (:issue:`892`) +- Move the event listener system implementation from :class:`.ext.commands.Bot` to :class:`.Client`, making Clients able to have more than one listener per event type. (:issue:`975`) +- Support voice channel effect events. (:issue:`993`) + - New events: :func:`on_voice_channel_effect`, :func:`on_raw_voice_channel_effect`. + - New types: :class:`VoiceChannelEffect`, :class:`RawVoiceChannelEffectEvent`. + - New enum: :class:`VoiceChannelEffectAnimationType`. +- :class:`Interaction`\s now always have a proper :attr:`~Interaction.channel` attribute, even when the bot is not part of the guild or cannot access the channel due to other reasons. (:issue:`1012`) +- Add ``delete_after`` parameter to :meth:`Interaction.edit_original_response`, :meth:`InteractionResponse.edit_message` and :meth:`InteractionMessage.edit`. (:issue:`1014`) +- Make :class:`Interaction` and subtypes accept the bot type as a generic parameter to denote the type returned by the :attr:`~Interaction.bot` and :attr:`~Interaction.client` properties. (:issue:`1036`, :issue:`1121`) +- |commands| Implement :func:`~disnake.ext.commands.app_check` and :func:`~disnake.ext.commands.app_check_any` decorators. (:issue:`1045`) +- |commands| Log errors raised by :meth:`.ext.commands.Cog.cog_unload`. (:issue:`1046`) +- Add support for media channels. (:issue:`1050`) + - Add :class:`MediaChannel`. + - Unless otherwise noted, media channels behave just like forum channels. + - Add :attr:`ChannelType.media`. + - Add :attr:`CategoryChannel.media_channels`, :attr:`Guild.media_channels`. + - Add :attr:`CategoryChannel.create_media_channel`, :attr:`Guild.create_media_channel`. + - Add :attr:`ChannelFlags.hide_media_download_options`. +- Rename :attr:`Intents.emojis_and_stickers` to :attr:`Intents.expressions`. An alias is provided for backwards compatibility. (:issue:`1068`) +- Implement soundboard features. (:issue:`1068`) + - Sound models: :class:`PartialSoundboardSound`, :class:`SoundboardSound`, :class:`GuildSoundboardSound` + - Managing sounds: + - Get soundboard sounds using :attr:`Guild.soundboard_sounds`, :attr:`Client.get_soundboard_sound`, or fetch them using :meth:`Guild.fetch_soundboard_sound`, :meth:`Guild.fetch_soundboard_sounds`, or :meth:`Client.fetch_default_soundboard_sounds` + - New sounds can be created with :meth:`Guild.create_soundboard_sound` + - Handle guild soundboard sound updates using the :attr:`~Event.guild_soundboard_sounds_update` event + - Send sounds using :meth:`VoiceChannel.send_soundboard_sound` + - New attributes: :attr:`Guild.soundboard_limit`, :attr:`VoiceChannelEffect.sound`, :attr:`Client.soundboard_sounds` + - New audit log actions: :attr:`AuditLogAction.soundboard_sound_create`, :attr:`~AuditLogAction.soundboard_sound_update`, :attr:`~AuditLogAction.soundboard_sound_delete` +- Add :class:`RoleFlags` type and :attr:`Role.flags`. (:issue:`1069`) +- Add :class:`AttachmentFlags` type and :attr:`Attachment.flags`. (:issue:`1073`) +- Add support for threads in :meth:`Webhook.fetch_message`, :meth:`~Webhook.edit_message`, and :meth:`~Webhook.delete_message`, as well as their sync counterparts. (:issue:`1077`) +- Add ``default_layout`` parameter to :meth:`Guild.create_forum_channel` and :meth:`ForumChannel.clone`. (:issue:`1078`) +- Add :attr:`RawReactionActionEvent.message_author_id`. (:issue:`1079`) +- Add :class:`AuditLogAction` values related to creator monetization. (:issue:`1080`) +- Add ``applied_tags`` parameter to :meth:`Webhook.send`. (:issue:`1085`) +- Make :attr:`CustomActivity.state` fall back to the provided :attr:`~CustomActivity.name`, simplifying setting a custom status. (:issue:`1087`) +- Add :attr:`Permissions.create_guild_expressions` and :attr:`Permissions.create_events`. (:issue:`1091`) +- Add :attr:`TeamMember.role`. (:issue:`1094`) +- |commands| Update :meth:`Bot.is_owner ` to take team member roles into account. (:issue:`1094`) +- Add ``created_at`` property to :attr:`AutoModRule `, :attr:`ForumTag `, :attr:`Integration `, :attr:`StageInstance `, and :attr:`Team `. (:issue:`1095`) +- Support ``integration_type`` field in :attr:`AuditLogEntry.extra` (for :attr:`~AuditLogAction.kick` and :attr:`~AuditLogAction.member_role_update` actions). (:issue:`1096`) +- Add new :class:`Colour`\s: :meth:`~Colour.light_embed` and :meth:`~Colour.dark_embed`. (:issue:`1102`) +- Support application subscriptions and one-time purchases (see the :ddocs:`official docs ` for more info). (:issue:`1113`, :issue:`1186`, :issue:`1249`, :issue:`1257`) + - New types: :class:`SKU`, :class:`Entitlement`, :class:`Subscription`. + - New :attr:`Interaction.entitlements` attribute, and :meth:`InteractionResponse.require_premium` response type. + - New events: :func:`on_entitlement_create`, :func:`on_entitlement_update`, :func:`on_entitlement_delete`, :func:`on_subscription_create`, :func:`on_subscription_update` and :func:`on_subscription_delete`. + - New :class:`Client` methods: :meth:`~Client.skus`, :meth:`~Client.entitlements`, :meth:`~Client.fetch_entitlement`, :meth:`~Client.create_entitlement`. +- Add :class:`SelectDefaultValue`, and add :attr:`~UserSelectMenu.default_values` to all auto-populated select menu types. (:issue:`1115`) +- Support Python 3.12. (:issue:`1117`, :issue:`1128`, :issue:`1135`) +- |commands| Support Python 3.12's ``type`` statement and :class:`py:typing.TypeAliasType` annotations in command signatures. (:issue:`1128`) +- Add :attr:`Invite.type`. (:issue:`1142`) +- Add :attr:`Locale.es_LATAM` locale. (:issue:`1148`) +- Make typing more precise for :meth:`Client.create_global_command`, :meth:`Client.edit_global_command`, :meth:`Client.create_guild_command` and :meth:`Client.edit_guild_command`. (:issue:`1151`) +- Add raw equivalent of :func:`on_presence_update` - :func:`on_raw_presence_update`. (:issue:`1152`) +- :attr:`InteractionReference.user` can now be a :class:`Member` in guild contexts. (:issue:`1160`) +- Add ``banner`` parameter to :meth:`ClientUser.edit`. (:issue:`1165`) +- Add support for user-installed commands. See :ref:`app_command_contexts` for further details. (:issue:`1173`, :issue:`1261`) + - Add :attr:`ApplicationCommand.install_types` and :attr:`ApplicationCommand.contexts` fields, + with respective :class:`ApplicationInstallTypes` and :class:`InteractionContextTypes` flag types. + - :class:`Interaction` changes: + - Add :attr:`Interaction.context` field, reflecting the context in which the interaction occurred. + - Add :attr:`Interaction.authorizing_integration_owners` field and :class:`AuthorizingIntegrationOwners` class, containing details about the application installation. + - :attr:`Interaction.app_permissions` is now always provided by Discord. + - Add :attr:`Message.interaction_metadata` and :class:`InteractionMetadata` type, containing metadata for the interaction associated with a message. + - Add ``integration_type`` parameter to :func:`utils.oauth_url`. + - Add :attr:`AppInfo.guild_install_type_config` and :attr:`AppInfo.user_install_type_config` fields. + - |commands| Add ``install_types`` and ``contexts`` parameters to application command decorators. + - |commands| Add :func:`~ext.commands.install_types` and :func:`~ext.commands.contexts` decorators. + - |commands| Using the :class:`GuildCommandInteraction` annotation now sets :attr:`~ApplicationCommand.install_types` and :attr:`~ApplicationCommand.contexts`, instead of :attr:`~ApplicationCommand.dm_permission`. + - |commands| Add ``default_install_types`` and ``default_contexts`` parameters to :class:`~ext.commands.Bot`. +- Support banning multiple users at once using :meth:`Guild.bulk_ban`. (:issue:`1174`) +- Add the new poll discord API feature. This includes the following new classes and events: (:issue:`1175`) + - New types: :class:`Poll`, :class:`PollAnswer`, :class:`PollMedia`, :class:`RawPollVoteActionEvent` and :class:`PollLayoutType`. + - Edited :meth:`abc.Messageable.send`, :meth:`Webhook.send`, :meth:`ext.commands.Context.send` and :meth:`disnake.InteractionResponse.send_message` to be able to send polls. + - Edited :class:`Message` to store a new :attr:`Message.poll` attribute for polls. + - Edited :class:`Event` to contain the new :func:`on_poll_vote_add`, :func:`on_poll_vote_remove`, :func:`on_raw_poll_vote_add` and :func:`on_raw_poll_vote_remove`. +- Add the possibility to pass :class:`disnake.File` objects to :meth:`Embed.set_author` and :meth:`~Embed.set_footer`. (:issue:`1184`) +- Add support for message forwarding. New :class:`ForwardedMessage`, new enum :class:`MessageReferenceType`, new method :func:`Message.forward`, edited :class:`MessageReference` to support message forwarding. (:issue:`1187`) +- The ``cls`` parameter of UI component decorators (such as :func:`ui.button`) now accepts any matching callable, in addition to item subclasses. (:issue:`1190`) +- Implement new :attr:`Message.type`\s: (:issue:`1197`) + - :attr:`MessageType.guild_incident_alert_mode_enabled` + - :attr:`MessageType.guild_incident_alert_mode_disabled` + - :attr:`MessageType.guild_incident_report_raid` + - :attr:`MessageType.guild_incident_report_false_alarm` +- Implement new :attr:`.Member.guild_banner` property. (:issue:`1203`) +- Add :attr:`Permissions.use_external_apps`, and a new :attr:`Permissions.apps` category to match the Discord client UI. (:issue:`1211`) +- Add new :attr:`~MessageType.poll_result` message type. (:issue:`1212`) +- Add :meth:`Guild.fetch_voice_state` to fetch the :class:`VoiceState` of a member. (:issue:`1216`) +- Add new :attr:`Attachment.title` attribute. (:issue:`1218`) +- Add :attr:`AppInfo.approximate_guild_count` and :attr:`AppInfo.approximate_user_install_count`. (:issue:`1220`) +- Add new :meth:`.Client.fetch_sticker_pack` method. (:issue:`1221`) +- For interactions in private channels, :attr:`Interaction.channel` is now always a proper :class:`DMChannel` or :class:`GroupChannel` object, instead of :class:`PartialMessageable`. (:issue:`1233`) + - This also applies to other channel objects in interactions, e.g. channel parameters in slash commands, or :attr:`ui.ChannelSelect.values`. +- Add support for ``BaseFlags`` to allow comparison with ``flag_values`` and vice versa. (:issue:`1238`) +- Implement :attr:`~MemberFlags.is_guest`, :attr:`~MemberFlags.started_home_actions`, :attr:`~MemberFlags.completed_home_actions`, :attr:`~MemberFlags.automod_quarantined_username`, :attr:`~MemberFlags.dm_settings_upsell_acknowledged` new member flags. (:issue:`1245`) +- Implement the new :meth:`.Guild.fetch_role` API method. (:issue:`1247`) +- Add :meth:`GroupChannel.get_partial_message`. (:issue:`1256`) + +Bug Fixes +~~~~~~~~~ +- Fix :class:`ui.Modal` timeout issues with long-running callbacks, and multiple modals with the same user and ``custom_id``. (:issue:`914`) +- |commands| Fix incorrect typings of :meth:`InvokableApplicationCommand.add_check <.ext.commands.InvokableApplicationCommand.add_check>`, :meth:`InvokableApplicationCommand.remove_check <.ext.commands.InvokableApplicationCommand.remove_check>`, :meth:`Bot.add_app_command_check <.ext.commands.Bot.add_app_command_check>` and :meth:`Bot.remove_app_command_check <.ext.commands.Bot.remove_app_command_check>`. (:issue:`1045`) +- Update :meth:`Colour.dark_theme` to match Discord theme change. (:issue:`1102`) +- Update ``choices`` type in app commands to accept any :class:`~py:typing.Sequence` or :class:`~py:typing.Mapping`, instead of the more constrained :class:`list`/:class:`dict` types. (:issue:`1136`) +- Support fetching invites with ``null`` channel (e.g. friend invites). (:issue:`1142`) +- Adjust type annotations to allow :class:`Object` as ``category`` parameter in :meth:`Guild.create_text_channel` and similar methods. (:issue:`1162`) +- |commands| Fix usage of :attr:`~ext.commands.BucketType.role`\-type cooldowns in threads, which incorrectly operated on a per-channel basis instead. (:issue:`1200`) +- |commands| Fix incorrect exception when using the :func:`~ext.commands.default_member_permissions` decorator on a :func:`~ext.commands.user_command` while also using the cog-level ``user_command_attrs`` field. (:issue:`1252`) +- Escape forward slashes in HTTP route parameters. (:issue:`1264`) + +Documentation +~~~~~~~~~~~~~ +- Add inherited attributes to :class:`TeamMember`, and fix :attr:`TeamMember.avatar` documentation. (:issue:`1094`) +- Document the :class:`.Option` attributes, the ``description`` and ``options`` properties for :class:`.ext.commands.InvokableSlashCommand` and the ``description`` and ``body`` properties for :class:`.ext.commands.SubCommand`. (:issue:`1112`) +- Make all "Supported Operations" container elements collapsible. (:issue:`1126`) + +Miscellaneous +~~~~~~~~~~~~~ +- Update the ``python -m disnake newcog`` template to include all missing special methods. (:issue:`808`) +- Overhaul and simplify `contribution guide `__. (:issue:`1098`) +- |commands| Rewrite slash command signature evaluation to use the same mechanism as prefix command signatures. This should not have an impact on user code, but streamlines future changes. (:issue:`1116`) +- Start testing with Python 3.12 in CI. (:issue:`1117`) +- Reduce the amount of unknown (unresolved) types in public-facing APIs. (:issue:`1167`) +- Remove ``disnake[discord]`` extra; the shim is deprecated, and has not been updated for several versions. (:issue:`1196`) +- Move enum member documentation into docstrings. (:issue:`1243`) +- Support Python 3.13. (:issue:`1263`) + + .. _vp2p9p3: v2.9.3