diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index e412692..3e001a9 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -16,16 +16,16 @@
     errmsg = ''
     warnmsg = ''
     if cxx == 'gcc':
-        if ccver < (7, 4, 0):
+        if ccver < (9, 1, 0):
             errmsg = ('The version of gcc you are using is too old.\n'
-                      'The minimum supported gcc version is 9.3.')
-        elif ccver < (9, 3, 0):
-            warnmsg = ('Using a version of gcc older than 9.3 is not '
+                      'The minimum supported gcc version is 10.2.')
+        elif ccver < (10, 2, 0):
+            warnmsg = ('Using a version of gcc older than 10.2 is not '
                        'officially supported and may result in build failures.')
         conf.flags = GccFlags()
     elif cxx == 'clang':
         if Utils.unversioned_sys_platform() == 'darwin':
-            if ccver < (10, 0, 0):
+            if ccver < (11, 0, 0):
                 errmsg = ('The version of Xcode you are using is too old.\n'
                           'The minimum supported Xcode version is 13.0.')
             elif ccver < (13, 0, 0):
@@ -33,7 +33,10 @@
                            'officially supported and may result in build failures.')
         elif ccver < (7, 0, 0):
             errmsg = ('The version of clang you are using is too old.\n'
-                      'The minimum supported clang version is 7.0.')
+                      'The minimum supported clang version is 10.0.')
+        elif ccver < (10, 0, 0):
+            warnmsg = ('Using a version of clang older than 10.0 is not '
+                       'officially supported and may result in build failures.')
         conf.flags = ClangFlags()
     else:
         warnmsg = f'{cxx} compiler is unsupported'
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index 0e59b25..a7681d0 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -7,22 +7,21 @@
 ndn-cxx is built against a continuous integration system and has been tested on the
 following platforms:
 
-- Ubuntu 20.04 (focal)
 - Ubuntu 22.04 (jammy)
 - Ubuntu 24.04 (noble)
 - Debian 11 (bullseye)
 - Debian 12 (bookworm)
 - CentOS Stream 9
-- macOS 12 / 13 / 14 / 15
+- macOS 13 / 14 / 15
 
 ndn-cxx should also work on the following platforms, although they are not officially
 supported:
 
 - Any other recent version of Ubuntu not listed above
-- Fedora >= 33
-- Alpine >= 3.12
+- Fedora >= 34
+- Alpine >= 3.14
 - Any version of Raspberry Pi OS based on Debian 11 (bullseye) or later
-- macOS >= 10.15
+- macOS >= 11
 - FreeBSD >= 12.2
 
 Prerequisites
@@ -31,7 +30,7 @@
 Required
 ~~~~~~~~
 
-- GCC >= 9.3 or clang >= 7.0 (if you are on Linux or FreeBSD)
+- GCC >= 10.2 or clang >= 10.0 (if you are on Linux or FreeBSD)
 - Xcode >= 13.0 or corresponding version of Command Line Tools (if you are on macOS)
 - Python >= 3.8
 - pkg-config
