diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b14ba7491f04c61d06bfaa54ea7ff31c440e4d89..afcf7bc6765637b5a5ae6c05c9b2bc9103afd6fb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -203,7 +203,6 @@ unit:
   parallel:
     matrix:
       - PYTHON_IMAGE:
-        - 'python:3.8'
         - 'python:3.9'
         - 'python:3.10'
         - 'python:3.11'
@@ -227,6 +226,7 @@ unit:legacy:
       - PYTHON_IMAGE:
         - 'python:3.6'
         - 'python:3.7'
+        - 'python:3.8'
   allow_failure: true
 
 self:
@@ -302,16 +302,6 @@ apkg:opensuse-15.6:py3.11:
     - *setup-project-py311
     - py.test-3.11 -v ci/tests/test_apkg.py --junitxml=report.xml
 
-apkg:centos-7:
-  image: $CI_REGISTRY/packaging/apkg/test/centos-7
-  <<: *apkg
-  script:
-    # ancient Python 3.6 - use legacy setup.py
-    - *setup-project-legacy
-    # self tests are broken due to missing deps, run unit tests instead
-    - pytest -v --junitxml=report.xml
-    - apkg status
-
 apkg:arch:
   image: $CI_REGISTRY/packaging/apkg/test/arch
   <<: *apkg
@@ -463,7 +453,6 @@ knot-resolver:rpm:
       - DISTRO:
         - 'fedora-40'
         - 'fedora-41'
-        - 'rocky-8'
         - 'alma-9'
 
 knot-resolver:opensuse-tumbleweed:
diff --git a/ci/images/full/centos-7/Dockerfile b/ci/images/full/centos-7/Dockerfile
deleted file mode 100644
index c06e58738b848f07503f09858972756da8bb9d9f..0000000000000000000000000000000000000000
--- a/ci/images/full/centos-7/Dockerfile
+++ /dev/null
@@ -1,36 +0,0 @@
-FROM registry.nic.cz/packaging/apkg/systemd/centos-7
-
-WORKDIR /root
-CMD ["/bin/bash"]
-
-# overcome locale issues
-RUN yum install -y glibc-common
-RUN localedef -i en_US -f UTF-8 C.UTF-8
-
-# upgrade system to latest
-RUN yum upgrade -y
-# enable EPEL
-RUN yum install -y epel-release
-# enable centos-release-scl
-RUN yum install -y centos-release-scl
-
-# packaging deps
-RUN yum install -y \
-    git \
-    rpm-build \
-    python3-setuptools \
-    python3-pip
-# basic deps
-RUN pip3 install \
-    beautifulsoup4 \
-    blessings \
-    cached-property \
-    click \
-    distro \
-    jinja2 \
-    packaging \
-    requests \
-    toml
-# install stable apkg from PyPI
-RUN python3 -m pip install apkg
-RUN apkg --version
diff --git a/ci/images/systemd/centos-7/Dockerfile b/ci/images/systemd/centos-7/Dockerfile
deleted file mode 100644
index 869dc780a11b178a6ec908518cdce1bd9d4277e8..0000000000000000000000000000000000000000
--- a/ci/images/systemd/centos-7/Dockerfile
+++ /dev/null
@@ -1,16 +0,0 @@
-FROM centos:7
-
-ARG ARCH=amd64
-
-RUN yum update -y
-RUN yum install -y \
-	systemd \
-	git \
-	git-lfs \
-	https://gitlab-runner-downloads.s3.amazonaws.com/latest/rpm/gitlab-runner_${ARCH}.rpm
-
-# autologin as root on console
-RUN mkdir -p /etc/systemd/system/console-getty.service.d
-COPY console-getty.conf /etc/systemd/system/console-getty.service.d/override.conf
-
-CMD ["/sbin/init"]
diff --git a/ci/images/test/centos-7/Dockerfile b/ci/images/test/centos-7/Dockerfile
deleted file mode 100644
index c855f4dae59cd10bc5a28818c4086dee1ce05b12..0000000000000000000000000000000000000000
--- a/ci/images/test/centos-7/Dockerfile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-FROM centos:7
-ENV LC_ALL=C.UTF-8
-
-WORKDIR /root
-CMD ["/bin/bash"]
-
-# overcome locale issues
-RUN yum install -y glibc-common
-RUN localedef -i en_US -f UTF-8 C.UTF-8
-
-# upgrade system to latest
-RUN yum upgrade -y
-# enable EPEL
-RUN yum install -y epel-release
-# enable centos-release-scl
-RUN yum install -y centos-release-scl
-
-# packaging deps
-RUN yum install -y \
-    git \
-    rpm-build \
-    python3-pip
-# basic deps
-RUN pip3 install \
-    beautifulsoup4 \
-    blessings \
-    cached-property \
-    click \
-    distro \
-    jinja2 \
-    packaging \
-    requests \
-    toml
-# testing deps
-RUN pip3 install \
-    pytest
diff --git a/docs/platforms.md b/docs/platforms.md
index 8a3b89615ede7cb39dbddde62f6a5603dd4daef3..74641913325f5046b3b74093b4342033e44d858f 100644
--- a/docs/platforms.md
+++ b/docs/platforms.md
@@ -11,7 +11,7 @@ apkg is tested to **run** on following **Python** versions:
 | 3.11   | âś…        |
 | 3.10   | âś…        |
 | 3.9    | âś…        |
-| 3.8    | âś…        |
+| 3.8    | ⚠️ EOL    |
 | 3.7    | ⚠️ EOL    |
 | 3.6    | ⚠️ EOL    |
 
@@ -29,24 +29,26 @@ apkg is able to **create packages** for/on following **distros**:
 
 | distro | support | CI | pkgstyle | Python |
 | ------ | ------- | -- | -------- | ------ |
-| Debian Sid | ✅ | ❌ | [deb] | 3.12 |
+| Debian Sid | ✅ | ❌ | [deb] | 3.13 |
+| Debian 13 | âś… | âś… | [deb] | 3.13 |
 | Debian 12 | âś… | âś… | [deb] | 3.11 |
 | Debian 11 | âś… | âś… | [deb] | 3.9  |
 | Debian 10 | ⚠️ legacy | ✅ | [deb] | 3.7 ⚠️ EOL |
 | Debian 9 | ⚠️ legacy | ❌ | [deb] | 3.6 ⚠️ EOL |
+| Ubuntu 24.10 | âś… | âś… | [deb] | 3.12 |
 | Ubuntu 24.04 | âś… | âś… | [deb] | 3.12 |
 | Ubuntu 22.04 | âś… | âś… | [deb] | 3.10 |
-| Ubuntu 20.04 | âś… | âś… | [deb] | 3.8 |
+| Ubuntu 20.04 | ⚠️ legacy | ✅ | [deb] | 3.8 ⚠️ EOL |
 | Ubuntu 18.04 | ⚠️ legacy | ❌ | [deb] | 3.6 ⚠️ EOL |
 | Linux Mint | ⚠️ untested | ❌ | [deb] |  |
 | Pop!_OS | ⚠️ untested | ❌ | [deb] |  |
 | Fedora Rawhide | ✅ | ❌ | [rpm] | 3.12 |
+| Fedora 41 | âś… | âś… | [rpm] | 3.13 |
 | Fedora 40 | âś… | âś… | [rpm] | 3.12 |
-| Fedora 39 | âś… | âś… | [rpm] | 3.12 |
 | Enterprise Linux 9 | âś… | âś… | [rpm] | 3.9 |
 | Enterprise Linux 8 | ⚠️ legacy | ✅ | [rpm] | 3.6 ⚠️ EOL |
-| Enterprise Linux 7 | ⚠️ legacy | ✅ | [rpm] | 3.6 ⚠️ EOL |
-| openSUSE Tumbleweed | ✅ | ❌ | [rpm] | 3.12 |
+| Enterprise Linux 7 | ⚠️ legacy | ❌ | [rpm] | 3.6 ⚠️ EOL |
+| openSUSE Tumbleweed | âś… | âś… | [rpm] | 3.11 |
 | openSUSE Leap 15 | ⚠️ legacy | ✅ | [rpm] | 3.6 ⚠️ EOL, 3.11 available |
 | Arch | âś… | âś… | [arch] | 3.12 |
 | Manjaro | ⚠️ untested | ❌ | [arch] | 3.12 |
diff --git a/tests/self/test_templates.py b/tests/self/test_templates.py
index 16de38844b0d3190f8c7546d3926e6d6be5ef2cb..8d8ad9b3055cea977ffd47101fb860aac99d86d6 100644
--- a/tests/self/test_templates.py
+++ b/tests/self/test_templates.py
@@ -41,7 +41,6 @@ def proj(repo_path):
     ('rocky-9', 'rocky', 'rpm'),
     ('rocky', 'rocky', 'rpm'),
     ('centos-8', 'el-8', 'rpm'),
-    ('centos-7', 'rpm', 'rpm'),
     ('CentOS', 'rpm', 'rpm'),
     ('Fedora 38', 'rpm', 'rpm'),
     ('opensuse', 'rpm', 'rpm'),