diff --git a/docs/changelog_3_3_0.rst b/docs/changelog_3_3_0.rst index 4bc8efb0b..9faeb7419 100644 --- a/docs/changelog_3_3_0.rst +++ b/docs/changelog_3_3_0.rst @@ -4,7 +4,7 @@ Redbot 3.3.11 (2020-08-10) ========================== | Thanks to all these amazing people that contributed to this release: -| :ghuser:`douglas-cpp`, :ghuser:`Drapersniper`, :ghuser:`jack1142`, :ghuser:`MeatyChunks`, :ghuser:`Vexed01`, :ghuser:`yamikaitou` +| :ghuser:`douglas-cpp`, :ghuser:`Drapersniper`, :ghuser:`Flame`, :ghuser:`jack1142`, :ghuser:`MeatyChunks`, :ghuser:`Vexed01`, :ghuser:`yamikaitou` End-user changelog ------------------ @@ -43,10 +43,10 @@ Warnings Redbot 3.3.10 (2020-07-09) -=================================== +========================== | Thanks to all these amazing people that contributed to this release: -| :ghuser:`aikaterna`, :ghuser:`bobloy`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`Flame442`, :ghuser:`flaree`, :ghuser:`jack1142`, :ghuser:`MiniJennJenn`, :ghuser:`NeuroAssassin`, :ghuser:`thisisjvgrace`, :ghuser:`Vexed01`, :ghuser:`Injabie3`, :ghuser:`mikeshardmind` +| :ghuser:`aikaterna`, :ghuser:`bobloy`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`Flame442`, :ghuser:`flaree`, :ghuser:`Injabie3`, :ghuser:`jack1142`, :ghuser:`mikeshardmind`, :ghuser:`MiniJennJenn`, :ghuser:`NeuroAssassin`, :ghuser:`thisisjvgrace`, :ghuser:`Vexed01` End-user changelog ------------------ @@ -127,11 +127,6 @@ Developer changelog - Vendor the ``discord.ext.menus`` module (:issue:`4039`) -Documentation changes ---------------------- - - - Miscellaneous ------------- @@ -145,6 +140,7 @@ Miscellaneous - Fixed commands being translated where they should not be (:issue:`3938`, :issue:`3919`) - Fixed grammar errors and added full stopts in ``core_commands.py`` (:issue:`4023`) + Redbot 3.3.9 (2020-06-12) ========================= diff --git a/docs/changelog_3_4_0.rst b/docs/changelog_3_4_0.rst new file mode 100644 index 000000000..86c942e64 --- /dev/null +++ b/docs/changelog_3_4_0.rst @@ -0,0 +1,156 @@ +.. 3.4.x Changelogs + +Redbot 3.4.0 (2020-08-17) +========================= + +| Thanks to all these amazing people that contributed to this release: +| :ghuser:`Dav-Git`, :ghuser:`DevilXD`, :ghuser:`douglas-cpp`, :ghuser:`Drapersniper`, :ghuser:`flaree`, :ghuser:`jack1142`, :ghuser:`kablekompany`, :ghuser:`Kowlin`, :ghuser:`maxbooiii`, :ghuser:`MeatyChunks`, :ghuser:`mikeshardmind`, :ghuser:`NeuroAssassin`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`retke`, :ghuser:`SharkyTheKing`, :ghuser:`thisisjvgrace`, :ghuser:`Tinonb`, :ghuser:`TrustyJAID`, :ghuser:`Twentysix26`, :ghuser:`Vexed01`, :ghuser:`zephyrkul` +| +| **Read before updating**: +| 1. Red 3.4 comes with support for data deletion requests. Bot owners should read `red_core_data_statement` to ensure they know what information about their users is stored by the bot. +| 2. Debian Stretch, Fedora 30 and lower, and OpenSUSE Leap 15.0 and lower are no longer supported as they have already reached end of life. +| 3. There's been a change in behavior of ``[p]tempban``. Look at `Mod changelog ` for full details. +| 4. There's been a change in behavior of announcements in Admin cog. Look at `Admin changelog ` for full details. +| 5. Red 3.4 comes with breaking changes for cog developers. Look at `Developer changelog ` for full details. + +End-user changelog +------------------ + +Core Bot +******** + +- Added per-guild cog disabling (:issue:`4043`, :issue:`3945`) + + - Bot owners can set the default state for a cog using ``[p]command defaultdisablecog`` and ``[p]command defaultenablecog`` commands + - Guild owners can enable/disable cogs for their guild using ``[p]command disablecog`` and ``[p]command enablecog`` commands + - Cogs disabled in the guild can be listed with ``[p]command listdisabledcogs`` + +- Added support for data deletion requests; see `red_core_data_statement` for more information (:issue:`4045`) +- Red now logs clearer error if it can't find package to load in any cog path during bot startup (:issue:`4079`) +- ``[p]licenseinfo`` now has a 3 minute cooldown to prevent a single user from spamming channel by using it (:issue:`4110`) +- Added ``[p]helpset showsettings`` command (:issue:`4013`, :issue:`4022`) +- Updated Red's emoji usage to ensure consistent rendering accross different devices (:issue:`4106`, :issue:`4105`, :issue:`4127`) +- Whitelist and blacklist are now called allowlist and blocklist. Old names have been left as aliases (:issue:`4138`) + +.. _important-340-2: + +Admin +***** + +- ``[p]announce`` will now only send announcements to guilds that have explicitly configured text channel to send announcements to using ``[p]announceset channel`` command (:issue:`4088`, :issue:`4089`) + +Downloader +********** + +- ``[p]cog info`` command now shows end user data statement made by the cog creator (:issue:`4169`) +- ``[p]cog update`` command will now notify the user if cog's end user data statement has changed since last update (:issue:`4169`) + +.. _important-340-1: + +Mod +*** + +- ``[p]tempban`` now respects default days setting (``[p]modset defaultdays``) (:issue:`3993`) +- Users can now set mention spam triggers which will warn or kick the user. See ``[p]modset mentionspam`` for more information (:issue:`3786`, :issue:`4038`) +- ``[p]mute voice`` and ``[p]unmute voice`` now take action instantly if bot has Move Members permission (:issue:`4064`) +- Added typing to ``[p](un)mute guild`` to indicate that mute is being processed (:issue:`4066`, :issue:`4172`) + +ModLog +****** + +- Added timestamp to text version of ``[p]casesfor`` and ``[p]case`` commands (:issue:`4118`, :issue:`4137`) + +Streams +******* + +- Stream alerts will no longer make roles temporarily mentionable if bot has "Mention @everyone, @here, and All Roles" permission in the channel (:issue:`4182`) +- Mixer service has been closed and for that reason we've removed support for it from the cog (:issue:`4072`) +- Hitbox commands have been renamed to smashcast (:issue:`4161`) +- Improve error messages for invalid channel names/IDs (:issue:`4147`, :issue:`4148`) + +Trivia Lists +************ + +- Added ``whosthatpokemon2`` trivia containing Pokémons from 2nd generation (:issue:`4102`) +- Added ``whosthatpokemon3`` trivia containing Pokémons from 3rd generation (:issue:`4141`) + +.. _important-340-3: + +Developer changelog +------------------- + +| **Important:** +| 1. Red now offers cog disabling API, which should be respected by 3rd-party cogs in guild-related actions happening outside of command's context. See the `Core Bot changelog below ` for more information. +| 2. Red now provides data request API, which should be supported by all 3rd-party cogs. See the changelog entries in the `Core Bot changelog below ` for more information. + +Breaking changes +**************** + +- By default, none of the ``.send()`` methods mention roles or ``@everyone/@here`` (:issue:`3845`) + + - see `discord.AllowedMentions` and ``allowed_mentions`` kwarg of ``.send()`` methods, if your cog requires to mention roles or ``@everyone/@here`` + +- The default value of the ``filter`` keyword argument has been changed to ``None`` (:issue:`3845`) +- Cog package names (i.e. name of the folder the cog is in and the name used when loading the cog) now have to be `valid Python identifiers `_ (:issue:`3605`, :issue:`3679`) +- Method/attribute names starting with ``red_`` or being in the form of ``__red_*__`` are now reserved. See `version_guarantees` for more information (:issue:`4085`) +- `humanize_list()` no longer raises `IndexError` for empty sequences (:issue:`2982`) +- Removed things past deprecation time: (:issue:`4163`) + + - ``redbot.core.commands.APIToken`` + - ``loop`` kwarg from `bounded_gather_iter()`, `bounded_gather()`, and `start_adding_reactions()` + +.. _important-dev-340-1: + +Core Bot +******** + +- Added cog disabling API (:issue:`4043`, :issue:`3945`) + + - New methods added: `bot.cog_disabled_in_guild() `, `bot.cog_disabled_in_guild_raw() ` + - Cog disabling is automatically applied for commands and only needs to be done manually for things like event listeners; see `guidelines-for-cog-creators` for more information + +- Added data request API (:issue:`4045`, :issue:`4169`) + + - New special methods added to `commands.Cog`: `red_get_data_for_user()` (documented provisionally), `red_delete_data_for_user()` + - New special module level variable added: ``__red_end_user_data_statement__`` + - These methods and variables should be added by all cogs according to their documentation; see `guidelines-for-cog-creators` for more information + - New ``info.json`` key added: ``end_user_data_statement``; see `Info.json format documentation ` for more information + +- Added `bot.message_eligible_as_command() ` utility method which can be used to determine if a message may be responded to as a command (:issue:`4077`) +- Added a provisional API for replacing the help formatter. See `documentation ` for more details (:issue:`4011`) +- `bot.ignored_channel_or_guild() ` now accepts `discord.Message` objects (:issue:`4077`) +- `commands.NoParseOptional ` is no longer provisional and is now fully supported part of API (:issue:`4142`) +- Red no longer fails to run subcommands of a command group allowed or denied by permission hook (:issue:`3956`) +- Autohelp in group commands is now sent *after* invoking the group, which allows before invoke hooks to prevent autohelp from getting triggered (:issue:`4129`) +- RPC functionality no longer makes Red hang for a minute on shutdown (:issue:`4134`, :issue:`4143`) + +Vendored packages +***************** + +- Updated ``discord.ext.menus`` vendor (:issue:`4167`) + +Utility Functions +***************** + +- `humanize_list()` now accepts ``locale`` and ``style`` keyword arguments. See its documentation for more information (:issue:`2982`) +- `humanize_list()` is now properly localized (:issue:`2906`, :issue:`2982`) +- `humanize_list()` now accepts empty sequences (:issue:`2982`) + + +Documentation changes +--------------------- + +- Removed install instructions for Debian Stretch (:issue:`4099`) +- Added admin user guide (:issue:`3081`) +- Added alias user guide (:issue:`3084`) +- Added bank user guide (:issue:`4149`) + + +Miscellaneous +------------- + +- Updated features list in ``[p]serverinfo`` with the latest changes from Discord (:issue:`4116`) +- Simple version of ``[p]serverinfo`` now shows info about more detailed ``[p]serverinfo 1`` (:issue:`4121`) +- ``[p]set nickname``, ``[p]set serverprefix``, ``[p]streamalert``, and ``[p]streamset`` commands now can be run by users with permissions related to the actions they're making (:issue:`4109`) +- `bordered()` now uses ``+`` for corners if keyword argument ``ascii_border`` is set to `True` (:issue:`4097`) +- Fixed timestamp storage in few places in Red (:issue:`4017`) diff --git a/docs/framework_commands.rst b/docs/framework_commands.rst index 14ec947e7..5a2f1aec0 100644 --- a/docs/framework_commands.rst +++ b/docs/framework_commands.rst @@ -46,6 +46,8 @@ extend functionalities used throughout the bot, as outlined below. .. autodata:: UserInputOptional :annotation: +.. _framework-commands-help: + ****************** Help Functionality ****************** diff --git a/docs/guide_cog_creation.rst b/docs/guide_cog_creation.rst index 6ce4239d8..555df3923 100644 --- a/docs/guide_cog_creation.rst +++ b/docs/guide_cog_creation.rst @@ -165,6 +165,8 @@ on developing cogs for V3. This will also cover differences between V2 and V3 fo those who developed cogs for V2. +.. _guidelines-for-cog-creators: + --------------------------- Guidelines for Cog Creators --------------------------- @@ -231,7 +233,7 @@ Not all of these are strict requirements (some are) but are all generally advisa - We announce this in advance. - If you need help, ask. -14. Check events against ``bot.cog_disabled_in_guild`` +14. Check events against `bot.cog_disabled_in_guild() ` - Not all events need to be checked, only those that interact with a guild. - Some discretion may apply, for example, diff --git a/docs/index.rst b/docs/index.rst index 64424d054..379d3089d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -62,6 +62,7 @@ Welcome to Red - Discord Bot's documentation! :maxdepth: 2 :caption: Changelogs: + changelog_3_4_0 changelog_3_3_0 release_notes_3_2_0 changelog_3_2_0