Changelog¶
11.5.0 17th October 2024
- [Feature] #282: Update - pydis_core.utils.regex.DISCORD_INVITEto cover more edge cases.
11.4.0 11th September 2024
- [Feature] #269: Update - pydis_core.utils.regex.DISCORD_INVITEto also match backslash before the invite code.
11.3.1 25th July 2024
- [Bug]: Correct the docstring of - pydis_core.utils.interactions.ViewWithUserAndRoleCheck.
11.3.0 17th July 2024
11.2.0 22nd June 2024
11.1.0 30th March 2024
- [Support] #210: Drop the restriction that meant fakeredis could not be installed on Python 3.12 as lupa now supports 3.12 
11.0.1 20th March 2024
- [Bug] #209: Extract original error from - discord.ext.commands.errors.CommandInvokeErrorbefore handling it.
11.0.0 18th March 2024
- [Breaking] #207: Enable more ruff linting rules. See - GitHub release notesfor breaking changes.
- [Breaking] #208: Drop support for Pydantic 1.X 
- [Breaking] #208: Drop support for Python 3.10 
- [Breaking] #208: Split - fakeredisoptional dependency from the- async-rediscacheextra. You can now install with- [fakeredis]to just install fakeredis (with lua support),- [async-rediscache]to install just- async-rediscache, or use either- [all]or- [async-rediscache,fakeredis]to install both. This allows users who do no rely on fakeredis to install in 3.12 environments.
- [Feature] #205: Add - pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandlerand- pydis_core.utils.error_handling.commands.manager.CommandErrorManagerto implement and register command error handlers independantly.
- [Support] #204: Document the instance attributes of - pydis_core.BotBase.
- [Support] #206: Bump ruff from 0.1.15 to 0.2.2, using the new lint config namespace, and linting with the new rules. 
- [Support] #208: Bump ruff to 0.3.0 and target Python 3.11 now that 3.10 isn’t supported. 
- [Support] #208: Add support for Python 3.12. Be aware, at time of writing, our usage of fakeredis does not currently support 3.12. This is due to - this lupa. Lupa is required by async-rediscache for lua script support within fakeredis. As such, fakeredis can not be installed in a Python 3.12 environment.
10.7.0 30th January 2024
- [Feature] #194: Add the - pydis_core.utils.interactions.user_has_accesshelper function, that returns whether the given user is in the allowed_users list, or has a role from allowed_roles.
- [Feature] #158: Add locking utilities for controlling concurrency logic 
- [Support] #202: Bump various development dependencies and CI workflow action versions 
10.6.0 30th January 2024
- [Feature] #199: Port common discord.commands checks from other bots to - pydis_core.utils.checks.
- [Feature] #189: Add - pydis_core.utils.messages.reaction_check, a predicate that dictates whether a user has the right to add a specific set of reactions based on certain criteria.
- [Feature] #189: Add - pydis_core.utils.pagination.LinePaginatorwhich allows users to paginate over content using Embeds, with emoji reactions facilitating navigation.
10.5.1 14th December 2023
- [Bug] #200: Do not attempt to read response body if the HTTP response code is 204. Previously only - pydis_core.site_api.APIClient.deletedid this.
10.5.0 10th December 2023
- [Support] #197: Mark dependencies using tilde version specifiers. This is to allow user of pydis core to use newer versions of these libraries without us having to cut a new release. 
10.4.0 26th October 2023
10.3.0 19th September 2023
10.2.0 28th August 2023
10.1.0 25th July 2023
- [Feature] #190: Overwrite - discord.ext.commands.Bot.process_commandsto ensure no commands are processed until all extensions are loaded. This only works for clients using- pydis_core.BotBase.load_extensions.
10.0.0 14th July 2023
- [Breaking] #188: Support sending multiple files at once to paste service. All calls to - pydis_core.utils.paste_service.send_to_paste_servicemust now provide a list of- pydis_core.utils.paste_service.PasteFile.
- [Feature] #184: Remove the message stored in the - messageattr of- pydis_core.utils.interactions.ViewWithUserAndRoleCheckwhen the interaction is stopped, in additional to the exist logic for timeout.
- [Bug] #187: Fix - pydis_core.utils.channel.get_or_fetch_channel’s return type to include- discord.abc.PrivateChanneland- discord.Thread.
9.9.2 2nd July 2023
- [Bug] #185: Update expiry label from 1 month to 30 days in paste service. 
9.9.1 22nd June 2023
- [Bug] #183: Push the correct changeset to pypi. 
9.9.0 18th June 2023
- [Feature] #182: Add supported lexer validation to paste service. 
- [Feature] #182: Default pastebin url to https://paste.pythondiscord.com. 
9.8.0 13th June 2023
9.7.0 10th June 2023
9.6.0 6th May 2023
9.5.1 2nd March 2023
9.5.0 28th February 2023
9.4.1 9th February 2023
9.4.0 24th December 2022
- [Feature] #171: Sync all app commands after extensions have been loaded. This release also removes the need to run - pydis_core.BotBase.load_extensionsin a task.
9.3.1 23rd December 2022
- [Bug] #170: Save references of newly created tasks in - pydis_core.utils.scheduling.
9.3.0 13th December 2022
- [Feature] #169: Return - Noneupon receiving a bad request from Discord in- pydis_core.utils.members.get_or_fetch_member.
9.2.0 17th November 2022
- [Support] #151: Add support for Python 3.11. 
9.1.1 14th November 2022
- [Bug] #162: Handle not being able to delete the interaction message on button press/timeout. 
9.1.0 13th November 2022
9.0.0 5th November 2022
- [Breaking] #157: Rename project to pydis_core to allow for publishing to pypi. 
8.2.1 18th September 2022
8.2.0 18th August 2022
- [Support] #125: Bump Discord.py to the stable - 2.0 release.
8.1.0 16th August 2022
- [Support] #124: Updated - pydis_core.utils.regex.DISCORD_INVITEregex to optionally match leading “http[s]” and “www”.
8.0.0 27th July 2022
7.5.0 23rd July 2022
- [Feature] #101: Add a utility to clean a string or referenced message’s content. 
7.4.0 17th July 2022
- [Feature] #106: Add an optional - messageattr to- pydis_core.utils.interactions.ViewWithUserAndRoleCheck. On view timeout, this message has its view removed if set.
7.3.1 16th July 2022
- [Bug] #104: Fix - pydis_core.utils.interactions.DeleteMessageButtonnot working due to using wrong delete method.
7.3.0 16th July 2022
- [Feature] #103: Add a button - pydis_core.utils.interactions.DeleteMessageButtonthat deletes the message attached to its parent view.
- [Feature] #103: Add a generic view - pydis_core.utils.interactions.ViewWithUserAndRoleCheckthat only allows specified users and roles to interaction with it.
7.2.2 9th July 2022
- [Bug] #98: Only close - BotBase.stats._transportif- BotBase.statswas created.
7.2.1 30th June 2022
7.2.0 28th June 2022
7.1.3 30th May 2022
- [Support] #79: Restore on-site changelog. 
- [Support] #79: Add sphinx-multiversion to make available older doc versions. 
7.1.0 24th May 2022
7.0.0 10th May 2022
6.4.0 26th April 2022
6.3.2 25th April 2022
- [Bug] #69: Actually use - statsd_urlwhen it gets passed to- BotBase.
6.3.1 21st April 2022
- [Bug] #68: Correct version number in pyproject.toml. 
6.3.0 21st April 2022
- [Feature]: (Committed directly to main) Don’t load modules starting with - _.
6.2.0 21st April 2022
- [Feature] #66: Load each cog in it’s own task to avoid a single cog crashing entire load process. 
6.1.0 20th April 2022
- [Feature] #65: Add - unqualifyto the- pydis_core.utilsnamespace for use in bots that manipulate extensions.
6.0.0 19th April 2022
5.0.4 18th April 2022
- [Feature] #63: Allow passing an - api_clientto- BotBase.__init__to specify the- pydis_core.site_api.APIClientinstance to use.
5.0.3 18th April 2022
- [Bug] #61: Reconnect to redis session on setup if it is closed. 
5.0.2 5th April 2022
5.0.1 2nd April 2022
- [Bug] #54: Move creation of BotBase’s - aiohttp.AsyncResolverto the async setup hook, to avoid deprecation notice.
5.0.0 2nd April 2022
4.0.0 14th March 2022
- [Breaking] #39: Migrate back to Discord.py 2.0. 
3.0.1 5th March 2022
- [Bug] #37: Setup log tracing when - pydis_core.utils.loggingis imported so that it can be used within pydis_core functions.
3.0.0 3rd March 2022
- [Breaking] #35: Move - apply_monkey_patches()directly to pydis_core.utils namespace.
2.1.0 24th February 2022
- [Feature] #34: Port the Site API wrapper from the bot repo. 
2.0.0 22nd February 2022
- [Breaking] #32: Migrate from discord.py 2.0a0 to disnake. 
- [Breaking] #35: Moved regex to - pydis_core.utilsnamespace.
- [Feature] #29: Port many common utilities from our bots: - caching 
- channel 
- extensions 
- loggers 
- members 
- scheduling 
 
- [Feature] #32: Add common monkey patches. 
- [Support] #2: Added intersphinx to docs. 
1.2.0 9th January 2022
- [Feature] #12: Code block detection regex. 
1.1.0 2nd December 2021
1.0.0 17th November 2021
- [Feature] #1: Core package, poetry, and linting CI.