Changelog¶
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 theasync-rediscacheextra. You can now install with[fakeredis]to just install fakeredis (with lua support),[async-rediscache]to install justasync-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.AbstractCommandErrorHandlerandpydis_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 usingpydis_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 ofpydis_core.utils.paste_service.PasteFile.[Feature] #184: Remove the message stored in the
messageattr ofpydis_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 includediscord.abc.PrivateChannelanddiscord.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 inpydis_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 topydis_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._transportifBotBase.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 toBotBase.
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 thepydis_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_clienttoBotBase.__init__to specify thepydis_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.