diff --git a/.github/workflows/scripts/compile_requirements.py b/.github/workflows/scripts/compile_requirements.py index 903f436ff72..77d3361598c 100644 --- a/.github/workflows/scripts/compile_requirements.py +++ b/.github/workflows/scripts/compile_requirements.py @@ -17,6 +17,12 @@ def pip_compile(version: str, name: str) -> None: if EXCLUDE_STEM_RE.fullmatch(stem): return + constraint_flags = [ + arg + for file in REQUIREMENTS_FOLDER.glob(f"{sys.platform}-3.8-*.txt") + for arg in ("-c", file.name) + ] + executable = ("py", f"-{version}") if sys.platform == "win32" else (f"python{version}",) subprocess.check_call( ( @@ -30,6 +36,7 @@ def pip_compile(version: str, name: str) -> None: f"{name}.in", "--output-file", f"{stem}.txt", + *constraint_flags, ) ) diff --git a/.github/workflows/scripts/merge_requirements.py b/.github/workflows/scripts/merge_requirements.py index 01cbb13ba18..00404718517 100644 --- a/.github/workflows/scripts/merge_requirements.py +++ b/.github/workflows/scripts/merge_requirements.py @@ -49,6 +49,8 @@ def get_requirements(fp: TextIO) -> List[RequirementData]: via_prefix = "via " if source.startswith(via_prefix): source = source[len(via_prefix) :] + if source.startswith("-c ") and source != "-c base.txt": + continue current.comments.add(source) elif line and not line.startswith(("#", " ")): current = RequirementData(line) diff --git a/docs/install_guides/debian-11.rst b/docs/install_guides/debian-11.rst deleted file mode 100644 index 2d9f9ae0435..00000000000 --- a/docs/install_guides/debian-11.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. _install-debian-11: - -==================================== -Installing Red on Debian 11 Bullseye -==================================== - -.. include:: _includes/supported-arch-x64+aarch64+armv7l.rst - -.. include:: _includes/linux-preamble.rst - -------------------------------- -Installing the pre-requirements -------------------------------- - -Debian 11 "Bullseye" 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.9.rst - -.. include:: _includes/install-and-setup-red-unix.rst diff --git a/docs/install_guides/fedora.rst b/docs/install_guides/fedora.rst index cb6ccf74909..dba971d3c28 100644 --- a/docs/install_guides/fedora.rst +++ b/docs/install_guides/fedora.rst @@ -12,7 +12,7 @@ Installing Red on Fedora Linux Installing the pre-requirements ------------------------------- -Fedora Linux 39 and above has all required packages available in official repositories. Install +Fedora Linux 40 and above has all required packages available in official repositories. Install them with dnf: .. prompt:: bash diff --git a/docs/install_guides/index.rst b/docs/install_guides/index.rst index 493ec90fa03..6722faa4cb3 100644 --- a/docs/install_guides/index.rst +++ b/docs/install_guides/index.rst @@ -18,7 +18,6 @@ we recommend **Ubuntu 24.04 LTS**. amazon-linux-2023 arch centos-stream-9 - debian-11 debian-12 fedora opensuse-leap-15 diff --git a/docs/install_guides/ubuntu-non-lts.rst b/docs/install_guides/ubuntu-non-lts.rst index 041a0f95a7a..73d41cd8ae5 100644 --- a/docs/install_guides/ubuntu-non-lts.rst +++ b/docs/install_guides/ubuntu-non-lts.rst @@ -4,23 +4,10 @@ Installing Red on Ubuntu non-LTS versions ========================================= -.. include:: _includes/supported-arch-x64+aarch64.rst +Latest Ubuntu non-LTS version (24.10 at the time of writing) is not supported at current time +due to lack of availability of Python 3.11 or older in its repositories. -.. include:: _includes/linux-preamble.rst +The support should come back once we get back on track with supporting current Python versions. -------------------------------- -Installing the pre-requirements -------------------------------- - -Now install the pre-requirements with apt: - -.. prompt:: bash - - sudo apt update - sudo apt -y install python3.11 python3.11-dev python3.11-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 +We recommend usage of latest Ubuntu **LTS** versions instead, you can find +`an install guide for Ubuntu 24.04 ` in our docs. diff --git a/docs/version_guarantees.rst b/docs/version_guarantees.rst index e90d2c8d62e..cd77935e432 100644 --- a/docs/version_guarantees.rst +++ b/docs/version_guarantees.rst @@ -52,19 +52,19 @@ Operating system version Supported architectures Ideally supported u ================================ ======================= ============================================================ Windows 10 x86-64 2025-10-14 (`End/Retirement Date `__) Windows 11 x86-64 `Retirement Date `__ -macOS 12 (Monterey) x86-64, aarch64 ~2024-10 macOS 13 (Ventura) x86-64, aarch64 ~2025-10 macOS 14 (Sonoma) x86-64, aarch64 ~2026-10 +macOS 15 (Sequoia) x86-64, aarch64 ~2027-10 Alma Linux 8 x86-64, aarch64 2029-05-31 (`How long will CloudLinux support AlmaLinux? `__) Alma Linux 9 x86-64, aarch64 2032-05-31 Amazon Linux 2023 x86-64, aarch64 2028-03-15 (`end-of-life `__) Arch Linux x86-64 forever (support is only provided for an up-to-date system) CentOS Stream 9 x86-64, aarch64 2027-05-31 (`expected EOL `__) -Debian 11 Bullseye x86-64, aarch64, armv7l ~2024-07 (`End of life `__) Debian 12 Bookworm x86-64, aarch64, armv7l ~2026-09 (`End of life `__) -Fedora Linux 39 x86-64, aarch64 2024-11-12 (`End of Life `__) -Fedora Linux 40 x86-64, aarch64 2025-05-13 (`End of Life `__) +Fedora Linux 40 x86-64, aarch64 2025-05-28 (`End of Life `__) +Fedora Linux 41 x86-64, aarch64 2025-11-19 (`End of Life `__) openSUSE Leap 15.5 x86-64, aarch64 2024-12-31 (`end of maintenance life cycle `__) +openSUSE Leap 15.6 x86-64, aarch64 2025-12-31 (`end of maintenance life cycle `__) 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 `__) Oracle Linux 9 x86-64, aarch64 2032-06-31 (`End of Premier Support `__) @@ -80,7 +80,6 @@ Rocky Linux 8 x86-64, aarch64 2029-05-31 (`end-of Rocky Linux 9 x86-64, aarch64 2032-05-31 (`end-of-life `__) Ubuntu 20.04 LTS x86-64, aarch64 2025-06-30 (`End of Standard Support `__) Ubuntu 22.04 LTS x86-64, aarch64 2027-06-30 (`End of Standard Support `__) -Ubuntu 23.10 x86-64, aarch64 2024-07-31 (`End of Standard Support `__) Ubuntu 24.04 LTS x86-64, aarch64 2029-06-30 (`End of Standard Support `__) ================================ ======================= ============================================================ diff --git a/requirements/base.txt b/requirements/base.txt index 758bbd96362..959858f9d6f 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -10,23 +10,23 @@ aiosignal==1.3.1 # via aiohttp apsw==3.46.1.0 # via -r base.in -attrs==24.2.0 +attrs==24.3.0 # via aiohttp babel==2.16.0 # via -r base.in brotli==1.1.0 # via -r base.in -click==8.1.7 +click==8.1.8 # via -r base.in discord-py==2.4.0 # via # -r base.in # red-lavalink -frozenlist==1.4.1 +frozenlist==1.5.0 # via # aiohttp # aiosignal -idna==3.8 +idna==3.10 # via yarl markdown==3.7 # via -r base.in @@ -34,17 +34,19 @@ markdown-it-py==3.0.0 # via rich mdurl==0.1.2 # via markdown-it-py -multidict==6.0.5 +multidict==6.1.0 # via # aiohttp # yarl -orjson==3.10.7 +orjson==3.10.12 # via -r base.in -packaging==24.1 +packaging==24.2 # via -r base.in -platformdirs==4.2.2 +platformdirs==4.3.6 # via -r base.in -psutil==6.0.0 +propcache==0.2.0 + # via yarl +psutil==6.1.1 # via -r base.in pygments==2.18.0 # via rich @@ -52,7 +54,7 @@ python-dateutil==2.9.0.post0 # via -r base.in pyyaml==6.0.2 # via -r base.in -rapidfuzz==3.9.6 +rapidfuzz==3.9.7 # via -r base.in red-commons==1.0.0 # via @@ -60,17 +62,18 @@ red-commons==1.0.0 # red-lavalink red-lavalink==0.11.0 # via -r base.in -rich==13.8.0 +rich==13.9.4 # via -r base.in schema==0.7.7 # via -r base.in -six==1.16.0 +six==1.17.0 # via python-dateutil typing-extensions==4.12.2 # via # -r base.in + # multidict # rich -yarl==1.9.4 +yarl==1.15.2 # via # -r base.in # aiohttp @@ -80,11 +83,11 @@ colorama==0.4.6; sys_platform == "win32" # via click distro==1.9.0; sys_platform == "linux" and sys_platform == "linux" # via -r base.in -importlib-metadata==8.4.0; python_version != "3.10" and python_version != "3.11" +importlib-metadata==8.5.0; python_version != "3.10" and python_version != "3.11" # via markdown -pytz==2024.1; python_version == "3.8" +pytz==2024.2; python_version == "3.8" # via babel -uvloop==0.20.0; (sys_platform != "win32" and platform_python_implementation == "CPython") and sys_platform != "win32" +uvloop==0.21.0; (sys_platform != "win32" and platform_python_implementation == "CPython") and sys_platform != "win32" # via -r base.in -zipp==3.20.1; python_version != "3.10" and python_version != "3.11" +zipp==3.20.2; python_version != "3.10" and python_version != "3.11" # via importlib-metadata diff --git a/requirements/extra-doc.txt b/requirements/extra-doc.txt index 2153a9b05f4..afaefc182e8 100644 --- a/requirements/extra-doc.txt +++ b/requirements/extra-doc.txt @@ -1,8 +1,8 @@ alabaster==0.7.13 # via sphinx -certifi==2024.7.4 +certifi==2024.12.14 # via requests -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests docutils==0.20.1 # via @@ -11,18 +11,14 @@ docutils==0.20.1 # sphinx-rtd-theme imagesize==1.4.1 # via sphinx -importlib-metadata==8.4.0 - # via - # -c base.txt - # sphinx -jinja2==3.1.4 +importlib-metadata==8.5.0 + # via sphinx +jinja2==3.1.5 # via sphinx markupsafe==2.1.5 # via jinja2 -pytz==2024.1 - # via - # -c base.txt - # babel +pytz==2024.2 + # via babel requests==2.32.3 # via sphinx snowballstemmer==2.2.0 @@ -36,7 +32,7 @@ sphinx==7.1.2 # sphinxcontrib-trio sphinx-prompt==1.7.0 # via -r extra-doc.in -sphinx-rtd-theme==2.0.0 +sphinx-rtd-theme==3.0.2 # via -r extra-doc.in sphinxcontrib-applehelp==1.0.4 # via sphinx @@ -54,9 +50,7 @@ sphinxcontrib-serializinghtml==1.1.5 # via sphinx sphinxcontrib-trio==1.1.2 # via -r extra-doc.in -urllib3==2.2.2 +urllib3==2.2.3 # via requests -zipp==3.20.1 - # via - # -c base.txt - # importlib-metadata +zipp==3.20.2 + # via importlib-metadata diff --git a/requirements/extra-postgres.txt b/requirements/extra-postgres.txt index 294e85ff102..ae8987f19eb 100644 --- a/requirements/extra-postgres.txt +++ b/requirements/extra-postgres.txt @@ -1,6 +1,2 @@ -async-timeout==4.0.3 - # via - # -c base.txt - # asyncpg -asyncpg==0.29.0 +asyncpg==0.30.0 # via -r extra-postgres.in diff --git a/requirements/extra-style.txt b/requirements/extra-style.txt index 3d143da21a6..647dba3ba4d 100644 --- a/requirements/extra-style.txt +++ b/requirements/extra-style.txt @@ -4,5 +4,5 @@ mypy-extensions==1.0.0 # via black pathspec==0.12.1 # via black -tomli==2.0.1 +tomli==2.2.1 # via black diff --git a/requirements/extra-test.txt b/requirements/extra-test.txt index 5dfa3919baf..b54ed2afa93 100644 --- a/requirements/extra-test.txt +++ b/requirements/extra-test.txt @@ -1,6 +1,6 @@ astroid==3.2.4 # via pylint -dill==0.3.8 +dill==0.3.9 # via pylint iniconfig==2.0.0 # via pytest @@ -10,7 +10,7 @@ mccabe==0.7.0 # via pylint pluggy==1.5.0 # via pytest -pylint==3.2.6 +pylint==3.2.7 # via -r extra-test.in pytest==7.4.4 # via @@ -25,7 +25,7 @@ tomlkit==0.13.2 # via pylint exceptiongroup==1.2.2; python_version != "3.11" # via pytest -tomli==2.0.1; python_version != "3.11" +tomli==2.2.1; python_version != "3.11" # via # pylint # pytest