Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
38a5bc7
Drop support for Python 3.8-3.10
Jackenmen Apr 12, 2026
baee02a
Fix tox config after introduction of conditional markers
Jackenmen Apr 12, 2026
9bd9e5f
Bump sphinx-prompt to get Python 3.11 support
Jackenmen Apr 12, 2026
e3f3268
Update code based on new minimum Python version
Jackenmen Apr 12, 2026
0df5ca0
Drop aiohttp <3.10 restriction
Jackenmen Apr 12, 2026
d29d999
Drop pytest restrictions
Jackenmen Apr 12, 2026
84e5424
Bump action versions
Jackenmen Apr 12, 2026
bd21cd9
Bump dependencies (minimum Python 3.11 edition)
Jackenmen Apr 12, 2026
d4f1166
pytest-asyncio migration fixes
Jackenmen Apr 12, 2026
a8fa9f0
Fix Sphinx deprecation warning
Jackenmen Apr 12, 2026
f7c8779
Put cogs in redbot.ext_cogs package + refactor CogManager
Jackenmen Apr 12, 2026
e86760e
Add -P flag to python invocations now that 3.11 is minimum
Jackenmen Apr 13, 2026
20e6095
Stop using datetime.datetime.utcnow()
Jackenmen Apr 13, 2026
94809e2
Use proper iscoroutinefunction() everywhere
Jackenmen Apr 14, 2026
a3c2d92
Stop using datetime.datetime.utcfromtimestamp()
Jackenmen Apr 14, 2026
104218f
Remove importlib deprecation warning bug
Jackenmen Apr 15, 2026
2cda750
Fix SyntaxWarning on control flow in finally blocks
Jackenmen Apr 15, 2026
e4235ee
Bump max version in code and metadata
Jackenmen Apr 15, 2026
9d796dc
Update docs
Jackenmen Apr 15, 2026
2ab3ff2
Fix test issue
Jackenmen Apr 15, 2026
66f3de3
Update exception formatting test case for Python 3.13+
Jackenmen Apr 15, 2026
e1ac959
Remove dynamic metadata that can now be specified statistically
Jackenmen Apr 16, 2026
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
1 change: 1 addition & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@
- redbot/core/_settings_caches.py
- redbot/core/_sharedlibdeprecation.py
- redbot/core/utils/_internal_utils.py
- redbot/ext_cogs/__init__.py
# Tests
- redbot/pytest/__init__.py
- redbot/pytest/cog_manager.py
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto_labeler_issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Apply Triage Label
uses: actions/github-script@v6
uses: actions/github-script@v9
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto_labeler_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Apply Type Label
uses: actions/labeler@v4
uses: actions/labeler@v4 # TODO: bump
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
sync-labels: true
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/check_label_pattern_exhaustiveness.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: "3.8"
python-version: "3.11"
- name: Install script's pre-requirements
run: |
python -m pip install -U pip
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: "3.8"
python-version: "3.11"

- name: Install dependencies
run: |
Expand All @@ -34,7 +34,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: 'python'
# Override the default behavior so that the action doesn't attempt
Expand All @@ -54,4 +54,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
6 changes: 3 additions & 3 deletions .github/workflows/crowdin_upload_strings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ jobs:
if: github.repository == 'Cog-Creators/Red-DiscordBot'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'
- name: Install dependencies
run: |
curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add -
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/lint_python.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ jobs:
name: Lint Python
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
ref: ${{ env.ref }}
- uses: actions/setup-python@v4
- uses: actions/setup-python@v6
with:
python-version: "3.8"
python-version: "3.11"
- run: >
python -m pip install
'pyflakes @ https://github.com/pycqa/pyflakes/tarball/1911c20'
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/prepare_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
needs: pr_stable_bump
runs-on: ubuntu-latest
steps:
- uses: actions/create-github-app-token@v2
- uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ secrets.RED_RELEASER_CLIENT_ID }}
Expand All @@ -26,7 +26,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'
- name: Install dependencies
run: |
curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add -
Expand All @@ -47,7 +47,8 @@ jobs:

- name: Create Pull Request
id: cpr_crowdin
uses: peter-evans/create-pull-request@v4
# TODO: Switch to `gh`
uses: peter-evans/create-pull-request@38e0b6e68b4c852a5500a94740f0e535e0d7ba54 # v4.2.4
with:
token: ${{ steps.app-token.outputs.token }}
commit-message: Automated Crowdin downstream
Expand All @@ -71,7 +72,7 @@ jobs:
outputs:
milestone_number: ${{ steps.get_milestone_number.outputs.result }}
steps:
- uses: actions/create-github-app-token@v2
- uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ secrets.RED_RELEASER_CLIENT_ID }}
Expand All @@ -84,7 +85,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'

# Create PR for stable version bump
- name: Update Red version number from input
Expand All @@ -98,7 +99,7 @@ jobs:
# Get milestone number of the milestone for the new stable version
- name: Get milestone number
id: get_milestone_number
uses: actions/github-script@v6
uses: actions/github-script@v9
env:
MILESTONE_TITLE: ${{ steps.bump_version_stable.outputs.new_version }}
with:
Expand All @@ -110,7 +111,8 @@ jobs:

- name: Create Pull Request
id: cpr_bump_stable
uses: peter-evans/create-pull-request@v4
# TODO: Switch to `gh`
uses: peter-evans/create-pull-request@38e0b6e68b4c852a5500a94740f0e535e0d7ba54 # v4.2.4
with:
token: ${{ steps.app-token.outputs.token }}
commit-message: Version bump to ${{ steps.bump_version_stable.outputs.new_version }}
Expand Down
35 changes: 18 additions & 17 deletions .github/workflows/publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
runs-on: ubuntu-latest
steps:
# Checkout repository and install Python
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'

# Get version to release
- name: Get version to release
Expand Down Expand Up @@ -57,12 +57,12 @@ jobs:
name: Build package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'

- name: Install dependencies
run: |
Expand All @@ -75,7 +75,7 @@ jobs:
run: python -m twine check dist/*

- name: Upload packaged distributions
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: build-output
path: ./dist
Expand All @@ -84,12 +84,12 @@ jobs:
name: Generate default application.yml
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'

- name: Install script's dependencies
run: python -m pip install PyYAML
Expand All @@ -102,7 +102,7 @@ jobs:
python .github/workflows/scripts/get_default_ll_server_config.py "release_assets/$APP_YML_FILE"

- name: Upload default application.yml
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: ll-default-server-config
path: ./release_assets
Expand All @@ -120,13 +120,13 @@ jobs:
id-token: write
steps:
- name: Download packaged distributions
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: build-output
path: dist/

- name: Download default application.yml
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: ll-default-server-config
path: release_assets/
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
run: |
echo "BASE_BRANCH=${TAG_BASE_BRANCH#'refs/heads/'}" >> $GITHUB_ENV

- uses: actions/create-github-app-token@v2
- uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ secrets.RED_RELEASER_CLIENT_ID }}
Expand All @@ -171,7 +171,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'

# Version bump to development version
- name: Update Red version number to dev
Expand All @@ -185,7 +185,7 @@ jobs:
# Get milestone number of the milestone for the old version
- name: Get milestone number
id: get_milestone_number
uses: actions/github-script@v6
uses: actions/github-script@v9
env:
MILESTONE_TITLE: ${{ steps.bump_version_dev.outputs.old_version }}
with:
Expand All @@ -197,7 +197,8 @@ jobs:

- name: Create Pull Request
id: cpr_bump_dev
uses: peter-evans/create-pull-request@v4
# TODO: Switch to `gh`
uses: peter-evans/create-pull-request@38e0b6e68b4c852a5500a94740f0e535e0d7ba54 # v4.2.4
with:
token: ${{ steps.app-token.outputs.token }}
commit-message: Version bump to ${{ steps.bump_version_dev.outputs.new_version }}
Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/run_pip_compile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,40 +15,40 @@ jobs:
- macos-latest
steps:
- name: Checkout the repository.
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Python 3.8.
uses: actions/setup-python@v4
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: |
3.14
3.13
3.12
3.11
3.10
3.9
3.8

- name: Install dependencies on Linux/macOS
if: matrix.os != 'windows-latest'
run: |
python3.14 -m pip install -U pip pip-tools
python3.13 -m pip install -U pip pip-tools
python3.12 -m pip install -U pip pip-tools
python3.11 -m pip install -U pip pip-tools
python3.10 -m pip install -U pip pip-tools
python3.9 -m pip install -U pip pip-tools
python3.8 -m pip install -U pip pip-tools

- name: Install dependencies on Windows
if: matrix.os == 'windows-latest'
run: |
py -3.14 -m pip install -U pip pip-tools
py -3.13 -m pip install -U pip pip-tools
py -3.12 -m pip install -U pip pip-tools
py -3.11 -m pip install -U pip pip-tools
py -3.10 -m pip install -U pip pip-tools
py -3.9 -m pip install -U pip pip-tools
py -3.8 -m pip install -U pip pip-tools

- name: Generate requirements files.
id: compile_requirements
run: |
python .github/workflows/scripts/compile_requirements.py

- name: Upload requirements files.
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: ${{ steps.compile_requirements.outputs.sys_platform }}
path: requirements/${{ steps.compile_requirements.outputs.sys_platform }}-*.txt
Expand All @@ -59,29 +59,29 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository.
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Python 3.8.
uses: actions/setup-python@v4
- name: Set up Python 3.11.
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install -U "packaging>=22.0"

- name: Download Windows requirements.
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: win32
path: requirements
- name: Download Linux requirements.
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: linux
path: requirements
- name: Download macOS requirements.
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: darwin
path: requirements
Expand All @@ -91,7 +91,7 @@ jobs:
python .github/workflows/scripts/merge_requirements.py

- name: Upload merged requirements files.
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: merged
path: |
Expand Down
Loading
Loading