Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] V3/develop from Cog-Creators:V3/develop #98

Merged
merged 7 commits into from
Mar 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ Changes
- **Core - Bot Class** - The ``channel`` parameter of `Red.embed_requested()` now accepts any messageable guild channel (:issue:`5576`)
- **Core - Bot Class** - The bot's color is now set earlier in the launch process (:issue:`5627`)
- **Core - Bot Class** - `Red.remove_cog()` returns a `commands.Cog` instance now (:issue:`5600`)
- **Core - Commands Package** - The provisional ``Literal`` converter has been replaced with discord.py's own `typing.Literal` implementation (:issue:`5600`)
- **Core - Commands Package** - The `provisional <developer-guarantees-exclusions>` ``Literal`` converter has been replaced with discord.py's own `typing.Literal` implementation (:issue:`5600`)
- **Core - Commands Package** - Added a ``join_character`` parameter to `Red.send_interactive()` and `Context.send_interactive()` to allow choosing the character messages are joined with (:issue:`5901`, :issue:`5902`)
- **Core - Modlog** - `modlog.set_modlog_channel()` can now accept `discord.VoiceChannel` and `discord.StageChannel` (:issue:`5709`)
- **Core - Utils Package** - `menu()` now defaults to `DEFAULT_CONTROLS` if the ``controls`` argument is not passed (:issue:`5678`)
Expand Down Expand Up @@ -2077,13 +2077,13 @@ Additions
- Cog disabling is automatically applied for commands and only needs to be done manually for things like event listeners; see `recommendations-for-cog-creators` for more information
- |cool| **Core** - Added data request API (:issue:`4045`, :issue:`4169`)

- New special methods added to `redbot.core.commands.Cog`: `red_get_data_for_user()` (documented provisionally), `red_delete_data_for_user()`
- New special methods added to `redbot.core.commands.Cog`: `red_get_data_for_user()` (documented `provisionally <developer-guarantees-exclusions>`), `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 `recommendations-for-cog-creators` for more information
- New ``info.json`` key added: ``end_user_data_statement``; see `Info.json format documentation <info-json-format>` for more information
- **Core - Bot Class** - Added `bot.message_eligible_as_command() <Red.message_eligible_as_command()>` utility method which can be used to determine if a message may be responded to as a command (:issue:`4077`)
- |cool| **Core - Commands Package** - Added a provisional API for replacing the help formatter. See `documentation <framework-commands-help>` for more details (:issue:`4011`)
- **Core - Commands Package** - `commands.NoParseOptional <NoParseOptional>` is no longer provisional and is now fully supported part of API (:issue:`4142`)
- |cool| **Core - Commands Package** - Added a `provisional API <developer-guarantees-exclusions>` for replacing the help formatter. See `documentation <framework-commands-help>` for more details (:issue:`4011`)
- **Core - Commands Package** - `commands.NoParseOptional <NoParseOptional>` is no longer `provisional <developer-guarantees-exclusions>` and is now fully supported part of API (:issue:`4142`)

Changes
*******
Expand Down Expand Up @@ -2435,7 +2435,7 @@ Documentation changes
Changes
*******

- Added information about provisional status of RPC (:issue:`3862`)
- Added information about `provisional <developer-guarantees-exclusions>` status of RPC (:issue:`3862`)
- Revised install instructions (:issue:`3847`)
- Improved navigation in `document about updating Red <update_red>` (:issue:`3856`, :issue:`3849`)

Expand Down
2 changes: 1 addition & 1 deletion docs/framework_commands.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Help Functionality

.. warning::

The content in this section is provisional and may change
The content in this section is `provisional <developer-guarantees-exclusions>` and may change
without prior notice or warning. Updates to this will be communicated
on `this issue <https://github.com/Cog-Creators/Red-DiscordBot/issues/4084>`_

Expand Down
3 changes: 2 additions & 1 deletion docs/framework_rpc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ RPC

.. important::

RPC support is included in Red on a provisional basis. Backwards incompatible changes (up to and including removal of the RPC) may occur if deemed necessary.
RPC support is included in Red on a `provisional <developer-guarantees-exclusions>` basis.
Backwards incompatible changes (up to and including removal of the RPC) may occur if deemed necessary.

V3 comes default with an internal RPC server that may be used to remotely control the bot in various ways.
Cogs must register functions to be exposed to RPC clients.
Expand Down
5 changes: 5 additions & 0 deletions docs/guide_slash_and_interactions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ Go ahead and load your cog. Once it is loaded, we will have to enable and sync o
We can do this by using the :ref:`[p]slash<core-command-slash>` command to manage our slash commands.
Once you have registered your slash commands, you can test them out by typing ``/hello`` in your server.

.. tip::

You may need to restart your Discord client with ``Ctrl + R`` (or your device's equivalent) to force
your client to see the new command after syncing.

----------------------------
Slash Commands and Arguments
----------------------------
Expand Down
27 changes: 0 additions & 27 deletions docs/install_guides/_includes/install-python310-pyenv.rst

This file was deleted.

12 changes: 6 additions & 6 deletions docs/install_guides/arch.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ Install the pre-requirements with pacman:

sudo pacman -Syu git jre17-openjdk-headless base-devel nano

On Arch Linux, Python 3.9 can be installed from the Arch User Repository (AUR) from the ``python39`` package.
On Arch Linux, Python 3.10 can be installed from the Arch User Repository (AUR) from the ``python310`` package.

The manual build process is the Arch-supported install method for AUR packages. You can install ``python39`` package with the following commands:
The manual build process is the Arch-supported install method for AUR packages. You can install ``python310`` package with the following commands:

.. prompt:: bash

git clone https://aur.archlinux.org/python39.git /tmp/python39
cd /tmp/python39
git clone https://aur.archlinux.org/python310.git /tmp/python310
cd /tmp/python310
makepkg -sicL
cd -
rm -rf /tmp/python39
rm -rf /tmp/python310

.. Include common instructions:

.. include:: _includes/create-env-with-venv3.9.rst
.. include:: _includes/create-env-with-venv3.10.rst

.. include:: _includes/install-and-setup-red-unix.rst
2 changes: 1 addition & 1 deletion docs/install_guides/fedora.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Installing Red on Fedora Linux
Installing the pre-requirements
-------------------------------

Fedora Linux 37 and above has all required packages available in official repositories. Install
Fedora Linux 38 and above has all required packages available in official repositories. Install
them with dnf:

.. prompt:: bash
Expand Down
2 changes: 1 addition & 1 deletion docs/install_guides/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ we recommend **Ubuntu 22.04 LTS**.
opensuse-tumbleweed
oracle-linux-8
oracle-linux-9
raspberry-pi-os-10
raspberry-pi-os-11
raspberry-pi-os-12
rhel-8
rhel-9
rocky-linux-8
Expand Down
8 changes: 4 additions & 4 deletions docs/install_guides/opensuse-leap-15.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _install-opensuse-leap-15:

=====================================
Installing Red on openSUSE Leap 15.4+
Installing Red on openSUSE Leap 15.5+
=====================================

.. include:: _includes/supported-arch-x64+aarch64.rst
Expand All @@ -12,16 +12,16 @@ Installing Red on openSUSE Leap 15.4+
Installing the pre-requirements
-------------------------------

openSUSE Leap 15.4+ has all required dependencies available in official repositories. Install them
openSUSE Leap 15.5+ has all required dependencies available in official repositories. Install them
with zypper:

.. prompt:: bash

sudo zypper -n install python310 python310-devel git-core java-17-openjdk-headless nano
sudo zypper -n install python311 python311-devel git-core java-17-openjdk-headless nano
sudo zypper -n install -t pattern devel_basis

.. Include common instructions:

.. include:: _includes/create-env-with-venv3.10.rst
.. include:: _includes/create-env-with-venv3.11.rst

.. include:: _includes/install-and-setup-red-unix.rst
55 changes: 0 additions & 55 deletions docs/install_guides/raspberry-pi-os-10.rst

This file was deleted.

22 changes: 12 additions & 10 deletions docs/install_guides/raspberry-pi-os-11.rst
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
.. _install-raspberry-pi-os-11:

=============================================
Installing Red on Raspberry Pi OS 11 Bullseye
=============================================
======================================================
Installing Red on Raspberry Pi OS (Legacy) 11 Bullseye
======================================================

.. include:: _includes/supported-arch-aarch64+armv7l.rst

.. note::

This guide can only be used with Raspberry Pi OS 11 Bullseye,
it will not work with any older (e.g. Raspberry Pi OS 10 Buster)
or newer (e.g. Raspberry Pi OS 12 Bookworm) releases.
You can check your version of Raspberry Pi OS by running:
While we do provide support and install instructions for running Red
on Raspberry Pi OS (Legacy) 11 Bullseye, we highly recommend installing/upgrading to
the new version - Raspberry Pi OS 12 Bookworm.

If you're not sure what version you are using,
you can check your version of Raspberry Pi OS by running:

.. prompt:: bash

lsb_release -a

If you're not running Bullseye, you should read
`the post about Bullseye release from Raspberry Pi Foundation <https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/>`__
to learn how you can install/upgrade to the new version.
If you're running Bookworm already, read `install-raspberry-pi-os-12` document instead.

If you're using Bullseye, please consider performing a clean install of Bookworm if possible.

.. include:: _includes/linux-preamble.rst

Expand Down
38 changes: 38 additions & 0 deletions docs/install_guides/raspberry-pi-os-12.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
.. _install-raspberry-pi-os-12:

=============================================
Installing Red on Raspberry Pi OS 12 Bookworm
=============================================

.. include:: _includes/supported-arch-aarch64+armv7l.rst

.. note::

This guide can only be used with Raspberry Pi OS 12 Bookworm,
it will not work with any older (e.g. Raspberry Pi OS 11 Bullseye)
or newer (e.g. Raspberry Pi OS 13 Trixie) releases.
You can check your version of Raspberry Pi OS by running:

.. prompt:: bash

lsb_release -a

.. include:: _includes/linux-preamble.rst

-------------------------------
Installing the pre-requirements
-------------------------------

Raspberry Pi OS "Bookworm" has all required packages available in official repositories. Install them
with apt:

.. prompt:: bash

sudo apt update
sudo apt -y install python3 python3-dev python3-venv git openjdk-17-jre-headless build-essential nano

.. Include common instructions:

.. include:: _includes/create-env-with-venv3.11.rst

.. include:: _includes/install-and-setup-red-unix.rst
24 changes: 14 additions & 10 deletions docs/version_guarantees.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ Operating system version Supported architectures Ideally supported u
================================ ======================= ============================================================
Windows 10 x86-64 `End/Retirement Date <https://docs.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro>`__
Windows 11 x86-64 `Retirement Date <https://docs.microsoft.com/en-us/lifecycle/products/windows-11-home-and-pro-version-21h2>`__
macOS 11 (Big Sur) x86-64, aarch64 ~2023-10
macOS 12 (Monterey) x86-64, aarch64 ~2024-10
macOS 13 (Ventura) x86-64, aarch64 ~2025-10
macOS 14 (Sonoma) x86-64, aarch64 ~2026-10
Alma Linux 8 x86-64, aarch64 2029-05-31 (`How long will CloudLinux support AlmaLinux? <https://wiki.almalinux.org/FAQ.html#how-long-will-almalinux-be-supported>`__)
Alma Linux 9 x86-64, aarch64 2032-05-31
Arch Linux x86-64 forever (support is only provided for an up-to-date system)
Expand All @@ -63,15 +63,14 @@ CentOS Stream 8 x86-64, aarch64 2024-05-31 (`end of
CentOS Stream 9 x86-64, aarch64 2027-05-31 (`expected EOL <https://centos.org/stream9/#timeline>`__)
Debian 11 Bullseye x86-64, aarch64, armv7l ~2024-07 (`End of life <https://wiki.debian.org/DebianReleases#Production_Releases>`__)
Debian 12 Bookworm x86-64, aarch64, armv7l ~2026-09 (`End of life <https://wiki.debian.org/DebianReleases#Production_Releases>`__)
Fedora Linux 37 x86-64, aarch64 2023-11-14 (`End of Life <https://docs.fedoraproject.org/en-US/releases/lifecycle/#_maintenance_schedule>`__)
Fedora Linux 38 x86-64, aarch64 2024-05-14 (`End of Life <https://docs.fedoraproject.org/en-US/releases/lifecycle/#_maintenance_schedule>`__)
openSUSE Leap 15.4 x86-64, aarch64 2023-11-30 (`end of maintenance life cycle <https://en.opensuse.org/Lifetime#openSUSE_Leap>`__)
Fedora Linux 39 x86-64, aarch64 2024-11-12 (`End of Life <https://docs.fedoraproject.org/en-US/releases/lifecycle/#_maintenance_schedule>`__)
openSUSE Leap 15.5 x86-64, aarch64 2024-12-31 (`end of maintenance life cycle <https://en.opensuse.org/Lifetime#openSUSE_Leap>`__)
openSUSE Tumbleweed x86-64, aarch64 forever (support is only provided for an up-to-date system)
Oracle Linux 8 x86-64, aarch64 2029-07-31 (`End of Premier Support <https://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf>`__)
Oracle Linux 9 x86-64, aarch64 2032-06-31 (`End of Premier Support <https://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf>`__)
Raspberry Pi OS (Legacy) 10 armv7l ~2023-12 (approximate date of release of Raspberry Pi OS 12)
Raspberry Pi OS 11 aarch64, armv7l ~2023-12 (approximate date of release of Raspberry Pi OS 12)
Raspberry Pi OS (Legacy) 11 armv7l ~2025-10 (approximate date of release of Raspberry Pi OS 13)
Raspberry Pi OS 12 aarch64, armv7l ~2025-10 (approximate date of release of Raspberry Pi OS 13)
RHEL 8 (latest) x86-64, aarch64 2029-05-31 (`End of Maintenance Support <https://access.redhat.com/support/policy/updates/errata#Life_Cycle_Dates>`__)
RHEL 8.6 x86-64, aarch64 2024-05-31 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
RHEL 8.8 x86-64, aarch64 2025-05-31 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
Expand All @@ -82,8 +81,7 @@ Rocky Linux 8 x86-64, aarch64 2029-05-31 (`end-of
Rocky Linux 9 x86-64, aarch64 2032-05-31 (`end-of-life <https://rockylinux.org/download/>`__)
Ubuntu 20.04 LTS x86-64, aarch64 2025-04-30 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
Ubuntu 22.04 LTS x86-64, aarch64 2027-04-30 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
Ubuntu 22.10 x86-64, aarch64 2023-07-31 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
Ubuntu 23.04 x86-64, aarch64 2024-01-31 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
Ubuntu 23.10 x86-64, aarch64 2024-07-31 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
================================ ======================= ============================================================

.. _developer-guarantees:
Expand Down Expand Up @@ -114,12 +112,18 @@ This allows us to add certain optional features non-breakingly without a name co

Any RPC method exposed by Red may break without notice.

Any exclusion from these guarantees should be noted in the documentation of
the affected attribute, function, class, or method.

If you would like something in here to be guaranteed,
open an issue making a case for it to be moved.

.. _developer-guarantees-exclusions:

Exclusions
----------

Any exclusion from these guarantees should be noted in the documentation of
the affected attribute, function, class, or method. The term "provisional"
may be used in documentation to note such exclusions.

.. _breaking-change-notices:

=======================
Expand Down
2 changes: 1 addition & 1 deletion redbot/cogs/admin/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ async def editrole_colour(
"""
author = ctx.author
reason = _("{author} ({author.id}) changed the colour of role '{role.name}'").format(
author=author, role=role.name
author=author, role=role
)

if not self.pass_user_hierarchy_check(ctx, role):
Expand Down
2 changes: 1 addition & 1 deletion redbot/cogs/audio/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ def __ge__(self, other: object) -> bool:


class ServerManager:
JAR_VERSION: Final[str] = LavalinkVersion(3, 7, 8)
JAR_VERSION: Final[str] = LavalinkVersion(3, 7, 11)
LAVALINK_DOWNLOAD_URL: Final[str] = (
"https://github.com/Cog-Creators/Lavalink-Jars/releases/download/"
f"{JAR_VERSION}/"
Expand Down
Loading
Loading