Changelog¶
11.5.1 23rd November 2024
[Bug] #295: Update
pydis_core.utils.regex.DISCORD_INVITE
to not be overly strict.
11.5.0 17th October 2024
[Feature] #282: Update
pydis_core.utils.regex.DISCORD_INVITE
to cover more edge cases.
11.4.0 11th September 2024
[Feature] #269: Update
pydis_core.utils.regex.DISCORD_INVITE
to 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.CommandInvokeError
before handling it.
11.0.0 18th March 2024
[Breaking] #207: Enable more ruff linting rules. See
GitHub release notes
for breaking changes.[Breaking] #208: Drop support for Pydantic 1.X
[Breaking] #208: Drop support for Python 3.10
[Breaking] #208: Split
fakeredis
optional dependency from theasync-rediscache
extra. 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.AbstractCommandErrorHandler
andpydis_core.utils.error_handling.commands.manager.CommandErrorManager
to 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_access
helper 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.LinePaginator
which 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.delete
did 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_commands
to 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_service
must now provide a list ofpydis_core.utils.paste_service.PasteFile
.[Feature] #184: Remove the message stored in the
message
attr ofpydis_core.utils.interactions.ViewWithUserAndRoleCheck
when 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.PrivateChannel
anddiscord.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_extensions
in 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
None
upon 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_INVITE
regex 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
message
attr 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.DeleteMessageButton
not working due to using wrong delete method.
7.3.0 16th July 2022
[Feature] #103: Add a button
pydis_core.utils.interactions.DeleteMessageButton
that deletes the message attached to its parent view.[Feature] #103: Add a generic view
pydis_core.utils.interactions.ViewWithUserAndRoleCheck
that only allows specified users and roles to interaction with it.
7.2.2 9th July 2022
[Bug] #98: Only close
BotBase.stats._transport
ifBotBase.stats
was 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_url
when 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
unqualify
to thepydis_core.utils
namespace 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_client
toBotBase.__init__
to specify thepydis_core.site_api.APIClient
instance 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.AsyncResolver
to 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.logging
is 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.utils
namespace.[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.